Amazon GameLift の VPC ピアリング - Amazon GameLift

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

Amazon GameLift の VPC ピアリング

このトピックでは、Amazon GameLift がホストするゲームサーバーと他の Amazon GameLift 以外のリソースとの VPC ピアリング接続をセットアップする方法に関するガイダンスを提供します。Amazon Virtual Private Cloud(VPC) ピアリングを使用して、ゲームサーバーがウェブサービスやリポジトリなどの他の AWS リソースと直接かつプライベートに通信を有効にします。AWSで実行されてお客様がアクセス可能な AWS アカウントでマネージドされているすべてのリソースと、VPCピアリングを確立できます。

注記

VPC ピア接続は高度な機能です。ゲームサーバーが他の AWS リソースと直接かつプライベートに通信できるようにするための推奨オプションについては、「フリートの他の AWS リソースと通信する 」を参照してください。

Amazon VPC と VPC ピアリングにすでに精通している場合は、Amazon GameLift ゲームサーバーとのピア接続の設定は多少異なっているのがわかります。ゲームサーバーを含む VPC にアクセスすることはできません (これは Amazon GameLift サービスによってコントロールされます)。そのため、VPC ピアリングを直接リクエストすることはできません。代わりに、Amazon GameLift サービスへのピア接続リクエストを受け入れるために、最初に Amazon GameLift 以外のリソースで VPC を事前承認します。次に、Amazon GameLift をトリガーし、先ほど許可した VPC ピアリングをリクエストします。Amazon GameLift はピア接続の作成、ルートテーブルの設定、接続の設定のタスクを処理します。

既存のフリート用に VPC ピア接続を設定するには

  1. AWS アカウント ID と認証情報を取得します。

    以下のAWS アカウントには、ID とサインインの認証情報が必要です。AWS Management Consoleにサインインしてアカウント設定を表示することで、AWS アカウント ID を確認できます。認証情報を取得するには、IAM コンソールに移動します。

    • Amazon GameLift ゲームサーバーの管理に使用する AWS アカウント。

    • Amazon GameLift 以外のリソースの管理に使用する AWS アカウント。

    Amazon GameLift とAmazon GameLift 以外のリソースで同じアカウントを使用している場合は、そのアカウントのみの ID と認証情報が必要です。

  2. 各 VPC の識別子を取得します。

    ピア接続される 2 つの VPC について以下の情報を取得します。

    • Amazon GameLift ゲームサーバー用の VPC – Amazon GameLift の フリート ID。ゲームサーバーは、EC2 インスタンスのフリート上の Amazon GameLift にデプロイされます。フリートは、Amazon GameLift サービスで管理される専用の VPC に自動的に配置されます。VPC への直接アクセスは許可されないため、VPC はフリート ID によって識別されます。

    • Amazon GameLift 以外の AWS リソースの VPC – AWS で実行され、アクセス可能な AWS アカウントで管理されているすべてのリソースと VPC ピアリングを確立できます。これらのリソース用の VPC をまだ作成していない場合は、「Amazon VPC の開始方法」を参照してください。VPC を作成したら、Amazon VPC の AWS Management Console にサインインして VPC を一覧表示することで VPC ID を確認できます。

    注記

    ピア接続を設定するときは、両方の VPC が同じリージョンに存在する必要があります。Amazon GameLift フリート ゲームサーバー用の VPC はフリートと同じリージョン にあります。

  3. VPC ピア接続を認可します。

    このステップでは、Amazon GameLift への今後のリクエストを事前認可して、ゲームサーバーを含む VPC を、GameLift 以外のリソース用の VPC にピア接続します。このアクションにより、VPC のセキュリティグループが更新されます。

    VPC ピアリングを承認するには、Amazon GameLift サービス API CreateVpcPeeringAuthorization() を呼び出すか、AWS CLI コマンド create-vpc-peering-authorization を使用します。Amazon GameLift 以外のリソースを管理するアカウントを使用してこの呼び出しを行います。以下の情報を識別します。

    • ピア VPC ID – Amazon GameLift 以外のリソースのある VPC の ID。

    • Amazon GameLift AWS アカウント ID – これは Amazon GameLift フリートの管理に使用するアカウントです。

    VPC ピア接続を承認した後は、取り消されない限り、24 時間有効です。以下の操作を使用して、VPC ピア接続承認を管理できます。

  4. ピア接続をリクエストします。

    有効な認可があれば、Amazon GameLift にピア接続の確立をリクエストできます。

    VPCピアリングをリクエストするには、Amazon GameLift サービス API CreateVpcPeeringConnection() を呼び出すか、AWS CLI コマンド create-vpc-peering-connection を使用します。Amazon GameLift ゲームサーバーを管理するアカウントを使用してこの呼び出しを行います。以下の情報を使用して、ピア接続する 2 つの VPC を指定します。

    • ピア VPC ID と AWS アカウント ID – これは Amazon GameLift 以外のリソースの VPC およびそれらの管理に使用するアカウントです。VPC ID は有効なピア接続認可の ID と一致する必要があります。

    • フリート ID – これは Amazon GameLift ゲームサーバーの VPC を識別します。

  5. ピア接続のステータスを追跡します。

    VPC ピア接続のリクエストは、非同期操作です。ピア接続リクエストのステータスを追跡し、成功または失敗のケースを処理するには、次のいずれかのオプションを使用します。

    • DescribeVpcPeeringConnections() を使用して継続的にポーリングします。この操作では、リクエストのステータスを含む VPC ピア接続レコードが取得されます。ピア接続が正常に作成された場合、接続レコードには、VPC に割り当てられたプライベート IP アドレスの CIDR ブロックも含まれます。

    • 成功イベントと失敗イベントを含む DescribeFleetEvents() の VPC ピア接続に関連付けられたフリートイベントを処理します。

