LoginSignup
8
1

More than 3 years have passed since last update.

EC2(インスタンス)が削除されて残ってしまったボリュームの削除

Last updated at Posted at 2020-01-29

問題

複数ボリューム持ちのAMIからインスタンス作成時、「終了時に削除」にチェックを忘れると、インスタンスを終了してもボリュームが迷子になって残る。
存在監視より定期的に掃除しましょう。

lambda

python3.8
import json
import boto3

def lambda_handler(event, context):
    client = boto3.client('ec2', region_name='ap-northeast-1')

    res = client.describe_volumes(
        Filters = [
            {'Name': 'status', 'Values': ['available']}
            ,{'Name': 'tag:lambda', 'Values': ['delete me']} #status条件だけで足りない時
        ]
    )
    #print(res)

    for vol in res['Volumes']:
        volId = vol['VolumeId']
        print(volId)

        volres = client.delete_volume(
            VolumeId=volId
            #,DryRun=True|False
        )
        print(volres)

    return {
        'statusCode': 200,
        'body': json.dumps('OK')
    }

トリガー

  • CloudWatchで毎日キック
  • 削除なので開発環境で確認してさらに、本番リリースは手動実行後、一日祈ってからトリガーを追加した^^;;
cron
0 1 * * ? *

ロール

EC2, CloudWatchの権限追加

参考

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1