クラウドベースのテスト環境を構築する - Amazon GameLift

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

クラウドベースのテスト環境を構築する

注記

このトピックでは、Amazon GameLift サーバー SDK バージョン 5.x と統合されているゲームの反復テストについて説明します。ゲームでサーバー SDK バージョン 4.x 以前を使用している場合は、「」を参照してくださいAmazon GameLift Local を使用して統合をテストする

Amazon GameLift Anywhere フリートを使用して、クラウドベースのホスト環境でゲームコンポーネントを繰り返し構築およびテストします。ホスティングリソースと Amazon GameLift サービスへの接続を使用して Anywhereフリートを作成し、そのフリートでゲームサーバーを実行し、必要に応じてゲーム機能をテストします。

Amazon GameLift エージェントを使用してフリーAnywhereトをデプロイする

ゲームサーバービルドが Amazon GameLift SDK 5.x 以降と統合されている場合は、Amazon GameLift Agent を使用してクラウドベースのAnywhereフリートにデプロイできます。エージェントは、フリート内の各コンピューティングのゲームサーバーのライフサイクルやその他のタスクを管理するバックグラウンドプロセスです。これらのタスクには、Amazon へのコンピューティングの登録 GameLift、認証トークンの取得、一連の命令に基づくゲームサーバープロセスの起動/停止が含まれます。エージェントはフリートのランタイム設定によって制御されます。この設定は、フリートの存続期間中いつでも更新できます。(エージェントはマネージド EC2 フリートに自動的にデプロイされます。) 詳細と エージェントのダウンロードについては、「Amazon GameLift GitHub リポジトリ」を参照してください。

Amazon EC2 で反復テストを設定する

この Amazon GameLift ツールキットソリューションのガイド付きワークフローを使用して、Amazon でのマネージドホスティングエクスペリエンスを反映するクラウドベースのホスティング環境を設定します GameLift。

GitHub リポジトリには、Amazon GameLift Anywhere と Amazon GameLift Agent を使用してテスト環境をセットアップするためのほとんどのプロセスを自動化する一連のスクリプトが用意されています。また、テストする新しいゲームサーバービルドがあるたびに環境を更新するためのガイダンスも提供します。サンプルゲームサーバービルドでテスト環境をデプロイする単一のスクリプトを実行することも、各ステップを順を追って独自のゲームサーバービルドでセットアップすることもできます。

このワークフローでは、 を使用してスクリプトを実行し AWS Management Console、コマンドラインタスクを完了 AWS CloudShell して、 で完全に作業します。

注記

このチュートリアルのタスクでは、Amazon 、、Amazon S3 GameLift AWS CloudShell、Amazon EC2 AWS Systems Manager、および のサービスに対するアクセス許可を持つ AWS アカウントユーザーが必要です AWS Identity and Access Management。 Amazon S3 AWS アカウントへの管理者レベルのアクセス権を持つユーザーには、必要なアクセス許可が既に付与されています。

