安排 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
这是我到目前为止所做的(无济于事):
- 使用管理员设置服务帐户
- 创建了一个应该启动虚拟机的云函数
- 创建了一个云调度程序,它应该向函数发出 HTTP 请求
问题是当我请求函数时,它显示状态:“PERMISSION_DENIED”
如果有人能提供有关如何执行此操作的任何详细说明,我将不胜感激。
谢谢。
在这种情况下,权限被拒绝错误是由于不允许未经身份验证的调用。
我强烈建议禁用 'Allow unauthenticated invocations',因为这样任何人都可以通过 public 互联网调用该功能。由于该函数启动了 VM,因此任何安全漏洞都可能代价高昂。
相反,将 Cloud Scheduler 作业配置为使用服务帐户调用 Cloud 函数。
实现步骤记录在 https://cloud.google.com/scheduler/docs/http-target-auth。
您的用例总结:
- 创建一个客户服务帐户。
- 授予客户端服务帐户 Cloud Function Invoker 角色给函数
- 将 Cloud Scheduler 作业配置为使用客户端服务帐户。
通过上述设置,客户端服务帐户将可以调用该功能,而一般public将无法调用该功能。
虚拟机已设置。我只是需要帮助来安排它。
我试过用这个作为参考,但没有成功: https://medium.com/martinomburajr/using-cloud-scheduler-to-resurrect-preempted-virtual-machines-c637c6d7f098
这是我到目前为止所做的(无济于事):
- 使用管理员设置服务帐户
- 创建了一个应该启动虚拟机的云函数
- 创建了一个云调度程序,它应该向函数发出 HTTP 请求
问题是当我请求函数时,它显示状态:“PERMISSION_DENIED”
如果有人能提供有关如何执行此操作的任何详细说明,我将不胜感激。
谢谢。
在这种情况下,权限被拒绝错误是由于不允许未经身份验证的调用。
我强烈建议禁用 'Allow unauthenticated invocations',因为这样任何人都可以通过 public 互联网调用该功能。由于该函数启动了 VM,因此任何安全漏洞都可能代价高昂。
相反,将 Cloud Scheduler 作业配置为使用服务帐户调用 Cloud 函数。
实现步骤记录在 https://cloud.google.com/scheduler/docs/http-target-auth。
您的用例总结:
- 创建一个客户服务帐户。
- 授予客户端服务帐户 Cloud Function Invoker 角色给函数
- 将 Cloud Scheduler 作业配置为使用客户端服务帐户。
通过上述设置,客户端服务帐户将可以调用该功能,而一般public将无法调用该功能。