如何在 Google Cloud Scheduler 和 App Engine 之间设置私有通信?

问题描述

我已经部署了一个 Google App Engine 应用。

该应用每天由 App Engine cron 作业触发一次。

App Engine 防火墙规则设置为“拒绝”以将其保密。防火墙不会阻止 App Engine 定时任务。

现在我想用 Google Cloud Scheduler 替换 App Engine cron 作业(Cloud Scheduler 更易于使用,因为它具有暂停功能)。

但 App Engine 防火墙会阻止 Cloud Scheduler。因此,为了使其正常工作,我需要将防火墙设置为“允许”以使其可公开访问。

有没有办法在它们之间设置私人通信,使我的应用只能由 Cloud Scheduler 访问?

解决方法

您不知道,这是一个无服务器产品,您无法将其附加到您的 VPC 或公共 IP(不过,我希望这会很快改变!)。您可以允许 Google 公共 IP 范围。但在这种情况下,Google Cloud 上的任何人都可以访问您的 App Engine 服务。

这就是为什么 Google moto 之一是“不要信任网络”,我建议您使用 IAP 等功能,而不是使用防火墙规则进行 IP 过滤。

,

我无意中找到了解决方案。

Cloud Scheduler - 创建作业 - Target 选择 Apple Engine HTTP。

与玉米作业一样,App Engine 防火墙不会阻止它。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...