AWS上无法连接 - RDS数据库: SQL Server 2012 Express

13

我是AWS世界的新手。我有一个问题,无法访问我在RDS(US-East-1a)上的Microsoft SQL Server 2012 Express(11.00.5058)实例。

当我创建DB实例后,我能够访问它,创建一些表,转移数据等所有东西都正常工作!

我没有改变任何内容,在一段时间不活动之后的几个小时内,我尝试使用Microsoft SQL Server Enterprise Manager访问SQL Server实例,但我再也无法连接到它。我收到以下消息:

 

无法连接到m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com,1433。

    

在建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。请验证实例名称是否正确,并验证SQL Server配置为允许远程连接。(提供程序:TCP Provider,错误:0-等待操作超时。)(Microsoft SQL Server,错误:258)

目前,实例显示为可用状态,安全组为'rds-launch-wizard(sg-be4afcc6)'。

我已尝试通过Telnet连接到1433端口,但没有成功。

实例名称为m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com。

你有什么想法发生了什么?

非常感谢你的帮助。

更新

Telnet命令返回以下内容:

telnet m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com 1433

Connecting To m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com...
Could not open connection to the host, on port 1433: Connect failed

数据库设置:

图片描述

安全组:

图片描述 图片描述

VPC:

图片描述

我尝试使用家里的连接或咖啡店的wifi来连接,但都没有成功。这时我没有检查我的IP地址,但奇怪的是我创建数据库实例后(创建SQL表格、传输数据等),我能够连接到SQL服务器,但几个小时后(没有任何更改)我就无法访问它了。

也许如果我在安全组/入站规则中添加一个新规则,像这样,它会解决我的问题:(我还没有尝试,因为我现在正在工作,我们有防火墙阻止SQL访问)

图片描述

此时,数据并不敏感,安全性也不是很重要。

再次感谢大家的帮助!!!


关于telnet没有成功,您是指收到了失败消息吗?telnet失败表示端口已关闭,因此您绝对需要仔细检查安全组。您的安全组规则确切是什么样子?例如,如果它是针对特定源IP地址的,则您的客户端IP地址可能实际上已更改。如果您使用whatismyip.com检查您的IP地址,它是否与安全组规则中的IP地址匹配? - Nick.McDermaid
你能描述一下安全组规则吗?另外,你是从EC2服务器还是你的电脑访问它? - Max
我更新了我的帖子,添加了一些额外的信息 ;) - Philippe sillon
1
前往 http://whatsmyip.net/ 检查您的 IP 地址。您的顶部规则仅允许来自单个 IP 地址的传入连接。您的家庭连接 IP 地址和咖啡店 WiFi 的 IP 地址肯定不同,而且这两者都可能随时更改。第二条规则将允许来自任何地方的传入连接,并可能解决您的问题。 - Nick.McDermaid
1
你说得对。它可以工作。谢谢。 - Philippe sillon
2个回答

8
这是因为您可能选择了默认组,所以请编辑您的安全组,在(入站)添加规则并允许来自(任何地方)的连接。

2
  1. 操作
  2. 编辑入站规则
  3. MS SQL TCP 1433 我的IP地址 (路由器公网IP地址会自动显示)
  4. 保存
  5. 尝试连接

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接