ゲームセッション配置に優先順位を付ける - Amazon GameLift Servers

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

ゲームセッション配置に優先順位を付ける

Amazon GameLift Servers はアルゴリズムを使用して、キューの送信先に優先順位を付ける方法と、新しいゲームセッションを配置する場所を決定します。アルゴリズムは、順序付けられた一連の基準に基づいています。デフォルトの優先順位を使用することも、順序をカスタマイズすることもできます。キューの優先順位はいつでも編集できます。

デフォルトの優先順序

  1. レイテンシー – ゲームセッション配置リクエストにプレイヤーのロケーション固有のレイテンシーデータが含まれている場合、Amazon GameLift Servers は各ロケーションの平均プレイヤーレイテンシーを計算し、平均が最も低いフリートロケーションにゲームセッションを配置しようとします。

  2. コスト – リクエストにレイテンシーデータが含まれていない場合、または複数のフリートのレイテンシーが等しい場合、Amazon GameLift Servers は各フリートのホスティングコストを評価します。フリートのホスティングコストは、フリートタイプ (スポットまたはオンデマンド)、インスタンスタイプ、ロケーションによって異なります。

  3. 送信先 - 複数のフリートのレイテンシーとコストが等しい場合、Amazon GameLift Servers は、キュー設定にリストされている送信順序に基づいてフリートに優先順位を付けます。

  4. 場所 – マルチロケーションフリートを持つキューの場合、他のすべての条件が等しい場合、Amazon GameLift Servers はアルファベット順に基づいてフリートの場所の優先順位を付けます。

キューがゲームセッション配置の優先順位を付ける方法をカスタマイズする

キューが配置条件の優先順位を付ける方法をカスタマイズできます。キューは、受信するすべてのゲームセッション配置リクエストにカスタム優先順位を適用します。

注記

カスタム優先度設定を作成し、4 つの条件をすべて含めない場合、Amazon GameLift Servers は欠落している条件をデフォルトの順序で自動的に追加します。

キューの優先度設定をカスタマイズする方法

Amazon GameLift Servers コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、カスタム優先度設定を作成します。

Console

Amazon GameLift Servers コンソールでは、新しいキューの作成時または既存のキューの更新時に、キューの優先順位をカスタマイズできます。作業する AWS リージョンを選択します。

コンソールの左側のナビゲーションバーを開き、[キュー] を選択します。[キュー] ページで、既存のキューを選択し、[編集] を選択します。

  1. [ゲームセッション配置の優先度] セクションに移動します。各優先条件をドラッグアンドドロップして、必要な順序を作成します。

  2. [ロケーションの順序] セクションに移動します。優先する場所を追加します。このリストは、キューに複数のロケーションを持つフリートがある場合に便利です。少なくとも 1 つの場所を指定する必要があります。ここで指定した場所が最初に優先され、次にキューの送信先の他のすべての場所が優先されます。

  3. [変更を保存] をクリックします。

AWS CLI

update-game-session-queue コマンドと --priority-configuration オプションを使用して、キューの優先順位をカスタマイズします。Amazon GameLift Servers が現在のデフォルト AWS リージョンのキューを更新するか、--region タグを追加して別の AWS リージョンを指定できます。

次のリクエスト例では、指定されたキューの優先度設定を追加または更新します。

aws gamelift update-game-session-queue \ --name "example-queue-with-priority" --priority-configuration PriorityOrder="COST','LOCATION","DESTINATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \

プレイヤーのレイテンシー別に配置を優先する

プレイヤーに可能な限り最高のプレイヤーエクスペリエンスを提供し、レイテンシーを最小限に抑えるには、ゲームセッション配置システムを設定するときに次の手順を実行します。

  • ゲームセッションを配置する場所を選択するときにレイテンシーを優先するようにキューを設定します。デフォルトでは、レイテンシーは優先度リストの最上位にあります。キューの優先度設定をカスタマイズし、レイテンシーを優先度順に配置する場所を選択することもできます。

  • キューのプレイヤーレイテンシーポリシーを設定します。レイテンシーポリシーを使用すると、ゲームセッション配置で許容するレイテンシーの量にハードリミットを設定できます。Amazon GameLift Servers が制限を超えることなくゲームセッションを配置できない場合、プレイスメントリクエストはタイムアウトして失敗します。単一のレイテンシーポリシーを設定することも、時間の経過とともにレイテンシー制限を徐々に緩和する一連のポリシーを作成することもできます。一連のポリシーを使用すると、初期レイテンシーの制限を非常に低く指定でき、短い遅延後にレイテンシーが高いプレイヤーに対応できます。レイテンシーポリシーの作成の詳細については、「プレイヤーレイテンシーポリシーを作成する」を参照してください。

  • ゲームセッションの配置リクエストを行うときは (「StartGameSessionPlacement」を参照)、各プレイヤーのレイテンシーデータを含めます。プレイヤーレイテンシーデータには、ゲームセッションを配置できるすべての場所の値が含まれます。たとえば、AWS リージョン us-east-2 と ca-central-1 にゲームセッションを配置するキューの場合、レイテンシーデータは次のようになります。

    "PlayerLatencies": [ { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "us-east-2" }, { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "ca-central-1" }, { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "us-east-2" }, { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "ca-central-1" } ]

    正確なレイテンシー測定値を取得するには、Amazon GameLift Servers の UDP ping ビーコンを使用します。これらのエンドポイントを使用すると、プレイヤーデバイスと潜在的な各ホスティングロケーション間の実際の UDP ネットワークレイテンシーを測定できるため、ICMP ping を使用するよりも正確な配置決定を行うことができます。UDP ping ビーコンを使用してレイテンシーを測定する方法の詳細については、「UDP ping ビーコン」を参照してください。

