1回答
- 新しい順
- 投票が多い順
- コメントが多い順
1
AWS BackupではなくFSxで管理された手動バックアップのことでしょうか?
Lambdaで削除するのは可能だと思います。
以下のdescribe_backupsではバックアップを作成した日付 ('CreationTime') が確認できます。
datetime.now() で今日の値を取得して'CreationTime'と比較します。
比較した内容が削除したい日数を超えている場合にdelete_backupを使用して削除するといったコードにすることで可能だと思いました。
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/fsx/client/describe_backups.html
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/fsx/client/delete_backup.html#
ご回答いただきありがとうございます
また、バックアップの2世代まで保持することも可能でしょうか?
こちらも可能だと思います。 describe_backupsのパラメータにフィルターをかけるものがあります。 BackupIdでフィルターをかけて現在のバックアップの個数が2個よりも多く残っていたらCreationTimeで削除したい日数以上経過していたらdelete_backupで削除すればよいと思います。
それっぽいコードを作ってみました。(動かしてはいないので動作するかは不明です) 重要なのは下の方にあるif文です。 ここでバックアップが作成されてから指定された日数 (period) 以上経過していた場合でかつバックアップの数が2個よりも多くある場合に削除するようなコードです。
ご回答いただきありがとうございます また、コードもご共有いただきありがとうございます。 こちらの方でもテストしてみます。
取得するバックアップ名をプレフィックスで絞りたいのですが、可能でしょうか また、下記のコードですが、ファイルシステムを取得しているように見えるのですが、こちらは必要な処理なのでしょうか? response = fsx.describe_file_systems(BackupIds=[backup_id])