AWS:删除 ELB 后面的 Web 服务器的公共 IP 后,它们停止工作

AWS:删除 ELB 后面的 Web 服务器的公共 IP 后,它们停止工作

我有两个Windows 服务器 2016公共子网中的 Web 服务器:

  1. 每个 Web 服务器都有自己的公共 IP 地址。
  2. 每个 Web 服务器都有自签名 SSL 证书,具有 HTTP 和 HTTPS 绑定,并将 HTTP 重定向到 HTTPS。
  3. 他们在一个目标组。 有一个应用程序负载均衡器使用它目标组

我可以直接从 Web 服务器或 ELB 请求页面。响应是即时的。一切都很好。

一旦我从 Web 服务器中删除了公共 IP 地址,ELB 的响应就会变得非常不可靠。它时不时会超时并出现错误 504 网关超时。但有时它确实有效。

为什么?

答案1

比 NAT 网关更便宜的解决方案是S3 端点. 从该页面

Amazon S3 收到的受影响子网中实例的源 IPv4 地址将从公有 IPv4 地址更改为来自 VPC 的私有 IPv4 地址。终端节点会切换网络路由并断开打开的 TCP 连接。切换期间,您的任务将中断,并且任何使用公有 IPv4 地址的先前连接将不会恢复。

这意味着您无需支付 NAT 网关费用,只需支付到 S3 的流量费用。请注意

终端目前不支持跨区域请求

答案2

在 Mike、Ben 和 Appleoddity 的帮助下,我终于搞清楚了。Web 服务器确实需要向外传输流量,因为它们访问的是 AWS S3。一旦它们的公共 IP 被删除,它们就会停止运行,因为它们需要连接到互联网。最大限度提高安全性的正确实施方法是将 Web 服务器放置在私有子网中,并向每个相应的公共子网添加一个 NAT 网关,并在路由表中添加一条路由,将流量路由到 0.0.0.0/0 到 NAT 网关。

相关内容