AWS:从虚拟机连接到SQL数据库

时间:2018-02-21 09:01:12

标签: .net sql-server amazon-web-services

我在AWS上创建了一个虚拟机,并且我还创建了一个SQL Server Express实例。我现在想要虚拟机上的.NET应用程序与数据库通信。

我可以使用详细信息通过笔记本电脑上的SSMS连接到实例/数据库:

Server name: amazontest.xxxx.eu-west-1.rds.amazonaws.com
Login: Administrator
Password: xxxx

所以实例是up&跑步,并且可公开访问。

在我的.net应用程序的web.config中,我有以下连接字符串:

  <connectionStrings>
    <add name="DefaultConnection" 
    connectionString="Server=amazontest.xxxx.rds.amazonaws.com,1433;Database=amazontest;User Id=Administrator;Password=xxxx;MultipleActiveResultSets=true;" 
    providerName="System.Data.SqlClient" />
  </connectionStrings>

但是这一直给我一个错误:A network-related or instance-specific error occurred while establishing a connection to SQL Server.

我不知道还有什么可以尝试的,如果外部连接有效...

2 个答案:

答案 0 :(得分:0)

所以答案在Security Groups

创建RDS时,它会为安全组分配入站流量的当前 IP地址,从而为什么SSMS可以在我的笔记本电脑上运行。我必须编辑它创建的安全组,为虚拟机的专用IP 添加Inbound规则。

即。在VM实例上,找到Private IP地址,并将其作为Inbound规则添加到安全组,类型为:Custom TCP Rule,端口范围:1433,来源: X.X.X.X/32

答案 1 :(得分:0)

是的,应用程序无法与数据库建立连接,因为端口(1433)未打开或可能因少数IP而打开,因此您需要将应用服务器IP列入白名单RDS实例的安全组。