En este documento, se explica cómo comprar compromisos basados en recursos con reservas adjuntas mediante la consola de Google Cloud , gcloud CLI o REST.
Para obtener más información sobre cómo funcionan las reservas adjuntas, consulta Adjunta reservas a compromisos basados en recursos.
Para comprar compromisos de 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 según cómo 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 de
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 adquirir 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 verificar si tienes permiso para adquirir un compromiso basado en recursos.
Compra un compromiso de hardware basado en recursos con reservas adjuntas
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
- Crea 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 la
consola deGoogle Cloud ). 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.
- 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 Titanium locales 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 SSD 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 CPUs virtuales C4A y 2 discos SSD Titanium locales 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 A100 o NVIDIA V100, 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 , elige 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 los tipos de máquinas Z4D, selecciona Z4D con optimización de almacenamiento.
- Para los tipos de máquinas Z4M, selecciona Z4M 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 Adjuntar reservas existentes y 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 Adjuntar reservas existentes, selecciona la casilla de verificación de cada reserva que quieras 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 de forma manual para cualquier 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 Núcleos, verifica el valor precompletado. De manera opcional, puedes especificar una cantidad diferente de CPUs virtuales.
En el campo Memoria, verifica la cantidad de memoria precompletada 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 GPUs, verifica la cantidad de GPUs precompletada.
En el campo SSD locales, verifica la cantidad de discos precompletada.
Si especificas de forma manual valores diferentes de las reservas adjuntas para cualquiera de estos campos, no se realizará 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 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 posterior a la fecha actual.
Es opcional. Para extender el plazo de tu compromiso más allá de la duración predeterminada que define tu plan de compromiso, en el campo Fecha de finalización, especifica una fecha de finalización personalizada para tu compromiso. 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 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 tarifas, la elegibilidad para 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 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 Una fecha de finalización personalizada para tu plazo, 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 Z4D, usa
storage-optimized-z4d - Para los tipos de máquinas Z4M, usa
storage-optimized-z4m
- 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 CPUs virtuales, 624 GB de
memoria, 4 GPUs NVIDIA T4 y 1,500 GB de almacenamiento en SSD locales
(equivalente a 4 discos SSD locales). El valor de almacenamiento de 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.
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 predeterminada del plazo. 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 Z4D, usa
STORAGE_OPTIMIZED_Z4D - Para los tipos de máquinas Z4M, usa
STORAGE_OPTIMIZED_Z4M
- 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. Para 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 Una fecha de finalización personalizada para 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, dale 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 CPUs 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. Para la memoria,
debes especificar el valor en MB. Sin embargo, ten en cuenta que, cuando usas
gcloud CLI, Compute Engine usa GB como la 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 consola de Google Cloud , Google Cloud CLI o REST.
Console
Antes de adquirir un compromiso con la consola de Google Cloud , elige 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 los tipos de máquinas Z4D, selecciona Z4D con optimización de almacenamiento.
- Para los tipos de máquinas Z4M, selecciona Z4M 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 reserva nueva. Aparecerá el panel Crea 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 orienta específicamente por nombre, elige 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 selecciona Personalizado para especificar la cantidad de Núcleos y 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 de forma manual para cualquier 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 Núcleos, verifica el valor precompletado. De manera opcional, puedes especificar una cantidad diferente de CPUs virtuales.
En el campo Memoria, verifica la cantidad de memoria precompletada 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 GPUs, verifica la cantidad de GPUs precompletada.
En el campo SSD locales, verifica la cantidad de discos precompletada.
Si especificas de forma manual valores diferentes de las reservas adjuntas para cualquiera de estos campos, no se realizará 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 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 posterior a la fecha actual.
Es opcional. Para extender el plazo de tu compromiso más allá de la duración predeterminada que define tu plan de compromiso, en el campo Fecha de finalización, especifica una fecha de finalización personalizada para tu compromiso. 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 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 tarifas, la elegibilidad para 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 local_ssd: - 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--reservations-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 Una fecha de finalización personalizada para tu plazo, 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 Z4D, usa
storage-optimized-z4d - Para los tipos de máquinas Z4M, usa
storage-optimized-z4m
- 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 de 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 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 para un único 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 con la vinculación de 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 CPUs 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 la
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 CPUs 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 con la conexión de varias reservas nuevas
Supongamos que quieres 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 coincida 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 de SSD local
debe especificarse en GB (por ejemplo, 375GB). Para la
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 la 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": "INTERFACE_1" }, { "diskSizeGb": "375", "interface": "INTERFACE_2" } ], "machineType": "RESERVED_MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" } }, "specificReservationRequired": "REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVATION_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": "RESERVATION_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 predeterminada del plazo. 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 Z4D, usa
STORAGE_OPTIMIZED_Z4D - Para los tipos de máquinas Z4M, usa
STORAGE_OPTIMIZED_Z4M
- 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. Para 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 Una fecha de finalización personalizada para tu plazo, 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 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:
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 quieras 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 para un único 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 con la vinculación de 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.
Quieres crear una reserva nueva reservation-01 en la
zona us-central1-a que reserve 2 VMs n1-standard-8 (cada VM con
8 CPUs virtuales, 30 GB de memoria y 2 GPUs NVIDIA V100) para adjuntarla a ese
compromiso. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitud POST. Para 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 CPU virtuales, 0 MB de memoria y 4
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 CPUs 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. Para 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 con 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 CPUs 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 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, 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 la 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"
}
]
}