Crea un MIG con tipos de máquinas H4D y flex-start

En este instructivo, se muestra cómo crear un grupo de instancias administrado (MIG) que usa un tipo de máquina H4D. El MIG crea VMs de inicio flexible, que son instancias de máquinas virtuales (VM) que se ejecutan durante un máximo de siete días a un precio con descuento. Cuando se crean de esta manera, Compute Engine coloca las VMs muy cerca para minimizar la latencia de la red, lo que las hace ideales para ejecutar cargas de trabajo de HPC.

Crear un MIG te permite administrar varias 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.

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

Este instructivo está dirigido a ingenieros de HPC, administradores y operadores de plataformas, y especialistas en datos y MPI que deseen crear un grupo de instancias de HPC interconectadas para cargas de trabajo de corta duración. Las instancias resultantes no usan un organizador para la administración de instancias ni la programación de trabajos.

Objetivos

  1. Opcional: Solicita cuota interrumpible.
  2. Opcional: Crea redes de nube privada virtual.
  3. Opcional: Crea una política de cargas de trabajo.
  4. Crea una plantilla de instancias.
  5. Crea un MIG y una solicitud de cambio de tamaño.
  6. Realizar una limpieza

Costos

En este instructivo, se usan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. Instala Google Cloud CLI.

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

  4. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  5. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (roles/resourcemanager.projectCreator), que contiene el permiso resourcemanager.projects.create. Obtén más información para otorgar roles.
    • Crea un proyecto de Google Cloud :

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el proyecto Google Cloud que estás creando.

    • Selecciona el proyecto Google Cloud que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto.

  6. Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .

  7. Habilita la API necesaria:

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

    gcloud services enable compute.googleapis.com
  8. Instala Google Cloud CLI.

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

  10. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  11. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (roles/resourcemanager.projectCreator), que contiene el permiso resourcemanager.projects.create. Obtén más información para otorgar roles.
    • Crea un proyecto de Google Cloud :

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el proyecto Google Cloud que estás creando.

    • Selecciona el proyecto Google Cloud que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto.

  12. Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .

  13. Habilita la API necesaria:

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

    gcloud services enable compute.googleapis.com
  14. Otorga roles a tu cuenta de usuario. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM: roles/compute.instanceAdmin.v1,roles/compute.networkAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Reemplaza lo siguiente:

    • PROJECT_ID: ID del proyecto
    • USER_IDENTIFIER: Es el identificador de tu cuenta de usuario de . Por ejemplo, myemail@example.com.
    • ROLE: Es el rol de IAM que otorgas a tu cuenta de usuario.

Opcional: Solicita cuota interrumpible

Las instancias de VM agregadas al MIG consumen cuota regional. Cualquier instancia de VM en la región puede consumir cuotas de instancia de VM, grupo de instancias, CPU y disco, independientemente de la zona.

La cuota puede ser estándar o de recursos interrumpibles cuando se usa el inicio flexible.

  • Cuota estándar: Si tu proyecto no tiene una cuota interrumpible y nunca solicitaste una, los recursos de la instancia consumen la cuota estándar.
  • Cuota interrumpible: Solicitar cuotas interrumpibles puede ayudarte a mejorar la disponibilidad de la cuota, ya que proporciona cuotas separadas para los recursos temporales. Sin embargo, después de que Compute Engine te asigne una cuota de recursos interrumpibles en una región, todos los recursos aplicables consumirán solo la cuota de recursos interrumpibles. Si se agota esta cuota, debes solicitar una cuota interrumpible adicional para los recursos de la VM.

Puedes solicitar cuotas interrumpibles siguiendo los pasos que se indican en Solicita un ajuste de cuota.

Tipos de cuota necesarios

Para usar grupos de instancias, debes tener cuota disponible para todos los recursos que usará el grupo (por ejemplo, cuota de CPU) y cuota disponible para el recurso de grupo. En el caso de las instancias H4D, se pueden usar los siguientes tipos de cuota, según el tipo de máquina que usen las instancias:

Recurso Cuota estándar Cuota de recursos interrumpibles
CPU CPUS_PER_VM_FAMILY Preemptible CPUs
SSD locales Local SSD per machine family (GB) Preemptible Local SSDs (GB)

Para crear los recursos en este instructivo, es posible que se requiera la siguiente cuota regional adicional:

  • Grupo de instancias administrado zonal (zona única): Instance group managers y Instance groups
  • Google Cloud Hyperdisk:

    • Hyperdisk Balanced Capacity (GB)
    • Hyperdisk Balanced Throughput (MB/s)
    • Hyperdisk Balanced IOPS

Opcional: Crea redes de VPC

A menos que decidas inhabilitarla, cada proyecto tiene una red predeterminada, que se puede usar para proporcionar conectividad de red a tus instancias. Cuando creas una VM, puedes especificar una red y una subred de VPC. Si omites esta configuración, se usarán la red y la subred predeterminadas.

