【发布时间】:2020-03-06 01:40:15
【问题描述】:
问题。我正在寻找一种敏捷的方式将 docker 容器(存储在 GCR.IO 上)发送到 GCP 上的托管服务:
- 一个带有私有数据的 docker 容器
gcr.io/project/helloworld(例如 Cloud SQL 后端) - 无法面对现实世界。 - 我想将其公开给一堆 IP:比如 [ "1.2.3.4" , "2.3.4.0/24" ]。
我的理想平台是 Cloud Run,但 GAE 也可以工作。
我想以敏捷的方式进行开发(比如使用 2-3 行代码进行部署),是否可以秘密运行我的服务但又超级容易?我们不是在谈论一个庞大的制作项目,我们是在谈论玩耍并编写一个 POC,您希望通过互联网安全地与几个朋友分享,以确保世界其他地方获得 403。
到目前为止我已经尝试过。
唯一可以轻松工作的想法是具有 docker 友好操作系统(如 cos)的 GCE vm,我可以在其中设置防火墙规则。这可行,但它是一次性 VM 上的蹩脚 docker 应用程序。机器永远运行并在重新启动时死机,除非我在 cron/startup 上稳定它。看来我在做别人的工作。
到目前为止我尝试过的所有其他方法都失败了:
- 云跑。太棒了,但无法在其上设置防火墙规则,或者 Cloud Director,.. 似乎仅适用于设置起来很痛苦的 IAP。
- GAE。适用于多个 IP,不能分离公共 IP 或对其进行防火墙保护。我设法在应用程序中进行了 IP 过滤,但似乎有点冒险。我不 [想] 相信我的编码技能 :)
- 云盔甲。只支持我没有的 HTTPS 负载均衡器。我也没有 MIG 可以指出。我想要简单。
- Traffic Director,需要一个 HTTP L7 平衡器。但我有一个 docker 容器,在一个 pod 上。为什么我需要 LB?
- GKE。实际上这似乎可行:[1] 但它没有完全托管(我需要创建集群、pod ......)
这是产品缺陷还是我看错了产品?实现我想要的最简单的方法是什么?
【问题讨论】:
-
也许 NEG 是答案? cloud.google.com/load-balancing/docs/negs
-
我同意 john hanley 的回答,根据您的要求,Cloud Run 是您的最佳选择。如果您遇到 IAP 问题,请在单独的问题中询问详细信息。
标签: google-app-engine google-cloud-platform cloud google-cloud-run google-cloud-armor