Ir para o conteúdo

Como posso receber notificações personalizadas por e-mail quando minha instância do Amazon EC2 muda de estado?

4 minuto de leitura
0

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:

  1. Crie um tópico do Amazon SNS.
    Observação: em Tipo, selecione Padrão.
  2. 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.
  3. Abra o console do EventBridge.
  4. Selecione Criar regra. Ou, no painel de navegação Eventos, clique em Regras e, em seguida, em Criar regra.
  5. Insira um Nome e uma Descrição para a sua regra.
  6. Mantenha as configurações padrão de Barramento de eventos e Tipo de regra e, em seguida, selecione Próximo.
  7. Em Padrão de evento, mantenha a Origem do evento como Serviços da AWS. Em Serviço da AWS, clique em EC2.
  8. Em Tipo de evento, selecione Notificação de alteração de estado da instância do EC2.
  9. Mantenha Qualquer estado e Qualquer instância como as configurações padrão e clique em Próximo.
  10. Em Selecionar um destino, selecione Tópico do SNS.
  11. Em Tópico, selecione o tópico do SNS que você criou e clique em Próximo.
  12. Expanda a seção Configurações adicionais. Em Configurar entrada de destino, clique em Transformador de entrada.
  13. 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"
    }
}
  1. Clique em Próximo.
  2. Deixe as Tags opcionais vazias e, em seguida, selecione Próximo.
  3. 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:

AWS OFICIALAtualizada há 6 meses