「AWS CloudFormationはお薦めだ。アカウントの設定やサーバー構築をテンプレート化できる」──。グリーは2017年6月1日、アマゾン ウェブ サービス ジャパン主催の年次イベント「AWS Summit Tokyo 2017」で講演し、同社がゲームやSNSなどのプラットフォームとして使っているAmazon Web Services(AWS)の運用ノウハウを解説した。

グリーの開発本部インフラストラクチャ部サービスリリースグループサービスインストレーション1チームでリードエンジニアを務める堀口真司氏
(撮影:渡辺 慎一郎=スタジオキャスパー)
[画像のクリックで拡大表示]
グリーの開発本部GREE Platform部データエンジニアリンググループHadoopチームに在籍する田畠知弥氏
(撮影:渡辺 慎一郎=スタジオキャスパー)
[画像のクリックで拡大表示]
グリーの開発本部GREE Platform部データエンジニアリンググループHadoopチームでシニアエンジニアを務める田中克典氏
(撮影:渡辺 慎一郎=スタジオキャスパー)
[画像のクリックで拡大表示]

 「AWS環境の運用を自動化するためにツールを開発しているが、ツールを作れば安泰というわけではない」。グリーの開発本部インフラストラクチャ部サービスリリースグループサービスインストレーション1チームでリードエンジニアを務める堀口真司氏は、ツールの限界をこう指摘する。

 同社は主に、シェルスクリプト、Ruby、Node.jsを使って運用管理ツールを自作している。ところが、プログラムコードの量とツールの本数がともに肥大化しており、管理が難しくなっている。

 例えば、Amazon EC2のインスタンス(仮想マシン)を複製するツールはNode.jsで450行、IPアドレスの棚卸しツールはshスクリプトで50行、様々なリソースを一覧表示するツールはRubyで1100行に及ぶ。新規のツールは年間30個ほど作られる。

 AWSアカウントの数も多く、200弱ほどある。ゲーム本番環境、監視、分析、運用、セキュリティなど、用途に応じてアカウントがある。これらAWSアカウントの設定手順も膨大になる。

 こうした経緯から同社は、運用管理ツールの補佐やアカウント設定の簡素化を目的に、AWSのリソースをテンプレートベースで作成・管理するツールであるAWS CloudFormationを使っている。JSON/YAML形式のデータ定義を利用してサービスやリソースの構築ができる。大量のアカウントがあってもテンプレートを読み込ませるだけで複製できる。

 AWS CloudFormationの主な用途は、VPC(仮想プライベートクラウド)などの初期設定、Amazon RDSやAmazon ElastiCacheなどのインスタンスの構築、IAM Roleの作成などのAWS Lambda関連の作業、などである。「CloudFormationはお薦めだ」と堀口氏は評価する。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら