質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

984閲覧

LambdaによるDBクラスターのスナップショットの自動削除ができない

退会済みユーザー

退会済みユーザー

総合スコア0

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2021/11/15 02:13

編集2021/11/15 03:36

前提・実現したいこと

Python3.9
スナップショットを保持したい日数は2日間。
LambdaによるAuroraクラスター-サーバレスの定期バックアップを行いたい。
参考サイト:https://fingerease.work/archives/lambda_aurora_get__snapshot/

発生している問題・エラーメッセージ

スナップショットの取得は問題なくできているが、削除が実行されない。
具体的には、11月12日(金)に作成したものが本日15日(月)に削除されていない。

該当のソースコード

Python3.9

1# スナップショットの削除関数 2def delete_snapshots(prefix, days): 3 # スナップショット一覧の情報を取得 4 snapshots = rds.describe_db_cluster_snapshots() 5 # 現在時刻を取得 6 now = datetime.utcnow().replace(tzinfo=None) 7 for snapshot in snapshots['DBClusterSnapshots']: 8 # python2.7 9 #if not snapshot.has_key('SnapshotCreateTime'): 10 # python3.7 11 if not 'SnapshotCreateTime' in snapshot: 12 # 情報の中にSnapshotCreateTimeがなければ処理を抜ける 13 continue 14 15 # スナップショット作成時刻から経過時間を測定 16 delta = now - snapshot['SnapshotCreateTime'].replace(tzinfo=None) 17 # 「delete_days」以上に日数が経過していれば削除処理を実行 18 if snapshot['DBClusterSnapshotIdentifier'].startswith(prefix) and delta.days >= days: 19 print('%d日前のスナップショット↓を削除しました' % delta.days) 20 print(snapshot['DBClusterSnapshotIdentifier']) 21 rds.delete_db_cluster_snapshot(DBClusterSnapshotIdentifier=snapshot['DBClusterSnapshotIdentifier'])

引数等の指定は全て参考サイトの通りです。

試したこと

・通常はEventBridgeを使用しスケジュールイベントをトリガーにしているが手動でLambdaを起動してみたが作成は出来たが削除は実行されなかった
・ロールの見直しをし[rds:*]を許可しているが変わらない
・ログを確認してみたがエラーは発生していない様子

補足情報

コーディング初心者のためどこが間違っているか気になる点をご教授いただきたいです。宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2021/11/15 12:57

どこが間違っているかを絞り込むためにデバッグをしてください 設定値がわからないので抜粋でなく全部貼ってください。 また、毎日動かしている時刻を記載してください(EventBridgeのScheduleはUTCなのでご注意を) print(snapshot['DBClusterSnapshotIdentifier']) の部分の出力はどうなっていましたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問