我正在寻找一种最佳实践来设置反向代理,以提供对私有实例(例如 Web 服务器)的访问。
我认为可以这样做:
创建具有一个私有子网的 VPC
启动反向代理实例,为其提供两个 NIC,位于私有子网中,其中一个具有自动分配的公共 IP
在私有子网中启动 Web 服务器实例
这是不可能的,因为自动分配的公共 IP 不能分配给 NIC。
然后,我找到了一篇文章,概述亚马逊推荐的做法去做这个。
- 设置具有一个公有子网和一个私有子网的 VPC,并配置相应的安全组以及带有 NAT 网关的弹性 IP
- 启动实例、公共中的反向代理、私有子网中的另一台服务器
- NAT 网关连接公有子网和私有子网
我不明白在这种情况下我需要 NAT 网关和 EIP 做什么。如果机器具有自动分配的公共 IP 和私有子网中的 NIC,这应该也可以工作,不是吗?
您在 AWS 中执行此操作的最佳实践是什么?
答案1
NAT 实例仅适用于允许私有实例发起到互联网的出站连接。
您正在寻找的是位于您的公共子网中的 AWS 应用程序负载均衡器或 AWS 弹性负载均衡器。它将具有公共 IP。您的 Web 服务器将连接到负载均衡器,负载均衡器将把流量代理回您的实例。