Las instancias de H4D se pueden configurar para usar Cloud RDMA. El RDMA de Cloud habilita capacidades de mensajería confiables y de baja latencia con un controlador de red de IRDMA que admite el acceso directo a la memoria remoto (RDMA) entre instancias de Compute Engine.

En este instructivo, haz lo siguiente:

  • Si deseas configurar las instancias H4D para que usen Cloud RDMA, completa los pasos que se indican en esta sección.
  • Si no quieres usar Cloud RDMA, puedes omitir esta sección y usar la red predeterminada.

Para configurar las redes de VPC de Falcon para usarlas con tus instancias, puedes seguir las instrucciones documentadas o usar la secuencia de comandos proporcionada.

Guías de instrucciones

Para crear las redes, puedes usar las siguientes instrucciones:

Secuencia de comandos

Puedes crear hasta nueve interfaces de red gVNIC y una interfaz de red IRDMA por instancia. Cada interfaz de red debe adjuntarse a una red independiente. Para crear las redes, puedes usar la siguiente secuencia de comandos, que crea dos redes para gVNIC y una para IRDMA.

  1. Opcional: Antes de ejecutar la secuencia de comandos, enumera los perfiles de red de VPC de Falcon para verificar que haya uno disponible.
      gcloud compute network-profiles list
      
  2. Copia el siguiente código y ejecútalo en una ventana de shell de Linux.

      #!/bin/bash
      # Set the number of GVNIC interfaces to create. You can create up to 9.
      NUM_GVNIC=NUMBER_OF_GVNIC
    
      # Create regular VPC networks and subnets for the GVNIC interfaces
        for N in $(seq 0 $(($NUM_GVNIC - 1))); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
              --subnet-mode=custom
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --region=REGION \
              --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --action=ALLOW \
              --rules=tcp:0-65535,udp:0-65535,icmp \
              --source-ranges=10.0.0.0/8
      done
    
      # Create SSH firewall rules
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
      # Optional: Create a firewall rule for the external IP address for the
      #  first GVNIC network interface
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      # Create a Falcon VPC network for the Cloud RDMA network interface
      gcloud compute networks create RDMA_NAME_PREFIX-irdma \
          --network-profile=ZONE-vpc-falcon \
          --subnet-mode custom
    
      # Create a subnet in the Falcon VPC network
      gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
          --network=RDMA_NAME_PREFIX-irdma \
          --region=REGION \
          --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
      

    Reemplaza lo siguiente:

    • NUMBER_OF_GVNIC: Es la cantidad de interfaces de gVNIC que se crearán. Especifica un número del 1 al 9.
    • GVNIC_NAME_PREFIX: Es el prefijo del nombre que se usará para la subred y la red de VPC normales que usan un tipo de NIC de GVNIC.
    • REGION: Es la región en la que deseas crear las redes. Debe corresponder a la zona especificada para la marca --network-profile cuando se crea la red de VPC de Falcon. Por ejemplo, si especificas la zona como europe-west4-b, tu región será europe-west4.
    • IP_RANGE: Es el rango de direcciones IP fuera de la red de VPC que se usará para las reglas de firewall de SSH. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6. No uses 0.0.0.0/0 ni ::/0 como rango de origen, ya que esto permite el tráfico desde todas las fuentes IPv4 o IPv6, incluidas las fuentes fuera de Google Cloud.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que se usará para la red de VPC y la subred que usa el tipo de NIC de IRDMA.
    • ZONE: La zona en la que deseas crear las redes y las instancias de procesamiento. Usa us-central1-a o europe-west4-b.
  3. Opcional: Para verificar que los recursos de la red de VPC se hayan creado correctamente, consulta la configuración de la red en la consola de Google Cloud :

    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a las redes de VPC

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

Opcional: Crea una política de cargas de trabajo

Si deseas que Compute Engine coloque instancias de VM en un solo bloque o en bloques adyacentes, especifica la posición de la instancia creando una política de cargas de trabajo. Sin embargo, si deseas que Compute Engine coloque tus instancias en un bloque específico, omite este paso y proporciona el nombre del bloque en la afinidad de la reserva cuando crees la plantilla de instancias.

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 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 las marcas --max-topology-distance y --type=high-throughput 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 las VMs en el mismo subbloque, haz lo siguiente: SUBBLOCK
    • 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. Para obtener más información, consulta la propiedad Distancia máxima de la topología.
  • REGION: Es la región en la que deseas crear la política de cargas de trabajo. Especifica una región en la que quieras crear el MIG y el tipo de máquina que quieras usar esté disponible. Para obtener información sobre las regiones y las zonas, consulta Regiones y zonas disponibles.

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 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 los campos maxTopologyDistance y 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",
          "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 y las zonas, consulta Regiones y zonas disponibles.
  • 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 subbloque, haz lo siguiente: SUBBLOCK
    • Para colocar las VMs en el mismo bloque, haz lo siguiente: BLOCK
    • Para colocar las 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. Para obtener más información, consulta la propiedad Distancia máxima de topología.

Crea una plantilla de instancias

