Neste post, vou mostrar como configurar o Amazon CloudWatch para monitorizar a utilização de CPU em instâncias EC2 e reiniciá-las automaticamente quando a utilização ultrapassar um limite especificado. Esta automação melhora a fiabilidade das suas aplicações, garantindo que as instâncias permaneçam responsivas e com bom desempenho.
Passo 1: Configurar o Alarme do CloudWatch para Utilização de CPU em EC2
Abra o Console do CloudWatch
Aceda ao CloudWatch: Entre no Console de Gestão da AWS e abra o serviço CloudWatch.
Crie um Novo Alarme:
No menu à esquerda, clique em Alarmes e depois em Criar alarme.
Selecione a Métrica
Clique em Selecionar métrica.
Navegue para EC2 > Métricas por Instância.
Escolha a instância que pretende monitorizar e selecione a métrica CPUUtilization.
Configure as Condições do Alarme
Clique em Seguinte e forneça um nome para o alarme (por exemplo, AlarmeDeAltaUtilizaçãoDeCPU).
Reveja as suas configurações e clique em Criar alarme.
Passo 2: Criar uma Regra no EventBridge
Abra o Console do EventBridge
Aceda ao Amazon EventBridge.
Crie uma Nova Regra:
Clique em Regras no menu à esquerda e depois em Criar regra.
Configure os Detalhes da Regra
Forneça um nome para a regra (por exemplo, HighCPUAlarmRule).
Defina o padrão do evento:
Escolha AWS Services como fonte de Evento.
Selecione Cloudwatch como serviço.
Selecione Cloudwatch Alarm State Change como o tipo de evento.
Defina o Alvo:
Na secção Alvo, escolha Função Lambda.
Passo 3: Criar a Função Lambda
Crie uma Nova Função Lambda:
Clique em Criar função e escolha Autor do zero.
Dê um nome à função (por exemplo, GerirAltaUtilizacaoDeCPU).
Escolha um ambiente de execução (por exemplo, Python 3.x).
Configurar a Função de Execução
Crie uma nova função de execução com permissões básicas do Lambda e adicione permissões para ec2 e CloudWatch:
{
"Effect": "Allow",
"Action": [
"ec2:RebootInstances",
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics"
],
"Resource": "*"
}
Implementar o Código Lambda
Volte à regra de EventBridge e selecione a função Lambda criada no passo anterior.
Clique em Criar regra.
Testar a Função Lambda
Instale o dispositivo de stress na instância EC2:
sudo amazon-linux-extras install epel -y
sudo yum install stress -y
Execute o comando stress --cpu 4 --timeout 600, que deve simular alta utilização de CPU por 5 minutos.
Conclusão
Seguindo estes passos, configurou com sucesso um fluxo de trabalho automatizado para monitorizar a utilização de CPU nas suas instâncias EC2 e reiniciá-las sempre que necessário.
Top comments (0)