Construir uma fila para instâncias Spot - Amazon GameLift Servers

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

Construir uma fila para instâncias Spot

Você pode obter economias potencialmente significativas nos custos de hospedagem usando frotas Spot. Para obter mais detalhes sobre as frotas spot e como usá-las, consulte Instâncias sob demanda versus instâncias spot.

Se sua solução de hospedagem de jogos incluir frotas Spot, você deverá usar uma fila de colocação de sessão de jogo. O Amazon GameLift Servers usa filas para pesquisar em vários recursos de hospedagem de jogos e selecionar o melhor disponível para hospedar uma nova sessão de jogo. Com as frotas Spot, as filas são particularmente importantes para minimizar os custos de hospedagem e evitar possíveis interrupções no Spot. Este tópico ajuda você a configurar uma fila resiliente que pode continuar hospedando jogos para jogadores mesmo em caso de interrupções, lentidão e interrupções. Você pode personalizar como a fila prioriza os recursos de hospedagem disponíveis com base em vários fatores, incluindo o custo da hospedagem.

Você está usando FlexMatch para criação de partidas? É possível utilizar uma fila frotas Spot para fazer colocações de criação de partidas para suas partidas.

Tarefas de implementação para frotas Spot

Ao criar ou atualizar sua solução de hospedagem de jogos para usar frotas Spot, conclua as tarefas a seguir. Para obter orientações mais sobre como criar uma fila que otimize a disponibilidade e a resiliência do Spot, consulte Reduza os custos de hospedagem de jogos com frotas Spot .

  1. Escolha e crie um conjunto de destinos de frota para a fila de sessões de jogo.

    Comece decidindo onde você quer que sua fila coloque as sessões de jogo. Uma fila pode pesquisar em várias frotas para encontrar a melhor colocação possível. Cada frota pode tem um tipo instância, mas pode ter várias localizações geográficas. Filas com frotas que oferecem variedade tanto na localização quanto no tipo de instância têm maior probabilidade de obter colocações bem-sucedidas. Veja essas melhores práticas para criar uma fila eficiente e resiliente otimizada para Spot.

  2. Crie sua fila de sessões de jogo otimizada para Spot.

    Crie uma fila e configure-a para suas frotas Spot. Consulte Criar uma fila de sessões de jogo para receber ajuda sobre como criar e configurar a nova fila. Você pode usar o Amazon GameLift Servers console ou a AWS CLI para criar ou editar uma fila.

    • Adicione os destinos da frota a partir da Etapa 1.

    • Priorize o pedido de destino conforme apropriado. Por padrão, o Amazon GameLift Servers prioriza por custo antes do destino, portanto, a ordem de destino é usada somente quando os menores custos entre os destinos são iguais.

    • Se você quiser priorizar o custo de hospedagem do jogo antes da latência do jogador, forneça uma prioridade de colocação personalizada. Consulte Priorize o posicionamento de sessões de jogo.

  3. Atualize outros componentes em sua solução para usar a nova fila.

    Quando sua solução usa uma fila otimizada para Spot para iniciar novas sessões de jogo, a fila evita automaticamente colocar sessões de jogo com frotas com alta probabilidade de interrupção. Em vez disso, ele pesquisa todas as frotas viáveis em busca de recursos que correspondam às suas prioridades definidas, incluindo latência do jogador, custo de hospedagem e ordem de destino.

    • Se você não estiver usando FlexMatch – Atualize seu serviço de backend para especificar a nova fila otimizada para Spot nas solicitações de sessão de jogo. O serviço de backend faz solicitações de API ao Amazon GameLift Servers em nome do seu cliente de jogo (usando o StartGameSessionPlacement()), e cada solicitação deve especificar um nome de fila. Para receber ajuda sobre como implantar posicionamentos de sessões de jogo no seu jogo, consulte Criar sessões de jogos.

    • Se você estiver usando FlexMatch – Atualize sua configuração de criação de partidas para enviar solicitações de sessão de jogo para a nova fila otimizada para Spot. Quando o sistema de criação de partidas forma uma partida de jogadores, ele envia uma solicitação de colocação da sessão de jogo para a fila designada para iniciar uma nova sessão de jogo para a partida. Somente configurações de criação de partidas com o modo FlexMatch definido como “Gerenciado” podem designar uma fila de colocação. Você pode atualizar uma configuração de matchmaking usando a AWS CLI ou Amazon GameLift Servers o console (consulte Editar uma configuração de matchmaking).

  4. Revise o desempenho das frotas spot e das filas.

    Visualize Amazon GameLift Servers métricas no Amazon GameLift Servers console ou com CloudWatch a Amazon para analisar o desempenho. Para saber mais sobre métricas do Amazon GameLift Servers, consulte Monitore Amazon GameLift Servers com a Amazon CloudWatch. As principais métricas incluem:

    • Taxa de interrupção: use as métricas InstanceInterruptions e GameSessionInterruptions para acompanhar a quantidade e a frequência das interrupções relacionadas a instâncias spot e sessões de jogos. As sessões de jogo em instâncias recuperadas têm um status de TERMINATED e uma razão de status de INTERRUPTED.

    • Eficácia da fila: acompanhe as taxas de sucesso de posicionamento, tempo médio de espera e profundidade da fila, para verificar se o uso de frotas spot não tem impacto no desempenho da fila.

    • Uso da frota: monitore dados sobre instâncias, sessões de jogos e sessões de jogadores. O uso de frotas sob demanda pode ser um indicador de que as filas estão evitando posicionamentos em suas frotas spot para evitar interrupções.

Melhores práticas para filas com frotas Spot

Use as seguintes melhores práticas ao criar frotas e filas para instâncias Spot.

  • Expanda a cobertura geográfica da sua fila. Mesmo que seus jogadores estejam agrupados em um único Região da AWS, adicione locais adjacentes à sua frota Spot. Essa abordagem melhora a capacidade da fila de manter a capacidade durante desacelerações regionais, interrupções e interrupções pontuais. As frotas em vários locais funcionam com instâncias spot e sob demanda.

  • Diversifique a cobertura do tipo de instância da sua fila. O Amazon GameLift Servers avalia a viabilidade do Spot com base no tipo de instância, portanto, ter frotas Spot com vários tipos de instância reduz a chance de que várias frotas Spot sejam inviáveis ao mesmo tempo. Inclua pelo menos duas frotas Spot com tipos de instâncias diferentes em cada local.

    nota

    O preço é baseado nas instâncias que você usa, não no número de frotas. Executar cinco frotas com 10 instâncias cada é o mesmo que executar uma frota com 50 instâncias de custo similar. Os preços variam de acordo com o tipo, tamanho e localização da instância.

    Dicas para agrupar tipos de instâncias Spot:

    • Use tipos de instância na mesma família, como m6g.medium, m6g.large e m6g.xlarge. Tipos de instância maiores custam mais, mas também podem hospedar mais sessões de jogo por vez.

    • Selecione tipos de instâncias amplamente disponíveis. Normalmente, famílias de gerações mais antigas (como C5, M5 e R5) e tamanhos comuns (como .large, .xlarge e .2xlarge) têm melhor disponibilidade.

    • Verifique o histórico de preços de 30 a 90 dias no console do Amazon GameLift Servers. Procure tipos de instância com padrões de disponibilidade consistentes.

    • Use o console Amazon GameLift Servers, ferramenta de criação de frota, para explorar a cobertura de localização para tipos de instância.

  • Adicione frotas sob demanda para obter capacidade de backup. A hospedagem de jogos pode mudar para frotas sob demanda sempre que as frotas Spot não estiverem disponíveis. Coloque pelo menos uma frota sob demanda em cada local para manter a baixa latência de jogadores. Adicione o ajuste de escala automático às frotas sob demanda de backup, para que você possa mantê-las em escala vertical reduzida até que elas sejam necessárias.

  • Atribua aliases a todos os destinos da frota. Crie aliases para cada um dos destinos da sua fila. Os aliases tornam tudo mais fácil e eficiente sempre que você precisa substituir frotas.

  • Aplique uma estratégia de priorização de filas. Você pode personalizar como uma fila prioriza onde colocar as sessões de jogo (veja Priorize o posicionamento de sessões de jogo para obter mais detalhes). Para filas otimizadas para Spot, a priorização por custo garante que frotas Spot de baixo custo sejam usadas sempre que possível.

    Você também pode priorizar determinadas frotas especificando um pedido de destino. Por exemplo, alguns usuários designam um conjunto de frotas primárias para uso regular e também um conjunto de frotas secundárias como backup. Nesse cenário, defina a ordem de destino da fila para listar primeiro as frotas primárias. Em seguida, configure a ordem prioritária da fila com o destino seguido pelo custo.