Agregar flexibilidad de instancias

En este documento, se describe cómo agregar flexibilidad de instancias, lo que te permite establecer varios tipos de máquinas en un MIG.

Puedes agregar flexibilidad de instancias cuando creas un MIG o editas uno existente. Para agregar flexibilidad, configura una política de flexibilidad de instancias en el MIG. La política anula el tipo de máquina especificado en la plantilla de instancias. Cada vez que el MIG crea una instancia de máquina virtual (VM), selecciona automáticamente uno de los tipos de máquinas que enumeraste en la política según la disponibilidad de recursos. También puedes asignar rangos a las listas de tipos de máquinas para indicar tu preferencia.

Para saber cómo funciona la flexibilidad de instancias en un MIG, consulta Acerca de la flexibilidad de instancias.

Antes de comenzar

  • Asegúrate de elegir tipos de máquinas que sean compatibles con la región en la que se encuentra tu MIG. Para ver los tipos de máquinas en una región, consulta Regiones y zonas disponibles.
  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs 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:

    Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:

    Console

    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. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la 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 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 devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la 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 Google Cloud CLI.

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la 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 .

Crea un MIG con flexibilidad de instancias

Antes de crear un MIG, primero debes crear una plantilla de instancias si aún no tienes una. Luego, puedes crear un MIG con flexibilidad de instancias para anular el tipo de máquina especificado en la plantilla de instancias.

Crea un MIG con flexibilidad de instancias de una de las siguientes maneras:

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 deseas usar para el MIG.

  5. Antes de que puedas especificar la Cantidad de instancias y agregar Selecciones de instancias, debes hacer lo siguiente:

    1. Ve a la sección Ubicación de la página y configura una ubicación de la siguiente manera:

      1. 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 seleccionaste 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, Cualquiera o Cualquier zona.

        • Si seleccionas Balanceada o Cualquier zona, en el diálogo que se abre, haz clic en Inhabilitar la redistribución de instancias.

        • Si seleccionas Cualquiera, asegúrate de que la casilla de verificación Permitir la redistribución de instancias no esté seleccionada.

    2. Ve a la sección Ajuste de escala automático de la página y borra la configuración del ajuste de escala automático de la siguiente manera:

      1. 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 deseas incluir en el grupo.

  7. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones 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 desees agregar a la selección de instancias.

      3. Después de terminar de agregar los tipos de máquinas, haz clic en Listo.

  8. En la ventana Selecciones 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_URL \
    --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 quieres una zona específica, usa la forma de distribución any-single-zone e 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_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser balanced, any o any-single-zone.
  • 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 quieres una zona específica, usa la forma de distribución ANY_SINGLE_ZONE y agrega el campo distributionPolicy.zones[].zone a 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 que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser BALANCED, ANY o ANY_SINGLE_ZONE.
  • 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"

Crea un MIG con varios tipos de máquinas y preferencias

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 deseas usar para el MIG.

  5. Antes de que puedas especificar la Cantidad de instancias y agregar Selecciones de instancias, debes hacer lo siguiente:

    1. Ve a la sección Ubicación de la página y configura una ubicación de la siguiente manera:

      1. 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 seleccionaste 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, Cualquiera o Cualquier zona.

        • Si seleccionas Balanceada o Cualquier zona, en el diálogo que se abre, haz clic en Inhabilitar la redistribución de instancias.

        • Si seleccionas Cualquiera, asegúrate de que la casilla de verificación Permitir la redistribución de instancias no esté seleccionada.

    2. Ve a la sección Ajuste de escala automático de la página y borra la configuración del ajuste de escala automático de la siguiente manera:

      1. 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 deseas incluir en el grupo.

  7. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones de instancias. Repite los siguientes pasos para cada selección de instancias que desees agregar al MIG.

    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 el campo Rank, ingresa el orden de preferencia entre las selecciones de instancias que agregues para el MIG.

      3. 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 desees agregar a la selección de instancias.

      4. Después de terminar de agregar los tipos de máquinas, haz clic en Listo.

  8. Después de completar la adición de las selecciones 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 y preferencias, usa el comando instance-groups managed create.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_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 quieres una zona específica, usa la forma de distribución any-single-zone e 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: Es la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser balanced, any o any-single-zone. No se admiten otras formas de distribución objetivo.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

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 y preferencias, 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          = "best-choice"
      rank          = 1
      machine_types = ["n1-standard-1", "n1-standard-2"]
    }
    instance_selections {
      name          = "still-ok"
      rank          = 2
      machine_types = ["n2-standard-1"]
    }
    instance_selections {
      name          = "if-nothing-else"
      rank          = 3
      machine_types = ["e2-standard-2"]
    }
  }

  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 y preferencias, 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_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4",
          ...
        ],
        "rank": RANK_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 quieres una zona específica, usa la forma de distribución ANY_SINGLE_ZONE y agrega el campo distributionPolicy.zones[].zone a la solicitud.

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: Es la región en la que deseas crear el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • TARGET_SIZE: Es la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser BALANCED, ANY o ANY_SINGLE_ZONE. No se admiten otras formas de distribución objetivo.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

