ゲームサーバのコンテナでの本番運用を検討している方。
AWS を利用中の方。
Amazon ECS によるゲームサーバの本番環境構築、運用、監視、負荷試験手法。
マネージドサービスや既存ミドルウェアの隙間を埋める、Go言語による独自ツール開発による運用の円滑化。
セッションの内容
本セッションでは Amazon Web Services(AWS)上で Amazon Elastic Container Service(ECS) とマネージドサービスを活用した、ソーシャルゲームサーバの構築と運用方法について説明します。
Docker に代表される Linux コンテナ技術を利用したサーバ運用は近年一般的になってきました。コンテナをゲームサーバの開発やテストに用いると、ローカルマシンやサーバ上に複数の独立した環境を構築できるため利便性が高く、広く利用されています。
しかし Linux コンテナは名前空間とリソースが分離された単なるプロセス群であるため、複数のサーバ上で複数のコンテナを協調させてシステムとして動作させるためには、コンテナオーケストレーションツールと呼ばれるミドルウェアが必要になります。
AWS におけるオーケストレーションツールのマネージドサービスである Amazon ECS を利用すると、高可用性を要求される本番環境でコンテナ上で動作するアプリケーションとミドルウェア、AWS の豊富なマネージドサービスを組み合わせ、構成管理とデプロイの簡略化、高速化を実現できます。
コンテナ環境では、サーバ上に直接アプリケーションやミドルウェアを起動する従来の環境と比較して、デプロイ、ログの取り扱い、監視等の運用にこれまでと異なる手法が要求されます。これらの課題を、自社で Go 言語で開発した OSS を利用して解決した内容についても解説します。また、本番リリース前に必須である負荷試験もコンテナを活用することで柔軟に行えるため、その手法についても説明します。