Tutorial: registre o estado de um grupo de Auto Scaling usando EventBridge - 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: registre o estado de um grupo de Auto Scaling usando EventBridge

Você pode executar uma AWS Lambdafunção que registra eventos sempre que um grupo do Auto Scaling inicia ou encerra uma EC2 instância da Amazon que indica se um evento foi bem-sucedido.

Para obter informações sobre mais cenários que usam eventos do Amazon EC2 Auto Scaling, consulte Use to handle EventBridge Auto Scaling events no Amazon Auto Scaling User EC2Guide.

Neste tutorial, você cria uma função Lambda e cria uma regra no EventBridge console que chama essa função quando um grupo do Amazon Auto EC2 Scaling inicia ou encerra uma instância.

Pré-requisitos

Para concluir este tutorial, serão necessários os seguintes recursos:

Etapa 1: criar uma função do Lambda

Crie uma função do Lambda para registrar os eventos de aumento e redução da escala na horizontal para seu grupo do Auto Scaling.

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. Insira um nome para a função do Lambda. Por exemplo, atribua à função o nome LogAutoScalingEvent.

  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('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Escolha Deploy (Implantar).

Etapa 2: Criar uma regra

Crie uma regra para executar a função do Lambda criada na etapa 1. A regra é executada quando seu grupo do Auto Scaling inicia ou interrompe uma instância.

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, selecione ajuste de escala automático na lista suspensa.

    2. Em Tipo de evento, selecione Iniciar e encerrar instância na lista suspensa.

    3. Escolha Qualquer evento de instância e Qualquer nome de grupo.

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

  14. Escolha Próximo.

  15. Escolha Próximo.

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

Etapa 3: Testar a regra

Você pode testar a regra escalando manualmente um grupo do Auto Scaling para que ele inicie uma instância. Espere alguns minutos para que o evento que aumenta a escala horizontalmente ocorra, verifique se sua função do Lambda foi invocada.

Para testar a regra usando um grupo do Auto Scaling
  1. Para aumentar o tamanho de seu grupo do Auto Scaling, faça o seguinte:

    1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

    2. No painel de navegação, escolha Auto Scaling, Auto Scaling Groups (Grupos de Auto Scaling).

    3. Marque a caixa de seleção para seu grupo do Auto Scaling.

    4. Na guia Details (Detalhes), escolha Edit (Editar). Em Desejada, aumente a capacidade desejada para um. Por exemplo, se o valor atual for 2, digite 3. A capacidade desejada deve ser menor ou igual ao tamanho máximo do grupo. Se o seu novo valor para Desejado for maior que Máx, você deve atualizar Máx. Ao terminar, escolha Salvar.

  2. 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ê iniciou.

  3. (Opcional) Ao concluir, é possível diminuir a capacidade desejada em um nível para que o grupo do Auto Scaling volte ao tamanho anterior.

Etapa 4: 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 5: 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.