我正在尝试从我的EC2实例连接到RDS SQL Server(它们位于同一个VPC中)。
据我了解,只要RDS和EC2在同一个VPC中,我只需要确保EC2安全组允许来自端口1433(SQL Server)的流量;和RDS安全组允许EC2访问。我已将我的设置配置如下:
在VPC名称'xyz'下 - 我有两个安全组名称'ec2'和'rds'。 配置详细信息:
'ec2' security group: Inbound rules allow port 1433 to access.
'rds' security group: Allow 'All ICMP - IPv4','All TCP' and 'All UDP' for 'ec2' security group.
我尝试使用SQL Management Studio从我的EC2实例连接到RDS(服务器名称为rds.blah.blah ... amazonaws.com,1433;使用sql server身份验证)但是失败了。我收到的错误信息是:
'建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 没有这样的主机是已知的。)(Microsoft SQL Server,错误:11001)没有这样的主机已知'
只是想知道是否有人可以指出我做错了什么?非常感谢您的帮助!
答案 0 :(得分:2)
你误解了ec2和rds安全组织'入站和出站规则。将ec2安全组设置为Inbound rules allow port 1433 to access.
下面列出了相关的安全组设置,如果您这样做,请查看:
将出站(出口)规则设置为
Type: All traffic
Protocol: All
Port Range: All
Destination: 0.0.0.0/0
这不会限制任何出站流量,您可以稍后进行调整以缩小其范围
将入站(入口)规则设置为
Type: MS SQL
Protocol: TCP
Port Range: 1433
Source: ec2 security group id (sg-xxxxxx)
@John Rotenstein的评论:这意味着任何与该EC2安全组关联的EC2实例都将被允许访问端口1433上的RDS