我想从快照恢复Aurora PostgreSQL集群。集群是使用AWS rds.DatabaseCluster构造创建的。
使用类型记录的CDK版本为1.139.0,db集群为11.9
对于使用rds.DatabaseCluster创建的现有集群,如果希望通过CDK触发集群快照恢复,则似乎没有指定快照的方法。
在过去,我通过将CloudFormation ( CF )添加到CF模板中的AWS::DB::snapshotIdentifier资源来恢复使用snapshotIdentifier部署的集群。这个属性可以在CDK CfnDBCluster & CfnDBInstance资源中看到。
我知道rds.DatabaseClusterFromSnapshot构造,它提供了创建数据库(和恢复?)的能力。通过指定快照名称。但是,如前所述,我希望还原的数据库集群已经创建,并在CDK中与rds.DatabaseCluster结构相关联。
我不希望在CDK之外还原数据库集群(使用console/cli),因为这样做产生的新集群不会与CDK堆栈相关联。
是否可以完全从现有的CDK堆栈/代码中执行RDS Aurora PostgreSQL集群的快照恢复?具体来说,如果集群是使用rds.DatabaseCluster构造创建的?
谢谢
发布于 2022-01-23 12:38:57
您可以将底层CloudFormation资源作为L1结构访问。
const cluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.AURORA,
instanceProps: { vpc },
});
const cfnCluster = cluster.node.defaultChild as rds.CfnDBCluster;
cfnCluster.snapshotIdentifier = "arn:snapshot";
cfnCluster.masterUsername = undefined;
cfnCluster.masterUserPassword = undefined;更新此值将终止您的群集并创建一个新的来替换它。
参数文档:aws-rds.CfnDBCluster.html#快照牙医
编辑:更新为将masterUsername和masterUserPassword设置为未定义
https://stackoverflow.com/questions/70804581
复制相似问题