AWS RDS SQL 数据库在本地主机上工作——从服务器抛出错误

Posted

技术标签:

【中文标题】AWS RDS SQL 数据库在本地主机上工作——从服务器抛出错误【英文标题】:AWS RDS SQL database works on localhost -- throws error from server 【发布时间】:2021-08-09 18:10:04 【问题描述】:

我正在创建一个 API,它调用托管在 AWS RDS 上的 SQL Express 数据库。当我到达本地主机上的端点时,一切正常并返回数据。我也可以使用桌面上的相同连接字符串通过 SSMS 进行连接

但是,在我将 API 部署到 Elastic Beanstalk 然后调用同一个端点后,我收到此错误:

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

实例类设置为 db.t3.small。

通过阅读,看来我需要以某种方式打开弹性 beanstalk 站点上的端口 1430。但我不知道该怎么做。

【问题讨论】:

【参考方案1】:

看起来像是入站规则问题。您必须为安全组设置入站规则才能连接到数据库。您可以为您的开发环境设置一个入站规则,为 Elastic Beanstalk(将托管应用程序)设置另一个。有关设置安全组入站规则的信息,请参阅Controlling Access with Security Groups。

【讨论】:

谢谢!我相信你是对的,但我真的在这方面的细节上苦苦挣扎。 使用 Elastic Beanstalk 上部署的应用程序中的 RDS 实例时要记住两件事。首先,配置 RDS 实例,使可公开访问为真,然后设置正确的入站规则。 公开访问 - 完成。它正在设置我正在努力解决的入站规则。 我发现 AWS 文档非常模糊!它告诉你该怎么做,但不告诉你怎么做! 啊哈!终于找到了!谢谢你的帮助:)

以上是关于AWS RDS SQL 数据库在本地主机上工作——从服务器抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

将sql转储恢复到RDS的最快方法

JPA 无法从 Beanstalk 连接到 AWS RDS,但它可以在本地工作

如何为 AWS RDS 加载数据 infile mysql 工作台?

AWS DMS 不支持 RDS SQL Server 的 CDC/更改跟踪。

如何在 aws Secrets Manager 服务中管理 aws RDS(由 cloudformation 创建)的主用户凭证?

无法从 SQL WORKBENCH 连接到 AWS RDS mysql