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 instâncias de frota
Você pode se conectar remotamente a qualquer instância ativa Amazon GameLift Servers gerenciada do EC2 ou da frota de contêineres gerenciada para solucionar problemas do servidor de jogos, inspecionar registros e depurar o comportamento do tempo de execução. Conecte-se usando o Amazon GameLift Servers console ou a AWS CLI.
Acesso remoto pelo console
É possível se conectar às instâncias de frotas diretamente do console do Amazon GameLift Servers usando o Amazon EC2 Systems Manager (SSM). Esse método fornece acesso seguro sem exigir configuração adicional ou gerenciamento de credenciais. Para frotas de contêineres, depois de se conectar à instância, você pode acessar contêineres individuais em execução nela. Para obter mais informações, consulte Conecte-se a contêineres.
-
No console do Amazon GameLift Servers, escolha EC2 gerenciado ou Contêineres gerenciados no painel de navegação e, em seguida, Frotas.
-
Escolha o ID da frota que contém a instância que deseja acessar.
-
Na página de detalhes da frota, escolha a guia Instâncias para ver todas as instâncias de computação da frota.
-
Selecione a instância com a qual deseja se conectar e escolha Conectar. Isso exibe a caixa de diálogo Conectar à instância, que informa sobre os detalhes da conexão e permite que você visualize o script que será usado para se conectar à sua instância. Confirme escolhendo 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 Serviço de Gerenciamento de AWS Chaves (AWS KMS) e abre um terminal em seu navegador.
nota
Console-based o acesso remoto está disponível para frotas que executam o SDK do servidor versão 5.x. Para frotas que executam versões anteriores do SDK, use o método AWS CLI descrito na seção a seguir.
Acesso remoto com o AWS CLI
As instruções a seguir descrevem como se conectar remotamente a uma instância usando a interface de linha de comandos (CLI) da AWS . Você também pode fazer chamadas programáticas usando o AWS SDK, conforme documentado na referência da API de serviço para. Amazon GameLift Servers
Coletar dados da instância
Para se conectar a uma instância de frota EC2 gerenciada do Amazon GameLift Servers, você precisa das seguintes informações:
-
O ID da instância à qual você deseja se conectar. É possível utilizar o ID ou o ARN da instância.
-
o SDK do servidor para a versão do Amazon GameLift Servers que está sendo usada na instância. O SDK do servidor é integrado à compilação do jogo que está sendo executada na instância.
As instruções a seguir descrevem como concluir essas tarefas usando a AWS CLI. É necessário saber o ID da frota da instância à qual você deseja se conectar.
-
Obtenha o nome da computação. Obtenha uma lista de todas os recursos de computação ativos na frota. Chame list-compute com um ID ou ARN de frota. Para uma frota de localização única, especifique somente o identificador da frota. Para uma frota com vários locais, especifique o identificador da frota e um local. Com frotas EC2 gerenciadas,
list-computeretorna uma lista de instâncias da frota, e a propriedadeComputeNameé o ID da instância. Localize o recurso de computação que deseja acessar.Solicitação
aws gamelift list-compute \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --location sa-east-1Resposta
{ "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" } ] } -
Localize a versão do SDK do servidor. Para obter essas informações, é necessário consultar a compilação que está implantada na frota. A versão do SDK do servidor é uma propriedade de compilação.
-
Chame describe-fleet-attributes com um ID ou ARN de frota para obter o ID e o ARN de compilação da frota.
Chame describe-build com o ID ou ARN de compilação para obter a versão do SDK do servidor de compilação.
Por exemplo:
Solicitação
aws gamelift describe-fleet-attributes \ --fleet-ids fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aaResposta
{ "FleetAttributes": [ { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeType": "EC2", "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22", . . . } ] }Solicitação
aws gamelift describe-build \ --build-id build-3333cccc-44dd-55ee-66ff-00001111aa22Resposta
"Build": { "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff", "Name": "My_Game_Server_Build_One", "OperatingSystem": "AMAZON_LINUX_2023", "ServerSdkVersion": "5.1.1", . . . } -
Conectar-se a uma instância (SDK 5 do servidor)
Se a instância à qual você deseja se conectar estiver executando uma compilação de jogo com o SDK versão 5.x do servidor, conecte-se à instância usando o Amazon EC2 Systems Manager (SSM). Você pode acessar instâncias remotas que estejam executando o Windows ou o Linux. Para frotas de contêineres, depois de se conectar à instância, você pode acessar contêineres individuais em execução nela. Para obter mais informações, consulte Conecte-se a contêineres.
Antes de começar:
Conclua as etapas de configuração do SSM e instale o plug-in do SSM em sua máquina local. Para obter mais informações, consulte Configurar o SSM e instalar o plug-in Session Manager para a AWS CLI no Guia do usuário do Amazon EC2 Systems Manager.
-
Solicite credenciais de acesso para a instância. Chame get-compute-access com o ID da frota e o nome da computação da instância à qual você quer se conectar. O Amazon GameLift Servers retorna um conjunto de credenciais temporárias para acessar a instância. Por exemplo:
Solicitação
aws gamelift get-compute-access \ --compute-name i-11111111a222b333c \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa --region us-west-2Resposta
{ "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" } -
Exporte as credenciais de acesso (opcional). Você pode exportar as credenciais para variáveis de ambiente e usá-las para configurar a AWS CLI para o usuário padrão. Para obter mais detalhes, consulte Variáveis de ambiente para configurar a AWS CLI no Guia do AWS Command Line Interface usuário.
export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token> -
Conecte-se à instância da frota. Inicie uma sessão de SSM com a instância à qual você deseja se conectar. Inclua a AWS região ou o local da instância. Para obter mais informações, incluindo como configurar o SSM e o plug-in SSM, consulte Iniciando uma sessão (AWS CLI) no Guia do usuário do Amazon EC2 Systems Manager.
A solicitação de início de sessão usará automaticamente as credenciais que você adquiriu na Etapa 1.
aws ssm start-session \ --target i-11111111a222b333c \ --region us-west-2 \nota
Se você receber um erro de acesso negado, talvez tenha uma variável de
AWS_PROFILEambiente definida como um AWS perfil, o que faz com que a AWS CLI use as credenciais erradas para acesso remoto. Para resolver, cancele temporariamente a variável de ambienteAWS_PROFILE. Como alternativa, você pode criar um AWS perfil personalizado para suas credenciais de acesso remoto e adicionar o parâmetro da linha de--profilecomando à suastart-sessionsolicitação.
Conectar-se a uma instância (SDK 4.x ou anterior do servidor)
Se a instância à qual você deseja se conectar estiver executando uma compilação de jogo com o SDK versão 4 ou anterior do servidor, use as instruções a seguir. Você pode se conectar a instâncias que estejam executando o Windows ou o Linux. Conecte-se a uma instância do Windows usando um cliente de protocolo de área de trabalho remota (RDP). Conecte-se a uma instância do Linux usando um cliente SSH.
-
Solicite credenciais de acesso para a instância. Quando tiver um ID de instância, use o comando get-instance-access para solicitar credenciais de acesso. Se bem-sucedido, o Amazon GameLift Servers retornará o sistema operacional da instância, o endereço IP e um conjunto de credenciais (nome de usuário e chave secreta). O formato de credenciais depende do sistema operacional da instância. Use as instruções a seguir para recuperar credenciais de RDP ou SSH.
-
Para instâncias do Windows – Para se conectar a uma instância do Windows, o RDP requer um nome de usuário e uma senha. A solicitação
get-instance-accessretorna esses valores como strings simples, de maneira que você possa usar os valores retornados como estão. Exemplo de credenciais:"Credentials": { "Secret": "aA1bBB2cCCd3EEE", "UserName": "gl-user-remote" } -
Para instâncias do Linux – para se conectar a uma instância do Linux, o SSH requer um nome de usuário e uma chave privada. O emite chaves privadas RSA e as retorna como uma única string, com o caractere de nova linha () indicando quebras de linha. Para tornar a chave privada utilizável, siga estas etapas: (1) converter a string em um arquivo
.peme (2) definir permissões para o novo arquivo. Exemplo de credenciais retornadas:"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" }Ao usar a AWS CLI, você pode gerar automaticamente um
.pemarquivo incluindo os parâmetros --query e --output na sua solicitação.get-instance-accessPara definir permissões no arquivo
.pem, execute o comando a seguir:$ chmod 400 MyPrivateKey.pem
-
-
Abra uma porta para a conexão remota. É possível acessar instâncias em frotas do Amazon GameLift Servers por meio de qualquer porta autorizada na configuração da frota. Você pode visualizar as configurações de porta da frota usando o comando
describe-fleet-port-settings.Como melhor prática, recomendamos só abrir portas para acesso remoto quando você precisar delas e fechá-las quando terminar. Não é possível atualizar as configurações da porta depois de criar uma frota e antes que ela esteja ativa. Se ocorrer algum problema, recrie a frota com as portas configuradas como abertas.
Use o comando
update-fleet-port-settingspara adicionar uma configuração de porta para a conexão remota (como22para SSH ou3389para RDP). Para o valor do intervalo de IPs, especifique os endereços IP dos dispositivos que você pretende usar para se conectar (convertidos em formato CIDR). Exemplo:$ 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"O exemplo a seguir abre a porta 3389 em uma frota do Windows
$ 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" -
Abra um cliente de conexão remota. Use Área de Trabalho Remota para Windows ou SSH para instâncias do Linux. Conecte-se à instância usando o endereço IP, a configuração de porta e as credenciais de acesso.
Exemplo de SSH:
ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0
Visualizar arquivos em instâncias remotas
Uma vez conectado a uma instância de frota, você tem acesso administrativo e de usuário total. Isso significa que você também pode causar erros ou falhas na hospedagem de jogos. Se a instância estiver hospedando jogos com jogadores ativos, você pode correr o risco de travar as sessões de jogo e derrubar jogadores ou interromper os processos de encerramento do jogo, o que pode causar erros nos dados e registros salvos do jogo.
Para frotas de contêineres, depois de acessar o contêiner (consulteConecte-se a contêineres), os seguintes locais de arquivo se aplicam ao sistema de arquivos do contêiner. Para frotas do EC2, esses locais de arquivo se aplicam diretamente à instância.
Procure esses recursos em uma instância de hospedagem:
-
Arquivos de compilação do jogo. Estes arquivos constituem a compilação do jogo que você enviou para o Amazon GameLift Servers. Entre eles estão um ou mais executáveis, ativos e dependências do servidor de jogos. Os arquivos de compilação do jogo estão em um diretório raiz chamado
game:-
No Windows:
c:\game -
No Linux:
/local/game
-
-
Arquivos de log do jogo. Os arquivos de log que o servidor de jogo gera ficam no diretório raiz
game, no caminho de diretório designado para logs. -
Recursos de hospedagem do Amazon GameLift Servers. O diretório raiz
Whitewatercontém arquivos usados pelo serviço do Amazon GameLift Servers para gerenciar a atividade de hospedagem de jogos. Não modifique esses arquivos por nenhum motivo. -
Configuração de runtime. Não acesse configurações de tempo de execução para instâncias individuais. Para fazer alterações em uma propriedade de configuração de tempo de execução, atualize a configuração de tempo de execução da frota (consulte a operação do AWS SDK UpdateRuntimeConfiguration ou a configuração AWS CLI https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html update-runtime-).
-
Dados da frota. Um arquivo JSON contém informações sobre a frota à qual a instância pertence, para uso pelos processos do servidor em execução na instância. O arquivo JSON está no seguinte local:
-
No Windows:
C:\GameMetadata\gamelift-metadata.json -
No Linux:
/local/gamemetadata/gamelift-metadata.json
-
-
Certificados TLS. Se a instância estiver em uma frota com geração de certificado TLS habilitada, você encontrará os arquivos de certificado, incluindo o certificado, a cadeia de certificados, a chave privada e o certificado raiz no seguinte local:
-
No Windows:
c:\\GameMetadata\Certificates -
No Linux:
/local/gamemetadata/certificates/
-