Crea un MIG con varios tipos de máquinas


En este documento, se describe cómo crear un grupo de instancias administrado (MIG) con flexibilidad de instancias, que te permite especificar varios tipos de máquinas en el MIG.

La flexibilidad de las instancias ayuda a mejorar la disponibilidad de los recursos, en particular para las aplicaciones que pueden operar en diferentes tipos de máquinas y que requieren capacidad a gran escala o hardware con alta demanda. Para obtener más información, consulta Acerca de la flexibilidad de las instancias.

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

Antes de comenzar

  • Crea una plantilla de instancias, que es necesaria para crear un grupo de instancias administrado.
  • 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.

Crea un MIG con varios tipos de máquinas

Console

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

    Ir a Grupos de instancias

  2. Haga clic en Crear grupo de instancias.

  3. En el campo Nombre, ingresa un nombre para el MIG.

  4. En la lista Plantilla de instancias, selecciona la plantilla de instancias que quieres usar para el MIG.

  5. Antes de poder especificar la Cantidad de instancias y agregar Selección de instancias, debes hacer lo siguiente:

    1. Establece una ubicación de la siguiente manera:

      1. Desplázate hasta la sección Ubicación y selecciona Varias zonas.

      2. En los menús desplegables Regiones y Zonas, selecciona una región y las zonas en las que deseas crear las VMs en el MIG. Si elegiste una plantilla de instancias regional, la región de esa plantilla se selecciona de forma predeterminada.

      3. En el campo Forma de distribución objetivo, selecciona Equilibrado o Cualquier zona.

      4. En el cuadro de diálogo que se abre, haz clic en Inhabilitar la redistribución de instancias.

    2. Borra la configuración del ajuste de escala automático de la siguiente manera:

      1. En la sección Ajuste de escala automático, en el menú desplegable Modo de ajuste de escala automático, haz clic en Borrar configuración del ajuste de escala automático.

      2. En el cuadro de diálogo que se abre, haz clic en Borrar.

    3. Vuelve a desplazarte hasta el campo Cantidad de instancias.

  6. En el campo Cantidad de instancias, especifica la cantidad de VMs que quieres en el grupo.

  7. En la sección Selección de instancias, haz clic en Agregar selección de instancias.

    Se abrirá la ventana Selección de instancias.

    1. Haz clic en Agregar selección de instancias.

    2. En la sección Selección de instancia nueva, haz lo siguiente:

      1. En el campo Nombre, ingresa un nombre para la selección de instancias.

      2. En la sección Tipos de máquinas, haz clic en Agregar tipo de máquina, selecciona el tipo de máquina que deseas agregar en la selección de instancias y, luego, haz clic en Listo.

        Repite este paso para cada tipo de máquina que quieras agregar a la selección de instancias.

      3. Después de agregar los tipos de máquinas a la selección de instancias, haz clic en Listo.

  8. En la ventana Selección de instancias, haz clic en Listo.

  9. Deja los demás campos con la configuración predeterminada o modifícalos según sea necesario.

  10. Haz clic en Crear.

gcloud

Para crear un MIG regional con varios tipos de máquinas, usa el comando instance-groups managed create de la siguiente manera:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Los MIG zonales no admiten la flexibilidad de instancias. Sin embargo, si deseas crear un MIG en una sola zona, configura la forma de distribución objetivo en any-single-zone. Además, si deseas una zona específica, usa la forma de distribución any-single-zone y, luego, incluye la marca --zones ZONE.

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • REGION: Es la región en la que deseas crear el MIG.
  • TARGET_SIZE: la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE: el nombre de la plantilla de instancias.
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser balanced o any-single-zone. No se admiten las otras formas de distribución objetivo.
  • MACHINE_TYPE: Los tipos de máquinas que deseas configurar en el MIG, por ejemplo, n1-standard-16,n2-standard-16,e2-standard-16.

Terraform

Si aún no creaste una plantilla de instancias, en la que se especifican las propiedades de VM que quieres para cada VM en tu MIG, crea una plantilla de instancias.

Para crear un MIG regional con varios tipos de máquinas, usa el recurso google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

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

REST

Para crear un MIG regional con varios tipos de máquinas, realiza una solicitud POST al método regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

Los MIG zonales no admiten la flexibilidad de instancias. Sin embargo, si deseas crear un MIG en una sola zona, configura la forma de distribución objetivo en ANY_SINGLE_ZONE. Además, si deseas una zona específica, usa la forma de distribución ANY_SINGLE_ZONE y, luego, incluye el campo distributionPolicy.zones[].zone en la solicitud.

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • REGION: Es la región en la que deseas crear el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • TARGET_SIZE: la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias.
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser BALANCED o ANY_SINGLE_ZONE. No se admiten las otras formas de distribución objetivo.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Los tipos de máquinas que deseas configurar en el MIG, por ejemplo, "n1-standard-16","n2-standard-16","e2-standard-16".

¿Qué sigue?