ゲームセッションプレイスメントに優先順位を付ける - 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. [Save changes] (変更の保存) をクリックします。

AWS CLI

コマンドupdate-game-session-queue--priority-configurationオプションを使用して、キューの優先順位をカスタマイズします。 は現在のデフォルト AWS リージョンのキューAmazon GameLift Serversを更新するか、--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 ビーコン

ロケーションによる配置の優先順位付け

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

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

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

  • ロケーションとは、フリートのホスティングリソースがデプロイされる特定の地理的位置を指します。フリートには、Local Zones 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 はフォールバックしてキューの他の場所への配置を試みます。

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