Crea VMs de forma masiva con flexibilidad de instancias

En este documento, se describe cómo configurar la flexibilidad de instancias cuando creas máquinas virtuales (VMs) de forma masiva. La flexibilidad de instancias te permite especificar varios tipos de máquinas, clasificarlos por preferencia y anular la configuración de la plataforma de CPU mínima y del disco para cada selección, de modo que Compute Engine pueda aprovisionar VMs en función de la disponibilidad de capacidad y cuota en una región.

Para obtener más información sobre la flexibilidad de instancias para las VMs creadas de forma masiva, consulta Acerca de la flexibilidad de instancias para las VMs creadas de forma masiva.

Antes de comenzar

  • En el caso de las VMs y cualquier recurso relacionado que quieras crear, asegúrate de tener suficiente cuota.
  • Si quieres crear VMs Spot de forma masiva, consulta la disponibilidad de los recursos antes de crear las VMs. Verificar la disponibilidad de los recursos ayuda a reducir las posibilidades de que se produzcan errores de disponibilidad de recursos cuando creas VMs. Para obtener instrucciones, consulta Visualiza la disponibilidad de recursos de las VMs Spot.
  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    gcloud

    1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init
  • Configura una región y una zona predeterminadas.
  • REST

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

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .

Roles obligatorios

Para obtener los permisos que necesitas para crear VMs de forma masiva, pídele al 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 VMs de forma masiva. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear VMs de forma masiva:

  • compute.instances.create en el proyecto
  • Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
  • Para usar una instantánea a fin de crear la VM, haz lo siguiente: compute.snapshots.useReadOnly en la instantánea
  • Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos: compute.instanceTemplates.useReadOnly en la plantilla de instancias
  • A fin de especificar una subred para tu VM: compute.subnetworks.use en el proyecto o en la subred elegida
  • Si deseas especificar una dirección IP estática para la VM: compute.addresses.use en el proyecto
  • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida.
  • Para asignar una red heredada a la VM, ejecuta compute.networks.use en el proyecto.
  • Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta compute.networks.useExternalIp en el proyecto
  • Para configurar los metadatos de la instancia de VM para la VM, compute.instances.setMetadata en el proyecto.
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setTags en la VM
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setLabels en la VM
  • A fin de configurar una cuenta de servicio para que la VM use: compute.instances.setServiceAccount en la VM
  • Crear un disco nuevo para la VM: compute.disks.create en el proyecto
  • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa compute.disks.use en el disco.
  • Para conectar un disco existente en modo de solo lectura, haz lo siguiente: compute.disks.useReadOnly en el disco

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

Crea VMs con varios tipos de máquinas de igual preferencia

Si tu carga de trabajo puede operar en varios tipos de máquinas diferentes, puedes especificar una lista de todos los tipos de máquinas compatibles en una sola selección de instancias. En los siguientes ejemplos, se muestra cómo puedes especificar varios tipos de máquinas con la misma preferencia.

gcloud

Para crear VMs de forma masiva con una sola selección de instancias, usa el comando gcloud compute instances bulk create con la marca --instance-selection-machine-types.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --region=REGION \
    --count=COUNT \
    --instance-selection-machine-types=MACHINE_TYPE_1,MACHINE_TYPE_2

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombre para las VMs
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina que se usarán para las VMs.
  • REGION: la región en la que se crearán las VMs

Ejemplo

gcloud compute instances bulk create \
    --name-pattern=test-bulk-# \
    --region=us-central1 \
    --count=10 \
    --instance-selection-machine-types=c4-standard-8,c3-standard-8

REST

En la API de Compute Engine, realiza una solicitud POST al método regionInstances.bulkInsert. En el cuerpo de la solicitud, incluye instanceFlexibilityPolicy con una entrada instanceSelections que enumere los tipos de máquinas.

POST https://compute./compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "selection-1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ]
      }
    }
  }
}

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombre para las VMs
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina que se usarán para las VMs.
  • IMAGE_PROJECT: Es el proyecto que contiene la imagen.
  • IMAGE: Es el nombre de la imagen o la familia de imágenes que se usará.
  • PROJECT_ID: Es el ID del proyecto.
  • REGION: la región en la que se crearán las VMs

Ejemplo

POST https://compute./compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
  "count": 10,
  "namePattern": "test-bulk-#",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/debian-12"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "selection-1": {
        "machineTypes": [
          "c4-standard-8",
          "c3-standard-8"
        ]
      }
    }
  }
}

Crea VMs con varios tipos de máquinas clasificados por preferencia