ピア接続が確立されると、以下のオペレーションを使用してその接続を管理できます。

新しいフリートとの VPC ピア接続を設定するには

新しい Amazon GameLift フリートを作成し、VPC ピアリング接続を同時にリクエストできます。

  1. AWS アカウント ID と認証情報を取得します。

    次の 2 つの AWS アカウントには、ID とサインインの認証情報が必要です。AWS Management Consoleにサインインしてアカウント設定を表示することで、AWS アカウント ID を確認できます。認証情報を取得するには、IAM コンソールに移動します。

    • Amazon GameLift ゲームサーバーの管理に使用する AWS アカウント。

    • Amazon GameLift 以外のリソースの管理に使用する AWS アカウント。

    Amazon GameLift とAmazon GameLift 以外のリソースで同じアカウントを使用している場合は、そのアカウントのみの ID と認証情報が必要です。

  2. Amazon GameLift 以外の AWS リソースの VPC ID を取得します。

    これらのリソースの VPC をまだ作成していない場合は、ここで作成してください (「Amazon VPC の開始方法」を参照)。新しいフリートを作成する予定の同じリージョンに新しい VPC を作成してください。Amazon GameLift 以外のリソースが、Amazon GameLift で使用するものとは異なる AWS アカウントまたはユーザー/グループで管理されている場合、次のステップで承認をリクエストするときに、これらのアカウント認証情報を使用する必要があります。

    VPC を作成したら、VPC を表示して Amazon VPC コンソールで VPC ID を見つけることができます。

  3. Amazon GameLift 以外のリソースとの VPC ピアリングを承認します。

    Amazon GameLift によって新しいフリートおよび対応する VPC が作成されるとき、Amazon GameLift 以外のリソースの VPC にピア接続するためのリクエストも送信されます。そのリクエストを事前承認する必要があります。このステップにより、VPC のセキュリティグループが更新されます。

    Amazon GameLift 以外のリソースを管理するアカウント認証情報を使用して、Amazon GameLift サービス API CreateVpcPeeringAuthorization() を呼び出すか、AWS CLI コマンド create-vpc-peering-authorization を使用します。以下の情報を識別します。

    • ピア VPC ID – Amazon GameLift 以外のリソース用の VPC の ID。

    • Amazon GameLift AWS アカウント ID – Amazon GameLift フリートを管理するために使用するアカウントの ID。

    VPC ピア接続を承認した後は、取り消されない限り、24 時間有効です。以下の操作を使用して、VPC ピア接続承認を管理できます。

  4. [creating a new fleet using the AWS CLI]( CLIを使用して新しいフリートを作成する)手順に従います。以下の追加のパラメータを含めます。

    • peer-vpc-aws-account-id – Amazon GameLift 以外のリソースで VPC を管理するために使用するアカウントの ID。

    • peer-vpc-id – GameLift 以外のアカウント用の VPC のID。

