Crea instancias optimizadas para IA de forma masiva con A4 o A3 Ultra

En este documento, se explica cómo crear instancias de máquina virtual (VM) de forma masiva que usen los tipos de máquinas Ultra A4 o A3. Para obtener más información sobre estos tipos de máquinas optimizados para aceleradores, consulta A4 o A3 Ultra.

Para obtener más información sobre cómo crear VMs de forma masiva, consulta Acerca de la creación masiva de VMs en la documentación de Compute Engine.

Para obtener información sobre otras formas de crear VMs o clústeres, consulta Descripción general de las opciones de implementación.

Limitaciones

Cuando creas VMs A4 o A3 Ultra de forma masiva, se aplican las siguientes limitaciones:

A4

  • No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A4.
  • Solo puedes usar un tipo de máquina A4 en ciertas regiones y zonas.
  • No puedes usar Persistent Disk (regional o zonal). Solo puedes usar Google Cloud Hyperdisk.
  • El tipo de máquina A4 solo está disponible en la plataforma de CPU Emerald Rapids.
  • No puedes cambiar el tipo de máquina de una instancia a un tipo de máquina A4 ni desde este. Debes crear una instancia nueva con este tipo de máquina.
  • Los tipos de máquinas A4 no admiten usuarios únicos.
  • No puedes ejecutar sistemas operativos Windows en un tipo de máquina A4.
  • En el caso de las instancias A4, cuando usas ethtool -S para supervisar la conexión en red de la GPU, no se actualizan los contadores de puertos físicos que terminan en _phy. Este es el comportamiento esperado para las instancias que usan la arquitectura de función virtual (VF) de MRDMA. Para obtener más información, consulta Funciones de MRDMA y herramientas de supervisión de redes.
  • No puedes conectar discos Hyperdisk ML creados antes del 4 de febrero de 2026 a tipos de máquinas A4.

A3 Ultra

  • No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A3 ultra.
  • Solo puedes usar un tipo de máquina A3 ultra en ciertas regiones y zonas.
  • No puedes usar Persistent Disk (regional o zonal). Solo puedes usar Google Cloud Hyperdisk.
  • El tipo de máquina A3 Ultra solo está disponible en la plataforma de CPU Emerald Rapids.
  • No se admiten cambios de tipo de máquina para el tipo de máquina A3 Ultra. Para cambiar a este tipo de máquina o dejar de usarlo, debes crear una instancia nueva.
  • No puedes ejecutar sistemas operativos Windows en un tipo de máquina A3 Ultra.
  • Los tipos de máquinas A3 Ultra no admiten usuarios únicos.
  • En el caso de las instancias de A3 Ultra, cuando usas ethtool -S para supervisar las redes de GPU, no se actualizan los contadores de puertos físicos que terminan en _phy. Este es el comportamiento esperado para las instancias que usan la arquitectura de función virtual (VF) de MRDMA. Para obtener más información, consulta Funciones de MRDMA y herramientas de supervisión de redes.

Antes de comenzar

Antes de crear VMs de forma masiva, si aún no lo hiciste, completa los siguientes pasos:

  1. Elige una opción de consumo: La opción de consumo que elijas determinará cómo obtendrás y usarás los recursos de GPU.

    Para obtener más información, consulta Elige una opción de consumo.

  2. Obtención de capacidad: El proceso para obtener capacidad difiere para cada opción de consumo.

    Para obtener información sobre el proceso para obtener capacidad para la opción de consumo que elegiste, consulta la Descripción general de la capacidad.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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 init

    Si 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 al 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.create en el proyecto
  • Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
  • Para usar una instantánea a fin de crear la VM, haz lo siguiente: compute.snapshots.useReadOnly en la instantánea
  • Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos: compute.instanceTemplates.useReadOnly en la plantilla de instancias
  • A fin de especificar una subred para tu VM: compute.subnetworks.use en el proyecto o en la subred elegida
  • Si deseas especificar una dirección IP estática para la VM: compute.addresses.use en el proyecto
  • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida.
  • Para asignar una red heredada a la VM, ejecuta compute.networks.use en el proyecto.
  • Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta compute.networks.useExternalIp en el proyecto
  • Para configurar los metadatos de la instancia de VM para la VM, compute.instances.setMetadata en el proyecto.
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setTags en la VM
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setLabels en la VM
  • A fin de configurar una cuenta de servicio para que la VM use: compute.instances.setServiceAccount en la VM
  • Crear un disco nuevo para la VM: compute.disks.create en el proyecto
  • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa compute.disks.use en el disco.
  • Para conectar un disco existente en modo de solo lectura, haz lo siguiente: compute.disks.useReadOnly en el disco

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Descripción general

