我对 Amazon Web Services 完全陌生,我正在尝试使用公共子网和私有子网实现虚拟私有云。私有子网将托管我的数据库服务器,而公共子网将包含我的应用程序的 Web 服务器。我按照亚马逊自己的分步教程来实现这一点:
我已按照教程中的说明配置了所有 VPC 安全组,并且成功地让我的 Web 服务器与我的数据库服务器通信。我还想从本地计算机上的 MSSQL Management Studio 远程连接到数据库,这样我就可以创建/删除模式并通常查看数据库中的内容。但是,我根本无法连接到数据库服务器。
部分问题是我不确定我要连接到什么。在完成本教程之前,我创建了一个简单的数据库并将其端点用作 URL,我可以从本地计算机远程连接到它。现在,由于数据库服务器位于私有子网上,并且只能通过 NAT 实例与外界通信,这是否意味着我应该使用 NAT 的弹性 IP 作为数据库 URL,并为 NAT 的安全组添加额外的规则?我对网络的了解有些欠缺,所以我不太确定,本教程在这里也无济于事。
我的安全组包含以下条目:
NAT 实例安全组入站:
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 实例安全组出站:
Port | Destination
80 | 0.0.0.0/0
443 | 0.0.0.0/0
1433 | 0.0.0.0/0
数据库安全组入站:
Port | Source
1433 | sg-d6ec33b9 (web servers security group)
出站数据库安全组:
Port | Destination
80 | 0.0.0.0/0
443 | 0.0.0.0/0
Webservers 安全组入站:
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 安全组出站:
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) 相关联,并具有以下路由:
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0 | i-cf8605ad (NAT instance id)
自定义路由表与公共子网 (10.0.0.0/24) 相关联,并具有以下路由:
Destination | Target
10.0.0.0/16 | local
0.0.0.0/0 | igw-a4ed3aca (internet gateway id)
因此,鉴于此设置,我需要做什么才能获得对私有子网上受 NAT 实例保护的数据库服务器的外部访问权限?我需要添加/更改安全组中的规则吗?
提前致谢。