如何为私有子网的Aurora PostgreSQL创建公网子网只读副本及跨区域副本?
Aurora PostgreSQL 只读副本部署与跨区域同步问题解答
一、同区域只读副本无法切换到公网子网的原因及解决方案
Aurora PostgreSQL的同区域只读副本必须与主实例使用同一个DB子网组,无法单独指定不同子网组。所以主实例部署在私有子网组时,副本默认会继承该子网组,无法直接切换到公网子网。
要让同区域只读副本被公网SaaS平台访问,无需更换子网,只需两步:
- 修改副本实例属性,将
Publicly accessible设置为是,AWS会为副本分配公网IP - 调整副本的安全组,允许SaaS平台的访问IP/段连接5432端口(PostgreSQL默认端口),同时确保子网NACL放行该端口的入站流量
如果SaaS平台的IP动态无法固定,这种方式确实受限,此时可以考虑跨区域只读副本方案。
二、Aurora PostgreSQL支持跨区域只读副本,操作步骤如下
- 确认主实例的自动备份功能已开启(Aurora默认开启,需确保备份保留期≥1天)
- 登录AWS RDS控制台,找到目标主实例,点击操作→创建跨区域只读副本
- 在配置页面:
- 选择目标区域
- 选择目标区域的DB子网组(提前创建包含公网子网的子网组)
- 配置实例规格、存储等参数
- 将
Publicly accessible设置为是,确保副本能被公网访问 - 配置安全组,允许SaaS平台的IP访问5432端口
- 确认配置无误后,点击创建只读副本
三、跨区域副本能否同步私有子网主实例到公网子网副本?
可以。跨区域同步由AWS Aurora内部通过日志传输实现,主实例无需具备公网访问能力,只要主区域的Aurora服务能与目标区域的RDS服务建立AWS内部通信(无需用户额外配置),即可将私有子网内的主实例数据同步到目标区域公网子网的只读副本中。
内容的提问来源于stack exchange,提问作者Logan
相关产品推荐
相关产品推荐

