Crea un MIG optimizado para IA con el tipo de máquina A3 High o A3 Mega

En este documento, se describe cómo crear un grupo de instancias administrado (MIG) que use un tipo de máquina optimizado para aceleradores A3 High o A3 Mega. Para obtener más información sobre los tipos de máquinas, consulta A3 High y A3 Mega en la documentación de Compute Engine.

Crear un MIG te permite administrar varias máquinas virtuales (VMs) como una sola entidad. Cada VM en un MIG se basa en una plantilla de instancias. Al administrar automáticamente las VMs del grupo, los MIG ofrecen alta disponibilidad y escalabilidad. Para obtener más información sobre los MIG, consulta Grupos de instancias administrados en la documentación de Compute Engine.

Para obtener información sobre las opciones de creación de VM y clústeres, consulta la página de Descripción general de la creación de VMs y clústeres.

Limitaciones

Según la serie de máquinas que usan las VMs de tu MIG, se aplican las siguientes limitaciones:

A3 Mega

  • 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 Mega.
  • Solo puedes usar un tipo de máquina A3 Mega en ciertas regiones y zonas.
  • No puedes usar un Persistent Disk regional en una instancia que usa un tipo de máquina A3 Mega.
  • El tipo de máquina A3 Mega solo está disponible en la plataforma de CPU Sapphire Rapids.
  • No se admiten los cambios de tipo de máquina para el tipo de máquina Mega A3. 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 Mega.

A3 High

Antes de comenzar

Antes de crear un MIG, 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.

Roles obligatorios

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

Permisos necesarios

Se requieren los siguientes permisos para crear un MIG:

  • Para crear un MIG, haz lo siguiente: compute.instanceGroupManagers.create en el proyecto

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

Descripción general

La creación de un MIG con el tipo de máquina A3 Mega o A3 High (8 GPUs) incluye los siguientes pasos:

  1. Crea redes de VPC
  2. Opcional: Crea una política de cargas de trabajo
  3. Crea una plantilla de instancias
  4. Crea un MIG

Crea redes de VPC

Para habilitar la comunicación eficiente de tus VMs con GPU, debes crear una red de administración y una o más redes de datos. La red de administración se usa para el acceso externo, por ejemplo, SSH, y para la mayoría de las comunicaciones de red generales. Las redes de datos se usan para la comunicación de alto rendimiento entre las GPUs de diferentes VMs, por ejemplo, para el tráfico de acceso directo a la memoria remoto (RDMA).

Para estas redes de VPC, te recomendamos que establezcas la unidad de transmisión máxima (MTU) en un valor mayor. Los valores de MTU más altos aumentan el tamaño del paquete y reducen la sobrecarga del encabezado del paquete, lo que aumenta la capacidad de procesamiento de los datos de carga útil. Para obtener más información sobre cómo crear redes de VPC, consulta Crea y verifica una red MTU de marcos jumbo.

Crea una red de administración, subred y regla de firewall

Completa los siguientes pasos para configurar la red de administración:

  1. Crea la red de administración con el comando networks create:

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. Crea la subred de administración con el comando networks subnets create:

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. Crea reglas de firewall con el comando firewall-rules create.

    1. Crea una regla de firewall para la red de administración.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. Crea la regla de firewall tcp:22 para limitar las direcciones IP de origen que pueden conectarse a la VM mediante SSH.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. Crea la regla de firewall icmp que se puede usar para verificar si hay problemas de transmisión de datos en la red.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

Reemplaza lo siguiente:

  • NETWORK_NAME_PREFIX: Es el prefijo del nombre que se usará para las subredes y las redes de VPC.
  • PROJECT_ID: El ID de tu proyecto
  • REGION: Es la región en la que deseas crear las redes.
  • SSH_SOURCE_IP_RANGE: el rango de IP en formato CIDR. Esto especifica qué direcciones IP de origen pueden conectarse a tu VM mediante SSH.

Crea redes de datos, subredes y reglas de firewall

