View a markdown version of this page

GAMEOPS02-BP01 Adote uma estratégia de várias contas para isolar diferentes jogos e aplicativos em suas próprias contas - Lente da indústria de jogos

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

GAMEOPS02-BP01 Adote uma estratégia de várias contas para isolar diferentes jogos e aplicativos em suas próprias contas

Crie uma estrutura de contas que orientaria a implantação da infraestrutura de acordo com as necessidades operacionais, de segurança e de isolamento de cada ambiente. O isolamento do ambiente, restringindo o acesso a ele e permitindo que somente os AWS serviços necessários sejam usados nele, é essencial, com os ambientes de produção bloqueados, enquanto os ambientes de desenvolvimento e teste são tolerantes para permitir a experimentação. É altamente recomendável um maior isolamento dos principais subsistemas em cada ambiente e serviços comuns usados por vários ambientes para serem hospedados e gerenciados por conta própria Contas da AWS .

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para implementação

Adote uma estratégia de várias contas AWS isolando os diferentes ambientes (como desenvolvimento, teste, preparação, produção e serviços compartilhados) de forma individual Contas da AWS, o que reduz o escopo dos incidentes. Considere gerenciar centralmente sua Contas da AWS hierarquia AWS Organizations para simplificar ainda mais as operações, bem como definir e aplicar políticas em nível de conta e de unidade organizacional (nível de UO) de forma seletiva. Ao projetar uma OU e uma Conta da AWS estrutura adequadas que estejam alinhadas às suas necessidades de desenvolvimento e fluxo de trabalho de produção, você pode otimizar seus custos e aprimorar a escalabilidade.

  • Adote uma estratégia de várias contas: isole ambientes para reduzir o raio de incidentes e simplificar as operações.

  • Uso AWS Organizations: gerencie contas hierarquicamente, aplique políticas e habilite a governança centralizada.

  • Planeje a escalabilidade: projete estruturas de contas refinadas e implemente medidas de redução de custos para o crescimento futuro.

Etapas de implementação

Um sistema de jogo implantado AWS deve usar várias contas que são organizadas logicamente para fornecer isolamento adequado, o que reduz o raio de ocorrência de problemas e simplifica as operações à medida que a infraestrutura do jogo aumenta. Contas da AWS essa infraestrutura de jogos hospedeiros geralmente é agrupada nos seguintes ambientes lógicos:

  • Os ambientes de desenvolvimento de jogos são usados pelos desenvolvedores para desenvolver o software e os sistemas do jogo.

  • Ambientes de teste ou garantia de qualidade (QA) são usados para realizar testes de integração, controle de qualidade manual e outros testes automatizados que devem ser conduzidos.

  • Ambientes de preparação ou pré-produção são usados para hospedar o software completo para que os testes de carga e fumaça possam ser conduzidos antes do início da produção.

  • Ambientes ao vivo ou de produção são usados para hospedar o software e a infraestrutura ativos e atender ao tráfego de produção dos players.

  • Ambientes de serviços ou ferramentas compartilhados fornecem acesso a sistemas, softwares e ferramentas comuns que são usados por muitas equipes diferentes. Por exemplo, um repositório central de controle de origem auto-hospedado e um farm de criação de jogos podem estar hospedados em uma conta de serviços compartilhados.

  • Ambientes de segurança são usados para consolidar registros centralizados e tecnologias de segurança que são usadas por equipes que se concentram na segurança na nuvem.

Para a infraestrutura de jogos ativada AWS, é recomendável criar contas separadas para cada ambiente de jogo (desenvolvimento, teste, preparação e produção), bem como contas para segurança, registro e serviços compartilhados centrais.

Normalmente, pequenos estúdios de desenvolvimento de jogos que gerenciam um número limitado de recursos de infraestrutura, geralmente algumas centenas de servidores ou menos, podem criar um Conta da AWS para cada um desses ambientes (por exemplo, uma conta de produção, uma conta de desenvolvimento e uma conta de teste). No entanto, à medida que a infraestrutura do jogo ou o tamanho da equipe aumentam com o tempo, esse modelo simplificado pode não ser bem dimensionado.

Ao configurar esses ambientes, considere que muitos AWS serviços compartilham Quotas de Serviço em nível de API e de recursos para uma conta inteira em uma determinada região. Isso deve ser considerado ao determinar como organizar logicamente as contas. Contas da AWS apenas incorrem em custos pelo consumo de serviços implantados neles. Portanto, isso fornece uma maneira de reduzir efetivamente a contenção de recursos e as cotas de serviços, principalmente à medida que seu jogo cresce e mais desenvolvedores precisam de acesso para criar e gerenciar recursos.

