Secrets Manager の Lambda ローテーション関数が「Database engine must be set to 'postgres'/'mysql'」というエラーで失敗したのはなぜですか?

所要時間2分
0

AWS Secrets Manager の AWS Lambda ローテーション関数が「Database engine must be set to 'postgres'/'mysql'」というエラーで失敗しました。

簡単な説明

ユーザーの認証情報にマルチユーザーの AWS Lambda ローテーション関数を使用している場合、このエラーが発生することがあります。

注: このエラーは、Amazon Relational Database Service (Amazon RDS) の Amazon Aurora PostgreSQL 互換エディションと Amazon Aurora MySQL 互換エディションの 2 つのデータベースタイプでのみ発生します。

このエラーは、Amazon RDS データベース認証情報の Lambda ローテーション関数の setSecret ステップで発生します。

解決方法

関数のコードに変更を加えた場合は Lambda ローテーション関数を編集し、変更を加えなかった場合は新しいローテーションを作成します。

オプション 1: ローテーション関数のコードの編集

  1. Lambda コンソールを開きます。

  2. ナビゲーションペインで [関数] を選択し、Lambda 関数名を選択します。

  3. [アクション] ドロップダウンリストで [関数のエクスポート] を選択し、[デプロイパッケージのダウンロード] を選択します。

  4. ダウンロードした .zip ファイルからファイルを抽出します。

  5. Visual Studio Code IDE で、lambda_function.py ファイルを開きます。

  6. get_secret_dict() ヘルパー関数で、if secret_dict['engine'] != 'mysql': を次のコードに置き換えます:

    supported_engines = ["mysql", "aurora-mysql"]
    if secret_dict['engine'] not in supported_engines:
  7. 更新後の lambda_function.py ファイルを含む .zip フォルダーの内容を圧縮します。

  8. Lambda コンソールの [コード] タブで [アップロード元] ドロップダウンリストから [.zip ファイル] を選択し、手順 7 の新しい .zip フォルダーを選択します。

オプション 2: 新しいローテーション関数を作成する

  1. Secrets Manager コンソールを開きます。
  2. [シークレット] ページで、シークレット名を選択します。
  3. [シークレットの詳細] ページの [ローテーション構成] セクションで、[ローテーションを編集] を選択します。
  4. [ローテーション設定を編集する] ダイアログボックスで、手順 3e の指示に従って、ローテーション用のシークレットを設定します。
  5. [個別の認証情報を使用してこのシークレットをローテーションする][はい] を選択します。
  6. [シークレット] で、Amazon RDS または Amazon Aurora のプライマリデータベースの認証情報のシークレットを選択します。
  7. [保存] を選択します。
  8. (オプション) 以前の Lambda ローテーション関数が複数のシークレットにアタッチされている場合は、それらのシークレットに新しい関数を使用できます。
    シークレットごとに [シークレットの詳細] ページを開き、[ローテーション構成] セクションで [ローテーションを編集] を選択します。[ローテーション設定を編集する] ダイアログボックスの [Lambda ローテーション関数] ** で、新しいローテーション関数を選択し、[保存]** を選択します。
  9. すべてのシークレットを新しい Lambda ローテーション関数に切り替えたら、Lambda コンソールで以前の Lambda ローテーション関数を削除します。

関連情報

サポートされていないデータベースのために AWS Secrets Manager シークレットのローテーション関数を作成するにはどうすればよいですか?

AWS Secrets Manager を使用して Amazon RDS のプライマリデータベースの認証情報のセキュリティを強化する

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