Amazon ECS任务无法连接Amazon RDS实例的问题排查求助
ECS任务无法连接RDS MySQL排查步骤
- 核查ECS任务网络配置
- 确认ECS任务与RDS实例处于同一VPC,跨VPC场景下需额外配置VPC对等连接或VPC端点才能通信,仅RDS安全组开放公网访问不生效。
- 若使用RDS公网地址连接,确认ECS任务所在子网具备公网访问能力:私有子网下的任务需绑定NAT网关才能访问公网资源。
- 检查ECS任务关联安全组的出站规则,确认已开放TCP 3306端口的出站权限,不要仅核查RDS侧的入站规则。
- 验证RDS连接参数正确性
- 确认镜像内数据库配置与RDS实际信息一致:RDS域名、端口、账号密码、数据库名称均无误,避免复用本地测试配置。
- 临时修改ECS任务启动命令,执行
nslookup <RDS域名>、telnet <RDS域名> 3306,通过输出确认域名解析是否正常、端口是否可连通。 - 确认RDS实例处于运行中状态,若使用公网连接需确认RDS已开启公网访问选项。
- 排查网络访问控制规则
- 再次确认RDS安全组入站规则配置正确:协议为TCP、端口3306、源地址符合访问要求,避免规则配置笔误。
- 核查ECS、RDS所在子网的网络ACL配置,确认没有拦截3306端口的入/出站流量,网络ACL为子网级别的访问控制,容易被遗漏。
- 核对数据库访问配置
- 确认RDS MySQL内的账号权限允许应用侧IP段访问,不要仅配置为允许localhost或本地测试IP访问。
- 检查JDBC连接字符串参数:AWS RDS默认要求SSL连接时,若未配置对应SSL证书会连接失败,可临时添加
useSSL=false参数测试是否为SSL配置问题,同时确认时区等参数与RDS配置匹配。
- 交叉验证定位问题
- 在与ECS任务同VPC、同安全组的EC2实例中,启动临时MySQL客户端容器尝试连接RDS,若连接失败则为网络层面问题,若连接成功则问题出在应用镜像或应用侧配置。
内容的提问来源于stack exchange,提问作者dungreact
相关产品推荐
相关产品推荐

