保留临时外部 IP 但禁用外部 HTTP 请求并在 Google Compute Engine 上保留内部信息

Keep efimeral external IP but disable external HTTP request and keep internals on Google Compute Engine

我在 GCE 上有一个需要“互联网”连接的应用程序,但我不希望它可以从外部访问,而只能通过其他服务(其他 GCE 和云)的内部 IP (HTTP) 运行 无服务器 VPC 上的实例)。

如何在不删除外部 IP 的情况下禁用外部?谢谢

gcp 中有两个隐含的防火墙规则,优先级最低。你不能删除这些。

  • 允许所有出口流量(这将允许您的实例访问 互联网)
  • 拒绝所有入口流量(这会阻止您的实例从任何地方访问)

解决方案 - 您可以创建防火墙规则以仅允许来自 TCP 端口 80 上的内部 vpc 网络的入口流量。

  1. Select 您的实例并单击“编辑”。
  2. 在“网络”列中,删除 http-server 和 https-server 标签(如果存在)并添加您自己的标签,例如“my-app”并保存。 我们将在我们自己的防火墙规则中允许 http 流量。
  3. 转到 VPC 网络。 Select 防火墙。创建一条防火墙规则以允许目标标记为“my-app”且源为您的 vpc 网络或子网的 CIDR IP 范围的入口流量以及 tcp 端口 80。此规则将仅允许内部 HTTP 流量 仅来自 vpc 网络。