Amazon を作成する GameLift Anywhere フリート - Amazon GameLift

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

Amazon を作成する GameLift Anywhere フリート

このトピックでは、Amazon を作成する方法について説明します。 GameLift Anywhere フリート。Anywhere フリートでは、独自のコンピューティングリソースで GameLift ゲームセッションをホストしながら、Amazon ゲームセッションのコア管理機能を使用できます。オンプレミスハードウェアまたはその他のクラウドベースのリソース用に Anywhere フリートを作成します。

Anywhere フリートは、ハイブリッドホスティングソリューションで Amazon GameLift マネージドフリートとともに一般的に使用されます。また、Amazon でホストするためのゲームを開発する際に便利なテスト環境も提供します GameLift。Amazon をいつ、どのように組み込むかの詳細については、以下のトピックを参照してください。 GameLift Anywhere フリートをゲームホスティングソリューションに組み込みます。

Anywhere フリートは自己管理型であるため、フリートのセットアップには追加の作業が必要です。Anywhere フリートをゲームセッションとプレイヤーをホストする準備を整えるには、次のタスクを完了する必要があります。

開始する前に

Anywhere フリートを作成する前に、次のタスクを実行します。詳細については、Amazon GameLift Anywhere でホストするための開発ロードマップ「」または「」を参照してくださいAmazon でのハイブリッドホスティングの開発ロードマップ GameLift

  • ゲームサーバーコードを Amazon GameLift サーバーSDKバージョン 5.x (以降) と統合します。ゲームサーバーの構築に必要なタスクだけでなく、すべてのゲーム統合タスクを完了する必要はありません。一般的な方法は、ローカルマシンを Anywhere フリートとしてセットアップし、コマンドラインインターフェイスを使用してゲームサーバーの統合をテストすることです (「」を参照Amazon でローカルテストを設定する GameLift Anywhere)。追加のコンポーネント (Amazon GameLift 対応ゲームクライアントなど) を開発時に組み込むことができます。

  • Anywhere フリートコンピューティングにインストールするためのゲームサーバーソフトウェアをパッケージ化します。パッケージには、統合されたゲームサーバービルドと、ゲームサーバーの実行に必要なすべてのサポートソフトウェアが含まれている必要があります。

  • Anywhere フリートで Amazon GameLift エージェントを使用するかどうかを決定します。エージェントは、Amazon で使用するサーバープロセスとコンピューティングの管理に関連する主要なタスクの一部を自動化するコンピューティングプロセス管理ツールです GameLift。詳細については、「Amazon GameLift エージェントの操作」を参照してください。

カスタムロケーションを作成する

コンピューティングリソースの物理的な場所を表すカスタムの場所を作成します。Anywhere フリートを作成するときは、少なくとも 1 つのカスタムロケーションが既に定義されている必要があります。追加のカスタムロケーションを作成し、いつでも既存のフリートに追加できます。

カスタムロケーションを作成するには

Amazon GameLift コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、カスタムロケーションを作成します。

Console

Amazon GameLift コンソール で、ナビゲーションペインを使用して Locations ページを開きます。Create location を選択して、Create ダイアログボックスを開きます。

  1. ダイアログボックスに、ロケーション名 を入力します。ベストプラクティスとして、一連のコンピューティングリソースの意味のある場所を記述する名前を使用します。地理的な場所、データセンター名、またはその他の場所識別子である場合があります。Amazon はカスタムロケーションの名前に custom- GameLift を追加します。

  2. (オプション) カスタムロケーションにタグを追加します。タグはそれぞれ、1 つのキーとオプションの 1 つの値で設定されており、どちらもお客様側が定義します。目的、所有者、環境など、便利な方法で分類する AWS リソースにタグを割り当てます。追加するタグごとに [タグを追加] を選択します。

  3. [Create] (作成) を選択します。

AWS CLI

