
Criamos automaticamente instâncias EC2 como ReviewApps. O revisor deve destruir as instâncias ec2, mas isso nem sempre acontece.
Então, eu gostaria de criar um script (Lambda, Terraform, etc?) Que as instâncias EC2 para este usuário específico da AWS sejam destruídas automaticamente após X dias. Há execução conhecida?
Responder1
Agora estou funcionando com o seguinte código:
#!/usr/bin/env python3
import boto3
import datetime
from botocore.config import Config
print ("############### EC2 Cleanup Start ###############")
my_config = Config(
region_name = 'eu-central-1',
)
ec2 = boto3.resource('ec2', config=my_config)
# Delete AWS instances older than 14 days
date_filter = (datetime.datetime.now() - datetime.timedelta(days=14)).strftime("%Y-%m-%d")
instances = ec2.instances.filter(Filters=[
{'Name':'launch-time', 'Values':[date_filter+'*']},
{'Name':'tag-value', 'Values':['review-app-*']}
])
for instance in instances:
print(instance.id, instance.terminate())
print ("############### EC2 Cleanup Done ###############")