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á.
É possível executar uma função do AWS Lambda que registre um evento sempre que um grupo do Auto Scaling iniciar ou terminar uma instância do Amazon EC2, além de registrar se o evento de inicialização ou término teve êxito.
Para obter informações sobre outros casos que usam eventos do Amazon EC2 Auto Scaling, consulte Use o EventBridge para lidar com eventos de ajuste de escala automático no Manual do usuário do Amazon EC2 Auto Scaling.
Neste tutorial, é criada uma função do Lambda e uma regra no console do EventBridge que chama essa função quando um grupo do Amazon EC2 Auto Scaling inicia ou encerra uma instância.
Etapas:
Pré-requisitos
Para concluir este tutorial, serão necessários os seguintes recursos:
Um grupo do Auto Scaling. Para obter mais informações, consulte Como criar um grupo do Auto Scaling usando uma configuração de execução no Guia do usuário do Amazon EC2 Auto Scaling.
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.
Como criar uma função do Lambda
Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/
. -
Escolha Create function (Criar função).
-
Escolha Author from scratch (Criar do zero).
-
Insira um nome para a função do Lambda. Por exemplo, atribua à função o nome
LogAutoScalingEvent
. -
Deixe o resto das opções como padrão e escolha Criar função.
-
Na guia Código da página da função, clique duas vezes em index.js.
-
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'); };
-
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
Abra o console do Amazon EventBridge em https://console.aws.amazon.com/events/
. -
No painel de navegação, escolha Regras.
-
Escolha Create rule.
-
Insira um nome e uma descrição para a regra. Por exemplo, nomeie a regra como
TestRule
-
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.
-
Em Tipo de Regra, escolha Regra com Padrão de Evento.
-
Selecione Next (Próximo).
-
Em Fonte do evento, selecione Serviços da AWS.
-
Em Event pattern (Padrão de evento), faça o seguinte:
-
Em Origem do evento, selecione ajuste de escala automático na lista suspensa.
-
Em Tipo de evento, selecione Iniciar e encerrar instância na lista suspensa.
-
Escolha Qualquer evento de instância e Qualquer nome de grupo.
-
-
Escolha Next (Avançar).
-
Em Tipos de destino, escolha Serviço da AWS.
-
Em Selecionar um destino, escolha a função do Lambda na lista suspensa.
-
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
. -
Escolha Próximo.
-
Escolha Próximo.
-
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
-
Para aumentar o tamanho de seu grupo do Auto Scaling, faça o seguinte:
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Auto Scaling, Auto Scaling Groups (Grupos de Auto Scaling).
-
Marque a caixa de seleção para seu grupo do Auto Scaling.
-
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.
-
-
Para visualizar a saída da função do Lambda, faça o seguinte:
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Logs.
-
Selecione o nome do grupo de logs para sua função do Lambda (
/aws/lambda/
).function-name
-
Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você iniciou.
-
(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 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 5: 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
-
Abra a página Regras
no console do EventBridge. -
Selecione as regras que foram criadas.
-
Escolha Excluir.
-
Escolha Excluir.
Para excluir as funções do Lambda
-
Abra a página Funções
do console do Lambda. -
Selecione as funções que foram criadas.
-
Escolha Ações, Excluir.
-
Escolha Excluir.