使用 Google 云函数通过 ssh[keys] 进入 VM

Use Google Cloud Functions to ssh[keys] into VM

是否可以使用 Google Cloud Functions 通过 ssh 连接到本地虚拟机? 具体来说,我可以给 Cloud Functions 私钥使用吗?

我正在考虑 运行 一个计时器作业,它将使用 python 脚本从不在 GCP 中的虚拟机获取数据。

  1. 可能吗?
  2. 有什么我不应该这样做的理由吗?

我无法对此进行测试,因为我还没有访问 GCP 的权限,而且我还没有找到任何提及此内容的文档。我确实意识到 Functions 可能无法做到这一点,这就是为什么我很好奇过去是否有人尝试过。

据我所知 - 这是可能的。你在云函数中的代码——只是一个普通的代码。例如,如果您使用 python,则可以使用 'requests' 或 'paramico' 或 'pysftp' 或任何其他库。没有(准确地说 - 很少)限制。

您可以为此目的使用私钥。我建议将私钥存储在 Secret Manager 中,以便在运行时检索它(您需要为该检索编写代码)。

但是请注意,云功能受限于最大 2Gb 内存(在 RAM 和 'fake' 本地驱动器之间共享,因此您可以像使用本地驱动器一样使用“/tmp”目录);并受 540 秒(9 分钟)超时限制。因此,您需要 'push' 所有您想做的事情都进入这些界限。

此外,访问外部 IP 地址可能会被外部方列入白名单。您可能需要使用一些额外的网络配置,以便您的函数中的所有 'calls' 都来自一个专用 IP 地址。也是可以的。

对于计时器 - 您可以使用 Cloud Scheduler,它可以根据您的 cron 时间表将消息发送到 Pub/Sub 主题。云函数将在 Pub/Sub.

的另一边