翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GAMECOST02-BP02 各ゲームサーバーインスタンスでホストされているゲームセッションの数を最適化してコストを最適化する
サーバーインスタンスごとにホストされるゲームセッションの数を最適化して、コンピューティング使用率を向上させ、コンピューティングインフラストラクチャコストを削減します。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
コストを最適化するために、ゲーム開発者は同じ物理サーバーまたは仮想サーバーでホストされているゲームセッションの数を最大化する必要があります。これは、ゲームサーバーのパッキング密度とも呼ばれます。これは、インスタンスで同時にホストできるゲームサーバープロセスの数を増やすことで実現されます。
通常、1 つのゲームサーバープロセスで EC2 インスタンスで使用できるリソース全体を使用する必要はありません。これはゲームのコンピューティングコストを削減するための最も重要な方法の 1 つであり、別々のポートで EC2 インスタンスで複数のサーバープロセスをスポーンおよび管理できるソフトウェアを使用する必要があります。
例えば、Amazon GameLift にはインスタンスあたりのゲームサーバープロセスの最大数に対するクォータがあり、ホスティングコストを削減できるように活用する必要があります。詳細については、インスタンスあたりの最大ゲームサーバープロセスの現在のクォータの詳細については、「Amazon GameLift Servers エンドポイントとクォータ」を参照してください。
EC2 インスタンスなどの仮想マシンにゲームサーバープロセスをデプロイする代わりに、ゲーム開発者はコンテナオーケストレーションソリューションを使用してコンテナベースのアプリケーションとしてゲームサーバーを実行することが人気となっています。ゲーム開発者は、Amazon Elastic Container Service
コンテナソリューションには、指定したリソース要件やその他のプレイスメントロジックに基づいて、クラスター内の使用可能なコンテナインスタンスを自動的に見つけてゲームサーバーコンテナをホストできるジョブスケジューリング機能が用意されています。ただし、アクティブなプレイヤーセッションを中断しない方法でスケーリングとプレイヤー配置の動作を管理する方法を考慮することが重要です。
実装手順
-
個別のポートとプロセス管理ソフトウェアを使用して EC2 インスタンスごとに複数のゲームサーバープロセスを実行することで、パッキング密度を向上させます。
-
Amazon GameLift または ECS、EKS、 などのコンテナソリューション AWS Fargate を使用して、ゲームサーバープロセスを効率的に管理し、インフラストラクチャコストを削減します。
-
リソース使用率を継続的にモニタリングしてパッキング密度を改良し、プレイヤーのエクスペリエンスを損なうことなくコスト効率を維持します。