次の形式のシークレット値の URL を持つシークレット マネージャーがあります。
mysql+pymysql://username:password@db-name-dbcluster-13aaj5jwbujqa.cluster-cim1u06sewzq.us-west-2.rds.amazonaws.com/
パスワードを自動的にローテーションし、ユーザーを 2 人にしたいので、ダウンタイムもありません。
提供されたサンプルコードでマルチユーザーローテーションラムダ関数を使用してみましたが、次の形式で必要になるため、私のニーズには合いません:
'engine': <required: must be set to 'mysql'>,
'host': <required: instance host name>,
'username': <required: username>,
'password': <required: password>,
'dbname': <optional: database name>,
'port': <optional: if not specified, default port 3306 will be used>,
'masterarn': <required: the arn of the master secret which will be used to create users/change passwords>
}
秘密の値にマスター Arn がありません。
シークレットマネージャーを使用して2人のユーザーでパスワードを自動的にローテーションするカスタムラムダ関数が必要なため、ローテーション中にユーザー1をユーザー2にスワップします。