跨可用区连接AWS RDS Aurora失败问题求助
针对你遇到的us-east-2b的Aurora实例可本地连接,但us-east-2a/2c实例无法连接的问题,结合你的VPC配置(每个AZ含公网+私网子网,默认设置),可以按以下步骤逐一排查:
确认公网子网的路由表关联
检查us-east-2a/2c的公网子网是否关联了正确的公网路由表:路由表中必须存在0.0.0.0/0指向VPC对应的Internet Gateway(IGW)。如果这些公网子网误关联了私网路由表(无IGW路由),实例将无法访问公网,自然无法被本地机器连接。对比us-east-2b公网子网的路由表配置,确保2a/2c的配置一致。验证子网的“自动分配公网IP”属性
检查us-east-2a/2c的公网子网是否开启了“自动分配IPv4地址”选项,确保和us-east-2b的公网子网设置一致。该属性会影响实例的公网IP分配逻辑,若未开启可能导致实例无法获取公网访问能力。检查Aurora实例的“公开可访问”开关
进入us-east-2a/2c的Aurora实例详情页,确认“连接”标签下的“公开可访问”设置为“是”。如果创建实例时未勾选该选项,即使放在公网子网中,实例也仅能在VPC内部访问,无法被本地机器连接。核对安全组入站规则
确认us-east-2a/2c的Aurora实例所关联的安全组,是否允许本地机器IP的入站流量(对应Aurora的端口:MySQL兼容版为3306,PostgreSQL兼容版为5432)。如果安全组仅添加了针对us-east-2b子网的规则,或者本地IP的CIDR配置错误,都会导致连接失败。排查网络ACL规则
检查VPC或us-east-2a/2c子网对应的网络ACL:- 入站规则需允许本地IP到Aurora端口的TCP流量
- 出站规则需允许Aurora实例到本地IP的随机端口(1024-65535)TCP响应流量
网络ACL是无状态的,入站和出站规则必须同时配置正确,否则会阻断流量。对比us-east-2b子网的网络ACL配置,确保2a/2c的规则一致。
确认子网的AZ归属
检查us-east-2a/2c的公网子网是否确实创建在对应的可用区中。如果子网实际归属到其他AZ(比如误选了us-east-2b),可能会导致网络路由异常,影响实例的公网可达性。
如果以上步骤都排查完毕仍未解决问题,可以提供路由表截图的具体条目信息,进一步定位问题。
内容的提问来源于stack exchange,提问作者Akil Vohra

