如何让 google 云函数与 google 计算引擎实例通信?

How to have a google cloud function communicate with google compute engine instance?

我在 google 计算引擎的一个区域中有一个 NSQ 运行 实例作为更大应用程序的一部分。

作为自动化测试工作的一部分,我希望能够在我们的测试环境中将事件推送到此队列。我宁愿不将此实例暴露在互联网上,而是创建一个 google 云函数作为外观。可以在项目级别安装云功能,这很好,因为我不希望生产具有此功能。

云函数似乎是在区域级别创建的,无法访问区域本地 IP 地址。因此,我想不出一种方法将 post 事件发送到 NSQ,而不将其暴露在 public 互联网上。

是否可以让 google 云功能与 gce 上的实例 运行 通信,而不将该实例暴露给 public 互联网?

调查此事我发现这还不可能。 Google Cloud Functions 与 Google Compute Engine 的内部连接已在几个月前请求。1

在Google的publicbug/issues数据库中,已经说过google已经考虑到了Google工程团队正在努力 2。不过该功能尚无预计到达时间。

来源: Google Groups question Public google issue/bug tracker

这是我的解决方法,因为无法通过云功能来执行此操作。

我正在使用 gcloud cli 工具连接到 GCE 区域并通过 ssh 向 NSQ 实例发出 curl 命令。它不是很好,但它完成了工作。

https://cloud.google.com/sdk/gcloud/