Crear una instancia A3 Ultra o A4


En este documento se describe cómo crear instancias con GPUs conectadas de las series de máquinas A3 Ultra o A4. Para obtener más información sobre cómo crear instancias con GPUs conectadas, consulta el artículo sobre cómo crear una instancia con GPUs conectadas.

Antes de empezar

  • Para consultar las limitaciones y los pasos previos adicionales para crear una instancia con GPUs conectadas, como seleccionar una imagen de SO o comprobar la cuota de GPU, consulta el resumen de la creación de una instancia con GPUs conectadas.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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:

    Console

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

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Roles obligatorios

Para obtener los permisos que necesitas para crear instancias, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (roles/compute.instanceAdmin.v1) en el proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear instancias. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para crear instancias, se necesitan los siguientes permisos:

  • compute.instances.create del proyecto
  • Para usar una imagen personalizada para crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
  • Para usar una captura para crear la VM, sigue estos pasos: compute.snapshots.useReadOnly en la captura
  • Para usar una plantilla de instancia para crear la VM, haz lo siguiente: compute.instanceTemplates.useReadOnly en la plantilla de instancia
  • Para asignar una red antigua a la VM, sigue estos pasos: compute.networks.use en el proyecto
  • Para especificar una dirección IP estática para la máquina virtual, haz lo siguiente: compute.addresses.use en el proyecto
  • Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente: compute.networks.useExternalIp en el proyecto
  • Para especificar una subred para tu VM, haz lo siguiente: compute.subnetworks.use en el proyecto o en la subred elegida
  • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, sigue estos pasos: compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
  • Para definir los metadatos de la instancia de VM: compute.instances.setMetadata en el proyecto
  • Para definir etiquetas en la VM, haz lo siguiente: compute.instances.setTags en la VM
  • Para definir etiquetas en la VM, sigue estos pasos: compute.instances.setLabels en la VM
  • Para definir una cuenta de servicio que pueda usar la VM, sigue estos pasos: compute.instances.setServiceAccount en la VM
  • Para crear un disco para la VM, sigue estos pasos: compute.disks.create en el proyecto
  • Para adjuntar un disco en modo de solo lectura o de lectura y escritura, sigue estos pasos: compute.disks.use en el disco
  • Para adjuntar un disco en modo de solo lectura, sigue estos pasos: compute.disks.useReadOnly en el disco

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

Determinar cómo crear instancias A3 Ultra o A4

Las instancias A3 Ultra o A4 están disponibles a través de las siguientes opciones de creación, cada una de las cuales tiene procedimientos de creación, disponibilidad de recursos y precios diferentes. Identifica la opción que quieres usar en función de tu carga de trabajo.

  • Si necesitas ejecutar cargas de trabajo de IA y aprendizaje automático de larga duración, como el entrenamiento y la inferencia de modelos grandes, que requieran la latencia más baja, crea máquinas virtuales o clústeres que usen las funciones y los servicios disponibles en Cluster Director. Con Cluster Director, puedes reservar máquinas asignadas de forma densa que proporcionan una programación basada en la topología, así como una monitorización y un mantenimiento mejorados. Para obtener más información sobre Cluster Director, consulta Cluster Director en la documentación de AI Hypercomputer.

    Para obtener instrucciones sobre cómo crear instancias A3 Ultra o A4, consulta la descripción general de la creación de VMs y clústeres en la documentación de AI Hypercomputer.

  • Si necesitas cargas de trabajo de IA y aprendizaje automático de menor duración, elige una de las siguientes opciones:

    • Si tus cargas de trabajo deben ejecutarse durante un máximo de 90 días con una latencia de red mínima, reserva máquinas asignadas de forma densa para una fecha futura mediante solicitudes de reserva futuras en modo calendario. Al inicio del periodo de reserva, puede crear instancias A3 Ultra o A4 con la capacidad reservada. Al final del periodo de reserva, Compute Engine elimina la reserva y las VMs que la consuman.

      Para obtener instrucciones sobre cómo crear instancias A3 Ultra o A4 que usen una reserva, consulta el artículo Crear una instancia A3 Ultra o A4 de este documento.

    • Si tus cargas de trabajo pueden iniciarse en cualquier momento y necesitan un número exacto de VMs para iniciarse, usa solicitudes de cambio de tamaño en un grupo de instancias administrado (MIG). Con las solicitudes de cambio de tamaño de MIG, pides a Compute Engine que añada VMs a tu MIG de una vez cuando haya recursos disponibles. Estas VMs pueden ejecutarse durante un máximo de siete días. Como los recursos se proporcionan desde un pool seguro, tienes más probabilidades de obtener GPUs que si hicieras una solicitud bajo demanda.

      Para obtener más información sobre las solicitudes de cambio de tamaño de MIGs, consulta Información sobre las solicitudes de cambio de tamaño de un MIG.

    • Si tus cargas de trabajo toleran las interrupciones de disponibilidad, puedes obtener descuentos significativos usando máquinas virtuales de acceso puntual. Puedes crear y eliminar máquinas virtuales de Spot según sea necesario. Sin embargo, las VMs de Spot son recursos finitos y Compute Engine puede interrumpir temporalmente (detener o eliminar automáticamente) las VMs de Spot en cualquier momento para recuperar capacidad. Para obtener más información sobre las VMs de acceso puntual, consulta VMs de acceso puntual.

      Para obtener instrucciones sobre cómo crear instancias A3 Ultra o A4 mediante VMs de spot, consulta el artículo Crear una instancia A3 Ultra o A4.

