はじめに
日々バックアップを取得するのは大切ですが
数年分くらいが積もり積もってチリツモで多少なりコストにもなっていたので
大掃除に取り組みました。
やったこと
EBSスナップショット削除の設定
AMIはEC2インスタンスの設定とEBSボリュームのスナップショットから成り立っており
単にAMIの登録を解除しても、スナップショットは削除されずに残り続けます。
紐付いたスナップショットを確認して逐一削除するのも大変なので
AMIの登録解除をトリガーにスナップショットが削除されるように設定します。
下記の記事を参考に設定しました。
AMI登録解除時、スナップショットを自動で削除するように設定してみました!
- CloudTrailで証跡を残している前提
- Cloudwatch EventsでAMIの登録解除を検知
- 連動して発火するLambdaがスナップショットを削除
CLIでAMIの登録を解除
スナップショットを気にする必要がなくなったので、心置きなく登録を解除します。
CLIを使って、条件に合致するAMIの登録を解除します。
実行コマンド
aws ec2 describe-images --filters Name=owner-id,Values=【アカウントID】 --query 'Images[?contains(Name, `【検索文字列】`)]' | jq '.[].ImageId' | xargs -I {} aws ec2 deregister-image --image-id {}
【アカウントID】: 自身のAWSアカウントID
【検索文字列】: AMINameの検索用の任意の文字列
(jqなしでできれば嬉しい…。)
むすび
秘伝のタレ的なスクリプトで定期取得されていたのが原因なので
世代管理もできるようイマドキな感じに置き換えていきたいとおもっています。