Sur*_*orX 2 encryption amazon-web-services amazon-rds amazon-aurora
我有一个 AWS RDS Aurora PostgreSQL 集群,其中包含四个实例,并在生产中提供多可用区部署。此集群上尚未启用静态加密。现在我必须在这个现有集群上启用加密。AWS 文档建议我创建该集群的快照,然后在启用加密的情况下再次恢复该集群。参考:这里
由于我的集群正在生产中运行,因此我不能接受任何停机或 I/O 暂停。在计划加密现有集群之前,我希望回答以下一些问题:
有一种方法可以使用 PostgreSQL 兼容集群来加密您的 AWS RDS Amazon Aurora,并且无需停机或停机时间最短,但这需要一些努力。
您需要执行以下步骤:
Enable Encryption并选择Default Encryption Key或选择您的Custom AWS KMS CMK,现在您拥有数据库快照的加密副本。Restore将此加密快照添加到新的数据库实例中,您可以立即启用Multi-AZ并添加Read Replicas或在迁移后修改它们。Encrypted和Unencrypted,但数据不匹配,因为它是生产数据库。Migrate existing data and replicate ongoing changes。Truncate。awsdms_status如果您想要验证复制状态,请在“高级任务设置”下启用该表。Encrypted与数据库实例中的数据是否相同Unencrypted。awsdms_status。现在回答您的问题,
- 假设有大量数据并且快照需要时间,在创建快照期间是否会出现任何停机时间。
根据您的集群设置,您正在运行多可用区部署,自动备份和数据库快照只是从备用数据库中获取,以避免主数据库上的 I/O 暂停。请注意,在单可用区和多可用区部署的备份期间,您可能会遇到 I/O 延迟增加(通常持续几分钟)的情况。
- 在创建快照期间写入数据库的新数据怎么样?快照创建是实时的还是在拍摄快照之前我会丢失新数据?
您将丢失拍摄快照后写入的数据,因此您将使用 AWS DMS 将同步数据复制到加密的数据库实例。
- 这是我在生产集群上启用加密的唯一方法吗?因为我知道这会导致一些数据库中断。
是的,这是唯一的方法,但不会导致停机或停机时间很少。