Rebalanceamento de capacidade - Amazon Elastic Compute Cloud

Rebalanceamento de capacidade

Você pode configurar a frota spot para iniciar uma instância spot de substituição quando o Amazon EC2 emitir uma recomendação de rebalanceamento para notificar que uma instância spot está em um risco elevado de interrupção. O rebalanceamento de capacidade ajuda a manter a disponibilidade da workload aumentando proativamente sua frota com uma nova instância spot antes que uma instância em execução seja interrompida por Amazon EC2. Para ter mais informações, consulte Recomendações de rebalanceamento de instâncias do EC2.

Para configurar a frota spot para iniciar uma instância spot de substituição, você pode usar o console do Amazon EC2 ou a AWS CLI.

Limitações

  • O rebalanceamento de capacidade só está disponível para frotas do tipo maintain.

  • Quando a frota estiver em execução, não é possível modificar a configuração de rebalanceamento de capacidade. Para alterar a configuração de rebalanceamento de capacidade, você deve excluir a frota e criar uma nova.

Opções de configuração

A ReplacementStrategy para frota spot oferece suporte a estes dois valores:

launch-before-terminate

O Amazon EC2 termina as Instâncias spot que recebem uma notificação de rebalanceamento após o lançamento de novas Instâncias spot de substituição. Se você especificar launch-before-terminate, também deverá especificar um valor para termination-delay. Depois que as novas instâncias de substituição são iniciadas, o Amazon EC2 aguarda o período de termination-delay e, em seguida, encerra as instâncias antigas. Em termination-delay, o mínimo é de 120 segundos (2 minutos) e o máximo é de 7.200 segundos (2 horas).

Recomendamos o uso de launch-before-terminate apenas se você puder prever quanto tempo os procedimentos de desligamento da instância levarão. Isso garantirá que as instâncias antigas só sejam terminadas após a conclusão dos procedimentos de desligamento. Observe que o Amazon EC2 pode interromper as instâncias antigas com um aviso dois minutos antes do período de termination-delay.

launch

O Amazon EC2 inicia instâncias spot de substituição quando uma notificação de rebalanceamento é emitida para as instâncias spot existentes. O Amazon EC2 não termina automaticamente as instâncias que recebem uma notificação de rebalanceamento. Você pode terminar as instâncias antigas ou deixá-las em execução. Você é cobrado por todas as instâncias enquanto elas estão sendo executadas.

Considerações

Se você configurar uma frota spot para rebalanceamento de capacidade, considere o seguinte:

Forneça o maior número possível de grupos de capacidade spot na solicitação

Configure sua frota spot para usar vários tipos de instância e zonas de disponibilidade. Isso oferece a flexibilidade para executar instâncias spot em vários grupos de capacidade spot. Para ter mais informações, consulte Ser flexível sobre tipos de instância e zonas de disponibilidade.

Evitar um risco elevado de interrupção das instâncias spot substitutas

Para evitar um alto risco de interrupção, recomendamos fortemente a estratégia de alocação capacityOptimized ou capacityOptimizedPrioritized. Essas estratégias garantem que as instâncias spot substitutas sejam iniciadas nos grupos de capacidade spot ideais e, portanto, tenham menos probabilidade de serem interrompidas em futuro próximo. Para ter mais informações, consulte Usar a estratégia de alocação otimizada para preço e capacidade.

O Amazon EC2 Auto Scaling só iniciará uma nova instância se a disponibilidade for igual ou superior

Um dos objetivos do rebalanceamento de capacidade é melhorar a disponibilidade de uma instância spot. Se uma instância spot existente receber uma recomendação de rebalanceamento, o Amazon EC2 só iniciará uma nova instância caso a nova instância forneça uma disponibilidade igual ou superior a da instância existente. Se o risco de interrupção de uma nova instância for pior do que a instância existente, o Amazon EC2 não iniciará uma nova instância. No entanto, o Amazon EC2 continuará a avaliar os grupos de capacidade spot e iniciará uma nova instância se a disponibilidade melhorar.

Há uma chance de que a instância existente seja interrompida sem que o Amazon EC2 inicie proativamente uma nova instância. Quando isso acontecer, o Amazon EC2 tentará iniciar uma nova instância, independentemente de a nova instância ter um alto risco de interrupção.

O Rebalanceamento da capacidade não aumenta a taxa de interrupção de instâncias Spot

Quando o Rebalanceamento da capacidade é habilitado, ele não aumenta a Taxa de interrupção de instâncias Spot (o número de instâncias Spot que são recuperadas quando o Amazon EC2 precisa novamente de capacidade). Porém, se o rebalanceamento da capacidade detectar que uma instância está em risco de interrupção, o Amazon EC2 tentará iniciar imediatamente uma nova instância. O resultado é que pode haver a substituição de mais instâncias do que se você esperasse que o Amazon EC2 iniciasse uma nova instância depois que a instância em risco fosse interrompida.

Mesmo podendo substituir mais instâncias com o Rebalanceamento da capacidade habilitado, você se beneficia de ser proativo em vez de reativo, tendo mais tempo para agir antes que suas instâncias sejam interrompidas. Com um Aviso de interrupção de instâncias Spot, normalmente você só tem até dois minutos para encerrar sua instância sem problemas. Com o Rebalanceamento da capacidade iniciando uma nova instância com antecedência, os processos existentes têm maiores chances de serem concluídos na instância em risco. Além disso, você pode iniciar os procedimentos de desligamento da instância e impedir que novos trabalhos sejam agendados na instância em risco. Você também pode começar a preparar a instância recém-lançada para assumir o controle da aplicação. Com a substituição proativa do Rebalanceamento da capacidade, você se beneficia com uma continuidade tranquila.

