Recomendações de rebalanceamento de instâncias do EC2 - Amazon Elastic Compute Cloud

Recomendações de rebalanceamento de instâncias do EC2

Uma recomendação de rebalanceamento de instância do EC2 é um sinal que envia uma notificação quando uma instância Spot tem risco elevado de interrupção. O sinal pode chegar antes do aviso de interrupção da instância Spot de dois minutos, dando a você a oportunidade de gerenciar proativamente a instância spot. É possível decidir rebalancear sua workload em Instâncias spot novas ou existentes que não tenham risco elevado de interrupção.

Nem sempre é possível para o Amazon EC2 enviar o sinal de recomendação de rebalanceamento antes do aviso de interrupção da instância spot de dois minutos. Portanto, o sinal de recomendação de rebalanceamento pode chegar junto com o aviso de interrupção de dois minutos.

As recomendações de rebalanceamento são disponibilizadas como um evento do EventBridge e como um item nos metadados de instância na instância spot. Os eventos são emitidos com base no melhor esforço.

nota

As recomendações de rebalanceamento só são aceitas para Instâncias spot que sejam executadas depois de 5 de novembro de 2020, 0h (UTC).

Rebalancear ações que é possível executar

Estas são algumas das possíveis ações de rebalanceamento que é possível executar:

Desligamento normal

Quando você receber o sinal de recomendação de rebalanceamento para uma instância spot, poderá iniciar os procedimentos de desligamento da instância, o que pode incluir a garantia de que os processos sejam concluídos antes de serem interrompidos. Por exemplo, é possível fazer upload de logs de sistema ou de aplicações para o Amazon Simple Storage Service (Amazon S3), desligar operadores do Amazon SQS ou concluir o cancelamento do registro do Sistema de Nomes de Domínio (DNS). Também é possível salvar seu trabalho em armazenamento externo e retomá-lo mais tarde.

Impedir que novos trabalhos sejam programados

Quando você recebe o sinal de recomendação de rebalanceamento para uma instância spot, pode impedir que novos trabalhos sejam programados na instância enquanto ela continuar a ser usada até o trabalho programado ser concluído.

Executar proativamente novas instâncias de substituição

É possível configurar grupos do Auto Scaling, EC2 Fleet ou frota spot para iniciar automaticamente as instâncias spot de substituição quando um sinal de recomendação de rebalanceamento é emitido. Para obter mais informações, consulte Use Capacity Rebalancing to handle Amazon EC2 Spot interruptions no Guia do usuário do Amazon EC2 Auto Scaling e Use o rebalanceamento de capacidade na frota do EC2 e na frota spot para substituir instâncias spot em risco neste guia do usuário.

Monitorar os sinais de recomendação de rebalanceamento

É possível monitorar o sinal de recomendação de rebalanceamento de modo que, quando ele for emitido, você possa executar as ações especificadas na seção anterior. O sinal de recomendação de rebalanceamento é disponibilizado como um evento que é enviado para o Amazon EventBridge (anteriormente conhecido como Amazon CloudWatch Events) e como metadados de instância na instância spot.

Monitorar sinais de recomendação de rebalanceamento:

Usar o Amazon EventBridge

Quando o sinal de recomendação de rebalanceamento é emitido para uma instância spot, o evento para o sinal é enviado para o Amazon EventBridge. Se o EventBridge detectar um padrão de evento que corresponda a um padrão definido em uma regra, o EventBridge invocará um destino (ou destinos) especificado(s) na regra.

Veja a seguir um exemplo de evento para o sinal de recomendação de rebalanceamento.

