Crear una instancia G2 o G4

En este documento se explica cómo crear una instancia de máquina virtual (VM) que utilice un tipo de máquina de las series de máquinas G2 o G4. Estos tipos de máquinas optimizadas para aceleradores de la serie G son adecuados para ejecutar aplicaciones que requieran muchos gráficos y para realizar inferencias de aprendizaje automático (ML) de forma rentable.

Puedes crear estas VMs como VMs bajo demanda. Para reducir los costes, también puedes crear máquinas virtuales de acceso puntual G2 y G4, o bien máquinas virtuales G2 de inicio flexible. Para obtener más información sobre cómo crear máquinas virtuales con GPUs vinculadas, consulta el artículo sobre cómo crear una instancia con GPUs vinculadas.

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

Antes de empezar

  • Para consultar las limitaciones y los pasos previos adicionales para crear instancias con GPUs conectadas, como seleccionar una imagen de SO y comprobar la cuota de GPUs, consulta el artículo sobre cómo crear 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 VMs, 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 acceso a proyectos, carpetas y organizaciones.

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

Permisos obligatorios

Se necesitan los siguientes permisos para crear VMs:

  • 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 especificar una subred para tu VM, haz lo siguiente: compute.subnetworks.use en el proyecto o en la subred elegida
  • 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 de VPC, sigue estos pasos: compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
  • Para asignar una red antigua a la VM, sigue estos pasos: compute.networks.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 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: compute.disks.useReadOnly en el disco

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

Crear una instancia con GPUs conectadas

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

Consola

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

    Ir a Crear una instancia

  2. En el campo Nombre, introduce un nombre único para la instancia. Consulta las convenciones para asignar 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áquina, selecciona GPUs.

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

      • En las instancias G2, selecciona NVIDIA L4.
      • En las instancias G4, selecciona NVIDIA RTX PRO 6000.
    2. En la lista Número de GPUs, selecciona el número de GPUs.

      • En el caso de las instancias G4, la consola selecciona automáticamente el tipo de máquina correspondiente en función del número de GPUs seleccionado.
      • En el caso de las instancias G2, consulta lo siguiente:

        • Si seleccionas una GPU, puedes elegir entre un conjunto de tipos de máquinas con cantidades predefinidas de vCPUs 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 en función del número de GPUs seleccionadas.

        En las instancias G2, también puede especificar tipos de máquina personalizados. Para especificar el número de vCPUs y la cantidad de memoria de la instancia, arrastra los controles deslizantes o introduce los valores en los cuadros de texto. La consola muestra un coste estimado de la instancia a medida que cambias el número de vCPUs 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 gráficas. Si tienes previsto ejecutar cargas de trabajo que utilizan un gran número de gráficos 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 Sistema operativo 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 Imágenes de máquina virtual de aprendizaje profundo.
      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: añade SSDs locales. Los SSD locales se pueden usar como discos de trabajo rápidos o para introducir datos en las GPUs, lo que evita los cuellos de botella de E/S. Para añadir SSD locales a tu instancia, haz lo siguiente:

    1. En la sección Sistema operativo y almacenamiento, haz clic en Añadir SSD local.
    2. En Interfaz, selecciona NVMe.
    3. En Capacidad del disco, selecciona el número de SSDs locales que quieras adjuntar. Para consultar el número máximo de discos SSD locales por instancia, consulta los límites de series de máquinas para SSD local.
  7. Opcional: Para conseguir un mayor ancho de banda de red en 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 de 200 Gbps). En la sección Redes, sigue estos pasos:

    1. Expande la interfaz de red predeterminada.
    2. Especifica la red y la subred de tu primera interfaz.
    3. En Tarjeta de interfaz de red, selecciona gVNIC.
    4. Haz clic en Añadir interfaz de red para añadir la segunda interfaz. Configure la segunda interfaz de red de la siguiente manera:

      1. Selecciona otra red y subred de VPC. 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 costes. En la sección Opciones avanzadas, en Modelo de aprovisionamiento de VMs, selecciona una de las siguientes opciones:

    • (Solo 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 de inicio flexible.

    • Spot: para cargas de trabajo tolerantes a fallos que se pueden anular. Para obtener más información, consulta VMs de acceso puntual.

  9. Opcional: En la lista Al finalizar la VM, selecciona qué ocurre cuando Compute Engine expulsa las VMs de Spot o cuando las VMs de inicio flexible alcanzan el final de su duración:

    • Para detener la VM durante la expropiación, selecciona Detener (opción predeterminada).
    • Para eliminar la VM durante la expropiación, selecciona Eliminar.
  10. Para crear e iniciar la VM, haz clic en Crear.

gcloud

Para crear e 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
Sustituye lo siguiente:
  • VM_NAME: el nombre de la nueva instancia.
  • MACHINE_TYPE : el tipo de máquina que has seleccionado. 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 1024 MB y estar dentro del intervalo de memoria admitido. Por ejemplo, para crear una instancia con 4 vCPUs y 19 GB de memoria, especifica --machine-type=g2-custom-4-19456.
  • ZONE: la zona de la instancia. Esta zona debe admitir el modelo de GPU que has seleccionado.
  • DISK_SIZE: 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 de sistema operativo que admita GPUs. Si quieres usar la imagen más reciente de una familia de imágenes, sustituye la marca --image por la marca --image-family y asigna a esta última el valor de una familia de imágenes que admita GPUs. Por ejemplo: --image-family=rocky-linux-8-optimized-gcp.
    También puedes especificar una imagen personalizada o imágenes de máquina virtual de aprendizaje profundo.
  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la imagen del SO. Si usas una imagen personalizada o una imagen de máquina virtual de aprendizaje profundo, especifica el proyecto al que pertenecen esas imágenes.

Marcas opcionales

Para configurar aún más tu instancia y adaptarla a tus cargas de trabajo o a tu sistema operativo, incluye una o varias de las siguientes marcas al ejecutar el comando gcloud compute instances create.

Función Descripción
Modelo de aprovisionamiento Define el modelo de aprovisionamiento de la instancia. Especifica SPOT o FLEX_START. FLEX_START no es compatible con las instancias G4. Si no especifica ningún modelo, se usará el 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

Haz los cambios siguientes:

  • En el caso de VWS_ACCELERATOR_TYPE, elija una de las siguientes opciones:
    • En el caso de las instancias G4, especifica nvidia-rtx-pro-6000-vws.
    • En las instancias G2, especifica nvidia-l4-vws.
  • En VWS_ACCELERATOR_COUNT, especifica el número de GPUs virtuales que necesitas.
SSD local Monta una o varias SSDs locales en tu instancia. Los SSD locales se pueden usar como discos de trabajo rápidos o para introducir datos en las GPUs y, al mismo tiempo, evitar cuellos de botella de E/S.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Para consultar el número máximo de discos SSD locales que puedes conectar por instancia de VM, consulta Límites de SSD local.
Interfaz de red Asigna 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 duales (2x 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 se admiten en los tipos de máquina g4-standard-384.

Haz los cambios siguientes:

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

REST

Envía una solicitud POST al método instances.insert. Como las instancias con GPUs no se pueden migrar en directo, debes asignar el valor TERMINATE al parámetro onHostMaintenance. 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
   }
}
Sustituye lo siguiente:
  • VM_NAME: el nombre de la nueva instancia.
  • PROJECT_ID: tu ID de proyecto.
  • ZONE: la zona de la instancia. Esta zona debe ser compatible con el modelo de GPU que has seleccionado.
  • MACHINE_TYPE : el tipo de máquina que has seleccionado. 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 1024 MB y estar dentro del intervalo de memoria admitido. Por ejemplo, el nombre del tipo de máquina de una instancia con 4 vCPUs 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 quieras 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 más reciente y no obsoleta de esa familia. Para obtener más información sobre cuándo usar familias de imágenes, consulta las prácticas recomendadas para familias de imágenes.
  • DISK_SIZE: 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 de forma que se adapte a tus necesidades de carga de trabajo o sistema operativo, incluye una o varias de las siguientes marcas al ejecutar el método instances.insert.

