AWS destruye automáticamente instancias EC2 con más de X días

AWS destruye automáticamente instancias EC2 con más de X días

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 ###############")

información relacionada