{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "EC2 Instance Rebalance Recommendation", "source": "aws.ec2", "account": "123456789012", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-2", "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"], "detail": { "instance-id": "i-1234567890abcdef0" } }

Os campos a seguir formam o padrão de evento definido na regra:

"detail-type": "EC2 Instance Rebalance Recommendation"

Identifica que o evento é um evento de recomendação de rebalanceamento

"source": "aws.ec2"

Identifica que o evento é de Amazon EC2

Criar uma regra de EventBridge

É possível escrever uma regra de EventBridge e automatizar quais ações tomar quando o padrão de evento corresponder à regra.

O exemplo a seguir cria uma regra de EventBridge para enviar um e-mail, mensagem de texto ou notificação por push para dispositivos móveis sempre que Amazon EC2 emite um sinal de recomendação de rebalanceamento. O sinal é emitido como um evento de EC2 Instance Rebalance Recommendation, que aciona a ação definida pela regra.

Antes de criar a regra EventBridge, você deve criar o tópico do Amazon SNS para e-mail, mensagem de texto ou notificação por push móvel.

Para criar uma regra de EventBridge para um evento de recomendação de rebalanceamento
  1. Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/.

  2. Selecione Criar regra.

  3. Em Define rule detail (Definir detalhe da regra), faça o seguinte:

    1. Informe um Name (Nome) para a regra e, opcionalmente, uma descrição.

      Uma regra não pode ter o mesmo nome que outra regra na mesma região e no mesmo barramento de eventos.

    2. Em Event Bus (Barramento de eventos), escolha default (padrão). Quando um serviço da AWS em sua conta gerar um evento, ele sempre irá para o barramento de eventos padrão da sua conta.

    3. Em Rule type (Tipo de regra), escolha Rule with an event pattern (Regra com um padrão de evento).

    4. Escolha Próximo.

  4. Em Build event pattern (Criar padrão de evento), faça o seguinte:

    1. Em Event source (Origem do evento), escolha Eventos da AWS ou eventos de parceiro do EventBridge.

    2. Em Event pattern (Padrão de evento), neste exemplo você especificará o seguinte padrão de evento para corresponder ao evento EC2 Instance Rebalance Recommendation e, em seguida, escolherá Save (Salvar).

      { "source": ["aws.ec2"], "detail-type": ["EC2 Instance Rebalance Recommendation"] }

      Para adicionar o padrão de evento, é possível usar um modelo escolhendo Event pattern form (Formulário de padrão de evento), ou especifique seu próprio padrão escolhendo Custom pattern (JSON editor) (Padrão personalizado (editor JSON)), como segue:

      1. Para usar um modelo para criar o padrão de evento, faça o seguinte:

        1. Escolha Event pattern form (Formulário de evento).

        2. Em Event source (Origem do evento), escolha AWS services (Serviços da ).

        3. Em AWS Service (Produto da ), escolha EC2 Spot Fleet (Frota spot do EC2).

        4. Em Event type (Tipo de evento), escolha EC2 Instance Rebalance Recommendation (Recomendação de rebalanceamento da instância do EC2).

        5. Para personalizar o modelo, escolha Edit pattern (Editar padrão) e faça as alterações para corresponder ao padrão de evento de exemplo.

      2. (Alternativa) Para especificar um padrão de evento personalizado, faça o seguinte:

        1. Escolha Custom pattern (JSON editor) (Padrão personalizado (editor JSON)).

        2. Na caixa Event pattern (Padrão de evento), adicione o padrão de evento para este exemplo.

    3. Escolha Próximo.

  5. Em Select target(s) (Selecionar destino(s)), faça o seguinte:

    1. Em Tipos de destino, escolha Serviço da AWS.

    2. Em Select a target (Selecione um destino), escolha SNS topic (Tópico do SNS) para enviar um email, mensagem de texto ou notificação por push móvel quando o evento ocorrer.

    3. Em Topic (Tópico), escolha um tópico existente. Para fazer isso, você precisa criar um tópico do Amazon SNS usando o console do Amazon SNS. Para obter mais informações, consulte Usar o Amazon SNS para mensagens de aplicação para pessoa (A2P) no Guia do desenvolvedor do Amazon Simple Notification Service.

    4. (Opcional) Em Additional settings (Configurações adicionais), é possível, opcionalmente, definir configurações adicionais. Para obter mais informações, consulte Criar regras do Amazon EventBridge que reajam a eventos (etapa 16) no Guia do usuário do Amazon EventBridge.

    5. Escolha Próximo.

  6. (Opcional) Em Tags (Etiquetas), é possível atribuir, opcionalmente, uma ou mais etiquetas à sua regra e, em seguida, escolher Next (Próximo).

  7. Em Review and create (Revisar e criar), faça o seguinte:

    1. Revise os detalhes da regra e modifique-os conforme necessário.

    2. Escolha Criar Regra.

Para obter mais informações, consulte Amazon EventBridge rules (Regras do Amazon EventBridge) e Amazon EventBridge event patterns (Padrões de eventos do Amazon EventBridge) no Amazon EventBridge User Guide (Guia do usuário do Amazon EventBridge).

Usar metadados da instância

A categoria de metadados da instância events/recommendations/rebalance fornece o horário aproximado, em UTC, quando o sinal de recomendação de rebalanceamento foi emitido para uma instância spot.

Recomendamos que você verifique se há sinais de recomendação de rebalanceamento a cada 5 segundos para que você não perca a oportunidade de agir de acordo com a recomendação de rebalanceamento.

Se uma instância spot receber uma recomendação de rebalanceamento, o horário em que o sinal foi emitido estará presente nos metadados da instância. É possível recuperar o horário em que o sinal foi emitido da seguinte forma.

Use o comando referente ao seu sistema operacional.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance

A seguir, é mostrado um exemplo de saída, que indica o horário, em UTC, em que o sinal de recomendação de rebalanceamento foi emitido para a instância spot.

{"noticeTime": "2020-10-27T08:22:00Z"}

Se o sinal não tiver sido emitido para a instância, o events/recommendations/rebalance não estará presente e você receberá uma mensagem de erro HTTP 404 quando tentar recuperá-lo.

Serviços que usam o sinal de recomendação de rebalanceamento

O Amazon EC2 Auto Scaling, a EC2 Fleet e a frota spot usam o sinal de recomendação de rebalanceamento para facilitar a manutenção da disponibilidade da workload, aumentando proativamente a frota com uma nova instância spot antes que uma instância em execução receba o aviso de interrupção da instância spot de dois minutos. É possível fazer com que esses serviços monitorem e respondam proativamente às alterações que afetam a disponibilidade da suas Instâncias spot. Para obter mais informações, consulte as informações a seguir.