Función Descripción
Modelo de aprovisionamiento Para reducir los costes, puede especificar otro modelo de aprovisionamiento añadiendo el campo "provisioningModel": "PROVISIONING_MODEL" al objeto scheduling de su solicitud. Si especificas que se creen VMs de acceso puntual, 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"
     }
  

Sustituye PROVISIONING_MODEL por una de las siguientes opciones:

  • STANDARD (predeterminada): una instancia estándar.
  • SPOT: una VM de acceso puntual.
  • FLEX_START: 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 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"
       }
     ]
    

Haz los cambios siguientes:

  • En el caso de VWS_ACCELERATOR_TYPE, elija una de las siguientes opciones:
    • En el caso de las instancias G4, especifica nvidia-rtx-pro-6000-vws.
    • En las instancias G2, especifica nvidia-l4-vws.
  • En VWS_ACCELERATOR_COUNT, especifica el número de GPUs virtuales que necesitas.
SSD local Monta una o varias SSDs locales en tu instancia. Los SSD locales se pueden usar como discos de trabajo rápidos o para introducir datos en las GPUs y, al mismo tiempo, evitar cuellos de botella de E/S.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Para consultar el número máximo de discos SSD locales que puedes conectar por instancia de VM, consulta Límites de SSD local.
Interfaz de red Asigna varias interfaces de red a tu instancia. En el caso de las instancias g4-standard-384, puedes adjuntar hasta dos interfaces de red. De esta forma, se crea una instancia con dos interfaces de red (2 de 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 se admiten en los tipos de máquina g4-standard-384.

Haz los cambios siguientes:

  • VPC_NAME: el nombre de tu red de VPC.
  • SUBNET_NAME: 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 poder usar la GPU. El controlador que debes instalar depende de si has habilitado una estación de trabajo virtual (vWS) NVIDIA RTX para cargas de trabajo de gráficos al crear la instancia.

(Opcional) Modo de GPU con varias instancias (solo G4)

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

Después de crear una instancia G4, puedes habilitar el modo de GPU con varias instancias (MIG) en una sola GPU NVIDIA RTX PRO 6000 conectada a tu máquina. Con el modo MIG habilitado, la GPU se particiona en hasta siete instancias de GPU independientes. Cada instancia se ejecuta simultáneamente y tiene su propia memoria, caché y multiprocesadores de streaming. Después, puedes ejecutar diferentes cargas de trabajo en estas instancias de GPU en paralelo.

Para obtener más información sobre el uso de GPUs multiinstancia, consulta el artículo Introducción a MIG de la documentación de NVIDIA.

Siguientes pasos