

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

# スポットインスタンスのキューの設計
<a name="spot-tasks"></a>

スポットフリートを使用すると、ホスティングコストを大幅に削減できます。スポットフリートとその使用方法の詳細については、「[オンデマンドインスタンスとスポットインスタンスの比較](gamelift-compute.md#gamelift-compute-spot)」を参照してください。

ゲームホスティングソリューションにスポットフリートが含まれている場合は、ゲームセッションプレイスメントキューを使用する必要があります。Amazon GameLift Servers はキューを使用して複数のゲームホスティングリソースを検索し、新しいゲームセッションをホストするために利用可能な最適なリソースを選択します。スポットフリートでは、キューはホスティングコストを最小限に抑え、スポットの中断を回避するために特に重要です。このトピックは、中断、スローダウン、停止が発生した場合でもプレイヤーのゲームをホストし続けることができる回復力のあるキューを設定するのに役立ちます。キューが利用可能なホスティングリソースに優先順位を付ける方法は、ホスティングコストなどのいくつかの要因に基づいてカスタマイズできます。

マッチメーキングに FlexMatch を使用していますか? マッチメイキングを配置する既存のゲームセッションキューにスポットフリートを追加できます。

## スポットフリートの実装タスク
<a name="spot-tasks-queue"></a>

スポットフリートを使用するようにゲームホスティングソリューションを作成または更新する場合は、次のタスクを完了します。スポットの可用性と回復性を最適化するキューを構築する方法の詳細については、「[スポットフリートによるゲームホスティングコストの削減](fleets-spot.md)」を参照してください。

1. **ゲームセッションキューのフリート送信先のセットを選択して作成します。**

   まず、キューでゲームセッションを配置する場所を決定します。キューは複数のフリートを検索して、最適な配置を見つけることができます。各フリートは、複数の地理的な場所にデプロイされたインスタンスを持つことができます。ロケーションタイプとインスタンスタイプの両方で異なるフリートを持つキューは、プレイスメントを成功させる可能性が高くなります。効果的で回復力のあるスポット最適化キューを設計するためのベストプラクティスを参照してください。

1. **スポット最適化ゲームセッションキューを作成します。**

   キューを作成し、スポットフリート用に設定します。新しいキューの作成および設定のヘルプについては、「[ゲームセッションキューを作成する](queues-creating.md)」を参照してください。Amazon GameLift Servers コンソールまたは AWS CLI を使用して、キューを作成または編集できます。
   + ステップ 1 からフリートの送信先を追加します。
   + 必要に応じて送信先の順序に優先順位を付けます。デフォルトでは、Amazon GameLift Servers は送信先のコストで優先順位を付けるため、送信先間のコストが最も低い場合にのみ送信先の順序が使用されます。
   + プレイヤーのレイテンシーの前にゲームホスティングコストを優先する場合は、カスタムプレイスメントの優先順位を指定します。「[ゲームセッション配置に優先順位を付ける](queues-design-priority.md)」を参照してください。

1. **ソリューション内の他のコンポーネントを更新して、新しいキューを使用します。**

   ソリューションがスポット最適化キューを使用して新しいゲームセッションを開始すると、キューは中断の可能性の高いフリートでゲームセッションを配置することを自動的に回避します。代わりに、プレイヤーのレイテンシー、ホスティングコスト、送信先の順序など、定義された優先順位に一致するリソースについて、実行可能なすべてのフリートを検索します。
   + FlexMatch を使用していない場合 – バックエンドサービスを更新して、ゲームセッションリクエストで新しいスポット最適化キューを指定します。バックエンドサービスは、ゲームクライアントに代わって (`StartGameSessionPlacement()` を使用して) Amazon GameLift Servers に API リクエストを行い、各リクエストはキュー名を指定する必要があります。ゲームクライアントにゲームセッション配置を実装する方法については、「[ゲームセッションを作成する](gamelift-sdk-client-api.md#gamelift-sdk-client-api-create)」を参照してください。
   + FlexMatch を使用している場合 – マッチメーキング設定を更新して、新しいスポット最適化キューにゲームセッションリクエストを送信します。マッチメーキングシステムがプレイヤーマッチを形成すると、指定されたキューにゲームセッション配置リクエストを送信して、マッチの新しいゲームセッションを開始します。FlexMatch モードが「マネージド」に設定されているマッチメーキング設定のみがプレイスメントキューを指定できます。CLI または AWS コンソールを使用してマッチメーキング設定を更新できます Amazon GameLift Servers ([「マッチメーキング設定の編集](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-create-configuration-edit.html)」を参照）。

1. **スポットフリートとキューのパフォーマンスを評価します。**

   Amazon GameLift Servers コンソールの Amazon GameLift Servers メトリクス、または Amazon CloudWatch を表示してパフォーマンスを確認できます。Amazon GameLift Servers メトリクスの詳細については、「[Amazon CloudWatch で Amazon GameLift Servers を監視する](monitoring-cloudwatch.md)」を参照してください。主なメトリクスには次のものがあります。
   + 中断率 – スポットフリートのインスタンスとゲームセッションについてスポットに関連した中断の回数と頻度を追跡する `InstanceInterruptions` および `GameSessionInterruptions` メトリクスを使用します。再要求されたインスタンスのゲームセッションのステータスは `TERMINATED`、ステータス理由は `INTERRUPTED` です。
   + キューの有効性 – プレイスメントの成功率、平均待機時間、キューの深度などのキューメトリクスを追跡し、スポットフリートによってキューのパフォーマンスに影響が出ないことを確認します。
   + フリート使用率 – インスタンス、ゲームセッションおよびプレイヤーセッションをモニタリングします。オンデマンドフリートの使用率は、中断を避けるためにキューがスポットフリートへのプレイスメントを避けている指標になります。

## スポットフリートを使用したキューのベストプラクティス
<a name="queues-design-spot"></a>

 スポットインスタンスのフリートとキューを作成するときは、次のベストプラクティスを使用します。
+ **キューの地理的カバレッジを拡張します。**プレイヤーが 1 つの にクラスター化されていても AWS リージョン、スポットフリートに隣接する場所を追加します。このアプローチにより、リージョンの速度低下、停止、スポットの中断時にキャパシティを維持するキューの機能が向上します。マルチロケーションフリートは、スポットインスタンスとオンデマンドインスタンスの両方で動作します。
+ **キューのインスタンスタイプのカバレッジを多様化します。** はインスタンスタイプに基づいてスポットの実行可能性Amazon GameLift Serversを評価するため、さまざまなインスタンスタイプのスポットフリートがあると、複数のスポットフリートが同時に実行できなくなる可能性が低くなります。各ロケーションに異なるインスタンスタイプを持つ少なくとも 2 つのスポットフリートを含めます。
**注記**  
料金は、フリートの数ではなく、使用するインスタンスに基づいています。それぞれ 10 個のインスタンスで 5 つのフリートを実行することは、同様のコストで 50 個のインスタンスで 1 つのフリートを実行することと同じです。料金はインスタンスタイプ、サイズ、場所によって異なります。

  スポットインスタンスタイプをグループ化するためのヒント: 
  + `m6g.medium`、`m6g.large`、`m6g.xlarge` など、同じファミリーでインスタンスタイプを使用します。インスタンスタイプが大きいほどコストは高くなりますが、一度により多くのゲームセッションをホストすることもできます。
  + 広く利用可能なインスタンスタイプを選択します。通常、旧世代のファミリー (C5, M5、R5 など) と一般的なサイズ (.large、.xlarge、.2xlarge など) は可用性が高くなります。
  + Amazon GameLift Servers コンソールで 30～90 日間の料金履歴を確認します。一貫した可用性パターンを持つインスタンスタイプを探します。
  + Amazon GameLift Servers コンソール、フリート作成ツールを使用して、インスタンスタイプのロケーションカバレッジを調べます。
+ **バックアップ容量のオンデマンドフリートを追加します。**ゲームホスティングは、スポットフリートが利用できないときはいつでもオンデマンドフリートに切り替えることができます。各ロケーションに少なくとも 1 つのオンデマンドフリートを配置して、プレイヤーのレイテンシーを低く保ちます。バックアップオンデマンドフリートに自動スケーリングを追加すると、必要なまでスケールダウンしたままにできます。
+ **すべてのフリート送信先にエイリアスを割り当てます。**キューの送信先ごとにエイリアスを作成します。エイリアスを使用すると、フリートを置き換える必要がある場合に簡単かつ効率的になります。
+ **キューの優先順位付け戦略を適用します。**キューがゲームセッションの配置先を優先する方法をカスタマイズできます (詳細については、「[ゲームセッション配置に優先順位を付ける](queues-design-priority.md)」を参照)。スポット最適化キューの場合、コストで優先順位を付けると、可能な限り低コストのスポットフリートが使用されます。

  送信先順序を指定して、特定のフリートに優先順位を付けることもできます。たとえば、一部のユーザーは、定期的に使用するプライマリフリートのセットと、バックアップとしてセカンダリフリートのセットを指定します。このシナリオでは、キューの送信先順序を設定して、プライマリフリートを最初に一覧表示します。次に、キューの優先順位を宛先とそれに続くコストで設定します。