Q15 — AWS SAA-C03 第14章
第 15/100 問 | ← 第14章
Q1015. ある企業は、オンプレミスのデータセンター内のサーバーで Node.js 関数を実行しています。このデータセンターでは、PostgreSQL データベースにデータを保存しています。企業は、サーバー上の環境変数に接続文字列としてデータベース認証情報を格納しています。同社はアプリケーションを AWS へ移行し、Node.js アプリケーションサーバーを AWS Lambda に置き換え、データベースを Amazon RDS for PostgreSQL へ移行したいと考えています。また、データベース認証情報を安全に管理することも求められています。これらの要件を満たすとともに、運用オーバーヘッドが最も少ないソリューションはどれですか?
- A. AWS Systems Manager Parameter Store にデータベース認証情報をパラメータとして保存します。Parameter Store を設定して、シークレットを30日ごとに自動的にローテーションするようにします。Lambda 関数を更新し、パラメータから認証情報を取得するようにします。
- B. AWS Secrets Manager にデータベース認証情報をシークレットとして保存します。Secrets Manager を設定して、認証情報を30日ごとに自動的にローテーションするようにします。Lambda 関数を更新し、シークレットから認証情報を取得するようにします。 ✓
- C. データベース認証情報を暗号化された Lambda 環境変数として保存します。認証情報のローテーションを行うカスタム Lambda 関数を作成します。この Lambda 関数を30日ごとに実行するようスケジュールします。
- D. データベース認証情報を AWS Key Management Service (AWS KMS) のキーとして保存します。キーの自動ローテーションを設定します。Lambda 関数を更新し、KMS キーから認証情報を取得するようにします。
正解: B. AWS Secrets Manager にデータベース認証情報をシークレットとして保存します。Secrets Manager を設定して、認証情報を30日ごとに自動的にローテーションするようにします。Lambda 関数を更新し、シークレットから認証情報を取得するようにします。
解説
AWS Lambda および Amazon RDS for PostgreSQL へのアプリケーション移行に伴い、データベース認証情報を安全に管理するには、運用オーバーヘッドが最も少ないソリューションが以下です: B. データベース認証情報を AWS Secrets Manager にシークレットとして保存し、30日ごとの自動ローテーションを設定します。Lambda 関数を更新して、このシークレットから認証情報を取得するようにします。 解説: 1. AWS Secrets Manager の利用: ・安全な保管:Secrets Manager はデータベース認証情報などの機密情報を管理するために特化したサービスであり、組み込みの暗号化とアクセス制御を提供します。 ・自動ローテーション:シークレットの自動ローテーション機能を備えており、認証情報管理を簡素化し、漏洩リスクを低減します。 ・Lambda との統合:Lambda 関数を Secrets Manager から認証情報を取得するよう更新するのは、AWS SDK を活用することで非常にシンプルで、最小限のコード変更で実現できます。 2. 運用効率性: ・このソリューションは、シークレットの保管とローテーションの両方をマネージドサービスが担当するため、運用オーバーヘッドを最小限に抑え、開発チームがインフラストラクチャ管理ではなくアプリケーションロジックに集中できるようになります。 他の選択肢の評価: A. AWS Systems Manager Parameter Store への認証情報保存: ・認証情報を安全に保存することは可能ですが、Secrets Manager のような組み込みの自動ローテーション機能はありません。そのため、追加の管理作業(例:カスタムローテーションスクリプト)が必要となり、運用オーバーヘッドが増加します。 C. 暗号化された Lambda 環境変数への認証情報保存: ・環境変数は機密情報を格納できますが、ローテーションにはカスタム Lambda 関数の作成とスケジューリングが必要であり、複雑さと運用負荷が高まります。 D. AWS KMS への認証情報保存: ・KMS は暗号化キーの管理を目的としており、認証情報そのものを直接格納するサービスではありません。認証情報を KMS で暗号化しても、ローテーションや管理のための追加機構が必要となり、全体の複雑度が高くなります。 結論: オプション B は、AWS Lambda および Amazon RDS for PostgreSQL への移行において、データベース認証情報を安全かつ最小限の運用オーバーヘッドで管理する最も効率的かつ適切なソリューションです。