En este documento, se describe cómo usar el modo masivo en un MIG para crear todas las instancias de máquina virtual (VM) que necesitas al mismo tiempo. La creación de instancias de una sola vez garantiza que el MIG cree instancias solo cuando todos los recursos necesarios estén disponibles.
Para obtener información sobre cómo funciona el modo masivo, consulta Acerca de la creación masiva de instancias en un MIG.
Crea una plantilla de instancias
El modo masivo en los MIG solo se admite con plantillas de instancias que especifican un modelo de aprovisionamiento con reserva o de inicio flexible. Para usar el modo masivo, crea una plantilla de instancias con uno de estos modelos de aprovisionamiento, como se describe en las siguientes secciones. Para obtener más información sobre los modelos de aprovisionamiento, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
Usa el modelo de aprovisionamiento vinculado a la reserva
Para crear una plantilla de instancias, selecciona una de las siguientes opciones:
Console
En la consola de Cloud de Confiance , ve a la página Plantillas de instancias.
Haz clic en Crear plantilla de instancias. Se abrirá la página Crear una plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Ubicación, selecciona una de las siguientes opciones:
Para crear una plantilla de instancias regional, selecciona Regional (recomendado) y, luego, la región en la que deseas crear la plantilla.
Para crear una plantilla de instancias global, selecciona Global.
En la sección Configuración de máquina, especifica un tipo de máquina.
En la sección Modelo de aprovisionamiento, completa los siguientes pasos:
Expande Configuración avanzada del modelo de aprovisionamiento de VM.
En la lista Finalización de VM, selecciona Borrar.
Opcional: Para cambiar el valor o la imagen de disco de arranque predeterminados, en la sección Disco de arranque, haz clic en Cambiar. Luego, sigue las instrucciones para cambiar el disco de arranque.
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Administración.
En la sección Reservas, selecciona Elegir una reserva y, luego, haz clic en Elegir reserva. En el panel que aparece, sigue las instrucciones para seleccionar la reserva que deseas consumir.
Haz clic en Crear.
gcloud
Para crear una plantilla de instancias, usa el comando instance-templates create con los siguientes parámetros de configuración de marcas:
La marca
--instance-termination-actionconfigurada comoDELETE.La marca
--maintenance-policyconfigurada comoTERMINATE.La marca
--provisioning-modelconfigurada comoRESERVATION_BOUND.La marca
--reservation-affinityconfigurada comospecific.La marca
--reservation
En el siguiente comando de ejemplo, se crea una plantilla de instancias regional. Si deseas crear una plantilla de instancias global, usa el mismo comando sin la marca --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-termination-action=DELETE \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--provisioning-model=RESERVATION_BOUND \
--reservation-affinity=specific \
--reservation=RESERVATION_URL
Reemplaza lo siguiente:
INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias que se creará.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE_FAMILY: Es una familia de imágenes. Especifica una familia de imágenes para usar la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.REGION: Es la región en la que se creará la plantilla de instancias.MACHINE_TYPE: Es el tipo de máquina que se especifica en la reserva que deseas consumir.RESERVATION_URL: Es la URL de la reserva creada automáticamente para una reserva futura en modo de calendario que deseas consumir. Especifica uno de los siguientes valores:Si la reserva creada automáticamente existe en tu proyecto:
RESERVATION_NAME.Si la reserva creada automáticamente existe en un proyecto diferente, usa
projects/PROJECT_ID/reservations/RESERVATION_NAME.
REST
Para crear una plantilla de instancias, realiza una solicitud POST a uno de los siguientes métodos:
Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insertPara crear una plantilla de instancias global: método
instanceTemplates.insert
En el cuerpo de la solicitud, incluye los siguientes campos:
El campo
reservationAffinity.consumeReservationTypeconfigurado comoSPECIFIC_RESERVATION.El campo
reservationAffinity.keyconfigurado comocompute.googleapis.com/reservation-name.El campo
reservationAffinity.valuesestablecido en la URL de la reserva creada de forma automática.El campo
scheduling.instanceTerminationActionconfigurado comoDELETE.El campo
scheduling.onHostMaintenanceconfigurado comoTERMINATE.El campo
scheduling.provisioningModelconfigurado comoRESERVATION_BOUND.
Por ejemplo, para crear una plantilla de instancias regional, realiza una solicitud de la siguiente manera:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_URL"
]
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: el ID del proyecto en el que se creará la plantilla de instancias.REGION: Es la región en la que se creará la plantilla de instancias.INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias que se creará.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY. Especifica una familia de imágenes para usar la imagen de SO más reciente y no obsoleta. Por ejemplo, si especificasfamily/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
MACHINE_TYPE: Es el tipo de máquina que se especifica en la reserva que deseas consumir.RESERVATION_URL: Es la URL de la reserva creada automáticamente para una reserva futura en modo de calendario que deseas consumir. Especifica uno de los siguientes valores:Si la reserva creada automáticamente existe en tu proyecto, haz lo siguiente:
RESERVATION_NAMESi la reserva creada automáticamente existe en otro proyecto, haz lo siguiente:
projects/PROJECT_ID/reservations/RESERVATION_NAME
Para obtener más información sobre cómo crear una plantilla de instancias, consulta Crea plantillas de instancias.
Usar el modelo de aprovisionamiento de inicio flexible
Para crear una plantilla de instancias, selecciona una de las siguientes opciones:
Console
En la consola de Cloud de Confiance , ve a la página Plantillas de instancias.
Haz clic en Crear plantilla de instancias. Se abrirá la página Crear una plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Ubicación, selecciona una de las siguientes opciones:
Para crear una plantilla de instancias regional, selecciona Regional (recomendado) y, luego, la región en la que deseas crear la plantilla.
Para crear una plantilla de instancias global, selecciona Global.
En la sección Configuración de máquina, especifica un tipo de máquina.
En la sección Modelo de aprovisionamiento, completa los siguientes pasos:
En el campo Modelo de aprovisionamiento de VM, selecciona inicio flexible.
Expande Configuración avanzada del modelo de aprovisionamiento de VM.
Selecciona la casilla de verificación Establece un límite de tiempo para la VM.
Para establecer una duración de ejecución para las VMs que se crean con la plantilla de instancias, ingresa la cantidad de horas en el campo Enter number of hours. El valor debe estar entre 36 segundos (
0.01) y siete días (168).
Opcional: Para cambiar el valor o la imagen de disco de arranque predeterminados, en la sección Disco de arranque, haz clic en Cambiar. Luego, sigue las instrucciones para cambiar el disco de arranque.
Haz clic en Crear.
gcloud
Para crear una plantilla de instancias, usa el comando instance-templates create con los siguientes parámetros de configuración de marcas:
La marca
--instance-termination-actionconfigurada comoDELETE.La marca
--maintenance-policyconfigurada comoTERMINATE.La marca
--max-run-durationLa marca
--provisioning-modelconfigurada comoFLEX_START.La marca
--reservation-affinityconfigurada comonone.
En el siguiente comando de ejemplo, se crea una plantilla de instancias regional. Si deseas crear una plantilla de instancias global, usa el mismo comando sin la marca --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--instance-termination-action=DELETE \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--max-run-duration=RUN_DURATION \
--provisioning-model=FLEX_START \
--reservation-affinity=none
Reemplaza lo siguiente:
INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias que se creará.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE_FAMILY: Es una familia de imágenes. Especifica una familia de imágenes para usar la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.REGION: Es la región en la que se creará la plantilla de instancias.MACHINE_TYPE: Es el tipo de máquina que se usará para las VMs de inicio flexible. Si especificas un tipo de máquina N1, debes incluir la marca--acceleratorpara definir la cantidad y el tipo de GPU que se conectarán a las VMs.RUN_DURATION: la duración de la que deseas que se ejecuten las VMs. Debes darle formato al valor como la cantidad de días, horas, minutos o segundos, seguidos ded,h,mys, respectivamente. Por ejemplo, especifica30mpara 30 minutos o1d2h3m4spara un día, dos horas, tres minutos y cuatro segundos. El valor debe ser de entre 10 minutos y siete días.
REST
Para crear una plantilla de instancias, realiza una solicitud POST a uno de los siguientes métodos:
Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insertPara crear una plantilla de instancias global: método
instanceTemplates.insert
En el cuerpo de la solicitud, incluye los siguientes campos:
El campo
reservationAffinity.consumeReservationTypeconfigurado comoNO_RESERVATION.El campo
scheduling.instanceTerminationActionconfigurado comoDELETE.El campo
scheduling.maxRunDurationEl campo
scheduling.onHostMaintenanceconfigurado comoTERMINATE.El campo
scheduling.provisioningModelconfigurado comoFLEX_START.
En la siguiente solicitud de ejemplo, se crea una plantilla de instancias regional:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: el ID del proyecto en el que se creará la plantilla de instancias.REGION: Es la región en la que se creará la plantilla de instancias.INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias que se creará.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY. Especifica una familia de imágenes para usar la imagen de SO más reciente y no obsoleta. Por ejemplo, si especificasfamily/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
MACHINE_TYPE: Es el tipo de máquina que se usará para las VMs. Si especificas un tipo de máquina N1, debes incluir el campoguestAcceleratorspara definir la cantidad y el tipo de GPU que se conectarán a las VMs.RUN_DURATION: Es la duración, en segundos, por la que deseas que se ejecuten las VMs solicitadas. El valor debe estar entre600, que es 600 segundos (10 minutos), y604800, que es 604,800 segundos (siete días).
Para obtener más información sobre cómo crear una plantilla de instancias, consulta Crea plantillas de instancias.
Crea un MIG que use el modo masivo
Para habilitar la creación masiva de instancias en un MIG, establece el campo targetSizePolicy.mode en BULK en la configuración del MIG. Cuando usas este modo masivo, el MIG espera a que los recursos estén completamente disponibles y, luego, crea las instancias de una sola vez.
Console
Ve a la página Grupos de instancias.
Haz clic en Crear grupo de instancias. Se abre la página Crear grupo de instancias.
En el campo Nombre, ingresa un nombre para el MIG.
Antes de seleccionar una plantilla de instancias, debes hacer lo siguiente:
- Si usas el modelo de aprovisionamiento de inicio flexible, debes desactivar las reparaciones de la siguiente manera:
- En la sección Ciclo de vida de la instancia de VM, desmarca la casilla de verificación Permitir la reparación de VMs en una zona alternativa.
- En la lista Acción predeterminada en caso de error, selecciona Sin acción.
- En la sección Ubicación, haz lo siguiente:
- Para crear un MIG zonal, selecciona Single zone.
- Para crear un MIG regional, selecciona Varias zonas. En Forma de distribución objetivo, selecciona Cualquier zona única. En el diálogo que aparece, selecciona Inhabilitar redistribución de instancias.
- Si usas el modelo de aprovisionamiento de inicio flexible, debes desactivar las reparaciones de la siguiente manera:
Vuelve al campo Plantilla de instancias. En la lista Plantilla de instancias, selecciona la plantilla de instancias que creaste en la sección anterior.
En el campo Cantidad de instancias, especifica la cantidad de instancias que deseas crear a la vez.
Selecciona la casilla de verificación Obtén VMs de una vez con la política de tamaño objetivo masivo.
Haz clic en Crear.
gcloud
Para crear un MIG que tenga habilitada la creación masiva, usa el comando gcloud compute instance-groups managed create con la marca --target-size-policy-mode establecida en bulk.
Si usas el modelo de aprovisionamiento de inicio flexible, debes desactivar las reparaciones en el MIG. Para ello, incluye la marca --default-action-on-vm-failure=do-nothing en los siguientes comandos.
- Para crear un MIG zonal, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--size=SIZE \
--target-size-policy-mode=bulk \
--template=INSTANCE_TEMPLATE_URL \
--zone=ZONE \
- Para crear un MIG regional, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--size=SIZE \
--target-size-policy-mode=bulk \
--template=INSTANCE_TEMPLATE_URL \
--zones=LIST_OF_ZONES \
Reemplaza lo siguiente:
INSTANCE_GROUP_NAME: Es el nombre del MIG.SIZE: Es la cantidad de instancias en el 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:
ZONE: Es la zona en la que el MIG crea instancias.LIST_OF_ZONES: Es una lista separada por comas de las zonas en las que el MIG regional crea instancias. Por ejemplo,us-central1-a, us-central1-b, us-central1-c.
REST
Para crear un MIG que tenga habilitada la creación masiva, realiza una solicitud POST de la siguiente manera. En el cuerpo de la solicitud, establece el campo targetSizePolicy.mode en bulk.
Si usas el modelo de aprovisionamiento de inicio flexible, debes desactivar las reparaciones en el MIG. Para ello, incluye el campo "instanceLifecyclePolicy": {"defaultActionOnFailure": "DO_NOTHING"} en las siguientes solicitudes.
Para crear un MIG zonal, realiza una solicitud
POSTal métodoinstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "targetSizePolicy": { "mode": "bulk" }, "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ] }Para crear un MIG regional, realiza una solicitud
POSTal métodoregionInstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "targetSizePolicy": { "mode": "bulk" }, "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ] }
Reemplaza lo siguiente:
PROJECT_ID:Es el ID del proyecto.ZONE:Es la zona en la que el MIG crea instancias.REGION:Es la región en la que el MIG crea instancias.INSTANCE_GROUP_NAME:Es el nombre del MIG.SIZE:Es la cantidad de instancias en el 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:
Cómo agregar o borrar instancias
En un MIG que usa el modo masivo, puedes agregar o quitar instancias aumentando o disminuyendo manualmente el tamaño objetivo del MIG.
Agregar instancias: Cuando aumentas el tamaño objetivo desde cero, el MIG agrega instancias de la misma manera que cuando se crea un MIG. También puedes crear instancias con nombres específicos usando el método
createInstancescuando no hay ninguna instancia en el MIG. Para crear instancias con nombres específicos, consulta Crea instancias con nombres específicos en MIG.Borra instancias: Cuando disminuyes el tamaño objetivo a cero, el MIG borra todas las instancias existentes en el grupo y cancela cualquier operación de creación que estuviera en curso. Para quitar instancias, disminuye el tamaño objetivo a
0. Para disminuir a un tamaño distinto de cero, el MIG no debe tener una operación de instancia masiva en curso (bulkInstanceOperation.inProgressdebe serfalse).
Para agregar o quitar instancias de un MIG cambiando el tamaño objetivo, consulta Cómo establecer manualmente el tamaño de un MIG.
¿Qué sigue?
- Obtén información para ver o cancelar la creación masiva de instancias en un MIG.
- Obtén más información para trabajar con instancias administradas.
- Cómo ver información sobre los MIG y las instancias administradas