En este documento, se describe cómo permitir que un grupo de instancias administrado (MIG) regional repare una instancia de máquina virtual (VM) en una zona alternativa cuando el MIG no puede reparar la VM en su zona original. Para obtener más información sobre las reparaciones en un MIG, consulta Información sobre la reparación de las VMs para alta disponibilidad.
Cuando creas un MIG regional, seleccionas una o más zonas en las que el MIG distribuye sus VMs. De forma predeterminada, si falla una VM en el MIG, el MIG intenta reparar esa VM en su zona original. De manera opcional, puedes permitir que el MIG repare esa VM en una de las otras zonas seleccionadas, lo que es útil en los casos en que el MIG no puede reparar la VM en su zona original. El MIG elige la zona alternativa en función de la capacidad y la cuota disponibles.
Limitaciones
Cuando configuras un MIG regional para reparar una VM en una zona alternativa, se aplican las siguientes limitaciones:
Debes habilitar la actualización en la reparación.
No se admiten los MIG regionales con la siguiente configuración:
MIG con
EVENoANY_SINGLE_ZONEformas de distribución objetivo.MIG con configuración con estado
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. 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 según cómo planeas usar las muestras en esta página:
Console
Cuando usas la Google Cloud consola para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.
gcloud
-
Instala la Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
-
Instala la Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a la gcloud CLI con tu identidad federada.
-
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 muestra un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a gcloud CLI con tu identidad federada.
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.
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 la Google Cloud CLI.
Si usas un proveedor de identidad (IdP) externo, 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 Google Cloud documentación de autenticación de.
Permite reparaciones en una zona alternativa
Para permitir que un MIG repare una VM en una zona alternativa, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Grupos de instancias.
Si ya tienes un MIG, haz lo siguiente:
- Haz clic en el nombre del MIG.
- Haz clic en Editar.
Si aún no tienes un MIG, haz lo siguiente:
- Haz clic en Crear grupo de instancias.
- Ingresa un Nombre.
- Elige una plantilla de instancias.
- En la sección Ubicación, selecciona Varias zonas y, luego, selecciona una región y zonas.
En la lista desplegable Forma de distribución objetivo, selecciona Balanced o Any.
Si seleccionas Balanced, en el cuadro de diálogo que aparece, haz clic en Disable instance redistribution.
Si deseas seleccionar Any, primero debes borrar la configuración del ajuste de escala automático. Para borrar el ajuste de escala automático, en la lista desplegable Modo de ajuste de escala automático, haz clic en Borrar configuración del ajuste de escala automático.
En la sección Ciclo de vida de la instancia de VM, asegúrate de que los siguientes campos estén configurados de la siguiente manera:
La lista Acción predeterminada en caso de error está configurada como Reparar instancia.
La opción Actualizaciones durante la reparación de la instancia de VM está configurada como Actualizar la configuración de la instancia.
En la sección Cambiar la zona durante la reparación de instancias de VM, selecciona la casilla de verificación Permitir la reparación de VMs en una zona alternativa.
Para la otra configuración, puedes usar los valores predeterminados o cambiar los campos.
Cuando termines, haz clic en Guardar para un MIG existente o en Crear para un MIG nuevo.
gcloud
Para configurar un MIG existente para reparar la VM en una zona alternativa, usa el
update comando:
gcloud compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair \
--region=REGION
Para crear un MIG que pueda reparar la VM en una zona alternativa, usa el
create comando:
gcloud compute instance-groups managed create MIG_NAME \
--template=INSTANCE_TEMPLATE_URL \
--size=SIZE \
--zones=ZONES \
--target-distribution-shape=SHAPE \
--instance-redistribution-type=none \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair
Reemplaza lo siguiente:
MIG_NAME: Es el nombre del MIG.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
- Para una plantilla de instancias regional:
SIZE: Es el objetivo de tamaño del MIG.ZONES: Es la lista de zonas de una región en la que deseas crear las VMs en el MIG.SHAPE: Es la forma de distribución objetivo. Este valor puede serbalancedoany.REGION: Es la región en la que se encuentra el MIG.
Terraform
Si aún no creaste una plantilla de instancias, en la que se especifica el tipo de máquina, la imagen de disco de arranque, la red y otras propiedades de VM que quieres para cada VM en tu MIG, crea una plantilla de instancias.
Para crear un MIG que pueda reparar la VM en una zona alternativa, usa el
google_compute_region_instance_group_manager recurso.
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 configurar un MIG existente para reparar la VM en una zona alternativa, usa el
regionInstanceGroupManagers.patch método:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "YES"
},
"forceUpdateOnRepair": "YES"
}
}
Para crear un MIG que pueda reparar la VM en una zona alternativa, usa el
regionInstanceGroupManagers.insert método:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"targetSize": SIZE,
"distributionPolicy": {
"targetShape": "SHAPE"
}
"updatePolicy": {
"instanceRedistributionType": none
}
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "YES",
"onRepair": {
"allowChangingZone": "YES"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es tu ID del proyecto.REGION: Es la región en la que se encuentra el MIG.MIG_NAME: Es el nombre del MIG.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
- Para una plantilla de instancias regional:
SIZE: Es el objetivo de tamaño del MIG.SHAPE: Es la forma de distribución objetivo. Este valor puede serBALANCEDoANY.
No permitas reparaciones en una zona alternativa
Si configuraste un MIG para reparar la VM en una zona alternativa, puedes restablecer la configuración predeterminada en la que el MIG repara la VM en la zona original.
Para no permitir reparaciones en una zona alternativa, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , ve a la página Grupos de instancias.
Haz clic en el nombre del MIG.
Haz clic en Editar.
Ve a la sección Ciclo de vida de la instancia de VM.
En la sección Cambiar la zona durante la reparación de instancias de VM, desmarca la casilla de verificación Permitir la reparación de VMs en una zona alternativa.
Haz clic en Guardar.
gcloud
Para no permitir reparaciones en una zona alternativa, usa el
update comando:
gcloud compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=NO \
--region=REGION
Reemplaza lo siguiente:
MIG_NAME: Es el nombre del MIG.REGION: Es la región en la que se encuentra el MIG.
REST
Para no permitir reparaciones en una zona alternativa, usa el
regionInstanceGroupManagers.patch método:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "NO"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es tu ID del proyecto.REGION: Es la región en la que se encuentra el MIG.MIG_NAME: Es el nombre del MIG.
¿Qué sigue?
- Verifica la configuración de reparación en un MIG
- Verifica la zona de una VM mediante la enumeración de las instancias administradas