Amazon RDS 恢复和 aws-cdk 基础设施作为代码同步

问题描述 投票:0回答:1

我对通过代码使用 AWS CDK 相当陌生,我一直在研究如何恢复数据库。据我了解,您无法将 Aurora 数据库从快照恢复到现有实例 (1) (2)。我的问题在于我们使用基础设施作为代码,因此我需要将“新”数据库同步到“旧”IaC(例如实例数量不同)

我已成功创建一个新数据库并更改所需的所有配置。然而,我缺少的一点是将其与 aws-cdk 保持一致。具体来说:

  • 我从旧快照创建一个新的数据库集群
  • 我更改应用程序的连接以使用这个新的数据库集群
  • 我将 IaC 与 AWS 状态同步

最后一点是我所不明白的。如何使用 aws-cdk 设置代码,以便使用恢复的数据库(设置、迁移、实例……)而不是旧数据库?

我也尝试过将名称更改为恢复后的名称。然而,当我部署到不同的环境时,我遇到了问题 - 他们创建一个新的数据库,而不是使用现有的数据库。

amazon-web-services amazon-rds amazon-aurora
1个回答
0
投票

在您的 CDK 应用程序中,删除现有的集群资源并添加新的集群资源。 “添加”步骤可以在快照或现有集群上完成。

来自快照

CDK和CloudFormation可以从快照创建新集群。相关的 CDK 构造是 DatabaseClusterFromSnapshot

步骤是:

  1. 从堆栈中删除现有的集群构造。请注意集群的“删除策略”,它控制已删除的资源会发生什么情况。部署更改后的应用程序以从 CDK 管理中删除“旧”集群。 从快照创建新集群。将集群的
  2. 快照标识符
  3. (名称或 ARN)作为 prop 传递给 DatabaseClusterFromSnapshot
    
    
  4. 来自现有集群

或者,您可以使用

cdk import

CLI 命令将现有集群导入到 CDK 堆栈中。 CDK 导入在底层使用

CloudFormation 导入功能
AWS::RDS::DBCluster
支持导入的资源类型
导入集群后,它将成为您的 CDK 堆栈的一部分。

步骤是:

步骤1同上
  1. 按照
  2. cdk import
  3. 分步说明添加新的集群构造来导入集群。请注意文档的警告
    不要添加任何其他更改!您还必须确保准确建模资源当前的状态。
© www.soinside.com 2019 - 2024. All rights reserved.