場所による配置の優先順位付け

優先順位付けされた地理的位置のリストに基づいてゲームセッションを配置するようにキューを設定できます。場所は、キューが新しいゲームセッションを配置する場所を選択する方法を決定する基準の 1 つです。デフォルトでは、場所はレイテンシー、コスト、送信先の後、4 番目に優先されます。

ゲームセッションの配置では、送信先と場所の意味が多少異なります。

  • 送信先とは、特定のフリートを指し、デプロイされているすべてのフリートのホスティングリソースが含まれます。送信先で優先順位を付けると、Amazon GameLift Servers はフリート内の任意の場所に配置できます。マルチロケーションマネージドフリートと Anywhere フリートは、1 つ以上の場所にデプロイされるホスティングリソースを持つことができます。

  • ロケーションとは、フリートのホスティングリソースがデプロイされる特定の地理的位置を指します。フリートには、AWS リージョン、ローカルゾーン、カスタムロケーション(Anywhere フリートの場合)など、複数のロケーションを含めることができます。単一ロケーションのマネージドフリートには 1 つのロケーションがあり、常に AWS リージョン です。マルチロケーションマネージドフリートは、ホームリージョンに加え、リモートロケーションを持つことができます。Anywhere フリートには 1 つ以上のカスタムロケーションがあります。

ロケーションごとにプレイスメントを優先順位付けする場合、Amazon GameLift Servers は優先ロケーションを含むキューの送信先を検索し、使用可能なホスティングリソースを検索します。優先ロケーションを持つ送信先が複数ある場合、Amazon GameLift Servers は次の優先度基準 (コスト、レイテンシー、送信先) に進みます。

キューのロケーションの優先順位付け方法に影響を与えるには、いくつかの方法があります。

  • キューがすべてのゲームセッションの配置リクエストを処理する方法を設定します。

    • キューに優先度設定を追加します。キューの優先度設定には、順序付けられたロケーションのリストが含まれます。優先順位を付けるロケーションを 1 つ以上指定できます。このリストはロケーションを除外するものではなく、利用可能なホスティングリソースを最初に探す場所を Amazon GameLift Servers に指定するだけです。順序付けられたロケーションリストの一般的な用途は、ほとんどのトラフィックを 1 つ以上の特定の地理的場所にファネルし、バックアップ容量として追加の場所を使用する場合です。UpdateGameSessionQueue を呼び出して優先度設定を追加します。

    • フィルター設定をキューに追加します。フィルター設定は、キューの許可リストです。使用可能なホスティングリソースを検索するときに、リストにない場所を無視するように Amazon GameLift Servers に指示します。フィルター設定には 2 つの一般的な用途があります。まず、複数のロケーションを持つフリートの場合、フィルターを使用してフリートのロケーションの一部を除外できます。次に、特定のロケーションでの配置を一時的に禁止する場合があります。たとえば、ロケーションで一時的な問題が発生している可能性があります。キューのフィルター設定はいつでも更新できるため、必要に応じてロケーションを簡単に追加および削除できます。UpdateGameSessionQueue を呼び出してフィルター設定を追加します。

  • 個々のプレイスメントリクエストには特別な手順を使用します。

    • ゲームセッションの配置リクエストに優先度のオーバーライドリストを含めます。StartGameSessionPlacement リクエストを使用して、ロケーションの代替優先度リストを指定できます。このリストは、その 1 つのリクエストのみのロケーションに対してキューが設定した優先順位を効果的に置き換えます。他のリクエストには影響しません。このオーバーライド機能にはいくつかの要件があります。

      • オーバーライドリストは、優先度設定が LOCATION であるキューを最優先としてのみ使用します。

      • 同じプレイスメントリクエストにプレイヤーレイテンシーデータを含めないでください。Amazon GameLift Servers が解決できないロケーションを優先する場合、レイテンシーデータを含めると競合が発生します。

      • 優先度のオーバーライドリストで使用可能なリソースが見つからない場合の Amazon GameLift Servers の処理方法を決定します。キューの他のロケーションにフォールバックするか、オーバーライドリストへの配置を制限するかを選択します。デフォルトでは、Amazon GameLift Servers はキューの他のロケーションへの配置を試みるためにフォールバックします。

      • オーバーライドリストにロケーションを追加するなど、必要に応じてキューのフィルター設定を更新します。オーバーライドリストはフィルターリストを無効にしません。