

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

# Configurar notificações do Amazon SNS para o Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-sns-notifications"></a>

Você pode configurar seu grupo do Auto Scaling para que ele informe sobre eventos importantes que afetam sua aplicação. Com as notificações, você também pode eliminar a sondagem e não encontrará o erro `RequestLimitExceeded` que às vezes resulta da sondagem.

Há duas maneiras de receber notificações sobre o Amazon EC2 Auto Scaling:
+ **Amazon Simple Notification Service**: Amazon SNS pode notificar você quando seu grupo do Auto Scaling iniciar ou terminar instâncias. Só é possível ativar e desativar notificações do Amazon SNS. Para obter mais informações, consulte [Amazon SNS e Amazon EC2 Auto Scaling](#amazon-sns-and-ec2-auto-scaling). 
+ **Amazon EventBridge** — EventBridge fornece notificações mais avançadas, orientadas por eventos, de acordo com critérios específicos e enviadas para uma variedade de destinos, incluindo o Amazon SNS. EventBridge também pode monitorar uma variedade maior de eventos do Auto Scaling para um monitoramento mais preciso. Para obter mais informações, consulte [Use EventBridge para lidar com eventos do Auto Scaling](automating-ec2-auto-scaling-with-eventbridge.md).

Opcionalmente, você pode usar notificações com ganchos do ciclo de vida para executar ações personalizadas em instâncias durante a execução ou terminação. Para obter mais informações sobre como configurar as notificações a serem usadas com ganchos do ciclo de vida, consulte [Ganchos do ciclo de vida do Amazon EC2 Auto Scaling](lifecycle-hooks.md).

## Amazon SNS e Amazon EC2 Auto Scaling
<a name="amazon-sns-and-ec2-auto-scaling"></a>

Esta seção mostra como usar o Amazon SNS para monitorar quando o seu grupo do Auto Scaling executa ou termina instâncias. 

Por exemplo, se você configurar o grupo do Auto Scaling para usar o tipo de notificação `autoscaling: EC2_INSTANCE_TERMINATE` e seu grupo do Auto Scaling terminar uma instância, ele enviará uma notificação por e-mail. Esse e-mail contém os detalhes da instância encerrada, como o ID da instância e o motivo pelo qual a instância foi encerrada.

Observe que, à medida que o Amazon EC2 Auto Scaling adiciona ou remove instâncias do grupo, as notificações sobre essas alterações são enviadas a você, com uma notificação enviada por instância. No entanto, a entrega dessas notificações é feita com base no melhor esforço, e suas instâncias ainda podem falhar após a notificação inicial, por exemplo, se uma verificação de integridade posterior falhar. Para obter mais informações sobre essas verificações de integridade, consulte [Verificações de integridade para instâncias em um grupo do Auto Scaling](ec2-auto-scaling-health-checks.md).

Para obter mais informações sobre tópicos do Amazon SNS, consulte o [Guia do desenvolvedor do Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/).

**Contents**
+ [Notificações do SNS](#auto-scaling-sns-notifications)
+ [Configurar notificações do Amazon SNS para o Amazon EC2 Auto Scaling](#as-configure-sns)
  + [Crie um tópico do Amazon SNS](#as-sns-create-topic)
  + [Assinar o tópico do Amazon SNS](#as-sns-subscribe-topic)
  + [Confirmar sua assinatura do Amazon SNS](#as-sns-confirm-subscription)
  + [Configurar o grupo do Auto Scaling para enviar notificações](#as-configure-asg-for-sns)
  + [Testar a notificação](#testing-hook-notifications)
  + [Excluir a configuração da notificação](#delete-settingupnotifications)
+ [Política de chaves para um tópico do Amazon SNS criptografado](#sns-kms-permissions)

### Notificações do SNS
<a name="auto-scaling-sns-notifications"></a>

O Amazon EC2 Auto Scaling oferece suporte ao envio de notificações do Amazon SNS quando os seguintes eventos ocorrem.


| Event | Description | 
| --- | --- | 
| `autoscaling:EC2_INSTANCE_LAUNCH` | Ativação de instância bem-sucedida | 
| `autoscaling:EC2_INSTANCE_LAUNCH_ERROR` | Falha na ativação da instância | 
| `autoscaling:EC2_INSTANCE_TERMINATE` | Encerramento da instância bem-sucedido | 
| `autoscaling:EC2_INSTANCE_TERMINATE_ERROR` | Falha no encerramento da instância | 

A mensagem inclui as seguintes informações:
+ `Event` — O evento.
+ `AccountId`: o ID da conta do Amazon Web Services.
+ `AutoScalingGroupName`: o nome do grupo do Auto Scaling.
+ `AutoScalingGroupARN`: o ARN do grupo do Auto Scaling.
+ `EC2InstanceId` — A ID da instância do EC2.

Por exemplo:

```
Service: AWS Auto Scaling
Time: 2016-09-30T19:00:36.414Z
RequestId: 4e6156f4-a9e2-4bda-a7fd-33f2ae528958
Event: autoscaling:EC2_INSTANCE_LAUNCH
AccountId: 123456789012
AutoScalingGroupName: my-asg
AutoScalingGroupARN: arn:aws:autoscaling:region:123456789012:autoScalingGroup...
ActivityId: 4e6156f4-a9e2-4bda-a7fd-33f2ae528958
Description: Launching a new EC2 instance: i-0598c7d356eba48d7
Cause: At 2016-09-30T18:59:38Z a user request update of AutoScalingGroup constraints to ...
StartTime: 2016-09-30T19:00:04.445Z
EndTime: 2016-09-30T19:00:36.414Z
StatusCode: InProgress
StatusMessage: 
Progress: 50
EC2InstanceId: i-0598c7d356eba48d7
Details: {"Subnet ID":"subnet-id","Availability Zone":"zone"}
Origin: AutoScalingGroup
Destination: EC2
```

### Configurar notificações do Amazon SNS para o Amazon EC2 Auto Scaling
<a name="as-configure-sns"></a>

Para usar o Amazon SNS para enviar notificações por e-mail, você deve primeiro criar um *tópico* e, em seguida, assinar seus endereços de e-mail para o tópico.

#### Crie um tópico do Amazon SNS
<a name="as-sns-create-topic"></a>

 Um tópico do SNS é um ponto de acesso lógico, um canal de comunicação que seu grupo do Auto Scaling usa para enviar notificações. Você cria um tópico especificando um nome para o tópico.

Quando você cria o nome de um tópico, ele deve atender aos seguintes requisitos:
+ Ter entre 1 e 256 caracteres
+ Conter letras maiúsculas e minúsculas ASCIIs, números, sublinhados ou hífens 

Para obter mais informações, consulte [Criação de um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

#### Assinar o tópico do Amazon SNS
<a name="as-sns-subscribe-topic"></a>

Para receber as notificações que seu grupo do Auto Scaling envia ao tópico, você deve assinar um endpoint para o tópico. Neste procedimento, em **Endpoint**, especifique o endereço de e-mail no qual você deseja receber as notificações do Amazon EC2 Auto Scaling.

Para obter instruções, consulte [Assinatura de um tópico do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

#### Confirmar sua assinatura do Amazon SNS
<a name="as-sns-confirm-subscription"></a>

O Amazon SNS envia um e-mail de confirmação para o endereço de e-mail especificado na etapa anterior.

Certifique-se de abrir o e-mail em AWS Notifications (Notificações) e escolher o link para confirmar a assinatura antes de prosseguir para a próxima etapa.

Você receberá uma mensagem de confirmação de. AWS O Amazon SNS agora está configurado para receber notificações e enviar a notificação como um e-mail para o endereço de e-mail que você especificou.

#### Configurar o grupo do Auto Scaling para enviar notificações
<a name="as-configure-asg-for-sns"></a>

Você pode configurar seu grupo do Auto Scaling para enviar notificações para o Amazon SNS quando um evento de escalabilidade ocorre, como lançamento ou término de instâncias. O Amazon SNS envia uma notificação com informações sobre as instâncias para o endereço de e-mail que você especificou.

**Para configurar notificações do Amazon SNS para o seu grupo do Auto Scaling (console)**

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, mostrando informações sobre o grupo selecionado. 

1. Na guia **Activity** (Atividade), escolha **Activity notifications** (Notificações de atividades), **Create notification** (Criar notificação).

1. No painel **Criar notificações**, faça o seguinte:

   1. Em **SNS Topic** (Tópico do SNS), selecione o tópico do SNS.

   1. Em **Event types** (Tipos de eventos), selecione os eventos sobre os quais deseja enviar notificações.

   1. Escolha **Criar**.

**Para configurar notificações do Amazon SNS para o seu grupo do Auto Scaling (AWS CLI)**  
Use o seguinte comando [put-notification-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-notification-configuration.html):

```
aws autoscaling put-notification-configuration --auto-scaling-group-name {{my-asg}} --topic-arn {{arn}} --notification-types "autoscaling:EC2_INSTANCE_LAUNCH" "autoscaling:EC2_INSTANCE_TERMINATE"
```

#### Testar a notificação
<a name="testing-hook-notifications"></a>

Para gerar uma notificação para um evento de lançamento, atualize o grupo do Auto Scaling aumentando a capacidade desejada do grupo do Auto Scaling em 1. Você recebe uma notificação dentro de alguns minutos após a execução da instância.

**Para alterar a capacidade desejada (console)**

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 **Grupos do Auto Scaling** mostrando informações sobre o grupo selecionado. 

1. Na guia **Detalhes**, escolha **Detalhes do grupo**, **Editar**.

1. Em **Desired capacity (Capacidade desejada)**, aumente o valor atual em 1. Se esse valor exceder **Maximum capacity (Capacidade máxima)**, também será necessário aumentar o valor **Maximum capacity (Capacidade máxima)** em 1.

1. Selecione **Atualizar**.

1. Depois de alguns minutos, você receberá uma notificação para o evento. Se não for necessário ter a instância adicional executada para este teste, será possível reduzir **Desired capacity (Capacidade desejada)** em 1. Depois de alguns minutos, você receberá uma notificação para o evento.

#### Excluir a configuração da notificação
<a name="delete-settingupnotifications"></a>

Você poderá excluir sua configuração de notificação do Amazon EC2 Auto Scaling se ela não estiver mais sendo usada.

**Para excluir a configuração de notificação do Amazon EC2 Auto Scaling (console)**

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. Selecione seu grupo do Auto Scaling.

1. Na guia **Activity** (Atividade), marque a caixa de seleção ao lado da notificação que deseja excluir e escolha **Actions** (Ações), **Delete** (Excluir).

**Para excluir a configuração de notificação do Amazon EC2 Auto Scaling (AWS CLI)**  
Use o seguinte comando **delete-notification-configuration**:

```
aws autoscaling delete-notification-configuration --auto-scaling-group-name {{my-asg}} --topic-arn {{arn}}
```

Para obter informações sobre como excluir o tópico do Amazon SNS e todas as assinaturas associadas ao seu grupo do Auto Scaling, consulte [Exclusão de assinaturas e tópicos do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-delete-subscription-topic.html) no *Guia do desenvolvedor do Amazon Simple Notification Service*.

### Política de chaves para um tópico do Amazon SNS criptografado
<a name="sns-kms-permissions"></a>

O tópico do Amazon SNS que você especificar pode ser criptografado com uma chave gerenciada pelo cliente criada com o AWS Key Management Service. Para dar permissão ao Amazon EC2 Auto Scaling para publicar em tópicos criptografados, você deve primeiro criar sua chave KMS e depois adicionar a seguinte declaração à política da chave KMS. Substitua o ARN de exemplo pelo ARN da função apropriada vinculada ao serviço que tem permissão de acesso à chave. Para obter mais informações, consulte [Configurar AWS KMS permissões](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse) no *Guia do desenvolvedor do Amazon Simple Notification Service*. 

Neste exemplo, a declaração de política dá à função vinculada ao serviço denominada **AWSServiceRoleForAutoScaling**permissões para usar a chave gerenciada pelo cliente. Para saber mais sobre o perfil vinculado ao serviço do Amazon EC2 Auto Scaling, consulte [Perfis vinculados ao serviço do Amazon EC2 Auto Scaling](autoscaling-service-linked-role.md).

```
{
  "Sid": "Allow service-linked role use of the customer managed key",
  "Effect": "Allow",
  "Principal": {
    "AWS": "{{arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling}}"
  },
  "Action": [
    "kms:GenerateDataKey*",
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

As chaves de condição de `aws:SourceArn` e `aws:SourceAccount` não são suportadas em políticas de chaves que permitem que o Amazon EC2 Auto Scaling publique em tópicos criptografados.