

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

# Preparar para adicionar um gancho do ciclo de vida a um grupo do Auto Scaling
<a name="adding-lifecycle-hooks"></a>

Para colocar suas instâncias do Auto Scaling em um estado de espera e executar ações personalizadas nelas, você pode adicionar ganchos do ciclo de vida ao seu grupo do Auto Scaling. Ações personalizadas são executadas à medida que as instâncias são iniciadas ou antes de serem terminadas. As instâncias permanecem em um estado de espera até que você conclua a ação do ciclo de vida, ou até o período de tempo limite terminar.

Depois de criar um grupo de Auto Scaling a partir do Console de gerenciamento da AWS, você pode adicionar um ou mais ganchos de ciclo de vida a ele, até um total de 50 ganchos de ciclo de vida. Você também pode usar o AWS CLI, CloudFormation, ou um SDK para adicionar ganchos de ciclo de vida a um grupo de Auto Scaling ao criá-lo.

Por padrão, quando você adiciona um gancho de ciclo de vida no console, o Amazon EC2 Auto Scaling envia notificações de eventos de ciclo de vida para a Amazon. EventBridge Usar EventBridge ou usar um script de dados do usuário é uma prática recomendada. Para criar um gancho de ciclo de vida que envie notificações diretamente para o Amazon SNS, o Amazon SQS, AWS Lambda ou você pode usar [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)o comando, conforme mostrado nos exemplos deste tópico.

