【发布时间】:2020-05-09 03:30:05
【问题描述】:
我正在尝试编写 CloudFormation 以从现有 RDS 数据库的时间点快照配置新的 RDS 实例。
但是,我知道在 CloudFormation 模板中提供快照时不能指定 db-name,因此它将始终将其还原到原始数据库。
我在 aws 博客上有同样的 this 文章,不过我正在寻找是否有任何开箱即用的解决方案。
编辑 1
来自我的 Cloud Formation 的 RDS sn-p
Resources:
MyDB:
Type: AWS::RDS::DBInstance
Properties:
DBName: Fn::If ["UseDbSnapshot", !Ref AWS:NoValue, !Ref MyDBName]
DBSecurityGroups:
- !Ref MyDbSecurityByEC2SecurityGroup
- !Ref MyDbSecurityByCIDRIPGroup
AllocatedStorage: 20
DBInstanceClass: db.m1.small
Engine: MySQL
MasterUsername: root
MasterUserPassword: password
DBSnapshotIdentifier: Fn::If ["UseDbSnapshot", !Ref DBSnapshotIdentifier, !Ref AWS::NoValue]
DeletionPolicy: Snapshot
我可以尝试什么来解决这个问题?
【问题讨论】:
-
您可以分享您尝试执行此操作的相关 cloudformation 吗?
-
@maafk:已在原帖中更新
-
感谢@jps 指出这一点。
-
恢复到相同的
DBName是设计使然,因为它正在恢复 MySQL 数据库的副本。恢复后,如果要更改架构的名称,可以运行RENAME TABLE old_db.table TO new_db.table;之类的内容 -
@maafk AWS 控制台提供了一种方法来做同样的事情,所以我只是想知道是否有一种方法可以使用 AWS CloudFront。
标签: amazon-web-services amazon-cloudformation amazon-rds aws-cloudformation-custom-resource