Crear un MIG en una sola zona


En este documento se describe cómo crear un grupo de instancias gestionado (MIG) en una sola zona. Si colocas todas las VMs de tu MIG en una sola zona, se minimiza la latencia, lo que resulta útil para determinadas cargas de trabajo, como las cargas de trabajo por lotes.

Este tipo de MIG también se conoce como MIG zonal.

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

Antes de empezar

  • Crea una plantilla de instancia, que es necesaria para crear un grupo de instancias gestionado.
  • 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 un MIG en una sola zona

Para crear un MIG en una sola zona, usa la Google Cloud console, la CLI de gcloud, Terraform o REST.

Consola

  1. En la consola, ve a la página Grupos de instancias. Google Cloud

    Ir a Grupos de instancias

    Los pasos restantes aparecen en la Google Cloud consola.

  2. Haz clic en Crear grupo de instancias.
  3. Si quieres crear un MIG con reconocimiento del estado, selecciona la opción Nuevo grupo de instancias gestionado (con reconocimiento del estado). Para ayudarte a decidir, consulta Cuándo usar grupos de instancias gestionados con reconocimiento del estado.
  4. Asigna un nombre y, si quieres, una descripción al grupo de instancias.
  5. Elige una plantilla de instancia para el grupo de instancias o crea una.
  6. Especifica el número de VMs de este grupo. Recuerda aprovisionar suficientes máquinas virtuales para que tu aplicación siga funcionando si se produce un fallo en una zona.
  7. En Ubicación, selecciona Una sola zona.
  8. Selecciona la región y la zona en las que quieras crear tu MIG. Si has elegido una plantilla de instancia regional, la región se seleccionará automáticamente en función de la región de la plantilla.
  9. En las MIGs sin estado, la opción Autoescalado está habilitada de forma predeterminada. Con el autoescalado, tu grupo añade o elimina instancias automáticamente en función de su utilización.
  10. También puedes habilitar la reparación automática para realizar comprobaciones del estado basadas en aplicaciones en las VMs del grupo.
  11. Haz clic en Crear para crear el grupo.

gcloud

Si aún no has creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de la VM que quieras para cada VM de tu MIG, crea una plantilla de instancia.

Crea un grupo de instancias gestionado con el comando instance-groups managed create y especifica el nombre, el tamaño, la plantilla de instancia y la zona del grupo.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --zone ZONE

Haz los cambios siguientes:

  • INSTANCE_GROUP_NAME: el nombre de este grupo de instancias.
  • SIZE: el tamaño del grupo de instancias.
  • INSTANCE_TEMPLATE_URL: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:
    • En el caso de una plantilla de instancia regional, haz lo siguiente: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • En el caso de una plantilla de instancia global, haz lo siguiente: INSTANCE_TEMPLATE_ID
  • ZONE: una de las zonas disponibles para Compute Engine. Si quieres distribuir las VMs de tu MIG en varias zonas de una región, consulta Crear un MIG regional.

También puedes proporcionar la marca --base-instance-name. Como estas máquinas virtuales se basan en una plantilla común, a cada una se le asigna una cadena aleatoria como parte de su nombre. El nombre base se añade como prefijo a esta cadena aleatoria. Por ejemplo, si asignas el nombre base test, las VMs tendrán nombres como test-yahs y test-qtyz. Si necesitas nombres específicos, consulta Crear instancias con nombres específicos en MIGs.

Por ejemplo, el siguiente comando crea un grupo de instancias llamado example-group, con el nombre de VM base test. El grupo contiene tres instancias:

gcloud compute instance-groups managed create example-group \
    --base-instance-name test \
    --size 3 \
    --template an-instance-template \
    --zone us-central1-f

Terraform

Si aún no has creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de la VM que quieres que tengan todas las VMs de tu MIG, crea una plantilla de instancia.

Para crear un MIG zonal, puedes usar el google_compute_instance_group_manager recurso.

resource "google_compute_instance_group_manager" "default" {

  name               = "example-group"
  base_instance_name = "test"
  target_size        = 3
  zone               = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
}

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

REST

Si aún no has creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de la VM que quieras para cada VM de tu MIG, crea una plantilla de instancia.

Crea un grupo de instancias gestionado con el método instanceGroupManagers.insert. En el cuerpo de la solicitud, incluye el nombre del grupo, el tamaño del grupo y la URL de la plantilla de instancia.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "versions": [
    {
      "instanceTemplate": "INSTANCE_TEMPLATE_URL"
    }
  ],
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto de la solicitud.
  • ZONE: la zona de la solicitud. Si quieres distribuir las VMs de tu MIG en varias zonas de una región, sustituye zones/ZONE por regions/REGION y especifica una región. Para obtener más información, consulta Crear un MIG regional.
  • INSTANCE_GROUP_NAME: el nombre de este grupo de instancias.
  • SIZE: el tamaño del grupo de instancias.
  • INSTANCE_TEMPLATE_URL: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:
    • En el caso de una plantilla de instancia regional, haz lo siguiente: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • En el caso de una plantilla de instancia global, haz lo siguiente: INSTANCE_TEMPLATE_ID

También puedes proporcionar el campo base-name. Como estas máquinas virtuales se basan en una plantilla común, a cada una se le asigna una cadena aleatoria como parte de su nombre. El nombre base se añade como prefijo a esta cadena aleatoria. Por ejemplo, si asignas el nombre base test, las VMs tendrán nombres como test-yahs y test-qtyz. Si necesitas nombres específicos, consulta Crear instancias con nombres específicos en MIGs.

En función de cómo configures y actúes en un MIG, varias políticas y acciones pueden afectar a las instancias del grupo. Para determinar qué instancias gestionadas están activas, consulte Comprobar el estado de las instancias gestionadas.

Siguientes pasos