AWS Aurora 的全球灾难恢复

Mary-Kate Olsen
发布: 2024-11-20 15:45:14
原创
434 人浏览过

在发生全球灾难恢复时,我们必须将数据库备份存储在不同的 AWS 账户中。 Aurora RDS 可以将数据库备份复制到不同的区域或不同的账户,但不能同时复制到两者。此外,如果使用 AWS 托管密钥部署 Aurora 数据库集群,则不支持跨账户复制。更改集群密钥需要重新部署集群。

对于此类用例,方法之一是使用 AWS 备份

对于此类用例,可以使用 AWS 文档中描述的方法之一:通过跨账户和跨区域备份保护加密的 Amazon RDS 实例。

但是AWS文档是基于AWS cloudformation模板的。我使用 terraform 重新创建了它。

此方法提供了跨账户和跨区域将 AWS Aurora 备份复制到 Vault 的灵活性。我们不需要使用自定义 KMS 密钥来部署 Aurora 集群。

该解决方案使用 AWS Backup 计划创建 Amazon RDS 数据库到源保管库(产品区域、产品账户)的计划备份。
同一备份计划定义了复制规则,该规则将备份复制到同一帐户但位于 DR 区域(产品帐户、DR 存储区域)中的中间保管库。

然后,该解决方案使用 EventBridge 捕获 AWS Backup 复制作业成功完成的情况,并使用这些事件触发 AWS Lambda 函数。然后,AWS Lambda 函数使用 AWS Backup 执行另一个备份复制作业,将备份从 Prod 账户中的中间保管库复制到 DR 账户中的目标保管库(DR 账户、DR 存储区域) .

Global Disaster recovery for AWS Aurora

来源:https://aws.amazon.com/blogs/storage/protecting-encrypted-amazon-rds-instances-with-cross-account-and-cross-region-backups/

生产账户中使用默认 RDS KMS AWS 托管密钥加密的 RDS 数据库实例由 AWS Backup 备份到 SourceVault(配置为使用 cmk-source-vault-account-a-region-a 加密) ),然后将备份复制到 IntermediateVault(配置为使用 cmk-intermediate-vault-account-a-region-b 加密)。尽管 SourceVault 配置为使用“cmk-source-vault-account-a-region-a”加密,但存储在 SourceVault 上的 Amazon RDS 快照仍使用默认的 RDS KMS AWS 托管进行加密密钥(aws/rds)。将快照从 SourceVault 复制到 IntermediateVault 的步骤将解密快照并在 IntermediateVault 中使用“cmk-intermediate-vault-account-a-region-b”重新加密快照。然后,可以将“cmk-intermediate-vault-account-a-region-b”客户管理密钥共享到 DR 备份帐户,以用于跨帐户复制。在跨账户复制期间,快照将使用目标保管库密钥“cmk-destination-vault-account-b-region-b”再次重新加密。

复制到 IntermediateVault 完成后,生产账户(账户 A、区域 A)中的 EvenBridge 规则会识别“复制作业完成”事件,并将该事件转发到账户 A、区域 B 中的 EventBridge,该事件在Turn 触发 Lambda 函数。 Lambda 函数将检查恢复点上是否存在适当的标签,并请求 AWS Backup 将备份从生产账户(账户 A、区域 B、IntermediateVault)复制到 DR 备份账户(账户 B、区域 B、DestinationVault)实现跨账户、跨Region的备份副本。

优点

  • 无需重新部署 Aurora 集群
  • 异地容灾备份副本。

缺点

  • 复杂的解决方案。

实施

先决条件

  • 在 AWS Organizations 中配置的现有组织结构
  • 组织中启用 AWS Backup 的跨账户功能
  • 选择在每个区域备份 Amazon RDS

备份流程
RDS/S3/EFS 实例 → AWS 备份到您账户的保管库 → 从您的保管库跨账户复制备份到 GDR 保管库

您可以从Github Repo获取Terraform代码

以上是AWS Aurora 的全球灾难恢复的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板