

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connect ai container
<a name="containers-remote-access"></a>

Per le flotte di Amazon GameLift Servers container, puoi accedere ai container dei server di gioco in esecuzione su un'istanza della flotta. Usa l'accesso ai container per risolvere i problemi delle sessioni di gioco, controllare i log ed eseguire il debug dei problemi di runtime.

## Connect a un container
<a name="containers-remote-access-connect"></a>

**Prima di iniziare:**  
Connect all'istanza fleet. Per istruzioni, consulta [Connect a flotte di istanze](fleets-remote-access.md).

Esegui il comando seguente per elencare i contenitori in esecuzione sull'istanza:

```
sudo docker ps
```

L'output elenca tutti i contenitori in esecuzione sull'istanza, inclusi i contenitori del server di gioco e Amazon GameLift Servers i contenitori interni. Cerca contenitori con l'immagine del tuo server di gioco per identificare i contenitori del server di gioco.

**Output di esempio:**

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

Per connetterti a un contenitore del server di gioco, usa l'ID breve del contenitore nella `CONTAINER ID` colonna. Questo ti dà l'accesso completo in lettura e scrittura al filesystem del contenitore.

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

## Connect a un container tramite la console
<a name="containers-remote-access-console"></a>

Puoi connetterti ai contenitori dei server di gioco dalla Amazon GameLift Servers console utilizzando Amazon EC2 Systems Manager (SSM). Questo metodo fornisce un accesso sicuro senza richiedere configurazioni o gestione delle credenziali aggiuntive. Puoi connetterti a un container dalla scheda **Computer** o dalla scheda **Sessioni di gioco** nella pagina dei dettagli della flotta.

1. Nella Amazon GameLift Servers console, scegli **Contenitori gestiti** dal pannello di navigazione, quindi **Fleets**.

1. Scegli l'ID della flotta che contiene il container o la sessione di gioco a cui desideri accedere.

1. Nella pagina dei dettagli della flotta, scegli una delle seguenti schede:
   + **Calcola**: elenca i container in circolazione nella flotta. Seleziona il contenitore a cui desideri connetterti.
   + **Sessioni di gioco**: elenca le sessioni di gioco per la flotta. Seleziona la sessione di gioco per connetterti al contenitore che la ospita.

1. Scegli **Connetti**. Copia il comando visualizzato per connetterti al contenitore, quindi scegli nuovamente **Connetti**.

1. Nella finestra di dialogo di connessione, scegli **Esegui** per creare una nuova sessione SSM. Il sistema autentica la sessione tramite AWS Key Management Service (AWS KMS) e apre un terminale nel browser.

1. Dopo esserti connesso all'istanza, incolla il comando docker dal passaggio 4 ed eseguilo sull'istanza per accedere al contenitore.

## Connect al container che ospita una sessione di gioco
<a name="containers-remote-access-game-session"></a>

Per connetterti al contenitore del server di gioco che ospita una sessione di gioco specifica, segui questi passaggi.

1. **Ottieni il nome del computer.** Chiama [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)per ricevere il programma `ComputeName` per la sessione di gioco.

   **Richiesta**

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

   **Risposta**

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

   Annota il `ComputeName` valore della risposta (ad esempio,`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Ottieni l'accesso al calcolo e gli attributi del contenitore.** Chiama [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)con l'ID della flotta e il nome del calcolo.

   La risposta include i seguenti campi:
   + `ContainerIdentifiers`— La `ContainerName` e `ContainerRuntimeId` per ogni contenitore.
   + `GameServerContainerGroupDefinitionArn`— L'ARN della definizione del gruppo di contenitori.
   + `Credentials`— Credenziali temporanee per la connessione all'istanza.

   **Richiesta**

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

   **Risposta**

   ```
   {
     "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. **Collegati all'istanza.** Utilizza le credenziali del passaggio 2 per connetterti all'istanza della flotta. Per istruzioni dettagliate, vedi [Connect a flotte di istanze](fleets-remote-access.md).

1. **Trova il nome del contenitore del server di gioco.** Chiama [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)utilizzando il `GameServerContainerGroupDefinitionArn` metodo del passaggio 2 per identificare il nome del contenitore del server di gioco.

   **Richiesta**

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

   **Risposta**

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

   Nota il `GameServerContainerDefinition.ContainerName` valore (ad esempio,`game-server`).

1. **Identifica l'ID di runtime del contenitore del server di gioco.** Utilizzando il nome del contenitore del server di gioco del passaggio precedente, trova la `ContainerIdentifiers` voce corrispondente nella `get-compute-access` risposta del passaggio 2. Annotare il valore `ContainerRuntimeId`.

1. **Connect al container.** Utilizzate il `ContainerRuntimeId` come ID del contenitore ed eseguite il seguente comando:

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