La cantidad de redes de datos varía según el tipo de máquina con GPU que crees.

A3 Mega

A3 Mega requiere ocho redes de datos. Para crear ocho redes de datos, cada una con subredes y reglas de firewall, usa el siguiente comando.

for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

A3 High

A3 High requiere cuatro redes de datos. Usa el siguiente comando para crear cuatro redes de datos, cada una con subredes y reglas de firewall.

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

Opcional: Crea una política de cargas de trabajo

Para la opción de consumo Flex-start, omite esta sección y continúa con crear una plantilla de instancias. Debido a limitaciones, el modelo de aprovisionamiento de inicio flexible no admite políticas de carga de trabajo.

Puedes especificar la posición de la VM creando una política de cargas de trabajo. Si ya tienes una política de cargas de trabajo, puedes volver a usarla. Cuando aplicas una política de carga de trabajo a tu MIG, 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 maxTopologyDistance cuando crees una política de carga de trabajo.

No puedes actualizar una política de carga de trabajo después de crearla. Para realizar cambios en una política de cargas de trabajo, debes crear una nueva.

Para crear una política de cargas de trabajo, selecciona una de las siguientes opciones:

gcloud

Para crear una política de cargas de trabajo, usa el comando gcloud compute resource-policies create workload-policy.

  • Para una colocación de mejor esfuerzo de las VMs, especifica solo la marca --type=high-throughput en el comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Para la colocación estricta de VMs, especifica la marca --max-topology-distance en el comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

Reemplaza lo siguiente:

  • WORKLOAD_POLICY_NAME: Es el nombre de la política de carga de trabajo.
  • TOPOLOGY_DISTANCE: Es la distancia máxima de la topología. Especifica uno de los siguientes valores:
    • Para colocar VMs en el mismo clúster, haz lo siguiente: CLUSTER
    • Para colocar las VMs en el mismo bloque, haz lo siguiente: BLOCK
    • Para colocar las VMs en el mismo subbloque, haz lo siguiente: SUBBLOCK
    Nota: Una distancia máxima más corta puede reducir la probabilidad de disponibilidad de la VM.
  • REGION: Es la región en la que deseas crear la política de cargas de trabajo. Especifica una región en la que deseas crear el MIG y el tipo de máquina que deseas usar está disponible. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.

REST

Para crear una política de cargas de trabajo, realiza una solicitud POST al método resourcePolicies.insert.

  • Para una colocación de mejor esfuerzo de las VMs, especifica solo el campo type en la solicitud de la siguiente manera:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • Para la colocación estricta de VMs, especifica el campo maxTopologyDistance en la solicitud de la siguiente manera:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto.
  • REGION: Es la región en la que deseas crear la política de cargas de trabajo. Especifica una región en la que deseas crear el MIG y el tipo de máquina que deseas usar está disponible. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
  • WORKLOAD_POLICY_NAME: Es el nombre de la política de carga de trabajo.
  • TOPOLOGY_DISTANCE: Es la distancia máxima de la topología. Especifica uno de los siguientes valores:
    • Para colocar las VMs en el mismo bloque, haz lo siguiente: BLOCK
    • Para colocar VMs en el mismo clúster, haz lo siguiente: CLUSTER
    Nota: Una distancia máxima más corta puede reducir la probabilidad de disponibilidad de la VM.

Crea una plantilla de instancias

Especifica las propiedades de la VM para un MIG creando una plantilla de instancias.

Para crear una plantilla de instancias, selecciona una de las siguientes opciones.

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.

A3 Mega

Para crear una plantilla de instancias para las VMs A3 Mega, debes especificar ocho interfaces de red adicionales para el tráfico de GPUDirect-TCPXO. Si aún no lo hiciste, asegúrate de haber creado ocho redes de VPC como se describe en Crea redes de VPC.

gcloud

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.

