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 empezar

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

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    Consola

    Cuando usas la Google Cloud consola de para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.

    gcloud

    1. Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

  • Configura una región y una zona predeterminadas.
  • Terraform

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

    1. Instala la Google Cloud CLI.

    2. Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

    3. Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:

      gcloud auth application-default login

      No es necesario que lo hagas si usas Cloud Shell.

      Si se muestra un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a gcloud CLI con tu identidad federada.

    Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

    REST

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

      Instala la Google Cloud CLI.

      Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate 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 Google Cloud consola de.

  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 google_compute_region_instance_template recurso.

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?