create-location コマンドを使用してカスタムロケーションを作成します。location-name で始まる値を指定しますcustom-。ベストプラクティスとして、一連のコンピューティングリソースの意味のある場所を記述する名前を使用します。地理的な場所、データセンター名、またはその他の場所識別子である場合があります。

aws gamelift create-location \ --location-name custom-location-1

出力

{ "Location": { "LocationName": "custom-location-1", "LocationArn": "arn:aws:gamelift:us-east-1:111122223333:location/custom-location-1" } }

Anywhere フリートを作成する

所有するコンピューティングリソースのセット用に Anywhere フリートを作成します。新しい Anywhere フリートは空で始まり、フリートを登録してコンピューティングを追加します。

作成時に、新しい Anywhere フリートは、フリートステータスを から NEWにすばやく移行しますACTIVE。フリートが に達したら、フリートにコンピューティングを追加できますACTIVE

Anywhere フリートを作成するには

Amazon GameLift コンソールまたは AWS Command Line Interface (AWS CLI) を使用して Anywhere フリートを作成します。

Console

Amazon GameLift コンソール で、ナビゲーションペインを使用してフリートページを開きます。フリートの作成を選択して、フリート作成ワークフローを開始します。

ステップ 1 コンピューティングタイプを選択する

Anywhere オプションを選択し、Next を選択します。

ステップ 2 フリートの詳細を定義する

このステップでは、主要なフリート全体の設定をいくつか指定します。

  1. フリートの詳細セクションに入力します。

    1. フリート を入力します。フリートのリストを表示するときにフリートタイプを識別しやすいフリート命名パターンを使用することをお勧めします。

    2. フリートの簡単な説明を入力します。

  2. 必要に応じて、これらのオプションの追加の詳細を設定します。これらのフリート設定は後で更新できます。

    1. 本番稼働用または本番稼働前テスト用のフリートを作成するときは、この設定を使用してフリートのコンピューティングの時間あたりのコスト値を指定します。Amazon GameLift は、ゲームセッションプレイスメントプロセス中にこの情報を使用して、コストに基づいてホスティングリソースを選択できます。

    2. このフリートやその他のメトリクスデータを組み合わせる場合は、メトリクスグループ名を指定します。結合するすべてのフリートに同じメトリクスグループ名を使用します。メトリクスグループのメトリクスを表示して、集計データを表示します。

  3. オプションのタグをカスタムロケーションに追加します。タグはそれぞれ、1 つのキーとオプションの 1 つの値で設定されており、どちらもお客様側が定義します。目的、所有者、環境など、便利な方法で分類する AWS リソースにタグを割り当てます。追加するタグごとに [タグを追加] を選択します。

  4. へ を選択してワークフローを続行します。

ステップ 3 カスタムロケーションを選択する

このステップでは、このフリートに追加する予定のコンピューティングの物理的な場所を特定します。これで 1 つ以上のロケーションを指定でき、必要に応じて後でロケーションを追加または削除できます。

  1. カスタムロケーション で、フリートのコンピューティングに 1 つ以上のロケーションを選択します。リストには、現在選択されている で定義されているすべてのカスタムロケーションが含まれます AWS リージョン。フリートに追加する新しいカスタムロケーションを定義するには、ロケーションの作成 を選択します。

  2. へ を選択してワークフローを続行します。

ステップ 4 確認して作成する

フリートを作成する前に、設定を確認してください。

新しいフリートをデプロイする準備ができたら、「 の作成」を選択します。Amazon は GameLift 直ちにフリートアクティベーションプロセスを開始し、一意の ID を割り当ててフリートをNEWステータスにします。フリートの進行状況は、フリートページで追跡できます。

AWS CLI

create-fleet コマンドを使用して、コンピューティングタイプ のフリートを作成しますANYWHERE。名前と少なくとも 1 つのカスタムロケーションを指定します。Amazon は、現在のデフォルトに Anywhere フリートリソース GameLift を作成します AWS リージョン (または、--region タグを追加して別の を指定することもできます AWS リージョン)。

