翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
GAMEREL02-BP01 アクティブなプレイヤーゲームセッションの状態を組み込んだスケーリング戦略を実装する
アクティブに接続されたプレイヤーセッションのステートフルな性質を組み込み、ゲームプレイを中断することなくスケーリングアクティビティを適切に処理する方法で、ゲームインフラストラクチャを自動的にスケーリングするソリューションを実装します。
このベストプラクティスを活用しない場合のリスクレベル: 高
実装のガイダンス
クラウドでゲームを開発する利点の 1 つは、需要を満たすために必要に応じてサーバーインフラストラクチャを自動的にスケーリングすることで達成できる伸縮性です。ステートレスまたは非同期のゲームとバックエンドサービスは、Amazon EC2 Auto Scaling ポリシー、EKS 自動スケーリング、またはスケーラブルなウェブアプリケーションに一般的に採用されている同様の手法を使用して動的にスケーリングできますが、ゲーム開発者は通常、アクティブなプレイヤーセッションの中断をブロックするために、ステートフルまたは同期のゲームをスケーリングするためのよりカスタマイズされたアプローチを必要とします。
実装手順
-
ステートフルゲームの場合、プレイヤーセッションの状態と利用可能なゲームサーバー容量をモニタリングするために使用できるカスタムメトリクスを生成し、カスタムメトリクスとして Amazon CloudWatch に報告できます。CloudWatch Synthetics などのアプリケーションモニタリングで機能を演習し、ゲームでヘルスモニタリングが単純に検出できない機能の障害がないか確認します。
-
カスタムメトリクスを使用して、ゲームサーバースケーリングソフトウェアを実装します。たとえば、 AWS Lambda 関数を使用するサーバーレスアプリケーションとして AWS Fargate、または AWS SDK を使用して API コールを行い、ゲームサーバービルドをホストする EC2 Auto Scaling グループの最小、最大、および希望する容量設定を更新することで、専用のゲームサーバーインスタンスのフリートを管理します。
-
Amazon GameLift を使用してゲームサーバーをホストし、out-of-the-boxゲームサーバーの自動スケーリング機能を使用して、このスケーリングプロセスを管理します。
Amazon GameLift の自動スケーリング機能はアクティブなプレイヤーセッションを認識し、プレイヤーをアクティブにホストしているゲームサーバーインスタンスの終了またはスケールインをブロックするように設定できます。詳細については、「Amazon CloudWatch で Amazon GameLift サーバーをモニタリングする」を参照してください。