与App Engine辅助实例绑定的GAE白名单IP VPC无法运行防火墙

问题描述

我读了这篇文章: How to properly configure VPC firewall for App Engine instances? 首先,这对防火墙设置具有很大的帮助-对于那些发现此问题并为此而苦苦挣扎的人来说,请遵循。 https://cloud.google.com/appengine/docs/flexible/python/using-shared-vpc是一个很好的参考,因为有些帐户需要“添加”权限才能使魔术发生。

我的问题-我有两个在AppEngine中运行的容器化服务,一个默认(网站),一个API。我已将API配置为在与默认创建的VPC /子网分开的VPC /子网中运行。我没有对防火墙设置进行任何更改,因为这些设置是全局的,因此直接影响了App Engine的设置,并且不允许您针对特定实例-网站需要保持公开状态,而API应该要求将白名单访问。 >

dispatch.yaml 用于配置子域映射

dispatch:
  - url: "www.example.com/*"
    service: default

  - url: "api.example.com/*"
    service: api

API yaml设置

network:
  name: projects/mycool-12345-project/global/networks/apis
  subnetwork_name: apis
  instance_tag: myapi

创建VPC网络

  name - apis
  subnet name - apis
  creation mode - automatic
  routing mode - regional
  dns policy - none
  max MTU - 1460

添加防火墙规则

  allow 130.211.0.0/22,35.191.0.0/16   port 10402,8443   tag aef-instance  priority 1000
  deny 0.0.0.0/0                        port 8443         tag myapi         priority 900
  allow 130.211.0.0/22,35.191.0.0/16   port 8443         tag myapi         priority 800

这有效-但我无法指定“白名单IP”。

如果我执行以下操作并禁用“允许130/35网络8443/800”

  allow my.ip.number.ihave   port 8443     tag myapi     priority 800

它永远不会违反此规则,它永远不会识别我的IP。

发生什么变化/如何在VPC中配置防火墙,以便防火墙接收公共IP。当我查看日志时,它说它拒绝了我的请求,因为我的IP地址是35.x.x.x。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)