Como o Amazon GameLift FleetiQ funciona - 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á.

Como o Amazon GameLift FleetiQ funciona

A solução Amazon GameLift FleetiQ é uma camada de hospedagem de jogos que complementa o conjunto completo de ferramentas de gerenciamento de recursos de computação que você obtém com o Amazon EC2 e o Auto Scaling. Além de oferecer uma série de recursos específicos para hospedagem de jogos, o Amazon GameLift FleetIQ fornece uma camada extra de lógica que possibilita o uso de instâncias spot de baixo custo para hospedagem de jogos. Essa solução permite que você gerencie diretamente seus recursos do Amazon EC2 e do Auto Scaling e integre, conforme necessário, a outros serviços da AWS .

Ao usar o Amazon GameLift FleetIQ, você se prepara para iniciar instâncias do Amazon EC2 como de costume: criar uma Amazon Machine Image (AMI) com seu software de servidor de jogos, criar um modelo de execução do Amazon EC2 e definir as configurações para um grupo de Auto Scaling. No entanto, em vez de criar um grupo de Auto Scaling diretamente, você cria um grupo de servidores de jogos Amazon FleetiQ com seus GameLift recursos e configurações do Amazon EC2 e do Auto Scaling. Essa ação faz com que o Amazon GameLift FleetIQ crie um grupo de servidores de jogos e um grupo de Auto Scaling correspondente. O grupo de servidores de jogos está vinculado e gerencia certos aspectos do grupo do Auto Scaling.

Assim que o grupo do Auto Scaling for criado, você terá acesso total aos recursos do Amazon EC2 e do Auto Scaling. Você pode alterar a configuração de seus grupos de Auto Scaling, adicionar políticas de escalabilidade de vários níveis ou balanceadores de carga e integrar com outros serviços. AWS É possível conectar-se diretamente às instâncias do grupo. Como parte de sua lógica de otimização, o Amazon GameLift FleetIQ também faz atualizações periódicas em determinadas propriedades do grupo Auto Scaling. É possível rastrear o status de disponibilidade de todas as instâncias implantadas pelo grupo do Auto Scaling.

Você pode suspender temporariamente a atividade do Amazon GameLift FleetIQ para um grupo de servidores de jogos a qualquer momento. Também há a opção de excluir um grupo de servidores de jogos, mas reter o grupo do Auto Scaling correspondente.

Lógica do Amazon GameLift FleetIQ

O diagrama a seguir ilustra o papel do Amazon GameLift FleetIQ ao trabalhar com o Amazon EC2 para hospedagem de jogos. Sua meta principal é localizar o melhor servidor de jogos possível para hospedar uma sessão de jogo e fornecer uma experiência de jogo ideal para os jogadores. O Amazon GameLift FleetiQ define os melhores recursos como aqueles que oferecem a maior viabilidade de hospedagem de jogos pelo menor custo. O Amazon GameLift FleetiQ aborda esse objetivo de duas maneiras principais: primeiro, permitindo apenas tipos de instância viáveis no grupo Auto Scaling e, segundo, colocando novas sessões de jogo de forma eficaz nos recursos disponíveis do grupo.

O Amazon GameLift FleetIQ funciona junto com o Amazon EC2

Preencher o grupo do Auto Scaling com tipos de instância ideais

O trabalho do grupo do Auto Scaling é lançar novas instâncias e retirar instâncias antigas, mantendo e dimensionando uma coleção de recursos de hospedagem para atender à demanda dos jogadores. Para fazer isso, o grupo do Auto Scaling se baseia em uma lista dos tipos de instância desejados. O trabalho do Amazon GameLift FleetIQ é verificar continuamente a viabilidade desses tipos de instância desejados e atualizar a lista para o grupo Auto Scaling. Esse processo é chamado de balanceamento de instâncias. Ele garante que as instâncias do grupo do Auto Scaling sejam atualizadas continuamente para que somente os tipos de instância atualmente viáveis sejam usados em todos os momentos.

