fbpx

[和訳] Minecraft サーバを Chef で構築しよう #getchef #minecraft

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本稿は Lets build a Minecraft Server with Chef (2015/08/27) の和訳です。

minecraft-chef-01-1

Chef の利用方法はたくさんあります。それは日々の作業に関係するものばかりではありません。もし Minecraft のファンであれば、Digital OceanMinecraft サーバを Chef を使って作成することができます。最初に初期設定をするのみで、新しく Minecraft サーバが欲しくなれば create コマンドを実行するだけの状態にできます。次の手順にある knife-digital_ocean コマンドを knife-rackspaceknife-ec2 に切り替えれば、RackspaceAWS でも同じように行えます。それぞれの knife プラグインごとの設定の差と、サーバを作成するための create コマンドに少しの違いがあるので、それぞれのドキュメントを参照してください。

  1. ChefDK をダウンロードし、インストールします。
  2. Digital Ocean knife プラグインをインストールします: chef exec gem install knife-digital_ocean
  3. ホステッド版 Chef にサインアップし、作成した Org. にログインします。
  4. https://manage.chef.io/organizations/[あなたのOrg名]/getting_startedにある「starter kit」をダウンロードします。
  5. 「starter kit」を展開して出てきた .chef/ ディレクトリにある knife.rb を Digital Ocean 用に 設定 します。
  6. chef-repo/cookbooks/ ディレクトリに minecraft-basic を git clone します。
  7. chef-repo/ ディレクトリ内で次の手順を行います:
    1. ホステッド Chef インスタンスと通信できることを chef exec knife status を実行して確認します。
    2. Digital Ocean と通信できることを chef exec knife digital_ocean sshkey list を実行して確認し、以降の手順で使う SSHKEYNUMBER を確認します。
    3. minecraft-basic Cookbook を ホステッド Chef インスタンスにアップロードするために chef exec knife cookbook upload minecraft-basic を実行します。
    4. Cookbook のアップロードに成功したか chef exec knife cookbook list を実行して確認します。Cookbook の名前とバージョン番号が出力されるはずです。
  8. 次のようなコマンドを実行する準備ができました: 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 以外ではテストしていません。もし他のディストリビューションで動かせたらお知らせください。
  9. この Cookbook では作成したワールドの保存とエクスポートをまだ自動化していません。手動でどのようにすればいいか紹介しておくので、これで補習をお願いします。
  10. 気が済んだら、次のコマンドですべてを消去しましょう:

    ~$ 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による/自動化した方法の記事を公開する予定です。

新規CTA