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

如果已停止的实例不是托管实例组的一部分,则可以更改其机器类型。如果您需要更改托管实例组内实例的机器类型,请参阅更新托管实例组

如果现有机器类型不适合您在实例上运行的工作负载,请更改相应实例的机器类型。在工作负载发生变化时,您可以更改实例的机器类型,以调整 vCPU 数量和内存量。例如,您可以在设置、开发和测试期间使用较小的机器,并在准备好运行生产工作负载时将实例改为使用更大的机器类型。

如需了解可用机器类型,请参阅机器类型文档。

准备工作

执行此任务所需的权限

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

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

更改机器类型

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

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

控制台


  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://compute.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 的实例,该实例运行了半个月。然后决定将该机器类型更改为 m1-ultramem-40。在您进行此更改后,Compute Engine 就会开始将虚拟机实例的运行时间计入内存优化的 vCPU 和内存类别的持续使用折扣。

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

最佳做法

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

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