Como exemplo teórico para demonstrar os riscos e benefícios do uso do Rebalanceamento da capacidade, considere o seguinte cenário:

  • 14h: uma recomendação de rebalanceamento é recebida para a instância A, e o Amazon EC2 começa imediatamente a tentar iniciar uma instância B de substituição, dando a você tempo para iniciar os procedimentos de desligamento.*

  • 14h30: uma recomendação de rebalanceamento é recebida para a instância-B, substituída pela instância-C, dando a você tempo para iniciar os procedimentos de desligamento.*

  • 14h32: se o Rebalanceamento da capacidade não estivesse habilitado e um aviso de interrupção de instância Spot tivesse sido recebido às 14h32 para a instância-A, você teria apenas dois minutos para agir, mas a Instância-A estaria em execução até esse momento.

* Se launch-before-terminate for especificado, o Amazon EC2 encerrará a instância em risco depois que a instância de substituição ficar online.

O Amazon EC2 pode iniciar a nova Instâncias spot de substituição até que a capacidade atingida seja o dobro da capacidade visada

Quando uma frota spot é configurada para rebalanceamento de capacidade, o Amazon EC2 tenta iniciar uma nova instância spot de substituição para cada instância spot que recebe uma recomendação de rebalanceamento. Depois que uma instância spot recebe uma recomendação de rebalanceamento, ela deixa de ser contada como parte da capacidade atendida. Dependendo da estratégia de substituição, o Amazon EC2 termina a instância após um período espera para término pré-configurado ou a deixa em execução. Isso dá a você a oportunidade de executar ações de rebalanceamento na instância.

Se sua frota atingir o dobro da capacidade de destino, ela interrompe a execução de novas instâncias de substituição, mesmo que as próprias instâncias de substituição recebam uma recomendação de rebalanceamento.

Por exemplo, você cria uma frota spot com uma capacidade de destino de 100 instâncias spot. Todas as instâncias spot recebem uma recomendação de rebalanceamento, o que faz com que o Amazon EC2 inicie 100 instâncias spot de substituição. Isso eleva o número de instâncias spot atendidas para 200, o que é o dobro da capacidade de destino. Algumas das instâncias de substituição recebem uma recomendação de rebalanceamento, porém nenhuma instância de substituição é executada porque a frota não pode exceder o dobro da capacidade de destino.

Observe que você é cobrado por todas as instâncias durante a execução.

Recomendamos que você configure a frota spot para terminar as instâncias spot que receberem uma recomendação de rebalanceamento

Se você configurar a frota spot para rebalanceamento de capacidade, recomendamos que só escolha launch-before-terminate com um período de espera de término apropriado se puder prever quanto tempo os procedimentos de desligamento da instância levarão. Isso garantirá que as instâncias antigas só sejam terminadas após a conclusão dos procedimentos de desligamento.

Se escolher terminar as instâncias recomendadas para rebalanceamento você mesmo, recomendamos que monitore o aviso da recomendação de rebalanceamento recebido pelas instâncias spot na frota. Ao monitorar o sinal, você pode executar rapidamente ações de rebalanceamento nas instâncias afetadas, antes que o Amazon EC2 as interrompa e, em seguida, você pode encerrá-las manualmente. Se você não encerrar as instâncias, continuará pagando por elas enquanto estiverem em execução. O Amazon EC2 não encerra automaticamente as instâncias que recebem uma recomendação de rebalanceamento.

Você pode configurar notificações usando o Amazon EventBridge ou metadados da instância. Para ter mais informações, consulte Monitorar os sinais de recomendação de rebalanceamento.

A frota spot não conta as instâncias que recebem uma recomendação de rebalanceamento ao calcular a capacidade atendida durante o aumento ou a redução da capacidade

Se a frota spot estiver configurada para rebalanceamento de capacidade e você alterar a capacidade de destino para aumento ou diminuição, a frota não contará as instâncias marcadas para rebalanceamento como parte da capacidade atendida, como a seguir:

  • Reduzir a escala horizontalmente - Se você diminuir a capacidade visada, o Amazon EC2 encerrará instâncias que não estiverem marcadas para rebalanceamento até que a capacidade desejada seja atingida. As instâncias marcadas para rebalanceamento não são contabilizadas para a capacidade atingida.

    Por exemplo, você cria uma frota spot com uma capacidade visada de 100 instâncias spot, e 10 instâncias recebem uma recomendação de rebalanceamento, portanto, o Amazon EC2 inicia 10 novas instâncias de substituição, resultando em uma capacidade atingida de 110 instâncias. Em seguida, você reduz a capacidade visada para 50 (reduzir a escala horizontalmente), mas a capacidade de atendimento é, na verdade, 60 instâncias porque as 10 instâncias marcadas para rebalanceamento não são encerradas pelo Amazon EC2. Você precisa encerrar manualmente essas instâncias ou deixá-las em execução.

  • Aumentar a escala horizontalmente - Se você aumentar a capacidade visada, o Amazon EC2 iniciará novas instâncias até que a capacidade desejada seja atingida. As instâncias marcadas para rebalanceamento não são contabilizadas para a capacidade atingida.

    Por exemplo, você cria uma frota spot com uma capacidade visada de 100 instâncias spot, e 10 instâncias recebem uma recomendação de rebalanceamento, portanto, o Amazon EC2 inicia 10 novas instâncias de substituição, resultando em uma capacidade atingida de 110 instâncias. Em seguida, você aumenta a capacidade de destino para 200 (aumento), mas a capacidade de atendimento é, na verdade, 210 instâncias porque as 10 instâncias marcadas para rebalanceamento não são contabilizadas pela frota como parte da capacidade de destino. Você precisa encerrar manualmente essas instâncias ou deixá-las em execução.