本番環境の Lambda 関数が RDS MySQL データベースに接続しています。現在、データベースのパスワードは Lambda の環境変数にハードコードされています。セキュリティチームから「パスワードを定期的に自動ローテーションし、Lambda コードを再デプロイせずに常に最新のパスワードを使用できる仕組みを導入してほしい」という要件が出ました。最も適切な解決策はどれですか?
AWS Secrets Manager はデータベース認証情報の自動ローテーションを組み込みでサポートしており、RDS MySQL 用のローテーション Lambda 関数テンプレートが用意されています。ローテーション時に AWSPENDING→AWSCURRENT のフェーズ管理で無停止でパスワードを切り替えます。Lambda の実行時取得に変更することで再デプロイ不要で最新パスワードが自動反映されます。 選択肢AのEventBridge と Lambda で Lambda 環境変数を定期更新する方法は、環境変数の変更は Lambda の再起動を伴い、またローテーション機能を自前で実装・維持する必要があるため管理コストが高くなります。 選択肢CのSSMパラメータストアは、暗号化保存はできますが自動ローテーション機能がなく手動管理が必要です。 選択肢DのKMS+S3方式は、認証情報管理専用のサービスではなく、ローテーションや監査証跡の仕組みを自前で構築する必要があり最適ではありません。