**Topics**
+ [

## Adicionar ganchos do ciclo de vida (console)
](#adding-lifecycle-hooks-console)
+ [

## Adicionar ganchos do ciclo de vida (AWS CLI)
](#adding-lifecycle-hooks-aws-cli)

## Adicionar ganchos do ciclo de vida (console)
<a name="adding-lifecycle-hooks-console"></a>

Siga estas etapas para adicionar ganchos do ciclo de vida ao seu grupo do Auto Scaling. Para adicionar ganchos do ciclo de vida para expansão (inicialização de instâncias) e expansão (terminação de instâncias ou retorno para um pool ativo), é necessário criar dois ganchos separados. 

Antes de começar, confirme se você configurou uma ação personalizada, conforme necessário, conforme descrito em [Preparar para adicionar um gancho do ciclo de vida a um grupo do Auto Scaling](prepare-for-lifecycle-notifications.md).

**Para adicionar um gancho do ciclo de vida para expansão**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling. Um painel dividido é aberto na parte inferior da página. 

1. Na guia **Instance management (Gerenciamento de instâncias)**, em **Lifecycle ganchos (Ganchos do ciclo de vida)**, escolha **Create lifecycle gancho (Criar gancho do ciclo de vida)**.

1. Para definir um gancho do ciclo de vida para expansão (execução de instâncias), faça o seguinte:

   1. Em **Lifecycle Hook Name (Nome do gancho do ciclo de vida)**, especifique um nome para o gancho do ciclo de vida.

   1. Em **Lifecycle transition** (Transição do ciclo de vida), escolha **Instance launch** (Início da instância).

   1. Para **Tempo limite** de pulsação, especifique o tempo, em segundos, para que as instâncias permaneçam em estado de espera durante a expansão antes que o hook expire. O intervalo é de `30` a `7200` segundos. Definir um longo período de tempo limite fornece mais tempo para a conclusão da sua ação personalizada. Em seguida, se você terminar antes que o período de tempo limite termine, envie o [complete-lifecycle-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/complete-lifecycle-action.html)comando para permitir que a instância prossiga para o próximo estado. 

   1. Em **Resultado padrão**, especifique a ação a ser adotada mediante o término do tempo limite do gancho do ciclo de vida ou quando houver uma falha inesperada. Você pode escolher **CONTINUAR** ou **ABANDONAR**.
      + Se você escolher **CONTINUAR**, o grupo do Auto Scaling poderá prosseguir com qualquer outro gancho do ciclo de vida e depois colocar a instância em serviço.
      + Se você escolher **ABANDON**, o grupo do Auto Scaling interromperá todas as ações restantes e encerrará a instância imediatamente.

   1. (Opcional) Em **Metadados de notificação**, especifique outras informações que você deseja incluir quando o Amazon EC2 Auto Scaling enviar uma mensagem ao destino da notificação. 

1. Escolha **Criar**.

**Para adicionar um gancho do ciclo de vida para redução**

1. Escolha **Criar gancho do ciclo de vida** para continuar de onde você parou depois de criar um gancho do ciclo de vida para expansão.

1. Para definir um gancho do ciclo de vida para redução (instâncias que terminam ou retornam a um pool ativo), faça o seguinte:

   1. Em **Lifecycle Hook Name (Nome do gancho do ciclo de vida)**, especifique um nome para o gancho do ciclo de vida.

   1. Em **Lifecycle transition** (Transição do ciclo de vida), escolha **Instance terminate** (Término da instância). 

   1. Para **Tempo limite** de pulsação, especifique o tempo, em segundos, para que as instâncias permaneçam em estado de espera durante a expansão antes que o hook expire. Recomendamos um curto período de tempo limite de `30` até `120` segundos, dependendo de quanto tempo você precisa para realizar qualquer tarefa final, como extrair registros do EC2. CloudWatch

   1. Em **Default result** (Resultado padrão), especifique a ação que o grupo do Auto Scaling executa quando o tempo limite se esgota ou quando há uma falha inesperada. **ABANDON** (ABANDONAR) e **CONTINUE** (CONTINUAR) permitem que a instância termine. 
      + Se você escolher **CONTINUE** (CONTINUAR), o grupo do Auto Scaling poderá prosseguir com todas as ações restantes, como outros ganchos do ciclo de vida, antes do término. 
      + Se você escolher **ABANDON**, o grupo do Auto Scaling encerrará a instância imediatamente. 

   1. (Opcional) Em **Metadados de notificação**, especifique outras informações que você deseja incluir quando o Amazon EC2 Auto Scaling enviar uma mensagem ao destino da notificação.

1. Escolha **Criar**.

## Adicionar ganchos do ciclo de vida (AWS CLI)
<a name="adding-lifecycle-hooks-aws-cli"></a>

Crie e atualize ganchos de ciclo de vida usando o comando [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html).

Para executar uma ação de expansão, use o seguinte comando:

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-launch-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING
```

Para executar uma ação de redução, use o comando a seguir:

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING
```

Para receber notificações usando o Amazon SNS ou o Amazon SQS, adicione as opções `--notification-target-arn` e `--role-arn`. Para receber notificações usando AWS Lambda, adicione `--notification-target-arn` o.

O exemplo a seguir cria um gancho do ciclo de vida que especifica um tópico do SNS chamado`my-sns-topic` como destino de notificação.

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook  \
  --auto-scaling-group-name my-asg \
  --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \
  --notification-target-arn arn:aws:sns:region:123456789012:my-sns-topic \
  --role-arn arn:aws:iam::123456789012:role/my-notification-role
```

O tópico recebe uma notificação de teste com o seguinte par de chave/valor:

```
"Event": "autoscaling:TEST_NOTIFICATION"
```

Por padrão, o [put-lifecycle-hook](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-lifecycle-hook.html)comando cria um gancho de ciclo de vida com um tempo limite de pulsação de `3600` segundos (uma hora). 

Para alterar o tempo limite de pulsação de um hook existente do ciclo de vida, adicione a opção `--heartbeat-timeout`, conforme exibido no exemplo a seguir.

```
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-termination-hook \
  --auto-scaling-group-name my-asg --heartbeat-timeout 120
```

Se uma instância já estiver em estado de espera, você pode evitar que o gancho do ciclo de vida atinja o tempo limite gravando uma pulsação usando o comando CLI [record-lifecycle-action-heartbeat](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/record-lifecycle-action-heartbeat.html). Isso estende o tempo limite pelo valor especificado quando você criou o gancho do ciclo de vida. Se você terminar antes do término do período de tempo limite, poderá enviar o comando da [complete-lifecycle-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/complete-lifecycle-action.html)CLI para permitir que a instância prossiga para o próximo estado. Para ter mais informações e exemplos, consulte [Concluir uma ação do ciclo de vida em um grupo do Auto Scaling](completing-lifecycle-hooks.md).