La creación masiva de instancias con el tipo de máquina A4 o A3 Ultra incluye los siguientes pasos:

  1. Crea redes de VPC
  2. Opcional: Crea una política de posición de compactación
  3. Crea instancias de forma masiva

Crea redes de VPC

Para configurar la red para el tipo de máquina A4 o A3 Ultra, crea tres redes de VPC para las siguientes interfaces de red:

  • 2 redes de VPC normales para las interfaces de red (NIC) gVNIC Se usan para la comunicación de host a host.
  • Se requiere 1 red de VPC con el perfil de red RoCE para las NIC CX-7. La red de VPC de RoCE debe tener 8 subredes, una para cada NIC CX-7. Estas NIC usan RDMA a través de Ethernet convergida (RoCE), lo que proporciona la comunicación de gran ancho de banda y baja latencia que es esencial para la comunicación entre GPU.

Para obtener más información sobre la disposición de las NIC, consulta Revisa el ancho de banda de la red y la disposición de las NIC.

Crea las redes de forma manual siguiendo las guías de instrucciones o automáticamente con la secuencia de comandos proporcionada.

Guías de instrucciones

Para crear las redes, puedes usar las siguientes instrucciones:

Para estas redes de VPC, te recomendamos que establezcas la unidad de transmisión máxima (MTU) en un valor mayor. Para los tipo de máquina A4 o A3 Ultra, la MTU recomendada es de 8896 bytes. Para revisar la configuración de MTU recomendada para otros tipos de máquinas con GPU, consulta Configuración de MTU para tipos de máquinas con GPU.

Secuencia de comandos

Para crear las redes, sigue estos pasos.

Para estas redes de VPC, te recomendamos que establezcas la unidad de transmisión máxima (MTU) en un valor mayor. Para los tipo de máquina A4 o A3 Ultra, la MTU recomendada es de 8896 bytes. Para revisar la configuración de MTU recomendada para otros tipos de máquinas con GPU, consulta Configuración de MTU para tipos de máquinas con GPU.

  1. Usa la siguiente secuencia de comandos para crear redes de VPC para las NIC de gVNIC y CX-7.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    Reemplaza lo siguiente:

    • GVNIC_NAME_PREFIX: Es el prefijo del nombre personalizado que se usará para las subredes y las redes de VPC normales de las gVNICs.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre personalizado que se usará para la red de VPC y las subredes de RoCE para las NIC CX-7.
    • ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar, como us-central1-a. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
    • REGION: Es la región en la que deseas crear las subredes. Esta región debe corresponder a la zona especificada. Por ejemplo, si tu zona es us-central1-a, tu región es us-central1.
    • IP_RANGE: Es el rango de IP que se usará para las reglas de firewall de SSH.
  2. Opcional: Para verificar que los recursos de la red de VPC se hayan creado correctamente, consulta la configuración de la red en la consola de Google Cloud :
    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a las redes de VPC

    2. Busca en la lista las redes que creaste en el paso anterior.
    3. Para ver las subredes, las reglas de firewall y otros parámetros de configuración de la red, haz clic en el nombre de la red.

Opcional: Crea una política de posición de compactación

Puedes especificar la posición de la VM creando una política de posición compacta. Cuando aplicas una política de posición compacta a tus VMs, Compute Engine hace todo lo posible para crear VMs que estén lo más cerca posible entre sí. Si tu aplicación es sensible a la latencia y deseas que las VMs estén más cerca entre sí (máxima compactación), especifica el campo maxDistance (versión preliminar) cuando crees una política de posición compacta. Un valor de maxDistance más bajo garantiza una colocación más cercana de las VM, pero también aumenta la probabilidad de que no se creen algunas VMs.

Para crear una política de posición compacta, selecciona una de las siguientes opciones:

gcloud

Para crear una política de posición de compactación, usa el comando gcloud beta compute resource-policies create group-placement:

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

Reemplaza lo siguiente:

  • POLICY_NAME: el nombre de la política de posición compacta.
  • MAX_DISTANCE: la configuración de distancia máxima para tus VMs. El valor debe ser 3 para colocar VMs en los bloques adyacentes o 2 para colocarlas en el mismo bloque. Para obtener información sobre la cantidad máxima de VMs admitidas para cada maxDistance por serie de máquinas, consulta Acerca de las políticas de posición de compactación en la documentación de Compute Engine.
  • REGION: la región en la que deseas crear la política de posición compacta. Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.

REST

