【问题标题】:Using Pub/Sub on a public Cloud Run service在公共 Cloud Run 服务上使用 Pub/Sub
【发布时间】:2021-07-07 12:53:57
【问题描述】:

根据 Cloud Run 的“Authenticating service-to-service”文档,要在服务上使用 Pub/SubCloud Scheduler必须禁用未经身份验证的访问,因为它们依赖于 HTTP 调用,因为Cloud Run 服务的零扩展能力。

我的服务允许内部和负载均衡器流量,并且必须对前端客户端公开可用,但它们还必须能够通过 Pub/Sub 私下相互通信。

有没有办法做到这一点?为使用 Pub/Sub 创建单独的私有服务感觉不自然。

【问题讨论】:

  • 你能更清楚地知道什么叫什么吗?云运行是调用 PubSub 还是 Cloud Scheduler API?还是相反,PubSub 推送订阅和调用 Cloud Run 服务的 Cloud Scheduler?
  • 我希望我的 Cloud Run 服务能够收听 Pub/Sub 订阅。所以 Pub/Sub 调用 Cloud Run。

标签: google-cloud-platform google-cloud-pubsub google-cloud-run google-cloud-scheduler


【解决方案1】:

这是一个缺失的部分。您不能插入您的 VPC PubSub 推送订阅和 Cloud Scheduler(还有 Cloud Task、Cloud Build、Workflows,...)。几个月前我问过 Google Cloud,它应该很快就会被新的网络功能修复。至少在 2021 年!

因此,在您的情况下,如果您的 Cloud Run 服务可通过负载均衡器从公共互联网访问,您可以使用此公共端点调用您想要的服务路径,从而执行该过程。

如果您的 Cloud Run in 只能从 ingress=internal 访问,那么您现在不能。

【讨论】:

  • 感谢您的回答。我的服务可以公开访问,但我想保护 Pub/Sub 端点。我想我现在会将自己的令牌附加到 Pub/Sub 消息中。
  • 是的,您不能只使用 IAM 服务保护一个端点。它要么是整个服务,要么什么都没有。您还可以在服务前使用 API 网关,以便对 API 的每个路径进行更精细的控制。
猜你喜欢
  • 2016-12-16
  • 2019-10-29
  • 2022-01-09
  • 2021-10-12
  • 1970-01-01
  • 2020-06-15
  • 2022-01-13
  • 2018-12-15
  • 2020-04-11
相关资源
最近更新 更多