Crear una instancia A3 Ultra o A4

Para crear una instancia A3 Ultra o A4 mediante una reserva o VMs de spot, sigue estos pasos:

  1. Crear redes de VPC

  2. Crear la instancia

  3. Preparar la instancia para usarla

Crear redes de VPC

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

  • 2 redes de VPC para las interfaces de red (NIC) gVNIC. Se usan para la comunicación entre hosts.
  • Se necesita una red de VPC con el perfil de red RDMA para las NICs CX-7. Esta red de VPC debe tener 8 subredes, una por cada NIC CX-7. Estas NICs usan RDMA sobre Ethernet convergente (RoCE), lo que proporciona la comunicación de gran ancho de banda y baja latencia que es esencial para la comunicación entre GPUs.

Para obtener más información sobre la disposición de las NICs, consulta el artículo Revisar el ancho de banda de la red y la disposición de las NICs.

Crea las redes manualmente siguiendo las guías de instrucciones o automáticamente mediante la secuencia de comandos proporcionada.

Guías de instrucciones

Para crear las redes, puedes seguir estas instrucciones:

En estas redes de VPC, te recomendamos que asignes un valor más alto a la unidad de transmisión máxima (MTU). En el caso del tipo de máquina A4 o A3 Ultra, el valor de MTU recomendado es de 8896 bytes. Para consultar los ajustes de MTU recomendados para otros tipos de máquinas con GPU, consulta Ajustes de MTU para tipos de máquinas con GPU.

Secuencia de comandos

Para crear las redes, siga estos pasos.

En estas redes de VPC, te recomendamos que asignes un valor más alto a la unidad de transmisión máxima (MTU). En el caso del tipo de máquina A4 o A3 Ultra, el valor de MTU recomendado es de 8896 bytes. Para consultar los ajustes de MTU recomendados para otros tipos de máquinas con GPU, consulta Ajustes de MTU para tipos de máquinas con GPU.

  1. Usa la siguiente secuencia de comandos para crear redes de VPC para las NICs gVNIC y CX7.

      
        #!/bin/bash
    
        # Create standard VPCs (network 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
    
      

    Haz los cambios siguientes:

    • GVNIC_NAME_PREFIX: el prefijo de nombre personalizado que se usará para las redes de VPC y las subredes estándar de las gVNICs.
    • RDMA_NAME_PREFIX: el prefijo de nombre personalizado que se va a usar para la red de VPC y las subredes con el perfil de red RDMA de las NICs CX-7.
    • ZONE: especifica una zona en la que esté disponible el tipo de máquina que quieras usar, como us-central1-a. Para obtener información sobre las regiones, consulta Disponibilidad de GPUs por regiones y zonas.
    • REGION: la región en la que quieras crear las subredes. Esta región debe corresponderse con la zona especificada. Por ejemplo, si tu zona es us-central1-a, tu región es us-central1.
    • IP_RANGE: el intervalo de IPs que se va a usar en las reglas de cortafuegos SSH.
  2. Opcional: Para verificar que los recursos de la red de VPC se han creado correctamente, comprueba la configuración de la red en la consola de Google Cloud :
    1. En la Google Cloud consola, ve a la página Redes de VPC.

      Ir a redes de VPC

    2. Busca en la lista las redes que has creado en el paso anterior.
    3. Para ver las subredes, las reglas de cortafuegos y otros ajustes de red, haz clic en el nombre de la red.