Crea un MIG con varios tipos de máquinas, preferencias y anulaciones adicionales

Cuando creas un MIG con varios tipos de máquinas, de manera opcional, puedes establecer una plataforma de CPU mínima y definiciones de disco para cada selección de instancia.

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 deseas usar para el MIG.

  5. Antes de que puedas especificar la Cantidad de instancias y agregar Selecciones de instancias, debes hacer lo siguiente:

    1. Ve a la sección Ubicación de la página y configura una ubicación de la siguiente manera:

      1. 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 seleccionaste 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, Cualquiera o Cualquier zona.

        • Si seleccionas Balanceada o Cualquier zona, en el diálogo que se abre, haz clic en Inhabilitar la redistribución de instancias.

        • Si seleccionas Cualquiera, asegúrate de que la casilla de verificación Permitir la redistribución de instancias no esté seleccionada.

    2. Ve a la sección Ajuste de escala automático de la página y borra la configuración del ajuste de escala automático de la siguiente manera:

      1. 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 deseas incluir en el grupo.

  7. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones de instancias. Repite los siguientes pasos para cada selección de instancias que desees agregar al MIG.

    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 el campo Rank, ingresa el orden de preferencia entre las selecciones de instancias que agregues para el MIG.

      3. 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 desees agregar a la selección de instancias.

      4. Si deseas anular la plataforma de CPU mínima especificada en la plantilla de instancias, selecciona la casilla de verificación Anular la plataforma de CPU para esta selección. En la lista Plataforma de CPU, selecciona la plataforma que deseas usar para la selección de instancias.

      5. Si deseas anular la configuración del disco especificada en la plantilla de instancia o conectar un almacenamiento, selecciona la casilla de verificación Anular discos.

        • Para anular el disco de arranque, en la sección Disco de arranque, haz clic en Cambiar y sigue las instrucciones.

        • Para conectar un almacenamiento, haz clic en Agregar disco nuevo o Conectar disco existente y sigue las indicaciones.

      6. Después de terminar de agregar los tipos de máquinas y las anulaciones, haz clic en Listo.

  8. Después de completar la adición de las selecciones 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

