Concluir uma ação do ciclo de vida - 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á.

Concluir uma ação do ciclo de vida

Quando o grupo do Auto Scaling responde a um evento de ciclo de vida, ele coloca a instância em um estado de espera e envia notificação de evento. Enquanto a instância está em estado de espera, você pode executar uma ação personalizada.

Concluir a ação do ciclo de vida com um resultado de CONTINUE é útil se você terminar antes que o tempo limite expire. Se você não concluir a ação do ciclo de vida, o hook do ciclo de vida vai para o status que você especificou para Resultado padrão após o término do tempo limite.

Concluir uma ação do ciclo de vida (manual)

O procedimento a seguir é para a interface de linha de comando e não tem suporte para o console. Informações que devem ser substituídas, como o ID da instância ou o nome de um grupo do Auto Scaling, são mostradas em itálico.

Para concluir uma ação do ciclo de vida (AWS CLI)
  1. Se você precisar de mais tempo para concluir a ação personalizada, use o comando record-lifecycle-action-heartbeat para reiniciar o período de tempo limite e manter a instância em estado de espera. Por exemplo, se o período de tempo limite for 1 hora e você chamar esse comando após 30 minutos, a instância permanecerá em estado de espera por mais 1 hora ou por um total de 90 minutos.

    Você pode especificar o token de ação de ciclo de vida recebido com a notificação, conforme é mostrado no comando a seguir.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Como alternativa, é possível especificar o ID da instância, recebido com a notificação, conforme mostrado no comando a seguir.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --instance-id i-1a2b3c4d
  2. Se você concluir a ação personalizada antes que o período de tempo limite termine, use o complete-lifecycle-actioncomando para que o grupo do Auto Scaling possa continuar iniciando ou encerrando a instância. Você pode especificar o token da ação de ciclo de vida, conforme mostrado no comando a seguir:

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --lifecycle-hook-name my-launch-hook --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Como alternativa, você pode especificar o ID da instância, conforme mostrado no comando a seguir:

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --instance-id i-1a2b3c4d --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg

Concluir uma ação do ciclo de vida (automática)

Se você tiver um script de dados do usuário que configure suas instâncias após elas serem iniciadas, você não precisará concluit manualmente as ações do ciclo de vida. Você pode adicionar o complete-lifecycle-actioncomando ao script. O script pode recuperar o ID da instância dos metadados da instância e sinalizar ao Amazon EC2 Auto Scaling quando os scripts de bootstrap tiverem sido concluídos com êxito.

Se você já não estiver fazendo isso, atualize seu script para recuperar o ID da instância nos metadados da instância. Para mais informações, consulte Retrieve instance metadata (Recuperar metadados de instância) no Guia do usuário do Amazon EC2 para instâncias Linux.

Se usar o Lambda, você também poderá configurar um retorno de chamada no código da função para permitir que o ciclo de vida da instância prossiga se a ação personalizada tiver êxito. Para ter mais informações, consulte Tutorial: Configurar um gancho do ciclo de vida que invoca uma função do Lambda.