Crea una instancia G2 o G4

En este documento, se explica cómo crear una instancia de máquina virtual (VM) que use un tipo de máquina de la serie de máquinas G2 o G4. Estos tipos de máquinas optimizados para aceleradores de la serie G son adecuados para ejecutar aplicaciones con uso intensivo de gráficos y para la inferencia de aprendizaje automático (AA) rentable.

Puedes crear estas VMs como VMs bajo demanda. Para reducir los costos, también puedes crear VMs Spot de G2 y G4, o bien VMs de inicio flexible de G2. Para obtener más información sobre cómo crear VMs con GPU conectadas, consulta la Descripción general de la creación de una instancia con GPU conectadas.

Para crear varias VMs de G2 o G4, puedes usar una de las siguientes opciones:

Antes de comenzar

  • Para revisar las limitaciones y los pasos de requisitos previos adicionales para crear instancias con GPU conectadas, como seleccionar una imagen de SO y verificar la cuota de GPU, consulta la Descripción general de la creación de una instancia con GPU conectadas.
  • 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:

    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 Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

    2. Set a default region and zone.

    REST

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

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

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a 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 requeridos

Para obtener los permisos que necesitas para crear VMs, 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 VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear VM:

  • 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.

Crea una instancia que tenga GPUs conectadas

Puedes crear una instancia optimizada para aceleradores G2 o G4 con la Google Cloud consola, Google Cloud CLI o REST.

Console

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

    Ir a Crear una instancia

  2. En el campo Nombre, ingresa un nombre único para tu instancia. Consulta la convención de asignación de nombres de recursos.

  3. Selecciona una región y una zona en las que estén disponibles estos tipos de máquinas con GPU. Consulta Regiones y zonas de GPU.

  4. En la sección de tipos de máquinas, selecciona GPUs.

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

      • En el caso de las instancias G2, selecciona NVIDIA L4.
      • En el caso de las instancias G4, selecciona NVIDIA RTX PRO 6000.
    2. En la lista Cantidad de GPU, selecciona la cantidad.

      • En el caso de las instancias G4, la consola selecciona automáticamente el tipo de máquina correspondiente según la cantidad de GPUs seleccionadas.
      • En el caso de las instancias de G2, revisa lo siguiente:

        • Si seleccionas una GPU, puedes elegir entre un conjunto de tipo de máquina con cantidades predeterminadas de CPU virtuales y memoria que se adapten a tus cargas de trabajo.
        • Si seleccionas dos o más GPUs, la consola seleccionará automáticamente el tipo de máquina correspondiente según la cantidad de GPUs seleccionadas.

        En el caso de las instancias G2, también puedes especificar tipos personalizados de máquinas. Para especificar la cantidad de CPU virtuales y memoria de la instancia, arrastra los controles deslizantes o ingresa los valores en los cuadros de texto. En la consola, se mostrará un costo estimado para la instancia a medida que cambies la cantidad de CPU virtuales y la memoria.

    3. Opcional: Las series de máquinas G2 y G4 admiten estaciones de trabajo virtuales (vWS) NVIDIA RTX para cargas de trabajo de gráficos. Si planeas ejecutar cargas de trabajo de alto contenido gráfico en tu instancia, selecciona Habilitar estación de trabajo virtual (NVIDIA GRID).

  5. Configura el disco de arranque de la siguiente manera:

    1. En la sección SO y almacenamiento, haz clic en Cambiar. Se abrirá la página Configuración del disco de arranque.
    2. En la página Configuración del disco de arranque, haz lo siguiente:

      1. En la pestaña Imágenes públicas, elige una imagen de Compute Engine compatible o una Deep Learning VM Image.
      2. Especifica un tamaño de disco de arranque de al menos 40 GiB.
      3. Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.
  6. Opcional: Agrega SSD locales. Las SSD locales se pueden usar como discos rápidos para instalación nueva o para ingresar datos a las GPU y evitar los cuellos de botella de E/S. Para agregar SSD locales a tu instancia, completa los siguientes pasos:

    1. En la sección SO y almacenamiento, haz clic en Agregar SSD local.
    2. En Interfaz, selecciona NVMe.
    3. En Capacidad del disco, selecciona la cantidad de SSD locales que deseas conectar. Para conocer la cantidad máxima de discos SSD locales por instancia, consulta los límites de series de máquinas para SSD locales.
  7. Opcional: Para lograr un mayor ancho de banda de red para tus instancias de g4-standard-384, configura varias interfaces de red. Puedes configurar hasta dos interfaces de red. Esta configuración crea una instancia g4-standard-384 con dos interfaces de red (2 conexiones de 200 Gbps). En la sección Herramientas de redes, completa los siguientes pasos:

    1. Expande la interfaz de red predeterminada.
    2. Especifica la Red y la Subred para tu primera interfaz.
    3. En Tarjeta de interfaz de red, selecciona gVNIC.
    4. Haz clic en Agregar interfaz de red para agregar la segunda interfaz. Configura la segunda interfaz de red de la siguiente manera:

      1. Selecciona una red y una subred de VPC diferentes. Cada interfaz de red debe estar en una red de VPC única.
      2. En Tarjeta de interfaz de red, selecciona gVNIC.
  8. Opcional: Configura un modelo de aprovisionamiento diferente para reducir los costos. En la sección Opciones avanzadas, en Modelo de aprovisionamiento de VM, selecciona una de las siguientes opciones:

    • (Solo para G2) Inicio flexible: Para cargas de trabajo de corta duración que pueden tolerar una hora de inicio flexible. Para obtener más información, consulta Acerca de las VMs con inicio flexible.

    • Spot: Para cargas de trabajo tolerantes a errores que se pueden interrumpir. Para obtener más información, consulta VMs Spot.

  9. Opcional: En la lista Cuando se finaliza la VM, selecciona lo que sucede cuando Compute Engine interrumpe las VMs Spot o cuando las VMs de inicio flexible alcanzan el final de su duración de ejecución:

    • Para detener la VM durante la interrupción, selecciona Detener (predeterminado).
    • Para borrar la VM durante la interrupción, selecciona Borrar.
  10. Para crear y, también, iniciar la VM, haz clic en Crear.

