Melhores práticas do Amazon GameLift FleetIQ - 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á.

Melhores práticas do Amazon GameLift FleetIQ

O Amazon GameLift FleetIQ é uma camada lógica de baixo nível que ajuda você a gerenciar recursos do Amazon EC2 para hospedagem de jogos. Em particular, o Amazon GameLift FleetIQ otimiza o uso de instâncias spot que são viáveis para hospedagem de jogos, minimizando a chance de que as sessões de jogo sejam interrompidas. Ele também fornece funcionalidade básica de hospedagem de jogo para rastrear servidores de jogos disponíveis e rotear a jogabilidade para servidores de jogos de baixo custo e alta viabilidade.

O Amazon GameLift FleetIQ como um atributo independente não fornece atributos avançados que são oferecidos com a solução Amazon GameLift totalmente gerenciada, que também usa o FleetIQ para minimizar os custos de hospedagem. Se você precisar de atributos como marcação de jogos, roteamento de jogadores baseado em latência, gerenciamento de sessões de jogos e sessões de jogadores e versionamento, dê uma olhada nas soluções Amazon GameLift.

Veja algumas das melhores práticas que podem ajudar você a obter o máximo benefício do Amazon GameLift FleetIQ.

  • Use o Amazon GameLift FleetIQ para jogos baseados em sessões. O Amazon GameLift FleetIQ funciona melhor quando está constantemente direcionando jogadores para instâncias menos propensas a interrupções de sessão de jogo. Manter sessões com longa duração interfere com o processo de balanceamento do Amazon GameLift FleetIQ, o que aumenta a probabilidade de as sessões de jogos serem interrompidas. O fluxo de trabalho ideal é que os jogadores passem da marcação de jogos (ou seleção de servidores) para a jogabilidade. Quando o jogo termina, os jogadores voltam para a marcação de jogos e são encaminhados para outro servidor de jogos em uma nova instância. Recomendamos usar o Amazon GameLift FleetIQ para jogos com sessões com menos de duas horas.

  • Forneça muitos tipos de instância para escolha. Ao configurar um grupo de servidores de jogos, você fornece uma lista de tipos de instância a serem usados. Quanto mais tipos de instância você incluir, maior será a flexibilidade do Amazon GameLift FleetIQ para usar instâncias spot com alta viabilidade para hospedagem de jogo. Por exemplo, é possível listar vários tamanhos dentro da mesma família de instâncias (c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge). Com instâncias maiores, é possível executar mais servidores de jogos em cada instância, reduzindo os custos potencialmente. Com instâncias menores, a escalabilidade automática pode reagir mais rapidamente às mudanças na demanda dos jogadores. Lembre-se de que a lista dos tipos de instância desejados não é priorizada. Um grupo do Auto Scaling usará um equilíbrio de tipos de instância viáveis para manter a resiliência do grupo.

  • Teste seu jogo em todos os tipos de instâncias. Certifique-se de que o servidor de jogos seja executado corretamente em todos os tipos de instâncias configurados para o grupo de servidores de jogos.

  • Use a ponderação da capacidade da instância. Se você configurar seu grupo de servidores de jogos para usar um intervalo de tamanhos de instância (como c5.2xlarge, c5.4xlarge, c5.12xlarge), inclua informações de ponderação de capacidade para cada tipo de instância. Para obter mais informações, consulte Ponderação de instância do Auto Scaling do Amazon EC2 no Guia do usuário de Auto Scaling do Amazon EC2.

  • Posicione suas sessões de jogo usando o Amazon GameLift FleetIQ. Ao posicionar grupos de jogadores em servidores de jogos, use o ClaimGameServer() da API do Amazon GameLift. O Amazon GameLift FleetIQ evita colocar jogadores em instâncias com maior chance de interrupções na sessão de jogo.

  • Relate o status do servidor de jogos para o Amazon GameLift FleetIQ. Relate periodicamente a integridade do servidor e o status de utilização com o UpdateGameServer() da API do Amazon GameLift. Manter o status preciso do servidor de jogos ajuda o Amazon GameLift FleetIQ a posicionar a jogabilidade de forma mais eficiente. Isso também ajuda a evitar o encerramento de instâncias com jogabilidade ativa durante a atividade de balanceamento spot.

  • Configure uma política de escalabilidade automática. Você pode criar uma política de escalabilidade de rastreamento de destino que mantenha sua capacidade de hospedagem com base na utilização dos jogadores e na demanda antecipada. A PercentUtilizedGameServers da métrica do Amazon GameLift FleetIQ é uma medida de quanto da capacidade de hospedagem está em uso no momento. A maioria dos jogos quer manter um buffer de servidores de jogos não utilizados para que novos jogadores possam entrar em um jogo rapidamente. Você pode criar uma política de escalabilidade que mantenha um determinado tamanho de buffer, adicionando ou removendo instâncias conforme a demanda de jogadores flutua. Para obter mais informações, consulte Políticas de escalabilidade de rastreamento de destino no Guia do usuário do Amazon EC2 Auto Scaling.

  • Use diferentes contas da AWS para ambientes de desenvolvimento e produção. Separar as configurações de desenvolvimento e produção entre contas pode reduzir o risco de configuração incorreta afetando os jogadores ativos.

  • Ative a proteção de sessão de jogo para grupos de servidores de jogos em produção. Para proteger seus jogadores, ative a proteção da sessão de jogo e evite que sessões ativas de jogo sejam encerradas antecipadamente devido a atividades de escalabilidade ou balanceamento.

  • Teste seu jogo no EC2 antes de integrá-lo com o Amazon GameLift FleetIQ. Recomendamos executar seu jogo no EC2 e ajustar sua configuração primeiro. É possível criar um grupo de servidores de jogos usando o mesmo modelo de execução e AMI.

    Se você estiver usando o Kubernetes, recomendamos primeiro que as instâncias do EC2 padrão sejam adicionadas ao cluster do Kubernetes e crie um grupo de servidores de jogos usando o modelo de execução criado para nós de operador no cluster do Kubernetes. Se você estiver usando o EKS, crie seu cluster do EKS e o grupo de servidores de jogos separadamente. Para o grupo de servidores de jogos, use a AMI otimizada para o EKS com os dados de usuário apropriados e a configuração de modelo de execução usada para a integração com o EKS. Veja mais detalhes sobre nós de operador do EKS e a AMI otimizada do EKS no guia AMI Linux otimizado para o Amazon EKS.

  • Use a estratégia de balanceamento de grupos de servidores de jogos ON_DEMAND_ONLY para obter disponibilidade confiável do servidor de jogos. Com essa estratégia de balanceamento em vigor, nenhuma instância spot é usada. Essa é uma ferramenta útil para garantir a disponibilidade do servidor quando você mais precisa, como durante lançamentos de atributos ou outros eventos especiais. É possível alternar um grupo de servidores de jogos de uma estratégia spot para uma estratégia sob demanda, conforme necessário.

Analise também estas melhores práticas da AWS: