Ajuste de escala automático com políticas com base nas regras - 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á.

Ajuste de escala automático com políticas com base nas regras

Regra de escalabilidade com base em políticas no Amazon GameLift fornecem controle refinado ao ajuste de escala automático da capacidade de uma frota em resposta à atividade do jogador. Para cada política, é possível vincular a escalabilidade a uma das várias métricas da frota, identificar uma variação e personalizar a resposta de expansão ou evento de redução. As políticas com base em regras são úteis para completar a escalabilidade com base em destino para lidar com circunstâncias especiais.

Uma política baseada em regras afirma o seguinte: "Se a métrica de uma frota atingir ou ultrapassar um valor limite para um determinado período, altere a capacidade da frota em uma determinada quantidade." Este tópico descreve a sintaxe usada para estruturar uma declaração de política e fornece ajuda com a criação e o gerenciamento de políticas com base em regras.

Gerenciar políticas baseadas em regras

Crie, atualize ou exclua políticas com base em regras usando um SDK da AWS ou o AWS Command Line Interface (AWS CLI) com a API do serviço do Amazon GameLift. É possível visualizar todas as políticas ativas no console do Amazon GameLift.

Para interromper temporariamente todas as políticas de escalabilidade para uma frota, use o comando stop-fleet-actions da AWS CLI.

Para criar ou atualizar uma política de escalabilidade baseada em regras (AWS CLI):
  1. Defina limites de capacidade. Defina um ou ambos os valores de limite usando o comando update-fleet-capacity. Para obter mais informações, consulte Defina os limites de capacidade do Amazon GameLift.

  2. Crie uma política. Abra uma janela da linha de comando e use o comando put-scaling-policy com suas configurações de parâmetro de política. Para atualizar uma política existente, especifique o nome da política e forneça uma versão completa da política atualizada.

    --fleet-id <unique fleet identifier> --name "<unique policy name>" --policy-type <target- or rule-based policy> --metric-name <name of metric> --comparison-operator <comparison operator> --threshold <threshold integer value> --evaluation-periods <number of minutes> --scaling-adjustment-type <adjustment type> --scaling-adjustment <adjustment amount>

    Exemplo:

    aws gamelift put-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50" \ --policy-type RuleBased \ --metric-name AvailableGameSessions \ --comparison-operator LessThanThreshold \ --threshold 50 \ --evaluation-periods 10 \ --scaling-adjustment-type ChangeInCapacity \ --scaling-adjustment 1
Para excluir uma regra de escalabilidade com base em política usando a AWS CLI:
  • Abra uma janela de linha de comando e use o comando delete-scaling-policy com o ID da frota e o nome da política.

    Exemplo:

    aws gamelift delete-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50"

Regras de sintaxe para o ajuste de escala automático

Para construir uma declaração de política de escalabilidade baseada em regra, especifique seis variáveis:

Se <nome da métrica> permanecer <operador de comparação> <valor limite> para <período de avaliação>, altere a capacidade da frota usando <tipo de ajuste> para/por <valor de ajuste>.

Por exemplo, esta declaração de política inicia um evento de expansão sempre que uma frota de capacidade extra é menor do que o que é necessário para lidar com 50 novas sessões de jogos:

Se AvailableGameSessions permanecer em less than 50 para 10 minutes, altere a capacidade da frota usando ChangeInCapacity por 1 instances.

Nome da métrica

Para iniciar um evento de escalabilidade, vincule uma política de ajuste de escala automático para uma das seguintes métricas específicas da frota. Para obter descrições de métrica completa, consulte Métricas do Amazon GameLift para frotas.

  • Ativar sessões de jogos

  • Sessões de jogos ativas

  • Sessões de jogos disponíveis

  • Sessões de jogos disponíveis em porcentagem

  • Instâncias ativas

  • Sessões de jogadores disponíveis

  • Sessões de jogadores atuais

  • Instâncias ociosas

  • Instâncias ociosas em porcentagem

Caso a frota esteja em uma fila de sessão de jogo, use as seguintes métricas:

  • Profundidade da fila – O número de solicitações de sessão de jogo pendentes nesta frota é o melhor local de hospedagem disponível.

  • Tempo de espera – Tempo de espera específico da frota. O período de tempo em que a solicitação de sessão de jogo pendente mais antigo está esperando para ser atendido. O tempo de espera da frota é igual ao tempo da solicitação atual mais antiga na fila.