O Amazon GameLift FleetIQ afeta a forma como o grupo Auto Scaling seleciona os tipos de instância ideais das seguintes formas:

  • Ele determina o uso de instâncias sob demanda e/ou spot. Um grupo de servidores de jogos Amazon GameLift FleetiQ é configurado com uma estratégia de balanceamento, que influencia a forma como o grupo Auto Scaling usa instâncias spot e/ou sob demanda. As instâncias spot têm custos mais baixos devido à disponibilidade flutuante e possíveis interrupções, limitações que o Amazon FleetiQ minimiza na hospedagem de GameLift servidores de jogos. As instâncias sob demanda são mais caras, mas oferecem disponibilidade mais confiável quando você precisa.

  • Isso limita a execução de novas instâncias somente em tipos de instância viáveis. Um grupo de servidores de jogos Amazon GameLift FleetiQ mantém uma lista principal dos tipos de instância desejados. O processo de balanceamento de instâncias avalia continuamente cada tipo de instância desejado na lista quanto à viabilidade da hospedagem de jogos, usando um algoritmo de previsão que analisa a disponibilidade recente e a taxa de interrupção do tipo de instância. Como resultado dessa avaliação, o Amazon GameLift FleetIQ atualiza continuamente a lista dos tipos de instância desejados do grupo Auto Scaling para incluir somente os tipos de instâncias atualmente viáveis.

  • Ele sinaliza instâncias existentes que são tipos de instância não viáveis. O Amazon GameLift FleetIQ identifica instâncias existentes em um grupo de Auto Scaling que atualmente são tipos de instância inviáveis. Essas instâncias são sinalizadas como drenagem, o que significa que elas são encerradas e substituídas por novas instâncias. Para instâncias que tenham a proteção do servidor de jogos ativada, o encerramento é adiado até que todas as sessões de jogo ativas terminem normalmente.

À medida que o grupo do Auto Scaling executa e desativa instâncias, ele mantém uma coleção otimizada para hospedagem de jogos, mesmo enquanto a disponibilidade de tipos de instância spot de baixo custo flutua. A atividade de balanceamento ocorre somente em grupos de servidores de jogos com instâncias ativas. Saiba mais sobre como esse processo funciona em Processo de balanceamento spot.

Posicione sessões de jogo de forma eficaz

O Amazon GameLift FleetIQ rastreia todos os servidores de jogos ativos no grupo de servidores de jogos e usa essas informações para determinar o melhor posicionamento para novas sessões de jogo e jogadores.

Para permitir que o Amazon GameLift FleetiQ rastreie servidores de jogos, seu software de servidor de jogos deve informar seu status. Sua AMI personalizada controla como os novos processos de servidores de jogos são iniciados e interrompidos em cada instância. Quando um novo servidor de jogos é iniciado, ele se registra no Amazon GameLift FleetIQ, indicando que está pronto para hospedar uma sessão de jogo. Após o registro, o servidor de jogos relata periodicamente sua integridade e se está hospedando uma sessão de jogo. Quando o servidor do jogo é desligado, ele cancela o registro no Amazon FleetiQ. GameLift

Para iniciar uma nova sessão de jogo, seu cliente de jogo (ou matchmaker ou outro serviço ao cliente) envia uma solicitação de um servidor de jogo para o Amazon GameLift FleetIQ. O Amazon GameLift FleetiQ localiza um servidor de jogo disponível, o reivindica para a nova sessão de jogo e responde com o ID do servidor do jogo e as informações de conexão. Seu jogo solicita que o servidor de jogos atualize seu status e inicie uma nova sessão de jogo para os jogadores de entrada.

Ao selecionar um servidor de jogo para hospedar uma nova sessão de jogo, o Amazon GameLift FleetIQ usa o seguinte processo de tomada de decisão para otimizar o posicionamento com instâncias spot viáveis de baixo custo:

  1. Sempre que possível, o Amazon GameLift FleetiQ coloca novas sessões de jogo em instâncias que já estão hospedando outras sessões de jogo. Ao empacotar (mas não sobrecarregar) algumas instâncias e manter outras ociosas, o grupo do Auto Scaling pode reduzir a escala verticalmente de forma rápida das instâncias ociosas quando não são necessárias, reduzindo os custos de hospedagem.

  2. O Amazon GameLift FleetIQ ignora instâncias que são sinalizadas como drenantes, ou seja, inviáveis para hospedagem de jogos. Essas instâncias são mantidas em execução apenas para oferecer suporte às sessões de jogo existentes. Elas não podem ser usadas para novas sessões de jogo, a menos que nenhum outro servidor de jogo esteja disponível.

  3. O Amazon GameLift FleetiQ identifica todos os servidores de jogos disponíveis que estão sendo executados em instâncias viáveis.

É possível ativar a proteção de sessão de jogo para um grupo de servidores de jogos para impedir que o grupo do Auto Scaling encerre instâncias com sessões de jogo em execução ativa.

Principais recursos e componentes

