Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
万国のサーバ管理者よ, 自動化せよ!
Search
sksat
November 16, 2021
Programming
8.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
万国のサーバ管理者よ, 自動化せよ!
さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2 のLT枠で発表しました
sksat
November 16, 2021
More Decks by sksat
See All by sksat
同時複数機開発・運用のDevOpsサイクル高速化のための取り組み
sksat
0
1.2k
探査機自作ゼミ2025スライド
sksat
3
2.1k
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
6
2.4k
人工衛星開発のための C2A フレームワークとその開発体験
sksat
1
640
人工衛星の開発体験向上のために、ソフトウェアからできること
sksat
4
1.4k
3ヶ月でできる! 探査機自作ゼミ教材自作入門
sksat
6
4k
セキュリティ・キャンプ全国大会2024 S17 探査機自作ゼミ 事前学習・当日資料
sksat
4
35k
AE Rust 勉強会: github-webhook-rs
sksat
0
330
teleka.suを支える技術
sksat
1
17k
Other Decks in Programming
See All in Programming
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
660
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
220
数百円から始めるRuby電子工作
tarosay
0
130
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
170
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
450
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
250
テーブルをDELETEした
yuzneri
0
130
Foundation Models frameworkで画像分析
ryodeveloper
1
520
継続モナドとリアクティブプログラミング
yukikurage
3
680
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
WENDY [Excerpt]
tessaabrams
11
39k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
460
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
Speed Design
sergeychernyshev
33
2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Transcript
万国のサーバ管理者よ, 自動化せよ! sksat (mc.yohane.su 管理者) Администраторы сервера всех стран, автоматизируйте!
さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2
自己紹介 ・sksat ・最近はインターンで人工衛星作ってる ・マイクラはあんまりやってない ・マイクラでオーバーエンジニアリングするのはたのしい ・mc.yohane.su 管理者
mc.yohane.su
mc.yohane.su
None
変なドメインで鯖やってます
構成 ・オンプレ ・PaperMC,ほぼバニラ ・ユーザ管理: ホワイトリスト方式 ・サーバ管理: GitHub ・デプロイ: 全自動 ・プラグイン:
自動更新
オンプレ ・コイツ ・コレを直接公開? → No
Cloudflare Tunnel Cloudflare Accessデータシートより
過労死太郎,過労死! 満 を持 して! 今はこのマシンで動いてます ... 発表1週間前に!
実際の構成(過労死前) 家 𝙄𝙣𝙩𝙚𝙧𝙣𝙚𝙩 𝙬𝙞𝙧𝙚𝙡𝙚𝙨𝙨 自室 AP (応用情報ではない) 𝙢𝙞𝙘𝙧𝙤𝙬𝙖𝙫𝙚 𝙤𝙫𝙚𝙣 𝓭𝓸𝓸𝓻
𝓭𝓸𝓸𝓻 過労死太郎 cloudflared papermc mc.yohane.su cloudflared 25565 MySQL sql-exporter オタク共
PaperMC ・Spigotのフォーク(なんか速いらしい) ・paperclipという便利システムがある ・公式のjarに対してバイナリパッチ的にパッチ適用するやつ (初回のみ) ・これを含んだコンテナは再配布しても大丈夫 : papermc-dockerを自作 ・開発速度がそこそこ速い
papermc-docker ・コンテナイメージ作りました ・paperclip.jarしか入ってないので再配布 OK ・GitHub Actionsでpaperclip.jarをビルド ・自動でPaperMC/Paperのmasterに追従 ・複数のベースイメージに対応 ・元々はイメージのビルドも mc.yohane.suでやっていたが分離
デプロイするのダルい
自動デプロイ: compose-cd ・自作の雑自動更新スクリプト : compose-cd ・systemd timerでremote repo見に行って更新あったらgit pull ・イメージも新しいのがあったら
docker pull ・更新したらdocker-compose down/up -d
サーバ更新 ・PaperMC:結構開発速い(し,リリース打たない) ・プラグイン:ほぼバニラなのであんまりない ・とはいえ入れたいものはある ・DiscordSRV,CoreProtect,Prometheus Exporter
更新するのダルい
それ,Renovateでできるよ ・Renovate: 依存関係を監視してプルリク送ってくれる太郎 https://renovatebot.com
Renovateで諸々を更新 ・諸々の言語,設定ファイルに対応 ・Cargo.toml, docker-compose.ymlなど ・対応してないやつも正規表現でマッチできる ・コンテナは別repoにしてdigestを更新 ・https://github.com/sksat/papermc-docker/
ユーザ管理 ・最初はなにも考えずに全開放 ・荒らしが来た →ホワイトリスト
whitelist.json
SSHして追加するのダルい
GitHubに置いてしまえ
whitelist.jsonの検証ダルい
minecraft-whitelist-validator ・Rustで雑に書いた ・GitHub marketplaceに公開(簡単に使える) ・誰が使うんだこんなの
サーバの様子 ・ゲーム内の問題もIssueで! ・やたら昆布がある ・やたら卵がある ・やたら人参がある
やたらって何個?
正しい評価は正しい計測から
無茶振り ・手近な異常プラグイン開発者に依頼
できた
できた ・kory33/itemstack-count-infrastructure
サーバ管理・発表: sksat
僕の無茶振りでプラグインを開発: Kory__3
ロシア語監修: hsjoihs
いくら自動化しようが disk fullからは逃げられない