AWS Elastic Beanstalk 部署的应用程序中的 RDS 数据库连接失败

问题描述 投票:0回答:1

我有一个 .NET 7 控制台应用程序,使用 c# 11 开发。数据存储在 AWS RDS 数据库 (SQL Server) 中,并且在从 Visual Studio 2022 内部运行该应用程序时成功建立连接。

一旦部署到 AWS Elastic Beanstalk 环境(通过 Visual Studio 中的 AWS Toolkit 扩展),应用程序就会启动,但无法建立连接。我收到以下错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供商:TCP 提供商,错误:40 - 无法打开与 SQL Server 的连接)

现在,正如我已经说过的,在 Visual Studio 中运行应用程序工作正常,所以我认为连接字符串是有效且正确的。

我几乎可以肯定问题与RDS安全组入站规则有关。为了使 Visual Studio 的连接正常工作,我将我的公共 IP 添加到 RDS 数据库的安全组中,并且成功了。但是我无法猜测正确的设置来为已部署的应用程序做同样的事情。我已经尝试过使用 EC2 公共 IP,但它似乎不是正确的方法。

有人可以引导我走向正确的方向吗?

提前致谢!

c# amazon-elastic-beanstalk amazon-rds
1个回答
0
投票

我也觉得跟你的RDS安全组入站规则有关。就像它通过在你的 VS 所在的位置添加你机器的 IP 地址来工作一样。同样,您需要将 Elastic Beanstalk 实例的端口 1433 的安全组 ID 添加到相同的入站规则中以允许流量。

© www.soinside.com 2019 - 2024. All rights reserved.