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 de Permissões IAM
📝 Passo a Passo
1️⃣ Criar Política IAM
Configure a política que define as permissões necessárias para gerenciar instâncias EC2 e RDS.
🎯 Passos
start-stop-instance-policy📄 JSON da Política
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:StartInstances", "ec2:StopInstances", "rds:DescribeDBInstances", "rds:StopDBInstance", "rds:StartDBInstance" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }✅ Permissões Incluídas
2️⃣ Criar Role IAM para Lambda
Crie a role que será assumida pelas funções Lambda para executar as operações.
🎯 Passos
start-stop-instance-role📄 JSON de Confiança (Trust Policy)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }🔑 Informações da Role
3️⃣ Anexar Política à Role
Vincule a política criada anteriormente à role do Lambda.
🎯 Passos
start-stop-instance-policy✅ Resultado
Sua role agora possui todas as permissões necessárias para: