

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

# Amazon GameLift Servers FleetIQ の仕組み
<a name="gsg-howitworks"></a>

このAmazon GameLift Servers FleetIQソリューションは、Amazon EC2 と Auto Scaling で利用できるコンピューティングリソース管理ツールの完全なセットを補完するゲームホスティングレイヤーです。Amazon GameLift Servers FleetIQ は、ゲーム ホスティングに特有の一連の機能のスレートを提供するだけでなく、ゲームホスティングに低コストのスポットインスタンスを使用するためのロジックのレイヤーを追加で提供します。このソリューションを使用すると、Amazon EC2 および Auto Scaling リソースを直接管理し、必要に応じて他の AWS のサービスと統合できます。

を使用する場合はAmazon GameLift Servers FleetIQ、通常どおり Amazon EC2 インスタンスを起動する準備をします。ゲームサーバーソフトウェアで Amazon マシンイメージ (AMI) を作成し、Amazon EC2 起動テンプレートを作成し、Auto Scaling グループの設定を定義します。ただし、Auto Scaling グループを直接作成する代わりに、Amazon EC2 と Auto Scaling のリソースと設定を使用してAmazon GameLift Servers FleetIQゲームサーバーグループを作成します。このアクションではAmazon GameLift Servers FleetIQ、ゲームサーバーグループと対応する Auto Scaling グループの両方を作成するように求められます。ゲーム サーバーグループは、Auto Scaling グループの特定の側面にリンクされ、管理されます。

Auto Scaling グループが作成されると、Amazon EC2 リソースと Auto Scaling リソースへのフルアクセス権が付与されます。Auto Scaling グループの設定を変更したり、マルチレベルスケーリングポリシーやロードバランサーを追加したり、他の AWS サービスと統合したりできます。グループ内のインスタンスに直接Connectできます。最適化ロジックの一部として、 は特定の Auto Scaling グループプロパティAmazon GameLift Servers FleetIQを定期的に更新します。Auto Scaling グループによってデプロイされたすべてのインスタンスの可用性ステータスを追跡できます。

ゲームサーバーグループの Amazon GameLift Servers FleetIQ アクティビティは、いつでも一時的に停止できます。また、ゲーム スケーリンググループを削除しても、対応する Auto Scaling グループは保持できるオプションがあります。

**Topics**
+ [Amazon GameLift Servers FleetIQ ロジック](gsg-howitworks-logic.md)
+ [主なリソースとコンポーネント](gsg-howitworks-resources.md)

# Amazon GameLift Servers FleetIQ ロジック
<a name="gsg-howitworks-logic"></a>

次の図は、ゲームホスティングを Amazon EC2 で操作する際の Amazon GameLift Servers FleetIQ の役割を示しています。その主な目標は、ゲームセッションをホストし、プレイヤーに最適なゲームプレイエクスペリエンスを提供する*最適な*ゲームサーバーを見つけることです。 は*、最適な*リソースを、最も低コストで最高のゲームホスティングの実行可能性を提供するリソースとしてAmazon GameLift Servers FleetIQ定義します。 はこの目標に 2 つの主要な方法でAmazon GameLift Servers FleetIQアプローチします。1 つ目はAuto Scaling グループで実行可能なインスタンスタイプのみを許可し、2 つ目は、グループの利用可能なリソース全体に新しいゲームセッションを効果的に配置することです。

