我无法从AWS EC2实例连接我的RDS SQL Server实例。
我已经在我的AWS EC2 Windows Server 2019实例上安装了SQL Server Management Studio。
我既不能从那台机器上ping我的RDS端点,也不能使用SSMS连接。在RDS的安全组入站规则中,我在所有流量选项下输入了EC2实例的IP,也尝试在安全入站规则中使用SQL Server选项。
这里有两个关键问题是相关的。1)是AWS中允许的连接,2)是各个实例上的主机应用允许的连接。
对于1,你需要对你的云的网络方面的可视性。我在你的环境中使用了Batfish的虚拟追踪路线。有一个免费的开源项目(https:/batfish.org)或您可以免费试用企业级产品(https:/www.intentionet.comtrial).
在您验证了AWS中允许的流量(没有网络ACL或安全组配置错误,vpc peerings路由表正确等)之后,您应该继续验证实际主机上的应用配置。
(声明:本人在《蝙蝠鱼》和《蝙蝠鱼企业》工作)。
你要做的是。
你在RDS实例中附加的安全组需要添加一个规则,让安全组的入站部分是SQL Server,并让该规则的来源与安全组同名,这叫做自引用安全组规则。然后进入EC2实例,并将相同的安全组附加到实例中。这样就可以解决安全组的潜在问题。
另一块你需要检查的是,如果EC2实例与RDS SQL Server处于不同的子网,你需要确保网络访问控制列表(NACL)允许子网之间SQL的入站流量。