無限ノック › SCS 練習問題一覧 › 問題
SCSデータ保護

ある小売企業が、Amazon RDS for PostgreSQLのデータベース認証情報をAWS Secrets Managerで管理しています。コンプライアンス要件により30日ごとのローテーションが必須です。テスト環境で検証したところ、ローテーション実行中の短時間にアプリケーションが「認証エラー」で接続失敗することが判明しました。本番環境では無停止ローテーションが必須要件です。この課題を解決するために最も適切なアプローチはどれですか?

A
Secrets Managerのローテーション設定で「即時ローテーション」を無効にし、メンテナンスウィンドウ中にのみローテーションを実行するよう設定する
Secrets Managerに「即時ローテーションを無効化」する設定は存在せず、仮にメンテナンスウィンドウ中に限定しても、シングルユーザー戦略では古いパスワード削除と新パスワード確認の間にギャップが生じ、接続エラーの根本的な解消にはならない。
B
データベースに2つのユーザーを作成し、Secrets Managerの「交互ユーザー(Alternating Users)」ローテーション戦略を使用する
✓ 正解
2つのデータベースユーザーを交互に使う交互ユーザー戦略は、常に一方が有効な状態を保つためローテーション中も接続断が発生しない。RDS for PostgreSQLに対応したLambdaローテーション関数がAWSから提供されており、無停止ローテーションの実装が容易。
C
Secrets Managerのシークレットを複製し、ブルー/グリーンデプロイメントの要領で古いシークレットと新しいシークレットを交互に切り替える
Secrets Managerのシークレット複製はリージョン間レプリケーション用途であり、ブルー/グリーン切り替えのような仕組みは標準機能にない。アプリ側でどちらのシークレットを参照するか動的に切り替える複雑なカスタム実装が別途必要になる。
D
AWS Systems Manager Parameter Store の SecureString パラメータに認証情報を移行し、EventBridge + Lambda でカスタムローテーションを実装する
Parameter StoreのSecureStringへの移行はSecrets Managerの組み込み自動ローテーション機能を失うことになる。EventBridge+Lambdaによるカスタム実装は技術的には可能だが、交互ユーザー戦略という標準機能で解決できる課題に対して過度に複雑な対応となる。

解説

AWS Secrets Managerの「交互ユーザー(Alternating Users)」ローテーション戦略は、データベースに2つのユーザーを保持し、一方のパスワードをローテーションしながらもう一方を有効に保つことで、無停止ローテーションを実現します。ローテーションのステップは以下の通りです: ①非アクティブなユーザーに新しいパスワードを設定 ②シークレットのバージョンを AWSPENDING から AWSCURRENT に昇格 ③アプリケーションは AWSCURRENT を参照するため接続断なしに新しい認証情報を使用できる シングルユーザー戦略では古いパスワードを無効化してから新しいパスワードを確認するまでの間に接続エラーが発生しますが、交互ユーザー戦略ではこのギャップが解消されます。 選択肢Aのメンテナンスウィンドウでのローテーションはシングルユーザー方式の根本的な問題(古いパスワード削除と新パスワード確認の間のギャップ)を解消せず、ダウンタイムは発生し続けます。 選択肢Cのシークレット複製とブルー/グリーン切り替えはSecrets Managerの標準機能ではなく、複雑なカスタム実装とアプリケーション側での切り替え認識機構が別途必要になります。 選択肢DのParameter Storeへの移行はSecrets Managerの組み込みローテーション機能(Lambdaによる自動ローテーション)を放棄することになり、カスタム実装の複雑性が大幅に増します。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る