我们可以使用控制台和 CLI 轻松提升 RDS 只读副本,但是有没有办法让主访问意味着使用云形成提升为主?
CloudFormation 使用属性
"SourceDBInstanceIdentifier"
来确定 DBInstance
是否是只读副本。如果此属性具有任何非空值,则 DBInstance
将被创建为只读副本。
如果您在创建只读副本并更新 CloudFormation 堆栈后删除此属性,则将创建一个新的
DBInstance
,该副本不是只读副本,而是它自己的独立数据库。但是,新的独立数据库将不会包含只读副本的内容。
解决方案是定期备份只读副本。当您想要升级只读副本时,请删除
"SourceDBInstanceIdentifier"
并将 "DBSnapshotIdentifier"
设置为只读副本的最新快照。这应该可以有效地促进您的只读副本掌握,并且大多数数据仍然完好无损
当主节点出现故障时,RDS 备用副本(多可用区)将自动切换到主节点。
如何设置多可用区副本(可以通过 cloudformation)将决定自动切换。请注意,仅当出现可用区中断、主实例故障、软件修补时,备用副本才会成为主副本,而不是在出现锁定或数据库级别操作超时的情况下。