En este documento, se describe cómo especificar la flexibilidad de instancias cuando creas máquinas virtuales (VM) de forma masiva. Cuando realizas esta especificación, indicas una lista de tipos de máquinas que son adecuados para las VMs, y Compute Engine aprovisiona VMs con cualquiera de los tipos de máquinas especificados según la capacidad y la disponibilidad de cuota en una región.
Para obtener más información sobre la flexibilidad de las instancias para las VMs creadas de forma masiva, consulta Acerca de la flexibilidad de las instancias para las VMs creadas de forma masiva.
Antes de comenzar
- En el caso de las VMs y cualquier recurso relacionado que quieras crear, asegúrate de tener suficiente cuota y los permisos necesarios.
-
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:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
- Set a default region and zone.
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. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi 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 .
Roles obligatorios
Para obtener los permisos que necesitas para crear VMs de forma masiva, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear VMs de forma masiva. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear VMs de forma masiva:
-
compute.instances.createen el proyecto -
Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnlyen la imagen -
Para usar una instantánea a fin de crear la VM, haz lo siguiente:
compute.snapshots.useReadOnlyen la instantánea -
Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos:
compute.instanceTemplates.useReadOnlyen la plantilla de instancias -
A fin de especificar una subred para tu VM:
compute.subnetworks.useen el proyecto o en la subred elegida -
Si deseas especificar una dirección IP estática para la VM:
compute.addresses.useen el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIpen el proyecto o en la subred elegida. -
Para asignar una red heredada a la VM, ejecuta
compute.networks.useen el proyecto. -
Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta
compute.networks.useExternalIpen el proyecto -
Para configurar los metadatos de la instancia de VM para la VM,
compute.instances.setMetadataen el proyecto. -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setTagsen la VM -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setLabelsen la VM -
A fin de configurar una cuenta de servicio para que la VM use:
compute.instances.setServiceAccounten la VM -
Crear un disco nuevo para la VM:
compute.disks.createen el proyecto -
Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa
compute.disks.useen el disco. -
Para conectar un disco existente en modo de solo lectura, haz lo siguiente:
compute.disks.useReadOnlyen el disco
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea VMs con varios tipos de máquinas de igual preferencia
Si tu carga de trabajo puede operar en varios tipos de máquinas diferentes, puedes especificar una lista de todos los tipos de máquinas compatibles en una sola selección de instancias. En los siguientes ejemplos, se muestra cómo puedes especificar varios tipos de máquinas con la misma preferencia.
gcloud
Para crear VMs de forma masiva con una sola selección de instancias, usa el comando
gcloud compute instances bulk createcon la marca--instance-selection-machine-types.gcloud compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection-machine-types=c3-standard-8,n2-standard-8,c2-standard-8REST
En la API de Compute Engine, realiza una solicitud
POSTal métodoregionInstances.bulkInsert. En el cuerpo de la solicitud, incluyeinstanceFlexibilityPolicycon una entradainstanceSelectionsque enumere los tipos de máquinas.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "c3-standard-8", "n2-standard-8", "c2-standard-8" ] } } } }Reemplaza lo siguiente:
COUNT: la cantidad de VM que se crearán.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que se crearán las VMs.
Crea VMs con varios tipos de máquinas clasificadas según la preferencia
Si deseas que Compute Engine elija los tipos de máquinas en un orden específico, puedes configurar varias selecciones de instancias. Cada selección de instancia incluye una lista de tipos de máquinas y un rango, que es un número entero que define la preferencia por los tipos de máquinas. Un rango más bajo indica una mayor preferencia. Compute Engine intenta crear VMs con tipos de máquinas que tienen una mayor preferencia (menor clasificación). Si esos tipos de máquinas no están disponibles, Compute Engine usa tipos de máquinas con una preferencia más baja (un rango más alto).
En los siguientes ejemplos, se muestra cómo especificar varias selecciones de instancias con rangos.
gcloud
Para crear VMs de forma masiva con varias selecciones de instancias, usa el comando
gcloud compute instances bulk createy especifica la marca--instance-selectionvarias veces.gcloud beta compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection "name=most-preferred,rank=0,machine-type=c3-standard-16,machine-type=n2-standard-16, machine-type=c2-standard-16" \ --instance-selection "name=least-preferred,rank=1,machine-type=c3-standard-8,machine-type=n2-standard-8, machine-type=c2-standard-8"REST
En la API de Compute Engine, realiza una solicitud
POSTal métodoregionInstances.bulkInsert. En el cuerpo de la solicitud, incluyeinstanceFlexibilityPolicyy especifica varias entradas eninstanceSelections, cada una con una lista de tipos de máquina y unrank.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "most-preferred": { "machineTypes": [ "c3-standard-16", "c2-standard-16" ], "rank": 1 }, "least-preferred": { "machineTypes": [ "n2-standard-16", "c3-standard-8", "n2-standard-8", "c2-standard-8" ], "rank": 2 } } } }Reemplaza lo siguiente:
COUNT: la cantidad de VM que se crearán.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que se crearán las VMs.
Especifica anulaciones de disco en las selecciones de instancias
De forma predeterminada, las VMs creadas por una solicitud masiva usan la configuración del disco de
instanceProperties. Sin embargo, puedes especificar configuraciones de disco dentro de una selección de instancias. Si especificas discos en una selección de instancias, esa configuración de disco anula la configuración de disco eninstancePropertiespara las VMs que usan esa selección de instancias.En el siguiente ejemplo, se muestra cómo especificar discos en las selecciones de instancias.
REST
En la API de Compute Engine, realiza una solicitud
POSTal métodoregionInstances.bulkInsert. En el cuerpo de la solicitud, incluyeinstanceFlexibilityPolicyy, para cualquier entrada deinstanceSelections, incluye el campodiskspara anularinstanceProperties.disks.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "n2-standard-8", "c2-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "pd-ssd", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "SCRATCH", "initializeParams": { "diskType": "local-ssd" } } ] }, "selection-2": { "machineTypes": [ "c3-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 128, "sourceImage": "IMAGE_URL" } } ] } } } }Reemplaza lo siguiente:
COUNT: la cantidad de VM que se crearán.IMAGE_URL: URL de la imagen del disco de arranque.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que se crearán las VMs.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2026-02-11 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-02-11 (UTC)"],[],[]] -