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
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
Antes de começar:
Conecte-se à instância da frota. Para instruções, consulte Conecte-se às instâncias da frota.
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 -itcontainer-short-idsh
Conecte-se a um contêiner por meio do console
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.
-
No Amazon GameLift Servers console, escolha Contêineres gerenciados no painel de navegação e, em seguida, Frotas.
-
Escolha o ID da frota que contém o contêiner ou a sessão de jogo que você deseja acessar.
-
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.
-
Selecione Conectar. Copie o comando exibido para conectar-se ao contêiner e escolha Conectar novamente.
-
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.
-
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
Para se conectar ao contêiner do servidor de jogos que hospeda uma sessão de jogo específica, siga estas etapas.
-
Obtenha o nome da computação. Ligue describe-game-sessionspara obter o
ComputeNamepara 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-5555bbbb66ccResposta
{ "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
ComputeNamevalor da resposta (por exemplo,62c5ff7f7a9a445d84877074c80aeafc). -
Obtenha acesso à computação e atributos de contêiner. Ligue get-compute-accesscom o ID da frota e o nome do computador.
A resposta inclui os seguintes campos:
ContainerIdentifiers— AContainerNameareiaContainerRuntimeIdpara 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 62c5ff7f7a9a445d84877074c80aeafcResposta
{ "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" } -
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.
-
Encontre o nome do contêiner do servidor do jogo. Ligue describe-container-group-definitionusando a
GameServerContainerGroupDefinitionArnetapa 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/MyGameServerGroupResposta
{ "ContainerGroupDefinition": { "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3", "Name": "MyGameServerGroup", "ContainerGroupType": "GAME_SERVER", "GameServerContainerDefinition": { "ContainerName": "game-server", . . . }, . . . } }Observe o
GameServerContainerDefinition.ContainerNamevalor (por exemplo,game-server). -
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-accessrespostaContainerIdentifiersda etapa 2. Observe o valorContainerRuntimeId. -
Conecte-se ao contêiner. Use o
ContainerRuntimeIdcomo ID do contêiner e execute o seguinte comando:sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh