Q34 — AWS SAA-C03 第3章
第 34/65 問 | ← 第3章
Q164. ある会社では、AWSインフラストラクチャに対して毎月メンテナンスを実施しています。これらのメンテナンス作業中に、同社は複数のAWSリージョンにまたがるAmazon RDS for MySQLデータベースの認証情報をローテーションする必要があります。これらの要件を満たすうち、運用オーバーヘッドが最も少ないソリューションはどれですか?
- A. 認証情報をAWS Secrets Managerのシークレットとして保存します。必要なリージョンに対してマルチリージョンシークレットレプリケーションを有効化します。Secrets Managerを、定期的にシークレットをローテーションするように設定します。 ✓
- B. 認証情報をAWS Systems Managerのセキュア文字列パラメータとして保存します。必要なリージョンに対してマルチリージョンシークレットレプリケーションを有効化します。Systems Managerを、定期的にシークレットをローテーションするように設定します。
- C. サーバーサイド暗号化(SSE)を有効化したAmazon S3バケットに認証情報を保存します。Amazon EventBridge(Amazon CloudWatch Events)を使用してAWS Lambda関数を呼び出し、その関数で認証情報のローテーションを行います。
- D. AWS Key Management Service(AWS KMS)のマルチリージョンカスタマーマネージドキーを使用して認証情報を暗号化し、Amazon DynamoDBグローバルテーブルに保存します。AWS Lambda関数を使用してDynamoDBから認証情報を取得し、RDS APIを用いて認証情報をローテーションします。
正解: A. 認証情報をAWS Secrets Managerのシークレットとして保存します。必要なリージョンに対してマルチリージョンシークレットレプリケーションを有効化します。Secrets Managerを、定期的にシークレットをローテーションするように設定します。
解説
Amazon RDS for MySQLデータベースの認証情報を複数のAWSリージョンにわたって毎月のメンテナンス時にローテーションするという要件を、最小限の運用オーバーヘッドで満たすには、認証情報をAWS Secrets Managerのシークレットとして保存し、対象リージョンに対してマルチリージョンシークレットレプリケーションを活用するのが最適です。さらに、シークレットの自動ローテーションをスケジュール設定することで、運用負荷を最小限に抑えられます。したがって、正解は選択肢Aです。選択肢Bは、シークレット管理とローテーションに特化していないAWS Systems Managerを用いるものであり、推奨されません。選択肢Cは、S3とEventBridgeおよびLambdaを組み合わせてローテーションを実現する方法ですが、手動での構成が多く、AWS Secrets Managerほどの統合性・自動化レベルは提供できません。選択肢Dは、KMSによる暗号化、DynamoDBグローバルテーブルへの保存、Lambdaによる取得とRDS APIを用いたローテーションという複雑なカスタム実装を必要とし、これもSecrets Managerと比べて運用オーバーヘッドが大きくなります。AWS Secrets Managerは、シークレットの保存・ローテーションに特化した完全マネージドサービスであり、マルチリージョンレプリケーションとスケジュールローテーション機能により、安全でスケーラブルかつ信頼性の高い認証情報ローテーションソリューションを提供します。