lambdaでのスナップショット自動削除

0

Eventbridgeを経由してlambdaでRDS、EC2のスナップショットを自動削除をしたいと考えております。 削除方針としては下記のようになります

①実行時点から直近2世代のスナップショットは保持 ②作成日時から90日以上経過しているスナップショットは削除

上記の条件をpython3.9で実行したいと考えております。 また、経過日数と保持世代を変数として設定して実行しようと考えておりますがいかがでしょうか。 上記条件を満たすような参考記事やコードを共有していただけたら幸いでございます。

NK39
質問済み 1年前468ビュー
3回答
0

ご質問ありがとうございます。

少し古いですが、ベースとなりそうなコードがありましたので、以下のサイトをご参考いただければと思います。 https://qiita.com/pict3/items/9fab02438dc22c0b85ea

①Describeのをprefixを指定してグループ単位で一覧を取得

上記サイトのコードで、 機能  : 作成順でソートしたAMIイメージリストを取得する 部分の関数のイメージかと思われますのでご参照ください。

②一覧から直近3つ目のスナップショットを判定 (直近2つは残す)

上記サイトのコードで、 機能  : 保持世代よりも古いイメージを削除する 部分の関数のイメージかと思われますのでご参照ください。

また、世代数をEC2のtagに記載しておくと、運用はしやすくなると思います。 設定方法などは以下をご参照ください。 http://pict3.hatenablog.com/entry/2015/12/09/104015

profile picture
回答済み 10ヶ月前
  • ご回答いただきありがとうございます。 上記の記事も参考にさせていただきます。 大変お手数お掛けしますが、RDSスナップショットの削除の参考記事等ございましたら、 共有いただけると幸いです。 RDSのスナップショット削除方針も以下を考えております

    ①Describeのをprefixを指定してグループ単位で一覧を取得 ②一覧から直近3つ目のスナップショットを判定 (直近2つは残す) ③作成日時から90日以上経過しているスナップショットは削除

    以上、よろしくお願い致します。

  • また、追加条件としてスナップショットの名前にbackupなどといった文字列を検索し尚且つ後ろにbef,aftとついているスナップショットをsuffixとして抽出して、それぞれbef,aft2世代保持というlambda関数も作れそうでしょうか?

0

①についてはスナップショットの自動取得と世代管理をあわせて記載されていますが、以下サイトが参考になると思います。 https://www.itc109.com/knowledge/aws/aws-ebs-snapshot-generation

②については以下サイトの経過日数を指定して削除している箇所が参考になると思います。 https://zenn.dev/ano/articles/7b4a6a7962cbcc

また、EC2やRDSの定期バックアップや世代管理ができるAWS Backupというサービスもございます。 こちらはスクリプトの記述もせずに自動化でき、一元管理することができますのでご参考ください。 https://aws.amazon.com/jp/backup/

profile picture
回答済み 10ヶ月前
  • ご回答いただきありがとうございます。 また、lambdaで以下の方針も考えているおりますが、それは可能でしょうか。

    ①Describeのをprefixを指定してグループ単位で一覧を取得 ②一覧から直近3つ目のスナップショットを判定 (直近2つは残す)

0

RDSのほうも少し古いですが、以下のサイトのコードが参考になると思います。 ご確認ください。

https://www.itc109.com/knowledge/database/lambda-snapshot-rds

profile picture
回答済み 10ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