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

  • Configura la autenticación si aún no lo hiciste. 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 un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

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

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    Terraform

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

    1. Instala Google Cloud CLI.
    2. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

      gcloud init
    3. Crea credenciales de autenticación locales para tu Cuenta de Google:

      gcloud auth application-default login

    Para 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 en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

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.

Consola

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

    Ir a Plantillas de instancia

    Los pasos restantes aparecerán automáticamente 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?