Q58 — AWS DVA-C02 第1章
第 58/100 問 | ← 第1章
企業は、AWS CloudFormationテンプレートをAWS CodePipelineと統合したCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの一部として使用し、すべてのAmazon RDS DBインスタンスをデプロイしています。DBインスタンスのマスターパスワードは、デプロイプロセス中に自動生成される必要があります。この要件を満たすために、開発作業量が最小となる解決策はどれですか?
- A. AWS LambdaでサポートされるCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述し、その文字列をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationの組み込み関数Fn::GetAttを使用して安全な文字列の値を取得し、その値でDBインスタンスを作成します。
- B. CodePipelineのAWS CodeBuildアクションを使用し、AWS CLIコマンド「aws secretsmanager get-random-password」で安全な文字列を生成します。生成された安全な文字列をCloudFormationパラメータとして渡し、NoEcho属性をtrueに設定します。パラメータ参照を使用してDBインスタンスを作成します。
- C. AWS LambdaでサポートされるCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述し、その文字列をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationの組み込み関数Fn::GetAttを使用して安全な文字列の値を取得し、AWS Secrets Managerにシークレットを作成します。secretsmanager動的参照を使用して、シークレットに格納された値でDBインスタンスを作成します。
- D. AWS::SecretsManager::Secretリソースを使用して安全な文字列を生成し、AWS Secrets Managerにシークレットとして保存します。secretsmanager動的参照を使用して、シークレットに格納された値でDBインスタンスを作成します。 ✓
正解: D. AWS::SecretsManager::Secretリソースを使用して安全な文字列を生成し、AWS Secrets Managerにシークレットとして保存します。secretsmanager動的参照を使用して、シークレットに格納された値でDBインスタンスを作成します。
解説
選択肢Dの解決策は、AWS Secrets Managerを使用して安全な文字列を生成・保存し、secretsmanager動的参照によりその値をDBインスタンス作成に適用するものです。これは有効な解決策であり、AWS Secrets Managerは機密情報の管理に特化しており、シークレットの安全な保存およびアクセス制御を提供します。