minecraftサーバーをAWSで運用する

実はBlog用にAWSのLightsailを契約しているのですが、ついでに友達と遊ぶためのminecraftサーバーを運用してみようというお話、AWSだとCPU使用量に限りがあり、契約プランごとに持続可能ゾーンが存在する。今回は持続可能ゾーンを意識しながらどうやって運用するかというお話です。

持続可能なゾーンを超えるとCPUバーストキャパシティーが減ってしまう

Dockerを使ってサーバーを準備

Dockerとdocker-composeが使える環境で以下のdocker-compose.ymlファイルより起動したら準備完了です。

version: "2"
services:
 minecraft:
   image: itzg/minecraft-server
   ports:
     - "25565:25565"
   volumes:
     - ./mc:/data
   environment:
     EULA: "TRUE"
     TZ: "Asia/Tokyo"
     ENABLE_AUTOPAUSE: "TRUE"
     AUTOPAUSE_TIMEOUT_EST: "600"
     MEMORY: "768M"
   restart: always

ポイントは2箇所

運用するためのコンフィグのポイントは2箇所で AUTOPAUSEという設定と、MEMORYという設定になります。AUTOPAUSEは全てのクライアントが抜けたあとに、プロセスをPAUSEしてくれる機能 この機能がないと常にCPUを10%程度使用し続けます。今回は600秒ということで、全員が抜けてから10分経つとPAUSE状態になるように設定しています。

次のポイントはMEMORYです。itzg/minecraft-server は何も設定しないと初期設定は1GBのメモリとなっています。今回は1GBメモリのサーバーで動かすために、768MBを上限と設定しました。

なお待受ポートは25565なので、接続時にアドレスと合わせて指定してください。

PAUSE状態でアクセスするとどうなるのか?

minecraftのアプリケーションでマルチプレイで遊ぶを選ぶと登録しているサーバーの一覧が表示されると思います。ここに該当のサーバーを登録しておくと、状況確認の通信が走るようで、サーバーがPAUSE状態から抜け出します。即アクセスすると接続に失敗することもありますが、少し待てば問題なくアクセスができました。

コストをかけずに待ち受けるのに最適

サーバーなんで上げっぱなしにしておきたい。でもそのためのコストは限りなくかけたくないというときに最適です。是非お試しください。

投稿を作成しました 112

コメントを残す

関連する投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る
%d人のブロガーが「いいね」をつけました。