Amazon-Web-Services

AWS 自動銷毀超過 X 天的 EC2 實例

  • February 23, 2022

我們自動創建 EC2 實例作為 ReviewApps。審閱者應該銷毀 ec2 實例,但這並不總是發生。

所以我想編寫腳本(Lambda、Terraform 等?)這個特定 AWS 使用者的 EC2 實例在 X 天后自動銷毀。是否有已知的執行?

現在可以使用以下程式碼:

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

引用自:https://serverfault.com/questions/1076380