

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Connect ke kontainer
<a name="containers-remote-access"></a>

Untuk armada Amazon GameLift Servers kontainer, Anda dapat mengakses kontainer server game yang berjalan pada instance armada. Gunakan akses kontainer untuk memecahkan masalah sesi game, memeriksa log, dan men-debug masalah runtime.

## Connect ke wadah
<a name="containers-remote-access-connect"></a>

**Sebelum Anda mulai:**  
Connect ke instance armada. Untuk petunjuk, lihat [Connect ke instance armada](fleets-remote-access.md).

Jalankan perintah berikut untuk membuat daftar kontainer yang sedang berjalan pada instance:

```
sudo docker ps
```

Output mencantumkan semua kontainer yang berjalan pada instance, termasuk kontainer server game dan Amazon GameLift Servers kontainer internal. Cari wadah dengan gambar server game Anda untuk mengidentifikasi wadah server game.

**Contoh keluaran:**

```
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
```

Untuk terhubung ke wadah server game, gunakan ID pendek kontainer dari `CONTAINER ID` kolom. Ini memberi Anda akses baca dan tulis penuh ke sistem file kontainer.

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

## Connect ke wadah melalui konsol
<a name="containers-remote-access-console"></a>

Anda dapat terhubung ke kontainer server game dari Amazon GameLift Servers konsol menggunakan Amazon EC2 Systems Manager (SSM). Metode ini menyediakan akses aman tanpa memerlukan pengaturan tambahan atau manajemen kredensi. Anda dapat terhubung ke kontainer dari tab **Komputasi** atau tab **Sesi permainan** di halaman detail armada.

1. Di Amazon GameLift Servers konsol, pilih **Kontainer terkelola** dari panel navigasi, lalu **Armada.**

1. Pilih ID armada yang berisi wadah atau sesi permainan yang ingin Anda akses.

1. Pada halaman detail armada, pilih salah satu tab berikut:
   + **Komputasi** — Daftar kontainer yang berjalan di armada. Pilih wadah yang ingin Anda sambungkan.
   + **Sesi permainan** — Daftar sesi permainan untuk armada. Pilih sesi permainan untuk terhubung ke wadah hosting itu.

1. Pilih **Hubungkan**. Salin perintah yang ditampilkan untuk terhubung ke wadah, lalu pilih **Connect** lagi.

1. Dalam dialog koneksi, pilih **Jalankan** untuk membuat sesi SSM baru. Sistem mengotentikasi sesi Anda melalui AWS Key Management Service (AWS KMS) dan membuka terminal di browser Anda.

1. Setelah Anda terhubung ke instance, tempel perintah docker dari langkah 4 dan jalankan pada instance untuk mengakses wadah.

## Connect ke kontainer hosting sesi permainan
<a name="containers-remote-access-game-session"></a>

Untuk terhubung ke wadah server game yang menghosting sesi game tertentu, ikuti langkah-langkah ini.

1. **Dapatkan nama komputasi.** Hubungi [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)untuk mendapatkan sesi permainan. `ComputeName`

   **Permintaan**

   ```
   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
   ```

   **Respons**

   ```
   {
     "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",
         . . .
       }
     ]
   }
   ```

   Perhatikan `ComputeName` nilai dari respons (misalnya,`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Dapatkan akses komputasi dan atribut kontainer.** Panggil [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)dengan ID armada dan hitung nama.

   Tanggapan tersebut mencakup bidang-bidang berikut:
   + `ContainerIdentifiers`— The `ContainerName` dan `ContainerRuntimeId` untuk setiap wadah.
   + `GameServerContainerGroupDefinitionArn`— ARN dari definisi grup kontainer.
   + `Credentials`- Kredensi sementara untuk terhubung ke instance.

   **Permintaan**

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

   **Respons**

   ```
   {
     "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. **Hubungkan ke instans.** Gunakan kredensil dari langkah 2 untuk terhubung ke instance armada. Untuk petunjuk mendetail, lihat [Connect ke instance armada](fleets-remote-access.md).

1. **Temukan nama wadah server game.** Panggil [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)menggunakan `GameServerContainerGroupDefinitionArn` dari langkah 2 untuk mengidentifikasi nama kontainer server game.

   **Permintaan**

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

   **Respons**

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

   Perhatikan `GameServerContainerDefinition.ContainerName` nilainya (misalnya,`game-server`).

1. **Identifikasi ID runtime kontainer server game.** Menggunakan nama kontainer server game dari langkah sebelumnya, temukan entri yang cocok di `ContainerIdentifiers` dari `get-compute-access` respons di langkah 2. Perhatikan `ContainerRuntimeId` nilainya.

1. **Connect ke wadah.** Gunakan `ContainerRuntimeId` sebagai ID kontainer dan jalankan perintah berikut:

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