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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWS Step Functions まずはパラレルでLambdaを並列実行してみました
複数のlambdaの実行制御をLambdaでやってましたが、その部分をStep …
-
-
Lambda関数で自分自身の環境変数を更新する
Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …
-
-
BearからNotionへの引っ越し(Amazon Q Developer for CLIに丸投げ)
MacとiPhoneでのテキスト管理と共有で長年Bearを使っていましたが、Wi …
-
-
Amazon BedrockがGAしたので触りました(boto3からも)
Amazon Bedrock Is Now Generally Availabl …
-
-
AWS OrganizationsでAWSアカウントを25作りたいのでPythonで作った
AWSアカウントを25作る必要があったので、Lambda Python 3.7で …
-
-
Amazon Route 53プライベートホストゾーン設定
Amazon Route 53プライベートホストゾーンを作成してみました。 Ro …
-
-
Redmineの添付ファイルをS3に同期する
RedmineをAWS上で構築するデザインを考えていて、せっかくなので冗長化しよ …
-
-
iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う
iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …
-
-
AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)
Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKM …
-
-
AWS CDKでクロススタックリファレンスをする
CloudFormationで複数のスタックで参照することがあります。 それをC …


