You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署在AWS Elastic Beanstalk的.NET 7应用无法连接AWS RDS SQL Server

解决AWS Elastic Beanstalk连接RDS SQL Server的问题

核心原因

Elastic Beanstalk的EC2实例在VPC内访问RDS时,使用的是私有IP地址,而非你看到的公网IP。直接添加EC2公网IP到RDS安全组入站规则里是无效的。

具体解决步骤

1. 获取Elastic Beanstalk环境的EC2安全组ID

  • 登录AWS控制台,进入Elastic Beanstalk服务,找到目标应用环境
  • 切换到配置标签页,找到实例配置项并点击编辑
  • 在实例安全组栏,复制对应的安全组ID(格式类似sg-xxxxxx)

2. 配置RDS安全组的入站规则

  • 进入RDS服务,找到你的SQL Server实例,查看连接性标签页里的VPC安全组,点击进入该安全组
  • 在入站规则中添加新规则:
    • 类型选择SQL Server(对应端口1433)
    • 源选择自定义,粘贴刚才复制的Elastic Beanstalk实例安全组ID
    • 保存规则

3. 额外验证项

  • 确认RDS实例和Elastic Beanstalk的EC2实例处于同一个VPC内(同VPC是默认配置,跨VPC需额外调整网络架构)
  • 检查连接字符串是否使用RDS的端点地址(格式通常为your-db-name.xxxxxx.region.rds.amazonaws.com,1433),而非公网IP
  • 确认RDS实例的公有可访问性:同VPC下可设置为否,关闭公网访问更安全;跨VPC访问才需设为是

排查小技巧

  • 登录EB的EC2实例,执行telnet your-rds-endpoint 1433测试端口连通性,验证安全组规则是否生效
  • 可临时将EC2实例的私有IP添加到RDS安全组入站规则,测试是否能连通(但用安全组ID更灵活,EB自动扩容的新实例会自动继承权限)

内容的提问来源于stack exchange,提问作者Mediomondo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:25:01