Q43 — AWS SAA-C03 第16章

第 43/100 問 | ← 第16章

Q1243. ある企業は、ユーザーのデータを保存するために1 TBのAmazon RDS for PostgreSQL DBインスタンスを使用しています。セキュリティレビューの際、セキュリティエンジニアがこのDBインスタンスが静止時(at rest)に暗号化されていないことを確認しました。ソリューションアーキテクトは、ダウンタイムを最小限に抑え、データ損失を一切発生させずに、この問題をどのように修正すべきでしょうか?

正解: B. 手動でDBインスタンスのスナップショットを作成し、そのスナップショットの暗号化されたコピーを作成します。この暗号化されたスナップショットを使用して、新しい暗号化済みDBインスタンスを作成します。その後、アプリケーションを変更して新しいDBインスタンスに接続するようにします。

解説

企業は、既存の暗号化されていないAmazon RDS for PostgreSQL DBインスタンスを、ダウンタイムを最小限に抑え、データ損失を一切発生させずに暗号化する必要があります。各選択肢を検討します。 ■ 必須要件: ・データ損失なし:既存のすべてのデータを確実に保持する必要があります。 ・ダウンタイム最小化:長時間の停止を避け、可能な限り短いダウンタイムで対応する必要があります。 ・静止時暗号化:データベース全体を暗号化する必要があります。 ■ 各選択肢の検討: A:RDSでは、既存の暗号化されていないDBインスタンスに対して、コンソールから直接暗号化を有効化することはできません。暗号化はDBインスタンス作成時にのみ設定可能です。したがって、この選択肢は技術的に不可能です。 B:正しい方法です。手順は以下の通りです:  ① 暗号化されていないRDSインスタンスの手動スナップショットを作成します。  ② このスナップショットをコピーし、コピー時に「暗号化を有効化」を選択してKMSキーを指定します。  ③ 暗号化されたスナップショットから新しいRDSインスタンスを復元します。  ④ アプリケーションの接続先を新しい暗号化済みDBエンドポイントに切り替えます。  ダウンタイムは、アプリケーションの切り替え(cutover)期間のみであり、事前に計画すれば極めて短時間で済みます。スナップショットは一貫性のある状態で取得されるため、データ損失はありません。PostgreSQLにも完全に対応しています。 C:技術的には可能ですが、AWS DMSの設定や構成が必要なため、Bと比較して複雑度が高くなります。CDC(Change Data Capture)によりリアルタイム近似の同期が可能で、非常に大規模なデータベースなどでは有用ですが、本問の「最も簡単かつダウンタイム最小」の要件にはBの方が適しています。 D:Amazon RDS for PostgreSQLでは、暗号化されていないプライマリインスタンスから暗号化済みの読み取り専用レプリカを作成することはできません。暗号化済みレプリカを作成するには、まずプライマリ側で暗号化が有効化されている必要があります。したがって、この選択肢は現実的ではありません。 ■ 結論: Bは、PostgreSQLにおいて最もシンプルで信頼性が高く、ダウンタイムとデータ損失のリスクを最小限に抑える手法です。スナップショットの作成・暗号化コピー・復元という標準的なRDS操作のみで実現でき、追加サービスの導入も不要です。