Com base em nossa experiência de trabalho com grandes estúdios de desenvolvimento de jogos que normalmente operam milhares de servidores com centenas de desenvolvedores acessando recursos, recomendamos que você crie uma estrutura de contas mais refinada, na qual os aplicativos individuais que dão suporte ao seu jogo tenham suas próprias contas de desenvolvimento, teste, preparação e produção. Como é difícil e demorado redesenhar sua estratégia de AWS várias contas após o lançamento do jogo devido à complexidade do planejamento e da migração de sistemas ativos, considere suas necessidades futuras de escalabilidade ao determinar a estrutura correta de várias contas. 

Você pode usar AWS Organizationspara configurar uma hierarquia Contas da AWS, um agrupamento e definir unidades organizacionais (OUs) para aplicar políticas comuns de nível de UO a elas por meio de políticas de controle de serviço (). SCPs AWS Organizations gerencia e governa centralmente seu ambiente à medida que você cresce e escala seus recursos. Você pode criar novas contas e alocar recursos de forma programática, agrupar contas para organizar seus fluxos de trabalho, aplicar políticas a contas ou grupos para fins de governança e simplificar o faturamento usando um único método de pagamento para suas contas. Além disso, o Organizations é integrado a outros serviços para que você possa definir configurações centrais, mecanismos de segurança, requisitos de auditoria e compartilhamento de recursos entre contas em sua organização.

AWS Control Towerfornece uma maneira simples de configurar e controlar um ambiente seguro com várias contas, chamado de landing zone. A Control Tower cria sua landing zone usando AWS Organizations, trazendo gerenciamento e governança contínuos de contas, bem como as melhores práticas AWS de implementação com base na experiência de trabalhar com milhares de clientes à medida que eles migram para a nuvem. AWS Config, AWS Trusted Advisor, e AWS Security Hub CSPMsão serviços que fornecem uma visão agregada ou centralizada da higiene da sua conta.

Esse isolamento ajuda você a configurar permissões e proteções personalizadas ou individuais para cada ambiente de jogo. As contas de produção devem ter as proteções, as restrições de acesso, o monitoramento, os alertas e as ferramentas de segurança necessárias, enquanto as contas que não são de produção podem não exigir o mesmo nível de proteções e permissões. Ambientes de não produção podem ser automatizados para desligar recursos após o expediente e economizar custos. A separação de contas nesse nível de granularidade facilita o monitoramento dos custos de infraestrutura de cada um dos ambientes que suportam um jogo.

Veja a seguir um exemplo de uma estrutura de várias contas para uma empresa de jogos que usa AWS Organizations unidades organizacionais (OUs) para agrupar logicamente Contas da AWS em ambientes e estúdios separados. Neste exemplo, OUs são usados para agrupar contas com base em seu ambiente e, em seguida, com base no estúdio que opera o ambiente. Isso demonstra como você pode criar uma hierarquia aninhada para permitir que aplicativos e jogos separados sejam implantados em suas próprias contas dentro do ambiente (representado como OUs), o que pode ser útil se você desenvolver e operar vários jogos. Consulte a documentação e os whitepapers fornecidos na seção de recursos deste pilar para saber mais sobre estratégias adicionais que você pode considerar para organizar sua estratégia de várias contas.

Com base na discussão acima, o diagrama de exemplo abaixo pressupõe um estúdio de jogos (organização) que tenha um pipeline de desenvolvimento composto por 4 estágios (desenvolvimento, teste, preparação e produção). Para um determinado jogo (jogo1), cada um dos ambientes (OU) tem serviços individuais Contas da AWS para jogos, servidores de jogos dedicados, serviços sociais e servidores web. Os recursos executados em cada um Conta da AWS são relevantes para os respectivos subsistemas. Normalmente, cada jogo individual que usa esse tipo de pipeline de desenvolvimento replicaria essa ou uma estrutura similar. Contas da AWS

Além desses ambientes centrados em jogos OUs, há também a OU de serviços compartilhados e a OU de segurança. Eles OUs devem ser para toda a organização, não para cada jogo individual. Dessa forma, os jogos consumiriam os serviços compartilhados de ferramentas de desenvolvimento, dados e análises, como neste exemplo. Em seguida, envie os registros do aplicativo e do sistema para a Conta da AWS configuração de registros na OU de segurança. 

Exemplo de estrutura de conta para ambientes de jogos

Exemplo de estrutura de conta para ambientes de jogos