Crear la instancia

Para crear una instancia A3 Ultra o A4, selecciona uno de los siguientes métodos:

Crear una instancia que use una reserva

Para crear una instancia que use una reserva, usa una de las siguientes opciones:

Consola

  1. En la Google Cloud consola, ve a la página Crear una instancia.

    Ir a Crear una instancia

    Aparecerá la pantalla Crear una instancia, en la que se muestra el panel Configuración de la máquina.

  2. En el panel Configuración del equipo, sigue estos pasos:

    1. Especifica un nombre para la instancia. Consulta Convención de nomenclatura de recursos.

    2. Selecciona la región y la zona en las que has reservado capacidad.

    3. Haz clic en la pestaña GPUs y, a continuación, sigue estos pasos:

      1. En la lista Tipo de GPU, selecciona el tipo de GPU.

        • En el caso de las instancias A4, selecciona NVIDIA B200.

        • En las instancias A3 Ultra, selecciona NVIDIA H200 de 141 GB.

      2. En la lista Número de GPUs, selecciona 8.

  3. En el menú de navegación, haz clic en SO y almacenamiento. En el panel Sistema operativo y almacenamiento que aparece, sigue estos pasos:

    1. Haz clic en Cambiar. Aparecerá el panel Configuración del disco de arranque.

    2. En la pestaña Imágenes públicas, selecciona una imagen recomendada. Para ver una lista de imágenes recomendadas, consulta Sistemas operativos.

    3. Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.

  4. Para crear una instancia con varias NICs, sigue estos pasos. De lo contrario, para crear una instancia de una sola NIC, omite estos pasos.

    • En el menú de navegación, haga clic en Redes. En el panel Redes que aparece, sigue estos pasos:

      1. En la sección Interfaces de red, sigue estos pasos:

      2. Elimina la interfaz de red predeterminada. Para eliminar la interfaz, haz clic en Eliminar.

      3. Haz clic en Añadir una interfaz de red. Usa esta opción para añadir las redes gVNIC y RDMA que has creado en la sección anterior. Cuando añadas las redes, ten en cuenta lo siguiente:

        • Especifica tus redes de host en las listas Red y Subred, y define la lista Tarjeta de interfaz de red como gVNIC.

        • Especifica tus redes de GPU en las listas Red y Subred, y define la lista Tarjeta de interfaz de red como MRDMA para estas redes.

  5. En el menú de navegación, haz clic en Opciones avanzadas. En el panel Avanzado que aparece, sigue estos pasos:

    1. En la sección Reservas, selecciona Elegir una reserva y, a continuación, haz clic en Elegir reserva. Con esta acción, se abre un panel con una lista de las reservas disponibles en la zona seleccionada. En la lista de reservas, sigue estos pasos:

      1. Selecciona la reserva que quieras usar en la VM. También puedes seleccionar un bloque específico de la reserva.

      2. Haz clic en Elegir.

    2. En la sección Modelo de aprovisionamiento, despliega la sección Configuración avanzada del modelo de aprovisionamiento de VMs.

    3. En la lista Al finalizar la VM, selecciona Detener (opción predeterminada) o Eliminar.

  6. Para crear e iniciar la instancia, haz clic en Crear.

gcloud

Para crear la VM, usa el comando gcloud compute instances create.

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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

