【发布时间】:2020-06-03 07:15:10
【问题描述】:
免责声明:我来自 AWS 背景,但对 GCP 比较陌生。我知道存在许多类似的问题(例如,here 和 here 等),但由于仍然缺少确切/详细的说明,我仍然无法让它工作。所以请耐心等待我再问一次。
我的简单设计:
公共 HTTP/S 流量(入口) >> GCP 负载均衡器 >> GCP 服务器
GCP 负载均衡器持有 SSL 证书。然后它使用端口 80 与服务器进行下游连接。因此,对服务器的 LB 只是 HTTP。
我的问题:
如何防止传入的 HTTP/S 公共流量直接到达 GCP 服务器?相反,只允许负载均衡器(以及它的健康检查流量)?
到目前为止我尝试了什么:
我进入防火墙规则并从0.0.0.0/0 中删除了之前允许的端口 80/443(入口流量)规则。然后,添加(允许)负载均衡器的外部 IP 地址。
此时,我只是期望公共流量应该被拒绝,但负载均衡器的。但实际上,两者似乎都被拒绝了。没有任何东西到达服务器了。负载均衡器的外部 IP 似乎未被识别。
后来我还注意到“健康检查”也不再被识别。因此,健康检查无法访问服务器,然后失败。因此,负载均衡器删除了实例。
还请注意:我不能采用简单地删除服务器上的外部 IP 的方法。 (虽然很多人说这可行。)但我们仍然希望保持对服务器的直接 SSH 访问(不使用堡垒实例)。因此,我仍然需要每个 Web 服务器上的外部 IP。
非常感谢任何清晰(和善意)的说明。谢谢大家。
【问题讨论】:
-
确认一下,您已经创建了一个入口防火墙规则,允许来自
35.191.0.0/16和130.211.0.0/22IP 范围的流量按标签定向到您的 VM 实例,我说的对吗? -
@LundinCast 谢谢。就是这样!
标签: security google-cloud-platform google-compute-engine load-balancing firewall