Si quieres que Compute Engine elija tipos de máquinas en un orden específico, puedes configurar varias selecciones de instancias. Cada selección de instancias incluye una lista de tipos de máquinas y una clasificación, que es un número entero que define la preferencia por los tipos de máquinas. Una clasificación más baja indica una preferencia más alta. Compute Engine intenta crear VMs con tipos de máquinas que tengan una preferencia más alta (clasificación más baja). Si esos tipos de máquinas no están disponibles, Compute Engine usa tipos de máquinas con una preferencia más baja (clasificación más alta).

En los siguientes ejemplos, se muestra cómo especificar varias selecciones de instancias con rangos.

gcloud

Para crear VMs de forma masiva con varias selecciones de instancias, usa el comando gcloud compute instances bulk create y especifica la marca --instance-selection varias veces.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --region=REGION \
    --count=COUNT \
    --instance-selection "name=INSTANCE_SELECTION_1,rank=0,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2" \
    --instance-selection "name=INSTANCE_SELECTION_2,rank=1,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4"

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombre para las VMs
  • INSTANCE_SELECTION_1: Es el nombre de la primera selección de instancia.
  • INSTANCE_SELECTION_2: Es el nombre de la segunda selección de instancias.
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina para la primera selección de instancias.
  • MACHINE_TYPE_3, MACHINE_TYPE_4: los tipos de máquina para la segunda selección de instancias
  • REGION: la región en la que se crearán las VMs

Ejemplo

gcloud compute instances bulk create \
    --name-pattern=test-bulk-# \
    --region=us-central1 \
    --count=10 \
    --instance-selection "name=most-preferred,rank=0,machine-type=c4-standard-16" \
    --instance-selection "name=least-preferred,rank=1,machine-type=c3-standard-16"

REST

En la API de Compute Engine, realiza una solicitud POST al método regionInstances.bulkInsert. En el cuerpo de la solicitud, incluye instanceFlexibilityPolicy y especifica varias entradas en instanceSelections, cada una con una lista de tipos de máquinas y un rank.

POST https://compute./compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "rank": 1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "rank": 2
      }
    }
  }
}

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombres para las VMs
  • INSTANCE_SELECTION_1: Es el nombre de la primera selección de instancia.
  • INSTANCE_SELECTION_2: Es el nombre de la segunda selección de instancias.
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina para la primera selección de instancias.
  • MACHINE_TYPE_3, MACHINE_TYPE_4: los tipos de máquina para la segunda selección de instancias
  • IMAGE_PROJECT: Es el proyecto que contiene la imagen.
  • IMAGE: Es el nombre de la imagen o la familia de imágenes que se usará.
  • PROJECT_ID: Es el ID del proyecto.
  • REGION: la región en la que se crearán las VMs

Ejemplo

POST https://compute./compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
  "count": 10,
  "namePattern": "test-bulk-#",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/debian-12"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "most-preferred": {
        "machineTypes": [
          "c4-standard-16"
        ],
        "rank": 1
      },
      "least-preferred": {
        "machineTypes": [
          "c3-standard-16"
        ],
        "rank": 2
      }
    }
  }
}

Crea VMs con varios tipos de máquinas, plataforma de CPU mínima y anulaciones de discos

Además de especificar los tipos de máquinas y los rangos, puedes anular la plataforma de CPU mínima y anular o agregar definiciones de disco en instanceProperties para cada selección de instancia. Por ejemplo, puedes anular el tamaño del disco de arranque o adjuntar volúmenes de Hyperdisk adicionales para tipos de máquinas específicos en una selección de instancias.

Para obtener más información sobre los tipos de discos compatibles y cómo Compute Engine aplica las anulaciones, consulta los siguientes recursos:

* Compatibilidad de la serie de máquinas con Hyperdisk * Anulaciones de propiedades de instancias en selecciones de instancias

Para crear VMs de forma masiva con varios tipos de máquinas, plataforma de CPU mínima y anulaciones de discos, selecciona una de las siguientes opciones:

gcloud

Para crear VMs de forma masiva con varios tipos de máquinas, plataforma de CPU mínima y anulaciones de discos, usa el comando gcloud compute instances bulk create con la marca --instance-flexibility-policy. Para anular el disco de arranque predeterminado de instanceProperties, también incluye la marca --boot-disk-device-name y especifica el mismo deviceName en la selección de instancias:

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --region=REGION \
    --count=COUNT \
    --boot-disk-device-name=BOOT_DISK_DEVICE_NAME \
    --instance-flexibility-policy='{"instanceSelections":
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"deviceName":"BOOT_DISK_DEVICE_NAME_1","boot":true,"initializeParams":{"diskType":"DISK_TYPE_1","diskSizeGb":DISK_SIZE_1,"sourceImage":"projects/IMAGE_PROJECT_1/global/images/IMAGE_1"}}]},
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"deviceName":"BOOT_DISK_DEVICE_NAME_2","boot":true,"initializeParams":{"diskType":"DISK_TYPE_2","diskSizeGb":DISK_SIZE_2,"sourceImage":"projects/IMAGE_PROJECT_2/global/images/IMAGE_2"}}]}}}'

