Crea un MIG que use VM interrumpibles


En este documento, se describe cómo crear un grupo de instancias administrado (MIG) que use instancias de máquinas virtuales (VM) interrumpibles. Las VM interrumpibles son útiles si tu carga de trabajo puede tolerar interrupciones y deseas aprovechar los ahorros de costos asociados con las VM interrumpibles.

También puedes leer sobre otras situaciones básicas para crear un MIG.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. Terraform

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

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

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Limitaciones

Para ver la lista completa de limitaciones del MIG, que varía según la configuración que uses, consulta Limitaciones del MIG.

Crea una plantilla de instancias con VMs interrumpibles

Puedes usar un MIG zonal o regional para crear con rapidez VMs interrumpibles, lo que puede reducir los costos de las VM en tus grupos de instancias administrados. Por ejemplo, puedes crear un grupo de VM interrumpibles, usarlo para ejecutar una tarea de procesamiento por lotes y, luego, borrar el grupo cuando se complete la tarea.

Para crear un grupo de VM interrumpibles, configura la opción interrumpible en una plantilla de instancias y, luego, usa la plantilla para crear el MIG.

Console

  1. En la consola, ve a la página Plantillas de instancias.

    Ir a Plantillas de instancia

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Haz clic en Crear plantilla de instancias.
  3. Completa las propiedades que quieres para la plantilla de instancias.
  4. Haz clic en Opciones avanzadas y expande la sección Administración.
  5. En Política de disponibilidad, en la lista Modelo de aprovisionamiento de VMs, elige Spot.
  6. Haz clic en Crear para crear la plantilla.

gcloud

En , crea una plantilla de instancias mediante el comando instance-templates create. Incluye la marca --preemptible.

gcloud compute instance-templates create INSTANCE_TEMPLATE \
    --preemptible

Terraform

En el siguiente ejemplo, se crea una plantilla de instancias global. Para proporcionar la opción interrumpible, incluye el bloque scheduling. Para obtener más información sobre el recurso usado en la muestra, consulta recurso google_compute_instance_template. Para crear una plantilla de instancias regional, usa el recurso google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "preemptible-template"
  machine_type = "n1-standard-1"
  disk {
    source_image = "debian-cloud/debian-11"
  }
  network_interface {
    network = "default"
  }
  scheduling {
    preemptible       = "true"
    automatic_restart = "false"
  }
}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

REST

Llama al método instanceTemplates.insert para crear una plantilla de instancias nueva. Incluye la propiedad scheduling.preemptible y configúrala como true.

{
"name": "INSTANCE_TEMPLATE",
"properties": {
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "scheduling":
  {
    "preemptible": true
  },
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
      }
    }
  ]
  }
}

Después de crear la plantilla de instancias, úsala para crear un MIG.con VM limitadas a una sola zona ocon VM distribuidas en varias zonas de una región.

¿Qué sigue?