

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

# フリートリソースへのリモートアクセス
<a name="remote-access-intro"></a>

アクティブなAmazon GameLift Serversマネージド EC2 またはマネージドコンテナフリート内の任意のインスタンスに接続できます。コンテナフリートの場合、インスタンスで実行されている個々のコンテナに接続して、ゲームセッションのトラブルシューティング、ログの検査、ランタイム問題のデバッグを行うこともできます。インスタンスにリモート接続する一般的な理由には、次のようなものがあります。
+ ゲームサーバーの統合に関する問題をトラブルシューティングする。
+ ランタイム設定などフリート固有の設定をファインチューニングする。
+ ログ追跡などのリアルタイムのゲームサーバーアクティビティをモニタリングします。
+ 実際のプレーヤートラフィックを使用してベンチマークツールを実行する。
+ ゲームセッションまたはゲームサーバープロセスに関する特定の問題を調査する。

インスタンスに接続するときは、次の点に注意してください。
+ アクティブなフリートのインスタンスの任意のインスタンスに接続できます。通常、アクティベーション中またはエラー状態にあるフリートなど、非アクティブなフリートには接続できません。(このようなフリートの可用性は短期間制限される場合があります)。フリートのアクティブ化に関する問題のヘルプは、「[Amazon GameLift Servers フリートの問題をデバッグする](fleets-creating-debug.md)」を参照してください。
+ アクティブなインスタンスに接続しても、インスタンスのホスティングアクティビティには影響しません。インスタンスは、ランタイム設定に基づいて引き続きサーバープロセスの起動と停止を行い、ゲームセッションをアクティブ化して実行します。インスタンスは、スケールダウンイベントやその他のイベントに応じてシャットダウンされる可能性があります。
+ インスタンスに加えた変更は、インスタンスのアクティブなゲームセッションおよび接続されたプレイヤーに影響を与える可能性があります。

# フリートインスタンスに接続する
<a name="fleets-remote-access"></a>

任意のアクティブなAmazon GameLift Serversマネージド EC2 またはマネージドコンテナフリートインスタンスにリモート接続して、ゲームサーバーの問題のトラブルシューティング、ログの検査、ランタイム動作のデバッグを行うことができます。Amazon GameLift Servers コンソールまたは CLI AWS を使用して接続します。

## コンソールからのリモートアクセス
<a name="fleets-remote-access-console"></a>

Amazon EC2 Systems Manager (SSM) を使用して、Amazon GameLift Servers コンソールから直接フリートインスタンスに接続できます。このメソッドは、追加のセットアップや認証情報管理を必要とせずに、安全なアクセスを提供します。コンテナフリートの場合、インスタンスに接続した後、そのインスタンスで実行されている個々のコンテナにアクセスできます。詳細については、「[コンテナに接続する](containers-remote-access.md)」を参照してください。

1. Amazon GameLift Servers コンソールで、ナビゲーションペインから **[マネージド EC2]** または **[マネージドコンテナ]** を選択し、次に **[フリート]** を選択します。

1. アクセスするインスタンスを含むフリート ID を選択します。

1. フリートの詳細ページで、**インスタンス**タブを選択して、フリートのすべてのコンピューティングインスタンスを表示します。

1. 接続するインスタンスを選択し、**[接続]** を選択します。これにより、接続の詳細を通知するインスタンスへの接続ダイアログが表示され、インスタンスへの接続に使用されるスクリプトを表示できます。**[接続]** を再度選択して確認します。

1. 接続ダイアログで、**[実行]** を選択して新しい SSM セッションを作成します。システムは AWS Key Management Service (AWS KMS) を介してセッションを認証し、ブラウザでターミナルを開きます。

**注記**  
コンソールベースのリモートアクセスは、サーバー SDK バージョン 5.x を実行しているフリートで使用できます。以前の SDK バージョンを実行しているフリートの場合は、次のセクションで説明する AWS CLI メソッドを使用します。

