.net Can';t连接亚马逊ec2中的亚马逊rds数据库?

.net Can';t连接亚马逊ec2中的亚马逊rds数据库?,.net,amazon-web-services,amazon-rds,.net,Amazon Web Services,Amazon Rds,我有一个控制台应用程序,它与实体框架有Amazon rds连接。它在我的本地PC上运行良好。但当我在Amazon EC2上运行我的应用程序时,它无法连接到我的Amazon RDS数据库,并说“基础提供程序在打开时失败”。我的实体框架连接字符串是 <add name="MyEntities" connectionString="metadata=res://*/YhFinModel.csdl|res://*/YhFinModel.ssdl|res://*/YhFinModel.msl;pro

我有一个控制台应用程序,它与实体框架有Amazon rds连接。它在我的本地PC上运行良好。但当我在Amazon EC2上运行我的应用程序时,它无法连接到我的Amazon RDS数据库,并说“基础提供程序在打开时失败”。我的实体框架连接字符串是

<add name="MyEntities" connectionString="metadata=res://*/YhFinModel.csdl|res://*/YhFinModel.ssdl|res://*/YhFinModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=datasourcename,portnumber;initial catalog=databasename;persist security info=True;user id=userid;password=password;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />


提前谢谢。

您查看过您的安全组吗?我认为您需要添加用于对RDS实例进行端口访问的EC2安全组。

如果您的EC2实例和RDS实例位于不同的区域,则必须转到RDS安全组,并将EC2实例的外部IP输入为CIDR/IP。至少这对我来说是有效的。

这是一个稍微更新的版本,需要它才能工作。单击RDS仪表板。选择您的RDS实例->单击详细信息图标->单击附加到所选RDS实例的安全组URL。这将使您进入EC2的安全组设置。选择安全组后,单击入站选项卡。在这里,您需要修改或创建一个新规则(MS SQL、TCP、端口(例如1433),然后是允许请求的IP地址/IP地址范围。您可以设置所有IP地址以确认其工作,然后根据实例和/或测试环境IP地址将安全性提高到IP地址范围


祝你好运。

谢谢你的回复。我已经在ec2中添加了安全组,但没有任何效果。我还在另一个地区创建了另一个ec2,并尝试运行该控制台应用程序,但没有效果。很抱歉,我的第一个响应听起来很混乱。在RDS的管理控制台中,你是否在此处添加了ec2安全组?:请稍后再试e特定。我已在RDS实例中添加了db安全组。请转到RDS控制台。选择“db安全组”。已经创建了默认组,或者您已经添加了自定义组。无论您的RDS实例使用哪个组,请在选择一个组后在下面的“说明”选项卡中查找。其中有“连接类型”列。请选择下拉列表that具有CIDR/IP并选择“EC2安全组”。然后,它将为您提供在您的帐户中配置的EC2安全组的另一个下拉列表。确保选择并添加您实际运行的EC2实例正在使用的组。这对我很有效。请注意,在添加EC2安全组之后,您需要重新启动RDS实例它会成功的!