Save 37% off PRO during our Black Friday Sale! »

万国のサーバ管理者よ, 自動化せよ!

11cbdce6fef8ae507d51b96dca4a0ec5?s=47 sksat
November 16, 2021

万国のサーバ管理者よ, 自動化せよ!

さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2 のLT枠で発表しました

11cbdce6fef8ae507d51b96dca4a0ec5?s=128

sksat

November 16, 2021
Tweet

Transcript

  1. 万国のサーバ管理者よ, 自動化せよ! sksat (mc.yohane.su 管理者) Администраторы сервера всех стран, автоматизируйте!

    さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2
  2. 自己紹介 ・sksat ・最近はインターンで人工衛星作ってる ・マイクラはあんまりやってない ・マイクラでオーバーエンジニアリングするのはたのしい ・mc.yohane.su 管理者

  3. mc.yohane.su

  4. mc.yohane.su

  5. None
  6. 変なドメインで鯖やってます

  7. 構成 ・オンプレ ・PaperMC,ほぼバニラ ・ユーザ管理: ホワイトリスト方式 ・サーバ管理: GitHub ・デプロイ: 全自動 ・プラグイン:

    自動更新
  8. オンプレ ・コイツ ・コレを直接公開? → No

  9. Cloudflare Tunnel Cloudflare Accessデータシートより

  10. 過労死太郎,過労死! 満 を持 して! 今はこのマシンで動いてます ... 発表1週間前に!

  11. 実際の構成(過労死前) 家 𝙄𝙣𝙩𝙚𝙧𝙣𝙚𝙩 𝙬𝙞𝙧𝙚𝙡𝙚𝙨𝙨 自室 AP (応用情報ではない) 𝙢𝙞𝙘𝙧𝙤𝙬𝙖𝙫𝙚 𝙤𝙫𝙚𝙣 𝓭𝓸𝓸𝓻

    𝓭𝓸𝓸𝓻 過労死太郎 cloudflared papermc mc.yohane.su cloudflared 25565 MySQL sql-exporter オタク共
  12. PaperMC ・Spigotのフォーク(なんか速いらしい) ・paperclipという便利システムがある ・公式のjarに対してバイナリパッチ的にパッチ適用するやつ (初回のみ) ・これを含んだコンテナは再配布しても大丈夫 : papermc-dockerを自作 ・開発速度がそこそこ速い

  13. papermc-docker ・コンテナイメージ作りました ・paperclip.jarしか入ってないので再配布 OK ・GitHub Actionsでpaperclip.jarをビルド ・自動でPaperMC/Paperのmasterに追従 ・複数のベースイメージに対応 ・元々はイメージのビルドも mc.yohane.suでやっていたが分離

  14. デプロイするのダルい

  15. 自動デプロイ: compose-cd ・自作の雑自動更新スクリプト : compose-cd ・systemd timerでremote repo見に行って更新あったらgit pull ・イメージも新しいのがあったら

    docker pull ・更新したらdocker-compose down/up -d
  16. サーバ更新 ・PaperMC:結構開発速い(し,リリース打たない) ・プラグイン:ほぼバニラなのであんまりない ・とはいえ入れたいものはある ・DiscordSRV,CoreProtect,Prometheus Exporter

  17. 更新するのダルい

  18. それ,Renovateでできるよ ・Renovate: 依存関係を監視してプルリク送ってくれる太郎 https://renovatebot.com

  19. Renovateで諸々を更新 ・諸々の言語,設定ファイルに対応 ・Cargo.toml, docker-compose.ymlなど ・対応してないやつも正規表現でマッチできる ・コンテナは別repoにしてdigestを更新 ・https://github.com/sksat/papermc-docker/

  20. ユーザ管理 ・最初はなにも考えずに全開放 ・荒らしが来た →ホワイトリスト

  21. whitelist.json

  22. SSHして追加するのダルい

  23. GitHubに置いてしまえ

  24. whitelist.jsonの検証ダルい

  25. minecraft-whitelist-validator ・Rustで雑に書いた ・GitHub marketplaceに公開(簡単に使える) ・誰が使うんだこんなの

  26. サーバの様子 ・ゲーム内の問題もIssueで! ・やたら昆布がある ・やたら卵がある ・やたら人参がある

  27. やたらって何個?

  28. 正しい評価は正しい計測から

  29. 無茶振り ・手近な異常プラグイン開発者に依頼

  30. できた

  31. できた ・kory33/itemstack-count-infrastructure

  32. サーバ管理・発表: sksat

  33. 僕の無茶振りでプラグインを開発: Kory__3

  34. ロシア語監修: hsjoihs

  35. いくら自動化しようが disk fullからは逃げられない