Comunique-se com outros AWS recursos de suas frotas - Amazon GameLift

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á.

Comunique-se com outros AWS recursos de suas frotas

Ao criar uma versão de servidor de jogos para implantação em GameLift frotas da Amazon, talvez você queira que os aplicativos em sua versão de jogo se comuniquem de forma direta e segura com outros AWS recursos que você possui. Como GameLift a Amazon gerencia suas frotas de hospedagem de jogos, você deve dar à Amazon acesso GameLift limitado a esses recursos e serviços.

Alguns exemplos de cenários incluem:

  • Use um CloudWatch agente da Amazon para coletar métricas, registros e rastreamentos de EC2 frotas gerenciadas e Anywhere frotas.

  • Envie dados de log da instância para o Amazon CloudWatch Logs.

  • Obtenha arquivos de jogos armazenados em um bucket do Amazon Simple Storage Service (Amazon S3).

  • Ler e gravar dados de jogos (como modos de jogo ou inventário) armazenados em um banco de dados do Amazon DynamoDB ou em outro serviço de armazenamento de dados.

  • Envie sinais diretamente para uma instância usando o Amazon Simple Queue Service (AmazonSQS).

  • Acesse recursos personalizados que são implantados e executados no Amazon Elastic Compute Cloud (AmazonEC2).

A Amazon GameLift oferece suporte a esses métodos para estabelecer o acesso:

Acesse AWS recursos com uma IAM função

Use uma IAM função para especificar quem pode acessar seus recursos e definir limites para esse acesso. Partes confiáveis podem “assumir” uma função e obter credenciais de segurança temporárias que as autorizem a interagir com os recursos. Quando as partes fazem API solicitações relacionadas ao recurso, elas devem incluir as credenciais.

Para configurar o acesso controlado por uma IAM função, execute as seguintes tarefas:

Crie a IAM função

Nesta etapa, você cria uma IAM função, com um conjunto de permissões para controlar o acesso aos seus AWS recursos e uma política de confiança que dá à Amazon GameLift direitos de usar as permissões da função.

Para obter instruções sobre como configurar a IAM função, consulteConfigurar uma função IAM de serviço para a Amazon GameLift. Ao criar a política de permissões, escolha serviços, recursos e ações específicos com os quais seus aplicativos precisam trabalhar. Como melhor prática, limite o escopo das permissões o máximo possível.

Depois de criar a função, anote o nome de recurso da Amazon (ARN) da função. Você precisa da função ARN durante a criação da frota.

Modifique os aplicativos para adquirir credenciais

Nesta etapa, você configura seus aplicativos para adquirir credenciais de segurança para a IAM função e usá-las ao interagir com seus AWS recursos. Consulte a tabela a seguir para determinar como modificar seus aplicativos com base (1) no tipo de aplicativo e (2) na SDK versão do servidor que seu jogo usa para se comunicar com a Amazon GameLift.

Aplicativos de servidor de jogos Outros aplicativos

Usando a SDK versão 5.x do servidor

Chame o SDK método do servidor GetFleetRoleCredentials() a partir do código do servidor do jogo.

Adicione código ao aplicativo para extrair credenciais de um arquivo compartilhado na instância da frota.

Usando a SDK versão 4 do servidor ou anterior

Ligue para AWS Security Token Service (AWS STS) AssumeRole com a funçãoARN.

Ligue para AWS Security Token Service (AWS STS) AssumeRole com a funçãoARN.

Para jogos integrados ao servidor SDK 5.x, esse diagrama ilustra como os aplicativos em sua versão de jogo implantada podem adquirir credenciais para a função. IAM

GetFleetRoleCredentials()Chamada de executáveis do jogo. Outros arquivos usam credenciais compartilhadas armazenadas localmente.

