Los descuentos por compromiso de uso (CUDs) ofrecen precios muy reducidos para tus recursos de Compute Engine a cambio de contratos por uso confirmado de 1 o 3 años (también conocidos como compromisos). Te comprometes a un uso mínimo de recursos o a un gasto mínimo y, a cambio, recibes descuentos por uso confirmado en los costes de uso de recursos. Sin embargo, los compromisos no reservan capacidad de zona para tus recursos comprometidos. Para obtener recursos zonales a precios rebajados y asegurarte de que se reserva capacidad para ellos, debes comprar compromisos y crear reservas para esos recursos zonales.
En este documento se explica cómo puedes recibir CUDs por tus recursos reservados y cómo asociar reservas a compromisos basados en recursos.
Antes de empezar
- Consulta los aspectos básicos de las reservas, así como sus requisitos y restricciones. Para obtener más información, consulta Información sobre las reservas.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Descuentos por compromiso de uso para tus recursos reservados
Recibes descuentos por uso continuado de las confirmaciones activas por el uso de recursos aptos en tus proyectos. Si también tienes reservas para mantener la capacidad de los recursos de ese proyecto, los CUDs de los compromisos activos también se pueden aplicar a esos recursos reservados. Para que los recursos reservados puedan recibir CUDs, deben cumplir los siguientes requisitos:
- No recibes ningún otro tipo de descuento por el uso de recursos.
- Tus VMs deben consumir las reservas mientras los compromisos estén activos.
Como mínimo, las siguientes propiedades deben coincidir entre tus compromisos activos y las reservas que consumen tus VMs:
- Proyecto y región en los que se aplican
- Serie de familias de máquinas
En función del tipo de recurso, puedes recibir CUDs para tus recursos reservados de una de las siguientes formas:
vCPUs y memoria: para recibir CUDs por uno o ambos tipos de recursos, puedes comprar compromisos basados en recursos o en el gasto que incluyan los tipos de recursos necesarios. Cuando las VMs de tu proyecto consumen reservas cuyas propiedades coinciden con los compromisos activos, el uso de estos tipos de recursos se convierte automáticamente en apto para los descuentos por uso continuado aplicables.
Solo en el caso de los compromisos basados en recursos, puedes habilitar la función de compartir CUD. De esta forma, puedes compartir los DUCs de un proyecto para cubrir el uso de otros proyectos vinculados a la cuenta de facturación de Cloud de ese compromiso.
Si has reservado más recursos de los que te has comprometido a comprar, no recibirás descuentos por compromiso de uso por esos recursos adicionales.
GPUs y discos SSD locales: para recibir CUDs por uno o ambos tipos de recursos, debes hacer lo siguiente:
- Compra compromisos basados en recursos que incluyan los tipos de recursos necesarios.
- Crea reservas para todos los recursos comprometidos con propiedades que coincidan con tu compromiso y adjunta esas reservas al compromiso.
Cuando las VMs de tu proyecto consuman estas reservas adjuntas, empezarás a recibir los descuentos por uso confirmado aplicables a estos tipos de recursos reservados. Si habilitas el uso compartido de CUDs y adjuntas una reserva compartida, el uso de otros proyectos de consumidor también puede cumplir los requisitos de las CUDs compartidas. Sin embargo, para que el uso de otros proyectos cumpla los requisitos, debes limitar el uso compartido de tu reserva a la cuenta de facturación de Cloud del compromiso.
Asociar reservas a compromisos basados en recursos
Puedes asociar reservas a cualquier compromiso basado en recursos y asegurarte de que se reserva capacidad en zonas específicas para los recursos comprometidos que tienes previsto usar. Puedes adjuntar varias reservas a un solo compromiso, pero una reserva solo se puede adjuntar a un compromiso. Cuando compras un compromiso, puedes asociarle reservas de una de las siguientes formas:
- Usar reservas que ya tengas y cuyas propiedades coincidan con el compromiso
- Crear reservas coincidentes al comprar tu compromiso
Después de comprar un compromiso con reservas asociadas, las reservas permanecerán activas mientras el compromiso esté activo. Cuando vence tu compromiso, Compute Engine elimina automáticamente las reservas asociadas. Eliminar estas reservas no tiene ningún efecto en las máquinas virtuales en ejecución que las estuvieran consumiendo. Las VMs en ejecución siguen funcionando y se te sigue cobrando por ellas.
Recursos comprometidos que no requieren reservas asociadas
Para las vCPUs y la memoria confirmadas, no es necesario que asocies reservas coincidentes a tus compromisos. Sin embargo, si compras un compromiso que incluye vCPUs, memoria o ambos recursos, puedes adjuntar reservas que especifiquen esos recursos. Para obtener información sobre cómo comprar compromisos solo para vCPUs, memoria o ambos recursos sin asociar reservas, consulta Comprar compromisos sin reservas asociadas.
Recursos confirmados que requieren reservas asociadas
Las GPUs y los discos SSD locales comprometidos (excepto los discos SSD locales Titanium para instancias C4A, C4D o Z3) requieren que adjuntes reservas coincidentes a tus compromisos. Cuando compras un compromiso que incluye GPUs, discos SSD locales o ambos, también debes reservar esos recursos y adjuntar las reservas a tu compromiso. Puedes hacerlo con una sola reserva o con una combinación de reservas. Cuando compras un compromiso de este tipo, también puedes incluir vCPUs, memoria o ambos recursos. Sin embargo, no es necesario reservar esas vCPUs ni esa memoria.
Para saber cómo comprar compromisos de GPUs, consulta uno de los siguientes artículos:
- Para usarlo con los tipos de máquinas A4X, A4 o A3 Ultra, consulta Reservar capacidad en la documentación de AI Hypercomputer.
- Para usarlo con el resto de los tipos de máquinas, consulta la sección Adquirir compromisos con reservas asociadas de este documento.
Para saber cómo comprar compromisos de discos SSD locales, consulta la sección Comprar compromisos con reservas asociadas de este documento.
Para ver la lista completa de series de máquinas que admiten CUDs para GPUs y discos SSD locales, consulta la sección Tipos de compromisos de hardware de la documentación sobre CUDs basados en recursos.
Cantidades de recursos permitidas en las reservas adjuntas
En el caso de las vCPUs y la memoria, puedes tener reservas asociadas que especifiquen cantidades de recursos superiores o inferiores a las que te comprometes. Si te comprometes a usar más vCPUs o memoria de las que reservas, Compute Engine solo reserva capacidad para los recursos reservados. Sin embargo, puedes seguir usando los recursos comprometidos adicionales en función de su disponibilidad en tu región. Si reservas más vCPUs o memoria de las que te comprometes a usar, no recibirás descuentos por uso continuado por esos recursos adicionales.
Por ejemplo, si compras una confirmación de 4 vCPUs y 30 GB de memoria, puedes hacer lo siguiente:
- No adjuntar ninguna reserva.
Adjunta reservas especificando cualquier combinación de estos tipos de recursos. Por ejemplo:
- 4 vCPUs y 30 GB de memoria
- 2 vCPUs y 50 GB de memoria
- 10 vCPUs y 10 GB de memoria
Sin embargo, si tu compromiso contiene GPUs, discos SSD locales o ambos, debes reservar y adjuntar todos esos recursos. Las reservas que adjuntes deben especificar el número y los tipos exactos de las GPUs y los discos SSD locales a los que te comprometes. Por lo tanto, tampoco puedes tener ningún número o tipo adicional de GPUs o discos SSD locales en tus reservas adjuntas.
Por ejemplo, supongamos que compras una confirmación de 30 GB de memoria y 4 GPUs NVIDIA P100. La reserva asociada (o la combinación de reservas asociadas) puede especificar cualquier cantidad de vCPUs o memoria, pero debe tener exactamente 4 GPUs de tipo NVIDIA P100. En este ejemplo, no puedes adjuntar reservas que especifiquen ninguna de las siguientes combinaciones de recursos:
- 6 GPUs NVIDIA P100
- 2 GPUs NVIDIA P100
- 4 GPUs NVIDIA P100 y 2 GPUs NVIDIA V100
- 4 GPUs NVIDIA P100 y 4 discos SSD locales
Comprar compromisos con reservas asociadas
Cuando compras un nuevo compromiso, puedes asociar reservas a él de una de las siguientes formas:
- Usar reservas cuyas propiedades coincidan con el compromiso
- Crear reservas coincidentes al comprar tu compromiso
Una vez que hayas comprado un compromiso, este se activará al día siguiente a las 00:00 (hora del Pacífico de EE. UU. y Canadá, UTC-8 o UTC-7 durante el horario de verano). Entre el momento en que compras tu compromiso y el momento en que se activa, el estado de tu compromiso sigue siendo
NOT_YET_ACTIVE
(oPENDING
en la consolaGoogle Cloud ). Una vez activado, el estado de tu compromiso cambia aACTIVE
. Por ejemplo, supongamos que compras tu compromiso el 20 de enero a las 22:00 (hora del Pacífico de EE. UU. y Canadá, UTC-8 o UTC-7). Compute Engine crea tu compromiso inmediatamente con el estadoNOT_YET_ACTIVE
. Sin embargo, tu compromiso se hará efectivoACTIVE
solo el 21 de enero a las 00:00 (hora del Pacífico de EE. UU. y Canadá, UTC-8 o UTC-7).Requisitos
Antes de comprar un compromiso con reservas asociadas, consulta estos requisitos y asegúrate de que tu compromiso y tus reservas cumplen los siguientes criterios:
- Debes comprar el compromiso y crear las reservas asociadas en el mismo proyecto y región.
- Debes comprar el compromiso y crear las reservas asociadas para los recursos de la misma serie de familias de máquinas.
- Debes inhabilitar la opción de eliminación automática en las reservas adjuntas.
- Si tu confirmación tiene GPUs, el tipo de GPU especificado en la reserva y en la confirmación debe coincidir.
En el caso de las GPUs y los discos SSD locales, el número de recursos reservados de cada tipo de recurso debe coincidir exactamente con el número de recursos comprometidos de ese tipo. Sin embargo, este requisito no se aplica cuando compras un compromiso de discos SSD locales Titanium para usarlo con los tipos de máquina C4A, C4D o Z3.
Por ejemplo, si quieres comprar un compromiso de 4 GPUs V100 y 2 discos SSD locales, las reservas asociadas a tu compromiso deben especificar un total de 4 GPUs V100 y 2 SSDs locales. La cantidad de vCPU y memoria que reserves puede ser mayor o menor que la que te comprometas a usar. Sin embargo, si compras una confirmación de 4 vCPUs C4A y 2 discos SSD locales Titanium, no tienes que adjuntar ninguna reserva a la confirmación.
En el caso de las GPUs, compra compromisos para los tipos de GPU específicos que quieras usar. Por ejemplo, puedes comprar compromisos para GPUs NVIDIA P100 o NVIDIA V100, pero no puedes usar un compromiso que hayas comprado para GPUs NVIDIA P100 para cubrir GPUs NVIDIA V100.
Si la reserva que has adjuntado es compartida y quieres recibir los CUDs aplicables cuando la consumas fuera del proyecto de tu compromiso, debes hacer lo siguiente:
- Comparte tus reservas solo entre proyectos que pertenezcan a la misma cuenta de facturación de Cloud que el compromiso.
- Habilita el uso compartido de CUDs en esa cuenta de facturación de Cloud.
Adjuntar reservas
Puedes asociar reservas que ya tengas al comprar tu compromiso mediante la Google Cloud consola, la interfaz de línea de comandos de Google Cloud o REST.
Consola
Antes de comprar un compromiso mediante la Google Cloud consola, selecciona el proyecto que quieras usar para comprar el compromiso. Si la opción de compartir DUCs está habilitada en una cuenta de facturación de Cloud, puedes comprar la confirmación de uso con cualquier proyecto de esa cuenta. Después de seleccionar el proyecto, haz lo siguiente:
En la Google Cloud consola, ve a la página Descuentos por compromiso de uso.
Para comprar un compromiso, haz clic en
Comprar compromiso. Se abrirá la página Compra un descuento por uso confirmado y se mostrará la pestaña Hardware.En el campo Nombre, introduce un nombre para tu compromiso.
En el campo Región, selecciona la región en la que quieras comprometerte a usar recursos de Compute Engine.
En el campo Tipo de compromiso, selecciona la serie de familias de máquinas de los recursos comprometidos. Los siguientes tipos de compromiso ofrecen opciones para GPUs, discos SSD locales o ambos:
- A2 optimizada para aceleradores para recursos de tipo de máquina A2
- A3 optimizada para aceleradores para recursos de tipo de máquina A3 Edge y A3 High
- A3 Mega optimizada para aceleradores para recursos de tipo de máquina A3 Mega
- C2 optimizado para la computación para recursos de tipo de máquina C2
- C2D optimizado para la computación para recursos de tipo de máquina C2D
- C3 de uso general para recursos de tipo de máquina C3
- Uso general C3D para recursos de tipo de máquina C3D
- N1 de uso general para recursos de tipo de máquina N1
- N2 de uso general para recursos de tipo de máquina N2
- N2D de uso general para recursos de máquinas N2D
- G2 optimizada para gráficos para recursos de tipo de máquina G2
- M3 con memoria optimizada para recursos de tipo de máquina M3
- Z3 con almacenamiento optimizado para recursos de tipo de máquina Z3
En Duración, haz lo siguiente:
- Para especificar el plan de tu compromiso, selecciona 1 año o 3 años. Este ajuste determina la duración predefinida de tu compromiso.
Opcional. Para especificar una duración personalizada para tu compromiso, haz clic en el interruptor Ampliar fecha de finalización y, a continuación, en el campo Fecha, especifica una fecha de finalización personalizada. Para obtener más información, consulta el artículo Ampliar la duración de los compromisos.
En el campo Cores (Núcleos), introduce el número de vCPUs que quieras comprar.
En el campo Memoria, introduce la cantidad de memoria (en GB) que quieras comprar.
Solo puedes especificar la memoria en incrementos de 0,25 GB. Para especificar un valor de memoria personalizado para tu compromiso, usa la CLI de gcloud o REST.
Para confirmar las GPUs, en la sección GPUs (GPUs), haga clic en
Add GPU (Añadir GPU) y, a continuación, siga estos pasos:- En el campo Tipo de GPU, selecciona el tipo de GPU.
- En el campo Número de GPUs, introduce el número de GPUs.
- Opcional: Si tu modelo de GPU es compatible con estaciones de trabajo virtuales NVIDIA RTX para cargas de trabajo de gráficos y tienes previsto ejecutar cargas de trabajo que utilizan un gran número de gráficos, selecciona la casilla Habilitar estación de trabajo virtual (NVIDIA GRID).
Para confirmar el uso de discos SSD locales, en la sección SSD locales, haz clic en
Añadir SSD y, a continuación, en el campo Número de SSDs, especifica el número de discos.Para asociar una o varias reservas a un compromiso, en el campo Reservas, seleccione Asociar reservas.
La consola Google Cloud muestra una lista de todas las reservas de tu proyecto cuya región, tipo de máquina y tipo de GPU coincidan con el compromiso. A continuación, haz lo siguiente:
- Opcional. Para ver las reservas con propiedades específicas, en el menú Filtrar, añada o quite filtros de las propiedades que quiera.
- Selecciona todas las reservas que quieras asociar al compromiso.
Para terminar de comprar tu compromiso con las reservas asociadas, haz lo siguiente:
- Haz clic en Comprar.
- En el cuadro de diálogo Comprar un descuento por compromiso de uso, si estás de acuerdo con los términos específicos del servicio, haz clic de nuevo en Comprar.
gcloud
Para comprar un compromiso asociando reservas, ejecuta el comando
gcloud compute commitments create
. En tu comando, incluye la marca--existing-reservation
para especificar una reserva que quieras asociar a tu compromiso. Incluya una instancia nueva de esta marca por cada reserva que quiera adjuntar. Puedes asociar cualquier número de reservas a tu compromiso.Por ejemplo, para comprar un compromiso asociándole dos reservas, ejecuta el siguiente comando:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --plan=DURATION \ --type=COMMITMENT_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \ --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'
Haz los cambios siguientes:
COMMITMENT_NAME
: el nombre del compromiso.REGION
: la región en la que se encuentra el compromiso.PROJECT_ID
: el ID del proyecto en el que quieres comprar el compromiso con las reservas asociadas.DURATION
: la duración del compromiso, que puede ser12-month
o36-month
.CUSTOM_END_DATE
: opcional. Una fecha de finalización personalizada para el plazo, que debe tener el formatoYYYY-MM-DD
. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril del 2024, debe usar el formato2024-04-20
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromisos ofrecen opciones para GPUs, discos SSD locales o ambos:accelerator-optimized
para recursos de tipo de máquina A2accelerator-optimized-a3
para los recursos de los tipos de máquinas A3 Edge y A3 Highaccelerator-optimized-a3-mega
para los recursos de tipo de máquina A3 Megacompute-optimized
para recursos de tipo de máquina C2compute-optimized-c2d
para recursos de tipo de máquina C2Dcompute-optimized-c3
para recursos de tipo de máquina C3compute-optimized-c3d
para recursos de tipo de máquina C3Dgeneral-purpose
para recursos de tipo de máquina N1general-purpose-n2
para recursos de tipo de máquina N2general-purpose-n2d
para recursos de máquinas N2Dgraphics-optimized
para recursos de tipo de máquina G2memory-optimized-m3
para recursos de tipo de máquina M3storage-optimized-z3
para recursos de tipo de máquina Z3
COMMITTED_VCPUS
: el número de vCPUs que quieres incluir en tu compromiso. El número debe ser un entero positivo.COMMITTED_MEMORY
: la cantidad de memoria que quieres incluir en tu compromiso, en MB o GB. Por ejemplo,10240MB
o10GB
. Si no especificas ninguna unidad, Compute Engine usará GB.COMMITTED_LOCAL_SSD
: la cantidad, en GB, de espacio de SSD local que quieres incluir en tu compromiso. Cada disco SSD local tiene 375 GB.COMMITTED_ACCELERATOR_COUNT
: el número de GPUs que quieres incluir en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que quieres incluir en tu compromiso.RESERVATION_NAME_1
yRESERVATION_NAME_2
: los nombres de las reservas que quieras adjuntar al compromiso.RESERVATION_ZONE_1
yRESERVATION_ZONE_2
: las zonas de las reservas que quieras asociar al compromiso.
Ejemplo: comprar una confirmación asociando reservas
Supongamos que tienes dos reservas,
res-01
yres-02
, en las zonasus-central1-a
yus-central1-b
del proyectomyproject
. Supongamos que estas reservas tienen una capacidad combinada de 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un nuevo compromiso en la regiónus-central1
de este proyecto para estas GPUs y discos SSD locales, y usar estas reservas como reservas adjuntas, ejecuta el siguiente comando. Ten en cuenta que el compromiso de ejemplo también contiene vCPUs y memoria.gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624GB,local-ssd=1500 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan 12-month \ --existing-reservation=name=res-01,zone=us-central1-a \ --existing-reservation=name=res-02,zone=us-central1-b
REST
Para comprar un compromiso asociando reservas, haz una solicitud
POST
al métodoregionCommitments.insert
. En su solicitud, incluya el campoexistingReservations
para especificar una lista separada por comas de todas las reservas que quiera asociar a su compromiso. Puedes asociar a tu compromiso tantas reservas como quieras.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "existingReservations": "RESERVATION_URLs" }
Haz los cambios siguientes:
COMMITMENT_NAME
: el nombre del compromiso.REGION
: la región en la que se encuentra el compromiso.PROJECT_ID
: el ID del proyecto en el que quieres comprar el compromiso con las reservas asociadas.DURATION
: la duración del compromiso,TWELVE_MONTH
oTHIRTY_SIX_MONTH
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromisos ofrecen opciones para GPUs, discos SSD locales o ambos:ACCELERATOR_OPTIMIZED
para recursos de tipo de máquina A2ACCELERATOR_OPTIMIZED_A3
para los recursos de los tipos de máquinas A3 Edge y A3 HighACCELERATOR_OPTIMIZED_A3_MEGA
para los recursos de tipo de máquina A3 MegaCOMPUTE_OPTIMIZED
para recursos de tipo de máquina C2COMPUTE_OPTIMIZED_C2D
para recursos de tipo de máquina C2DCOMPUTE_OPTIMIZED_C3
para recursos de tipo de máquina C3COMPUTE_OPTIMIZED_C3D
para recursos de tipo de máquina C3DGENERAL_PURPOSE
para recursos de tipo de máquina N1GENERAL_PURPOSE_N2
para recursos de tipo de máquina N2GENERAL_PURPOSE_N2D
para recursos de máquinas N2DGRAPHICS_OPTIMIZED
para recursos de tipo de máquina G2MEMORY_OPTIMIZED_M3
para recursos de tipo de máquina M3STORAGE_OPTIMIZED_Z3
para recursos de tipo de máquina Z3
COMMITTED_VCPUS
: el número de vCPUs que quieres incluir en tu compromiso. El número debe ser un entero positivo.COMMITTED_MEMORY
: la cantidad de memoria, en MB, que quieres incluir en tu compromiso. Por ejemplo,10240MB
.COMMITTED_LOCAL_SSD
: la cantidad, en GB, de almacenamiento SSD local que quieres incluir en tu compromiso. Cada disco SSD local tiene 375 GB.COMMITTED_ACCELERATOR_COUNT
: el número de GPUs que quieres incluir en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que quieres incluir en tu compromiso.CUSTOM_END_DATE
: opcional. Una fecha de finalización personalizada para tu periodo, que debe tener el formatoYYYY-MM-DD
. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril del 2024, debe usar el formato2024-04-20
.END_TIME
: 00:00 (hora del Pacífico de EE. UU. y Canadá, UTC-8 o UTC-7), como diferencia con el tiempo universal coordinado (UTC). Especifique este valor solo si ha indicado una fecha de finalización personalizada para su compromiso. Se debe utilizar uno de los valores indicados a continuación.- Durante el horario de verano:
07:00:00
- En otros momentos:
08:00:00
- Durante el horario de verano:
RESERVATION_URLs
: lista separada por comas de las URLs de las reservas que quieras asociar al compromiso. Por ejemplo, para adjuntar dos reservas,res-1
yres-2
, especifica lo siguiente:"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1", "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
Ejemplo: comprar una confirmación asociando reservas
Supongamos que tienes dos reservas,
res-01
yres-02
, en las zonasus-central1-a
yus-central1-b
del proyectomyproject
. Supongamos que estas reservas tienen una capacidad combinada de 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un nuevo compromiso en la regiónus-central1
de este proyecto para estas GPUs y discos SSD locales, y para usar estas reservas como reservas adjuntas, haz la siguiente solicitudPOST
. Ten en cuenta que el compromiso de ejemplo también contiene vCPUs y memoria.POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" }, { "amount": "1536000", "type": "LOCAL_SSD" } ], "existingReservations": [ "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01", "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02" ] }
Crea reservas para adjuntarlas
Puedes crear tus reservas asociadas al comprar tu compromiso mediante la Google Cloud consola, la CLI de Google Cloud o REST.
Consola
Antes de comprar un compromiso mediante la Google Cloud consola, selecciona el proyecto que quieras usar para comprar el compromiso. Si la opción de compartir DUCs está habilitada en una cuenta de facturación de Cloud, puedes comprar la confirmación de uso con cualquier proyecto de esa cuenta. Después de seleccionar el proyecto, haz lo siguiente:
En la Google Cloud consola, ve a la página Descuentos por compromiso de uso.
Para comprar un compromiso, haz clic en
Comprar compromiso. Se abrirá la página Compra un descuento por uso confirmado y se mostrará la pestaña Hardware.En el campo Nombre, introduce un nombre para tu compromiso.
En el campo Región, selecciona la región en la que quieras comprometerte a usar recursos de Compute Engine.
En el campo Tipo de compromiso, selecciona la serie de familias de máquinas de los recursos comprometidos. Los siguientes tipos de compromiso ofrecen opciones para GPUs, discos SSD locales o ambos:
- A2 optimizada para aceleradores para recursos de tipo de máquina A2
- A3 optimizada para aceleradores para recursos de tipo de máquina A3 Edge y A3 High
- A3 Mega optimizada para aceleradores para recursos de tipo de máquina A3 Mega
- C2 optimizado para la computación para recursos de tipo de máquina C2
- C2D optimizado para la computación para recursos de tipo de máquina C2D
- C3 de uso general para recursos de tipo de máquina C3
- Uso general C3D para recursos de tipo de máquina C3D
- N1 de uso general para recursos de tipo de máquina N1
- N2 de uso general para recursos de tipo de máquina N2
- N2D de uso general para recursos de máquinas N2D
- G2 optimizada para gráficos para recursos de tipo de máquina G2
- M3 con memoria optimizada para recursos de tipo de máquina M3
- Z3 con almacenamiento optimizado para recursos de tipo de máquina Z3
En Duración, elige 1 año o 3 años como plazo de tu compromiso.
En el campo Cores (Núcleos), introduce el número de vCPUs que quieras asignar.
En el campo Memoria, introduce la cantidad de memoria que quieras asignar en GB.
Para confirmar las GPUs, en la sección GPUs (GPUs), haga clic en
Add GPU (Añadir GPU) y, a continuación, siga estos pasos:- En el campo Tipo de GPU, selecciona el tipo de GPU.
- En el campo Número de GPUs, introduce el número de GPUs.
- Opcional: Si tu modelo de GPU es compatible con estaciones de trabajo virtuales NVIDIA RTX para cargas de trabajo de gráficos y tienes previsto ejecutar cargas de trabajo que utilizan un gran número de gráficos, selecciona la casilla Habilitar estación de trabajo virtual (NVIDIA GRID).
Para confirmar el uso de discos SSD locales, en la sección SSD locales, haz clic en
Añadir SSD y, a continuación, en el campo Número de SSDs, especifica el número de discos.Para crear una reserva y adjuntarla al compromiso, en el campo Reservas, selecciona Crear reservas y, a continuación, haz lo siguiente. Repite este paso con cada reserva que quieras crear y adjuntar.
- Haz clic en Añadir reserva. Aparecerá la sección Nueva reserva.
- En el campo Nombre, introduce un nombre para la reserva adjunta.
- En el campo Región, selecciona la misma región que tu compromiso.
- En el campo Zona, selecciona la zona en la que quieras reservar tus recursos.
En la sección Tipo de uso compartido, especifique cómo quiere compartir esta reserva de una de las siguientes formas:
- Para crear una reserva de un solo proyecto, selecciona Local.
- Para crear una reserva que se comparta con varios proyectos, selecciona Compartido. A continuación, para especificar los proyectos con los que quieres compartir esta reserva, haz clic en Añadir proyectos y, a continuación, selecciona los proyectos que quieras de la organización del proyecto actual.
En el campo Uso con instancia de VM, selecciona cómo quieres que las VMs consuman tu reserva de una de las siguientes formas:
- Para permitir que las VMs con propiedades coincidentes consuman automáticamente esta reserva, haga clic en Usar reserva automáticamente (opción predeterminada).
- Para consumir los recursos de esta reserva solo al crear VMs con propiedades coincidentes que se dirijan específicamente a esta reserva por nombre, haz clic en Seleccionar reserva específica.
En la sección Detalles del recurso, haga lo siguiente:
- En el campo Número de instancias de máquina virtual, introduce el número de instancias de máquina virtual que quieras reservar.
En la sección Configuración de la máquina, especifica las propiedades de tus VMs reservadas de una de las siguientes formas:
Para especificar las propiedades de tus VMs mediante una plantilla de instancia, selecciona Usar plantilla de instancia.
En el campo Plantilla de instancia, selecciona una plantilla de instancia que especifique la misma serie de familias de máquinas que tu compromiso. Si seleccionas una plantilla de instancia regional, la región de esa plantilla también debe coincidir con la región especificada en tu compromiso.
Para especificar manualmente las propiedades de tus VMs, selecciona Seleccionar tipo de máquina y, a continuación, haz lo siguiente:
Selecciona la familia de máquinas que se aplique a la serie de máquinas que hayas especificado en el compromiso:
- Uso general para series de máquinas de uso general
- Optimizadas para la computación para series de máquinas optimizadas para la computación
- Con memoria optimizada para series de máquinas con memoria optimizada
- GPUs para series de máquinas optimizadas para aceleradores
En la tabla que tiene la columna Serie, selecciona la misma serie de máquinas que especificaste para el compromiso.
En el campo Tipo de máquina, especifica un tipo de máquina predefinido o personalizado de una de las siguientes formas:
- Para elegir un tipo de máquina predefinido, selecciona Predefinido y, a continuación, el tipo de máquina que quieras.
- Para elegir un tipo de máquina personalizado, selecciona Personalizado y, a continuación, especifica los núcleos y la memoria que quieras.
Para especificar una plataforma de CPU mínima, GPUs o ambas, despliega el menú
Plataforma de CPU y GPU y haz lo siguiente:- Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Plataforma de CPU.
Opcional: Para reservar GPUs, haz clic en
Añadir GPU. A continuación, en los campos Tipo de GPU y Número de GPUs, selecciona el tipo y el número de GPUs de cada VM.
Para reservar discos SSD locales, sigue estos pasos:
- En el campo Número de discos, selecciona el número de discos SSD locales que quieras para cada VM.
- En el campo Tipo de interfaz, selecciona la interfaz de los discos SSD locales.
Para terminar de especificar las propiedades de esta reserva, haga clic en Hecho.
Para terminar de comprar tu compromiso con las reservas asociadas, haz lo siguiente:
- Haz clic en Comprar.
- En el cuadro de diálogo Comprar un descuento por compromiso de uso, si estás de acuerdo con los términos específicos del servicio, haz clic de nuevo en Comprar.
gcloud
Para crear tus reservas asociadas al comprar tu compromiso, ejecuta el comando
gcloud compute commitments create
.En función de si quieres adjuntar una o varias reservas, ejecuta el comando de una de las siguientes formas:
Para crear y adjuntar una sola reserva a tu compromiso, define las propiedades de la reserva adjunta ejecutando el siguiente comando:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --reservation=RESERVATION_NAME \ --reservation-zone=RESERVATION_ZONE \ --machine-type=RESERVED_MACHINE_TYPE \ --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \ --vm-count=NUMBER_OF_RESERVED_VMs \ --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \ --local-ssd=interface=INTERFACE_1,size=375 \ --local-ssd=interface=INTERFACE_2,size=375 \ --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \ --share-setting=SHARE_SETTING \ --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
Para crear y adjuntar varias reservas a tu compromiso, define las propiedades de la reserva mediante un archivo YAML y, a continuación, especifica ese archivo YAML en el comando que uses para comprar tu compromiso. También puedes usar este método de archivo YAML para crear y asociar una sola reserva a tu compromiso. Para crear reservas asociadas con este método, siga estos pasos:
Crea el archivo YAML en el directorio actual y especifica la configuración que quieras para cada reserva adjunta. Por ejemplo, para especificar la configuración de una reserva compartida con dos proyectos que especifique GPUs, dos discos SSD locales y una plataforma de CPU mínima, incluye el siguiente texto en tu archivo YAML:
- reservation: RESERVATION_NAME reservation_zone: RESERVATION_ZONE require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE vm_count: NUMBER_OF_RESERVED_VMs machine_type: RESERVED_MACHINE_TYPE accelerator: - count: RESERVED_ACCELERATOR_COUNT type: RESERVED_ACCELERATOR_TYPE localssd: - interface: INTERFACE_1 size: 375 - interface: INTERFACE_2 size: 375 project: OWNER_PROJECT_ID minimum-cpu-platform: MINIMUM_CPU_PLATFORM share-setting: SHARE_SETTING share-with: - CONSUMER_PROJECT_ID_1 - CONSUMER_PROJECT_ID_2
Para especificar la configuración de varias reservas, repite estas propiedades para cada reserva que quieras crear. Puedes adjuntar a tu compromiso tantas reservas como quieras.
Ejecuta el comando
gcloud compute commitments create
e incluye la marca--reservation-from-file
.gcloud compute commitments create COMMITMENT_NAME \ --region REGION \ --project PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --reservations-from-file=YAML_FILE
Sustituye lo siguiente por las propiedades correspondientes del compromiso y las reservas asociadas:
Compromiso
COMMITMENT_NAME
: el nombre del compromiso.REGION
: la región en la que se encuentra el compromiso.PROJECT_ID
: el ID del proyecto en el que quieres comprar el compromiso con las reservas asociadas.DURATION
: la duración del compromiso,12-month
o36-month
.CUSTOM_END_DATE
: opcional. Una fecha de finalización personalizada para el plazo, que debe tener el formatoYYYY-MM-DD
. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril del 2024, debe usar el formato2024-04-20
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso ofrecen opciones para GPUs, discos SSD locales o ambos:accelerator-optimized
para recursos de tipo de máquina A2accelerator-optimized-a3
para los recursos de los tipos de máquinas A3 Edge y A3 Highaccelerator-optimized-a3-mega
para los recursos de tipo de máquina A3 Megacompute-optimized
para recursos de tipo de máquina C2compute-optimized-c2d
para recursos de tipo de máquina C2Dcompute-optimized-c3
para recursos de tipo de máquina C3compute-optimized-c3d
para recursos de tipo de máquina C3Dgeneral-purpose
para recursos de tipo de máquina N1general-purpose-n2
para recursos de tipo de máquina N2general-purpose-n2d
para recursos de máquinas N2Dgraphics-optimized
para recursos de tipo de máquina G2memory-optimized-m3
para recursos de tipo de máquina M3storage-optimized-z3
para recursos de tipo de máquina Z3
COMMITTED_VCPUS
: el número de vCPUs que quieres incluir en tu compromiso. El número debe ser un entero positivo.COMMITTED_MEMORY
: la cantidad de memoria que quieres incluir en tu compromiso, en MB o GB. Por ejemplo,10GB
o10240MB
. Si no especificas ninguna unidad, Compute Engine usará GB.COMMITTED_LOCAL_SSD
: la cantidad, en GB, de almacenamiento SSD local que quieres incluir en tu compromiso. Cada disco SSD local tiene 375 GB.COMMITTED_ACCELERATOR_COUNT
: el número de GPUs que quieres incluir en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que quieres incluir en tu compromiso.YAML_FILE
: ruta al archivo YAML que contiene la configuración de las reservas adjuntas.
Reservas asociadas
RESERVATION_NAME
: el nombre de la reserva adjunta.RESERVATION_ZONE
: la zona de la reserva adjunta.REQUIRE_SPECIFIC_RESERVATION_VALUE
: especifica si la reserva adjunta es una reserva orientada a un público específico (true
ofalse
). Para obtener más información sobre las reservas específicas, consulta el artículo Cómo funcionan las reservas.NUMBER_OF_RESERVED_VMS
: número de VMs que quieres reservar en la reserva adjunta.RESERVED_MACHINE_TYPE
: el tipo de máquina que quieras para las VMs de la reserva adjunta.- En el caso de los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. En el caso de los tipos de máquina personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Para ver una lista completa de las restricciones, consulte las especificaciones de los tipos de máquinas personalizadas.Haz los cambios siguientes:
MACHINE_FAMILY
: la familia de tipos de máquinas. Por ejemplo, especifican2
para las VMs N2.CPUS
: el número de vCPUs.MEMORY
: la memoria total de una máquina virtual reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB. Por ejemplo, para crear una máquina virtual N2 con 4 vCPUs y 5 GB de memoria (5120 MB), usan2-custom-4-5120
.
- En el caso de los tipos de máquinas predefinidos, usa el formato
RESERVED_ACCELERATOR_COUNT
: número de GPUs que quieres añadir por VM en la reserva adjunta.RESERVED_ACCELERATOR_TYPE
: el tipo de acelerador que quieras añadir en la reserva adjunta.INTERFACE_1
yINTERFACE_2
: el tipo de interfaz que quieres que usen los discos SSD locales de cada VM reservada. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocal_ssd
por cada disco SSD local que quieras añadir. Puedes especificar hasta 24 discos SSD locales.OWNER_PROJECT_ID
: el ID del proyecto en el que quieres comprar el compromiso con la reserva adjunta. Especifica este campo si quieres compartir tu reserva adjunta en varios proyectos de consumidor.MINIMUM_CPU_PLATFORM
: la plataforma de CPU mínima que quieres especificar para la reserva adjunta.SHARE_SETTING
: el tipo de uso compartido de la reserva adjunta. Especifica este campo con el valorprojects
si quieres compartir la reserva adjunta en varios proyectos de consumidor. Excluye este campo si quieres crear una reserva de un solo proyecto.CONSUMER_PROJECT_ID_1
yCONSUMER_PROJECT_ID_2
: los IDs de los proyectos que pueden compartir esta reserva, por ejemplo,project-1
yproject-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben pertenecer a la misma organización que el proyecto propietario. No incluyas el ID del proyecto en el que creas esta reserva, ya que ese proyecto puede usarla de forma predeterminada. Excluya estos campos si quiere crear una reserva para un solo proyecto.
Compute Engine crea el compromiso y las reservas asociadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y cuota suficiente en el momento de tu solicitud. Si la compra se ha realizado correctamente, verás un mensaje similar al siguiente:
Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]
Ejemplos de compra de compromisos creando reservas nuevas para adjuntar
En los siguientes ejemplos de situaciones y comandos se muestra cómo puedes comprar un compromiso de uso de GPUs, discos SSD locales o ambos creando nuevas reservas para adjuntar a ese compromiso.
Ejemplo 1: Comprar un compromiso para GPUs adjuntando una sola reserva nueva
Supongamos que quieres comprar un compromiso
commitment-01
en la regiónus-central1
que incluya 4 GPUs NVIDIA V100. Quieres crear unareservation-01
reserva nueva como reserva adjunta para esas GPUs. Supongamos que también quieres especificar que Compute Engine use esas GPUs reservadas en dos máquinas virtualesn1-standard-32
de la zonaus-central1-a
. Para comprar este compromiso de ejemplo con su reserva asociada, ejecuta el siguiente comando:gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624GB \ --resources-accelerator=type=nvidia-tesla-v100,count=4 \ --plan 12-month \ --reservation=reservation-01 \ --reservation-zone=us-central1-a \ --machine-type=n1-standard-32 \ --accelerator=type=nvidia-tesla-v100,count=2 \ --vm-count=2
Ejemplo 2: Comprar un compromiso para GPUs sin comprometerse a usar vCPUs ni memoria
Para confirmar y reservar GPUs y discos SSD locales sin confirmar vCPUs ni memoria, especifica
0
como valor de las cantidades de vCPU y memoria. Por ejemplo, supongamos que quieres comprar un compromisocommitment-02
para una sola GPU NVIDIA P4 en la regiónus-west2
. También quieres crear una reserva como reserva adjunta y especificar que Compute Engine use la GPU reservada en una máquina virtualn1-standard-2
de la zonaus-west2-b
. Para comprar este compromiso de ejemplo con su reserva adjunta, ejecuta el siguiente comando:gcloud compute commitments create commitment-02 \ --region=us-west2 \ --project=myproject \ --resources=vcpu=0,memory=0 \ --resources-accelerator=type=nvidia-tesla-p4,count=1 \ --plan 12-month \ --reservation=reservation-01 \ --reservation-zone=us-west2-b \ --machine-type=n1-standard-2 \ --accelerator=type=nvidia-tesla-p4,count=1 \ --vm-count=1
Ejemplo 3: Comprar una confirmación de GPUs y discos SSD locales adjuntando varias reservas nuevas
Supongamos que quieres comprar una confirmación
commitment-03
para 1 GPU NVIDIA V100 y 2 discos SSD locales en la regiónus-central1
. También quieres crear y adjuntar dos reservas en la zonaus-central1-a
. En la primera reserva,res-01
, quieres reservar 1 VMn1-standard-2
con 1 GPU. Quieres queres-01
sea una reserva orientada, lo que significa que debes orientar específicamente esa reserva por nombre para usar sus VMs reservadas. En la segunda reserva,res-02
, quieres reservar 1 VMn1-standard-8
con 2 tipos de discos SSD locales conectados.Para comprar este compromiso de ejemplo con las reservas asociadas, primero crea el archivo YAML con las propiedades de ambas reservas.
- reservation: res-01 reservation_zone: us-central1-a require_specific_reservation: true vm_count: 1 machine_type: n1-standard-2 accelerator: - count: 1 type: nvidia-tesla-v100 - reservation: res-02 reservation_zone: us-central1-a vm_count: 1 machine_type: n1-standard-8 local_ssd: - interface: scsi size: 375 - interface: nvme size: 375
Una vez que hayas creado el archivo YAML, ejecuta el siguiente comando para terminar de comprar el compromiso con las reservas asociadas. Ten en cuenta que el compromiso de ejemplo también contiene recursos de vCPU y de memoria.
gcloud compute commitments create commitment-03 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624,local-ssd=750 \ --resources-accelerator=type=nvidia-tesla-v100,count=1 \ --plan 12-month \ --reservations-from-file=YAML_FILE
REST
Para crear las reservas asociadas al comprar tu contrato, haz una solicitud
POST
al métodoregionCommitments.insert
. En tu solicitud, incluye el camporeservations
para definir una lista de todas las reservas nuevas que quieras crear y adjuntar. Puedes adjuntar a tu compromiso tantas reservas como quieras.Para crear una reserva especificando manualmente todas las propiedades de la máquina virtual, incluya el campo
instanceProperties
y excluya el camposourceInstanceTemplate
.Por ejemplo, para especificar manualmente la configuración de una reserva compartida con dos proyectos que especifica GPUs, dos discos SSD locales y una plataforma de CPU mínima, haz la siguiente solicitud:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "RESERVED_ACCELERATOR_COUNT", "acceleratorType": "RESERVED_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_2" } ], "machineType": "RESERVED_MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" } }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
Para crear una reserva especificando una plantilla de instancia, incluye el campo
sourceInstanceTemplate
y excluye el campoinstanceProperties
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
Sustituye lo siguiente por las propiedades correspondientes del compromiso y las reservas asociadas:
Compromiso
COMMITMENT_NAME
: el nombre del compromiso.REGION
: la región en la que se encuentra el compromiso.PROJECT_ID
: el ID del proyecto en el que quieres comprar el compromiso con las reservas asociadas.DURATION
: la duración del compromiso, que puede serTWELVE_MONTH
oTHIRTY_SIX_MONTH
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso ofrecen opciones para GPUs, discos SSD locales o ambos:ACCELERATOR_OPTIMIZED
para recursos de tipo de máquina A2ACCELERATOR_OPTIMIZED_A3
para los recursos de los tipos de máquinas A3 Edge y A3 HighACCELERATOR_OPTIMIZED_A3_MEGA
para los recursos de tipo de máquina A3 MegaCOMPUTE_OPTIMIZED
para recursos de tipo de máquina C2COMPUTE_OPTIMIZED_C2D
para recursos de tipo de máquina C2DCOMPUTE_OPTIMIZED_C3
para recursos de tipo de máquina C3COMPUTE_OPTIMIZED_C3D
para recursos de tipo de máquina C3DGENERAL_PURPOSE
para recursos de tipo de máquina N1GENERAL_PURPOSE_N2
para recursos de tipo de máquina N2GENERAL_PURPOSE_N2D
para recursos de máquinas N2DGRAPHICS_OPTIMIZED
para recursos de tipo de máquina G2MEMORY_OPTIMIZED_M3
para recursos de tipo de máquina M3STORAGE_OPTIMIZED_Z3
para recursos de tipo de máquina Z3
COMMITTED_VCPUS
: el número de vCPUs que quieres incluir en tu compromiso. El número debe ser un entero positivo.COMMITTED_MEMORY
: la cantidad de memoria, en MB, que quieres incluir en tu compromiso. Por ejemplo,10240MB
.COMMITTED_LOCAL_SSD
: la cantidad, en GB, de almacenamiento SSD local que quieres incluir en tu compromiso. Cada disco SSD local tiene 375 GB.COMMITTED_ACCELERATOR_COUNT
: el número de GPUs que quieres incluir en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que quieres incluir en tu compromiso.CUSTOM_END_DATE
: opcional. Una fecha de finalización personalizada para el plazo, que debe tener el formatoYYYY-MM-DD
. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril del 2024, debe usar el formato2024-04-20
.END_TIME
: 00:00 (hora del Pacífico de EE. UU. y Canadá, UTC-8 o UTC-7), como diferencia con el tiempo universal coordinado (UTC). Especifique este valor solo si ha indicado una fecha de finalización personalizada para su compromiso. Se debe utilizar uno de los valores indicados a continuación.- Durante el horario de verano:
07:00:00
- En otros momentos:
08:00:00
- Durante el horario de verano:
Reservas asociadas
RESERVATION_NAME
: el nombre de la reserva adjunta.RESERVATION_ZONE
: la zona de la reserva adjunta.REQUIRE_SPECIFIC_RESERVATION_VALUE
: especifica si la reserva adjunta es una reserva orientada a un público específico (true
ofalse
). Para obtener más información sobre las reservas específicas, consulta el artículo Cómo funcionan las reservas.NUMBER_OF_RESERVED_VMS
: número de VMs que quieres reservar en la reserva adjunta.RESERVED_MACHINE_TYPE
: el tipo de máquina que quieras para las VMs de la reserva adjunta.- En el caso de los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. En el caso de los tipos de máquina personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Para ver una lista completa de las restricciones, consulte las especificaciones de los tipos de máquinas personalizadas.Haz los cambios siguientes:
MACHINE_FAMILY
: la familia de tipos de máquinas. Por ejemplo, especifican2
para las VMs N2.CPUS
: el número de vCPUs.MEMORY
: la memoria total de una máquina virtual reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB. Por ejemplo, para crear una máquina virtual N2 con 4 vCPUs y 5 GB de memoria (5120 MB), usan2-custom-4-5120
.
- En el caso de los tipos de máquinas predefinidos, usa el formato
RESERVED_ACCELERATOR_COUNT
: número de GPUs que quieres añadir por VM en la reserva adjunta.RESERVED_ACCELERATOR_TYPE
: el tipo de acelerador que quieras añadir en la reserva adjunta.INTERFACE_1
yINTERFACE_2
: el tipo de interfaz que quieres que usen los discos SSD locales de cada máquina virtual reservada. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocalSsds
por cada disco SSD local que quieras añadir. Puedes especificar hasta 24 discos SSD locales.MINIMUM_CPU_PLATFORM
: la plataforma de CPU mínima que quieres especificar para la reserva adjunta.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia que quieres usar para crear la reserva adjunta.SHARE_SETTING
: el tipo de uso compartido de la reserva adjunta. Especifica este campo con el valorSPECIFIC_PROJECTS
si quieres compartir la reserva adjunta en varios proyectos de consumidor. Excluya este campo si quiere crear una reserva de un solo proyecto.CONSUMER_PROJECT_ID_1
yCONSUMER_PROJECT_ID_2
: los IDs de los proyectos que pueden compartir esta reserva. Por ejemplo,project-1
yproject-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben pertenecer a la misma organización que el proyecto propietario. No incluyas el ID del proyecto en el que creas esta reserva, ya que ese proyecto puede usarla de forma predeterminada. Excluya estos campos si quiere crear una reserva de un solo proyecto.
Compute Engine crea el compromiso y las reservas asociadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y cuota suficiente en el momento de tu solicitud. Si la compra se ha realizado correctamente, Compute Engine devuelve el estado
200
para tu solicitud de la API REST.Ejemplos de compra de compromisos creando reservas nuevas para adjuntar
En los siguientes ejemplos de situaciones y comandos se muestra cómo puedes comprar un compromiso de uso de GPUs, discos SSD locales o ambos creando nuevas reservas para adjuntar a ese compromiso.
Ejemplo 1: Comprar un compromiso para GPUs adjuntando una sola reserva nueva
Supongamos que quieres comprar un compromiso
commitment-01
en la regiónus-central1
que incluya 4 GPUs NVIDIA V100. Quieres crear una reservareservation-01
como reserva adjunta para esas GPUs. Supongamos que también quieres especificar que Compute Engine use esas GPUs reservadas en dosn1-standard-8
VMs de la zonaus-central1-a
. Para comprar este compromiso de ejemplo con su reserva asociada, haz la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-v100", "amount": "4", "type": "ACCELERATOR" } ], "reservations": [ { "name": "reservation-01", "specificReservation": { "count": "2", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-v100" } ], "machineType": "n1-standard-8" } }, "specificReservationRequired": false, "zone": "us-central1-a" } ] }
Ejemplo 2: Comprar un compromiso para GPUs sin comprometerse a usar vCPUs ni memoria
Para confirmar y reservar GPUs y discos SSD locales sin confirmar vCPUs ni memoria, especifica
0
como valor de las cantidades de vCPU y memoria. Por ejemplo, supongamos que quieres comprar un compromisocommitment-02
para una sola GPU NVIDIA P4 en la regiónus-west2
. También quieres crear una reserva como reserva adjunta y especificar que Compute Engine use la GPU reservada en una máquina virtualn1-standard-2
de la zonaus-west2-b
. Para comprar esta confirmación de ejemplo con su reserva asociada, haz la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments { "name": "commitment-02", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "0", "type": "VCPU" }, { "amount": "0", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p4", "amount": "4", "type": "ACCELERATOR" } ], "reservations": [ { "name": "reservation-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 4, "acceleratorType": "nvidia-tesla-p4" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": false, "zone": "us-west2-b" } ] }
Ejemplo 3: Comprar una confirmación de GPUs y discos SSD locales adjuntando varias reservas nuevas
Supongamos que quieres comprar una confirmación
commitment-03
para 1 GPU NVIDIA V100 y 2 discos SSD locales en la regiónus-central1
. También quieres crear y adjuntar dos reservas en la zonaus-central1-a
. En la primera reserva,res-01
, quieres reservar 1 VMn1-standard-2
con 1 GPU. Quieres queres-01
sea una reserva orientada, lo que significa que debes orientar específicamente esa reserva por nombre para usar sus VMs reservadas. En la segunda reserva,res-02
, quieres reservar 1 VMn1-standard-8
con 2 tipos de discos SSD locales conectados. Para comprar este compromiso de ejemplo con las reservas asociadas, envía la siguiente solicitudPOST
. Ten en cuenta que el compromiso de ejemplo también contiene recursos de vCPU y memoria.POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-03", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-v100", "amount": "1", "type": "ACCELERATOR" }, { "amount": "768000", "type": "LOCAL_SSD" } ], "reservations": [ { "name": "res-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-v100" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": true, "zone": "us-central1-a" }, { "name": "res-02", "specificReservation": { "count": "1", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "SCSI" }, { "diskSizeGb": "375", "interface": "NVME" } ] "machineType": "n1-standard-8" } }, "specificReservationRequired": false, "zone": "us-central1-a" } ] }
Sustituir reservas asociadas a compromisos
Sustituye la reserva adjunta a tu compromiso por una nueva si quieres modificar los tipos y el número de VMs que usan tus recursos comprometidos.
La reserva de sustitución siempre será una reserva recién creada. Para sustituir una reserva adjunta, debes especificar las propiedades de la reserva que quieras usar como sustitución. A continuación, Compute Engine crea automáticamente una reserva con estas propiedades y la usa para sustituir la reserva adjunta. No puedes usar una reserva que ya tengas para sustituir la que has adjuntado.
Cambios permitidos
Cuando sustituyes una reserva adjunta a un compromiso por otra, puedes solicitar cualquiera de los siguientes cambios:
- Puedes reservar VMs de otro tipo de máquina. Sin embargo, debes seguir reservando VMs de la misma serie de máquinas para seguir recibiendo descuentos por compromiso de uso por los recursos reservados.
- Puedes cambiar el número de VMs que quieras reservar.
- Puedes cambiar la cantidad de GPUs y discos SSD locales que se adjuntan por VM siempre que la cantidad total de GPUs y discos SSD locales reservados siga siendo la misma.
- Puedes especificar que las reservas sustituidas sean de un solo proyecto (también llamadas locales en la consola Google Cloud ) o compartidas.
Requisitos
Cuando sustituyas la reserva adjunta a tu compromiso por otra, tu solicitud deberá cumplir todos los requisitos siguientes:
- Solo puedes sustituir una reserva adjunta a la vez por otra. Para sustituir una reserva adjunta, elimina simultáneamente una reserva adjunta definiendo el número de VMs en 0 y define una nueva reserva adjunta que quieras sustituir.
- La nueva reserva debe estar en el mismo proyecto que el compromiso.
- La nueva reserva debe estar en la misma zona que la reserva eliminada.
- La cantidad y los tipos de GPUs especificados en la nueva reserva deben coincidir con los de la reserva eliminada.
- El número y los tipos de discos SSD locales especificados en la nueva reserva deben coincidir con los de la reserva eliminada.
- Solo puedes cambiar hasta 100 máquinas virtuales por solicitud. Para hacer un cambio que afecte a más de 100 máquinas virtuales, divide el cambio en varias solicitudes más pequeñas o ponte en contacto con el Google Cloud equipo de Asistencia.
Tu solicitud de sustitución de una reserva también depende de la disponibilidad de capacidad en ese momento. Si no hay capacidad para una solicitud, esta falla y devuelve un error de disponibilidad de recursos, que puedes intentar resolver modificando o posponiendo la solicitud. Para obtener más información, consulta la documentación sobre cómo solucionar problemas de disponibilidad de recursos.
Si no se puede sustituir una reserva adjunta, la reserva adjunta y los recursos reservados no se verán afectados. Para conservar tu capacidad, espera a hacer los cambios correspondientes en tus máquinas virtuales hasta que se haya aceptado tu solicitud de sustitución de una reserva.
Pasos para sustituir una reserva adjunta
Puedes sustituir las reservas de un compromiso mediante la CLI de Google Cloud o REST.
gcloud
Para sustituir las reservas asociadas a compromisos, sigue estos pasos:
Crea un archivo YAML en el directorio actual con las configuraciones de las siguientes reservas adjuntas:
La reserva actual que quieras sustituir.
Para consultar los detalles de esta reserva, consulta Ver los detalles de una reserva.
La nueva reserva de sustitución.
El contenido del archivo YAML es similar al siguiente:
- reservation: CURRENT_RESERVATION_NAME reservation_zone: CURRENT_RESERVATION_ZONE vm_count: 0 machine_type: CURRENT_RESERVATION_MACHINE_TYPE accelerator: - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS type: CURRENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: CURRENT_RESERVATION_INTERFACE_1 size: 375 - interface: CURRENT_RESERVATION_INTERFACE_2 size: 375 project: CURRENT_RESERVATION_PROJECT_ID share_setting: CURRENT_RESERVATION_SHARE_SETTING share_with: - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2 - reservation: REPLACEMENT_RESERVATION_NAME reservation_zone: REPLACEMENT_RESERVATION_ZONE vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE accelerator: - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: REPLACEMENT_RESERVATION_INTERFACE_1 size: 375 - interface: REPLACEMENT_RESERVATION_INTERFACE_2 size: 375 project: REPLACEMENT_RESERVATION_PROJECT_ID share_setting: REPLACEMENT_RESERVATION_SHARE_SETTING share_with: - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
Sustituye lo siguiente por las propiedades correspondientes de las reservas actual y de sustitución:
Reserva actual
En la reserva actual, todas las propiedades siguientes deben ser exactamente las mismas que cuando la consultaste. Omita los campos de las propiedades que no tenga la reserva actual.
CURRENT_RESERVATION_NAME
: el nombre de la reserva adjunta actual.CURRENT_RESERVATION_ZONE
: la zona de la reserva adjunta actual.CURRENT_RESERVATION_MACHINE_TYPE
: el tipo de máquina de la reserva adjunta actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: el número de GPUs reservadas en la reserva adjunta actual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: el tipo de acelerador reservado en la reserva adjunta actual.CURRENT_RESERVATION_INTERFACE_1
yCURRENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que usa el disco SSD local de cada VM reservada en la reserva vinculada actual. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocal_ssd
para todos los discos SSD locales reservados.CURRENT_RESERVATION_PROJECT_ID
: el ID del proyecto actual que tiene el compromiso y la reserva adjunta. Especifica este campo si tu reserva adjunta actual se comparte entre varios proyectos de consumidor.CURRENT_RESERVATION_SHARE_SETTING
: El tipo de uso compartido de la reserva actual. Especifica este campo con el valorprojects
si la reserva adjunta actual se comparte entre varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: los IDs de proyecto de los proyectos con los que compartes la reserva adjunta actual. Por ejemplo,project-1
yproject-2
.
Reserva de sustitución
En la reserva de sustitución, defina las siguientes propiedades como obligatorias. Asegúrese de que cumple todos los requisitos cuando especifique estas propiedades. Omite los campos adicionales que no quieras usar.
REPLACEMENT_RESERVATION_NAME
: el nombre de la nueva reserva de sustitución.REPLACEMENT_RESERVATION_ZONE
: la zona de la nueva reserva de sustitución.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: el número de máquinas virtuales que quieres reservar en la nueva reserva de sustitución.REPLACEMENT_RESERVATION_MACHINE_TYPE
: el tipo de máquina que quieras para las VMs de tu nueva reserva de sustitución.- En el caso de los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. - En el caso de los tipos de máquina personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Para ver una lista completa de las restricciones, consulte las especificaciones de los tipos de máquinas personalizadas.
Haz los cambios siguientes:
MACHINE_FAMILY
: la familia de tipos de máquinas. Por ejemplo, especifican2
para las VMs N2.CPUS
: el número de vCPUs.MEMORY
: la memoria total de una máquina virtual reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB. Por ejemplo, para crear una máquina virtual N2 con 4 vCPUs y 5 GB de memoria (5120 MB), usan2-custom-4-5120
.
- En el caso de los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: el número de GPUs que quieres añadir por VM en la reserva de sustitución.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: el tipo de acelerador que quieras añadir en la reserva de sustitución.REPLACEMENT_RESERVATION_INTERFACE_1
yREPLACEMENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que quieres que usen los discos SSD locales de cada VM reservada. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocal_ssd
por cada disco SSD local que quieras añadir. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_PROJECT_ID
: el ID del proyecto actual que tiene el compromiso y la reserva adjunta. Especifica este campo si quieres compartir tu reserva de sustitución entre varios proyectos de consumidor.REPLACEMENT_RESERVATION_SHARE_SETTING
: el tipo de uso compartido de la reserva de sustitución. Especifica este campo con el valorprojects
si quieres compartir tu reserva de sustitución en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1,project-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben pertenecer a la misma organización que el proyecto propietario. No incluyasREPLACEMENT_RESERVATION_PROJECT_ID
, ya que tiene permiso para consumir esta reserva de forma predeterminada.
Ejecuta el comando
gcloud beta compute commitments update-reservations
y especifica la ruta al archivo YAML con la marca--reservations-from-file
.gcloud beta compute commitments update-reservations COMMITMENT_NAME \ --project= PROJECT_ID \ --region= REGION \ --reservations-from-file= YAML_FILE
Haz los cambios siguientes:
COMMITMENT_NAME
: el nombre del compromiso con la reserva asociada.PROJECT_ID
: el ID de proyecto del compromiso con la reserva adjunta.REGION
: la región en la que se encuentra el compromiso.YAML_FILE
: ruta al archivo YAML que contiene la configuración de las reservas actuales y de sustitución.
Ejemplo de sustitución de una reserva asociada a un compromiso
Para demostrarlo, en esta sección se muestra un ejemplo de compromiso con una reserva adjunta y cómo sustituir la reserva adjunta de ejemplo.
Ejemplo de compromiso con una reserva asociada
Por ejemplo, supongamos que quieres actualizar las reservas asociadas a la confirmación
my-commitment-with-reservations
, que se compró con el siguiente comando:gcloud beta compute commitments create my-commitment-with-reservations \ --region=asia-east1 \ --resources=vcpu=16,memory=60GB,local-ssd=3000 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan=12-month \ --type=general-purpose \ --reservations-from-file=one-reservation.yaml
En este ejemplo, supongamos que, cuando se ejecutó este comando,
one-reservation.yaml
era un archivo del directorio actual con el siguiente contenido, que define una reserva adjunta llamadares-1
.- reservation: res-1 reservation_zone: asia-east1-a vm_count: 4 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375
Este
my-commitment-with-reservations
compromiso y la reservares-1
adjunta han dado lugar a los siguientes recursos comprometidos y reservados:Tipo de recurso Recursos en la confirmación
(my-commitment-with-reservations
)Recursos de la reserva adjunta actual
(res-1
)Memoria y vCPUs 16 vCPUs y 60 GB 16 vCPUs y 60 GB
(4 VMs reservadasn1-standard-4
)*GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)** En concreto, la reserva adjunta de ejemplo,
res-1
, reserva 4n1-standard-4
VMs, cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. Eln1-standard-4
tipo de máquina usa 4 vCPUs y 15 GB por cada VM.Sustituir la reserva de ejemplo adjunta
Supongamos que quieres sustituir la reserva adjunta
res-1
por una nueva reserva adjuntares-2
y cambiar los recursos reservados por los siguientes:Tipo de recurso Recursos en la confirmación
(my-commitment-with-reservations
)Recursos de la reserva adjunta actual
(res-1
)Recursos de la reserva de sustitución adjunta
(res-2
)Memoria y vCPUs 16 vCPUs y 60 GB 16 vCPUs y 60 GB
(4 VMs reservadasn1-standard-4
)*16 vCPUs y 60 GB
(2 VMs reservadas y compartidasn1-standard-8
)†GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*4 GPUs P100
(2 GPUs P100 por VM, para 2 VMs)†Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)*3000 GB u 8 discos SSD locales
(1500 GB o 4 discos SSD locales por VM, para 2 VMs)** En concreto, la reserva adjunta de ejemplo,
res-1
, reserva 4n1-standard-4
VMs, cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. Eln1-standard-4
tipo de máquina usa 4 vCPUs y 15 GB por cada VM.† En concreto, la reserva vinculada de sustitución define
res-2
, que reserva 2 VMsn1-standard-8
, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfazscsi
. Además,res-2
se ha compartido con otros dos proyectos,project-1
yproject-2
, y es propiedad del proyecto actual,my-project
. El tipo de máquinan1-standard-8
usa 8 vCPUs y 30 GB por cada VM.Para sustituir la reserva adjunta
res-1
porres-2
para el compromisomy-commitment-with-reservations
, haz lo siguiente:Crea un archivo llamado
two-reservations.yaml
en el directorio actual. Este archivo debe contener lo siguiente:- reservation: res-1 reservation_zone: asia-east1-a vm_count: 0 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - reservation: res-2 reservation_zone: asia-east1-a vm_count: 2 machine_type: n1-standard-8 accelerator: - count: 2 type: nvidia-tesla-p100 project: my-project share_setting: projects share_with: - project-1 - project-2 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375
Ejecuta el siguiente comando:
gcloud beta compute commitments update-reservations my-commitment-with-reservations \ --region=asia-east1 \ --reservations-from-file=two-reservations.yaml
REST
Para sustituir las reservas asociadas a compromisos, haz una solicitud
POST
con el métodoregionCommitments.updateReservations
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations { "reservations": [ { "name": "REPLACEMENT_RESERVATION_NAME", "specificReservation": { "count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_2" } ], "machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE" } }, "zone": "REPLACEMENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } }, { "name": "CURRENT_RESERVATION_NAME", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_2" } ], "machineType": "CURRENT_RESERVATION_MACHINE_TYPE" } }, "zone": "CURRENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } } ] }
Sustituye lo siguiente por las propiedades correspondientes del compromiso, la reserva actual y la reserva de sustitución:
Compromiso
COMMITMENT_NAME
: el nombre del compromiso con la reserva asociada.PROJECT_ID
: el ID del proyecto del compromiso con la reserva asociada. También es el ID del proyecto de las reservas actuales y asociadas.COMMITMENT_ZONE
: la zona del compromiso con la reserva asociada.
Reserva actual
En la reserva actual, todas las propiedades siguientes deben ser exactamente las mismas que cuando la consultaste. Omita los campos de las propiedades que no se especifiquen en la reserva actual.
CURRENT_RESERVATION_NAME
: el nombre de la reserva adjunta actual.CURRENT_RESERVATION_ZONE
: la zona de la reserva adjunta actual.CURRENT_RESERVATION_MACHINE_TYPE
: el tipo de máquina de la reserva adjunta actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: el número de GPUs reservadas en la reserva adjunta actual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: el tipo de acelerador reservado en la reserva adjunta actual.CURRENT_RESERVATION_INTERFACE_1
yCURRENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que usan los discos SSD locales de cada VM reservada en la reserva adjunta actual. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocalSsds
para todos los discos SSD locales reservados.CURRENT_RESERVATION_SHARE_SETTING
: El tipo de uso compartido de la reserva actual. Especifica este parámetro con el valorprojects
si la reserva adjunta actual se comparte entre varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: los IDs de proyecto de los proyectos con los que compartes la reserva adjunta actual, por ejemplo,project-1
yproject-2
.
Reserva de sustitución
En la reserva de sustitución, defina las siguientes propiedades como obligatorias. Asegúrese de que cumple todos los requisitos cuando especifique estas propiedades. Omite los campos adicionales que no quieras usar.
REPLACEMENT_RESERVATION_NAME
: el nombre de la nueva reserva de sustitución.REPLACEMENT_RESERVATION_ZONE
: la zona de la nueva reserva de sustitución.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: el número de máquinas virtuales que quieres reservar en la nueva reserva de sustitución.REPLACEMENT_RESERVATION_MACHINE_TYPE
: el tipo de máquina que quieres para las VMs de tu nueva reserva de sustitución.- En el caso de los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. - En el caso de los tipos de máquina personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Para ver una lista completa de las restricciones, consulte las especificaciones de los tipos de máquinas personalizadas.
Haz los cambios siguientes:
MACHINE_FAMILY
: la familia de tipos de máquinas. Por ejemplo, especifican2
para las VMs N2.CPUS
: el número de vCPUs.MEMORY
: la memoria total de una VM reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB. Por ejemplo, para crear una VM N2 con 4 vCPUs y 5 GB de memoria (5120 MB), usan2-custom-4-5120
.
- En el caso de los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: el número de GPUs que quieres añadir por VM en la reserva de sustitución.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: el tipo de acelerador que quieres añadir en la reserva de sustitución.REPLACEMENT_RESERVATION_INTERFACE_1
yREPLACEMENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que quieres que usen los discos SSD locales de cada VM reservada. Las opciones válidas sonscsi
ynvme
. Cada disco SSD local tiene 375 GB. Repite el parámetrolocalSsds
por cada disco SSD local que quieras añadir. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_SHARE_SETTING
: El tipo de uso compartido de la reserva de sustitución. Especifique este parámetro con el valorprojects
si quiere compartir su reserva de sustitución en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1,project-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben pertenecer a la misma organización que el proyecto propietario. No incluyasPROJECT_ID
, ya que tiene permiso para consumir esta reserva de forma predeterminada.
Ejemplo de sustitución de una reserva asociada a un compromiso
Para demostrarlo, en esta sección se muestra un ejemplo de compromiso con una reserva adjunta y cómo sustituir la reserva adjunta de ejemplo.
Ejemplo de compromiso con una reserva asociada
Por ejemplo, supongamos que quieres sustituir la reserva asociada
res-1
por la confirmaciónmy-commitment-with-reservations
, que se compró haciendo la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments { "name": "my-commitment-with-reservations", "plan": "TWELVE_MONTH", "reservations": [ { "name": "res-1", "specificReservation": { "count": "4", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "1", "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ], "resources": [ { "amount": "16", "type": "VCPU" }, { "amount": "61440", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" } { "amount": "3072000", "type": "LOCAL_SSD" } ], "type": "GENERAL_PURPOSE" }
Este
my-commitment-with-reservations
compromiso y la reservares-1
adjunta han dado lugar a los siguientes recursos comprometidos y reservados:Tipo de recurso Recursos en la confirmación
(my-commitment-with-reservations
)Recursos de la reserva adjunta actual
(res-1
)Memoria y vCPUs 16 vCPUs y 60 GB 16 vCPUs y 60 GB
(4 VMs reservadasn1-standard-4
)*GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)** En concreto, la reserva adjunta de ejemplo,
res-1
, reserva 4n1-standard-4
máquinas virtuales, cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. Eln1-standard-4
tipo de máquina usa 4 vCPUs y 15 GB por cada VM.Sustituir la reserva de ejemplo adjunta
Supongamos que quieres sustituir la reserva adjunta
res-1
por una nueva reserva adjuntares-2
y cambiar los recursos reservados por los siguientes:Tipo de recurso Recursos en la confirmación
(my-commitment-with-reservations
)Recursos de la reserva adjunta actual
(res-1
)Recursos de la reserva de sustitución adjunta
(res-2
)Memoria y vCPUs 16 vCPUs y 60 GB 16 vCPUs y 60 GB
(4 VMs reservadasn1-standard-4
)*16 vCPUs y 60 GB
(2 VMs reservadas y compartidasn1-standard-8
)†GPUs 4 GPUs P100 4 GPUs P100
(1 GPU P100 por VM, para 4 VMs)*4 GPUs P100
(2 GPUs P100 por VM, para 2 VMs)†Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)*3000 GB u 8 discos SSD locales
(1500 GB o 4 discos SSD locales por VM, para 2 VMs)** En concreto, la reserva adjunta de ejemplo,
res-1
, reserva 4n1-standard-4
VMs, cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. Eln1-standard-4
tipo de máquina usa 4 vCPUs y 15 GB por cada VM.† En concreto, la reserva vinculada de sustitución define
res-2
, que reserva 2 VMsn1-standard-8
, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfazscsi
. Además,res-2
se ha compartido con otros dos proyectos,project-1
yproject-2
, y es propiedad del proyecto actual,my-project
. El tipo de máquinan1-standard-8
usa 8 vCPUs y 30 GB por cada VM.Para sustituir la reserva
res-1
adjunta porres-2
en el compromisomy-commitment-with-reservations
, haz la siguiente solicitudPOST
mediante el métodoregionCommitments.updateReservations
:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservations/updateReservations { "reservations": [ { "name": "res-2", "specificReservation": { "count": "2", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-8" } }, "zone": "asia-east1-a" }, { "name": "res-1", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ] }
Siguientes pasos
- Consulta más información sobre los descuentos por compromiso de uso basados en recursos.
- Consulta cómo consumir reservas.
- Consulta cómo modificar reservas.
- Consulta cómo eliminar reservas.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-11 (UTC).
-