Los descuentos por compromiso de uso (CUDs) proporcionan precios con grandes descuentos para los recursos de Compute Engine a cambio de contratos de compromiso de uso de 1 o 3 años (también conocidos como compromisos). Te comprometes a usar una cantidad mínima de recursos o a realizar una inversión mínima y, a cambio, recibes CUD en los costos de uso de recursos. Sin embargo, los compromisos no reservan capacidad zonal para tus recursos comprometidos. Para obtener recursos zonales a precios con descuento y, además, garantizar que se reserve la capacidad para ellos, debes comprar compromisos y crear reservas para esos recursos zonales.
En este documento, se explica cómo puedes recibir CUDs para tus recursos reservados y cómo adjuntar reservas a los compromisos basados en recursos.
Antes de comenzar
- Revisa los conceptos básicos de las reservas, junto con sus requisitos y restricciones. Para obtener más información, consulta Acerca de las reservas.
-
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 Cloud de Confiance by S3NS . 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 que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
gcloud
-
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 Cloud de Confiance .
CUDs para tus recursos reservados
Recibes CUDs de compromisos activos para cualquier uso de recursos apto en tus proyectos. Si también tienes alguna reserva para conservar 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 cualquier recurso reservado sea apto para recibir CUDs, se aplican los siguientes requisitos:
- No recibirás 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 las VMs:
- Proyecto y región en los que se aplican
- Serie de la familia de máquinas
Según el tipo de recurso, puedes recibir CUDs para tus recursos reservados de una de las siguientes maneras:
CPUs virtuales y memoria: Para recibir CUDs para uno o ambos de estos tipos de recursos, puedes comprar compromisos basados en recursos o en gastos que incluyan los tipos de recursos requeridos. Cuando las VMs de tu proyecto consumen reservas cuyas propiedades coinciden con esos compromisos activos, el uso de estos tipos de recursos se vuelve automáticamente apto para los CUDs aplicables.
Solo para los compromisos basados en recursos, puedes habilitar el uso compartido del CUD. De esta manera, puedes compartir CUD de un proyecto para cubrir el uso en otros proyectos vinculados a la cuenta de Facturación de Cloud de ese compromiso.
Si reservaste más recursos de los que te comprometiste a comprar, no recibirás CUDs para esos recursos adicionales.
GPUs y discos SSD locales: para recibir CUDs de uno o ambos de estos tipos de recursos, debes hacer lo siguiente:
- Compra compromisos basados en recursos que incluyan los tipos de recursos requeridos.
- 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 consumen estas reservas conectadas, comienzas a recibir los CUDs aplicables para estos tipos de recursos reservados. Si habilitas el uso compartido de CUD y conectas una reserva compartida, es posible que el uso de otros proyectos de consumidor también cumpla con los requisitos para los CUDs compartidos basados en recursos. Sin embargo, para que el uso de otros proyectos sea apto, debes limitar el uso compartido de tu reserva a la cuenta de Facturación de Cloud del compromiso. Si los proyectos fuera de la cuenta de Facturación de Cloud consumen esa reserva compartida, ese uso no será apto para los CUDs compartidos de esta cuenta de Facturación de Cloud y es posible que se cobre con tarifas según demanda.
Adjunta reservas a compromisos basados en recursos
Puedes adjuntar reservas a cualquier compromiso basado en recursos y asegurarte de que se mantenga la capacidad en zonas específicas para los recursos comprometidos que planeas usar. Puedes conectar varias reservas a un solo compromiso. Sin embargo, una reserva solo se puede conectar a un compromiso. Cuando compras un compromiso, puedes adjuntar reservas a ese compromiso de una de las siguientes maneras:
- Cómo usar reservas existentes cuyas propiedades coinciden con el compromiso
- Cómo crear reservas coincidentes nuevas mientras compras tu compromiso
Cuando compras un compromiso con reservas conectadas, estas permanecen activas mientras el compromiso esté activo. Cuando vence el compromiso, Compute Engine borra cualquier reserva adjunta automáticamente. La eliminación de estas reservas no tiene efecto en ninguna VM en ejecución que las haya consumido. Las VMs en ejecución se seguirán ejecutando y se te cobrará por ellas.
Recursos comprometidos que no requieren reservas conectadas
Las CPUs virtuales y la memoria comprometidas no requieren que adjuntes reservas coincidentes a tus compromisos. Sin embargo, cuando compras un compromiso que incluye CPUs virtuales, memoria o ambas, aún puedes optar por conectar reservas que especifiquen esos recursos. Si deseas obtener información sobre cómo adquirir compromisos solo para CPUs virtuales, memoria o ambos, sin adjuntar reservas, consulta Adquiere compromisos sin reservas conectadas.
Recursos comprometidos que requieren reservas conectadas
Las GPUs con compromisos y los discos SSD locales (con la excepción de los discos SSD locales de Titanium para instancias C4, C4A, C4D, H4D o Z3) requieren que adjuntes las reservas coincidentes a tus compromisos. Cuando compras un compromiso que incluye GPU, discos SSD locales o ambos, también debes reservar esos recursos y adjuntar esas reservas a tu compromiso. Puedes hacerlo con una sola reserva o con una combinación de ellas. Cuando adquieres un compromiso, también puedes incluir CPUs virtuales, memoria o ambos. Sin embargo, no es necesario reservar esas CPUs virtuales o memoria.
Para obtener información sobre cómo adquirir compromisos para GPUs o discos SSD locales, consulta lo siguiente:
Para las GPUs que se usan con los tipos de máquinas A4X Max, A4X, A4 o A3 Ultra: Consulta Reserva capacidad en la documentación de AI Hypercomputer.
Para todos los demás tipos de GPU y discos SSD locales: Consulta Adquiere compromisos con reservas conectadas en 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 en la documentación de CUDs basados en recursos.
Cantidades de recursos permitidos en las reservas adjuntas
Para las CPUs virtuales y la memoria, puedes tener reservas adjuntas que especifiquen más o menos cantidades de recursos de los que te comprometes a usar. Si te comprometes a usar más CPUs virtuales o memoria de las que reservas, Compute Engine reserva solo capacidad para estos recursos reservados. Sin embargo, puedes seguir usando tus recursos comprometidos adicionales según su disponibilidad en tu región. Si reservas más CPUs virtuales o memoria de las que te comprometes a usar, no recibirás CUDs para esos recursos adicionales que reservas.
Por ejemplo, cuando compras un compromiso de 4 CPUs virtuales y 30 GB de memoria, puedes elegir realizar una de las siguientes acciones:
- No incorporar ninguna reserva
Adjunta reservas que especifiquen cualquier combinación de estos tipos de recursos; por ejemplo, los siguientes:
- 4 CPUs virtuales y 30 GB de memoria
- 2 CPUs virtuales y 50 GB de memoria
- 10 CPUs virtuales y 10 GB de memoria
Sin embargo, si el compromiso contiene GPUs, discos SSD locales o ambos, debes reservar y conectar todos esos recursos. Las reservas adjuntas deben especificar la cantidad y los tipos exactos de las GPUs y los discos SSD locales con los que te comprometes. En consecuencia, tampoco puedes tener ninguna cantidad o tipos adicionales de GPUs o discos SSD locales en tus reservas conectadas.
Por ejemplo, supongamos que adquieres un compromiso de 30 GB de memoria y 4 GPUs NVIDIA P100. La reserva conectada (o la combinación de reservas conectadas) puede especificar cualquier cantidad de CPUs virtuales o memoria, pero debe tener exactamente 4 GPUs que sean del 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
Compra compromisos con reservas conectadas
Cuando compras un compromiso nuevo, puedes adjuntar reservas a tu compromiso de cualquiera de las siguientes maneras:
- Cómo usar reservas existentes cuyas propiedades coinciden con el compromiso
- Cómo crear reservas coincidentes nuevas mientras compras tu compromiso
Después de adquirir un compromiso, este se activa al día siguiente a las 12 a.m. hora del Pacífico de EE.UU. y Canadá (UTC-8, o UTC-7 durante el horario de verano).
Entre el momento de la compra del compromiso y el momento en que se activa, el estado del compromiso permanece como NOT_YET_ACTIVE (o como PENDING en laCloud de Confiance consola). Después de la activación, el estado del compromiso cambia a ACTIVE.
Por ejemplo, supongamos que compras tu compromiso el 20 de enero de 2024 a las 10:00 p.m. según la hora del Pacífico de EE.UU. y Canadá (UTC-8 o UTC-7). Compute Engine crea el compromiso de inmediato con su estado como NOT_YET_ACTIVE. Tu compromiso se vuelve ACTIVE el 21 de enero de 2024 a las 12:00 a.m. hora del Pacífico de EE.UU. y Canadá (UTC-8 o UTC-7).
Requisitos
Antes de comprar un compromiso con reservas conectadas, revisa estos requisitos y asegúrate de que tu compromiso y las reservas cumplan con los siguientes criterios:
- Debes comprar el compromiso y crear las reservas adjuntas en el mismo proyecto y región.
- Debes comprar el compromiso y crear las reservas adjuntas 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 compromiso tiene GPUs, el tipo de GPU espedificado en la reserva y el compromiso deben coincidir.
Para las GPUs y los discos SSD locales, la cantidad de recursos reservados de cada tipo de recurso debe coincidir de forma exacta con la cantidad de recursos confirmados en ese tipo de recurso. Sin embargo, este requisito no se aplica si especificas discos SSD locales de Titanium en tu compromiso para usarlos con los tipos de máquinas C4, C4A, C4D, H4D o Z3.
Por ejemplo, si deseas adquirir un compromiso para 4 GPUs V100 y 2 discos SSD locales, las reservas conectadas de tu compromiso deben especificar un total de 4 GPUs V100 y 2 SSDs locales. La cantidad de CPU virtual y memoria que reservas puede ser más o menos igual a la cantidad que te comprometes a usar. Sin embargo, si especificas 4 CPU virtuales C4A y 2 discos SSD locales de Titanium en tu compromiso, no tienes que adjuntar ninguna reserva al compromiso.
En el caso de las GPU, debes adquirir compromisos para los tipos específicos de GPU que planeas usar. Por ejemplo, puedes adquirir compromisos de NVIDIA P100s o NVIDIA V100s, pero no puedes usar un compromiso que compraste para las GPUs de NVIDIA P100 para cubrir las de NVIDIA V100.
Si tu reserva conectada es una reserva compartida y deseas recibir los CUDs aplicables cuando consumes esa reserva 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 CUD para esa cuenta de Facturación de Cloud.
Incorporar reservas existentes
Puedes adjuntar reservas existentes mientras compras tu compromiso a través de la Cloud de Confiance consola, Google Cloud CLI o REST.
Console
Antes de adquirir un compromiso con la consola de Cloud de Confiance , selecciona el proyecto que deseas usar para adquirirlo. Si el uso compartido de CUD está habilitado para una cuenta de Facturación de Cloud, puedes adquirir el compromiso con cualquier proyecto de esa cuenta de Facturación de Cloud. Después de seleccionar el proyecto, haz lo siguiente:
En la consola de Cloud de Confiance , ve a la página Descuentos por compromiso de uso. Ir a Descuentos por compromiso de uso
Haz clic en Compromiso de compra. Aparecerá la página Comprar un compromiso.
En el campo Nombre, escribe el nombre de tu compromiso.
En el campo Región, selecciona la región en la que deseas comprar el compromiso.
En el campo Tipo de compromiso, selecciona la serie de la familia de máquinas para tu compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:
- Para los tipos de máquinas A2, selecciona A2 optimizada para aceleradores.
- Para los tipos de máquinas A3 Edge y A3 High, selecciona A3 optimizada para aceleradores.
- Para los tipos de máquinas A3 Mega, selecciona A3 Mega optimizada para aceleradores.
- Para los tipos de máquinas G2, selecciona G2 con optimización para gráficos.
- Para los tipos de máquinas G4, selecciona G4 con optimización de gráficos.
- Para los tipos de máquinas C2, selecciona C2 optimizada para procesamiento.
- Para los tipos de máquinas C2D, selecciona C2D optimizado para procesamiento.
- Para los tipos de máquinas C3, selecciona C3 de uso general.
- Para los tipos de máquinas C3D, selecciona C3D de uso general.
- Para los tipos de máquinas C4, selecciona C4 de uso general.
- Para los tipos de máquinas C4A, selecciona C4A de uso general.
- Para los tipos de máquinas C4D, selecciona C4D de uso general.
- Para los tipos de máquinas N1, selecciona N1 de uso general.
- Para los tipos de máquinas N2, selecciona N2 de uso general.
- Para los tipos de máquinas N2D, selecciona N2D de uso general.
- Para los tipos de máquinas M1, selecciona M1/M2 con optimización de memoria.
- Para los tipos de máquinas M3, selecciona M3 con optimización de memoria.
- Para los tipos de máquinas Z3, selecciona Z3 con optimización de almacenamiento.
Para adjuntar una o más reservas existentes al compromiso, haz lo siguiente:
Selecciona la casilla de verificación Adjunta una reserva nueva o existente.
Haz clic en Adjuntar una reserva existente. Aparecerá el panel Incorporar reservas existentes, en el que se mostrarán las reservas de tu proyecto. Esta lista se filtra para que coincida con la región y el tipo de compromiso que especificaste.
En el panel Adjunta reservas existentes, selecciona la casilla de verificación de cada reserva que desees adjuntar.
Revisa el resumen de recursos de las reservas seleccionadas y, luego, haz clic en Adjuntar.
Después de adjuntar tus reservas, Compute Engine completa automáticamente los campos de la sección Detalles del compromiso para que coincidan con las cantidades y los tipos de recursos de tus reservas adjuntas. Si ingresaste valores manualmente para algún recurso en la sección Detalles del compromiso antes de adjuntar reservas, tus valores se reemplazarán por los valores de las reservas.
En la sección Detalles del compromiso, haz lo siguiente:
En el campo Cores, verifica el valor completado previamente. De manera opcional, puedes especificar una cantidad diferente de CPU virtuales.
En el campo Memoria, verifica la cantidad de memoria en GB que se completó previamente. De manera opcional, puedes especificar un importe diferente. Solo puedes especificar la memoria en incrementos de 0.25 GB. Para especificar un valor de memoria personalizado para tu compromiso, usa gcloud CLI o REST.
Expande la sección GPUs y SSDs locales y verifica que los tipos y las cantidades coincidan entre el compromiso y las reservas adjuntas, de la siguiente manera:
En el campo Tipo de GPU, verifica el tipo de GPU precompletado.
En el campo Cantidad de GPU, verifica la cantidad de GPU completada previamente.
En el campo SSD locales, verifica la cantidad de discos completada previamente.
Si especificas manualmente valores diferentes de los de las reservas adjuntas para cualquiera de estos campos, no se completará la compra del compromiso. Para todas las GPUs y la mayoría de los discos SSD locales, la cantidad y los tipos totales deben coincidir entre tu compromiso y las reservas adjuntas.
En la sección Condiciones, haz lo siguiente:
Para especificar el plan de tu compromiso, selecciona 1 año o 3 años. El plan determina la tarifa del CUD y la duración predeterminada del plazo de tu compromiso.
Revisa el campo Fecha de inicio, que muestra la fecha y la hora en que se activa tu compromiso. Este campo se establece automáticamente en las 12 a.m. (hora del Pacífico de EE.UU. y Canadá) del día siguiente a la fecha actual.
Es opcional. Para extender el período de tu compromiso más allá de la duración predeterminada que define tu plan de compromiso, especifica una fecha de finalización personalizada en el campo Fecha de finalización. Para obtener más información, consulta Extiende los términos del compromiso.
Es opcional. Si deseas que tu compromiso se renueve automáticamente al final del período, selecciona la casilla de verificación Renovar compromiso automáticamente.
En el panel Resumen, revisa los detalles de tu compromiso y las posibles limitaciones de cuota.
Para terminar de comprar tu compromiso, haz lo siguiente:
Navega hasta la parte inferior de la página.
Revisa la sección Divulgaciones, que contiene información sobre las comisiones, la elegibilidad para obtener descuentos y los términos y condiciones.
Para confirmar que aceptas el precio de compromiso y las condiciones específicas del servicio, selecciona la casilla de verificación.
Haz clic en Comprar.
gcloud
Para comprar un compromiso adjuntando reservas existentes, ejecuta el comando gcloud compute commitments create.
En el comando, incluye la marca --existing-reservation para especificar una reserva existente que deseas adjuntar a tu compromiso. Incluye una instancia nueva de esta marca para cada reserva existente que desees adjuntar. Puedes adjuntar cualquier cantidad de reservas existentes a tu compromiso.
Por ejemplo, para comprar un compromiso y adjuntarle 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=PLAN \
--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'
Reemplaza lo siguiente:
COMMITMENT_NAME: el nombre del compromisoREGION: la región en la que se encuentra el compromisoPROJECT_ID: el ID del proyecto en el que deseas adquirir el compromiso con las reservas conectadas.PLAN: Es el plan de compromiso, que determina tu tarifa de CUD y la duración del período preestablecido. Especifica12-montho36-month.CUSTOM_END_DATE: Opcional Es la fecha de finalización personalizada de tu período, que debe tener el formatoYYYY-MM-DD. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril de 2024, formatea la fecha como2024-04-20.COMMITMENT_TYPE: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:- Para los tipos de máquinas A2, usa
accelerator-optimized - Para los tipos de máquinas A3 Edge y A3 High, usa
accelerator-optimized-a3. - Para los tipos de máquinas A3 Mega, usa
accelerator-optimized-a3-mega. - Para los tipos de máquinas G2, usa
graphics-optimized. - Para los tipos de máquinas G4, usa
graphics-optimized-g4 - Para los tipos de máquinas C2, usa
compute-optimized. - Para los tipos de máquinas C2D, usa
compute-optimized-c2d. - Para los tipos de máquinas C3, usa
compute-optimized-c3. - Para los tipos de máquinas C3D, usa
compute-optimized-c3d. - Para los tipos de máquinas N1, usa
general-purpose. - Para los tipos de máquinas C4, usa
general-purpose-c4. - Para los tipos de máquinas C4A, usa
general-purpose-c4a. - Para los tipos de máquinas C4D, usa
general-purpose-c4d. - Para los tipos de máquinas N2, usa
general-purpose-n2. - Para los tipos de máquinas N2D, usa
general-purpose-n2d. - Para los tipos de máquinas M1, usa
memory-optimized. - Para los tipos de máquinas M3, usa
memory-optimized-m3. - Para los tipos de máquinas Z3, usa
storage-optimized-z3.
- Para los tipos de máquinas A2, usa
COMMITTED_VCPUS: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY: Es la cantidad de memoria, en MB o GB, que deseas en el compromiso. Por ejemplo,10240MBo10GB. Si no especificas una unidad, Compute Engine usa GB como unidad.COMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE: el tipo de GPU que deseas en tu compromiso.RESERVATION_NAME_1yRESERVATION_NAME_2: los nombres de las reservas existentes que deseas conectar al compromiso.RESERVATION_ZONE_1yRESERVATION_ZONE_2: las zonas de las reservas existentes que deseas conectar al compromiso.
Ejemplo: Adquiere un compromiso conectando reservas existentes
Supongamos que tienes dos reservas res-01 y res-02 en las zonas us-central1-a y us-central1-b del proyecto myproject.
Supongamos que estas reservas contienen una capacidad combinada para 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un compromiso nuevo en la región us-central1 de este proyecto para estas GPUs y discos SSD locales, y usar estas reservas existentes como reservas adjuntas, ejecuta el siguiente comando. Ten en cuenta que el compromiso de ejemplo también contiene CPUs virtuales 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 adjuntando reservas existentes, realiza una solicitud POST al método regionCommitments.insert.
En tu solicitud, incluye el campo existingReservations para especificar una lista separada por comas de todas las reservas existentes que deseas adjuntar a tu compromiso. Puedes adjuntar cualquier cantidad de reservas existentes a tu compromiso.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
"name": "COMMITMENT_NAME",
"plan": "PLAN",
"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"
}
Reemplaza lo siguiente:
COMMITMENT_NAME: el nombre del compromisoREGION: la región en la que se encuentra el compromisoPROJECT_ID: el ID del proyecto en el que deseas adquirir el compromiso con las reservas conectadas.PLAN: Es el plan de compromiso, que determina tu tarifa de CUD y la duración del período preestablecido. EspecificaTWELVE_MONTHoTHIRTY_SIX_MONTH.COMMITMENT_TYPE: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:- Para los tipos de máquinas A2, usa
ACCELERATOR_OPTIMIZED - Para los tipos de máquinas A3 Edge y A3 High, usa
ACCELERATOR_OPTIMIZED_A3. - Para los tipos de máquinas A3 Mega, usa
ACCELERATOR_OPTIMIZED_A3_MEGA. - Para los tipos de máquinas G2, usa
GRAPHICS_OPTIMIZED. - Para los tipos de máquinas G4, usa
GRAPHICS_OPTIMIZED_G4 - Para los tipos de máquinas C2, usa
COMPUTE_OPTIMIZED. - Para los tipos de máquinas C2D, usa
COMPUTE_OPTIMIZED_C2D. - Para los tipos de máquinas C3, usa
COMPUTE_OPTIMIZED_C3. - Para los tipos de máquinas C3D, usa
COMPUTE_OPTIMIZED_C3D. - Para los tipos de máquinas N1, usa
GENERAL_PURPOSE. - Para los tipos de máquinas C4, usa
GENERAL_PURPOSE_C4. - Para los tipos de máquinas C4A, usa
GENERAL_PURPOSE_C4A. - Para los tipos de máquinas C4D, usa
GENERAL_PURPOSE_C4D. - Para los tipos de máquinas N2, usa
GENERAL_PURPOSE_N2. - Para los tipos de máquinas N2D, usa
GENERAL_PURPOSE_N2D. - Para los tipos de máquinas M1, usa
MEMORY_OPTIMIZED. - Para los tipos de máquinas M3, usa
MEMORY_OPTIMIZED_M3. - Para los tipos de máquinas Z3, usa
STORAGE_OPTIMIZED_Z3.
- Para los tipos de máquinas A2, usa
COMMITTED_VCPUS: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY: la cantidad de memoria, en MB, que deseas en el compromiso. Por ejemplo,10240MBCOMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE: el tipo de GPU que deseas en tu compromiso.CUSTOM_END_DATE: Opcional Es la fecha de finalización personalizada de tu período, que debe tener el formatoYYYY-MM-DD. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril de 2024, debes darle el formato2024-04-20.END_TIME: 12 a.m. hora del Pacífico de EE.UU. y Canadá (UTC-8 o UTC-7), como una compensación del horario universal coordinado (UTC). Especifica este valor solo si estableciste una fecha de finalización personalizada para tu compromiso. Especifica uno de los siguientes valores:- Durante el horario de verano:
07:00:00 - En otros momentos:
08:00:00
- Durante el horario de verano:
RESERVATION_URLs: una lista separada por comas de las URLs de las reservas existentes que deseas adjuntar al compromiso. Por ejemplo, para adjuntar dos reservas,res-1yres-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: Adquiere un compromiso conectando reservas existentes
Supongamos que tienes dos reservas res-01 y res-02 en las zonas us-central1-a y us-central1-b del proyecto myproject.
Supongamos que estas reservas contienen una capacidad combinada para 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un compromiso nuevo en la región us-central1 de este proyecto para estas GPUs y discos SSD locales, y usar estas reservas existentes como reservas adjuntas, realiza la siguiente solicitud POST. Ten en cuenta que el compromiso de ejemplo también contiene CPUs virtuales 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 nuevas para adjuntarlas
Puedes crear las reservas adjuntas mientras compras tu compromiso con la Cloud de Confiance consola, Google Cloud CLI o REST.
Console
Antes de adquirir un compromiso con la consola de Cloud de Confiance , selecciona el proyecto que deseas usar para adquirirlo. Si el uso compartido de CUD está habilitado para una cuenta de Facturación de Cloud, puedes adquirir el compromiso con cualquier proyecto de esa cuenta de Facturación de Cloud. Después de seleccionar el proyecto, haz lo siguiente:
En la consola de Cloud de Confiance , ve a la página Descuentos por compromiso de uso. Ir a Descuentos por compromiso de uso
Haz clic en Compromiso de compra. Aparecerá la página Comprar un compromiso.
En el campo Nombre, escribe el nombre de tu compromiso.
En el campo Región, selecciona la región en la que deseas comprar el compromiso.
En el campo Tipo de compromiso, selecciona la serie de la familia de máquinas para tu compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:
- Para los tipos de máquinas A2, selecciona A2 optimizada para aceleradores.
- Para los tipos de máquinas A3 Edge y A3 High, selecciona A3 optimizada para aceleradores.
- Para los tipos de máquinas A3 Mega, selecciona A3 Mega optimizada para aceleradores.
- Para los tipos de máquinas G2, selecciona G2 con optimización para gráficos.
- Para los tipos de máquinas G4, selecciona G4 con optimización de gráficos.
- Para los tipos de máquinas C2, selecciona C2 optimizada para procesamiento.
- Para los tipos de máquinas C2D, selecciona C2D optimizado para procesamiento.
- Para los tipos de máquinas C3, selecciona C3 de uso general.
- Para los tipos de máquinas C3D, selecciona C3D de uso general.
- Para los tipos de máquinas C4, selecciona C4 de uso general.
- Para los tipos de máquinas C4A, selecciona C4A de uso general.
- Para los tipos de máquinas C4D, selecciona C4D de uso general.
- Para los tipos de máquinas N1, selecciona N1 de uso general.
- Para los tipos de máquinas N2, selecciona N2 de uso general.
- Para los tipos de máquinas N2D, selecciona N2D de uso general.
- Para los tipos de máquinas M1, selecciona M1/M2 con optimización de memoria.
- Para los tipos de máquinas M3, selecciona M3 con optimización de memoria.
- Para los tipos de máquinas Z3, selecciona Z3 con optimización de almacenamiento.
Para crear una reserva nueva y adjuntarla al compromiso, haz lo siguiente:
Selecciona la casilla de verificación Adjunta una reserva nueva o existente.
Haz clic en Crear una reserva nueva. Aparecerá el panel Crear una reserva nueva.
En el campo Nombre, ingresa un nombre para la reserva.
Opcional: en el campo Descripción, ingresa una descripción.
En el campo Zona, selecciona la zona en la que deseas que estén disponibles los recursos reservados.
En la sección Tipo de recurso compartido, especifica cómo quieres compartir esta reserva:
- Para crear una reserva de un solo proyecto, selecciona Local.
- Para crear una reserva que se comparta con varios proyectos, selecciona Compartido. Luego, haz clic en Agregar proyectos y selecciona los proyectos que desees.
En la sección Servicios de Google Cloud, especifica si deseas compartir esta reserva con otros servicios, como Google Kubernetes Engine o Vertex AI.
En la sección Usar con instancia de VM, selecciona cómo deseas que las VMs consuman tu reserva:
- Para permitir que las VMs con propiedades coincidentes consuman automáticamente esta reserva, selecciona Usar reserva de forma automática.
- Para consumir los recursos de esta reserva solo cuando se dirijan específicamente por nombre, selecciona Seleccionar reserva específica.
En la sección Detalles del recurso, especifica la siguiente información:
En el campo Cantidad de instancias de VM, ingresa la cantidad de VMs.
En la sección Configuración de máquina, selecciona Tipo de máquina para especificar las propiedades. Selecciona un tipo de máquina de la lista o elige Personalizado para especificar la cantidad de núcleos y la cantidad de memoria.
Opcional: Si deseas reservar GPUs, haz clic en Agregar GPU y especifica el Tipo de GPU y la Cantidad de GPU para cada VM.
Opcional: Si deseas reservar discos SSD locales, especifica la Cantidad de discos y el Tipo de interfaz.
Opcional: Si deseas especificar una política de posición de grupo, selecciona o crea una política en la lista Política de posición de grupo.
Para terminar de especificar las propiedades de esta reserva, haz clic en Crear y adjuntar.
Opcional: Si deseas crear y adjuntar más reservas nuevas, vuelve a hacer clic en Crear reserva nueva y repite estos pasos.
Después de adjuntar tus reservas, Compute Engine completa automáticamente los campos de la sección Detalles del compromiso para que coincidan con las cantidades y los tipos de recursos de tus reservas adjuntas. Si ingresaste valores manualmente para algún recurso en la sección Detalles del compromiso antes de adjuntar reservas, tus valores se reemplazarán por los valores de las reservas.
En la sección Detalles del compromiso, haz lo siguiente:
En el campo Cores, verifica el valor completado previamente. De manera opcional, puedes especificar una cantidad diferente de CPU virtuales.
En el campo Memoria, verifica la cantidad de memoria en GB que se completó previamente. De manera opcional, puedes especificar un importe diferente. Solo puedes especificar la memoria en incrementos de 0.25 GB. Para especificar un valor de memoria personalizado para tu compromiso, usa gcloud CLI o REST.
Expande la sección GPUs y SSDs locales y verifica que los tipos y las cantidades coincidan entre el compromiso y las reservas adjuntas, de la siguiente manera:
En el campo Tipo de GPU, verifica el tipo de GPU precompletado.
En el campo Cantidad de GPU, verifica la cantidad de GPU completada previamente.
En el campo SSD locales, verifica la cantidad de discos completada previamente.
Si especificas manualmente valores diferentes de los de las reservas adjuntas para cualquiera de estos campos, no se completará la compra del compromiso. Para todas las GPUs y la mayoría de los discos SSD locales, la cantidad y los tipos totales deben coincidir entre tu compromiso y las reservas adjuntas.
En la sección Condiciones, haz lo siguiente:
Para especificar el plan de tu compromiso, selecciona 1 año o 3 años. El plan determina la tarifa del CUD y la duración predeterminada del plazo de tu compromiso.
Revisa el campo Fecha de inicio, que muestra la fecha y la hora en que se activa tu compromiso. Este campo se establece automáticamente en las 12 a.m. (hora del Pacífico de EE.UU. y Canadá) del día siguiente a la fecha actual.
Es opcional. Para extender el período de tu compromiso más allá de la duración predeterminada que define tu plan de compromiso, especifica una fecha de finalización personalizada en el campo Fecha de finalización. Para obtener más información, consulta Extiende los términos del compromiso.
Es opcional. Si deseas que tu compromiso se renueve automáticamente al final del período, selecciona la casilla de verificación Renovar compromiso automáticamente.
En el panel Resumen, revisa los detalles de tu compromiso y las posibles limitaciones de cuota.
Para terminar de comprar tu compromiso, haz lo siguiente:
Navega hasta la parte inferior de la página.
Revisa la sección Divulgaciones, que contiene información sobre las comisiones, la elegibilidad para obtener descuentos y los términos y condiciones.
Para confirmar que aceptas el precio de compromiso y las condiciones específicas del servicio, selecciona la casilla de verificación.
Haz clic en Comprar.
gcloud
Para crear las reservas adjuntas mientras compras el compromiso, ejecuta el comando gcloud compute commitments create.
Según si deseas adjuntar una sola reserva o varias, ejecuta el comando de una de las siguientes maneras:
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 PLAN \ --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_2Para crear y adjuntar varias reservas a tu compromiso, define las propiedades de la reserva con un archivo YAML y, luego, especifícalo en el comando que usas para comprar el compromiso. De forma opcional, también puedes usar este enfoque de archivo YAML para crear y adjuntar una sola reserva a tu compromiso. Para crear tus reservas adjuntas con este enfoque, haz lo siguiente:
Crea el archivo YAML en el directorio actual y especifica la configuración que deseas para cada reserva conectada. Por ejemplo, para especificar la configuración de una reserva compartida con dos proyectos que especifican GPU, 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_2Para especificar la configuración de varias reservas, repite estas propiedades para cada reserva que desees crear. Puedes adjuntar cualquier cantidad de reservas existentes que desees a tu compromiso.
Ejecuta el comando
gcloud compute commitments createy, además, incluye la marca--reservation-from-file.gcloud compute commitments create COMMITMENT_NAME \ --region REGION \ --project PROJECT_ID \ --plan PLAN \ --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
Reemplaza lo siguiente por las propiedades correspondientes del compromiso y las reservas conectadas:
Compromiso
COMMITMENT_NAME: el nombre del compromisoREGION: la región en la que se encuentra el compromisoPROJECT_ID: el ID del proyecto en el que deseas adquirir el compromiso con las reservas conectadas.PLAN: Es el plan de compromiso, que determina tu tarifa de CUD y la duración del período preestablecido. Especifica12-montho36-month.CUSTOM_END_DATE: Opcional Es la fecha de finalización personalizada de tu período, que debe tener el formatoYYYY-MM-DD. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril de 2024, formatea la fecha como2024-04-20.COMMITMENT_TYPE: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:- Para los tipos de máquinas A2, usa
accelerator-optimized - Para los tipos de máquinas A3 Edge y A3 High, usa
accelerator-optimized-a3. - Para los tipos de máquinas A3 Mega, usa
accelerator-optimized-a3-mega. - Para los tipos de máquinas G2, usa
graphics-optimized. - Para los tipos de máquinas G4, usa
graphics-optimized-g4 - Para los tipos de máquinas C2, usa
compute-optimized. - Para los tipos de máquinas C2D, usa
compute-optimized-c2d. - Para los tipos de máquinas C3, usa
compute-optimized-c3. - Para los tipos de máquinas C3D, usa
compute-optimized-c3d. - Para los tipos de máquinas N1, usa
general-purpose. - Para los tipos de máquinas C4, usa
general-purpose-c4. - Para los tipos de máquinas C4A, usa
general-purpose-c4a. - Para los tipos de máquinas C4D, usa
general-purpose-c4d. - Para los tipos de máquinas N2, usa
general-purpose-n2. - Para los tipos de máquinas N2D, usa
general-purpose-n2d. - Para los tipos de máquinas M1, usa
memory-optimized. - Para los tipos de máquinas M3, usa
memory-optimized-m3. - Para los tipos de máquinas Z3, usa
storage-optimized-z3.
- Para los tipos de máquinas A2, usa
COMMITTED_VCPUS: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY: Es la cantidad de memoria, en MB o GB, que deseas en el compromiso. Por ejemplo,10GBo10240MB. Si no especificas una unidad, Compute Engine usa GB como unidad.COMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE: el tipo de GPU que deseas en tu compromiso.YAML_FILE: es la ruta al archivo YAML que contiene la configuración de las reservas conectadas.
Reservas adjuntas
RESERVATION_NAME: el nombre de la reserva conectada.RESERVATION_ZONE: la zona de la reserva conectada.REQUIRE_SPECIFIC_RESERVATION_VALUE: especifica si la reserva conectada es una reserva dirigida de forma específica, ya seatrueofalse. Para obtener más información sobre las reservas segmentadas de forma específica, consulta Cómo funcionan las reservas.NUMBER_OF_RESERVED_VMS: el número de VMs que deseas reservar en la reserva conectada.RESERVED_MACHINE_TYPE: el tipo de máquina que deseas para las VMs en tu reserva conectada.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS; por ejemplo,n2-standard-4. Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY; por ejemplo,n2-custom-4-5120. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.Reemplaza lo siguiente:
MACHINE_FAMILY: la familia de tipos de máquinas; por ejemplo, especifican2para las VMs N2.CPUS: Es la cantidad de CPU virtuales.MEMORY: la memoria total para 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 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120.
- Para los tipos de máquinas predefinidos, usa el formato
RESERVED_ACCELERATOR_COUNT: el número de GPUs que deseas agregar, por VM, en la reserva conectada.RESERVED_ACCELERATOR_TYPE: el tipo de acelerador que deseas agregar en la reserva de reemplazo.INTERFACE_1yINTERFACE_2: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssdpara cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.OWNER_PROJECT_ID: el ID del proyecto en el que deseas adquirir el compromiso con la reserva conectada. Especifica este campo si deseas compartir tu reserva conectada en varios proyectos de consumidor.MINIMUM_CPU_PLATFORM: la plataforma de CPU mínima que deseas especificar para la reserva conectada.SHARE_SETTING: es el tipo de uso compartido de la reserva conectada. Especifica este campo con el valor comoprojectssi deseas compartir tu reserva conectada en varios proyectos de consumidor. Excluye este campo si deseas crear una reserva de un solo proyecto.CONSUMER_PROJECT_ID_1yCONSUMER_PROJECT_ID_2: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1yproject-2. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No incluyas el ID del proyecto en el que creas esta reserva, ya que ese proyecto puede consumirla de forma predeterminada. Excluye estos campos si deseas crear una reserva de un solo proyecto.
Compute Engine crea el compromiso con las reservas conectadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y una cuota suficiente en el momento en que se realiza tu solicitud. Si la compra se realizó correctamente, verás un mensaje de confirmación similar al siguiente:
Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]
Ejemplos para comprar compromisos mediante la creación de reservas nuevas para conectarlas
En los siguientes ejemplos de situaciones y comandos, se muestra cómo puedes comprar un compromiso para GPUs, discos SSD locales o ambos creando reservas nuevas para conectarlas a ese compromiso.
Ejemplo 1: Adquiere un compromiso para GPUs mediante la vinculación de una sola reserva nueva
Supongamos que deseas comprar un compromiso de commitment-01 en la región us-central1 que incluye 4 GPUs NVIDIA V100. Deseas crear una reserva nueva reservation-01 como la reserva conectada para esas GPUs. Supongamos que también deseas especificar Compute Engine para usar esas GPUs reservadas en 2 VMs n1-standard-32 en la zona us-central1-a. Para comprar este compromiso de ejemplo con su reserva conectada, 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: Compra un compromiso para GPU sin comprometerte a usar CPUs virtuales o memoria
Para comprometerte a usar y reservar GPUs y discos SSD locales sin comprometerte a usar CPUs virtuales ni memoria, especifica 0 como el valor de la cantidad de CPUs virtuales y memoria.
Por ejemplo, supongamos que deseas comprar un compromiso commitment-02 para una sola GPU NVIDIA P4 en la región us-west2. También quieres crear una reserva nueva como la reserva adjunta y especificar Compute Engine para usar la GPU reservada en una VM n1-standard-2 en la zona us-west2-b. Para comprar este compromiso de ejemplo con su reserva conectada, 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: Compra un compromiso para GPUs y discos SSD locales mediante la conexión de varias reservas nuevas
Supongamos que deseas adquirir un compromiso commitment-03 para 1 GPU NVIDIA V100 y 2 discos SSD locales en la región us-central1. También querrás crear y adjuntar dos reservas en la zona us-central1-a. En la primera reserva, res-01, quieres reservar 1 VM n1-standard-2 con 1 GPU. Deseas hacer que res-01 sea una reserva orientada, lo que significa que debes dirigirte a esa reserva de forma específica por nombre para usar sus VMs reservadas. En la segunda reserva, res-02, deseas reservar 1 VM n1-standard-8 con 2 tipos de discos SSD locales conectados.
Para comprar este compromiso de ejemplo con las reservas adjuntas, 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
Después de crear el archivo YAML, para terminar de comprar el compromiso con sus reservas adjuntas, ejecuta el siguiente comando. Ten en cuenta que el compromiso de ejemplo también contiene recursos de CPU virtual y 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 adjuntas mientras compras tu compromiso,
realiza una solicitud POST al
método regionCommitments.insert.
En tu solicitud, incluye el campo reservations para definir una lista de todas las reservas nuevas que deseas crear y adjuntar. Puedes adjuntar cualquier cantidad de reservas existentes que desees a tu compromiso.
Para crear tu reserva nueva especificando manualmente todas las propiedades de la VM, incluye el campo
instancePropertiesy excluye el camposourceInstanceTemplate.Por ejemplo, para especificar de forma manual la configuración de una reserva compartida con dos proyectos que especifican GPU, dos discos SSD locales y una plataforma de CPU mínima, realiza la siguiente solicitud:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "PLAN", "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 tu reserva nueva especificando una plantilla de instancias, incluye el campo
sourceInstanceTemplatey excluye el campoinstanceProperties.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "PLAN", "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" } } } } ] }
Reemplaza lo siguiente por las propiedades correspondientes del compromiso y las reservas conectadas:
Compromiso
COMMITMENT_NAME: el nombre del compromisoREGION: la región en la que se encuentra el compromisoPROJECT_ID: el ID del proyecto en el que deseas adquirir el compromiso con las reservas conectadas.PLAN: Es el plan de compromiso, que determina tu tarifa de CUD y la duración del período preestablecido. EspecificaTWELVE_MONTHoTHIRTY_SIX_MONTH.COMMITMENT_TYPE: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:- Para los tipos de máquinas A2, usa
ACCELERATOR_OPTIMIZED - Para los tipos de máquinas A3 Edge y A3 High, usa
ACCELERATOR_OPTIMIZED_A3. - Para los tipos de máquinas A3 Mega, usa
ACCELERATOR_OPTIMIZED_A3_MEGA. - Para los tipos de máquinas G2, usa
GRAPHICS_OPTIMIZED. - Para los tipos de máquinas G4, usa
GRAPHICS_OPTIMIZED_G4 - Para los tipos de máquinas C2, usa
COMPUTE_OPTIMIZED. - Para los tipos de máquinas C2D, usa
COMPUTE_OPTIMIZED_C2D. - Para los tipos de máquinas C3, usa
COMPUTE_OPTIMIZED_C3. - Para los tipos de máquinas C3D, usa
COMPUTE_OPTIMIZED_C3D. - Para los tipos de máquinas N1, usa
GENERAL_PURPOSE. - Para los tipos de máquinas C4, usa
GENERAL_PURPOSE_C4. - Para los tipos de máquinas C4A, usa
GENERAL_PURPOSE_C4A. - Para los tipos de máquinas C4D, usa
GENERAL_PURPOSE_C4D. - Para los tipos de máquinas N2, usa
GENERAL_PURPOSE_N2. - Para los tipos de máquinas N2D, usa
GENERAL_PURPOSE_N2D. - Para los tipos de máquinas M1, usa
MEMORY_OPTIMIZED. - Para los tipos de máquinas M3, usa
MEMORY_OPTIMIZED_M3. - Para los tipos de máquinas Z3, usa
STORAGE_OPTIMIZED_Z3.
- Para los tipos de máquinas A2, usa
COMMITTED_VCPUS: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY: la cantidad de memoria, en MB, que deseas en el compromiso. Por ejemplo,10240MBCOMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE: el tipo de GPU que deseas en tu compromiso.CUSTOM_END_DATE: Opcional Es la fecha de finalización personalizada de tu período, que debe tener el formatoYYYY-MM-DD. Por ejemplo, para especificar una fecha de finalización personalizada del 20 de abril de 2024, formatea la fecha como2024-04-20.END_TIME: 12 a.m. hora del Pacífico de EE.UU. y Canadá (UTC-8 o UTC-7), como una compensación del horario universal coordinado (UTC). Especifica este valor solo si estableciste una fecha de finalización personalizada para tu compromiso. Especifica uno de los siguientes valores:- Durante el horario de verano:
07:00:00 - En otros momentos:
08:00:00
- Durante el horario de verano:
Reservas adjuntas
RESERVATION_NAME: el nombre de la reserva conectada.RESERVATION_ZONE: la zona de la reserva conectada.REQUIRE_SPECIFIC_RESERVATION_VALUE: especifica si la reserva conectada es una reserva dirigida de forma específica, ya seatrueofalse. Para obtener más información sobre las reservas segmentadas de forma específica, consulta Cómo funcionan las reservas.NUMBER_OF_RESERVED_VMS: el número de VMs que deseas reservar en la reserva conectada.RESERVED_MACHINE_TYPE: el tipo de máquina que deseas para las VMs en tu reserva conectada.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS; por ejemplo,n2-standard-4. Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY; por ejemplo,n2-custom-4-5120. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.Reemplaza lo siguiente:
MACHINE_FAMILY: la familia de tipos de máquinas; por ejemplo, especifican2para las VMs N2.CPUS: Es la cantidad de CPU virtuales.MEMORY: la memoria total para 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 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120.
- Para los tipos de máquinas predefinidos, usa el formato
RESERVED_ACCELERATOR_COUNT: el número de GPUs que deseas agregar, por VM, en la reserva conectada.RESERVED_ACCELERATOR_TYPE: el tipo de acelerador que deseas agregar en la reserva de reemplazo.INTERFACE_1yINTERFACE_2: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsdspara cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.MINIMUM_CPU_PLATFORM: la plataforma de CPU mínima que deseas especificar para la reserva conectada.INSTANCE_TEMPLATE_NAME: Es el nombre de la plantilla de instancias que quieres usar para crear la reserva adjunta.SHARE_SETTING: es el tipo de uso compartido de la reserva conectada. Especifica este campo con el valor comoSPECIFIC_PROJECTSsi deseas compartir tu reserva conectada en varios proyectos de consumidor. Excluye este campo si deseas crear una reserva de un solo proyecto.CONSUMER_PROJECT_ID_1yCONSUMER_PROJECT_ID_2: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1yproject-2. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No incluyas el ID del proyecto en el que creas esta reserva, ya que ese proyecto puede consumirla de forma predeterminada. Excluye estos campos si deseas crear una reserva de un solo proyecto.
Compute Engine crea el compromiso con las reservas conectadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y una cuota suficiente en el momento en que se realiza tu solicitud. Si la compra se realizó correctamente, Compute Engine muestra un estado 200 para tu solicitud a la API de REST.
Ejemplos para comprar compromisos mediante la creación de reservas nuevas para conectarlas
En los siguientes ejemplos de situaciones y comandos, se muestra cómo puedes comprar un compromiso para GPUs, discos SSD locales o ambos creando reservas nuevas para conectarlas a ese compromiso.
Ejemplo 1: Adquiere un compromiso para GPUs mediante la vinculación de una sola reserva nueva
Supongamos que deseas comprar un compromiso de commitment-01 en la región us-central1 que incluye 4 GPUs NVIDIA V100. Deseas crear una reserva nueva reservation-01 como la reserva conectada para esas GPUs. Supongamos que también quieres especificar Compute Engine para usar esas GPUs reservadas en 2 VMs n1-standard-8 en la zona us-central1-a. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitud POST:
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: Compra un compromiso para GPU sin comprometerte a usar CPUs virtuales o memoria
Para comprometerte a usar y reservar GPUs y discos SSD locales sin comprometerte a usar CPUs virtuales ni memoria, especifica 0 como el valor de la cantidad de CPUs virtuales y memoria.
Por ejemplo, supongamos que deseas comprar un compromiso commitment-02 para una sola GPU NVIDIA P4 en la región us-west2. También quieres crear una reserva nueva como la reserva conectada y especificar Compute Engine para usar la GPU reservada en una VM n1-standard-2 en la zona us-west2-b. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitud POST:
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: Compra un compromiso para GPUs y discos SSD locales mediante la conexión de varias reservas nuevas
Supongamos que deseas adquirir un compromiso commitment-03 para 1 GPU NVIDIA V100 y 2 discos SSD locales en la región us-central1. También querrás crear y adjuntar dos reservas en la zona us-central1-a. En la primera reserva, res-01, quieres reservar 1 VM n1-standard-2 con 1 GPU. Deseas hacer que res-01 sea una reserva orientada, lo que significa que debes dirigirte a esa reserva de forma específica por nombre para usar sus VMs reservadas. En la segunda reserva, res-02, deseas reservar 1 VM n1-standard-8 con 2 tipos de discos SSD locales conectados. Para comprar este compromiso de ejemplo con las reservas adjuntas, realiza la siguiente solicitud POST. Ten en cuenta que el compromiso de ejemplo también contiene recursos de CPU virtual 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"
}
]
}
Reemplaza las reservas conectadas a los compromisos
Reemplaza la reserva conectada existente de tu compromiso por una reserva nueva si deseas modificar los tipos y la cantidad de VMs que usan tus recursos comprometidos.
La reserva de reemplazo siempre será una reserva recién creada. Para reemplazar una reserva adjunta, debes especificar las propiedades de la reserva que deseas usar como reemplazo. Luego, Compute Engine crea automáticamente una reserva nueva con estas propiedades y la usa para reemplazar la reserva adjunta. No puedes usar una reserva existente para reemplazar la reserva adjunta.
Cambios permitidos
Cuando reemplazas la reserva conectada existente de un compromiso por una reserva nueva, puedes solicitar cualquiera de los siguientes cambios:
- Puedes reservar las VMs desde un tipo de máquina diferente. Sin embargo, aún debes reservar VMs de la misma familia de máquinas para seguir recibiendo CUDs para tus recursos reservados.
- Puedes cambiar la cantidad de VMs que deseas reservar.
- Puedes cambiar la cantidad de GPU y discos SSD locales conectados a cada VM, siempre que la cantidad total de GPU reservadas y discos SSD locales siga siendo iguales.
- Puedes especificar que tus reservas reemplazadas sean reservas de un solo proyecto (también llamadas locales en la consola de Cloud de Confiance ) o compartidas.
Requisitos
Cuando reemplazas la reserva conectada de tu compromiso por una nueva, tu solicitud debe cumplir con los siguientes requisitos:
- Solo puedes reemplazar una reserva conectada a la vez por una nueva. Para reemplazar una reserva conectada, quita una reserva conectada existente de forma simultánea mediante la configuración de su recuento de VM en 0 y define una reserva conectada nueva que desees reemplazar.
- La reserva nueva debe estar en el mismo proyecto que el compromiso.
- La reserva nueva debe estar en la misma zona que la reserva que se quitó.
- La cantidad y los tipos de GPUs especificados en la reserva nueva deben coincidir con la reserva que se quitó.
- La cantidad y los tipos de discos SSD locales especificados en la reserva nueva deben coincidir con la reserva que se quitó.
- Solo puedes cambiar hasta 100 VMs por solicitud. Para realizar un cambio que incluya más de 100 VMs, divide el cambio en varias solicitudes más pequeñas o comunícate con la Cloud de Confiance by S3NS asistencia.
Tu solicitud para reemplazar una reserva también depende de la disponibilidad de capacidad en ese momento. Si la capacidad de una solicitud no está disponible, la solicitud falla y muestra un error de disponibilidad de recursos; puedes intentar resolverlo mediante la modificación o aplazamiento de la solicitud.
Si tu solicitud para reemplazar una reserva conectada falla, la reserva conectada y los recursos reservados existentes no se verán afectados. Para conservar tu capacidad, espera a que se realicen los cambios correspondientes en tus VMs hasta que tu solicitud de reemplazar una reserva se realice de forma correcta.
Pasos para reemplazar una reserva conectada
Puedes reemplazar las reservas de un compromiso con Google Cloud CLI o REST.
gcloud
Para reemplazar las reservas conectadas a los compromisos, haz lo siguiente:
Crea un archivo YAML en el directorio actual con la configuración de las siguientes reservas conectadas:
La reserva actual que deseas reemplazar.
Para recuperar los detalles de esta reserva, consulta Visualiza detalles de una reserva.
La nueva reserva de reemplazo.
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_2Reemplaza lo siguiente por las propiedades correspondientes de las reservas actuales y de reemplazo:
Reserva actual
Para la reserva actual, todas las propiedades siguientes deben ser exactamente iguales a las que viste cuando viste la reserva. Omite los campos para cualquier propiedad que la reserva actual aún no tenga.
CURRENT_RESERVATION_NAME: es el nombre de la reserva conectada actual.CURRENT_RESERVATION_ZONE: es la zona de la reserva conectada actual.CURRENT_RESERVATION_MACHINE_TYPE: es el tipo de máquina de la reserva conectada actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: es la cantidad de GPU reservadas en la reserva conectada actual.CURRENT_RESERVATION_ACCELERATOR_TYPE: es el tipo de acelerador reservado en la reserva conectada actual.CURRENT_RESERVATION_INTERFACE_1yCURRENT_RESERVATION_INTERFACE_2: el tipo de interfaz que usan los discos SSD locales para cada VM reservada en la reserva conectada actual. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssdpara todos los discos SSD locales reservados.CURRENT_RESERVATION_PROJECT_ID: es el ID del proyecto actual que tiene el compromiso y la reserva conectada. Especifica este campo si tu reserva actual conectada se comparte entre varios proyectos de consumidores.CURRENT_RESERVATION_SHARE_SETTING: es el tipo de uso compartido de la reserva actual. Especifica este campo con el valor comoprojectssi tu reserva conectada actual se comparte en varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: son los IDs de los proyectos con los que compartes la reserva conectada actual, por ejemplo,project-1yproject-2.
Reserva de reemplazo
Para la reserva de reemplazo, configura las siguientes propiedades según sea necesario. Asegúrate de cumplir con todos los requisitos cuando especifiques estas propiedades. Omite cualquier campo adicional que no quieras usar.
REPLACEMENT_RESERVATION_NAME: es el nombre de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_ZONE: es la zona de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_NUMBER_OF_VMS: es la cantidad de VMs que deseas reservar en la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_MACHINE_TYPE: es el tipo de máquina que deseas para las VMs en tu nueva reserva de reemplazo.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS; por ejemplo,n2-standard-4. - Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY; por ejemplo,n2-custom-4-5120. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.
Reemplaza lo siguiente:
MACHINE_FAMILY: la familia de tipos de máquinas; por ejemplo, especifican2para las VMs N2.CPUS: Es la cantidad de CPU virtuales.MEMORY: la memoria total para 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 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120.
- Para los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: es la cantidad de GPU que deseas agregar, por VM, en la reserva de reemplazo.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: es el tipo de acelerador que deseas agregar en la reserva de reemplazo.REPLACEMENT_RESERVATION_INTERFACE_1yREPLACEMENT_RESERVATION_INTERFACE_2: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssdpara cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_PROJECT_ID: es el ID del proyecto actual que tiene el compromiso y la reserva conectada. Especifica este campo si deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_SHARE_SETTING: es el tipo de uso compartido de la reserva de reemplazo. Especifica este campo con el valor comoprojectssi deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: son 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 estar en la misma organización que el proyecto de propietario. No incluyasREPLACEMENT_RESERVATION_PROJECT_ID, que ya tiene permisos para consumir esta reserva de forma predeterminada.
Ejecuta el comando
gcloud beta compute commitments update-reservationsy 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_FILEReemplaza lo siguiente:
COMMITMENT_NAME: es el nombre del compromiso con la reserva conectada.PROJECT_ID: es el ID del proyecto del compromiso con la reserva conectada.REGION: a región en la que se encuentra el compromisoYAML_FILE: es la ruta al archivo YAML que contiene la configuración de las reservas actuales y de reemplazo.
Ejemplo de reemplazo de una reserva que se conecta a un compromiso
Para demostrar esto, en esta sección se muestra un compromiso de ejemplo con una reserva conectada y cómo reemplazar la reserva conectada de ejemplo.
Ejemplo de compromiso con una reserva conectada
Por ejemplo, supongamos que deseas actualizar las reservas conectadas
para el compromiso my-commitment-with-reservations,
que se compraron mediante 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
Para este ejemplo, supongamos que, cuando se ejecutó este comando,
one-reservation.yaml era un archivo en el directorio actual con el
siguiente contenido, que define una reserva conectada llamada res-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 compromiso my-commitment-with-reservations y la reserva conectada
res-1 generaron los siguientes recursos confirmados y
reservados:
| Tipo de recurso | Recursos en el compromiso ( my-commitment-with-reservations) |
Recursos en la reserva conectada actual ( res-1) |
|---|---|---|
| CPU virtuales y memoria | 16 CPUs virtuales y 60 GB | 16 CPUs virtuales y 60 GB (4 VMs n1-standard-4 reservadas)* |
| GPU | 4 GPU P100 | 4 GPU 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)* |
* Específicamente, la reserva conectada de ejemplo, res-1, reserva 4 VMs n1-standard-4 cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfaz scsi. El
tipo de máquina n1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.
Reemplaza la reserva conectada de ejemplo
Supongamos que deseas reemplazar la reserva conectada res-1
por una reserva conectada nueva res-2 y cambiar los recursos reservados
por lo siguiente:
| Tipo de recurso | Recursos en el compromiso ( my-commitment-with-reservations) |
Recursos en la reserva conectada actual ( res-1) |
Recursos en la reserva de reemplazo conectada ( res-2) |
|---|---|---|---|
| CPU virtuales y memoria | 16 CPUs virtuales y 60 GB | 16 CPUs virtuales y 60 GB (4 VMs n1-standard-4 reservadas)* |
16 CPUs virtuales y 60 GB (2 VMs n1-standard-8 reservadas y compartidas)† |
| GPU | 4 GPU P100 | 4 GPU P100 (1 GPU P100 por VM para 4 VMs)* |
4 GPU P100 (2 GPU 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)* |
* Específicamente, la reserva conectada de ejemplo, res-1, reserva 4 VMs n1-standard-4 cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfaz scsi. El
tipo de máquina n1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.
†Específicamente, la reserva conectada de reemplazo define res-2, que reserva 2 VMs n1-standard-8, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfaz scsi. Además, res-2 se
comparte con 2 proyectos más, project-1 y
project-2, y pertenece al proyecto actual,
my-project. El tipo de máquina n1-standard-8 usa 8 CPUs virtuales y 30 GB para cada VM.
A fin de reemplazar la reserva conectada res-1 por res-2
para el compromiso my-commitment-with-reservations, haz lo siguiente:
Crea un archivo llamado
two-reservations.yamlen el directorio actual que tenga el siguiente contenido:- 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: 375Ejecuta el siguiente comando:
gcloud beta compute commitments update-reservations my-commitment-with-reservations \ --region=asia-east1 \ --reservations-from-file=two-reservations.yaml
REST
Para reemplazar las reservas que se adjuntan a los compromisos, realiza una solicitud POST
con el método regionCommitments.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"
}
}
}
}
]
}
Reemplaza lo siguiente por las propiedades correspondientes del compromiso, la reserva actual y la reserva de reemplazo:
Compromiso
COMMITMENT_NAME: es el nombre del compromiso con la reserva conectada.PROJECT_ID: es el ID del proyecto del compromiso con la reserva conectada. Este también es el ID del proyecto para las reservas actuales y adjuntas.COMMITMENT_ZONE: es la zona del compromiso con la reserva conectada.
Reserva actual
Para la reserva actual, todas las propiedades siguientes deben ser exactamente iguales a las que viste cuando viste la reserva. Omite los campos para cualquier propiedad que la reserva actual aún no especifique.
CURRENT_RESERVATION_NAME: es el nombre de la reserva conectada actual.CURRENT_RESERVATION_ZONE: es la zona de la reserva conectada actual.CURRENT_RESERVATION_MACHINE_TYPE: es el tipo de máquina de la reserva conectada actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: es la cantidad de GPU reservadas en la reserva conectada actual.CURRENT_RESERVATION_ACCELERATOR_TYPE: es el tipo de acelerador reservado en la reserva conectada actual.CURRENT_RESERVATION_INTERFACE_1yCURRENT_RESERVATION_INTERFACE_2: el tipo de interfaz que usan los discos SSD locales para cada VM reservada en la reserva conectada actual. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsdspara todos los discos SSD locales reservados.CURRENT_RESERVATION_SHARE_SETTING: es el tipo de uso compartido de la reserva actual. Especifica este parámetro con el valor comoprojectssi tu reserva conectada actual se comparte en varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: son los IDs de los proyectos con los que compartes la reserva conectada actual, por ejemploproject-1yproject-2.
Reserva de reemplazo
Para la reserva de reemplazo, configura las siguientes propiedades según sea necesario. Asegúrate de cumplir con todos los requisitos cuando especifiques estas propiedades. Omite cualquier campo adicional que no quieras usar.
REPLACEMENT_RESERVATION_NAME: es el nombre de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_ZONE: es la zona de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_NUMBER_OF_VMS: es la cantidad de VMs que deseas reservar en la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_MACHINE_TYPE: es el tipo de máquina que deseas para las VMs en tu nueva reserva de reemplazo.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS; por ejemplo,n2-standard-4. - Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY; por ejemplo,n2-custom-4-5120. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.
Reemplaza lo siguiente:
MACHINE_FAMILY: es la familia de tipos de máquinas; por ejemplo, especifican2para las VM N2.CPUS: Es la cantidad de CPU virtuales.MEMORY: la memoria total para 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 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120.
- Para los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: es la cantidad de GPU que deseas agregar, por VM, en la reserva de reemplazo.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: es el tipo de acelerador que deseas agregar en la reserva de reemplazo.REPLACEMENT_RESERVATION_INTERFACE_1yREPLACEMENT_RESERVATION_INTERFACE_2: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsiynvme. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsdspara cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_SHARE_SETTING: es el tipo de uso compartido de la reserva de reemplazo. Especifica este parámetro con el valor comoprojectssi deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: son 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 estar en la misma organización que el proyecto de propietario. No incluyasPROJECT_ID, que ya tiene permisos para consumir esta reserva de forma predeterminada.
Ejemplo de reemplazo de una reserva que se conecta a un compromiso
Para demostrar esto, en esta sección se muestra un compromiso de ejemplo con una reserva conectada y cómo reemplazar la reserva conectada de ejemplo.
Ejemplo de compromiso con una reserva conectada
Por ejemplo, supongamos que deseas reemplazar la reserva conectada
res-1 para el compromiso my-commitment-with-reservations y que se compró
mediante la siguiente solicitud POST:
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 compromiso my-commitment-with-reservations y la reserva conectada
res-1 generaron los siguientes recursos confirmados y
reservados:
| Tipo de recurso | Recursos en el compromiso ( my-commitment-with-reservations) |
Recursos en la reserva conectada actual ( res-1) |
|---|---|---|
| CPU virtuales y memoria | 16 CPUs virtuales y 60 GB | 16 CPUs virtuales y 60 GB (4 VMs n1-standard-4 reservadas)* |
| GPU | 4 GPU P100 | 4 GPU 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)* |
* Específicamente, la reserva conectada de ejemplo, res-1, reserva 4 VMs n1-standard-4
cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfaz scsi. El
tipo de máquina n1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.
Reemplaza la reserva conectada de ejemplo
Supongamos que deseas reemplazar la reserva conectada res-1
por una reserva conectada nueva res-2 y cambiar los recursos reservados
por lo siguiente:
| Tipo de recurso | Recursos en el compromiso ( my-commitment-with-reservations) |
Recursos en la reserva conectada actual ( res-1) |
Recursos en la reserva de reemplazo conectada ( res-2) |
|---|---|---|---|
| CPU virtuales y memoria | 16 CPUs virtuales y 60 GB | 16 CPUs virtuales y 60 GB (4 VMs n1-standard-4 reservadas)* |
16 CPUs virtuales y 60 GB (2 VMs n1-standard-8 reservadas y compartidas)† |
| GPU | 4 GPU P100 | 4 GPU P100 (1 GPU P100 por VM para 4 VMs)* |
4 GPU P100 (2 GPU 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)* |
* Específicamente, la reserva conectada de ejemplo, res-1, reserva 4 VMs n1-standard-4 cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfaz scsi. El
tipo de máquina n1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.
†Específicamente, la reserva conectada de reemplazo define res-2, que reserva 2 VMs n1-standard-8, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfaz scsi. Además, res-2 se
comparte con 2 proyectos más, project-1 y
project-2, y pertenece al proyecto actual,
my-project. El tipo de máquina n1-standard-8 usa
8 CPUs virtuales y 30 GB para cada VM.
Para reemplazar la reserva conectada res-1 por res-2
para el compromiso my-commitment-with-reservations, realiza la siguiente
solicitud POST mediante el método
regionCommitments.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"
}
]
}
¿Qué sigue?
- Obtén más información sobre los CUDs basados en recursos.
- Obtén información sobre cómo consumir reservas.
- Obtén información sobre cómo modificar reservas.
- Obtén más información sobre cómo borrar reservas.