如何正确配置App Engine的情况下VPC防火墙?

问题描述 投票:1回答:2

我们正在尝试部署使用谷歌应用程序引擎(主要是灵活的情况下),基于微服务应用程序,其上的默认服务,并提供业务逻辑的几个微服务的网关。你可能会认为它是:

  • foo.appspot.com
  • service1.foo.appspot.com
  • service2.foo.appspot.com

因为它是做here

我想的服务只能从网关(也许一些其他的机器)访问,而不是从外面,但我无法得到它的工作。

我已经能够设置一个给定的VPC网络上的所有服务,添加规则为“拒绝所有流量”在这个网络中传入的,但是,被标记,并允许所有网关。 (如在此响应here描述)

这适用于运行时间,然而,这样做的时候,所以我们不能使用部署gcloud app deploy。 (它挂在“更新服务”步骤)。我试图让22端口,但似乎这不是一个在使用中。我也试图阻止只有80个443端口,但现在在App引擎服务1和服务2是从这个外部访问一次。

我应该如何配置防火墙,能够部署在App Engine和限制访问的服务,只有网关?这甚至可能使用VPC防火墙,或者我不是应该使用KCE实例或避免使用GCP的基础设施和标志/验证要求自己?

google-app-engine firewall vpc
2个回答
1
投票

经过一番深入调查,现在你想要的东西是不是在GAE可能。

这里有您可能会想尝试一些可能的解决方法:

  • 使用Bastion VM。使用这个选项,你将有什么是在堡垒VM默认服务的代码,然后部署,并设置在那里的GAE防火墙规则只允许与堡垒VM通信其他2个服务有你的GAE弯曲。
  • 当你在你的问题说,你可以使用Kubernetes。下面是关于如何deploy a containerized web application的教程。
  • 最后,你可以执行自己的入站请求验证,使用标准的HTTP标头,如X - 转发,对于确定客户端的IP地址。

1
投票

这样做的一种方式是通过使用用于应用程序引擎弹性防火墙控制,这可被用来设置在前端的规则。

如果你拒绝所有访问你的应用程序(例如,只是改变以deny默认的防火墙,如图片shwon),什么都不会访问你的服务,你将仍然能够部署GAE你的应用程序。然后,你就只能允许特定IP范围在GAE其他防火墙规则来访问你的应用程序。

enter image description here

在这种情况下,你甚至都不需要有一个VPC和创建防火墙规则存在。

© www.soinside.com 2019 - 2024. All rights reserved.