[和訳] Minecraft サーバを Chef で構築しよう #getchef #minecraft
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は Lets build a Minecraft Server with Chef (2015/08/27) の和訳です。
Chef の利用方法はたくさんあります。それは日々の作業に関係するものばかりではありません。もし Minecraft のファンであれば、Digital Ocean に Minecraft サーバを Chef を使って作成することができます。最初に初期設定をするのみで、新しく Minecraft サーバが欲しくなれば create コマンドを実行するだけの状態にできます。次の手順にある knife-digital_ocean コマンドを knife-rackspace や knife-ec2 に切り替えれば、Rackspace や AWS でも同じように行えます。それぞれの knife プラグインごとの設定の差と、サーバを作成するための create コマンドに少しの違いがあるので、それぞれのドキュメントを参照してください。
- ChefDK をダウンロードし、インストールします。
- Digital Ocean knife プラグインをインストールします: chef exec gem install knife-digital_ocean
- ホステッド版 Chef にサインアップし、作成した Org. にログインします。
- https://manage.chef.io/organizations/[あなたのOrg名]/getting_startedにある「starter kit」をダウンロードします。
- 「starter kit」を展開して出てきた .chef/ ディレクトリにある knife.rb を Digital Ocean 用に 設定 します。
- chef-repo/cookbooks/ ディレクトリに minecraft-basic を git clone します。
- chef-repo/ ディレクトリ内で次の手順を行います:
- ホステッド Chef インスタンスと通信できることを chef exec knife status を実行して確認します。
- Digital Ocean と通信できることを chef exec knife digital_ocean sshkey list を実行して確認し、以降の手順で使う SSHKEYNUMBER を確認します。
- minecraft-basic Cookbook を ホステッド Chef インスタンスにアップロードするために chef exec knife cookbook upload minecraft-basic を実行します。
- Cookbook のアップロードに成功したか chef exec knife cookbook list を実行して確認します。Cookbook の名前とバージョン番号が出力されるはずです。
- 次のようなコマンドを実行する準備ができました: chef exec knife digital_ocean droplet create --server-name minecraft --image ubuntu-14-04-x64 --location sfo1 --size 4gb --ssh-keys --bootstrap --run-list "recipe[minecraft-basic]" 用途に合わせてチューニングしたいと思うでしょう。java で快適に遊べるサイズである 4GB を選択しています。4GB マシンは1か月40ドルか1時間0.06ドル、2GB インスタンスは1時間0.03ドルか1か月20ドルです。もし Digital Ocean サーバを 24x7 で実行する計画がなければ、マシンを消去するのを忘れないでください。あなたが忘れっぽいことに責任は持てません。CentOS 7 を使いたければ、--image ubuntu-14-04-x64 を --image centos-7-0-x64 に変更してください。CentOS と Ubuntu 以外ではテストしていません。もし他のディストリビューションで動かせたらお知らせください。
- この Cookbook では作成したワールドの保存とエクスポートをまだ自動化していません。手動でどのようにすればいいか紹介しておくので、これで補習をお願いします。
- 気が済んだら、次のコマンドですべてを消去しましょう:
~$ SERVER=`chef exec knife digital_ocean droplet list | grep minecraft | awk -F ' ' {'print $1'}`
~$ chef exec knife digital_ocean droplet destroy -S $SERVER # Digital Ocean 上のマシンを破棄します
~$ chef exec knife node delete minecraft -y && chef exec knife client delete minecraft -y # ホステッド Chef から削除します
すべての手順を完了したら、Cookbook を確認したくないならホステッド Chef インスタンスにログインする必要がなくなります。Minecraft サーバを起動するには、次のコマンドを実行するだけで十分です: chef exec knife digital_ocean droplet create --server-name minecraft --image ubuntu-14-04-x64 --location sfo1 --size 4gb --ssh-keys --bootstrap --run-list "recipe[minecraft-basic]" そしてすべてを消去するには前述のコマンドを使います。いずれ、作成したワールドのバックアップ、エクスポート、共有のための、すばらしい/Chefによる/自動化した方法の記事を公開する予定です。