Para crear una política de posición compacta, realiza una solicitud POST al método beta resourcePolicies.insert. En el cuerpo de la solicitud, incluye el campo collocation configurado como COLLOCATED y el campo maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto.
  • POLICY_NAME: el nombre de la política de posición compacta.
  • MAX_DISTANCE: la configuración de distancia máxima para tus VMs. El valor debe ser 3 para colocar VMs en los bloques adyacentes o 2 para colocarlas en el mismo bloque. Para obtener información sobre la cantidad máxima de VMs admitidas para cada maxDistance por serie de máquinas, consulta Acerca de las políticas de posición de compactación en la documentación de Compute Engine.
  • REGION: la región en la que deseas crear la política de posición compacta. Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.

Crea VMs de A3 Ultra o A4 de forma masiva

Para crear VMs de A3 Ultra o A4 de forma masiva, usa uno de los siguientes métodos.

Los siguientes comandos también establecen el permiso de acceso para tus instancias. Para simplificar la administración de permisos, Google recomienda que configures el permiso de acceso en una instancia como acceso cloud-platform y, luego, uses roles de IAM para definir a qué servicios puede acceder la instancia. Para obtener más información, consulta Prácticas recomendadas para los permisos.

gcloud

Para crear VMs de forma masiva, usa el comando gcloud compute instances bulk create.

Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.

Con reserva

Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Completa los siguientes pasos:

  1. Reemplaza lo siguiente:

    • NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usas vm-# para el patrón de nombre, se generan VMs con nombres como vm-1 y vm-2, hasta la cantidad de VMs especificadas por --count.
    • COUNT: la cantidad de VM que se crearán.
    • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.
    • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.
    • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
    • REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
    • DISK_SIZE: Es el tamaño del disco de arranque en GB.
    • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC de RDMA.
    • RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:
      • Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Además, para un solo bloque, aplica una política de posición de compactación que especifique una colocación conjunta de bloques (maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.

      • Para crear instancias en un bloque específico, sigue estos pasos:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.

  2. Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:

      --resource-policies=POLICY_NAME
    

    Reemplaza lo siguiente:

    • POLICY_NAME: el nombre de la política de posición compacta.
  3. Ejecute el comando.

Spot

Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Completa los siguientes pasos:

  1. Reemplaza lo siguiente:

    • NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usas vm-# para el patrón de nombre, se generan VMs con nombres como vm-1 y vm-2, hasta la cantidad de VMs especificadas por --count.
    • COUNT: la cantidad de VM que se crearán.
    • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.
    • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.
    • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
    • REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
    • DISK_SIZE: Es el tamaño del disco de arranque en GB.
    • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC de RDMA.
    • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

  2. Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:

      --resource-policies=POLICY_NAME
    

    Reemplaza lo siguiente:

    • POLICY_NAME: el nombre de la política de posición compacta.
  3. Ejecute el comando.

REST

Para crear VMs de forma masiva, realiza una solicitud POST al método instances.bulkInsert.

Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.

Con reserva

Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Completa los siguientes pasos:

  1. Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.
    • ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
    • NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usas vm-# para el patrón de nombre, se generan VMs con nombres como vm-1 y vm-2, hasta la cantidad de VMs especificadas por --count.
    • COUNT: la cantidad de VM que se crearán.
    • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.
    • VM_NAME: el nombre de la VM.
    • DISK_SIZE: Es el tamaño del disco de arranque en GB.
    • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
    • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.
    • NETWORK_PROJECT_ID: Es el ID del proyecto de la red.
    • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.
    • REGION: Es la región de la subred.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC de RDMA.
    • RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:
      • Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Además, para un solo bloque, aplica una política de posición de compactación que especifique una colocación conjunta de bloques (maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.

      • Para crear instancias en un bloque específico, sigue estos pasos:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.

  2. Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo instanceProperties al cuerpo de la solicitud:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto de la política de posición compacta.
    • REGION: Es la región de la política de posición compacta.
    • POLICY_NAME: el nombre de la política de posición compacta.
  3. Envía la solicitud.

Spot

Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Completa los siguientes pasos:

  1. Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.
    • ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
    • NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usas vm-# para el patrón de nombre, se generan VMs con nombres como vm-1 y vm-2, hasta la cantidad de VMs especificadas por --count.
    • COUNT: la cantidad de VM que se crearán.
    • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.
    • VM_NAME: el nombre de la VM.
    • DISK_SIZE: Es el tamaño del disco de arranque en GB.
    • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
    • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.
    • NETWORK_PROJECT_ID: Es el ID del proyecto de la red.
    • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.
    • REGION: Es la región de la subred.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC de RDMA.
    • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

  2. Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo instanceProperties al cuerpo de la solicitud:

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto de la política de posición compacta.
    • REGION: Es la región de la política de posición compacta.
    • POLICY_NAME: el nombre de la política de posición compacta.
  3. Envía la solicitud.

Para obtener más información sobre las opciones de configuración cuando creas VMs de forma masiva, consulta Crea VMs de forma masiva en la documentación de Compute Engine.

¿Qué sigue?