安排 Google 云 VM 在特定时间自动启动和关闭

Scheduling Google Cloud VM to automatically startup and shutdown at certain times

虚拟机已设置。我只是需要帮助来安排它。

我试过用这个作为参考,但没有成功: https://medium.com/martinomburajr/using-cloud-scheduler-to-resurrect-preempted-virtual-machines-c637c6d7f098

这是我到目前为止所做的(无济于事):

  1. 使用管理员设置服务帐户
  2. 创建了一个应该启动虚拟机的云函数
  3. 创建了一个云调度程序,它应该向函数发出 HTTP 请求

问题是当我请求函数时,它显示状态:“PERMISSION_DENIED”

如果有人能提供有关如何执行此操作的任何详细说明,我将不胜感激。

谢谢。

在这种情况下,权限被拒绝错误是由于不允许未经身份验证的调用。

我强烈建议禁用 'Allow unauthenticated invocations',因为这样任何人都可以通过 public 互联网调用该功能。由于该函数启动了 VM,因此任何安全漏洞都可能代价高昂。

相反,将 Cloud Scheduler 作业配置为使用服务帐户调用 Cloud 函数。

实现步骤记录在 https://cloud.google.com/scheduler/docs/http-target-auth

您的用例总结:

  1. 创建一个客户服务帐户。
  2. 授予客户端服务帐户 Cloud Function Invoker 角色给函数
  3. 将 Cloud Scheduler 作业配置为使用客户端服务帐户。

通过上述设置,客户端服务帐户将可以调用该功能,而一般public将无法调用该功能。