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教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
-
AWS Transit GatewayのVPN接続
上記のような構成で、オンプレミス側は東京リージョンのVPCでVyOSを起動して接 …
-
-
RDSのポイントインタイムリカバリをしました
WordPressで画像アップロードができなくなった(AWS WAFでブロックし …
-
-
GoogleForm,GASからAPI Gateway, Lambdaで入力情報をDynamoDBに格納する
vol.26 AWS認定試験テキスト認定クラウドプラクティショナーのデモ(Dyn …
-
-
VPC内のLambdaからVPCエンドポイント経由でSecrets Managerを使う
InternetGatewayのないVPCでMySQLに対して一日数回のレポーテ …
-
-
2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと
Amazon Web Services Advent Calendar 2017 …
-
-
IAM Access Analyzerの検出をEventBridgeルールで検知して通知する
やりたかったことは使用可能としているリージョンのIAM Access Analy …
-
-
CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル
チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …
-
-
MySQL WorkbenchからRDSに接続する
MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …
-
-
DynamoDB IAMポリシーで特定属性だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …


