ヤマムギ

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


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

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

 - AWS , ,

ad

ad

  関連記事

Backlogの実績工数をAmazon QuickSightで可視化してわかったこと

今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …

S3署名付きURL(GetObject)生成後にオブジェクトを上書きアップロードしたら

ダウンロードリクエストを実行したタイミングのオブジェクトがダウンロードされるので …

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE + 絶対圧センサーで遊ぼう!」ワークショップにいってきた

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE …

RDSの拡張モニタリングを有効にしました

RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …

「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確定したのでAmazon著者セントラルに登録した

初の執筆本、「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確 …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

Amazon Route 53 Resolverを設定確認

Route 53 Resolverを設定しました。 東京リージョンのVPCをオン …

Well-Architected Tool レンズヴァージョンアップ

当ブログのWell-Architectedレビューを久しぶりにやろうと思い、We …

Amazon EC2 Auto Scalingのライフサイクルフック

EC2 Auto Scalingにライフサイクルフックという機能があります。 ス …