No código do seu servidor de jogos, que já deve estar integrado ao GameLift servidor SDK 5.x da Amazon, chame GetFleetRoleCredentials (C++) (C#) (Unreal) (Go) para recuperar um conjunto de credenciais temporárias. Quando as credenciais expirarem, você poderá atualizá-las com outra chamada para GetFleetRoleCredentials.

Para aplicativos não servidores que são implantados com compilações de servidores de jogos usando o servidor SDK 5.x, adicione código para obter e usar credenciais armazenadas em um arquivo compartilhado. GameLift A Amazon gera um perfil de credenciais para cada instância da frota. As credenciais estão disponíveis para uso por todos os aplicativos na instância. A Amazon GameLift atualiza continuamente as credenciais temporárias.

Você deve configurar uma frota para gerar o arquivo de credenciais compartilhadas na criação da frota.

Em cada aplicativo que precisa usar o arquivo de credenciais compartilhado, especifique a localização do arquivo e o nome do perfil, da seguinte forma:

Windows:

[credentials] shared_credential_profile= "FleetRoleCredentials" shared_credential_file= "C:\\Credentials\\credentials"

Linux

[credentials] shared_credential_profile= "FleetRoleCredentials" shared_credential_file= "/local/credentials/credentials"

Exemplo: configurar um CloudWatch agente para coletar métricas para instâncias de GameLift frota da Amazon

Se você quiser usar um CloudWatch agente da Amazon para coletar métricas, registros e rastreamentos de suas GameLift frotas da Amazon, use esse método para autorizar o agente a emitir os dados para sua conta. Nesse cenário, execute as seguintes etapas:

  1. Recupere ou grave o config.json arquivo do CloudWatch agente.

  2. Atualize o arquivo common-config.toml para que o atendente identifique o nome do arquivo de credenciais e o nome do perfil, conforme descrito acima.

  3. Configure seu script de instalação de compilação do servidor de jogos para instalar e iniciar o CloudWatch agente.

Adicione código aos seus aplicativos para assumir a IAM função e obter credenciais para interagir com seus AWS recursos. Qualquer aplicativo executado em uma instância de GameLift frota da Amazon com o servidor SDK 4 ou anterior pode assumir a IAM função.

No código do aplicativo, antes de acessar um AWS recurso, o aplicativo deve chamar a AssumeRole API operação AWS Security Token Service (AWS STS) e especificar a funçãoARN. Essa operação retorna um conjunto de credenciais temporárias que autoriza o aplicativo a acessar o AWS recurso. Para obter mais informações, consulte Usando credenciais temporárias com AWS recursos no Guia do IAM usuário.

Associe uma frota à IAM função

Depois de criar a IAM função e atualizar os aplicativos na versão do seu servidor de jogos para obter e usar as credenciais de acesso, você pode implantar uma frota. Quando você configura a nova frota, defina os seguintes parâmetros:

  • InstanceRoleArn— Defina esse parâmetro como o ARN da IAM função.

  • InstanceRoleCredentialsProvider— Para solicitar que GameLift a Amazon gere um arquivo de credenciais compartilhado para cada instância da frota, defina SHARED_CREDENTIAL_FILE esse parâmetro como.

Você deve definir esses valores ao criar a frota. Eles não podem ser atualizados mais tarde.

Acesse AWS recursos com VPC emparelhamento

Você pode usar o emparelhamento da Amazon Virtual Private Cloud (AmazonVPC) para se comunicar entre aplicativos executados em uma GameLift instância da Amazon e outro AWS recurso. VPCA é uma rede privada virtual que você define e que inclui um conjunto de recursos gerenciados por meio do seu Conta da AWS. Cada GameLift frota da Amazon tem sua própriaVPC. Com o VPC peering, você pode estabelecer uma conexão de rede direta entre VPC a sua frota e seus outros AWS recursos.

A Amazon GameLift simplifica o processo de configuração de conexões de VPC peering para seus servidores de jogos. Ele lida com solicitações de emparelhamento, atualiza tabelas de rota e configura as conexões, conforme necessário. Para obter instruções sobre como configurar o VPC peering para seus servidores de jogos, consulteEmparelhamento de VPC para o Amazon GameLift.