GCPを使ったゲームサーバの構築(マインクラフト) 仕様策定


やりたいこと

このGW中にやろうと思っていた、GCPを使ったゲームサーバの構築を行う。
ゲームサーバは基本的に24/365で公開されており、かつ運用は自動で行われるようにする。
ただし、お金はあまりかけたくないので維持費は極力安くする。

要件

  • GCPにサーバを構築したい
    • 24/365起動しておきたいが、たまに落ちてても別に良い
    • ただし、自動復旧したい
      • サーバに異常があった場合は通知したい
  • あまりお金はかけたくない
    • リソースは極力小さいものにする
    • サーバソフトはリソースをあまり喰わないものにする
  • サーバにMODを入れられるようにしたい
  • サーバに接続する際にドメインで接続できるようにしたい
  • バックアップは自動的に取りたい
    • 適当なタイミングでバックアップを取りたい
    • 古いバックアップはお金がかかるから適度に削除したい
  • 今後ブログもやりたいのでWordpressを導入したい(そのうち)

仕様

  • GCPにGCEインスタンスで構築する
    • プリエンプティブでVMを立て、small程度のリソースで構築する
    • ただしプリエンプティブでは24時間に一度落ちてしまうのでテンプレートを使い自動復旧するようにする
    • Stackdriverを用いてサーバの停止、起動を通知する
  • サーバソフトにはSpigotを利用する(今調べた限りではこれが良さそう?)
  • CloudDNSを用いる。
  • ドメインは安いドメインを取得する
  • SSL証明書はCloudDNSと合わせてマネージドで設定する
  • バックアップはGCSに行う
    • バックアップの取得間隔は日次とする
    • 1週間経過したバックアップはNearlineに移行する(ライフサイクル設定)
    • 30日経過したバックアップは削除する(ライフサイクル設定)

スケジュール

GW中に行いたいという希望なので、実際に行われるかはわかりませんが・・・とりあえず頑張ります。

2019/05/07追記
GW中に間に合わず…
一旦今週中を目処に頑張ります。

その他

今回はとりあえずテンプレートエンジンを使うが、そのうちGKEで立ててみたい。