AWS は X 日以上経過した EC2 インスタンスを自動破棄します

AWS は X 日以上経過した EC2 インスタンスを自動破棄します

ReviewApps として EC2 インスタンスを自動的に作成します。レビュー担当者は EC2 インスタンスを破棄することになっていますが、必ずしもそうとは限りません。

そこで、この特定の AWS ユーザーの EC2 インスタンスが X 日後に自動的に破棄されるようにスクリプト (Lambda、Terraform など) を作成したいと思います。既知の実行方法はありますか?

答え1

次のコードで動作するようになりました:

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

関連情報