gcloud

Para crear y, luego, iniciar una instancia, usa el comando gcloud compute instances create. El siguiente comando incluye las marcas obligatorias.

  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      --restart-on-failure
Reemplaza lo siguiente:
  • VM_NAME: Es el nombre de la instancia nueva.
  • MACHINE_TYPE: el tipo de máquina que seleccionaste. Elige una de las siguientes opciones:

    • Un tipo de máquina G4.
    • Un tipo de máquina G2. Los tipos de máquinas G2 también admiten memoria personalizada. La memoria debe ser un múltiplo de 1,024 MB y debe estar dentro del rango de memoria admitido. Por ejemplo, para crear una instancia con 4 CPU virtuales y 19 GB de memoria, especifica --machine-type=g2-custom-4-19456.
  • ZONE: Es la zona de la instancia. Esta zona debe ser compatible con el modelo de GPU seleccionado.
  • DISK_SIZE: Es el tamaño de tu disco de arranque en GiB. Especifica un tamaño de disco de arranque de al menos 40 GiB.
  • IMAGE: una imagen del sistema operativo que admite GPU. Si deseas usar la imagen más reciente en una familia de imágenes, reemplaza la marca --image por la marca --image-family y configura su valor en una familia de imágenes que admita GPU. Por ejemplo: --image-family=rocky-linux-8-optimized-gcp.
    También puedes especificar una imagen personalizada o una Deep Learning VM Image.
  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la imagen de SO. Si usas una imagen personalizada o Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.

Marcas opcionales

Para configurar aún más tu instancia y satisfacer las necesidades de tu carga de trabajo o sistema operativo, incluye una o más de las siguientes marcas cuando ejecutes el comando gcloud compute instances create.

Función Descripción
Modelo de aprovisionamiento Establece el modelo de aprovisionamiento para la instancia. Especifica SPOT o FLEX_START. FLEX_START no es compatible con las instancias G4. Si no especificas un modelo, se usará el modelo estándar. Para obtener más información, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Estación de trabajo virtual Especifica una estación de trabajo virtual (vWS) NVIDIA RTX para cargas de trabajo de gráficos.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Reemplaza lo siguiente:

  • Para VWS_ACCELERATOR_TYPE, elige una de las siguientes opciones:
    • Para las instancias G4, especifica nvidia-rtx-pro-6000-vws.
    • Para las instancias G2, especifica nvidia-l4-vws.
  • Para VWS_ACCELERATOR_COUNT, especifica la cantidad de GPU virtuales que necesitas.
SSD local Conecta uno o más SSD locales a tu instancia. Las SSD locales se pueden usar como discos rápidos para instalación nueva o para ingresar datos a las GPU y evitar los cuellos de botella de E/S.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Para conocer la cantidad máxima de discos SSD locales que puedes conectar por instancia de VM, consulta Límites de SSD locales.
Interfaz de red Asocia varias interfaces de red a tu instancia. En el caso de las instancias g4-standard-384, puedes adjuntar hasta dos interfaces de red. Puedes usar esta marca para crear una instancia con interfaces de red dobles (2 veces 200 Gbps). Cada interfaz de red debe estar en una red de VPC única.

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

Las interfaces de red duales solo son compatibles con los tipos de máquinas g4-standard-384.

Reemplaza lo siguiente:

  • VPC_NAME: Es el nombre de tu red de VPC.
  • SUBNET_NAME: Es el nombre de la subred que forma parte de la red de VPC especificada.

REST