Usa el comando instance-groups managed create.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --force-update-on-repair \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-flexibility-policy={"instanceSelections": \
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"deviceName":"DEVICE_NAME_1","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}, \
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3","MACHINE_TYPE_4"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"deviceName":"DEVICE_NAME_2","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}}}

También puedes usar un archivo YAML o JSON para configurar la política de flexibilidad de instancias. Para ello, usa la marca --flags-file en lugar de la marca --instance-flexibility-policy y especifica el nombre del archivo. Por ejemplo, usa --flags-file=FILE_NAME.YAML.

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: Es la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser balanced, any o any-single-zone. No se admiten otras formas de distribución objetivo.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • MIN_CPU_PLATFORM: Es la plataforma de CPU mínima para las instancias.
  • DEVICE_NAME: Es el nombre del dispositivo para el disco.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de origen.
  • IMAGE_NAME: Es el nombre de la imagen de origen.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

REST

Realiza una solicitud POST al método beta regionInstanceGroupManagers.insert.

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

{
"name": "INSTANCE_GROUP_NAME",
"targetSize": "TARGET_SIZE",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"distributionPolicy": {
  "targetShape": "SHAPE"
},
"updatePolicy": {
  "instanceRedistributionType": "NONE"
},
"instanceLifecyclePolicy": {
  "forceUpdateOnRepair": "YES",
},
"instanceFlexibilityPolicy": {
  "instanceSelections": {
    "INSTANCE_SELECTION_1": {
      "machineTypes": ["MACHINE_TYPE_1", "MACHINE_TYPE_2", …],
      "minCpuPlatform": "MIN_CPU_PLATFORM_1",
      "disks": [
        {
          "deviceName": "DEVICE_NAME_1",
          "initializeParams": {
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
          },
          "boot": true
        }
      ],
      "rank": RANK_1
    },
    "INSTANCE_SELECTION_2": {
      "machineTypes": ["MACHINE_TYPE_3", "MACHINE_TYPE_4", …],
      "minCpuPlatform": "MIN_CPU_PLATFORM_2",
      "disks": [
        {
          "deviceName": "DEVICE_NAME_2",
          "initializeParams": {
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
          },
          "boot": true
        }
      ],
      "rank": RANK_2
    }
  }
}
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: Es la región en la que deseas crear el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • TARGET_SIZE: Es la cantidad de VMs que deseas que el MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • SHAPE: Es la forma de distribución objetivo. El valor puede ser BALANCED, ANY o ANY_SINGLE_ZONE. No se admiten otras formas de distribución objetivo.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • MIN_CPU_PLATFORM: Es la plataforma de CPU mínima para las instancias.
  • DEVICE_NAME: Es el nombre del dispositivo para el disco.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de origen.
  • IMAGE_NAME: Es el nombre de la imagen de origen.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

Agrega flexibilidad de instancias a un MIG existente

Puedes agregar flexibilidad de instancias a un MIG existente. Puedes establecer varios tipos de máquinas y también configurar preferencias para ciertos tipos de máquinas.

Si tu MIG ya tiene VMs, estas seguirán usando el tipo de máquina especificado en la plantilla de instancias. Si deseas que las VMs existentes en el MIG usen los tipos de máquinas de la política de flexibilidad de instancias, después de agregar la política, borra las VMs existentes y, luego, cambia el tamaño del MIG a la cantidad de VMs requerida. Cuando cambies el tamaño, las VMs nuevas usarán los tipos de máquina de la política.

Para modificar una política de flexibilidad de instancias existente, consulta Cómo cambiar la configuración de flexibilidad de instancias.

Agrega flexibilidad de instancias a un MIG de una de las siguientes maneras:

Agregar 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. Haz clic en el nombre del MIG en el que deseas establecer varios tipos de máquinas.

  3. Haz clic en Editar.

  4. Haz clic en Flexibilidad de instancias para expandir la sección.

  5. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones 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 desees agregar a la selección de instancias.

      3. Después de terminar de agregar los tipos de máquinas, haz clic en Listo.

  6. En la ventana Selecciones de instancias, haz clic en Listo.

  7. Haz clic en Guardar.

gcloud

Para agregar varios tipos de máquinas a un MIG existente, usa el comando instance-groups managed update.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • REGION: La región en la que se encuentra el MIG.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.

REST

Para agregar varios tipos de máquinas a un MIG existente, realiza una solicitud PATCH al método regionInstanceGroupManagers.patch.

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

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
    "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
          ...
        ]
      }
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: La región en la que se encuentra el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

Agrega varios tipos de máquinas y preferencias

Console

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

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG en el que deseas establecer varios tipos de máquinas.

  3. Haz clic en Editar.

  4. Haz clic en Flexibilidad de instancias para expandir la sección.

  5. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones de instancias. Repite los siguientes pasos para cada selección de instancias que desees agregar al MIG.

    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 el campo Rank, ingresa el orden de preferencia entre las selecciones de instancias que agregues para el MIG.

      3. 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 desees agregar a la selección de instancias.

      4. Después de terminar de agregar los tipos de máquinas, haz clic en Listo.

  6. Después de completar la adición de las selecciones de instancias, haz clic en Listo.

  7. Haz clic en Guardar.

gcloud

Para agregar varios tipos de máquinas y preferencias a un MIG existente, usa el comando instance-groups managed update.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • REGION: La región en la que se encuentra el MIG.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

REST

Para agregar varios tipos de máquinas y preferencias a un MIG existente, realiza una solicitud PATCH al método regionInstanceGroupManagers.patch.

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

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "rank": RANK_2
      }
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: La región en la que se encuentra el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

Agrega varios tipos de máquinas, preferencias y anulaciones adicionales