Como alternativa, para configurar la política de flexibilidad de instancias con un archivo YAML o JSON, usa la marca --flags-file en lugar de la marca --instance-flexibility-policy:

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --region=REGION \
    --count=COUNT \
    --boot-disk-device-name=BOOT_DISK_DEVICE_NAME \
    --flags-file=FILE_NAME.yaml

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombre para las VMs
  • REGION: la región en la que se crearán las VMs
  • BOOT_DISK_DEVICE_NAME: el nombre del dispositivo para el disco de arranque predeterminado en instanceProperties
  • INSTANCE_SELECTION_1, INSTANCE_SELECTION_2: son los nombres de las selecciones de instancias.
  • RANK_1, RANK_2: Son números opcionales que representan tu orden de preferencia para cada selección de instancia. Un valor más bajo indica una preferencia más alta.
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina para la primera selección de instancias.
  • MACHINE_TYPE_3: el tipo de máquina para la segunda selección de instancia
  • MIN_CPU_PLATFORM_1, MIN_CPU_PLATFORM_2: Son las plataformas de CPU mínimas opcionales para las VMs en cada selección de instancias.
  • BOOT_DISK_DEVICE_NAME_1, BOOT_DISK_DEVICE_NAME_2: Son los nombres de los dispositivos para los discos de arranque en cada selección de instancia. Para anular el disco de arranque predeterminado, especifica el mismo nombre que BOOT_DISK_DEVICE_NAME.
  • DISK_TYPE_1, DISK_TYPE_2: Son los tipos de disco para las anulaciones de disco, como hyperdisk-balanced
  • DISK_SIZE_1, DISK_SIZE_2: Son los tamaños de los discos para las anulaciones de discos.
  • IMAGE_PROJECT_1, IMAGE_PROJECT_2: Son los proyectos que contienen las imágenes para las anulaciones de discos.
  • IMAGE_1, IMAGE_2: Son los nombres de las imágenes o familias de imágenes para las anulaciones de discos.
  • FILE_NAME.yaml: Es el nombre del archivo YAML o JSON que contiene la configuración de --instance-flexibility-policy.

Ejemplo

En el siguiente ejemplo, se crean 10 VMs con dos selecciones de instancias que especifican una plataforma de CPU mínima, anulan el disco de arranque predeterminado y conectan discos adicionales:

sh gcloud compute instances bulk create \ --name-pattern=test-bulk-# \ --region= \ --count=10 \ --boot-disk-device-name=boot-disk \ --instance-flexibility-policy='{"instanceSelections": {"selection-1":{"machineTypes":["c4-standard-8","c4-highcpu-8"],"minCpuPlatform":"Intel Emerald Rapids","disks":[{"type":"PERSISTENT","deviceName":"boot-disk","boot":true,"initializeParams":{"diskType":"hyperdisk-balanced","diskSizeGb":50,"sourceImage":"projects/debian-cloud/global/images/family/debian-12"}}]}, "selection-2":{"machineTypes":["c3-standard-8"],"minCpuPlatform":"Intel Sapphire Rapids","disks":[{"type":"PERSISTENT","deviceName":"boot-disk","boot":true,"initializeParams":{"diskType":"hyperdisk-balanced","diskSizeGb":50,"sourceImage":"projects/debian-cloud/global/images/family/debian-12"}},{"type":"PERSISTENT","deviceName":"data-disk","initializeParams":{"diskType":"hyperdisk-balanced","diskSizeGb":128}}]}}}'

Como alternativa, si usas la marca --flags-file, puedes especificar la misma política de flexibilidad de instancias en un archivo YAML:

