En este documento, se describe cómo crear un grupo de instancias administrado (MIG) que tiene sus VM distribuidas en varias zonas de una región. La distribución de la carga de la aplicación en varias zonas protege tu carga de trabajo contra fallas zonales. Si ocurre una falla zonal, la aplicación puede continuar con la entrega desde instancias que se ejecutan en las zonas restantes disponibles de la misma región.
Este tipo de MIG también se conoce como MIG regional. Para obtener más información, consulta Acerca de los MIG regionales.
También puedes leer sobre otras situaciones básicas para crear un MIG.
Antes de comenzar
- Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
- Si deseas usar los ejemplos de la línea de comandos de esta guía, instala Google Cloud CLI.
- Crea una plantilla de instancias, que es necesaria para crear un grupo de instancias administrado.
Limitaciones
Para ver la lista completa de limitaciones del MIG, que varía según la configuración que uses, consulta Limitaciones del MIG.
Crea un MIG con VM en varias zonas de una región
Usa Cloud Console, la CLI de gcloud o la API de Compute Engine.
Console
- En Cloud Console, ve a la página Grupos de instancias.
- Haz clic en Crear grupo de instancias para crear un grupo de instancias nuevo.
- Selecciona una de las Opciones de grupo de instancias administrado nuevas: sin estado (predeterminado) o con estado.
- Asigna un nombre y, de forma opcional, una descripción a tu grupo de instancias.
- Elige una plantilla de instancias para el grupo o crea una nueva.
- Especifica la cantidad de VM para este grupo. Recuerda aprovisionar suficientes VM para admitir tu aplicación si ocurre una falla de zona.
- En Ubicación, selecciona Varias zonas.
- Elige una región y selecciona las zonas que deseas usar.
- En Forma de distribución objetivo, selecciona Even. Si deseas seleccionar una forma diferente, consulta Configura una forma de distribución objetivo para VM en un MIG regional.
- Si deseas inhabilitar la redistribución proactiva de instancias, haz lo siguiente
- Asegúrate de que el Modo de ajuste de escala automático esté configurado en Desactivado: no realizar ajuste de escala automático.
- En Redistribución de instancias, anula la selección de la casilla de verificación Habilitar redistribución de instancias.
- Continúa con el resto del proceso de creación del MIG.
gcloud
Todos los MIG requieren una plantilla de instancias. Crea una plantilla de instancias si no tienes una. Por ejemplo, con el siguiente comando, se crea una plantilla de instancias básica con propiedades predeterminadas:
gcloud compute instance-templates create example-template
Luego, usa el comando instance-groups managed create
con la marca --region
. Por ejemplo, con el siguiente comando, se crea un MIG regional en tres zonas dentro de la región us-east1
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --region us-east1
Si deseas seleccionar zonas específicas que el grupo debe usar, proporciona la marca --zones
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c
Si deseas inhabilitar la redistribución proactiva de instancias, establece la marca --instance-redistribution-type
en NONE
. No puedes inhabilitar la redistribución proactiva de instancias si el ajuste de escala automático está habilitado.
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --instance-redistribution-type NONE \ --region us-east1
API
Todos los MIG requieren una plantilla de instancias. Crea una plantilla de instancias si no tienes una.
A continuación, crea una solicitud POST
para el método regionInstanceGroupManagers.insert
.
En el cuerpo de la solicitud, especifica el nombre y el tamaño del grupo, y la URL a la plantilla de instancias. De forma opcional, especifica otros campos, como el nombre base para las instancias en el grupo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Reemplaza los siguientes elementos:
PROJECT_ID
: Es el ID del proyecto de esta solicitud.REGION
: Es la región del grupo.BASE_INSTANCE_NAME
: Es el nombre para cada instancia de VM que se crea como parte del grupo. Por ejemplo, siexample-instance
fuera el nombre base de la instancia, se crearían instancias con nombres comoexample-instance-[RANDOM_STRING]
, en los que el servidor genera[RANDOM_STRING]
.INSTANCE_TEMPLATE_NAME
: Es la plantilla de instancias que se usará.INSTANCE_GROUP_NAME
: Es el nombre del MIG.TARGET_SIZE
: Es la cantidad de VM de destino para el grupo.
Si deseas seleccionar zonas específicas, o bien crear VM en una región con menos de tres zonas o más, incluye la propiedad distributionPolicy
en tu solicitud y proporciona una lista de zonas. Reemplaza ZONE
por el nombre de una zona en la que deseas crear VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Por ejemplo, con el siguiente comando, se crea un MIG regional llamado example-rmig
con 10 instancias administradas distribuidas en las zonas us-east1-b
y us-east1-c
:
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "global/instanceTemplates/example-instance", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
Según cómo configures y actúes en un MIG, varias políticas y acciones pueden afectar las instancias en el grupo. Para determinar qué instancias administradas están en funcionamiento, consulta la sección sobre cómo verificar el estado de instancias administradas.
Si no hay suficiente capacidad en cada zona para admitir las VM del grupo, Compute Engine creará tantas VM como sea posible y continuará intentando crear las VM restantes cuando haya capacidad adicional disponible.
Si no especificas explícitamente zonas individuales en tu solicitud, Compute Engine elige de forma automática tres zonas para crear VM. Si necesitas crear VM en más de tres zonas o en menos, o bien si deseas elegir qué zonas se usan, puedes proporcionar una lista de zonas en tu solicitud. Para obtener más información, consulta Selección de la zona.
Distribución de VM entre zonas
De forma predeterminada, un MIG regional distribuye las VM de manera uniforme entre las zonas seleccionadas. Debido a que crearás un MIG regional, ten en cuenta que ciertos recursos, como las GPU y los discos persistentes, son zonales. Si la plantilla de instancias de tu MIG especifica recursos zonales, debes asegurarte de que todos esos recursos estén presentes en todas las zonas seleccionadas para que puedan conectarse a las VM creadas por el MIG regional. Como alternativa, si deseas que el grupo compruebe la existencia de recursos zonales por ti, puedes establecer la forma de distribución objetivo del MIG para crear instancias solo en zonas que contengan esos recursos.
Para obtener más información, consulta los siguientes documentos:
Configura una forma de distribución objetivo para VM en todas las zonas
Redistribución proactiva de instancias
La redistribución proactiva de instancias está habilitada de forma predeterminada. Si necesitas administrar de forma manual la cantidad de VM en cada zona o configurar la forma de distribución objetivo del MIG como BALANCED
, debes inhabilitar la redistribución proactiva de instancias.
Para obtener más información, consulta los siguientes documentos:
- Inhabilita y vuelve a habilitar la redistribución proactiva de VM
- Vuelve a balancear de forma manual un MIG regional
¿Qué sigue?
- Configura la reparación automática basada en la aplicación, que verifica de forma periódica que la aplicación responda como se espera en cada una de las VM del MIG y recrea de forma automática las VM que no responden.
- Habilita el ajuste de escala automático para agregar o borrar VM de forma automática en tu MIG en función de los aumentos o disminuciones en la carga.
- Obtén información sobre cómo aplicar una configuración nueva a todas las VM de un MIG o a un subconjunto de ellas mediante la configuración y la aplicación de una plantilla de instancias nueva o la configuración por instancia.
- Conserva discos, metadatos y direcciones IP en eventos disruptivos, como la recreación, la reparación automática y las actualizaciones de VM agregando una configuración con estado.
- Obtén información sobre cómo trabajar con instancias administradas para, por ejemplo, borrar, abandonar y volver a crear VM en un MIG.
- Obtén información sobre los MIG y sus VM.
- Simula una interrupción de zona para un MIG regional