Realiza una solicitud POST al método instances.insert. Como las instancias con GPU no se pueden migrar en vivo, debes establecer el parámetro onHostMaintenance en TERMINATE. El siguiente comando incluye las marcas obligatorias.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
   "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks":[
      {
         "type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
         "initializeParams":{
            "diskSizeGb":"DISK_SIZE",
            "sourceImage":"SOURCE_IMAGE_URI"
         },
         "boot":true
      }
   ],
   "name":"VM_NAME",
   "networkInterfaces":[
      {
         "network":"projects/PROJECT_ID/global/networks/NETWORK"
      }
   ],
   "scheduling":{
      "onHostMaintenance":"terminate",
      "automaticRestart":true
   }
}
Reemplaza lo siguiente:
  • VM_NAME: Es el nombre de la instancia nueva.
  • PROJECT_ID: el ID de tu proyecto
  • ZONE: Es la zona de la instancia. Esta zona debe ser compatible con el modelo de GPU seleccionado.
  • MACHINE_TYPE: el tipo de máquina que seleccionaste. Elige una de las siguientes opciones:
    • Un tipo de máquina G4.
    • Un tipo de máquina G2. Los tipos de máquinas G2 también admiten memoria personalizada. La memoria debe ser un múltiplo de 1,024 MB y debe estar dentro del rango de memoria admitido. Por ejemplo, el nombre del tipo de máquina para una instancia con 4 CPU virtuales y 19 GB de memoria sería g2-custom-4-19456.
  • SOURCE_IMAGE_URI: el URI de la imagen o familia de imágenes específicas que deseas usar. Por ejemplo:
    • Imagen específica: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • Familia de imágenes: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    Cuando especificas una familia de imágenes, Compute Engine crea una instancia a partir de la imagen de SO no obsoleta más reciente de esa familia. 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.
  • DISK_SIZE: Es el tamaño de tu disco de arranque en GiB. Especifica un tamaño de disco de arranque de al menos 40 GiB.

Marcas opcionales

Para configurar aún más tu instancia y satisfacer las necesidades de tu carga de trabajo o sistema operativo, incluye una o más de las siguientes marcas cuando ejecutes el método instances.insert.

Función Descripción
Modelo de aprovisionamiento Para reducir los costos, puedes especificar un modelo de aprovisionamiento diferente agregando el campo "provisioningModel": "PROVISIONING_MODEL" al objeto scheduling en tu solicitud. Si especificas que se creen VMs Spot, se ignorarán los campos onHostMaintenance y automaticRestart. Para obtener más información, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Reemplaza PROVISIONING_MODEL por uno de los siguientes valores:

  • STANDARD: (Predeterminado) Es una instancia estándar.
  • SPOT: Una VM Spot.
  • FLEX_START: Es una VM de inicio flexible. Las VMs de inicio flexible se ejecutan durante un máximo de siete días y pueden ayudarte a adquirir recursos de alta demanda, como las GPUs, a un precio con descuento. Este modelo de aprovisionamiento no es compatible con las instancias G4.
Estación de trabajo virtual Especifica una estación de trabajo virtual (vWS) NVIDIA RTX para cargas de trabajo de gráficos.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Reemplaza lo siguiente:

  • Para VWS_ACCELERATOR_TYPE, elige una de las siguientes opciones:
    • Para las instancias G4, especifica nvidia-rtx-pro-6000-vws.
    • Para las instancias G2, especifica nvidia-l4-vws.
  • Para VWS_ACCELERATOR_COUNT, especifica la cantidad de GPU virtuales que necesitas.
SSD local Conecta uno o más SSD locales a tu instancia. Las SSD locales se pueden usar como discos rápidos para instalación nueva o para ingresar datos a las GPU y evitar los cuellos de botella de E/S.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Para conocer la cantidad máxima de discos SSD locales que puedes conectar por instancia de VM, consulta Límites de SSD locales.
Interfaz de red Asocia varias interfaces de red a tu instancia. En el caso de las instancias g4-standard-384, puedes adjuntar hasta dos interfaces de red. Esto crea una instancia con interfaces de red dobles (2 x 200 Gbps). Cada interfaz de red debe estar en una red de VPC única.

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

Las interfaces de red duales solo son compatibles con los tipos de máquinas g4-standard-384.

Reemplaza lo siguiente:

  • VPC_NAME: Es el nombre de tu red de VPC.
  • SUBNET_NAME: Es el nombre de la subred que forma parte de la red de VPC especificada.

Instalar controladores

Después de crear la instancia, debes instalar un controlador para que pueda usar la GPU. El controlador que debes instalar depende de si habilitaste una estación de trabajo virtual (vWS) NVIDIA RTX para cargas de trabajo de gráficos cuando creaste la instancia.

Modo de GPU de varias instancias (opcional, solo para G4)

El modo de GPU de múltiples instancias (MIG) es una función que puedes habilitar en una GPU de NVIDIA compatible.

Después de crear una instancia G4, puedes habilitar el modo de GPU de varias instancias (MIG) en una sola GPU NVIDIA RTX PRO 6000 conectada a tu máquina. Con el modo MIG habilitado, la GPU única se particiona en hasta siete instancias de GPU independientes. Cada instancia se ejecuta de forma simultánea, cada una con su propia memoria, caché y multiprocesadores de transmisión. Luego, puedes ejecutar diferentes cargas de trabajo en estas instancias de GPU de forma paralela.

Para obtener más información sobre el uso de GPU de varias instancias, consulta Getting Started with MIG en la documentación de NVIDIA.

Próximos pasos