是否可以在GCP中使用带有防火墙的完全托管服务(云运行或应用程序引擎)



问题我正在寻找一种敏捷的方法,将docker容器(存储在GCR.IO上(发送到GCP:上的托管服务

  • 一个带有私有数据的docker容器gcr.io/project/helloworld(比如云SQL后端(无法面对现实世界
  • 我想把它暴露在一堆IP中:比如["1.2.3.4","2.3.4.0/24"]

我的理想平台是Cloud Run,但GAE也可以工作。

我想以敏捷的方式进行开发(比如用2-3行代码进行部署(,是否可以秘密地运行我的服务,但又非常容易?我们谈论的不是一个巨大的制作项目,我们谈论的是四处玩耍,写一个POC,你想通过互联网安全地分享给几个朋友,确保世界其他地方都能获得403。

到目前为止我已经尝试过了

唯一一个容易工作的想法是一个带有docker友好操作系统(如cos(的GCE vm,我可以在那里设置防火墙规则。这是可行的,但它是一次性虚拟机上的一个蹩脚的docker应用程序。除非我在cron/startup上稳定它,否则机器会永远运行并在重新启动时死亡。看起来我在做别人的工作。

到目前为止,我尝试过的其他一切都失败了:

  • 云运行。太神奇了,但无法在上面设置防火墙规则,或者云控制器。。似乎只适用于IAP,这很难建立
  • GAE。适用于多个IP,无法分离公共IP或防火墙。我设法在应用程序中获得了IP过滤,但似乎有点风险。我不想相信我的编码技能:(
  • 云甲。只支持HTTPS负载均衡器,而我没有。我也没有多边投资担保机构,我想要简单
  • 流量控制器并且需要HTTP L7平衡器。但我有一个码头集装箱,在一个单独的吊舱上。为什么我需要LB
  • GKE。事实上,这似乎是可行的:[1],但它不是完全管理的(我需要创建集群、pod等(

这是产品缺陷还是我看错了产品?实现我想要的东西最简单的方法是什么?

[1] 如何向gke服务添加防火墙规则?

请将您的问题限制在一个服务上。并不是每个人都是所有谷歌云服务的专家。如果每项服务都是单独的问题,那么您将有更好的机会获得好的答案。

总之,如果你想使用谷歌云安全组来控制基于IP的访问,你需要使用在计算引擎上运行的服务,因为安全组是VPC功能集的一部分。App Engine Standard和Cloud Run不在您项目的专有网络中运行。这就给您留下了App Engine Flex、计算引擎和Kubernetes。

我会改变策略,使用通过身份验证管理的Google Cloud Run。访问由Google Cloud IAM通过OAuth令牌控制。

云运行身份验证概述

我同意约翰·汉利的回答,并对他的回答投了赞成票。

此外,我了解到您正在研究如何通过GCP限制对您的服务的访问。

通过设置防火墙规则,您可以通过将"源IP"范围限制为"允许的源"来限制对服务的访问,以便仅允许此地址作为源IP。

请查看服务器故障[1]中的另一个线程,说明如何"仅限制对单个IP的访问"。

https://serverfault.com/questions/901364/restrict-access-to-single-ip-only

您可以很容易地使用无服务器NEG进行云运行或GAE

如果你在Terraform中这样做,你可以关注这篇文章

相关内容

  • 没有找到相关文章

最新更新