AWS RDS Aurora Mysql 在故障转移中交换 CNAME

AWS RDS Aurora Mysql 在故障转移中交换 CNAME

从几天前开始,我一直在测试 RDS Aurora Writer-Reader(类似经典的 mysql Master-Slave)。具体来说,在发生写入器故障转移时,RDS 应在其恢复能力中,除其他任务外,RDS 应自行切换 Writer 和 Reader 角色(此步骤中一切正常)并切换端点 CNAME,以便应用程序可以正常继续运行。

就我而言,这最后一步没有发生,我的应用程序仍然指向同一台机器(该机器处于故障转移状态,然后降级为读取器)。

为了测试这一点,我使用了 RDS 面板中的“测试故障转移”按钮。

官方文档中提到了更改 CNAME 端点的功能: https://aws.amazon.com/rds/faqs/#45

在以下段落中:

Amazon RDS 会自动处理故障转移,因此您可以尽快恢复数据库操作,而无需管理员干预。故障转移时,Amazon RDS 只需翻转数据库实例的规范名称记录 (CNAME) 以指向备用实例,备用实例随后会升级为新的主实例。我们鼓励您遵循最佳实践并在应用程序层实施数据库连接重试。

答案1

基于@Michael - sqlbot,我修复了这个问题。当您在 HA 配置中使用 aurora 时,您需要在应用程序配置中使用集群端点,而不是实例端点,因为集群内部的名称会发生​​变化。

答案2

我对此还有其他疑问。那么在 route53 中我们必须创建什么类型的记录?CNAME 可以吗?如果我有 2 个集群端点,我必须为每个集群创建一个 cname?还是只有一个 CNAME?我尝试了一下,发现不可能为 2 个集群端点创建 1 个 CNAME。谢谢!

相关内容