Console

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

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG en el que deseas establecer varios tipos de máquinas.

  3. Haz clic en Editar.

  4. Haz clic en Flexibilidad de instancias para expandir la sección.

  5. En la sección Selecciones de instancias, haz clic en Agregar selecciones.

    Se abrirá la ventana Selecciones de instancias. Repite los siguientes pasos para cada selección de instancias que desees agregar al MIG.

    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 el campo Rank, ingresa el orden de preferencia entre las selecciones de instancias que agregues para el MIG.

      3. 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 desees agregar a la selección de instancias.

      4. Si deseas anular la plataforma de CPU mínima especificada en la plantilla de instancias, selecciona la casilla de verificación Anular la plataforma de CPU para esta selección. En la lista Plataforma de CPU, selecciona la plataforma que deseas usar para la selección de instancias.

      5. Si deseas anular la configuración del disco especificada en la plantilla de instancia o conectar un almacenamiento, selecciona la casilla de verificación Anular discos.

        • Para anular el disco de arranque, en la sección Disco de arranque, haz clic en Cambiar y sigue las instrucciones.

        • Para conectar un almacenamiento, haz clic en Agregar disco nuevo o Conectar disco existente y sigue las indicaciones.

      6. Después de terminar de agregar los tipos de máquinas y las anulaciones, haz clic en Listo.

  6. Después de completar la adición de las selecciones de instancias, haz clic en Listo.

  7. Haz clic en Guardar.

gcloud

Para agregar varios tipos de máquinas, preferencias y anulaciones de propiedades de instancias a un MIG existente, usa el comando instance-groups managed update en fase beta.

gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-flexibility-policy= '{"instanceSelections": \
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"device-name":"DEVICE_NAME_1","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}, \
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3","MACHINE_TYPE_4"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"device-name":"DEVICE_NAME_2","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}}}'

También puedes usar un archivo YAML o JSON para configurar la política de flexibilidad de instancias. Para ello, usa la marca --flags-file en lugar de la marca --instance-flexibility-policy y especifica el nombre del archivo. Por ejemplo, usa --flags-file=FILE_NAME.YAML.

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • REGION: La región en la que se encuentra el MIG.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • MIN_CPU_PLATFORM: Es la plataforma de CPU mínima para las instancias.
  • DEVICE_NAME: Es el nombre del dispositivo para el disco.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de origen.
  • IMAGE_NAME: Es el nombre de la imagen de origen.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

REST

Para agregar varios tipos de máquinas, preferencias y anulaciones de propiedades de instancias a un MIG existente, realiza una solicitud PATCH al método regionInstanceGroupManagers.patch de la versión beta.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_1",
        "disks": [
          {
            "deviceName": "DEVICE_NAME_1",
            "initializeParams": {
              "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
            },
            "boot": true
          }
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_2",
        "disks": [
          {
            "deviceName": "DEVICE_NAME_2",
            "initializeParams": {
              "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
            },
            "boot": true
          }
        ],
        "rank": RANK_2
      }
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: La región en la que se encuentra el MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_SELECTION: Es el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE: Son los tipos de máquina que deseas configurar en el MIG.
  • MIN_CPU_PLATFORM: Es la plataforma de CPU mínima para las instancias.
  • DEVICE_NAME: Es el nombre del dispositivo para el disco.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de origen.
  • IMAGE_NAME: Es el nombre de la imagen de origen.
  • RANK: Es un número que representa tu orden de preferencia para la selección de instancias. Un valor más bajo significa una mayor preferencia.

Ejemplo de archivo YAML para configurar la flexibilidad de la instancia

Puedes usar un archivo YAML o JSON para configurar la política de flexibilidad de la instancia. Para ello, usa la marca --flags-file en tu comando de gcloud CLI y especifica el nombre de archivo. Por ejemplo, usa --flags-file=FILE_NAME.YAML.

A continuación, se muestra un ejemplo de un archivo YAML:

--instance-flexibility-policy:
  instanceSelections:
    first-preference:
      rank: 1
      machineTypes:
        - n2-standard-8
      minCpuPlatform: "Intel Ice Lake"
      disks:
        - deviceName: data-disk
          boot: false
          initializeParams:
            sourceImage: projects/debian-cloud/global/images/debian-12
            diskType: pd-ssd

¿Qué sigue?