ヤマムギ

growing hard days.

*

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

   

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらやってみました。
当ブログサイトのEC2に対して定期実行しているので何かあれば修正します。

  • Amazon EC2のAMIイメージを自動取得
  • 保持日数が過ぎたAMIを登録解除して
  • スナップショットも削除
  • 結果はSlackへ通知
  • CloudWatchイベントからLambdaを実行
  • LambdaのランタイムはPython 3.6

ソースコード

Githubはこちらです。

  • AMIの情報(IDとスナップショット)取得では最初、Ownersを指定しなかったのでパブリックAMIも含めて全部見に行ってたみたいで処理が終わりませんでした。

  • purge_daysを加算したCreationDateと現在を比較して削除対象にするか判定しています。

このまま使う場合

  1. ダウンロードしたコードをzipにしてLambda関数を作成します。
  2. Slackでチームを作成、または既存のSlackでIncoming Webhookを設定します。
  3. Slackで #ec2_create_imageチャンネルを作ります。
  4. 環境変数を設定します。
  5. LambdaのロールにはEC2を扱える権限のポリシーが必要です。

環境変数

環境変数名 内容
REGION_NAME リージョン ap-northeast-1
TARGET_NAME EC2 Nameタグ
PURGE_DAYS イメージの保持日数 7
SLACK_URL SlackのURL https://hooks.slack.com/services/~~~
AWS_ACCOUNT_ID AWSアカウントID 123456789012


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

RDSのポイントインタイムリカバリをしました

WordPressで画像アップロードができなくなった(AWS WAFでブロックし …

Elastic BeanstalkでflaskアプリケーションデプロイのチュートリアルをCloud9で

Elastic Beanstalk への flask アプリケーションのデプロイ …

Amazon Location Service入門ワークショップ-ジオコーディング

ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたり …

AWS Cost Anomaly Detectionでコストモニターを作成しました

[ご利用開始にあたって]を押下しました。 このあと画面を説明してくれるツアーがあ …

Route53でドメインを新規取得してDNSレコードを設定する

Elastic IPをAWSで発行しているのですから、DNSの設定も同じようにマ …

AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)

Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKM …

Lambdaでちょっとしたコードを試すときに便利なエディタのフルスクリーン機能

Lambda歴6年で、はじめて使いました。 この存在に気がついてなかったです。 …

RDSスナップショットのS3エクスポート結果確認

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …

WordPress、プラグインのアップデートしてBlue/Greenデプロイ

現在のブログの構成です。 WordPressとプラグインのアップデートをして、デ …

このブログからパブリックIPv4 IPアドレスをなくしてコスト最適化

2024年2月より使用中のパブリックIPv4アドレスに1時間あたり0.005US …