View a markdown version of this page

GAMECOST02-BP02 各ゲームサーバーインスタンスでホストされているゲームセッションの数を最適化してコストを最適化する - ゲーム業界レンズ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GAMECOST02-BP02 各ゲームサーバーインスタンスでホストされているゲームセッションの数を最適化してコストを最適化する

サーバーインスタンスごとにホストされるゲームセッションの数を最適化して、コンピューティング使用率を向上させ、コンピューティングインフラストラクチャコストを削減します。 

このベストプラクティスを活用しない場合のリスクレベル:

実装のガイダンス

コストを最適化するために、ゲーム開発者は同じ物理サーバーまたは仮想サーバーでホストされているゲームセッションの数を最大化する必要があります。これは、ゲームサーバーのパッキング密度とも呼ばれます。これは、インスタンスで同時にホストできるゲームサーバープロセスの数を増やすことで実現されます。

通常、1 つのゲームサーバープロセスで EC2 インスタンスで使用できるリソース全体を使用する必要はありません。これはゲームのコンピューティングコストを削減するための最も重要な方法の 1 つであり、別々のポートで EC2 インスタンスで複数のサーバープロセスをスポーンおよび管理できるソフトウェアを使用する必要があります。

例えば、Amazon GameLift にはインスタンスあたりのゲームサーバープロセスの最大数に対するクォータがあり、ホスティングコストを削減できるように活用する必要があります。詳細については、インスタンスあたりの最大ゲームサーバープロセスの現在のクォータの詳細については、「Amazon GameLift Servers エンドポイントとクォータ」を参照してください。

EC2 インスタンスなどの仮想マシンにゲームサーバープロセスをデプロイする代わりに、ゲーム開発者はコンテナオーケストレーションソリューションを使用してコンテナベースのアプリケーションとしてゲームサーバーを実行することが人気となっています。ゲーム開発者は、Amazon Elastic Container Service (Amazon ECS) または Amazon EKS での Agones と Open Match を使用したゲームサーバーホスティングのガイダンスを使用できます。もう 1 つのオプションは、ECS と EKS の両方で動作するサーバーレスコンピューティングエンジンである Game Server Hosting on AWS Fargate です。これにより、基盤となるインフラストラクチャを管理することなくゲームに集中できます。

コンテナソリューションには、指定したリソース要件やその他のプレイスメントロジックに基づいて、クラスター内の使用可能なコンテナインスタンスを自動的に見つけてゲームサーバーコンテナをホストできるジョブスケジューリング機能が用意されています。ただし、アクティブなプレイヤーセッションを中断しない方法でスケーリングとプレイヤー配置の動作を管理する方法を考慮することが重要です。

実装手順

  • 個別のポートとプロセス管理ソフトウェアを使用して EC2 インスタンスごとに複数のゲームサーバープロセスを実行することで、パッキング密度を向上させます。

  • Amazon GameLift または ECS、EKS、 などのコンテナソリューション AWS Fargate を使用して、ゲームサーバープロセスを効率的に管理し、インフラストラクチャコストを削減します。

  • リソース使用率を継続的にモニタリングしてパッキング密度を改良し、プレイヤーのエクスペリエンスを損なうことなくコスト効率を維持します。