このガイダンスは、開発者が Amazon GameLift Testing Toolkit を使用して、マルチプレイヤーゲームをテスト、可視化、最適化するのに役立ちます。開発者は、このツールキットを使用して Amazon GameLift インフラストラクチャのトラブルシューティング、デバッグ、および調整を行うことができます。このガイダンスでは、実際のプレイヤーと同じコードを実行する仮想プレイヤーを使用するオプション機能があるため、開発者はローンチの前にゲームが適切に動作するかどうかをテストできます。

アーキテクチャ図

アーキテクチャダイアグラムの PDF をダウンロード » 

Well-Architected Pillars

AWS Well-Architected フレームワークは、クラウドでシステムを構築する際に行う決定の長所と短所を理解するのに役立ちます。フレームワークの 6 つの柱により、信頼性が高く、安全かつ効率的で、費用対効果が高く、持続可能なシステムを設計および運用するためのアーキテクチャのベストプラクティスを学ぶことができます。AWS マネジメントコンソールで無料で提供されている AWS Well-Architected Tool を使用し、各柱の一連の質問に回答することで、これらのベストプラクティスに照らしてワークロードを確認できます。

上記のアーキテクチャ図は、Well-Architected のベストプラクティスを念頭に置いて作成されたソリューションの例です。完全に Well-Architected であるためには、可能な限り多くの Well-Architected ベストプラクティスに従う必要があります。

  • ツールキットとサンプルゲームのどちらも Infrastructure as Code で完全にデプロイされているため、手動での作業によるエラー、および変更をデプロイする労力が削減します。

    オペレーショナルエクセレンスに関するホワイトペーパーを読む 
  • API Gateway 上のサーバーレスウェブコンソール API は、Amazon Cognito ユーザープールに対する AWS Identity and Access Management (IAM) ベースの認証で保護されます。 

    API Gateway 上のサーバーレスサンプルゲームバックエンドは、IAM ベースの認証で保護され、プレイヤーのゲスト ID を安全に検証します。

    GameLift 上のゲームサーバーでは、クライアント/サーバー通信に使用するポートへのアクセスのみが許可されます。バックエンド Lambda 関数は必要なサービスにのみアクセスします。

    セキュリティに関するホワイトペーパーを読む 
  • データは DynamoDB テーブルに保存され、オンデマンドの容量割り当てを利用して、需要の変化に応じて自動的にスケールします。 

    ソリューションバックエンドサービスは、インスタンスを自動的にスケールする Lambda を使用します。 

    サンプルゲームバックエンドは、需要の変化を処理する GameLift Target ベースの自動スケーリングをサポートしています。

    信頼性に関するホワイトペーパーを読む 
  • API GatewayLambdaDynamoDBFargate などのマネージドサーバーレステクノロジーを活用することで、請求は使用したリソースに対してのみ発生するため、ソリューションを管理するために必要な運用上の労力を削減することができます。 

    このソリューションは任意のリージョンにデプロイ可能で、CloudFront を利用してウェブコンソールのエンドユーザーのレイテンシーを短縮します。

    パフォーマンス効率に関するホワイトペーパーを読む 
  • 仮想プレイヤータスクを Fargate Spot で起動することで、テストのコストを削減できます。

    ウェブコンソールとサンプルゲームバックエンドはサーバーレステクノロジーを利用しているため、請求が発生するのは使用したリソースに対してのみです。 

    ウェブコンソールバックエンドは LambdaAPI Gateway のネイティブスケーリング機能を利用します。DynamoDB テーブルは、オンデマンドの容量割り当てを使用してリソースが需要に一致するようにします。

    サンプルゲームバックエンドは、必要なリソースを最小限に抑える GameLift Target ベースの自動スケーリングをサポートします。

    コスト最適化に関するホワイトペーパーを読む 
  • このガイダンスはマネージドサービスを幅広く使用しているため、高い平均使用率を維持する責任は AWS にあります。

    サンプルゲームバックエンドは、必要なリソースを最小限に抑える GameLift Target ベースの自動スケーリングをサポートします。ゲームセッションを最小数のサーバーインスタンスに配置することで、リソース使用率は一貫して高く保たれます。

    マネージドサービスを広く活用することで、ガイダンスは環境への個々の影響を削減します。 

    ゲームサーバーをスポットフリートで起動し、仮想プレイヤータスクを Fargate Spot で起動することによって、未使用のリソースによる持続可能性の影響をさらに削減できます。

    持続可能性に関するホワイトペーパーを読む 

実装リソース

サンプルコードは出発点です。これは業界で検証済みであり、規範的ではありますが決定的なものではなく、内部を知ることができ、開始に役立ちます。

AWS アーキテクチャ
ブログ

タイトル

サブタイトル
テキスト
 
この記事では、次の方法をご紹介します。
ブログ記事の全文を読む 
AWS アーキテクチャ
ブログ

タイトル

サブタイトル
テキスト
 
この記事では、次の方法をご紹介します。
ブログ記事の全文を読む 

免責事項

サンプルコード、ソフトウェアライブラリ、コマンドラインツール、概念の実証、テンプレート、またはその他の関連技術 (私たちの担当者から提供される前述のものを含む) は、AWS カスタマーアグリーメント、またはお客様と AWS との間の関連文書契約 (いずれか該当する方) に基づき、AWS コンテンツとしてお客様に提供されるものです。お客様は、この AWS コンテンツを、お客様の本番アカウント、または本番データもしくはその他の重要なデータで使用すべきではありません。お客様は、サンプルコードなどの AWS コンテンツを、お客様固有の品質管理手法および基準に基づいて、本番グレードでの使用に適したテスト、セキュリティ確保、および最適化を行う責任を負います。AWS コンテンツのデプロイには、Amazon EC2 インスタンスの実行や Amazon S3 ストレージの使用など、AWS の課金対象リソースを作成または使用するための AWS 料金が発生する場合があります。