Tempo de espera de escalabilidade para o Amazon Auto Scaling EC2 - Amazon EC2 Auto Scaling

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

Tempo de espera de escalabilidade para o Amazon Auto Scaling EC2

Importante

Como prática recomendada, recomendamos não usar políticas de escalabilidade simples e desaquecimento de escalabilidade. Uma política de escalabilidade com rastreamento do destino ou uma política de escalabilidade em etapas é melhor para a performance da escalabilidade. Para uma política de escalabilidade que altera o tamanho do grupo do Auto Scaling proporcionalmente à medida que o valor da métrica de escalabilidade diminui ou aumenta, recomendamos o monitoramento do objetivo em escalabilidade simples ou escalabilidade em etapas.

Ao criar políticas de escalabilidade simples para seu grupo do Auto Scaling, recomendamos que você configure o esfriamento de escalabilidade ao mesmo tempo.

Após iniciar ou terminar instâncias, o grupo do Auto Scaling espera o período de desaquecimento encerrar antes que qualquer outra ação de escalabilidade iniciada por políticas de escalabilidade simples possa ser iniciada. A intenção do período de esfriamento é impedir que o grupo do Auto Scaling inicie ou encerre outras instâncias antes que os efeitos de atividades de escalabilidade anteriores sejam visíveis.

Suponha, por exemplo, que uma política simples de escalabilidade de CPU utilização recomende o lançamento de duas instâncias. O Amazon EC2 Auto Scaling inicia duas instâncias e, em seguida, pausa as atividades de escalabilidade até que o período de espera termine. Quando o período de desaquecimento terminar, será possível retomar todas as ações de escalabilidade iniciadas por políticas de escalabilidade simples. Se CPU a utilização ultrapassar o limite máximo do alarme novamente, o grupo Auto Scaling será ampliado novamente e o período de resfriamento entrará em vigor novamente. Porém, se duas instâncias forem suficientes para diminuir o valor da métrica, o grupo permanecerá no tamanho atual.

Considerações

As considerações a seguir se aplicam ao trabalhar com políticas de escalabilidade simples e desaquecimentos de escalabilidade:

  • As políticas de monitoramento do objetivo e escalabilidade de etapas podem iniciar uma ação de aumento da escala na horizontal imediatamente sem esperar que o período de desaquecimento termine. Em vez disso, sempre que o grupo do Auto Scaling inicia instâncias, as instâncias individuais têm um período de aquecimento. Para obter mais informações, consulte Definir o aquecimento padrão da instância para um grupo do Auto Scaling.

  • Quando uma ação programada começa no horário programado, ela pode acionar uma ação de escalabilidade imediatamente, sem esperar que o período de desaquecimento termine.

  • Se uma instância ficar insalubre, o Amazon EC2 Auto Scaling não espera que o período de espera termine antes de substituir a instância não íntegra.

  • Quando várias instâncias são iniciadas ou terminadas, o período de desaquecimento (o desaquecimento padrão ou o desaquecimento específico da política de escalabilidade) entra em vigor quando a última instância conclui seu início ou término.

  • Quando o grupo do Auto Scaling é escalado manualmente, o padrão é não aguardar o desaquecimento terminar. No entanto, você pode ignorar esse comportamento e honrar o tempo de recarga padrão ao usar o AWS CLI ou an SDK para escalar manualmente.

  • Por padrão, o Elastic Load Balancing aguarda 300 segundos para concluir o processo de cancelamento do registro (descarga da conexão). Se o grupo estiver atrás de um balanceador de carga do Elastic Load Balancing, ele aguardará que as instâncias de encerramento cancelem o registro antes de iniciar o período de desaquecimento.

Hooks do ciclo de vida podem causar mais atrasos

Caso um hook do ciclo de vida seja invocado, o período de desaquecimento começará após a conclusão da ação do ciclo de vida ou após o período do tempo limite terminar. Por exemplo, considere um grupo do Auto Scaling com um hook do ciclo de vida para iniciar a instância. Quando a aplicação passa por um aumento na demanda, o grupo executa uma instância para adicionar capacidade. Como há um hook do ciclo de vida, a instância é colocada em estado de espera, e as ações de escalabilidade causadas por políticas de escalabilidade simples são pausadas. Quando a instância entra no estado InService, o período de desaquecimento é iniciado. Quando o período de desaquecimento termina, atividades de políticas de escalabilidade simples são retomadas.

Quando o Elastic Load Balancing estiver habilitado, para fins de redução da escala na horizontal, o período de desaquecimento será iniciado quando a instância de término encerrar a descarga da conexão (atraso de cancelamento do registro). O período de espera não aguarda o término da drenagem da conexão ou a conclusão da ação do hook do ciclo de vida. Isso significa que todas as ações de escalabilidade causadas por políticas de escalabilidade simples podem ser retomadas assim que o resultado do evento de redução na escala na horizontal for refletido na capacidade do grupo. Caso contrário, esperar para concluir todas as três atividades (descarga da conexão, hook do ciclo de vida e período de desaquecimento) aumentaria consideravelmente a quantidade de tempo de que o grupo do Auto Scaling precisa para pausar a escalabilidade.

Alterar o período de desaquecimento padrão

Você não pode definir o tempo de espera padrão ao criar inicialmente um grupo de Auto Scaling no console do Amazon Auto EC2 Scaling. Por padrão, esse período de desaquecimento é definido para 300 segundos (5 minutos). Se necessário, você poderá atualizar isso depois que o grupo for criado.

Para alterar o período de desaquecimento padrão (console)

Depois de criar o grupo do Auto Scaling, na guia Details (Detalhes), escolha Advanced configurations (Configurações avançadas), Edit (Editar). Em Default cooldown (Desaquecimento padrão), escolha o período que você deseja com base no tempo de inicialização da instância ou em outras necessidades da aplicação.

Para alterar o período de desaquecimento padrão (AWS CLI)

Use os comandos a seguir para alterar o desaquecimento padrão para grupos do Auto Scaling novos ou existentes. Se o desaquecimento padrão não for definido, será usado o valor padrão de 300 segundos.

Para confirmar o valor do tempo de recarga padrão, use o describe-auto-scaling-groupscomando.

Definir um período de desaquecimento para políticas de escalabilidade simples específicas

Por padrão, todas as políticas de escalabilidade simples usam o período de desaquecimento padrão definido para o grupo do Auto Scaling. Para configurar um período de desaquecimento para poíticas de escalabilidade simples específicas, use o parâmetro de desaquecimento opcional ao criar ou atualizar a política. Quando um período de desaquecimento é especificado para uma política, ele substitui o desaquecimento padrão.

Um uso comum para um período de desaquecimento específico de política de escalabilidade é com uma política de redução da escala na horizontal. Como essa política encerra instâncias, o Amazon EC2 Auto Scaling precisa de menos tempo para determinar se deseja encerrar instâncias adicionais. Encerrar instâncias deve ser uma operação muito mais rápida do que iniciar instâncias. O desaquecimento padrão de 300 segundos é, portanto, muito longo. Nesse caso, um período de desaquecimento específico de política de escalabilidade com um valor inferior para política de redução da escala na horizontal pode ajudar a diminuir custos, permitindo que o grupo reduza a escala na horizontal mais rapidamente.

Para criar ou atualizar políticas de escalabilidade simples no console, escolha a guia Automatic scaling (Escalabilidade automática) depois de criar o grupo. Para criar ou atualizar políticas de escalabilidade simples usando o AWS CLI, use o put-scaling-policycomando. Para obter mais informações, consulte Políticas de escalabilidade simples e em etapas.