ワークフローでは、以下のタスクについて説明します。

  • Amazon のゲームサーバービルドをパッケージ化します GameLift。 このワークフローでは、Amazon サーバー SDK 5.x と既に統合されており、ホスティングできるサンプル C++ ゲーム GameLift サーバーを構築するためのスクリプトを提供します。または、統合が完了したら、独自のゲームプロジェクトを使用できます。

  • ゲームサーバーのビルドと依存関係を保存する Amazon Simple Storage Service バケットを設定します。ゲームビルドの新しいバージョンを作成すると、それらを S3 に保存し、スクリプトを使用してゲームテスト用にAnywhereフリートを更新できます。

  • Amazon GameLift エージェントを取得して構築します。エージェントは、設定に基づいてホスティングリソースのゲームサーバープロセスを管理します。同じロジックを使用し、Amazon GameLift マネージド EC2 ホスティングと同じように動作します。

  • ホスティングリソースの Anywhereフリートを設定します。Anywhere フリートを使用すると、Amazon GameLift サービスを使用して、Amazon によって管理されていないリソースをホストできます GameLift。このステップでは、ランタイム設定も設定します。これにより、ゲームサーバープロセスをいつ、どのように開始するかが Amazon GameLift Agent に指示されます。

  • Amazon EC2 インスタンスをセットアップします。これは反復テスト用のテスト環境です。フルマネージド型の Amazon インスタンス (本番稼働レベルの使用に最適化) の代わりに、標準の EC2 GameLift インスタンスを使用する方がはるかに高速です。標準 EC2 インスタンスを使用すると、必要に応じてゲームサーバーを迅速かつ継続的に更新できます。

  • ゲームサーバービルドと Amazon GameLift エージェントを Amazon EC2 インスタンスにデプロイします。 ワークフローは、ゲームビルドの最新バージョンとすべての依存関係を取得し、EC2 インスタンスにインストールするスクリプトを提供します。このワークフローでは、依存関係には Amazon GameLift エージェントと CloudWatch エージェントが含まれます。

  • Amazon GameLift エージェントを起動します。インストールされると、エージェントは自動的に手順の実行を開始および開始します。具体的には次のとおりです。

    • EC2 インスタンスを Amazon GameLift Anywhere フリートのコンピューティングとして登録します。

    • Amazon GameLift サービスと WebSocket の接続を確立し、最新のランタイム設定を取得します。

    • ランタイム設定の指示に基づいてゲームサーバープロセスを起動します。このワークフローでは、エージェントはゲームサーバー実行可能ファイルの単一のプロセスを開始するように指示されます。

  • ゲームシナリオをテストします。テスト環境をセットアップし、最新のゲームサーバービルドをインストールすると、テストを開始できます。このワークフローでは、ゲームセッションの開始を含むテストのいくつかのステップについて説明します。 CloudWatch ゲームサーバーログにアクセスして、ゲームセッションが起動し、プレイヤーを受け入れる準備ができたときの進行状況を追跡します。

    ゲームクライアントやクライアント側のバックエンドサービスなどのゲームコンポーネントを開発するときは、これらをテストシナリオに含めることができます。ゲームクライアントを使用してゲームセッションをリクエストし、Amazon GameLift サービスから接続情報を取得し、ゲームセッションに直接接続します。

  • 新しいゲームサーバービルドをデプロイし、テストを繰り返します。ゲームの開発時に、新しいゲームサーバービルドを生成し、テストのために EC2 テスト環境にすばやくデプロイできます。それらを Amazon S3 バケットにアップロードし、ワークフロースクリプトを使用してテスト環境を更新します。

ゲームを Amazon GameLift マネージドフリートに移行する

開発テストを完了し、起動の準備が整ったら、Amazon GameLift マネージドフリートに切り替えるのに適したタイミングです。マネージドフリートを使用して、ゲームホスティングリソースを微調整およびテストします。ゲームセッションプレイスメントソリューション (キューとマッチメーカー) を実装し、最適なホスティングハードウェア (スポットフリートを含む) とロケーションを選択し、容量をスケーリングするための戦略を選択します。また、フリート、キュー、マッチメーカーなど、すべてのゲームホスティングリソースのライフサイクルをより効率的に管理 AWS CloudFormation するために、 の使用を開始することもできます。

クラウドベースのAnywhereテストフリートから Amazon GameLift マネージドフリートへの移行には、最小限の労力で済みます。ゲームコードを変更する必要はありません。同じキューとマッチメーカーを再利用できます。次のタスクを実行します。

  • Amazon GameLift ビルドリソースを作成します。Anywhere テストフリートでは、ゲームサーバーのビルドと依存関係を各フリートコンピューティングに手動でデプロイする必要があります。マネージドフリートでは、ゲームビルドパッケージを Amazon にアップロードします。これにより GameLift、すべてのフリートコンピューティングに自動的にデプロイされます。ゲームビルドファイルのパッケージ化と、Amazon S3 バケット内のファイルを使用したビルドリソースの作成の詳細については、カスタムゲームサーバー構築を Amazon GameLift にアップロードする「」を参照してください。

  • マネージドフリートを作成します。EC2 マネージドフリートを指定して、コンソールまたは AWS CLI を使用してフリートを作成します。このタイプのフリートには、ビルドリソースとインスタンスタイプの指定など、追加の設定が必要です。同じランタイム設定を使用して、各フリートコンピューティングのゲームサーバーのライフサイクルを管理できます。マネージドフリートの作成の詳細については、Amazon GameLift マネージドフリートを作成する「」を参照してください。

  • フリートエイリアスをリダイレクトします (オプション)。Anywhere フリートで使用するエイリアスを設定すると、マネージドフリートで同じエイリアスを再利用できます。エイリアスの作成または更新の詳細については、Amazon GameLift フリートにエイリアスを追加する「」を参照してください。