次のリクエスト例では、最小限の必要な設定で新しいフリートを作成します。FleetNamecustom-location を自分の情報で置き換えます。

aws gamelift create-fleet \ --name FleetName \ --compute-type ANYWHERE \ --locations "Location=custom-location"

レスポンスの例

{ "FleetAttributes": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "Name": "HardwareAnywhere", "CreationTime": "2023-02-23T17:57:42.293000+00:00", "Status": "ACTIVE", "MetricGroups": [ "default" ], "CertificateConfiguration": { "CertificateType": "DISABLED" }, "ComputeType": "ANYWHERE" } }

作成時に、新しい Anywhere フリートはすぐにフリートステータス に移行しますACTIVE。フリートが に達したら、コンピューティングを追加できますACTIVE

レスポンスにはフリートの場所が含まれていないことに注意してください。フリートの詳細については、 describe-fleet-attributesおよび を呼び出して取得できますdescribe-fleet-location-attributes

フリートにコンピューティングを追加する

コンピューティングリソースをフリートに追加し、ゲームセッションをホストする準備を整えるには、次のタスクを実行します。

  • コンピューティングをフリートに登録します。登録は、 GameLift フリートの一部である物理ホスティングリソースを Amazon に伝えます。

  • コンピューティングの認証トークンをリクエストします。コンピューティングで実行される各ゲームサーバーは、Amazon GameLift サービスに接続するためにこのトークンが必要です。認証トークンは一時的なものであり、定期的に更新する必要があります。

注記

Amazon GameLift Agent でゲームサーバーソフトウェアをデプロイする場合は、このステップをスキップできます。エージェントは各コンピューティングを自動的に登録し、コンピューティングの有効な認証トークンを維持します。「Amazon GameLift エージェントの操作」を参照してください。

コンピューティングを登録し、 を使用するか、 AWS CLIAmazon の に対してプログラムによる呼び出しを行うことで、認証トークンを AWS SDKリクエストできます GameLift。これらのアクションは Amazon GameLift コンソールでは利用できません。

ベストプラクティスとして、各コンピューティングにスタートアップスクリプトを追加して、これらのタスクの両方を自動化することをお勧めします。起動スクリプトは、 register-computeget-compute-auth-token コマンドの両方を自動的に呼び出します。また、タスクを自動化して、コンピューティングの存続期間を通じて認証トークンを定期的に更新し、シャットダウン時にコンピューティングの登録を解除することもできます。

各起動アクションは、コンピューティングに保存する必要があるコンピューティング固有の値を返します。ゲームサーバープロセスがコンピューティングで起動すると、Amazon GameLift サービスへの接続を初期化するときに、これらの値をサーバーパラメータとして渡す必要があります (サーバーSDKリファレンスServerParametersの「」を参照)。これらのコンピューティング固有の値 (またはその保存場所) を環境変数として設定することをお勧めします。Amazon GameLift エージェントを使用している場合、このタスクはユーザーに代わって処理されます。コンピューティング固有の値は次のとおりです。

  • register-compute は の値を返しますGameLiftServiceSdkEndpoint。この値をwebSocketUrlサーバーパラメータに設定します。

  • compute-auth-token は認証トークンを返します。この値をauthTokenサーバーパラメータに設定します。

AWS CLI

次の手順では、 を使用して各リクエストを手動で送信する方法を説明します AWS CLI。

コンピューティングを登録するには

を呼び出しregister-computeてコンピューティングを登録します。コンピューティングを追加するフリートの ID を特定します。意味のある名前、IP アドレス、場所などのコンピューティング情報を指定します。コンピューティングの場所は、フリートに既に関連付けられているカスタムの場所である必要があります。別のカスタムロケーションを使用する場合は、Amazon GameLift コンソールを使用してフリートを更新するか、 AWS CLI コマンドcreate-fleet-locationsを呼び出してフリートにカスタムロケーションを追加します。

