通过网站启动 Google Cloud 虚拟机实例

时间:2021-03-13 22:57:52

标签: http web cloud virtual-machine gcloud

基本上是标题 - 我想创建一个带有按钮的简单网站,按下按钮时,会启动一个谷歌云虚拟机实例。目标是不需要来自客户端的任何类型的授权,因此登录到与 gcloud 项目相关联的谷歌帐户是行不通的。

有人告诉我这应该是一项轻松的工作,但我在网上找不到与此相关的任何内容,而且我在 gclouds 中迷失了许多选项,所以我不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

有多种方法可以解决此问题,但请非常小心允许(任意)网站用户单击按钮并启动 VM(您将为此付费) .每个 VM 将花费您 $$$。

由于您不希望网站(客户端)进行身份验证,您必须将该身份验证(因为 GCP 需要身份验证)委托给代理服务器|服务。此代理将提供一些 API 端点,让我们保持简单并说它是 /billmeforanothervm

您可以在 Google 的任何计算服务(Cloud Run|Functions、App Engine、Compute Engine 等)上运行此代理。

当它在 GCP 上的任何计算服务上运行时,代理本身将作为服务帐户进行身份验证。您可以通过授予此服务帐号 IAM 角色来创建 VM,或者更好地创建一个仅由代理使用且仅用于创建 VM 的新服务帐号。

然后,根据您的编程语言偏好,代理将运行 Compute Engine 的 instances.insert 方法:

https://cloud.google.com/compute/docs/reference/rest/v1/instances/insert#examples

IAM 权限记录在示例上方:

https://cloud.google.com/compute/docs/reference/rest/v1/instances/insert#iam-permissions

一旦工作,每次调用端点或用户单击网站上的按钮时,都会创建一个新的 VM。然后,您将需要其他功能来使您的用户可以访问此 VM。

您将为以这种方式创建的每个虚拟机在虚拟机的整个生命周期内付费。而且,由于您没有提及身份验证,因此地球上的任何人都可以单击该按钮并向您收取创建 VM 的费用。请非常小心使用这种方法。