手动暂停或停止 MIG 中的虚拟机


本文档介绍如何暂停和停止托管式实例组 (MIG) 中的虚拟机 (VM) 实例以及如何让其恢复运行。

准备工作

  • 查看有关 MIG 中的已暂停和已停止的虚拟机的简介页面。
  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

暂停 MIG 中的特定虚拟机

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Compute Engine API 暂停 MIG 中正在运行的虚拟机。

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    转到“实例组”页面

  2. 点击要暂停虚拟机的实例组名称。
  3. 在实例组的概览页面的虚拟机实例下,选择要暂停的所有虚拟机。
  4. 点击暂停
  5. 在显示的确认对话框中,点击暂停进行确认。

gcloud

使用 beta instance-groups managed suspend-instances 命令

gcloud beta compute instance-groups managed suspend-instances MIG_NAME \
  --instances=INSTANCE_NAME \
  [--region=REGION | --zone=ZONE]

替换以下内容:

  • MIG_NAME:要在其中暂停实例的 MIG 的名称。
  • INSTANCE_NAME:要暂停的实例的名称。如需暂停多个实例,请提供以英文逗号分隔的名称列表。
  • REGION:对于区域级 MIG,这是 MIG 所在的区域。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。

API

使用 beta.instanceGroupManager.suspendInstances 方法并在请求正文中指定实例。对于区域级 MIG,请使用 beta.regionInstanceGroupManager.suspendInstances 方法

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/suspendInstances

{
  "instances": [
    "INSTANCE_NAME_URL"
  ]
}

替换以下内容:

  • PROJECT_ID:请求的项目 ID。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。
    • 对于区域级 MIG,将 zones/ZONE 替换为 regions/REGION 并指定 MIG 所在的地区。
  • MIG_NAME:要在其中暂停实例的 MIG 的名称。
  • INSTANCE_NAME_URL:要暂停的实例的网址,例如 zones/us-central1-a/instances/example-instance-name1。如需暂停多个实例,请提供以英文逗号分隔的网址列表,例如 "zones/us-central1-a/instances/example-instance-name1","zones/us-central1-a/instances/example-instance-name2"

恢复 MIG 中的选定虚拟机

您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API 恢复 MIG 中的已暂停虚拟机。

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    转到“实例组”页面

  2. 点击要在其中恢复虚拟机的实例组名称。
  3. 在实例组概览页面的虚拟机实例下,选择要恢复的所有已暂停的虚拟机,然后点击启动/恢复

gcloud

使用 beta instance-groups managed resume-instances 命令

gcloud beta compute instance-groups managed resume-instances MIG_NAME \
  --instances=INSTANCE_NAME \
  [--region=REGION | --zone=ZONE]

替换以下内容:

  • MIG_NAME:要在其中恢复实例的 MIG 的名称。
  • INSTANCE_NAME:要恢复的实例的名称。如需恢复多个实例,请提供以英文逗号分隔的名称列表。
  • REGION:对于区域级 MIG,这是 MIG 所在的区域。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。

API

使用 beta.instanceGroupManager.resumeInstances 方法并在请求正文中指定实例。对于区域级 MIG,请使用 beta.regionInstanceGroupManager.resumeInstances 方法

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resumeInstances

{
  "instances": [
    "INSTANCE_NAME_URL"
  ]
}

替换以下内容:

  • PROJECT_ID:请求的项目 ID。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。
    • 对于区域级 MIG,将 zones/ZONE 替换为 regions/REGION 并指定 MIG 所在的地区。
  • MIG_NAME:要在其中恢复实例的 MIG 的名称。
  • INSTANCE_NAME_URL:要恢复的实例的网址,例如 zones/us-central1-a/instances/example-instance-name1。如需恢复多个实例,请提供以英文逗号分隔的网址列表,例如 "zones/us-central1-a/instances/example-instance-name1","zones/us-central1-a/instances/example-instance-name2"

停止 MIG 中的选定虚拟机

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Compute Engine API 停止 MIG 中正在运行的虚拟机。

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    转到“实例组”页面

  2. 点击要停止虚拟机的实例组名称。
  3. 在实例组的概览页面的虚拟机实例下,选择要停止的所有虚拟机,然后点击停止
  4. 在显示的确认对话框中,点击停止进行确认。

gcloud

使用 beta instance-groups managed stop-instances 命令

gcloud beta compute instance-groups managed stop-instances MIG_NAME \
  --instances=INSTANCE_NAME \
  [--region=REGION | --zone=ZONE]

替换以下内容:

  • MIG_NAME:要在其中停止实例的 MIG 的名称。
  • INSTANCE_NAME:要停止的实例的名称。如需停止多个实例,请提供以英文逗号分隔的名称列表。
  • REGION:对于区域级 MIG,这是 MIG 所在的区域。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。

API

使用 beta.instanceGroupManager.stopInstances 方法并在请求正文中指定实例。对于区域级 MIG,请使用 beta.regionInstanceGroupManager.stopInstances 方法

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/stopInstances

{
  "instances": [
    "INSTANCE_NAME_URL"
  ]
}

替换以下内容:

  • PROJECT_ID:请求的项目 ID。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。
    • 对于区域级 MIG,将 zones/ZONE 替换为 regions/REGION 并指定 MIG 所在的地区。
  • MIG_NAME:要在其中停止实例的 MIG 的名称。
  • INSTANCE_NAME_URL:要停止的实例的网址,例如 zones/us-central1-a/instances/example-instance-name1。如需停止多个实例,请提供以英文逗号分隔的网址列表,例如 "zones/us-central1-a/instances/example-instance-name1","zones/us-central1-a/instances/example-instance-name2"

启动 MIG 中的选定虚拟机

您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API 启动 MIG 中已停止的虚拟机。

控制台

  1. 在 Google Cloud 控制台中,转到实例组页面。

    转到“实例组”页面

  2. 点击要启动虚拟机的实例组名称。
  3. 在实例组的概览页面的虚拟机实例下,选择要启动的所有已停止的虚拟机,然后点击启动/恢复

gcloud

使用 beta instance-groups managed start-instances 命令

gcloud beta compute instance-groups managed start-instances MIG_NAME \
  --instances=INSTANCE_NAME \
  [--region=REGION | --zone=ZONE]

替换以下内容:

  • MIG_NAME:要在其中启动实例的 MIG 的名称。
  • INSTANCE_NAME:要启动的实例的名称。如需启动多个实例,请提供以英文逗号分隔的名称列表。
  • REGION:对于区域级 MIG,这是 MIG 所在的区域。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。

API

使用 beta.instanceGroupManager.startInstances 方法并在请求正文中指定实例。对于区域级 MIG,请使用 beta.regionInstanceGroupManager.startInstances 方法

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/startInstances

{
  "instances": [
    "INSTANCE_NAME_URL"
  ]
}

替换以下内容:

  • PROJECT_ID:请求的项目 ID。
  • ZONE:对于可用区级 MIG,这是 MIG 所在的可用区。
    • 对于区域级 MIG,将 zones/ZONE 替换为 regions/REGION 并指定 MIG 所在的地区。
  • MIG_NAME:要在其中启动实例的 MIG 的名称。
  • INSTANCE_NAME_URL:要启动的实例的网址,例如 zones/us-central1-a/instances/example-instance-name1。如需启动多个实例,请提供以英文逗号分隔的网址列表,例如 "zones/us-central1-a/instances/example-instance-name1","zones/us-central1-a/instances/example-instance-name2"

后续步骤