Nesse artigo vamos abordar como efetuar uma função em lambda para ligar e desligar o AWS RDS todos os dias e ajudar na redução de custos.
1 – Primeiro acessaremos o painel da AWS e vamos até a opção do Lambda;
2 – Após isso iremos criar a função de stop do RDS clicando em “Criar função”;
3 – Escolheremos as opções:
- Tipo “Criar do zero”
- Utilizaremos a linguagem “Python 2.7”
- Função “Criar uma nova função a partir de um ou mais modelos”
4 – Rolando o cursor até a opção “Código da função” vamos alterar a função para o que desejamos;
5 – Agora vamos criar a nossa função para desligar a instância de RDS;
import boto3
# Região onde encontra-se minha instância
region = 'us-east-1'
# Qual tipo de serviço pois poderia ser ec2
client = boto3.client('rds')
# Nome da instância se for mais de uma separar por virgula
my_instances = ['MINHAINSTANCIA']
def lambda_handler(event, context):
# Buscando todas as instancias
for instance in my_instances:
# Funcao de stop para ligar basta alterar o stop pelo start
response = client.stop_db_instance(DBInstanceIdentifier=instance)
print 'RDS Stopped: ' +instance
6 – Pronto, nossa função está pronta. Agora basta clicar no botão testar e após isso salvar.;
Os botões ficam no canto superior direito;
7 – Com a função funcionando, agora precisamos criar um gatilho para a mesma virar um schedule. Para isso, vamos até “Designer”;
8 – Vamos buscar por “Eventos do CloudWatch” e clicar nele;
9 – Clicando ele aparecerá na opção de gatilhos, conforme imagem abaixo:
10 – Arrastando o cursor do mouse para baixo, vamos até a opção “Configurar gatilhos”;
11 – No campo “Regra” vamos escolher a opção “Criar uma nova regra”;
12 – Digite um nome para sua regra;
13 – Em tipo de regra escolha a opção “Expressão de programação”;
14 – Para desligar de segunda a sexta-feira às 20hrs , use a expressão “cron(0 22 ? * MON-FRI *)
Veja que a expressão usa o fuso UTC. Como estamos no horário de verão, existe uma diferença de 2 horas, nesse caso, colocaremos 22hrs ao invés de 20hrs.
15 – Clique em adicionar e pronto. Sua função já está funcionando!
Para ligar a instância, basta usar a mesma função somente substituindo o “stop” por “start”
Espero que tenham gostado. Em breve falaremos mais de AWS…