Inicio flexible

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • RUN_DURATION: Es la duración de la que deseas que se ejecuten las VMs solicitadas. Debes darle formato al valor como la cantidad de días, horas, minutos o segundos, seguidos de d, h, m y s, respectivamente. Por ejemplo, especifica 30m para 30 minutos o 1d2h3m4s para un día, dos horas, tres minutos y cuatro segundos. El valor debe ser de entre 10 minutos y siete días.

Con reserva

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • 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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

REST

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.

Inicio flexible

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • RUN_DURATION: Es la duración, en segundos, por la que deseas que se ejecuten las VMs solicitadas. El valor debe estar entre 600, que es 600 segundos (10 minutos), y 604800, que es 604,800 segundos (siete días).

Con reserva

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • 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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

A3 High

Para crear una plantilla de instancias para las VMs A3 High, debes especificar cuatro interfaces de red adicionales para el tráfico de GPUDirect-TCPX. Si aún no lo hiciste, asegúrate de haber creado cuatro redes de VPC como se describe en Crea redes de VPC.

gcloud

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.

Inicio flexible

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • RUN_DURATION: Es la duración de la que deseas que se ejecuten las VMs solicitadas. Debes darle formato al valor como la cantidad de días, horas, minutos o segundos, seguidos de d, h, m y s, respectivamente. Por ejemplo, especifica 30m para 30 minutos o 1d2h3m4s para un día, dos horas, tres minutos y cuatro segundos. El valor debe ser de entre 10 minutos y siete días.

Con reserva

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • 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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • 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.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

REST

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.

Inicio flexible

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • RUN_DURATION: Es la duración, en segundos, por la que deseas que se ejecuten las VMs solicitadas. El valor debe estar entre 600, que es 600 segundos (10 minutos), y 604800, que es 604,800 segundos (siete días).

Con reserva

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • 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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • 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: Es la región en la que deseas crear la plantilla de instancias. 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • 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.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

Después de crear la plantilla de instancias, puedes verla para consultar su ID y revisar sus propiedades.

Crear un MIG

Después de completar todos los pasos anteriores, crea un MIG según tu situación de la siguiente manera:

Situación Método para crear un MIG y VMs en él Ejemplo
Tienes varios trabajos paralelos que pueden comenzar con cualquier cantidad de VMs. Crea un MIG y usa el tamaño objetivo para especificar la cantidad de VMs que deseas incluir en el grupo.

Consulta Crea un MIG con un tamaño objetivo.

Trabajos de inferencia de AA
Tienes un trabajo que requiere distribución en una cantidad exacta de VMs. Crea un MIG sin VMs y, luego, crea una solicitud de cambio de tamaño en el MIG. La solicitud de cambio de tamaño te ayuda a obtener VMs de una sola vez.

Consulta Crea un MIG y una solicitud de cambio de tamaño.

Trabajos de entrenamiento y ajuste de AA distribuidos

Crea un MIG con un tamaño objetivo

Si puedes iniciar tu trabajo sin crear todas las VMs a la vez, crea un MIG con un tamaño objetivo. El tamaño objetivo determina la cantidad de VMs en el MIG. El MIG comienza a crear VMs según la disponibilidad actual de recursos. Si algún recurso no está disponible temporalmente, el MIG intenta crear VMs de forma continua para alcanzar el tamaño objetivo.

Para crear un MIG con un tamaño objetivo, selecciona una de las siguientes opciones:

gcloud

Para crear un MIG con un tamaño de destino especificado, usa el comando instance-groups managed create.

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional de la siguiente manera:

  • Para crear un MIG zonal, usa el siguiente comando:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Para crear un MIG regional, usa el siguiente comando:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Reemplaza lo siguiente:
  • MIG_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: Es la cantidad de VMs que deseas en el MIG.
  • WORKLOAD_POLICY_URL: Opcional: Es la URL de la política de cargas de trabajo. Por ejemplo, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si no quieres usar una política de cargas de trabajo, puedes quitar la marca --workload-policy.
  • ZONE: Es la zona en la que deseas crear el MIG. Si usas una política de cargas de trabajo, especifica una zona dentro de la región de la política.
  • REGION: la región en la que deseas crear el MIG. Si usas una política de carga de trabajo, especifica la misma región que la de la política. En el caso de un MIG regional, en lugar de una región, puedes especificar las zonas de esa región con la marca --zones.

REST

Para crear un MIG con un tamaño objetivo especificado, realiza una solicitud POST.

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no deseas usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional de la siguiente manera:

  • Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Para crear un MIG regional, realiza una solicitud POST al método regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Reemplaza lo siguiente:
  • PROJECT_ID: Es el ID del proyecto.
  • ZONE: Es la zona en la que deseas crear el MIG. Si usas una política de cargas de trabajo, especifica una zona dentro de la región de la política.
  • REGION: la región en la que deseas crear el MIG. Si usas una política de carga de trabajo, especifica la misma región que la de la política.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • MIG_NAME: Es el nombre del MIG.
  • TARGET_SIZE: Es la cantidad de VMs que deseas que haya en el MIG.
  • WORKLOAD_POLICY_URL: Opcional: Es la URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de cargas de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG y una solicitud de cambio de tamaño

Si necesitas varias VMs de una sola vez para iniciar un trabajo, crea un MIG y una solicitud de cambio de tamaño en el MIG como se describe en esta sección.

Para crear una solicitud de cambio de tamaño en un MIG, selecciona una de las siguientes opciones.

gcloud

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.

Inicio flexible

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Con reserva

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
Reemplaza lo siguiente:
  • MIG_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL: Opcional: URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.
  • ZONE: Es la zona en la que deseas crear el MIG. En el caso de un MIG regional, también debes especificar una zona. Esta zona debe ser la que contiene el perfil de tu red de VPC y debe ser una zona en la que el tipo de máquina esté disponible. Para obtener más información, consulta Limitaciones.
  • RESIZE_REQUEST_NAME: El nombre de la solicitud de cambio de tamaño, que debe ser único dentro del MIG especificado. De lo contrario, la creación de la solicitud de cambio de tamaño fallará.
  • COUNT: Es la cantidad de VMs que se agregarán al MIG a la vez.
  • REGION: Es la región en la que se encuentra el MIG.

Si tu carga de trabajo requiere nombres de VM específicos, puedes especificar una lista de nombres de VMs para crear con el comando beta instance-groups managed resize-requests create. En el comando, reemplaza la marca --resize-request por la --instances.

REST

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.

Inicio flexible

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Para crear una solicitud de cambio de tamaño en el MIG zonal, realiza una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Con reserva

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no deseas usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Para crear una solicitud de cambio de tamaño en el MIG zonal, realiza una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no deseas usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Para crear una solicitud de cambio de tamaño en el MIG zonal, realiza una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Reemplaza lo siguiente:
  • PROJECT_ID: Es el ID del proyecto.
  • ZONE: Es la zona en la que deseas crear el MIG. En el caso de un MIG regional, también debes especificar una zona. Esta zona debe ser la que contiene el perfil de tu red de VPC y debe ser una zona en la que el tipo de máquina esté disponible. Para obtener más información, consulta Limitaciones.
  • REGION: la región en la que deseas crear el MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:
    • Para una plantilla de instancias regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Para una plantilla de instancias global: INSTANCE_TEMPLATE_ID
  • MIG_NAME: Es el nombre del MIG.
  • WORKLOAD_POLICY_URL: Opcional: URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.
  • RESIZE_REQUEST_NAME: El nombre de la solicitud de cambio de tamaño, que debe ser único dentro del MIG especificado. De lo contrario, la creación de la solicitud de cambio de tamaño fallará.
  • COUNT: Cantidad de VMs que se agregarán al MIG a la vez

Si tu carga de trabajo requiere nombres de VM específicos, puedes especificar una lista de nombres de las VMs que se crearán. Para ello, envía una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert para un MIG regional o al método beta.instanceGroupManagerResizeRequests.insert para un MIG zonal. En el cuerpo de la solicitud, reemplaza el campo resizeBy por el campo instanceNames.

Próximos pasos