Crear un MIG que use VMs no garantizadas


En este documento se describe cómo crear un grupo de instancias gestionado (MIG) que utilice instancias de máquina virtual (VM) no garantizadas. Las máquinas virtuales interrumpibles son útiles si tu carga de trabajo puede tolerar interrupciones y quieres aprovechar los ahorros de costes asociados a las máquinas virtuales interrumpibles.

También puedes consultar otros casos prácticos básicos para crear un MIG.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    Terraform

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

      Instala Google Cloud CLI.

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

      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.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

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

    REST

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

      Instala Google Cloud CLI.

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Limitaciones

Para ver la lista completa de limitaciones de MIG, que varía en función de la configuración que utilices, consulta el artículo sobre las limitaciones de MIG.

Crear una plantilla de instancia con VMs no garantizadas

Puedes usar un MIG de zona o de región para crear rápidamente varias máquinas virtuales interrumpibles, lo que puede reducir los costes de las VMs de tus grupos de instancias gestionados. Por ejemplo, puede crear un grupo de máquinas virtuales preemptibles, usarlas para ejecutar una tarea de procesamiento por lotes y luego eliminar el grupo cuando se complete la tarea.

Para crear un grupo de VMs interrumpibles, define la opción de interrumpibilidad en una plantilla de instancia y, a continuación, usa la plantilla para crear el MIG.

Consola

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

    Ir a Plantillas de instancia

    Los pasos restantes aparecen en la Google Cloud consola.

  2. Haz clic en Crear plantilla de instancia.
  3. Rellena las propiedades que quieras para tu plantilla de instancia.
  4. Haz clic en Opciones avanzadas y despliega la sección Gestión.
  5. En Política de disponibilidad, en la lista Modelo de aprovisionamiento de la VM, elige Spot.
  6. Haga clic en Crear para crear la plantilla.

gcloud

Crea una plantilla de instancia con 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 instancia global. Para proporcionar la opción de preemptible, incluye el bloque scheduling. Para obtener más información sobre el recurso utilizado en el ejemplo, consulta el recurso google_compute_instance_template. Para crear una plantilla de instancia 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"
  }
}

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

REST

Llama al método instanceTemplates.insert para crear una plantilla de instancia. Incluye la propiedad scheduling.preemptible y asígnale el valor 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"
      }
    }
  ]
  }
}

Una vez que hayas creado la plantilla de instancia, úsala para crear un MIG con máquinas virtuales confinadas en una sola zona o con máquinas virtuales distribuidas en varias zonas de una región.

Siguientes pasos