Quero receber notificações por e-mail quando minha instância do Amazon Elastic Compute Cloud (Amazon EC2) mudar de estado.
Breve descrição
Para receber notificações por e-mail quando sua instância do EC2 mudar de estado, crie um tópico do Amazon Simple Notification Service (Amazon SNS) para enviar mensagens para endpoints ou clientes inscritos. Use o evento Notificação de alteração de estado da instância do EC2 para criar uma regra do Amazon EventBridge.
Observação: você recebe uma cobrança separada pelo Amazon SNS e pelo EventBridge.
Resolução
Crie uma notificação personalizada por e-mail
Conclua as etapas a seguir:
- Crie um tópico do Amazon SNS.
Observação: em Tipo, selecione Padrão.
- Crie uma assinatura para o tópico do SNS.
Observação: em Protocolo, selecione E-mail. Você recebe um e-mail de confirmação da assinatura no endereço de e-mail fornecido. No e-mail, clique em Confirmar assinatura.
- Abra o console do EventBridge.
- Selecione Criar regra. Ou, no painel de navegação Eventos, clique em Regras e, em seguida, em Criar regra.
- Insira um Nome e uma Descrição para a sua regra.
- Mantenha as configurações padrão de Barramento de eventos e Tipo de regra e, em seguida, selecione Próximo.
- Em Padrão de evento, mantenha a Origem do evento como Serviços da AWS. Em Serviço da AWS, clique em EC2.
- Em Tipo de evento, selecione Notificação de alteração de estado da instância do EC2.
- Mantenha Qualquer estado e Qualquer instância como as configurações padrão e clique em Próximo.
- Em Selecionar um destino, selecione Tópico do SNS.
- Em Tópico, selecione o tópico do SNS que você criou e clique em Próximo.
- Expanda a seção Configurações adicionais. Em Configurar entrada de destino, clique em Transformador de entrada.
- Selecione Configurar transformador de entrada e insira o seguinte texto em Caminho de entrada e Modelo.
Caminho de entrada:
{
"instance-id": "$.detail.instance-id",
"state": "$.detail.state",
"time": "$.time",
"region": "$.region",
"account": "$.account"
}
Modelo:
"At <time>, the status of your EC2 instance <instance-id> on account <account> in the AWS Region <region> has changed to <state>."
Observação: Para obter mais informações sobre campos de transformação de entrada, consulte Amazon EventBridge input transformation (Transformação de entrada do Amazon EventBridge). O transformador de entrada só pode usar campos que estão presentes no evento de dados. Por exemplo, o padrão de evento a seguir para um evento capturado pela configuração anterior mostra uma instância que entrou no estado Pendente:
{
"id": "7bf73129-1428-4cd3-a780-95db273d1602",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "123456789012",
"time": "2021-11-11T21:29:54Z",
"region": "us-east-1",
"resources": ["arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"],
"detail": {
"instance-id": "i-1234567890abcdef0",
"state": "pending"
}
}
- Clique em Próximo.
- Deixe as Tags opcionais vazias e, em seguida, selecione Próximo.
- Selecione Criar regra.
Observação: a regra que você criou se aplica somente à região da AWS em que você a criou. A regra anterior gera uma notificação por e-mail sempre que uma instância muda de estado.
Teste sua notificação personalizada por e-mail
Para testar a regra, inicie e interrompa uma instância.
Observação: quando você interrompe e inicia uma instância, o endereço IP público da instância muda. Ao rotear tráfego externo para sua instância, é uma prática recomendada usar um endereço IP elástico em vez de um endereço IP público. Se você usa o Amazon Route 53, talvez seja necessário atualizar os registros DNS do Route 53 quando o endereço IP público mudar.
Antes de interromper e iniciar sua instância, realize as seguintes ações: