AWS destrói automaticamente instâncias EC2 com mais de X dias

AWS destrói automaticamente instâncias EC2 com mais de X dias

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

informação relacionada