本セッションでは Amazon Web Services(AWS)上で Amazon Elastic Container Service(ECS) とマネージドサービスを活用した、ソーシャルゲームサーバの構築と運用方法について説明します。
Docker に代表される Linux コンテナ技術を利用したサーバ運用は近年一般的になってきました。コンテナをゲームサーバの開発やテストに用いると、ローカルマシンやサーバ上に複数の独立した環境を構築できるため利便性が高く、広く利用されています。
しかし Linux コンテナは名前空間とリソースが分離された単なるプロセス群であるため、複数のサーバ上で複数のコンテナを協調させてシステムとして動作させるためには、コンテナオーケストレーションツールと呼ばれるミドルウェアが必要になります。
AWS におけるオーケストレーションツールのマネージドサービスである Amazon ECS を利用すると、高可用性を要求される本番環境でコンテナ上で動作するアプリケーションとミドルウェア、AWS の豊富なマネージドサービスを組み合わせ、構成管理とデプロイの簡略化、高速化を実現できます。
コンテナ環境では、サーバ上に直接アプリケーションやミドルウェアを起動する従来の環境と比較して、デプロイ、ログの取り扱い、監視等の運用にこれまでと異なる手法が要求されます。これらの課題を、自社で Go 言語で開発した OSS を利用して解決した内容についても解説します。また、本番リリース前に必須である負荷試験もコンテナを活用することで柔軟に行えるため、その手法についても説明します。
講演者プロフィール
藤原 俊一郎
2011年に面白法人カヤック入社。
自社サービス (こえ部、Lobi)、ソーシャルゲーム(ぼくらの甲子園シリーズ他) のバックエンド、インフラの設計、構築、運用、オンプレミスからAWSへの移行などを担当。
受賞履歴
・パフォーマンスチューニングコンテスト「ISUCON」優勝3回 出題2回
・YAPC::Asia 2011 ベストトーク賞
著書・雑誌寄稿
・「みんなのGo言語」(2016年 技術評論社 共著)
・「WEB+DB PRESS Vol.71 / Perl Hackers Hub / Webアプリケーションのパフォーマンス改善」
・「WEB+DB PRESS Vol.94 / 特集 実践スケーラブルAWS」
《講演者からのメッセージ》
マネージドサービスを積極的に利用した効率的なサーバ運用だけではなく、運用を助けるためのミドルウェアやツール開発を行う楽しさについてもお伝えできればと思います。