Tutorial: Crie uma EventBridge regra que reaja às AWS API chamadas via CloudTrail - Amazon EventBridge

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

Tutorial: Crie uma EventBridge regra que reaja às AWS API chamadas via CloudTrail

Você pode usar EventBridge as regras da Amazon para reagir às API chamadas feitas por um AWS serviço que são gravadas por AWS CloudTrail.

Neste tutorial, você cria uma AWS CloudTrailtrilha, uma função Lambda e uma regra no EventBridge console. A regra invoca a função Lambda quando uma instância da Amazon EC2 é interrompida.

Etapa 1: criar uma AWS CloudTrail trilha

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

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

  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. Para AWS KMS alias, digite um alias para a KMS chave.

  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 Lambda para registrar os eventos da API chamada.

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

  2. Escolha Create function (Criar função).

  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 Lambda que você criou na etapa 2 sempre que você parar uma instância da AmazonEC2.

Para criar uma regra do
  1. Abra o EventBridge console da Amazon 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 Tipo de Regra, escolha Regra com Padrão de Evento.

  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, EC2selecione na lista suspensa.

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

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

  10. Selecione Next (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 sua regra interrompendo uma EC2 instância da Amazon usando o EC2 console da Amazon. Aguarde alguns minutos até que a instância pare e, em seguida, verifique suas AWS Lambda métricas no CloudWatch console para verificar se sua função foi executada.

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

  2. Execute uma instância. Para obter mais informações, consulte Launch Your Instance no Guia EC2 do usuário da Amazon.

  3. Pare a instância. Para obter mais informações, consulte Stop and Start Your Instance no Guia EC2 do usuário da Amazon.

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

    1. Abra o CloudWatch console 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 Encerre sua instância no Guia do EC2 usuário da Amazon.

Etapa 5: confirmar o êxito

Se você ver o evento Lambda nos CloudWatch registros, concluiu com êxito este tutorial. Se o evento não estiver em seus CloudWatch registros, comece a solucionar problemas verificando se a regra foi criada com sucesso e, se a regra parecer correta, verifique se o código da sua função 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 AWS recursos que você não está mais usando, você evita cobranças desnecessárias em sua AWS conta.

Para excluir a (s) EventBridge regra (s)
  1. Abra a página Regras do EventBridge console.

  2. Selecione as regras que foram criadas.

  3. Escolha Delete (Excluir).

  4. Escolha Delete (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. Escolha Ações, Excluir.

  4. Escolha Excluir.

Para excluir a (s) CloudTrail trilha (s)
  1. Abra a página Trilhas do CloudTrail console.

  2. Selecione as trilhas que foram criadas.

  3. Escolha Delete (Excluir).

  4. Escolha Excluir.