Poppin Games Engineer Blog

ポッピンゲームズジャパン株式会社のエンジニアのブログ。弊社製品やcocos2d-x、AWSに関する情報を中心に発信しております。

AWSでソーシャルゲームを安定運用するコツ      ~Consolidated Billingとアカウント管理 編~

ポッピンゲームズ インフラ担当の吉田です。

1回目ということで、技術というよりは運用・管理の視点で投稿します。
今後は技術系の話も沢山盛り込んでいく予定ですので、ご勘弁を。。。

さて、弊社はインフラ環境にAWS(Amazon Web Services)を使っています。

国内外問わず、多くのソーシャルゲーム企業がAWSを使っていますね(Google Compute EngineやWindows Azureも頑張って欲しいところ)。その理由はざっと以下かなと思います。


  • 堅牢なインフラ
  • DNSからサーバ、Storage、果てやアプリケーション管理ツールまで提供するサービスの豊富さ
  • スモールスタートできる安価な単価設定
  • インフラ屋じゃなくても、構築、運用できるユーザフレンドリーなインターフェイス

ポイントは最後の2つ。特にインフラ屋を抱えきれない多くのスタートアップ企業にとって、アプリエンジニアがインフラをサクッと作って運用できるAWSが魅力的なのは納得出来ます。

とはいえ。。。ここには罠があります。

例えば。。。

  • 勢いでインフラ作ったはいいけど、AWSのアカウント管理全くしてなかった(社員全員がManagement Console触れる状態だった(*ノω・*)テヘ)
  • タイトルごとにコストを算出/管理したいけど、計算大変
  • 誤って別のタイトルのサーバシャットダウンしちゃった

が挙げられます。

サービスを支えるインフラメンバーは単にサーバの構築だけでなく、運用フェーズのトラブルを想定した管理体制を整備しておくことが重要です(自戒を込めて)。

と、言うことで前置きが長くなりましたが、ソーシャルゲームインフラにおける運用第一歩として

VISAデビットとConsolidated Billingを使ってサービス(タイトル)ごとにAWSアカウントを分ける

をオススメします。

アカウントを分けるメリットは以下の通りです。

  1. アカウント(タイトル)ごとにAccount Activityからコストが簡単に割り出せる
  2. オペミスの防止 (IAMを併用するとより効果的)

AWSのアカウントはクレジットカード1枚単位で発行されます。例え支払い方法を海外送金に変更しても、アカウント作成には必ずクレジットカードが必要です(Amazonの人曰く、クレカで本人認証の代わりをしてるからとのこと)。
つまり複数アカウントを持つには、何枚もクレカを発行しなくてはなりません。

AWSの公式資料(AWSクラウド利用料算出の参考資料)では、三井住友VISAパーチェシングカードが部署単位ごとに発行できてオススメされています。但し、タイトルごとに複数枚発行するのはハードルが高いと言えます(スタートアップ企業は部署自体少ないですし)。

そこでVISAデビット(昔で言うと、ワンタイムデビット)の登場です。

VISAデビットは1口座あたり最大4つのデビット番号が発行可能です(最大利用金額は50万円)。
いざというときはカード番号をボタン1つで停止できます。
法人ですと子口座が無料で開設できますので、

(親口座+子口座)×4つ分のAccountが発行出来ますね。

【VISAデビット作成方法】

アカウント作成ができたら、Consolidated Billingを使って、親accountに支払いをマージさせます。マージさせても、子アカウントごとの課金状況はAccount Activityから確認できます。

【Consolidated Billingの設定方法】

Consolidated Billingを用いた、複数アカウントの請求の合算

★より深く知りたい方は

AWSマイスターシリーズ:: AWS Billingについて


次回は、boto + MySQL-MHA + VPCを使った幸せなMySQL生活について書きたいと思います。


最後になりましたが、現在ポッピンゲームズジャパン株式会社では一緒に働く仲間も募集しています。
少しでも関心がありましたらお気軽にお問合せ下さい。

http://poppin-games-japan.com/recruit/career/

よろしくお願いします。