## CLI AWS によるリモートアクセス
<a name="fleets-remote-access-cli"></a>

次の手順では、 AWS コマンドラインインターフェイス (CLI) を使用してインスタンスにリモート接続する方法を説明します。[のサービス API リファレンスAmazon GameLift Servers](https://docs.aws.amazon.com/gamelift/latest/apireference/)に記載されているように、 AWS SDK を使用してプログラムによる呼び出しを行うこともできます。

### インスタンスデータを収集する
<a name="fleets-remote-access-getinfo"></a>

Amazon GameLift Servers マネージド EC2 フリートインスタンスに接続するには、次の情報が必要です。
+ 接続するインスタンスの ID。インスタンスの ID または ARN のどちらでも使用できます。
+ インスタンスで使用されているサーバー SDK for Amazon GameLift Servers バージョン。サーバー SDK は、インスタンスで実行されているゲームビルドと統合されています。

次の手順では、 CLI AWS を使用してこれらのタスクを完了する方法について説明します。接続するインスタンスのフリート ID を知っておく必要があります。

1. **コンピューティング名を取得します。**フリート内のすべてのアクティブなコンピューティングのリストを取得します。フリート ID または ARN を使用して [list-compute](https://docs.aws.amazon.com/cli/latest/reference/gamelift/list-compute.html) を呼び出します。単一ロケーションフリートの場合は、フリート ID のみを指定します。マルチロケーションフリートの場合は、フリート ID とロケーションを指定します。マネージド EC2 フリートでは、`list-compute` はフリートインスタンスのリストを返します。プロパティ `ComputeName` はインスタンス ID です。アクセスするコンピューティングを検索します。

   **リクエスト**

   ```
   aws gamelift list-compute \
     --fleet-id  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
     --location sa-east-1
   ```

   **レスポンス**

   ```
   {
     "ComputeList": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "i-0abc12d3e45fa6b78",
         "IpAddress": "00.00.000.00",
         "DnsName": "b08444ki909kvqu6zpw3is24x5pyz4b6m05i3jbxvpk9craztu0lqrbbrbnbkks.uwp57060n1k6dnlnw49b78hg1rw4rcz7.us-west-2.amazongamelift.com",
         "ComputeStatus": "Active",
         "Location": "sa-east-1",
         "CreationTime": "2023-07-09T22:51:45.931000-07:00",
         "OperatingSystem": "AMAZON_LINUX_2023",
         "Type": "c4.large"
       }
     ]
   }
   ```

1. **サーバー SDK バージョンを確認します。**この情報を得るには、フリートにデプロイされているビルドを調べる必要があります。サーバー SDK バージョンはビルドのプロパティです。

   1. [describe-fleet-attributes](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-attributes.html) をフリートの ID または ARN で呼び出して、フリートのビルドの ID と ARN を取得します。

   1. ビルドの ID または ARN を使用して [describe-build](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-build.html) を呼び出して、ビルドのサーバー SDK バージョンを取得します。

      例えば、次のようになります。

      **リクエスト**

   ```
   aws gamelift describe-fleet-attributes \
     --fleet-ids  fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   ```

   **レスポンス**

   ```
   {
     "FleetAttributes": [
       {
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeType": "EC2",
         "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22",
         . . .
       }
     ]
   }
   ```

   **リクエスト**

   ```
   aws gamelift describe-build \
     --build-id build-3333cccc-44dd-55ee-66ff-00001111aa22
   ```

   **レスポンス**

   ```
   "Build": {
     "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
     "Name": "My_Game_Server_Build_One",
     "OperatingSystem": "AMAZON_LINUX_2023",
     "ServerSdkVersion": "5.1.1",
     . . .
   }
   ```

## インスタンスに接続する (サーバー SDK 5)
<a name="fleets-remote-access-connect-5"></a>

接続するインスタンスがサーバー SDK バージョン 5.x でゲームビルドを実行している場合は、Amazon EC2 Systems Manager (SSM) を使用してインスタンスに接続します。Windows または Linux を実行しているリモートインスタンスにアクセスできます。コンテナフリートの場合、インスタンスに接続した後、そのインスタンスで実行されている個々のコンテナにアクセスできます。詳細については、「[コンテナに接続する](containers-remote-access.md)」を参照してください。

**開始する前に:**  
SSM のセットアップステップを完了し、ローカルマシンに SSM プラグインをインストールします。詳細については、「Amazon EC2 Systems Manager ユーザーガイド」の[「SSM のセットアップ](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)」および「CLI 用の Session Manager プラグインのインストール」を参照してください。 [AWS](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) *Amazon EC2 Systems Manager *

1. **インスタンスのアクセス認証情報をリクエストします。**接続するインスタンスのフリート ID とコンピューティング名を使用して [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html) を呼び出します。 Amazon GameLift Serversは、インスタンスにアクセスするための一時的な認証情報のセットを返します。例えば、次のようになります。

   **リクエスト**

   ```
   aws gamelift get-compute-access \
   --compute-name i-11111111a222b333c \
   --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
   --region us-west-2
   ```

   **レスポンス**

   ```
   {
     "ComputeName": "i-11111111a222b333c",
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
   }
   ```

1. **アクセス認証情報をエクスポートします (省略可)。**認証情報を環境変数にエクスポートし、それらを使用してデフォルトユーザーの AWS CLI を設定できます。詳細については、 AWS Command Line Interface 「 ユーザーガイド[」の「CLI AWS を設定する環境変数](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)」を参照してください。

   ```
   export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
   export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
   ```

1. **フリートインスタンスに接続します。**接続するインスタンスで SSM セッションを開始します。インスタンスの AWS リージョンまたは場所を含めます。SSM と SSM プラグインの設定方法などの詳細については、*Amazon EC2 Systems Manager ユーザーガイド*」の[「セッションの開始 (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli)」を参照してください。

   start-session リクエストは、ステップ 1 で取得した認証情報を自動的に使用します。

   ```
   aws ssm start-session \
   --target i-11111111a222b333c \
   --region us-west-2 \
   ```
**注記**  
アクセス拒否エラーが発生した場合、 AWS プロファイルに`AWS_PROFILE`環境変数が設定されているため、CLI AWS がリモートアクセスに間違った認証情報を使用する可能性があります。解決するには、`AWS_PROFILE` 環境変数の設定を一時的に解除します。または、リモートアクセス認証情報のカスタム AWS プロファイルを作成し、`start-session`リクエストに`--profile`コマンドラインパラメータを追加することもできます。

## インスタンスに接続する (サーバー SDK 4.x 以前)
<a name="fleets-remote-access-connect"></a>

接続するインスタンスがサーバー SDK バージョン 4 以前のゲームビルドを実行している場合は、次の手順を実行します。Windows または Linux を実行しているリモートインスタンスに接続できます。Windows インスタンスには、リモートデスクトッププロトコル (RDP) クライアントを使用して接続します。Linux インスタンスには、SSH クライアントを使用して接続します。

1. **インスタンスのアクセス認証情報をリクエストします。**インスタンス ID がある場合は、コマンド [get-instance-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-instance-access.html) を使用してアクセス認証情報をリクエストします。成功すると、Amazon GameLift Servers はインスタンスのオペレーティングシステム、IP アドレス、および認証情報のセット (ユーザー名とシークレットキー) を返します。認証情報の形式は、インスタンスのオペレーティングシステムによって決まります。次の手順を使用して、RDP または SSH の認証情報を取得します。
   + **Windowsインスタンスの場合** - Windows インスタンスに接続する場合、RDP ではユーザー名とパスワードを必要とします。`get-instance-access` リクエストはこれらの値を簡単な文字列として返すため、返された値をそのまま使用できます。認証情報の例: 

     ```
     "Credentials": {
         "Secret": "aA1bBB2cCCd3EEE",
         "UserName": "gl-user-remote"
     }
     ```
   + **Linux インスタンスの場合** - Linux インスタンスに接続する場合、SSH はユーザー名とプライベートキーを必要とします。Amazon GameLift Servers は、RSA プライベートキーを発行し、これらを 1 つの文字列として返します。改行文字 (`\n`) は改行を示します。プライベートキーを使用可能にするには、(1) 文字列を `.pem` ファイルに変換し、(2) この新しいファイルへのアクセス許可を設定します。返される認証情報の例: 

     ```
     "Credentials": {
         "Secret": "-----BEGIN RSA PRIVATE KEY-----nEXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/\nvBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW\nZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F\nG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW\noPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu\n/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1\nmb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2\nbahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9\n81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR\noQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1\nYkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x\np9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws\nayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU\nWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC\ngYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH\noMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs\nArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy\nWBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j\njjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa\nNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS\nVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=\n-----END RSA PRIVATE KEY-----",
         "UserName": "gl-user-remote"
     }
     ```

      AWS CLI を使用する場合、*--query* および *--output* パラメータを`get-instance-access`リクエストに含めることで、`.pem`ファイルを自動的に生成できます。

     `.pem` ファイルでアクセス許可を設定するには、次のコマンドを実行します。

     ```
     $ chmod 400 MyPrivateKey.pem
     ```

1. **リモート接続でポートを開きます。**Amazon GameLift Servers フリート内にあるインスタンスは、フリート設定で承認されている任意のポートを通じてアクセスできます。フリートのポート設定は、コマンド [https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-fleet-port-settings.html) を使用して表示できます。

   ベストプラクティスとして、必要な場合にのみ、リモートアクセス用のポートを開き、完了したらそれを閉じるようにお勧めします。フリートの作成後、フリートがアクティブになる前にポート設定を更新することはできません。問題が発生した場合は、ポート設定を開いた状態でフリートを再作成してください。

   コマンド [https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html) を使用してリモート接続 (SSH 用は`22` または RDP 用は`3389`) にポート設定を追加します。IP 範囲値には、接続に使用する予定のデバイスの IP アドレスを指定します (CIDR 形式に変換)。例: 

   ```
   $ AWS gamelift update-fleet-port-settings
       --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=22,ToPort=22,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

   次の例では、Windows フリートでポート 3389 を開きます。

   ```
   $ AWS gamelift update-fleet-port-settings
   --fleet-id  "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
       --inbound-permission-authorizations "FromPort=3389,ToPort=3389,IpRange=54.186.139.221/32,Protocol=TCP"
   ```

1. **リモート接続クライアントを開きます。**Windows インスタンスにはリモートデスクトップ、Linux インスタンスには SSH を使用します。IP アドレス、ポート設定、アクセス認証情報を使用してインスタンスに接続します。

   SSH の例: 

   ```
   ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0
   ```

## リモートインスタンス上のファイルを表示する
<a name="fleets-remote-access-permissions"></a>

フリートインスタンスに接続すると、フルユーザーおよび管理アクセス権が付与されます。つまり、ゲームホスティングに対しても、誤操作などによりエラーや障害を引き起こし得る権限を持っていることを意味します。インスタンスがアクティブなプレイヤーでゲームをホストしている場合、ゲームセッションがクラッシュしてプレイヤーがドロップされたり、保存されたゲームデータとログにエラーが発生する可能性のあるゲームのシャットダウンプロセスが中断されたりするリスクがあります。

コンテナフリートの場合、コンテナにアクセスした後 (「」を参照[コンテナに接続する](containers-remote-access.md))、コンテナファイルシステム内に次のファイルの場所が適用されます。EC2 フリートの場合、これらのファイルの場所はインスタンスに直接適用されます。

ホスティングインスタンスで次のリソースを探します。
+ **ゲーム用のビルドファイル。**これらのファイルは、Amazon GameLift Serversにアップロードしたゲームビルドです。これには、1 つまたは複数のゲームサーバー実行可能ファイル、アセット、依存関係が含まれます。ゲームビルドファイルは、`game` という名前のルートディレクトリにあります。
  + Windows の場合: `c:\game`
  + 歳Linux の場合: `/local/game`
+ **ゲームログファイル。**ゲームサーバーが生成したログファイルを、指定したディレクトリパスの `game` ルートディレクトリで検索します。
+ **Amazon GameLift Servers ホスティングリソース。**`Whitewater`というルートディレクトリには、ゲームホスティングアクティビティを管理するために Amazon GameLift Serversサービスで使用されるファイルがあります。これらのファイルは、いかなる理由があっても変更しないでください。
+ **ランタイム設定。**個別のインスタンスのランタイム設定にはアクセスしないでください。ランタイム設定プロパティを変更するには、フリートのランタイム設定を更新します (「 SDK オペレーション [UpdateRuntimeConfiguration](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateRuntimeConfiguration.html)」または AWS CLI [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)」を参照してください AWS )。
+ **フリートデータ。**JSON ファイルには、インスタンスで実行されているサーバープロセスで使用できるように、インスタンスが属するフリートに関する情報が含まれています。この JSON ファイルは、次の場所にあります。
  + Windows の場合: `C:\GameMetadata\gamelift-metadata.json`
  + 歳Linux の場合: `/local/gamemetadata/gamelift-metadata.json`
+ **TLS 証明書。**インスタンスがあるフリートで TLS 証明書の生成が有効になっている場合、証明書、証明書チェーン、プライベートキー、ルート証明書などの証明書ファイルは次の場所にあります。
  + Windows の場合: `c:\\GameMetadata\Certificates`
  + 歳Linux の場合: `/local/gamemetadata/certificates/`

# コンテナに接続する
<a name="containers-remote-access"></a>

Amazon GameLift Servers コンテナフリートの場合、フリートインスタンスで実行されているゲームサーバーコンテナにアクセスできます。コンテナアクセスを使用して、ゲームセッションのトラブルシューティング、ログの検査、ランタイム問題のデバッグを行います。

## コンテナに接続する
<a name="containers-remote-access-connect"></a>

**開始する前に:**  
フリートインスタンスに接続します。手順については、「[フリートインスタンスに接続する](fleets-remote-access.md)」を参照してください。

次のコマンドを実行して、インスタンスで実行中のコンテナを一覧表示します。

```
sudo docker ps
```

出力には、ゲームサーバーコンテナや内部Amazon GameLift Serversコンテナなど、インスタンスで実行されているすべてのコンテナが一覧表示されます。ゲームサーバーイメージを持つコンテナを探して、ゲームサーバーコンテナを識別します。

**出力の例**:

```
CONTAINER ID   IMAGE                  COMMAND                  CREATED      STATUS
b9676e9489f5   game-server-container  "/bin/sh -c ./$GAME_…"   2 days ago   Up 2 days
1d1c8443efe2   support-container      "/bin/sh -c ./$SUPPO…"   2 days ago   Up 2 days
```

ゲームサーバーコンテナに接続するには、 `CONTAINER ID`列のコンテナショート ID を使用します。これにより、コンテナファイルシステムへの完全な読み取りおよび書き込みアクセスが可能になります。

```
sudo docker exec -it container-short-id sh
```

## コンソール経由でコンテナに接続する
<a name="containers-remote-access-console"></a>

Amazon EC2 Systems Manager (SSM) を使用して、Amazon GameLift Serversコンソールからゲームサーバーコンテナに接続できます。このメソッドは、追加のセットアップや認証情報管理を必要とせずに、安全なアクセスを提供します。コンテナに接続するには、**コンピューティング**タブまたはフリートの詳細ページの**ゲームセッション**タブを使用します。

1. Amazon GameLift Servers コンソールで、ナビゲーションペインから**マネージドコンテナ**を選択し、次に**フリート**を選択します。

1. アクセスするコンテナまたはゲームセッションを含むフリート ID を選択します。

1. フリートの詳細ページで、次のいずれかのタブを選択します。
   + **コンピューティング – **フリートで実行されているコンテナを一覧表示します。接続するコンテナを選択します。
   + **ゲームセッション** – フリートのゲームセッションを一覧表示します。ゲームセッションを選択して、それをホストするコンテナに接続します。

1. **接続** を選択します。表示されたコマンドをコピーしてコンテナに接続し、もう一度**接続**を選択します。

1. 接続ダイアログで、**[実行]** を選択して新しい SSM セッションを作成します。システムは AWS Key Management Service (AWS KMS) を介してセッションを認証し、ブラウザでターミナルを開きます。

1. インスタンスに接続したら、ステップ 4 の docker コマンドを貼り付け、インスタンスで実行してコンテナにアクセスします。

## ゲームセッションをホストするコンテナに接続する
<a name="containers-remote-access-game-session"></a>

特定のゲームセッションをホストするゲームサーバーコンテナに接続するには、次の手順に従います。

1. **コンピューティング名を取得します。**[describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html) を呼び出して、ゲームセッション`ComputeName`の を取得します。

   **リクエスト**

   ```
   aws gamelift describe-game-sessions \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --game-session-id arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc
   ```

   **レスポンス**

   ```
   {
     "GameSessions": [
       {
         "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc",
         "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
         "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
         "Status": "ACTIVE",
         . . .
       }
     ]
   }
   ```

   レスポンス`ComputeName`の値 ( など`62c5ff7f7a9a445d84877074c80aeafc`) を書き留めます。

1. **コンピューティングアクセスとコンテナ属性を取得します。**フリート ID とコンピューティング名を使用して [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html) を呼び出します。

   レスポンスには、次のフィールドが含まれます。
   + `ContainerIdentifiers` – 各コンテナ`ContainerRuntimeId`の `ContainerName`と 。
   + `GameServerContainerGroupDefinitionArn` – コンテナグループ定義の ARN。
   + `Credentials` – インスタンスに接続するための一時的な認証情報。

   **リクエスト**

   ```
   aws gamelift get-compute-access \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --compute-name 62c5ff7f7a9a445d84877074c80aeafc
   ```

   **レスポンス**

   ```
   {
     "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
     "ContainerIdentifiers": [
       {
         "ContainerName": "game-server",
         "ContainerRuntimeId": "02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678"
       }
     ],
     "Credentials": {
       "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
       "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
       "SessionToken": "AQoDYXdzEJr...<remainder of session token>"
     },
     "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
     "GameServerContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup"
   }
   ```

1. **インスタンスに接続します。**ステップ 2 の認証情報を使用して、フリートインスタンスに接続します。詳細な手順については、「[フリートインスタンスに接続する](fleets-remote-access.md)」を参照してください。

1. **ゲームサーバーのコンテナ名を見つけます。**ステップ 2 `GameServerContainerGroupDefinitionArn`の を使用して [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html) を呼び出し、ゲームサーバーコンテナ名を特定します。

   **リクエスト**

   ```
   aws gamelift describe-container-group-definition \
       --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup
   ```

   **レスポンス**

   ```
   {
     "ContainerGroupDefinition": {
       "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3",
       "Name": "MyGameServerGroup",
       "ContainerGroupType": "GAME_SERVER",
       "GameServerContainerDefinition": {
         "ContainerName": "game-server",
         . . .
       },
       . . .
     }
   }
   ```

   `GameServerContainerDefinition.ContainerName` 値を書き留めます (例: `game-server`)。

1. **ゲームサーバーコンテナランタイム ID を特定します。**前のステップのゲームサーバーコンテナ名を使用して、ステップ 2 の`get-compute-access`レスポンス`ContainerIdentifiers`から で一致するエントリを見つけます。[`ContainerRuntimeId`] の値を書き留めます。

1. **コンテナに接続します。**コンテナ ID `ContainerRuntimeId`として を使用し、次のコマンドを実行します。

   ```
   sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh
   ```