Para usar la opción de consumo de inicio flexible, crea un MIG vacío y, luego, crea una solicitud de cambio de tamaño para el MIG. Cuando la capacidad solicitada esté disponible, Compute Engine la aprovisionará y creará las instancias en el MIG. Obtienes recursos por hasta siete días.

Para especificar las propiedades de instancia y consumo de cada instancia del MIG, crea una plantilla de instancias con uno de los siguientes métodos:

gcloud

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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,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 H4D que se usará para la instancia.
  • 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.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • STACK_TYPE: Es el tipo de pila que se usará para la interfaz de gVNIC (opcional). Especifica IPV4_ONLY o IPV4_IPV6. Si no especificas un valor, se usa IPV4_ONLY de forma predeterminada.
  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad. Realiza una de las siguientes acciones:

    • Especifica una dirección IPv4 válida de la subred.
    • Usa la marca no-address si no deseas que la interfaz de red tenga una dirección IP externa.
    • Especifica address='' si deseas que la interfaz de red reciba una dirección IP externa efímera.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • RUN_DURATION: Es la duración de la que deseas que se ejecuten las instancias 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.

REST

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":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "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 instancia. Especifica un tipo de máquina H4D. Para obtener más información, consulta Tipos de máquinas H4D.
  • 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 Regiones y zonas.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • RUN_DURATION: Es la duración, en segundos, por la que deseas que se ejecuten las instancias solicitadas. El valor debe estar entre 600, que es 600 segundos (10 minutos), y 604800, que es 604,800 segundos (siete días).

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

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

Para crear todas las instancias de Flex-start solicitadas al mismo tiempo, crea un MIG y, luego, crea una solicitud de cambio de tamaño en el MIG como se describe en esta sección.

Crea el MIG

Para crear el MIG, selecciona una de las siguientes opciones:

gcloud

Crea un MIG zonal o regional de la siguiente manera:

  • Para crear un MIG zonal, usa 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 \
            --workload-policy=WORKLOAD_POLICY_URL \
            --zone=ZONE
        
  • Para crear un MIG regional, usa 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
        

Si deseas aplicar una política de carga de trabajo a tu MIG, incluye la marca --workload-policy en el comando.

REST

Crea un MIG zonal o regional de la siguiente manera:

  • 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"
            },
            "resourcePolicies": {
              "workloadPolicy": "WORKLOAD_POLICY_URL"
            }
          }
         
  • Para crear un MIG regional, realiza 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"
            },
            "resourcePolicies": {
              "workloadPolicy": "WORKLOAD_POLICY_URL"
            }
          }
         

Si deseas aplicar una política de carga de trabajo a tu MIG, incluye el campo resourcePolicies.workloadPolicy en el cuerpo de la solicitud.

Crea la solicitud de cambio de tamaño

Para crear la solicitud de cambio de tamaño en el MIG, selecciona una de las siguientes opciones:

gcloud

Crea una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear una solicitud de cambio de tamaño en un MIG zonal, usa 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 \
            POPULATION_METHOD \
            --zone=ZONE
        
  • Para crear una solicitud de cambio de tamaño en un MIG regional, usa el comando instance-groups managed resize-requests create en fase beta de la siguiente manera:

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

Si deseas aplicar una política de carga de trabajo a tu MIG, incluye la marca --workload-policy en el comando.

REST

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

  • Para crear una solicitud de cambio de tamaño en un 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",
            POPULATION_METHOD
          }
          
  • Para crear una solicitud de cambio de tamaño en un MIG regional, realiza 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",
            POPULATION_METHOD
          }
          

Si deseas aplicar una política de carga de trabajo a tu MIG, incluye el campo resourcePolicies.workloadPolicy en el cuerpo de la solicitud.

Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra tu proyecto

Borra un Google Cloud proyecto:

gcloud projects delete PROJECT_ID

Borra recursos

  1. Borra las solicitudes de cambio de tamaño en un MIG.

  2. Borra el MIG y las instancias.

  3. Si el estado de eliminación automática de los discos se estableció en False en la plantilla de instancias, los discos no se borran automáticamente cuando se borra la instancia de VM. Puedes borrar los discos con uno de los siguientes métodos:

    Console

    1. En la consola de Google Cloud , ve a la página Discos.

    Ir a Discos

    1. Selecciona las filas que contienen los discos que creaste en este instructivo. Asegúrate de que la columna En uso por esté vacía para cada disco.

    2. Haz clic en Borrar y, luego, en Borrar para confirmar.

    gcloud

    Usa el comando gcloud compute disks delete.

    gcloud compute disks delete DISK_NAME \
        --project PROJECT_ID --zone ZONE
    

    Reemplaza lo siguiente:

    • DISK_NAME : Es el nombre del disco que se borrará.
    • PROJECT_ID: Es el ID del proyecto que contiene el disco.
    • ZONE: la zona del disco

    REST

    Usa el método disks.delete para borrar los discos.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME 
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto que contiene el disco.
    • ZONE: la zona del disco
    • DISK_NAME : Es el nombre del disco que se borrará.
  4. Borra las redes.

  5. Borra la plantilla de instancias

¿Qué sigue?