--instance-flexibility-policy:
  instanceSelections:
    selection-1:
      machineTypes:
        - c4-standard-8
        - c4-highcpu-8
      minCpuPlatform: Intel Emerald Rapids
      disks:
        - type: PERSISTENT
          deviceName: boot-disk
          boot: true
          initializeParams:
            diskType: hyperdisk-balanced
            diskSizeGb: 50
            sourceImage: projects/debian-cloud/global/images/family/debian-12
    selection-2:
      machineTypes:
        - c3-standard-8
      minCpuPlatform: Intel Sapphire Rapids
      disks:
        - type: PERSISTENT
          deviceName: boot-disk
          boot: true
          initializeParams:
            diskType: hyperdisk-balanced
            diskSizeGb: 50
            sourceImage: projects/debian-cloud/global/images/family/debian-12
        - type: PERSISTENT
          deviceName: data-disk
          initializeParams:
            diskType: hyperdisk-balanced
            diskSizeGb: 128

REST

En la API de Compute Engine, realiza una solicitud POST al método regionInstances.bulkInsert. En el cuerpo de la solicitud, incluye instanceFlexibilityPolicy y, en cada entrada instanceSelections, incluye el campo minCpuPlatform para anular instanceProperties.minCpuPlatform y el campo disks para anular o agregar a instanceProperties.disks:

POST https://compute./compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "deviceName": "boot-disk",
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_1",
        "disks": [
          
          {
            "type": "PERSISTENT",
            "deviceName": "boot-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 50,
              "sourceImage": "projects/IMAGE_PROJECT_1/global/images/IMAGE_1"
            },
            "boot": true
          }
          
        ]
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_2",
        "disks": [
          {
            "type": "PERSISTENT",
            "deviceName": "boot-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 50,
              "sourceImage": "projects/IMAGE_PROJECT_2/global/images/IMAGE_2"
            },
            "boot": true
          },
          {
            "type": "PERSISTENT",
            "deviceName": "data-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 128
            }
          }
        ]
      }
    }
  }
}

Reemplaza lo siguiente:

  • COUNT: la cantidad de VMs que se crearán
  • NAME_PATTERN: el patrón de nombres para las VMs
  • INSTANCE_SELECTION_1: Es el nombre de la primera selección de instancia.
  • INSTANCE_SELECTION_2: Es el nombre de la segunda selección de instancias.
  • MACHINE_TYPE_1, MACHINE_TYPE_2: Son los tipos de máquina para la primera selección de instancias.
  • MACHINE_TYPE_3: el tipo de máquina para la segunda selección de instancia
  • MIN_CPU_PLATFORM_1, MIN_CPU_PLATFORM_2: Son las plataformas de CPU mínimas opcionales para las VMs en cada selección de instancias.
  • IMAGE_PROJECT: Es el proyecto que contiene la imagen de arranque predeterminada en instanceProperties.
  • IMAGE: Es el nombre de la imagen de arranque predeterminada o la familia de imágenes en instanceProperties.
  • IMAGE_PROJECT_1, IMAGE_PROJECT_2: Son los proyectos que contienen las imágenes para las anulaciones de discos.
  • IMAGE_1, IMAGE_2: Son los nombres de las imágenes para las anulaciones de discos.
  • PROJECT_ID: Es el ID del proyecto.
  • REGION: la región en la que se crearán las VMs

Ejemplo

En el siguiente ejemplo, se crean 10 VMs con dos selecciones de instancias que especifican una plataforma de CPU mínima, anulan el disco de arranque predeterminado y conectan discos adicionales:

POST https://compute./compute/v1/projects/my-project/regions/us-central1/instances/bulkInsert
{
  "count": 10,
  "namePattern": "test-bulk-#",
  "instanceProperties": {
    "disks": [
      {
        "boot": true,
        "deviceName": "boot-disk",
        "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/family/debian-12"
        }
      }
    ],
    "networkInterfaces": [{}]
  },
  "instanceFlexibilityPolicy": {
    
    "instanceSelections": {
      "selection-1": {
        "machineTypes": [
          "c4-standard-8",
          "c4-highcpu-8"
        ],
        "minCpuPlatform": "Intel Emerald Rapids",
        "disks": [
          {
            "type": "PERSISTENT",
            "deviceName": "boot-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 50,
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12"
            },
            "boot": true
          }
        ]
      },
      "selection-2": {
        "machineTypes": [
          "c3-standard-8"
        ],
        "minCpuPlatform": "Intel Sapphire Rapids",
        "disks": [
          {
            "type": "PERSISTENT",
            "deviceName": "boot-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 50,
              "sourceImage": "projects/debian-cloud/global/images/family/debian-12"
            },
            "boot": true
          },
          {
            "type": "PERSISTENT",
            "deviceName": "data-disk",
            "initializeParams": {
              "diskType": "hyperdisk-balanced",
              "diskSizeGb": 128
            }
          }
        ]
      }
    }
    
  }
}

¿Qué sigue?