次の例では、コンピューティングとフリートのプレースホルダー値を置き換えます。Anywhere フリートを作成すると、 fleet-id値が返されます。フリートの詳細については、 describe-fleet-attributesおよび を呼び出して取得できますdescribe-fleet-location-attributes

aws gamelift register-compute \ --compute-name HardwareAnywhere \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --ip-address 10.1.2.3 \ --location custom-location-1

出力例

{ "Compute": { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-west-2:111122223333:compute/HardwareAnywhere", "IpAddress": "10.1.2.3", "ComputeStatus": "Active", "Location": "custom-location-1", "CreationTime": "2023-02-23T18:09:26.727000+00:00", "GameLiftServiceSdkEndpoint": "wss://us-west-2.api.amazongamelift.com" } }

認証トークンをリクエストするには

を呼び出しget-compute-auth-tokenて有効な認証トークンをリクエストします。 コンピューティングを登録します。フリート ID とコンピューティング名を特定します。

次の例では、コンピューティングとフリートのプレースホルダー値を置き換えます。Anywhere フリートを作成すると、 fleet-id値が返されます。を呼び出すことで、フリートの詳細全体を取得できますdescribe-fleet-attributes。コンピューティング情報を検索するには、フリート ID list-computeを使用して を呼び出し、フリートに登録されているすべてのコンピューティングを確認します。

aws gamelift get-compute-auth-token \ --fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name HardwareAnywhere

出力例

{ "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "HardwareAnywhere", "ComputeArn": "arn:aws:gamelift:us-east-1:111122223333:compute/HardwareAnywhere", "AuthToken": "0c728041-3e84-4aaa-b927-a0fb202684c0", "ExpirationTimestamp": "2023-02-23T18:47:54+00:00" }

ゲームサーバーを起動する

Anywhere フリートを作成し、フリートに 1 つ以上のコンピューティングを追加したら、ゲームサーバーの実行を開始する準備が整います。

ステップ 1 ゲームサーバーソフトウェアをインストールする

ゲームサーバービルドとすべての依存ソフトウェアを Anywhere フリートの各コンピューティングにインストールします。ゲームサーバービルドは、Amazon GameLift サービスと通信するために必要な最小限の機能を備えた Amazon GameLift サーバーSDKバージョン 5.x (以降) と統合する必要があります。

ステップ 2 ゲームサーバーを実行するためのコンピューティングの準備を整える

各コンピューティングが登録され、有効な認証トークンがあることを確認します。スクリプトを使用してこれらのタスクを管理する場合は、ゲームサーバープロセスを開始する前に、スクリプトが各コンピューティングで実行されていることを確認してください。

ゲームサーバーソフトウェアで Amazon GameLift Agent をデプロイした場合は、Agent 実行可能ファイルが起動することを確認します。

ステップ 3 ゲームサーバープロセスを起動する

コンピューティングでゲームサーバー実行可能ファイルのインスタンスを実行します。ゲームサーバービルドが適切に統合されている場合、ゲームサーバープロセスは一連の有効なサーバーパラメータInitSDK()を使用してサーバーSDKアクションを呼び出します。サーバープロセスがゲームセッションをホストする準備ができたら、 を呼び出しますProcessReady()

注記

Amazon GameLift Agent でゲームサーバーソフトウェアをデプロイした場合は、このステップをスキップできます。エージェントは、指定したランタイム手順に基づいてゲームサーバープロセスを自動的に起動します。

サーバープロセスメトリクスを表示して進行状況をモニタリングし、サーバープロセスをアクティブ化およびアクティブにすることができます。「フリートの Amazon GameLift メトリクス」を参照してください。ゲームサーバープロセスが初期化に失敗した場合は、プロセスが実行中のコンピューティングに適したサーバーパラメータ値を取得していることを確認します。