Automatize o gerenciamento de instâncias EC2 e RDS com AWS Lambda, incluindo notificações em tempo real via Slack para monitoramento simplificado do ambiente.
- Linguagem: Ruby 3.4
- Serviços AWS:
- EC2 (Elastic Compute Cloud)
- RDS (Relational Database Service)
- Lambda (Serverless Functions)
- EventBridge (Agendamento)
- CloudWatch (Logs e Monitoramento)
- SNS (Simple Notification Service)
Configure as políticas de acesso necessárias para que as funções Lambda possam gerenciar os recursos EC2 e RDS.
📖 Acessar Documentação Completa
Implemente a função Lambda responsável por inicializar as instâncias EC2 e RDS nos horários programados.
📖 Acessar Documentação Completa
Configure a função Lambda que desliga as instâncias EC2 e RDS automaticamente, otimizando custos operacionais.
📖 Acessar Documentação Completa
- ✅ Redução de custos com automação de recursos
- ✅ Monitoramento proativo via Slack
- ✅ Agendamento flexível com EventBridge
- ✅ Logs centralizados no CloudWatch
- ✅ Infraestrutura como código serverless
📝 Configuração da Função Lambda
1️⃣ Criar Função Lambda
Configure a função Lambda responsável por inicializar as instâncias EC2 e RDS automaticamente.
🎯 Passos
start_instancesRuby 3.4start-stop-instance-role2️⃣ Estrutura de Arquivos
A função Lambda deve conter dois arquivos Ruby com as seguintes responsabilidades:
📄
lambda_function.rb- Handler PrincipalArquivo principal que gerencia o fluxo de inicialização das instâncias.
💻 Ver código completo
🔍 Funcionalidades:
📄
holiday.rb- Gerenciador de FeriadosClasse responsável por identificar feriados nacionais brasileiros.
💻 Ver código completo
🔍 Funcionalidades:
3️⃣ Variáveis de Ambiente
Configure as variáveis de ambiente necessárias para o funcionamento da Lambda.
🎯 Passos
🔑 Lista de Variáveis
BASTION_IDi-0a1b2c3d4e5f6g7h8DEV_APP_IDi-9j8h7g6f5e4d3c2b1RDS_INSTANCE_IDdev-dbREGIONus-east-1SLACK_WEBHOOK_URLhttps://hooks.slack.com/services/...START_FUNCTION_URLhttps://...lambda-url...STOP_FUNCTION_URLhttps://...lambda-url...4️⃣ Configurar Trigger com EventBridge
Agende a execução automática da função Lambda usando EventBridge.
🎯 Passos
start_instances_eventcron(00 10 ? * MON-FRI *)⏰ Expressão Cron
📅 Agendamento:
✅ Resultado
Após a configuração completa, a função Lambda irá: