

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Conecte-se a contêineres
<a name="containers-remote-access"></a>

Para frotas de Amazon GameLift Servers contêineres, você pode acessar contêineres de servidores de jogos em execução em uma instância de frota. Use o acesso ao contêiner para solucionar problemas de sessões de jogos, inspecionar registros e depurar problemas de tempo de execução.

## Conecte-se a um contêiner
<a name="containers-remote-access-connect"></a>

**Antes de começar:**  
Conecte-se à instância da frota. Para instruções, consulte [Conecte-se às instâncias da frota](fleets-remote-access.md).

Execute o comando a seguir para listar os contêineres em execução na instância:

```
sudo docker ps
```

A saída lista todos os contêineres em execução na instância, incluindo contêineres de servidores de jogos e Amazon GameLift Servers contêineres internos. Procure contêineres com a imagem do seu servidor de jogos para identificar os contêineres do servidor de jogos.

**Exemplos de resultado:**

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

Para se conectar a um contêiner de servidor de jogos, use o ID curto do contêiner da `CONTAINER ID` coluna. Isso fornece acesso total de leitura e gravação ao sistema de arquivos do contêiner.

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

## Conecte-se a um contêiner por meio do console
<a name="containers-remote-access-console"></a>

Você pode se conectar aos contêineres do servidor de jogos a partir do Amazon GameLift Servers console usando o Amazon EC2 Systems Manager (SSM). Esse método fornece acesso seguro sem exigir configuração adicional ou gerenciamento de credenciais. Você pode se conectar a um contêiner na guia **Computações** ou na guia **Sessões de jogos** na página de detalhes da frota.

1. No Amazon GameLift Servers console, escolha **Contêineres gerenciados** no painel de navegação e, em seguida, **Frotas**.

1. Escolha o ID da frota que contém o contêiner ou a sessão de jogo que você deseja acessar.

1. Na página de detalhes da frota, escolha uma das seguintes guias:
   + **Computações** — Lista os contêineres em execução na frota. Selecione o contêiner ao qual você deseja se conectar.
   + **Sessões** de jogo — Lista as sessões de jogo da frota. Selecione a sessão do jogo para se conectar ao contêiner que a hospeda.

1. Selecione **Conectar**. Copie o comando exibido para conectar-se ao contêiner e escolha **Conectar** novamente.

1. Na caixa de diálogo de conexão, escolha **Executar** para criar uma nova sessão SSM. O sistema autentica sua sessão por meio do AWS Key Management Service (AWS KMS) e abre um terminal no seu navegador.

1. Depois de se conectar à instância, cole o comando docker da etapa 4 e execute-o na instância para acessar o contêiner.

## Conecte-se ao contêiner que hospeda uma sessão de jogo
<a name="containers-remote-access-game-session"></a>

Para se conectar ao contêiner do servidor de jogos que hospeda uma sessão de jogo específica, siga estas etapas.

1. **Obtenha o nome da computação.** Ligue [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)para obter o `ComputeName` para a sessão do jogo.

   **Solicitação**

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

   **Resposta**

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

   Observe o `ComputeName` valor da resposta (por exemplo,`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Obtenha acesso à computação e atributos de contêiner.** Ligue [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)com o ID da frota e o nome do computador.

   A resposta inclui os seguintes campos:
   + `ContainerIdentifiers`— A `ContainerName` areia `ContainerRuntimeId` para cada contêiner.
   + `GameServerContainerGroupDefinitionArn`— O ARN da definição do grupo de contêineres.
   + `Credentials`— Credenciais temporárias para se conectar à instância.

   **Solicitação**

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

   **Resposta**

   ```
   {
     "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. **Conecte-se à instância.** Use as credenciais da etapa 2 para se conectar à instância da frota. Para obter instruções detalhadas, consulte [Conecte-se às instâncias da frota](fleets-remote-access.md).

1. **Encontre o nome do contêiner do servidor do jogo.** Ligue [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)usando a `GameServerContainerGroupDefinitionArn` etapa 2 para identificar o nome do contêiner do servidor de jogos.

   **Solicitação**

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

   **Resposta**

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

   Observe o `GameServerContainerDefinition.ContainerName` valor (por exemplo,`game-server`).

1. **Identifique o ID de tempo de execução do contêiner do servidor de jogos.** Usando o nome do contêiner do servidor de jogo da etapa anterior, encontre a entrada correspondente na `get-compute-access` resposta `ContainerIdentifiers` da etapa 2. Observe o valor `ContainerRuntimeId`.

1. **Conecte-se ao contêiner.** Use o `ContainerRuntimeId` como ID do contêiner e execute o seguinte comando:

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