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 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)
-
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-namemy-asg
--lifecycle-action-tokenbcd2f1b8-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-namemy-asg
--instance-idi-1a2b3c4d
-
Se você concluir a ação personalizada antes do término do tempo limite, use o comando complete-lifecycle-action para que o grupo do Auto Scaling possa continuar a iniciar ou terminar 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-namemy-asg
\ --lifecycle-action-tokenbcd2f1b8-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-namemy-launch-hook
\ --auto-scaling-group-namemy-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 comando complete-lifecycle-action para o 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 obter mais informações, consulte Tutorial: Configurar um gancho do ciclo de vida que invoca uma função do Lambda.