Como faço para ser notificado quando são feitas alterações nos registros de zona hospedada do Route 53?

5 minuto de leitura
0

Como faço para receber uma resposta por e-mail com uma notificação personalizada quando conjuntos de registros de recursos são criados ou excluídos do Amazon Route 53?

Breve descrição

Você pode usar um padrão de evento personalizado com uma regra do Amazon EventBridge ou do Amazon CloudWatch Events que é acionada quando a atividade da API ChangeResourceRecordSets é registrada no AWS CloudTrail. Em seguida, encaminhe a resposta para um tópico do Amazon Simple Notification Service (Amazon SNS).

Resolução

Se você ainda não criou um tópico do Amazon SNS com uma assinatura de e-mail, siga as instruções para Começar a usar o Amazon SNS. Este tópico e a assinatura serão usados posteriormente. Este artigo divide a tarefa em três partes:

  • Criar uma regra do EventBridge para corresponder às chamadas de API do Route 53 capturadas pelo CloudTrail
  • Associar a regra do EventBridge a um destino SNS para notificação por e-mail
  • Configurar o Transformador de entrada no alvo para que a notificação possa ser personalizada em uma mensagem legível por humanos

Para ser notificado quando forem feitas alterações nos registros de zona hospedada do Route 53, siga todas as etapas de cada tarefa.

Criar uma regra do EventBridge

O Route 53 é um serviço global da AWS que está disponível somente no Leste dos EUA (Norte da Virgínia). A regra EventBridge deve ser criada no Leste dos EUA (Norte da Virgínia).

1.    Abra o console do EventBridge.

2.    No painel de navegação, escolha Regras, em seguida, escolha Criar regra.

3.    Nos campos Nome e Descrição, insira um nome e uma descrição para a regra. Para receber eventos dos serviços da AWS, selecione Habilitar a regra nos barramentos de eventos selecionados.

4.    Escolha Regra com um padrão de eventos. Em seguida, escolha Próximo.

5.    Escolha Eventos da AWS ou de parceiros do EventBridge.

6.    Em Padrão de evento escolha o seguinte:

Para Fonte de eventos, escolha Serviços da AWS Para Serviço da AWS, escolha Route 53. Para Tipo de evento escolha Chamada de API da AWS por meio do CloudTrail

7.    Escolha Operações específicas e insira ChangeResourceRecordSets no campo. Isso limitará os eventos a coincidirem apenas para criação, exclusão ou atualização de conjuntos de registros de recursos.

O seguinte padrão de evento é exibido:

{
  "source": ["aws.route53"],
  "detail-type": ["AWS API Call via CloudTrail"],
  "detail": {
    "eventSource": ["route53.amazonaws.com"],
    "eventName": ["ChangeResourceRecordSets"]
  }
}

8.    Escolha Próximo para prosseguir para a próxima etapa.

Associar o destino do SNS à regra do EventBridge

1.     Na seção Tipos de destino, escolha Serviço da AWS.

2.    Na lista suspensa Selecionar um destino, escolha Tópico do SNS.

3.    Na lista suspensa Tópico, escolha o tópico do SNS que você criou anteriormente.

Configurar o Transformador de entrada para personalizar a notificação SNS

Por padrão, o EventBridge encaminha todo o evento do CloudTrail para o destino. Em seguida, o tópico SNS entrega uma notificação como JSON não formatado. Isso pode ser dificultar a leitura e a compreensão imediata do conteúdo.

Ao usar o Transformador de entrada, campos específicos no evento de entrada podem ser selecionados e, depois, integrados a uma mensagem mais legível para humanos. O Caminho de entrada identifica os campos desejados.

Neste exemplo, eventTime, hostedZone, username e eventID são incluídos na notificação. Os campos podem ser alterados para se alinharem ao seu caso de uso. O Modelo de entrada contém o corpo da mensagem da notificação e os espaços reservados que serão atualizados dinamicamente com os campos desejados.

1.    Expanda a lista suspensa Configurações adicionais. Na lista suspensa Configurar entrada de destino, escolha Transformador de entrada.

2.    Escolha Configurar transformador de entrada.

3.    No campo Caminho de entrada, cole o seguinte texto:

{
    "eventTime": "$.detail.eventTime",
    "hostedZone": "$.detail.requestParameters.hostedZoneId",
    "userName": "$.detail.userIdentity.sessionContext.sessionIssuer.userName",
    "eventID": "$.detail.eventID"
}

4.    No campo Modelo, cole o seguinte texto:

"At <eventTime>, one or more Route 53 records within Hosted Zone <hostedZone> were modified by user <userName>. To view the event directly in your Event History and review these changes, use the following link. Note that the event may take up to 15 minutes to be available in your Event History: https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=<eventID>"

6.    Escolha Confirmar.

7.    (Opcional) Adicione tags à regra do EventBridge. Em seguida, escolha Próximo.

8.    Revise a configuração da regra. Em seguida, escolha Criar regra.

Depois que a regra for criada, qualquer alteração nos conjuntos de recursos do Route 53 resultará em uma notificação semelhante à seguinte:

"At 2022-08-16T21:02:46Z, one or more Route 53 records within Hosted Zone ZB3A123456789 were modified by user Admin. To view the event directly in your Event History and review these changes, use the following link. Note that the event may take up to 15 minutes to be available in your Event History: https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=04d08662-537e-4424-97c2-8bc796943b75"

Informações relacionadas

Como faço para criar um padrão de evento personalizado para uma regra do EventBridge?

Como faço para configurar notificações do EventBridge legíveis por humanos para chamadas de API usando o transformador de entrada?

Tutorial: usar o transformador de entrada para personalizar o que o EventBridge passa para o destino do evento

Tutorial: registrar chamadas de API da AWS usando o EventBridge

AWS OFICIAL
AWS OFICIALAtualizada há um ano