
Creamos automáticamente instancias EC2 como ReviewApps. Se supone que el revisor debe destruir las instancias ec2, pero esto no siempre sucede.
Entonces, me gustaría programar (¿Lambda, Terraform, etc.) que las instancias EC2 para este usuario específico de AWS se destruyan automáticamente después de X días? ¿Se conocen ejecuciones?
Respuesta1
Ahora lo tengo funcionando con el siguiente 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 ###############")