Haz los cambios siguientes:

  • VM_NAME: el nombre de la VM.
  • MACHINE_TYPE: el tipo de máquina que se va a usar en la VM. Para obtener más información, consulta Tipos de máquinas con GPU.
  • IMAGE_FAMILY: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Detalles del sistema operativo.
  • IMAGE_PROJECT: el ID de proyecto de la imagen del SO.
  • ZONE: la zona en la que está disponible el tipo de máquina que quieres usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPUs por regiones y zonas.
  • DISK_SIZE: tamaño del disco de arranque en GB.
  • GVNIC_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes estándar que usan gVNICs.
  • RDMA_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes que usan NICs RDMA.
  • RESERVATION: el nombre de la reserva o un bloque específico de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Ver la capacidad reservada. En función de tus requisitos de colocación de instancias, elige una de las siguientes opciones:
    • Para crear la instancia en cualquier bloque, sigue estos pasos:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Además, para crear varias instancias en el mismo bloque, aplica la misma política de emplazamiento compacto que especifique una colocación de bloques (maxDistance=2) al crear cada instancia. A continuación, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.

    • Para crear la instancia 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 elimina (DELETE) la VM al final del periodo de reserva.

REST

Para crear la VM, haz una solicitud POST al método instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name":"VM_NAME",
  "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":"TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart":true
  }
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto en el que quieres crear la VM.
  • ZONE: la zona en la que está disponible el tipo de máquina que quieres usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPUs por regiones y zonas.
  • MACHINE_TYPE: el tipo de máquina que se va a usar en la VM. Para obtener más información, consulta Tipos de máquinas con GPU.
  • VM_NAME: el nombre de la VM.
  • DISK_SIZE: tamaño del disco de arranque en GB.
  • IMAGE_PROJECT: el ID de proyecto de la imagen del SO.
  • IMAGE_FAMILY: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Detalles del sistema operativo.
  • NETWORK_PROJECT_ID: el ID de proyecto de la red.
  • GVNIC_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes estándar que usan gVNICs.
  • REGION: la región de la subred.
  • RDMA_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes que usan NICs RDMA.
  • RESERVATION: el nombre de la reserva o un bloque específico de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Ver la capacidad reservada. En función de tus requisitos de colocación de instancias, elige una de las siguientes opciones:
    • Para crear la instancia en cualquier bloque, sigue estos pasos:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Además, para crear varias instancias en el mismo bloque, aplica la misma política de emplazamiento compacto que especifique una colocación de bloques (maxDistance=2) al crear cada instancia. A continuación, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.

    • Para crear la instancia 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 elimina (DELETE) la VM al final del periodo de reserva.

Crear una VM de Spot

Para crear la VM de Spot, usa una de las siguientes opciones:

