Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除
画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらやってみました。
当ブログサイトのEC2に対して定期実行しているので何かあれば修正します。
- Amazon EC2のAMIイメージを自動取得
- 保持日数が過ぎたAMIを登録解除して
- スナップショットも削除
- 結果はSlackへ通知
- CloudWatchイベントからLambdaを実行
- LambdaのランタイムはPython 3.6
目次
ソースコード
- AMIの情報(IDとスナップショット)取得では最初、Ownersを指定しなかったのでパブリックAMIも含めて全部見に行ってたみたいで処理が終わりませんでした。
-
purge_daysを加算したCreationDateと現在を比較して削除対象にするか判定しています。
このまま使う場合
- ダウンロードしたコードをzipにしてLambda関数を作成します。
- Slackでチームを作成、または既存のSlackでIncoming Webhookを設定します。
- Slackで #ec2_create_imageチャンネルを作ります。
- 環境変数を設定します。
- 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入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER
先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …
-
-
AWS Systems Manager セッションマネージャを使用するために必要な設定
AWS Systems Manager セッションマネージャを使用するために必要 …
-
-
EC2 Dedicated Hosts(専有ホスト)を起動
クォータ引き上げ 新規で作成したアカウントではDedicated Hostsがソ …
-
-
AWS EC2 でインスタンスにIPアドレスを紐付ける
AWS EC2で作ったサーバは何もしなければ起動するたびにIPアドレスが変わって …
-
-
EC2 Auto ScalingカスタムメトリクスのモニタリングにCloudWatch検索式が便利でした
EC2 Auto Scalingで起動したインスタンスのカスタムメトリクス この …
-
-
API Gatewayから直接 DynamoDBに書き込む
やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …
-
-
AWS Transit Gateway Network ManagerにTransit Gatewayを登録してルートアナライザーで確認
グローバルネットワークの作成 VPC左ペインのメニュー Transit Gate …
-
-
「Getting started with AWS Glue DataBrew」をやってみました
AWS Glue DataBrewを体験してみたくて、開発者ガイドのチュートリア …
-
-
EC2インスタンスWindowsでセッションマネージャーを使う
WindowsのEC2インスタンスでセッションマネージャーを使ってみたことがない …
-
-
ヤマムギ vol.24 API GatewayでREST API作成と直接DynamoDB登録のデモをしました
2週間ぶりのヤマムギ勉強会デモなのでなんだか久しぶりな気がしました。 今日はポケ …


