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á.
GAMEREL01-BP01 Distribua a infraestrutura de jogos em várias zonas de disponibilidade e regiões para melhorar a resiliência
Para minimizar o impacto das deficiências de infraestrutura localizada em seus jogadores, você deve distribuir sua implantação de infraestrutura de maneira uniforme em locais independentes suficientes para poder suportar deficiências inesperadas e, ao mesmo tempo, ter capacidade suficiente para atender às necessidades da demanda de seus jogadores.
Nível de risco exposto se esta prática recomendada não for estabelecida: Alto
Orientação para implementação
Ao implantar sua infraestrutura de jogo, é recomendável distribuir uniformemente sua capacidade em várias zonas de disponibilidade em uma região para que você possa suportar interrupções em uma ou mais zonas de disponibilidade sem interromper a experiência do jogador. Os serviços de back-end de jogos, como aplicativos da web, devem ter balanceamento de carga em várias zonas de disponibilidade ou devem ser criados usando um serviço gerenciado, como AWS Lambda o Amazon API Gateway, que fornece alta disponibilidade regional por design. Da mesma forma, componentes que mantêm o estado, como caches, bancos de dados, filas de mensagens e soluções de armazenamento, devem ser projetados para fornecer persistência durável de dados em várias zonas de disponibilidade, o que é fornecido por design em serviços como Amazon S3, DynamoDB e Amazon SQS, e pode ser configurado em outros serviços.
Ao projetar sua arquitetura de hospedagem de servidor de jogos para resiliência, implante suas frotas de servidores de jogos uniformemente nas zonas de disponibilidade de uma Região da AWS para maximizar seu acesso à capacidade computacional disponível na região, bem como reduzir o escopo de impacto das deficiências da zona de disponibilidade. Por exemplo, você pode configurar o Amazon EC2 Auto Scaling para usar as zonas de disponibilidade. Se uma instância do EC2 se tornar iníntegra, o EC2 Auto Scaling poderá substituir a instância, bem como iniciar instâncias em outras zonas de disponibilidade se uma ou mais zonas de disponibilidade ficarem indisponíveis.
Para infraestruturas críticas, como autenticação, provisione um número mínimo de instâncias viáveis em execução em várias zonas de disponibilidade e use o escalonamento automático para lidar com aumentos de carga ou tolerância a falhas se houver uma deficiência em uma das zonas de disponibilidade.
Implante sua infraestrutura de jogos em várias regiões para maximizar a disponibilidade. Cross-Regional recursos de recuperação de desastres, como bancos de dados globais Aurora e infraestrutura redundante, que podem se tornar ativos com uma simples alteração de DNS implantada em uma região secundária, podem fornecer continuidade de serviços caso a região primária seja prejudicada. Embora incentivemos isso para que seus serviços de back-end de jogos alcancem alta disponibilidade, essa recomendação é especialmente importante para seus servidores de jogos.
Por exemplo, em um jogo multijogador, sua capacidade de infraestrutura para servidores de jogos provavelmente superará as necessidades de capacidade de seus outros serviços, já que os servidores de jogos são usados para hospedar sessões de jogo para jogadores. Muitos jogos optam por dividir os jogadores em regiões lógicas de jogo (como oeste e leste dos EUA). Para simplificar a experiência do jogador e facilitar o uso da infraestrutura global para hospedar jogos, considere separar o nome das regiões de jogo voltadas para o jogador da região do provedor de nuvem subjacente ou do local do data center que hospeda fisicamente os servidores do jogo, junto com outras infraestruturas, como zonas locais ou seus próprios data centers que hospedam instâncias de servidores de jogos que oferecem suporte à região de jogo desse jogador.
Ao projetar seu serviço de matchmaking, implante uma arquitetura multirregional com implantações de software separadas em todas as regiões. Separe a implantação do serviço de matchmaking das frotas que hospedam as instâncias do servidor do jogo para que você possa direcionar os jogadores para um servidor de jogo nas regiões, independentemente de qual implantação regional do seu serviço de matchmaking atendeu à solicitação de matchmaking.
Crie uma lógica em sua implementação de matchmaking para favorecer as regiões do servidor de jogo que atendam à sua latência e outras regras, com a capacidade de voltar a encaminhar jogadores para outras regiões se suas frotas estiverem com pouca capacidade ou houver outras interrupções na infraestrutura regional.
Etapas de implementação
-
Distribua a infraestrutura de jogos de maneira uniforme em várias zonas de disponibilidade para fornecer alta disponibilidade e resiliência.
-
Implante serviços de back-end de jogos e componentes de estado usando o Amazon S3 AWS Lambda, o DynamoDB e o SQS gerenciados, ou configure o balanceamento de carga e a durabilidade para soluções personalizadas.
-
Implemente implantações em várias regiões para serviços e servidores essenciais de jogos, usando soluções de recuperação de desastres, como bancos de dados globais do Aurora e regiões lógicas voltadas para o jogador, dissociadas das localizações físicas subjacentes.