首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用NAT实例连接到Amazon上的MSSQL服务器

无法使用NAT实例连接到Amazon上的MSSQL服务器
EN

Stack Overflow用户
提问于 2013-08-05 11:54:06
回答 1查看 6.9K关注 0票数 0

我对Amazon服务完全陌生,我正在尝试用公共和私有子网实现虚拟私有云。私有子网将承载我的数据库服务器,而公共子网将包含我的应用程序的web服务器。为了实现这一点,我遵循了Amazon自己的一步步教程:

场景2:带有公共和私有子网的VPC

如本教程所述,我已经配置了所有的VPC安全组,并且我成功地使我的web服务器与我的数据库服务器进行了通信。我还想从本地机器上的远程连接到数据库,这样我就可以创建/删除模式,并通常查看数据库中的内容。但是,我根本无法连接到数据库服务器。

问题的一部分是,我不确定我到底想要连接到什么。在进行本教程之前,我创建了一个简单的数据库,并使用它的端点作为URL,并且我可以从本地机器远程连接到它。现在,由于数据库服务器位于私有子网上,只能通过NAT实例与外部世界通信,这是否意味着我应该使用NAT的弹性IP作为数据库URL,并向NAT的安全组添加额外的规则?我的网络知识有点缺乏,所以我不太确定,本教程在这里也没有帮助。

我的安全组包含以下条目:

NAT实例安全组入站:

代码语言:javascript
复制
Port   |   Source
22     |   my external ip
80     |   10.0.1.0/24 (private subnet)
443    |   10.0.1.0/24 (private subnet)
1433   |   my external ip

NAT实例安全组出站:

代码语言:javascript
复制
Port   |   Destination
80     |   0.0.0.0/0
443    |   0.0.0.0/0
1433   |   0.0.0.0/0

数据库安全组入站:

代码语言:javascript
复制
Port   |   Source
1433   |   sg-d6ec33b9 (web servers security group)

数据库安全组出站:

代码语言:javascript
复制
Port   |   Destination
80     |   0.0.0.0/0
443    |   0.0.0.0/0

Webserver安全组入站:

代码语言:javascript
复制
Port   |   Source
22     |   0.0.0.0/0
80     |   0.0.0.0/0
443    |   0.0.0.0/0
8080   |   0.0.0.0/0

Webservers安全组出站:

代码语言:javascript
复制
Port   |   Destination
80     |   0.0.0.0/0
443    |   0.0.0.0/0
1433   |   sg-b5ec33da (database security group id)

主路由表与专用子网(10.0.1.0/24)相关联,并有以下路由:

代码语言:javascript
复制
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0   | i-cf8605ad (NAT instance id)

自定义路由表与公共子网(10.0.0.0/24)相关联,并具有以下路由:

代码语言:javascript
复制
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0   | igw-a4ed3aca (internet gateway id)

因此,在这种设置下,我需要做什么才能获得对私有子网上的数据库服务器的外部访问,这些服务器受到NAT实例的保护?我是否需要在安全组中添加/更改规则?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 04:23:13

你的问题比安全组的变化要大一些。主要的问题是您的私人vpc是私有的,就像“无法访问互联网”一样。

您可以从外部连接几个选项:

  1. 使用一台堡垒机器作为中间跳(在公共网络上),并添加相关的SG规则以将该机器跳入您宝贵的DB中。您的用户将需要连接到该机器,然后在该机器上运行客户端工具来连接到DB,或者设置一个SSH隧道连接到您的DB (这样您的办公机器就可以连接)。就用户体验和安全性而言,这不是一个很好的解决方案(堡垒成为一个非常大的安全风险),但设置起来很简单。(注意:既然你是MS老兄,那么请为RDP切换SSH并取消隧道操作)
  2. 设置一个虚拟专用网-带着一支大枪去射击苍蝇。安装虚拟专用网(要么使用AWS终端,要么安装OpenVPN或类似的东西)。定义路由、SG规则、密钥客户端,并在此更新,如果您能够在合理的努力下配置这一点的话。我不会去一个完整的站点对站点VPN (到您的办公网络),因为您不希望每个运行在您的办公室运行的恶意软件到您的‘私人’数据中心。
  3. 从您的办公室创建一个到DB实例的小通道。成份:从您的office到专用网络的自定义路由,允许office到DB SG的适当SG规则,使实例internet可访问的弹性IP。

您可以通过使用Dome9的访问租约来提高解决方案1、3的安全性。这将允许您限制对堡垒/通道的访问,并允许他们根据需要对授权用户进行访问(免责声明--我是一个骄傲的Dome9'er)。

尽情享受

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18057516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档