Inhabilita y vuelve a habilitar la redistribución proactiva de VM en un MIG regional

En un grupo de instancias administrado regional (MIG), para mantener una cantidad uniforme de instancias de máquina virtual (VM) en las zonas seleccionadas de la región, usa la redistribución proactiva de instancias. Esta configuración maximiza la disponibilidad de tu aplicación en caso de una falla a nivel de zona.

La redistribución proactiva de instancias está activada de forma predeterminada para los MIG regionales, pero puedes desactivarla para los MIG regionales sin ajuste de escala automático. Cuando la redistribución proactiva de instancias está desactivada, el grupo no intenta redistribuir de forma proactiva las VM entre las zonas. Esto es útil si necesitas hacer lo siguiente:

  • Borrar o abandonar las VM del grupo sin afectar a otras VM en ejecución. Por ejemplo, puedes borrar una VM de trabajador por lotes después de completar el trabajo sin afectar a otros trabajadores.
  • Proteger las VM con cargas de trabajo con estado de la eliminación automática no deseada debido a la redistribución proactiva.
  • Configura la forma de distribución objetivo del MIG en BALANCED.

Puedes inhabilitar la redistribución proactiva de instancias cuando crees un MIG regional. También puedes habilitarla o inhabilitarla para un MIG regional existente.

Antes de comenzar

Crea un grupo con redistribución proactiva de instancias inhabilitada

Para crear un MIG regional con la redistribución proactiva de instancias inhabilitada, usa la consola, la CLI de gcloud o la API de Compute Engine.

Console

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

    Ir a la página Grupos de instancias

  2. Haz clic en Crear grupo de instancias para crear un grupo de instancias nuevo.
  3. Asigna un nombre y, de forma opcional, una descripción a tu grupo de instancias.
  4. Elige una plantilla de instancias para el grupo o crea una nueva.
  5. Especifica la cantidad de VM para este grupo. En el caso de las cargas de trabajo con alta disponibilidad, recuerda aprovisionar suficientes VM para admitir tu aplicación si ocurre una falla de zona.
  6. En Ubicación, selecciona Varias zonas.
  7. Elige una región y selecciona las zonas que deseas usar.
  8. Para inhabilitar la redistribución proactiva de instancias, haz lo siguiente:
    1. Asegúrate de que el Modo de ajuste de escala automático esté configurado en Desactivado: no realizar ajuste de escala automático.
    2. En Redistribución de instancias, borra de la casilla de verificación Habilitar redistribución de instancias.
  9. Continúa con el resto del proceso de creación del MIG.

gcloud

Para crear un MIG regional nuevo sin redistribución proactiva de instancias, usa el comando gcloud compute instance-groups managed create con la marca --instance-redistribution-type establecida en NONE.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_NAME \
    --size TARGET_SIZE \
    --zones ZONES \
    --instance-redistribution-type NONE

Reemplaza los siguientes elementos:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_NAME: Es el nombre de la plantilla de instancias que se usará para el grupo.
  • TARGET_SIZE: Es el tamaño objetivo del grupo.
  • ZONES: Es la lista de zonas de una sola región en la que deseas implementar VM.

Por ejemplo:

gcloud compute instance-groups managed create example-rmig \
    --template example-template \
    --size 30 \
    --zones us-east1-b,us-east1-c \
    --instance-redistribution-type NONE

API

Para crear un MIG regional sin ajuste de escala automático y sin redistribución proactiva de instancias, realiza una solicitud POST al método regionInstanceGroupManagers.insert. En el cuerpo de la solicitud, incluye la propiedad updatePolicy y configura su campo instanceRedistributionType en NONE.

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

{
    "name": "INSTANCE_GROUP_NAME",
    "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "targetSize": "TARGET_SIZE",
    "distributionPolicy": {
        "zones": [
            {"zone": "zones/ZONE"},
            {"zone": "zones/ZONE"}
        ]
    },
    "updatePolicy": {
        "instanceRedistributionType": "NONE"
    }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de esta solicitud.
  • REGION Es la región para el grupo de instancias.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_NAME: Es el nombre de la plantilla de instancias que se usará para el grupo.
  • TARGET_SIZE: Es el tamaño objetivo del grupo de instancias.
  • ZONE: Es el nombre de una zona en la única región en la que deseas implementar las VM.

Desactiva la redistribución proactiva de instancias

Antes de poder desactivar la redistribución proactiva de instancias, debes configurar el modo del escalador automático para desactivar el ajuste de escala automático o restringirlo a fin de que solo escale horizontalmente.

Para inhabilitar o volver a habilitar la distribución proactiva de instancias, usa la consola, la CLI de gcloud o la API de Compute Engine.

Console

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

    Ir a la página Grupos de instancias

  2. En la columna Nombre de la lista, haz clic en el nombre del grupo de instancias que deseas modificar.
  3. Haz clic en Editar para modificar este grupo de instancias administrado.
  4. Si ya existe una configuración de ajuste de escala automático, asegúrate de que el Modo de ajuste de escala automático esté configurado como Desactivado: No realizar ajuste de escala automático.
  5. En Redistribución de instancias, anula la selección de la casilla de verificación Habilitar redistribución de instancias.
  6. Haz clic en Guardar.

gcloud

A fin de desactivar la redistribución proactiva de instancias en un MIG regional sin ajuste de escala automático, usa el comando compute instance-groups managed update con la marca --instance-redistribution-type establecida en NONE.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION

Reemplaza los siguientes elementos:

  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • REGION: Es la región del grupo de instancias.

API

A fin de inhabilitar la redistribución proactiva de instancias para un MIG regional sin ajuste de escala automático, realiza una solicitud PATCH al método regionInstanceGroupManagers.patch. En el cuerpo de la solicitud, incluye la propiedad updatePolicy y configura su campo instanceRedistributionType en NONE

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

{
    "updatePolicy": {
         "instanceRedistributionType": "NONE"
    }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de esta solicitud.
  • REGION Es la región para el grupo de instancias.
  • INSTANCE_GROUP_NAME: Es el nombre de un MIG sin ajuste de escala automático.

Activa la distribución proactiva de instancias

A fin de habilitar la distribución proactiva de instancias, usa un comando similar al que empleas para inhabilitarla, pero con el tipo de redistribución de instancias establecido en PROACTIVE.

Si quitaste o abandonaste de forma manual algunas instancias administradas y esto provocó una distribución desigual de VM en toda la región, antes de que puedas habilitar la redistribución proactiva de instancias de nuevo, debes volver a balancear de forma manual el grupo. La diferencia en la cantidad de VM entre dos zonas no debe ser mayor a 1 VM.

En un MIG regional, no se puede habilitar la redistribución proactiva de instancias cuando las VM están distribuidas de manera desigual entre las zonas (la diferencia en la cantidad de VM entre dos zonas es de 2 o más). Esto es para evitar la eliminación automática y no intencionada de VM en las zonas con más VM, acción que se activaría con el fin de lograr una distribución uniforme.

¿Qué sigue?