VPC ピア接続パラメータを設定した create-fleet の呼び出しが成功すると、新しいフリートと新しい VPC ピア接続リクエストの両方が生成されます。フリートのステータスは New に設定され、フリートのアクティブ化プロセスが開始されます。ピア接続リクエストのステータスは initiating-request に設定されます。describe-vpc-peering-connections を呼び出して、ピアリングリクエストの成否を追跡できます。

新しいフリートと VPC ピア接続の両方をリクエストすると、両方のアクションが成功するか失敗します。フリートの作成プロセス中にエラーが発生すると、VPC ピア接続は確立されません。同様に、VPC ピア接続が何らかの理由で失敗した場合も、新しいフリートのステータスは [アクティブ化中] から [アクティブ] に移行しません。

注記

新しい VPC ピア接続は、フリートがアクティブになる準備が整うまで完了しません。これは、その接続が利用可能になっておらず、ゲームサーバービルドのインストールプロセス中に使用できないことを意味します。

以下の例では、新しいフリートと、事前に確立された VPC と新しいフリートの VPC 間のピア接続の両方を作成します。事前設定された VPC は、Amazon GameLift 以外の AWS アカウント ID と VPC ID の組み合わせによって一意に識別されます。

$ AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --ec2-instance-type "c5.large" --fleet-type "ON_DEMAND" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --metric-groups "EMEAfleets" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

コピー可能バージョン:

AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

VPC ピア接続に関する問題のトラブルシューティング

Amazon GameLift ゲームサーバーの VPC ピアリング接続の確立に問題がある場合は、以下の一般的な根本原因を検討してください。

  • リクエストされた接続の認可が見つからなかった。

    • Amazon GameLift 以外の VPC の VPC 承認のステータスをチェックします。存在しないか、有効期限が切れている可能性があります。

    • ピア接続しようとしている 2 つの VPC のリージョンを確認します。それらの VPC が同じリージョンにない場合は、ピア接続できません。

  • 2 つの VPC の CIDR ブロック (「無効な VPC ピアリング接続設定」を参照) が重複している。ピア接続された VPC に割り当てられた IPv4 CIDR ブロックは、重複することはできません。Amazon GameLift フリートの VPC の CIDR ブロックは自動的に割り当てられ、変更できません。そのため、Amazon GameLift 以外のリソース用の VPC の CIDR ブロックを変更する必要があります。この問題を解決するには。

    • DescribeVpcPeeringConnections() を呼び出して、Amazon GameLift フリートのこの CIDR ブロックを検索します。

    • [Amazon VPC コンソール] に移動し、Amazon GameLift 以外のリソース用の VPC を見つけて、それらが重複しないように CIDR ブロックを変更します。

  • 新しいフリートがアクティブにならなかった (新しいフリートとの VPC ピア接続のリクエスト時)。新しいフリートが Active (アクティブ) ステータスに移行しなかった場合、ピア接続する VPC がないため、ピア接続は成功しません。