Q43 — AWS SAA-C03 第16章
第 43/100 题 | ← 返回第16章
Q1243. 一家公司正在使用一个 1 TB 的 Amazon RDS for PostgreSQL 数据库实例来存储用户数据。在安全审查期间,一位安全工程师发现该数据库实例未进行静态加密。解决方案架构师应该如何解决这个问题,以最大程度地减少停机时间并避免数据丢失?
- A. 使用RDS管理控制台修改DB实例,并启用加密。立即应用更改。
- B. 创建手动数据库实例快照,然后创建该快照的加密副本。使用此快照创建一个新的加密数据库实例。修改应用程序以连接到新的数据库实例。 ✓
- C. 创建一个新的加密数据库实例,并使用 AWS Database Migration Service (AWS DMS) 将现有数据库迁移到该加密数据库实例。实例同步后,修改应用程序以连接到新的数据库实例。
- D. 创建加密的只读副本。当只读副本同步后,将其提升为主实例。修改应用程序以连接到新的主实例。
正确答案: B. 创建手动数据库实例快照,然后创建该快照的加密副本。使用此快照创建一个新的加密数据库实例。修改应用程序以连接到新的数据库实例。
解析
该公司需要加密现有的未加密 Amazon RDS for PostgreSQL 数据库实例,并要求最大程度地减少停机时间,且不丢失数据。让我们评估一下以下选项:关键要求:没有数据丢失必须保留所有现有数据。最少停机时间 优先选择可避免长时间停机的解决方案。静态加密必须为数据库启用加密。选项分析:A. 使用 RDS 管理控制台修改数据库实例,并启用加密。立即应用更改。错误:RDS 不支持直接在现有的未加密数据库实例上启用加密。必须在创建时启用加密。此选项是不可能的。B. 创建手动数据库实例快照,然后创建该快照的加密副本。使用此快照创建一个新的加密数据库实例。修改应用程序以连接到新的数据库实例。正确的:步骤:对未加密的 RDS 实例进行手动快照。复制快照并在复制过程中启用加密。将加密快照恢复到新的 RDS 实例中。更新应用程序以指向新的加密数据库实例。停机时间:切换到新实例时需要切换(如果计划周全,停机时间会很短)。无数据丢失:快照是一致的。适用于 PostgreSQL。缺点:需要修改应用程序(端点更新),但在更换数据库实例时这是不可避免的。C.创建一个新的加密数据库实例,并使用 AWS Database Migration Service (AWS DMS) 将现有数据库迁移到该加密数据库实例。实例同步后,修改应用程序以连接到新的数据库实例。正确的:步骤:创建一个新的加密 RDS 实例。使用 AWS DMS 将数据从旧实例(未加密)迁移到新实例(加密)。同步完成后,将应用程序切换到新实例。停机时间:可通过变更数据捕获 (CDC) 实现近乎实时的同步,从而最大限度地减少停机时间。无数据丢失:DMS 确保数据一致性。适用于 PostgreSQL。缺点:设置比选项 B 更复杂(需要 DMS 配置)。D. 创建加密的只读副本。一旦只读副本同步完成,将其提升为主实例。修改应用程序以连接到新的主实例。错误:RDS for PostgreSQL 不支持从未加密的主实例创建加密的只读副本。在创建加密的只读副本之前,必须在主实例上启用加密。这个选项是不可行的。最佳选择:B 与 C对于 PostgreSQL 来说,选项 B(快照 + 复制 + 恢复)更简单、更快捷。如果需要持续复制(例如,对于非常大的数据库或最短的停机时间),选项 C (AWS DMS) 很有用,但它更复杂。由于问题要求最少的停机时间和不丢失数据,因此选项 B 是 PostgreSQL 最直接、最有效的方法。最终答案:B. 创建手动数据库实例快照,然后创建该快照的加密副本。使用此快照创建一个新的加密数据库实例。修改应用程序以连接到新的数据库实例。详细步骤(选项 B):对未加密的 RDS 实例进行手动快照。复制快照并启用加密:在RDS控制台中,选择快照复制快照。选中启用加密并选择 KMS 密钥。将加密快照恢复到新的 RDS 实例中。更新应用程序以使用新的加密 DB 端点。监视并停用旧实例。这种方法可确保不会丢失数据并且最短的停机时间(仅仅是切换期)。