【发布时间】:2019-01-30 14:12:37
【问题描述】:
我们正在尝试使用谷歌应用引擎(主要是灵活实例)部署一个基于微服务的应用程序,在默认服务上有一个网关和一些提供业务逻辑的微服务。你可能会认为它是:
foo.appspot.comservice1.foo.appspot.comservice2.foo.appspot.com
完成后here
我希望这些服务只能从网关(可能还有其他几台机器)访问,而不是从外部访问,但我无法让它工作。
我已经能够在给定的 VPC 网络上设置所有服务,向该网络中传入的“拒绝所有流量”添加规则,但标记并允许一切的网关除外。 (如本回复中所述here)
这适用于运行时,但是,这样做时我们无法使用gcloud app deploy 进行部署。 (它挂在“更新服务”步骤)。我试图允许 22 端口,但似乎这不是正在使用的端口。我也尝试仅阻止 80 和 443 端口,但现在 App Engines 服务 1 和服务 2 可以再次从外部访问。
我应该如何配置防火墙以便能够在 App Engine 上进行部署,并将对服务的访问限制在网关上?这甚至可以使用 VPC 防火墙,还是我应该使用 KCE 实例或避免使用 GCP 基础架构并自己签署/验证请求?
【问题讨论】:
-
您是否尝试从 Google Cloud Shell 运行
gcloud app deploy? -
我是从终端运行的,去掉VPC规则后效果很好,放回去就不行了。
-
您可以部署到您的网关实例,但在尝试部署到其他服务时出现错误?
-
对,因为我的 GW 可以访问,所以它也可以正常部署,但是无法部署其他应用程序,除非我删除 VPC 上的“拒绝”规则。
标签: google-app-engine firewall vpc