Operador de comparação

Informa ao Amazon GameLift como comparar os dados da métrica com o valor limite. Entre os operadores de comparação válidos estão maior que (>), menor que (<), maior que ou igual a (>=) e menor que ou igual (<=).

Valor limite

Quando o valor de métrica especificado encontra ou cruza o valor de limite, ele pode inicia um evento de escalabilidade. Esse valor é sempre um inteiro positivo.

Período de avaliação

A métrica deve atingir ou ultrapassar o valor limite em toda a duração do período de avaliação antes de iniciar um evento de escalabilidade. O tamanho do período de avaliação é consecutivo; se a métrica não atingir o limite, o período de avaliação recomeçará.

Tipo de ajuste e valor

Este conjunto de variáveis funciona agrupado para especificar como você deseja que o Amazon GameLift ajuste a capacidade da frota quando essa política inicia um evento de escalabilidade. Escolha um dos três tipos de ajustes possíveis:

  • Alteração na capacidade – Aumente ou diminua a capacidade atual segundo o número especificado de instâncias. Defina o valor de ajuste para o número de instâncias a serem adicionadas a ou subtraídas da frota. Os valores positivos adicionam instâncias, enquanto os valores negativos removem instâncias. Por exemplo, um valor de "-10" reduz a frota por 10 instâncias, independentemente do tamanho total da frota.

  • Alteração percentual na capacidade – Aumente ou diminua a capacidade atual segundo uma porcentagem especificada. Defina o valor de ajuste para a porcentagem na qual você deseja aumentar ou diminuir a capacidade da frota. Os valores positivos adicionam instâncias, enquanto os valores negativos removem instâncias. Por exemplo, para uma frota com 50 instâncias, uma alteração de porcentagem de "20" adiciona 10 instâncias à frota.

  • Capacidade exata — Aumentar ou diminuir a capacidade atual para um valor específico. Defina o valor de ajuste para o número exato de instâncias que você deseja manter na frota.

Dicas para o ajuste de escala automático com base em regras

As sugestões a seguir podem ajudar a obter o máximo de ajuste de escala automático com políticas baseadas em regras.

Usar várias políticas

Você pode ter várias políticas de ajuste de escala automático para uma frota ao mesmo tempo. O cenário mais comum é ter uma política baseada em destino gerenciar a maioria dos requisitos de escalabilidade e usar políticas com base em regras para lidar com problemas em parâmetros. Não há limites no uso de várias políticas.

Com várias políticas, cada uma delas se comporta de forma independente. Não há como controlar a sequência de eventos de escalabilidade. Por exemplo, se você tiver várias políticas aumentando a escalabilidade, será possível que a atividade do jogador inicie vários eventos de escalabilidade simultaneamente. Evite políticas que se iniciem mutuamente. Por exemplo, você poderá criar um loop infinito se aumentar e diminuir políticas que definam a capacidade além do limite uma da outra.

Definir as capacidades máxima e mínima

Cada frota tem um limite de capacidade máxima e mínima. Esse recurso é especialmente importante quando se usa o ajuste de escala automático. O ajuste de escala automático jamais define a capacidade como um valor fora desse intervalo. Por padrão, frotas recém-criadas têm um mínimo de 0 e um máximo de 1. Para a política de ajuste de escala automático afetar a capacidade conforme desejado, aumente o valor máximo.

A capacidade da frota também é restringida por limites no tipo de instância da frota e pelas cotas de serviço na Conta da AWS. Não é possível definir um mínimo e um máximo fora desses limites e cotas de conta

Acompanhar métricas depois de uma alteração na capacidade

Depois de alterar a capacidade em resposta a uma política de ajuste de escala automático, o Amazon GameLift aguardará 10 minutos até responder aos gatilhos dessa política. Essa espera dá ao Amazon GameLift tempo para adicionar as novas instâncias, iniciar os servidores de jogos, conectar jogadores e iniciar a coleta de dados das novas instâncias. Durante esse período, o Amazon GameLift avalia a política em relação à métrica e rastreia o período de avaliação da política, reiniciado após a ocorrência de um evento de escalabilidade. Isso significa que uma política de escalabilidade poderá iniciar outro evento de escalabilidade logo depois que o tempo de espera terminar.

Não há tempo de espera entre os eventos de escalabilidade que iniciam diferentes políticas de ajuste de escala automático.