En este documento, se explica cómo comprar compromisos basados en recursos con reservas adjuntas a través de la consola de Google Cloud , gcloud CLI o REST.
Para obtener más información sobre cómo funcionan las reservas conectadas, consulta Adjunta reservas a compromisos basados en recursos.
Si deseas adquirir compromisos para CPUs virtuales y memoria sin reservas adjuntas, consulta Compra compromisos basados en recursos sin reservas adjuntas.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI. Después de instalarla, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- 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.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para comprar compromisos y crear reservas, pídele a tu administrador que te otorgue el rol de IAM Administrador de Compute (roles/compute.admin) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para comprar compromisos y crear reservas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para comprar compromisos y crear reservas:
-
compute.commitments.create -
compute.reservations.create
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
De forma predeterminada, los propietarios de proyectos tienen permiso para comprar compromisos basados en recursos. Sin embargo, los propietarios pueden crear funciones personalizadas que incluyan o excluyan a ciertos usuarios. Lee sobre el control de acceso para asegurarte de tener permiso para adquirir un compromiso basado en recursos.
Compra un compromiso de hardware basado en recursos con reservas conectadas
Cuando compras un compromiso nuevo, puedes adjuntar reservas a tu compromiso de cualquiera de las siguientes maneras:- Usa reservas existentes que coincidan con las propiedades del 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). Compute Engine mantiene una retención en tu proyecto para cada región del proyecto en la que compras un compromiso. Cuando adquieres un compromiso nuevo para cualquier región de tu proyecto, Compute Engine asocia la retención para esa región con el compromiso recién creado.
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 laGoogle Cloud 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., 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.
- Si tu compromiso especifica algún tipo de recurso que requiera reservas adjuntas, debes inhabilitar la opción de eliminación automática en las reservas adjuntas. Obtén más información sobre los tipos de recursos que requieren reservas adjuntas.
- Si tu compromiso tiene GPUs, el tipo de GPU espedificado en la reserva y el compromiso deben coincidir.
Para las GPUs y la mayoría de 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, C4N, G4, 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 A100s o NVIDIA V100s, pero no puedes usar un compromiso que compraste para las GPUs de NVIDIA A100 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.
- Asegúrate de que el uso compartido de CUD esté habilitado para esa cuenta de Facturación de Cloud.
Incorporar reservas existentes
Puedes adjuntar reservas existentes mientras compras tu compromiso a través de la consola de Google Cloud , Google Cloud CLI o REST.
Console
Antes de adquirir un compromiso con la consola de Google Cloud , 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 Google Cloud , 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 con optimización de acelerador.
- 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 C4N, selecciona C4N optimizado para redes.
- 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, los valores se reemplazarán por los de las reservas.
En la sección Detalles del compromiso, haz lo siguiente:
En el campo Cores, verifica el valor precompletado. De manera opcional, puedes especificar una cantidad diferente de CPUs virtuales.
En el campo Memoria, verifica la cantidad de memoria precargada en GB. 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 precompletada.
En el campo SSD locales, verifica la cantidad de discos precompletada.
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, las cantidades y los tipos totales deben coincidir entre tu compromiso y las reservas adjuntas.
En la sección Plazo, 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 compromiso.
Revisa el campo Fecha de inicio, que muestra la fecha y 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 se define en 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 las condiciones de los compromisos.
Es opcional. Si quieres que tu compromiso se renueve automáticamente al final de su plazo, selecciona la casilla de verificación Renovación automática del compromiso.
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 a 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 predeterminada del plazo. 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, usa el formato2024-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 C4N, usa
network-optimized-c4n. - 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. En gcloud CLI, puedes especificar la memoria en MB o GB. Si no especificas una unidad, Compute Engine usa GB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST, Compute Engine usa MB como unidad predeterminada.COMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso.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 T4
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. El compromiso especifica 96 CPU virtuales, 624 GB de memoria, 4 GPU NVIDIA T4 y 1,500 GB de almacenamiento en SSD local (equivalente a 4 discos SSD locales). El valor de almacenamiento del SSD local debe especificarse en GB (por ejemplo, 375GB). En el caso de gcloud CLI, puedes especificar la memoria en MB o GB. Si no especificas una unidad, Compute Engine usa GB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST, Compute Engine usa MB como unidad predeterminada.
gcloud compute commitments create commitment-01 \
--region=us-central1 \
--project=myproject \
--resources=vcpu=96,memory=624GB,local-ssd=1500 \
--resources-accelerator=type=nvidia-tesla-t4,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 C4N, usa
NETWORK_OPTIMIZED_C4N. - 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 que deseas en tu compromiso. En el caso de REST, Compute Engine usa MB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada.COMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso.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 indicaste 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 T4
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. El compromiso especifica 96 CPU virtuales, 624 GB de memoria, 4 GPUs NVIDIA T4 y 1,500 GB de almacenamiento en SSD local.
Ten en cuenta que el valor de almacenamiento de SSD local se debe especificar en GB. En el caso de la memoria, debes especificar el valor en MB. Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada para la 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-t4",
"amount": "4",
"type": "ACCELERATOR"
},
{
"amount": "1500",
"type": "LOCAL_SSD"
}
],
"existingReservations":
[
"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/res-01",
"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-b/reservations/res-02"
]
}
Crea reservas nuevas para adjuntarlas
Puedes crear las reservas adjuntas mientras compras tu compromiso con la Google Cloud consola, Google Cloud CLI o REST.
Console
Antes de adquirir un compromiso con la consola de Google Cloud , 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 Google Cloud , 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 C4N, selecciona C4N optimizado para redes.
- 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 para un único 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 dirija a ella de forma específica 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 la máquina, especifica las propiedades seleccionando Tipo de máquina. 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, en la lista Política de posición de grupo, selecciona o crea una política.
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, los valores se reemplazarán por los de las reservas.
En la sección Detalles del compromiso, haz lo siguiente:
En el campo Cores, verifica el valor precompletado. De manera opcional, puedes especificar una cantidad diferente de CPUs virtuales.
En el campo Memoria, verifica la cantidad de memoria precargada en GB. 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 precompletada.
En el campo SSD locales, verifica la cantidad de discos precompletada.
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, las cantidades 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 de CUD y la duración predeterminada del plazo de tu compromiso.
Revisa el campo Fecha de inicio, que muestra la fecha y 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 se define en 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 quieres que tu compromiso se renueve automáticamente al final de su período, selecciona la casilla de verificación Renovación automática del compromiso.
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 a 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 del 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 predeterminada del plazo. 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, usa el formato2024-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 C4N, usa
network-optimized-c4n. - 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. En gcloud CLI, puedes especificar la memoria en MB o GB. Si no especificas una unidad, Compute Engine usa GB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST, Compute Engine usa MB como unidad predeterminada.COMMITTED_LOCAL_SSD: Es la cantidad de almacenamiento SSD local, que se debe especificar en GB; por ejemplo,375GB.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. 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 ejemplo,project-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
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 vinculando una sola reserva nueva
Supongamos que deseas comprar un compromiso de 1 año para recursos de uso general (o recursos de GPU) en la región us-central1 con 96 CPUs virtuales,
624 GB de memoria y 4 GPUs NVIDIA V100. Quieres crear una reserva nueva reservation-01 en la zona us-central1-a que reserve 2 VMs n1-standard-32 (cada VM con 32 CPU virtuales, 120 GB de memoria y 2 GPUs NVIDIA V100) para consumir estos recursos comprometidos. Para comprar este
compromiso de ejemplo con su reserva conectada, ejecuta el siguiente
comando. En gcloud CLI, puedes especificar la memoria en MB o GB.
Si no especificas una unidad, Compute Engine usa GB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST,
Compute Engine usa MB como unidad predeterminada.
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 GPUs sin especificar CPUs virtuales ni 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 de 1 año para recursos de GPU
en la región us-west2 con 0 CPU virtuales, 0 GB de memoria y 1
GPU NVIDIA P4. También quieres crear una reserva nueva reservation-01 en la zona us-west2-b que reserve 1 VM n1-standard-2 (con 2 CPU virtuales, 7.5 GB de memoria y 1 GPU NVIDIA P4) para adjuntarla al compromiso. Para comprar este compromiso de ejemplo con su reserva conectada, ejecuta el siguiente comando. Para gcloud CLI, puedes especificar la memoria en
MB o GB. Si no especificas una unidad, Compute Engine usa GB
como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST,
Compute Engine usa MB como unidad predeterminada.
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 de 1 año para recursos de uso general (o recursos de GPU y SSD locales) en la región us-central1. Deseas el compromiso para 96 CPUs virtuales, 624 GB de memoria, 1 GPU NVIDIA V100 y 750 GB de almacenamiento en SSD local (que coinciden con 2 discos SSD locales).
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 2 CPUs virtuales, 7.5 GB de memoria y 1 GPU NVIDIA V100).
Esta es una reserva dirigida. En la segunda reserva, res-02, deseas
reservar 1 VM n1-standard-8 (con 8 CPUs virtuales y 30 GB de memoria) y
conectar 2 discos SSD locales (una interfaz SCSI y una interfaz NVMe).
Para comprar este compromiso de ejemplo con las reservas adjuntas, primero crea el archivo YAML con las propiedades de ambas reservas de la siguiente manera:
- 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. El valor de almacenamiento del SSD local se debe especificar en GB (por ejemplo, 375GB). En gcloud CLI, puedes especificar la memoria en MB o GB. Si no especificas una unidad, Compute Engine usa GB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas REST, Compute Engine usa MB como unidad predeterminada para la 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 C4N, usa
NETWORK_OPTIMIZED_C4N. - 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 que deseas en tu compromiso. En el caso de REST, Compute Engine usa MB como unidad predeterminada. Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada.COMMITTED_LOCAL_SSD: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso.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, usa 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:
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. 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 para un único proyecto.CONSUMER_PROJECT_ID_1yCONSUMER_PROJECT_ID_2: son los IDs de los proyectos que pueden compartir esta reserva, por ejemplo,project-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
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 vinculando una sola reserva nueva
Supongamos que deseas comprar un compromiso de 1 año para recursos de uso general en la región us-central1 que incluye 96 CPU virtuales, 624 GB de memoria (equivalente a 638,976 MB) y 4 GPUs NVIDIA V100.
Deseas crear una reserva nueva reservation-01 en la zona us-central1-a que reserve 2 VMs n1-standard-8 (cada VM con 8 CPU virtuales, 30 GB de memoria y 2 GPUs NVIDIA V100) para adjuntarlas a ese compromiso. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitud POST. En el caso de REST, debes especificar la memoria en MB. Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada.
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 GPUs sin especificar CPUs virtuales ni 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 de 1 año solo para recursos de GPU en la región us-west2, con 0 CPUs virtuales, 0 MB de memoria y 4 GPUs NVIDIA P4. También quieres crear una reserva nueva reservation-01 en la zona us-west2-b que reserve 1 VM n1-standard-2 (con 2 CPU virtuales, 7.5 GB de memoria y 4 GPUs NVIDIA P4) para adjuntarla al compromiso. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitud POST. En el caso de REST, debes especificar la memoria en MB.
Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada.
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 comprar un compromiso de 1 año para recursos de uso general en la región us-central1, con 96 CPU virtuales, 624 GB de memoria (equivalente a 638,976 MB), 1 GPU NVIDIA V100 y 750 GB de almacenamiento en SSD local. 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 2 CPU virtuales, 7.5 GB de memoria y 1 GPU NVIDIA V100); esta es una reserva dirigida. En la segunda reserva, res-02, deseas reservar 1 VM n1-standard-8 (con 8 CPU virtuales y 30 GB de memoria) y conectar 2 discos SSD locales (una interfaz SCSI y una interfaz NVMe). Para comprar este compromiso de ejemplo con las reservas adjuntas, realiza la siguiente solicitud POST. Ten en cuenta que el valor de almacenamiento de SSD local se debe especificar en GB.
Para la memoria, debes especificar el valor en MB. Sin embargo, ten en cuenta que, cuando usas gcloud CLI, Compute Engine usa GB como unidad predeterminada para la 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": "750",
"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"
}
]
}