![\[Amazon GameLift Servers FleetIQ は Amazon EC2 と連携する\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/fleetiqguide/images/gsg-howitworks-logic.png)


## Auto Scaling グループに最適なインスタンスタイプを設定する
<a name="gsg-howitworks-logic-rebalancing"></a>

Auto Scaling グループのジョブは、新しいインスタンスを起動して古いインスタンスを使用停止することで、ホスティングリソースのコレクションを維持し、これをプレイヤーの需要に合わせてスケーリングすることです。これを行うには、Auto Scaling グループは目的のインスタンスタイプのリストに依存します。のジョブAmazon GameLift Servers FleetIQでは、これらの必要なインスタンスタイプの実行可能性を継続的にチェックし、Auto Scaling グループのリストを更新します。このプロセスは、インスタンスバランシングと呼ばれています。これにより、Auto Scaling グループ内のインスタンスが継続的に更新され、現在実行可能なインスタンスタイプのみが常に使用されるようになります。

Amazon GameLift Servers FleetIQ Auto Scaling グループが次の方法で最適なインスタンスタイプを選択する方法に影響します。
+ **スポットやオンデマンドインスタンスの利用状況を判断します。**Amazon GameLift Servers FleetIQ ゲームサーバーグループは、Auto Scaling グループがスポットインスタンスやオンデマンドインスタンスを使用する方法に影響を与えるバランシング戦略で設定されます。スポットインスタンスは可用性の変動や[中断](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html)の可能性があるため、低コストとなります。Amazon GameLift Servers FleetIQ は、ゲームサーバーホスティングに対するこのような制限を最低限に抑えます。オンデマンドインスタンスのコストは高くなりますが、必要なときにより信頼性の高い可用性を提供します。
+ **これにより、新しいインスタンスが実行可能なインスタンスタイプでのみ起動するように制限されます。**Amazon GameLift Servers FleetIQ ゲームサーバーグループは、目的のインスタンスタイプのマスターリストを保持します。インスタンスバランシングプロセスは、インスタンスタイプの最近の可用性と中断のレートを調べる予測アルゴリズムを使用して、ゲームホスティングの実行可能性についてリスト内の各目的のインスタンスタイプを継続的に評価します。この評価の結果、 は Auto Scaling グループの必要なインスタンスタイプのリストAmazon GameLift Servers FleetIQを継続的に更新し、現在有効なインスタンスタイプのみを含めます。
+ **実行不可能なインスタンスタイプである既存のインスタンスにフラグを付けます。 **は、現在実行不可能なインスタンスタイプである Auto Scaling グループ内の既存のインスタンスAmazon GameLift Servers FleetIQを識別します。該当するインスタンスには、*[draining]*ドレイン中のフラグが付けられます。つまり、このようなインスタンスは終了され、新しいインスタンスに置き換えられます。ゲームサーバーの保護がオンになっているインスタンスの場合、アクティブなゲームセッションが正常に終了するまで終了が延期されます。

Auto Scaling グループは、インスタンスを起動して終了することにより、低コストのスポットインスタンスタイプの可用性が変動しても、ゲーム ホスティング用に最適化されたコレクションを維持します。バランシングアクティビティは、アクティブなインスタンスを持つゲーム サーバーグループでのみ行われます。このプロセスの詳細については、「[スポット再調整プロセス](gsg-lifecycle-rebalance.md)」を参照してください。

## ゲームセッションを効果的に配置する
<a name="gsg-howitworks-logic-fleetiq"></a>

Amazon GameLift Servers FleetIQ は、ゲームサーバーグループ内のすべてのアクティブなゲームサーバーを追跡し、この情報を使用して新しいゲームセッションとプレーヤーの最適な配置を決定します。

Amazon GameLift Servers FleetIQ でゲームサーバーを追跡するには、そのステータスをゲームサーバーソフトウェアによって報告する必要があります。カスタム AMI は、各インスタンスでの新しいゲームサーバープロセスの開始と停止の方法を管理します。新しいゲームサーバーを起動すると、それが Amazon GameLift Servers FleetIQ に登録され、ゲームセッションをホストする準備が整ったことを示します。登録後、ゲームサーバーは、その状態および現在ゲームセッションをホスティングしているかどうかを定期的にレポートします。ゲームサーバーがシャットダウンすると、Amazon GameLift Servers FleetIQ が登録解除されます。

新しいゲームセッションを開始する場合は、ゲームクライアント (またはマッチメーカーや他のクライアントサービス) から Amazon GameLift Servers FleetIQ に対して、ゲームサーバーへのリクエストが送信されます。Amazon GameLift Servers FleetIQ は、利用可能なゲームサーバープロセスを見つけ、それを新しいゲームセッション用として要求し、ゲームサーバー ID と接続情報を返します。これに応じて、ゲームサーバーはそのステータスを更新し、参加プレイヤーの新しいゲームセッションを開始します。

新しいゲームセッションをホストするゲームサーバーを選択する場合、Amazon GameLift Servers FleetIQ は次の決定プロセスを使用して、有効かつ低コストのスポットインスタンスの配置を最適化します。

1. 可能な場合、Amazon GameLift Servers FleetIQ は、他のゲームセッションをすでにホストしているインスタンスに新しいゲームセッションを配置します。一部のインスタンスに集中させて (ただし、過負荷にはせず)、他のインスタンスをアイドル状態に保つことで、Auto Scaling グループは不要なアイドル状態のインスタンスを迅速にスケールダウンできるため、ホスティングコストが削減されます。

1. Amazon GameLift Servers FleetIQ は、ゲームホスティングに無効な「*ドレイン中*」フラグが立ったインスタンスを無視します。これらのインスタンスは、既存のゲームセッションをサポートするためにだけに実行されています。これらは、他のゲームサーバーが利用できない限り、新しいゲームセッションには使用できません。

1. Amazon GameLift Servers FleetIQ は、有効なインスタンスで実行されているすべての利用可能なゲームサーバーを識別します。

ゲームサーバーグループのゲームセッション保護をオンにすると、アクティブに実行中のゲームセッションで Auto Scaling グループがインスタンスを終了するのを防ぐことができます。

# 主なリソースとコンポーネント
<a name="gsg-howitworks-resources"></a>

でゲームホスティングリソースを設定する前に、 AWS アカウントに次のリソースを作成しますAmazon GameLift Servers FleetIQ。ベストプラクティスとして、ゲームサーバーグループで使用する前に、これらのリソースを使用してゲームサーバーのデプロイを開発してテストします。
+ **Amazon マシンイメージ (AMI)。**AMI は、Amazon EC2 インスタンスで起動する特定のソフトウェア設定のテンプレートです。ゲームホスティングの場合、AMI には、オペレーティングシステム、ゲームサーバーのバイナリまたはコンテナ、およびゲームサーバーに必要なその他のランタイムソフトウェアが含まれます。AMI 作成の詳細については、「Amazon EC2 ユーザーガイド」の「[Amazon マシンイメージ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)」を参照してください。AMI はリージョン固有です。リージョン間での AMI をコピーについては、「*Amazon EC2 ユーザーガイド*」の「[AMI のコピー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)」を参照してください。
+ **[Amazon EC2 launch template]**（Amazon EC2 起動テンプレート） 起動テンプレートは、Auto Scaling グループ内のインスタンスを起動および管理するための手順を提供します。AMI を指定して、適切なインスタンスタイプのリストを提供し、ネットワーク、セキュリティ、およびその他のプロパティを設定します。起動テンプレートの詳細については、「*Amazon EC2 ユーザーガイド*」の「[起動テンプレートからのインスタンスの起動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)」を参照してください。起動テンプレートはリージョン固有です。
+ **AWS IAM ロール** IAM ロールは、 AWS リソースへの制限付きアクセスを許可する一連のアクセス許可を定義します。別の AWS サービスなどの信頼されたエンティティは、ロールを引き受け、そのアクセス許可を継承できます。を使用する場合はAmazon GameLift Servers FleetIQ、 AWS アカウント内の Auto Scaling グループと EC2 インスタンスリソースの作成とアクセスAmazon GameLift Servers FleetIQを に許可する管理ポリシーを IAM ロールに提供する必要があります。IAM ロールはリージョン固有ではありません。

Amazon GameLift Servers FleetIQ は、以下のリソースを直接管理し、これらのリソースに対する直接的な権限を保持します。
+ **Amazon GameLift Servers ゲームサーバーグループ**。ゲームサーバーグループには、 が対応する Auto Scaling グループAmazon GameLift Servers FleetIQと連携して低コストのゲームホスティングを提供する方法を定義する設定が含まれています。ゲームサーバーグループはリージョン固有です。リージョンでゲームサーバーグループを作成すると、同じリージョンの AWS アカウントに新しい Auto Scaling グループが自動的に作成されます。ゲームサーバーグループは Auto Scaling グループにリンクされ、その設定の一部を管理および変更するためのアクセス権を (IAM ロールを引き受けることによって) 付与されます。ゲームサーバーグループは寿命の長いリソースです。開発者がこれらのグループを頻繁に作成することはありません。ゲームサーバーグループは、Auto Scaling グループ内のインスタンスでホストされ、Amazon GameLift Servers FleetIQ に登録されているゲームサーバーを機能別のグループに分けるリソースでもあります。
+ **Amazon GameLift Servers ゲームサーバー**。ゲームサーバーリソースは、Amazon GameLift Servers FleetIQ ゲームサーバーグループに関連付けられたインスタンスで実行されているゲーム実行を表します。このリソースは、ゲームサーバーが Amazon GameLift Servers FleetIQ に登録されるときに作成され、それが属するゲームサーバーグループを識別します。Amazon GameLift Servers FleetIQ は、登録された各ゲームサーバーの使用状況ステータスとクレームステータスを追跡します。これにより、ゲームサーバーの可用性をモニタリングできます。ゲームサーバーは、リージョン固有のゲームサーバーグループに関連付けられるという点で、リージョン固有です。ゲームは、新しいゲームサーバーをリクエストするときに、ゲームサーバーグループとリージョンを指定します。

これらのリソースは、Amazon GameLift Servers FleetIQ リソースを通じて作成されます。これらは AWS アカウントに作成され、ユーザーが完全に制御できます。
+ **Amazon EC2 Auto Scaling グループ。**Auto Scaling グループは、EC2 インスタンスのコレクションを起動および管理し、グループの容量を自動的にスケールします。Amazon GameLift Servers FleetIQ では、ゲームサーバーグループと Auto Scaling グループの間に 1 対 1 の関係があります。Auto Scaling グループのすべての設定は更新できますが、Amazon GameLift Servers FleetIQ はそのロジックの一環として特定の設定を定期的に上書きして更新し、ゲームホスティングに利用できるようにスポットインスタンスを調整します。詳細については、「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[AutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html)」を参照してください。Auto Scaling グループはリージョン固有で、ゲームサーバーグループと同じリージョンに作成されます。
+ **Amazon EC2 インスタンス。**インスタンスとは、クラウドの仮想サーバーです。インスタンスタイプには、コンピューティング、メモリ、ディスク、およびネットワークリソースを指定する特定のハードウェア設定があります。通常、インスタンスは AMI を使用して Auto Scaling グループによって起動されます。インスタンスは、可用性に応じて、スポットまたはオンデマンドにすることができます。Amazon GameLift Servers FleetIQ でのインスタンスは 1 つ以上のゲームサーバープロセスを実行します。各プロセスは複数のゲームセッションをホストできます。インスタンスは、リージョン固有の Auto Scaling グループに関連付けられるという点で、リージョン固有です。