![見出し画像](https://assets.st-note.com/production/uploads/images/54093742/rectangle_large_type_2_3d3e87ff8f0002afd0be0d4b3837319f.jpeg?width=1200)
docker compose upでAWSにマイクラサーバーをデプロイしたかったけどできなかった
ECSでマイクラサーバーデプロイしたい
— くさたけ🌱 (@d_ske104) June 5, 2021
マインクラフトのサーバーをAWSで建ててみたかった。
結論
できませんでした。
Minecraft Dockerイメージ
ローカルサーバーならDockerで簡単に建てられることは知ってた。
このDockerイメージ使ってdocker-compose upするだけ、マジ簡単
以下、Githubより引用 docker-compose.yml
version: "3.8"
services:
mc:
image: itzg/minecraft-server
ports:
- 25565:25565
environment:
EULA: "TRUE"
volumes:
# attach a directory relative to the directory containing this compose file
- ./minecraft-data:/data
オプション付けなければ最新バージョンでサーバー起動、任意のバージョン指定可能、ModサーバーForge, Fabricまでカバーしてる!すごーいhttps://t.co/YgXgRmoxPu
— くさたけ🌱 (@d_ske104) June 5, 2021
今回はMODを入れたサーバーを建てたかったんだけど、ModサーバーもこのDockerイメージはオプションでカバーしてるらしい。天才か?
version: "3.8"
services:
minecraft-server:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "FORGE"
VERSION: "1.16.5"
FORGEVERSION: "36.1.0"
volumes:
- data:/data
tty: true
stdin_open: true
restart: always
AWS ECS
AWSのECSっていうサービスがDockerイメージをもとにサーバーを建てられるらしいこともふわっと知ってた。
> 開発者は docker compose up コマンドを実行して既存の Docker Compose ファイルをそのまま Amazon ECS にデプロイできます。
— くさたけ🌱 (@d_ske104) June 5, 2021
マジ?!https://t.co/PiRfxtsQLb
ググってみたらdocker-compose.ymlをAWS用にいい感じに追記すれば、docker compose up するだけでAWSにサーバー建てられるらしい。簡単すぎてヤバい。
マインクラフトはワールドデータの保管のためにデータボリュームをマウントする必要があるけど、それはEFSっていうファイルストレージを使うらしい。その設定すらもdocker-compose.ymlに記述すればいいらしい。
version: "3.8"
services:
minecraft-server:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "FORGE"
VERSION: "1.16.5"
FORGEVERSION: "36.1.0"
volumes:
- data:/data
tty: true
stdin_open: true
restart: always
volumes:
data:
driver_opts:
backup_policy: ENABLED
lifecycle_policy: AFTER_14_DAYS
throughput_mode: bursting
事前にAWS CLIでIAMアカウントのキーペアを登録しておけば流用できるdocker contextの設定でAWSアカウントを設定する際に流用できる。
docker compose up
そんなこんなでdocker compose up(ハイフンはいらない)
このコマンド一つでサーバーが建つんだぜ、スゲーよな
建たねーんだわ、これが
EC2のステータスを見るとinitial → drainingになる。
助けてくれ(鋭意更新中)
この記事が気に入ったらサポートをしてみませんか?