Consola

  1. En la Google Cloud consola, ve a la página Crear una instancia.

    Ir a Crear una instancia

    Aparecerá la pantalla Crear una instancia, en la que se muestra el panel Configuración de la máquina.

  2. En el panel Configuración del equipo, sigue estos pasos:

    1. Especifica un nombre para la instancia. Consulta Convención de nomenclatura de recursos.

    2. Selecciona la región y la zona en las que quieras crear una VM. Para comprobar en qué regiones y zonas están disponibles las GPUs, consulta Regiones y zonas de GPU.

    3. Haz clic en la pestaña GPUs y, a continuación, sigue estos pasos:

      1. En la lista Tipo de GPU, selecciona el tipo de GPU.

        • En el caso de las instancias A4, selecciona NVIDIA B200.

        • En las instancias A3 Ultra, selecciona NVIDIA H200 de 141 GB.

      2. En la lista Número de GPUs, selecciona 8.

  3. En el menú de navegación, haz clic en SO y almacenamiento. En el panel Sistema operativo y almacenamiento que aparece, sigue estos pasos:

    1. Haz clic en Cambiar. Aparecerá el panel Configuración del disco de arranque.

    2. En la pestaña Imágenes públicas, selecciona una imagen recomendada. Para ver una lista de imágenes recomendadas, consulta Sistemas operativos.

    3. Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.

  4. Para crear una instancia con varias NICs, sigue estos pasos. De lo contrario, para crear una instancia de una sola NIC, omite estos pasos.

    • En el menú de navegación, haga clic en Redes. En el panel Redes que aparece, sigue estos pasos:

      1. En la sección Interfaces de red, sigue estos pasos:

      2. Elimina la interfaz de red predeterminada. Para eliminar la interfaz, haz clic en Eliminar.

      3. Haz clic en Añadir una interfaz de red. Usa esta opción para añadir las redes gVNIC y RDMA que has creado en la sección anterior. Cuando añadas las redes, debes hacer lo siguiente:

        • Especifica tus redes de host en las listas Red y Subred, y define la lista Tarjeta de interfaz de red como gVNIC.

        • Especifica tus redes de GPU en las listas Red y Subred, y define la lista Tarjeta de interfaz de red como MRDMA para estas redes.

  5. En el menú de navegación, haz clic en Opciones avanzadas. En el panel Avanzado que aparece, sigue estos pasos:

    1. En la sección Modelo de aprovisionamiento, selecciona Spot en la lista Modelo de aprovisionamiento de la VM.

    2. Opcional: Para especificar la acción que se debe llevar a cabo cuando Compute Engine prevalece sobre la instancia, sigue estos pasos:

      1. Despliega la sección Configuración avanzada del modelo de aprovisionamiento de la VM.

      2. En la lista Al finalizar la VM, selecciona Detener o Eliminar.

  6. Para crear e iniciar la instancia, haz clic en Crear.

gcloud

Para crear la VM, usa el comando gcloud compute instances create.

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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

Haz los cambios siguientes:

  • VM_NAME: el nombre de la VM.
  • MACHINE_TYPE: el tipo de máquina que se va a usar en la VM. Para obtener más información, consulta Tipos de máquinas con GPU.
  • IMAGE_FAMILY: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Detalles del sistema operativo.
  • IMAGE_PROJECT: el ID de proyecto de la imagen del SO.
  • ZONE: la zona en la que está disponible el tipo de máquina que quieres usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPUs por regiones y zonas.
  • DISK_SIZE: tamaño del disco de arranque en GB.
  • GVNIC_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes estándar que usan gVNICs.
  • RDMA_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes que usan NICs RDMA.
  • TERMINATION_ACTION: la acción que se debe llevar a cabo cuando Compute Engine desalojo la instancia, ya sea STOP (valor predeterminado) o DELETE.

REST

Para crear la VM, haz una solicitud POST al método instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name":"VM_NAME",
  "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"
  }
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto en el que quieres crear la VM.
  • ZONE: la zona en la que está disponible el tipo de máquina que quieres usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPUs por regiones y zonas.
  • MACHINE_TYPE: el tipo de máquina que se va a usar en la VM. Para obtener más información, consulta Tipos de máquinas con GPU.
  • VM_NAME: el nombre de la VM.
  • DISK_SIZE: tamaño del disco de arranque en GB.
  • IMAGE_PROJECT: el ID de proyecto de la imagen del SO.
  • IMAGE_FAMILY: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Detalles del sistema operativo.
  • NETWORK_PROJECT_ID: el ID de proyecto de la red.
  • GVNIC_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes estándar que usan gVNICs.
  • REGION: la región de la subred.
  • RDMA_NAME_PREFIX: el prefijo de nombre que especificaste al crear las redes VPC y las subredes que usan NICs RDMA.
  • TERMINATION_ACTION: la acción que se debe llevar a cabo cuando Compute Engine desalojo la instancia, ya sea STOP (valor predeterminado) o DELETE.

Preparar la instancia para usarla

Para preparar una instancia que tenga GPUs conectadas para su uso, sigue estos pasos:

  1. Para que una instancia A4 o A3 Ultra pueda usar las GPUs que tiene conectadas, debe tener instalados los controladores de GPU. A menos que la imagen de la instancia ya incluya los controladores de GPU necesarios, instala los controladores de GPU.

  2. Si has creado una VM de Spot en la sección anterior, sigue estos pasos:

Siguientes pasos