更改已停止实例的机器类型

本页面介绍如何更改不属于托管实例组的现有实例的机器类型。要详细了解机器类型,请参阅机器类型文档。要了解如何更新托管实例组中的实例,请参阅更新托管实例组

如果您觉得现有机器类型不适合工作负载,或者您最初有意使用较小的机器类型进行设置、开发和测试,而现在想针对生产工作负载部署虚拟机实例,则可以更改已停止实例的机器类型。

准备工作

执行此任务所需的权限

要执行此任务,您必须拥有以下权限

  • 针对实例的 compute.instances.setMachineType 权限

更改机器类型

对于不属于托管实例组的实例,您可以更改其机器类型,而不会影响实例的永久性磁盘数据、SSH 密钥或任何其他实例配置(如实例元数据)。如果您的实例使用临时外部 IP 地址,则 IP 地址可能会发生变化。要防止 IP 地址发生变化,请将其升级为静态外部 IP 地址

要更改已停止实例的机器类型,请使用 Google Cloud Platform Console、API 中的 setMachineType 方法或 gcloud 中的 instances set-machine-type 命令。您只能更改已停止实例的机器类型,而实例只有处于 TERMINATED 状态时才会被视为已停止。无法更改正在运行的实例的机器类型。

Console


  1. 转到“虚拟机实例”页面
  2. 名称列中,点击您要更改其机器类型的实例的名称。此时将显示实例详细信息页面。
  3. 在实例详细信息页面中,完成以下步骤:

    1. 如果您尚未停止实例,请点击停止按钮以停止实例。
    2. 实例停止后,点击页面顶部的修改按钮。

      “修改”按钮的屏幕截图

    3. 机器类型部分下方,选择您要使用的机器类型,或者创建自定义机器类型

      更改机器类型的屏幕截图

    4. 保存更改。

gcloud


要在 gcloud 中更改机器类型,请运行以下命令,并将 INSTANCE 替换为示例名称,将 MACHINE-TYPE 替换为所需的机器类型:

gcloud compute instances set-machine-type INSTANCE --machine-type MACHINE-TYPE

机器类型可以是预定义机器类型(如 n1-standard-1),也可以是自定义机器类型。例如,配备了 4 个 vCPU 和 1 GB 内存的自定义机器类型可以指定为:

--machine-type custom-4-1024

API


在 API 中,发出 POST 请求,并在请求正文中指定所需的机器类型:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/INSTANCE/setMachineType

{
    machineType: "zones/us-central1-f/machineTypes/n1-standard-1"
}

要声明自定义机器类型,请使用以下格式:

zones/ZONE/machineTypes/custom-CPU-MEMORY

例如,此机器类型配备了 4 个 vCPU 和 1 GB 内存:

zones/us-central1-f/machineTypes/custom-4-1024

改用较小的机器类型

如果您弃用配备更多资源的机器类型而改用配备较少资源的机器类型(如弃用 n1-standard-8 机器类型而改用 n1-standard-2),可能会遇到硬件资源问题或性能限制,因为较小机器类型不如较大机器类型功能强大。请确保新的机器类型能够支持目前在实例上运行的所有应用和服务,或者更新您的服务和应用以便在较小的机器类型上运行。

结算影响

不同机器类型的计费费率不同,因此请确保您了解更改机器类型的价格影响。例如,n1-standard-1 机器类型的费用高于 f1-micro 机器类型。

更改机器类型还会影响持续使用折扣。持续使用折扣基于同一地区中机器类型相同的推断实例,因此,如果您更改机器类型,虚拟机实例的后续运行时间将计入新机器类型的持续使用折扣。

例如,假设您有一个机器类型为 n1-standard-1 的实例,该实例运行了半个月。然后,您决定将该机器类型更改为 n1-standard-2。在您做出更改后,Compute Engine 就会从那时起将虚拟机实例的运行时间计入 n1-standard-2 机器类型的持续使用折扣。

在您的帐单上,您会看到机器类型更改之前应用于 n1-standard-1 机器类型的持续使用折扣,以及n1-standard-2 的单独持续使用折扣(如果您的实例继续在 n1-standard-2 上运行的时间至少占本月剩余时间的 25%)。

最佳做法

使用快照定期对永久性磁盘数据进行备份是一种很好的做法。在更改机器类型之前,考虑截取永久性磁盘数据的快照。如果您要确保新机器类型能够支持现有虚拟机实例上的数据,可以截取永久性磁盘快照,并使用该快照来启动第二个运行新机器类型的虚拟机实例,以确认该实例将成功启动。

如果您的实例上挂接了第二个永久性磁盘,请确保将该磁盘添加到 /etc/fstab 文件中,这样该磁盘就会在实例重新启动时自动装载。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档