Crie os seguintes recursos em sua AWS conta antes de configurar seus recursos de hospedagem de jogos com o Amazon GameLift FleetiQ. Como uma das melhores práticas, desenvolva e teste sua implantação de servidores de jogos com esses recursos antes de usá-los por meio de um grupo de servidores de jogos.

  • Imagem de máquina da Amazon (AMI). Uma AMI é um modelo para uma configuração de software específica que você deseja executar com suas instâncias do Amazon EC2. Para a hospedagem de jogos, a AMI inclui um sistema operacional, binários ou contêiner de servidor de jogos e outro software de tempo de execução requerido pelo servidor de jogos. Para obter mais informações sobre a criação de uma AMI, consulte Amazon Machine Images no Guia do usuário do Amazon EC2. As AMIs são específicas da região. É possível copiar uma AMI de uma região para outra, conforme descrito em Copiar AMIs no Guia do usuário do Amazon EC2.

  • Modelos de lançamento do Amazon EC2. Um modelo de lançamento fornece instruções para executar e gerenciar instâncias em um grupo do Auto Scaling. Ele especifica uma AMI, fornece uma lista de tipos de instância adequados e define a rede, a segurança e outras propriedades. Para obter mais informações sobre como criar um modelo de execução, consulte Executar uma instância com um modelo de execução no Guia do usuário do Amazon EC2. Os modelos de execução são específicos da região.

  • AWS IAM role (Perfil do IAM. Uma função do IAM define um conjunto de permissões que permitem acesso limitado aos AWS recursos. Uma entidade confiável, como outro AWS serviço, pode assumir a função e herdar suas permissões. Ao usar o Amazon GameLift FleetIQ, você deve fornecer uma função do IAM com uma política gerenciada que permita ao Amazon GameLift FleetIQ criar e acessar grupos de Auto Scaling e recursos de instância do EC2 em sua conta. AWS Os perfis do IAM não são específicos da região.

O Amazon GameLift FleetiQ gerencia os seguintes recursos diretamente e tem autoridade direta sobre eles.

  • GameLift grupo de servidores de jogos. Um grupo de servidores de jogos contém configurações que definem como o Amazon GameLift FleetIQ trabalha com um grupo de Auto Scaling correspondente para oferecer hospedagem de jogos de baixo custo. Os grupos de servidores de jogos são específicos da região. Quando você cria um grupo de servidores de jogos em uma região, um novo grupo de Auto Scaling é criado automaticamente em sua AWS conta na mesma região. O grupo de servidores de jogos está vinculado ao grupo do Auto Scaling e tem acesso (ao assumir o perfil do IAM) para gerenciar e modificar algumas de suas configurações. Um grupo de servidores de jogos é um recurso de longa duração; os desenvolvedores precisam criá-los com pouca frequência. Um grupo de servidores de jogos também é um recurso de agrupamento funcional para servidores de jogos hospedados em instâncias do grupo Auto Scaling e registrados no Amazon GameLift FleetiQ.

  • GameLift servidor de jogos. Um recurso de servidor de jogos representa uma execução de jogo que está sendo executada em uma instância associada a um grupo de servidores de jogos do Amazon GameLift FleetiQ. Esse recurso é criado quando um servidor de jogos se registra no Amazon GameLift FleetIQ e identifica o grupo de servidores de jogos ao qual ele pertence. O Amazon GameLift FleetIQ monitora o status de utilização e o status de solicitação de cada servidor de jogos registrado, o que permite monitorar a disponibilidade do servidor de jogos. Os servidores de jogos são específicos da região, pois estão associados a um grupo de servidores de jogos específico da região. Quando o jogo solicita um novo servidor de jogos, ele especifica o grupo e a região do servidor de jogos.

Esses recursos são criados por meio dos recursos do Amazon GameLift FleetIQ. Eles são criados em sua conta da AWS e você tem controle total sobre eles.

  • Grupo do Amazon EC2 Auto Scaling. Um grupo do Auto Scaling executa e gerencia uma coleção de instâncias do EC2 e dimensiona automaticamente a capacidade do grupo. Com o Amazon GameLift FleetIQ, há one-to-one uma relação entre o grupo de servidores de jogos e o grupo Auto Scaling. Embora você possa atualizar todas as configurações de um grupo de Auto Scaling, o Amazon FleetIQ substitui e atualiza periodicamente determinadas configurações como parte de sua lógica para equilibrar as Instâncias Spot e GameLift viabilizar a hospedagem de jogos. Para obter mais informações, consulte o AutoScalingGroupGuia do usuário do Amazon EC2 Auto Scaling. Os grupos do Auto Scaling são específicos da região. Eles são criados na mesma região que o grupo de servidores de jogos.

  • Instância do Amazon EC2. Uma instância é um servidor virtual na nuvem . Os tipos de instância têm configurações de hardware específicas que especificam recursos de computação, memória, disco e rede. Normalmente, elas são lançadas por um grupo do Auto Scaling com uma AMI. As instâncias podem ser spot ou sob demanda, dependendo da disponibilidade. Com o Amazon GameLift FleetIQ, as instâncias executam um ou vários processos de servidor de jogos, cada um dos quais pode hospedar várias sessões de jogo. As instâncias são específicas da região por estarem associadas a um grupo do Auto Scaling específico da região.