Tutorial: criar uma regra do EventBridge que reaja às chamadas de API da AWS por meio do CloudTrail - Amazon EventBridge

Tutorial: criar uma regra do EventBridge que reaja às chamadas de API da AWS por meio do CloudTrail

É possível usar as regras do Amazon EventBridge para reagir às chamadas de API feitas por um serviço da AWS que são registradas pelo AWS CloudTrail.

Neste tutorial, é criada uma trilha do AWS CloudTrail, uma função do Lambda e uma regra no console do EventBridge. A regra invoca a função do Lambda quando uma instância do Amazon EC2 é interrompida.

Etapa 1: criar uma trilha do AWS CloudTrail

Se já tiver uma trilha configurada, avance para a etapa 5.

Para criar uma trilha
  1. Abra o console do CloudTrail em https://console.aws.amazon.com/cloudfront/.

  2. Selecione Trails (Trilhas), Create trail (Criar trilha).

  3. Em Nome da trilha, digite um nome para a trilha.

  4. Em Local de armazenamento, em Criar um novo bucket do S3.

  5. Em alias do AWS KMS, digite um alias para a chave do KMS.

  6. Escolha Próximo.

  7. Escolha Próximo.

  8. Escolha Create Trail (Criar trilha).

Etapa 2: criar uma função do AWS Lambda

Crie uma função do Lambda para registrar os eventos de chamada de API.

Como criar uma função do Lambda
  1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Escolha Create function.

  3. Escolha Author from scratch (Criar do zero).

  4. Digite um nome e uma descrição para a função Lambda. Por exemplo, atribua à função o nome LogEC2StopInstance.

  5. Deixe o resto das opções como padrão e escolha Criar função.

  6. Na guia Código da página da função, clique duas vezes em index.js.

  7. Substitua o código existente pelo código a seguir.

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2StopInstance'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Escolha Implantar.

Etapa 3: criar uma regra

Crie uma regra para executar a função do Lambda criada na etapa 2 sempre que interromper uma instância do Amazon EC2.

Como criar uma regra
  1. Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Regras.

  3. Escolha Create rule.

  4. Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como TestRule

  5. Em Barramento de Eventos, escolha o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, selecione padrão. Quando um serviço da AWS em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.

  6. Em Rule type, escolha Rule with an event pattern.

  7. Selecione Next (Próximo).

  8. Em Fonte do evento, selecione Serviços da AWS.

  9. Em Event pattern (Padrão de evento), faça o seguinte:

    1. Em Origem do evento, selecione EC2 na lista suspensa.

    2. Em Tipo de evento, selecione Chamada de AWS API via CloudTrail na lista suspensa.

    3. Escolha Operações específicas e insira StopInstances.

  10. Escolha Próximo.

  11. Em Tipos de destino, escolha Serviço da AWS.

  12. Em Selecionar um destino, escolha a função do Lambda na lista suspensa.

  13. Em Função, selecione a função do Lambda criada na seção Etapa 1: criar uma função do Lambda. Neste exemplo, selecione LogEC2StopInstance.

  14. Escolha Próximo.

  15. Escolha Próximo.

  16. Analise os detalhes da regra e selecione Criar regra.

Etapa 4: testar a regra

Você pode testar a regra ao interromper uma instância do Amazon EC2 usando o console do Amazon EC2. Espere alguns minutos pela interrupção da instância e confira suas métricas do AWS Lambda no console do CloudWatch para verificar se sua função foi executada.

Como testar a regra ao parar uma instância
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Execute uma instância. Para obter mais informações, consulte Iniciar uma instância no Manual do usuário do Amazon EC2.

  3. Pare a instância. Para obter mais informações, consulte Início e interrupção de instâncias no Manual do usuário do Amazon EC2.

  4. Para visualizar a saída da função do Lambda, faça o seguinte:

    1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

    2. No painel de navegação, selecione Logs.

    3. Selecione o nome do grupo de logs para sua função do Lambda (/aws/lambda/function-name).

    4. Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você interrompeu.

  5. (Opcional) Ao terminar, encerre a instância interrompida. Para obter mais informações, consulte Encerramento de instâncias no Guia do usuário do Amazon EC2.

Etapa 5: confirmar o êxito

Se vir o evento Lambda nos registros do CloudWatch, este tutorial foi concluído com com êxito. Se o evento não estiver nos seus logs do CloudWatch, comece a solucionar problemas verificando se a regra foi criada com êxito e, se a regra parecer correta, verifique se o código da sua função do Lambda está correto.

Etapa 6: limpar os recursos

Agora você pode excluir os recursos criados para este tutorial, a menos que queira mantê-los. Ao excluir os recursos da AWS que não estão mais sendo usados, são evitadas cobranças desnecessárias em sua conta da AWS.

Para excluir as regras do EventBridge
  1. Abra a página Regras no console do EventBridge.

  2. Selecione as regras que foram criadas.

  3. Escolha Excluir.

  4. Escolha Excluir.

Para excluir as funções do Lambda
  1. Abra a página Funções do console do Lambda.

  2. Selecione as funções que foram criadas.

  3. Selecione Ações, Excluir.

  4. Escolha Excluir.

Para excluir as trilhas do CloudTrail
  1. Abra a página Trails (Trilhas) do console do CloudTrail.

  2. Selecione as trilhas que foram criadas.

  3. Escolha Excluir.

  4. Escolha Excluir.