Los descuentos por compromiso de uso (CUDs) proporcionan precios con grandes descuentos para los recursos de Compute Engine a cambio de contratos de compromiso de uso de 1 o 3 años (también conocidos como compromisos). Te comprometes a usar una cantidad mínima de recursos o a realizar una inversión mínima y, a cambio, recibes CUD en tus costos de uso de recursos. Sin embargo, los compromisos no reservan capacidad zonal para tus recursos comprometidos. Para obtener recursos zonales a precios con descuento y, además, garantizar que se reserve la capacidad para ellos, debes comprar compromisos y crear reservas para esos recursos zonales.
En este documento, se explica cómo puedes recibir CUDs para tus recursos reservados y cómo adjuntar reservas a los compromisos basados en recursos.
Antes de comenzar
- Revisa los conceptos básicos de las reservas, junto con sus requisitos y restricciones. Para obtener más información, consulta Reservas de recursos zonales de Compute Engine.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API 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:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- No recibirás ningún otro tipo de descuento por el uso de recursos.
- Tus VMs deben consumir las reservas mientras los compromisos estén activos.
Como mínimo, las siguientes propiedades deben coincidir entre tus compromisos activos y las reservas que consumen las VMs:
- El proyecto y la región a los que se aplican
- Serie de familias de máquinas
CPUs virtuales y memoria: Para recibir CUDs para uno o ambos de estos tipos de recursos, puedes comprar compromisos basados en recursos o en gastos que incluyan los tipos de recursos requeridos. Cuando las VMs de tu proyecto consumen reservas cuyas propiedades coinciden con esos compromisos activos, recibes automáticamente los CUD aplicables para estos tipos de recursos reservados. Si reservaste más recursos de los que te comprometiste a usar, no recibirás CUDs para esos recursos adicionales.
GPUs y discos SSD locales: para recibir CUDs de uno o ambos de estos tipos de recursos, debes hacer lo siguiente:
- Compra compromisos basados en recursos que incluyan los tipos de recursos requeridos.
- Crea reservas para todos los recursos comprometidos con propiedades que coincidan con tu compromiso y adjúntalos a él.
Cuando las VMs de tu proyecto consumen estas reservas conectadas, comienzas a recibir los CUDs aplicables para estos tipos de recursos reservados.
- Cómo usar reservas existentes cuyas propiedades coinciden con el compromiso
- Cómo crear reservas coincidentes nuevas mientras compras tu compromiso
- No adjuntar ninguna reserva.
Adjunta reservas que especifiquen cualquier combinación de estos tipos de recursos, por ejemplo, la siguiente:
- 4 CPUs virtuales y 30 GB de memoria
- 2 CPUs virtuales y 50 GB de memoria
- 10 CPUs virtuales y 10 GB de memoria
- 6 GPUs NVIDIA P100
- 2 GPUs NVIDIA P100
- 4 GPUs NVIDIA P100 y 2 GPUs NVIDIA V100
- 4 GPUs NVIDIA P100 y 4 discos SSD locales
- Cómo usar reservas existentes cuyas propiedades coinciden con el compromiso
- Cómo crear reservas coincidentes nuevas mientras compras tu compromiso
- Debes comprar el compromiso y crear las reservas adjuntas en el mismo proyecto y región.
- Debes comprar el compromiso y crear las reservas adjuntas para los recursos de la misma serie de familias de máquinas.
- Debes inhabilitar la opción de eliminación automática en las reservas adjuntas.
- Si tu compromiso tiene GPUs, el tipo de GPU espedificado en la reserva y el compromiso deben coincidir.
- Para las GPUs y los discos SSD locales, la cantidad de recursos reservados de cada tipo de recurso debe coincidir de forma exacta con la cantidad de recursos confirmados en ese tipo de recurso. Por ejemplo, si deseas adquirir un compromiso para 4 GPU V100, las reservas conectadas de tu compromiso deben especificar un total de 4 GPUs V100. Sin embargo, la cantidad de CPU virtual y memoria que reservas puede ser más o menos igual a la cantidad que te comprometes a usar.
- En el caso de las GPU, debes adquirir compromisos para los tipos específicos de GPU que planeas usar. Por ejemplo, puedes adquirir compromisos de NVIDIA P100s o NVIDIA V100s, pero no puedes usar un compromiso que compraste para las GPUs de NVIDIA P100 para cubrir las de NVIDIA V100.
Si tu reserva conectada es una reserva compartida y deseas recibir los CUDs aplicables cuando consumes esa reserva fuera del proyecto de tu compromiso, debes hacer lo siguiente:
- Comparte tus reservas solo entre proyectos que pertenezcan a la misma cuenta de Facturación de Cloud que el compromiso.
- Habilita el uso compartido de CUD para esa cuenta de Facturación de Cloud.
En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.
Para adquirir un compromiso, haz clic en
Adquirir un compromiso. Se abrirá la página Comprar un descuento por compromiso de uso y se mostrará la pestaña Hardware.En el campo Nombre, escribe el nombre de tu compromiso.
En el campo Región, selecciona la región en la que deseas confirmar los recursos de Compute Engine.
En el campo Tipo de compromiso, selecciona la serie de la familia de máquinas para tus recursos comprometidos. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:
- A2 optimizada para aceleradores para recursos de tipos de máquinas A2
- A3 optimizada para aceleradores para recursos de tipo de máquina A3 Edge y High
- A3 Mega con optimización de acelerador para recursos de tipos de máquinas A3 Mega
- C2 optimizada para procesamiento para los recursos de tipo de máquina C2
- C2D optimizado para procesamiento para los recursos de tipo de máquina C2D
- C3 de uso general para los recursos de tipo de máquina C3
- C3D de uso general para los recursos de tipo de máquina C3D
- N1 de uso general para los recursos de tipo de máquina N1
- N2 de uso general para los recursos de tipo de máquina N2
- N2D de uso general para los recursos de tipo de máquina N2D
- G2 con optimización para gráficos para los recursos de tipo de máquina G2
- M3 con optimización de memoria para los recursos de tipo de máquina M3
- Z3 con optimización de almacenamiento para los recursos de tipos de máquinas Z3
En Duración, haz lo siguiente:
- Para especificar el plan de tu compromiso, selecciona 1 año o 3 años. Este parámetro de configuración determina la duración predeterminada de tu compromiso.
Opcional. Para especificar una duración personalizada para tu compromiso, haz clic en el botón de activación Extender la fecha de finalización y, luego, en el campo Fecha, especifica una fecha de finalización personalizada. Para obtener más información, consulta Extiende la duración de los compromisos.
En el campo Núcleos, ingresa la cantidad de CPU virtuales a las que deseas comprometerte.
En el campo Memoria, ingresa la cantidad, en GB, de memoria que deseas asignar.
Para confirmar las GPUs, en la sección GPUs, haz clic en
Agregar GPU y, luego, haz lo siguiente:- En el campo Tipo de GPU, selecciona el tipo de GPU.
- En el campo Cantidad de GPU, ingresa la cantidad de GPU.
- Opcional: Si tu modelo de GPU es compatible con estaciones de trabajo virtuales (vWS) NVIDIA RTX para cargas de trabajo de gráficos y planeas ejecutar cargas de trabajo de alto contenido gráfico, selecciona la casilla de verificación Habilitar estación de trabajo virtual (NVIDIA GRID).
Para confirmar el uso de discos SSD locales, en la sección SSD locales, haz clic en
Agregar SSD y, luego, en el campo Cantidad de SSD, especifica la cantidad de discos.Para adjuntar una o más reservas existentes al compromiso, en el campo Reservas, selecciona Adjunta reservas existentes.
La consola de Google Cloud muestra una lista de todas las reservas de tu proyecto cuya región, tipo de máquina y tipo de GPU coinciden con el compromiso. A continuación, sigue estos pasos:
- Opcional. Para ver reservas con propiedades específicas, en el menú Filtrar, agrega o quita filtros de las propiedades que quieras.
- Selecciona todas las reservas que deseas adjuntar al compromiso.
Para terminar de comprar tu compromiso con las reservas adjuntas, haz lo siguiente:
- Haz clic en Comprar.
- En el diálogo Comprar un descuento por compromiso de uso, si aceptas las condiciones específicas del servicio, vuelve a hacer clic en Comprar.
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.DURATION
: Es la duración del compromiso, que puede ser12-month
o36-month
.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
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:accelerator-optimized
para los recursos de tipos de máquinas A2accelerator-optimized-a3
para los recursos de tipo de máquina Edge y High A3accelerator-optimized-a3-mega
para los recursos de tipos de máquinas Mega A3compute-optimized
para los recursos de tipos de máquinas C2compute-optimized-c2d
para los recursos de tipos de máquinas C2Dcompute-optimized-c3
para los recursos de tipos de máquinas C3compute-optimized-c3d
para los recursos de tipos de máquinas C3Dgeneral-purpose
para los recursos de tipo de máquina N1general-purpose-n2
para los recursos de tipos de máquinas N2general-purpose-n2d
para los recursos de máquinas N2Dgraphics-optimized
para los recursos de tipos de máquinas G2memory-optimized-m3
para los recursos de tipo de máquina M3storage-optimized-z3
para los recursos de tipos de máquinas Z3
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,10240MB
o10GB
. Si no especificas una unidad, Compute Engine usa GB como unidad. Puedes comprar memoria en incrementos de 0.25 GB.COMMITTED_LOCAL_SSD
: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT
: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que deseas en tu compromiso.RESERVATION_NAME_1
yRESERVATION_NAME_2
: los nombres de las reservas existentes que deseas conectar al compromiso.RESERVATION_ZONE_1
yRESERVATION_ZONE_2
: las zonas de las reservas existentes que deseas conectar al 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.DURATION
: La duración del compromiso, que puede serTWELVE_MONTH
oTHIRTY_SIX_MONTH
COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:ACCELERATOR_OPTIMIZED
para los recursos de tipos de máquinas A2ACCELERATOR_OPTIMIZED_A3
para los recursos de tipo de máquina Edge y High A3ACCELERATOR_OPTIMIZED_A3_MEGA
para los recursos de tipos de máquinas Mega A3COMPUTE_OPTIMIZED
para los recursos de tipos de máquinas C2COMPUTE_OPTIMIZED_C2D
para los recursos de tipos de máquinas C2DCOMPUTE_OPTIMIZED_C3
para los recursos de tipos de máquinas C3COMPUTE_OPTIMIZED_C3D
para los recursos de tipos de máquinas C3DGENERAL_PURPOSE
para los recursos de tipo de máquina N1GENERAL_PURPOSE_N2
para los recursos de tipos de máquinas N2GENERAL_PURPOSE_N2D
para los recursos de máquinas N2DGRAPHICS_OPTIMIZED
para los recursos de tipos de máquinas G2MEMORY_OPTIMIZED_M3
para los recursos de tipo de máquina M3STORAGE_OPTIMIZED_Z3
para los recursos de tipos de máquinas Z3
COMMITTED_VCPUS
: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY
: la cantidad de memoria, en MB, que deseas en el compromiso. Un ejemplo es10240MB
. Puedes comprar memoria en incrementos de 256 MB.COMMITTED_LOCAL_SSD
: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT
: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que deseas en tu compromiso.CUSTOM_END_DATE
: Opcional 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 especificaste 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-1
yres-2
, especifica lo siguiente:"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1", "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.
Para adquirir un compromiso, haz clic en
Adquirir un compromiso. Se abrirá la página Comprar un descuento por compromiso de uso y se mostrará la pestaña Hardware.En el campo Nombre, escribe el nombre de tu compromiso.
En el campo Región, selecciona la región en la que deseas confirmar los recursos de Compute Engine.
En el campo Tipo de compromiso, selecciona la serie de la familia de máquinas para tus recursos comprometidos. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:
- A2 optimizada para aceleradores para recursos de tipos de máquinas A2
- A3 optimizada para aceleradores para recursos de tipo de máquina A3 Edge y High
- A3 Mega con optimización de acelerador para recursos de tipos de máquinas A3 Mega
- C2 optimizada para procesamiento para los recursos de tipo de máquina C2
- C2D optimizado para procesamiento para los recursos de tipo de máquina C2D
- C3 de uso general para los recursos de tipo de máquina C3
- C3D de uso general para los recursos de tipo de máquina C3D
- N1 de uso general para los recursos de tipo de máquina N1
- N2 de uso general para los recursos de tipo de máquina N2
- N2D de uso general para los recursos de tipo de máquina N2D
- G2 con optimización para gráficos para los recursos de tipo de máquina G2
- M3 con optimización de memoria para los recursos de tipo de máquina M3
- Z3 con optimización de almacenamiento para los recursos de tipos de máquinas Z3
En Duración, elige 1 año o 3 años como la duración del período de tu compromiso.
En el campo Núcleos, ingresa la cantidad de CPU virtuales a las que deseas comprometerte.
En el campo Memoria, ingresa la cantidad, en GB, de memoria que deseas asignar.
Para confirmar las GPUs, en la sección GPUs, haz clic en
Agregar GPU y, luego, haz lo siguiente:- En el campo Tipo de GPU, selecciona el tipo de GPU.
- En el campo Cantidad de GPU, ingresa la cantidad de GPU.
- Opcional: Si tu modelo de GPU es compatible con estaciones de trabajo virtuales (vWS) NVIDIA RTX para cargas de trabajo de gráficos y planeas ejecutar cargas de trabajo de alto contenido gráfico, selecciona la casilla de verificación Habilitar estación de trabajo virtual (NVIDIA GRID).
Para confirmar el uso de discos SSD locales, en la sección SSD locales, haz clic en
Agregar SSD y, luego, en el campo Cantidad de SSD, especifica la cantidad de discos.Para crear una reserva nueva y adjuntarla al compromiso, en el campo Reservas, selecciona Crear reservas y, luego, haz lo siguiente. Repite este paso para cada reserva nueva que desees crear y adjuntar.
- Haz clic en Agregar una reserva. Aparecerá la sección Nueva reserva.
- En el campo Nombre, ingresa un nombre para la reserva adjunta.
- En el campo Región, selecciona la misma región que tu compromiso.
- En el campo Zona, selecciona la zona en la que deseas reservar tus recursos.
En la sección Tipo de recurso compartido, especifica cómo quieres compartir esta reserva de una de las siguientes maneras:
- Para crear una reserva de un solo proyecto, selecciona Local.
- Para crear una reserva que se comparta con varios proyectos, selecciona Compartido. Luego, para especificar los proyectos con los que deseas compartir esta reserva, haz clic en Agregar proyectos y, luego, selecciona los proyectos que deseas de la organización del proyecto actual.
En el campo Usar con instancia de VM, selecciona cómo deseas que las VMs consuman tu reserva de una de las siguientes maneras:
- Para permitir que las VMs con propiedades coincidentes consuman automáticamente esta reserva, haz clic en Usar reserva de forma automática (predeterminado).
- Para consumir los recursos de esta reserva solo cuando creas VMs con propiedades coincidentes que se dirigen de forma específica a esta reserva por nombre, haz clic en 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 instancias de VM que deseas reservar.
En la sección Configuración de la máquina, especifica las propiedades de las VMs reservadas de una de las siguientes maneras:
Para especificar las propiedades de tus VMs de una plantilla de instancias existente, selecciona Usar plantilla de instancias.
En el campo Plantilla de instancias, selecciona una plantilla de instancias que especifique la misma serie de la familia de máquinas que tu compromiso. Si seleccionas una plantilla de instancias regional, la región de esa plantilla de instancias también debe coincidir con la región especificada en tu compromiso.
Para especificar manualmente las propiedades de tus VMs, selecciona Seleccionar tipo de máquina y, luego, haz lo siguiente:
Selecciona la familia de máquinas que se aplica a la serie de máquinas que especificaste para el compromiso:
- De uso general para series de máquinas de uso general
- Optimizadas para procesamiento para series de máquinas optimizadas para procesamiento
- Optimización de memoria para series de máquinas con optimización de memoria
- GPUs para series de máquinas optimizadas para aceleradores
En la tabla que tiene la columna Serie, selecciona la misma serie de máquinas que especificaste para el compromiso.
En el campo Tipo de máquina, especifica un tipo de máquina predefinido o personalizado de una de las siguientes maneras:
- Para elegir un tipo predefinido de máquina, selecciona Predeterminado y, luego, elige el tipo de máquina que desees.
- Para elegir un tipo personalizado de máquina, selecciona Personalizado y, luego, especifica los Núcleos y la Memoria que desees.
Para especificar una plataforma de CPU mínima, GPUs o ambas, expande el menú
Plataforma de CPU y GPU y haz lo siguiente:- Opcional: Para especificar una plataforma de CPU mínima, elige una opción en la lista Formulario de CPU.
Opcional: Para reservar GPUs, haz clic en
Agregar GPU. Luego, en los campos Tipo de GPU y Cantidad de GPU, elige el tipo y la cantidad de GPU para cada VM.
Para reservar discos SSD locales, haz lo siguiente:
- En el campo Cantidad de discos, selecciona la cantidad de discos SSD locales que deseas para cada VM.
- En el campo Tipo de interfaz, selecciona la interfaz para los discos SSD locales.
Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
Para terminar de comprar tu compromiso con las reservas adjuntas, haz lo siguiente:
- Haz clic en Comprar.
- En el diálogo Comprar un descuento por compromiso de uso, si aceptas las condiciones específicas del servicio, vuelve a hacer clic en Comprar.
Para crear y adjuntar una sola reserva a tu compromiso, define las propiedades de la reserva adjunta ejecutando el siguiente comando:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --reservation=RESERVATION_NAME \ --reservation-zone=RESERVATION_ZONE \ --machine-type=RESERVED_MACHINE_TYPE \ --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \ --vm-count=NUMBER_OF_RESERVED_VMs \ --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \ --local-ssd=interface=INTERFACE_1,size=375 \ --local-ssd=interface=INTERFACE_2,size=375 \ --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \ --share-setting=SHARE_SETTING \ --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
Para crear y adjuntar varias reservas a tu compromiso, define las propiedades de la reserva 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_2
Para 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 create
y, además, incluye la marca--reservation-from-file
.gcloud compute commitments create COMMITMENT_NAME \ --region REGION \ --project PROJECT_ID \ --plan DURATION \ --type COMMITMENT_TYPE \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --reservations-from-file=YAML_FILE
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.DURATION
: La duración del compromiso, que puede ser12-month
o36-month
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
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:accelerator-optimized
para los recursos de tipos de máquinas A2accelerator-optimized-a3
para los recursos de tipo de máquina Edge y High A3accelerator-optimized-a3-mega
para los recursos de tipos de máquinas Mega A3compute-optimized
para los recursos de tipos de máquinas C2compute-optimized-c2d
para los recursos de tipos de máquinas C2Dcompute-optimized-c3
para los recursos de tipos de máquinas C3compute-optimized-c3d
para los recursos de tipos de máquinas C3Dgeneral-purpose
para los recursos de tipo de máquina N1general-purpose-n2
para los recursos de tipos de máquinas N2general-purpose-n2d
para los recursos de máquinas N2Dgraphics-optimized
para los recursos de tipos de máquinas G2memory-optimized-m3
para los recursos de tipo de máquina M3storage-optimized-z3
para los recursos de tipos de máquinas Z3
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,10GB
o10240MB
. Si no especificas una unidad, Compute Engine usa GB como unidad. Puedes comprar memoria en incrementos de 0.25 GB.COMMITTED_LOCAL_SSD
: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT
: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que deseas en tu compromiso.YAML_FILE
: es la ruta al archivo YAML que contiene la configuración de las reservas conectadas.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 seatrue
ofalse
. 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, especifican2
para 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_1
yINTERFACE_2
: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssd
para 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 comoprojects
si 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_1
yCONSUMER_PROJECT_ID_2
: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1
yproject-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.Para crear tu reserva nueva especificando manualmente todas las propiedades de la VM, incluye el campo
instanceProperties
y 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": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "RESERVED_ACCELERATOR_COUNT", "acceleratorType": "RESERVED_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_2" } ], "machineType": "RESERVED_MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" } }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
Para crear tu reserva nueva especificando una plantilla de instancias, incluye el campo
sourceInstanceTemplate
y excluye el campoinstanceProperties
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
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.DURATION
: Es la duración del compromiso, que puede serTWELVE_MONTH
oTHIRTY_SIX_MONTH
.COMMITMENT_TYPE
: el tipo de compromiso. Los siguientes tipos de compromiso proporcionan opciones para GPUs, discos SSD locales o ambos:ACCELERATOR_OPTIMIZED
para los recursos de tipos de máquinas A2ACCELERATOR_OPTIMIZED_A3
para los recursos de tipo de máquina Edge y High A3ACCELERATOR_OPTIMIZED_A3_MEGA
para los recursos de tipos de máquinas Mega A3COMPUTE_OPTIMIZED
para los recursos de tipos de máquinas C2COMPUTE_OPTIMIZED_C2D
para los recursos de tipos de máquinas C2DCOMPUTE_OPTIMIZED_C3
para los recursos de tipos de máquinas C3COMPUTE_OPTIMIZED_C3D
para los recursos de tipos de máquinas C3DGENERAL_PURPOSE
para los recursos de tipo de máquina N1GENERAL_PURPOSE_N2
para los recursos de tipos de máquinas N2GENERAL_PURPOSE_N2D
para los recursos de máquinas N2DGRAPHICS_OPTIMIZED
para los recursos de tipos de máquinas G2MEMORY_OPTIMIZED_M3
para los recursos de tipo de máquina M3STORAGE_OPTIMIZED_Z3
para los recursos de tipos de máquinas Z3
COMMITTED_VCPUS
: es la cantidad de CPUs virtuales que deseas en el compromiso. Debe ser un número entero positivo.COMMITTED_MEMORY
: la cantidad de memoria, en MB, que deseas en el compromiso. Un ejemplo es10240MB
. Puedes comprar memoria en incrementos de 256 MB.COMMITTED_LOCAL_SSD
: la cantidad de espacio SSD local, expresada en GB, que deseas incluir en el compromiso. Cada disco SSD local es de 375 GB.COMMITTED_ACCELERATOR_COUNT
: es la cantidad de GPUs que deseas en tu compromiso.COMMITTED_ACCELERATOR_TYPE
: el tipo de GPU que deseas en tu compromiso.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 especificaste 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_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 seatrue
ofalse
. 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, especifican2
para 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_1
yINTERFACE_2
: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsds
para 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_PROJECTS
si 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_1
yCONSUMER_PROJECT_ID_2
: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1
yproject-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.- Puedes reservar las VMs desde un tipo de máquina diferente. Sin embargo, aún debes reservar VMs de la misma familia de máquinas para seguir recibiendo CUDs para tus recursos reservados.
- Puedes cambiar la cantidad de VMs que deseas reservar.
- Puedes cambiar la cantidad de GPU y discos SSD locales conectados a cada VM, siempre que la cantidad total de GPU reservadas y discos SSD locales siga siendo iguales.
Puedes especificar que tus reservas reemplazadas sean reservas locales o compartidas.
- Solo puedes reemplazar una reserva conectada a la vez por una nueva. Para reemplazar una reserva conectada, quita una reserva conectada existente de forma simultánea mediante la configuración de su recuento de VM en 0 y define una reserva conectada nueva que desees reemplazar.
- La reserva nueva debe estar en el mismo proyecto que el compromiso.
- La reserva nueva debe estar en la misma zona que la reserva que se quitó.
- La cantidad y los tipos de GPUs especificados en la reserva nueva deben coincidir con la reserva que se quitó.
- Las cantidades y los tipos de discos SSD locales especificados en la reserva nueva deben coincidir con la reserva que se quitó.
- Solo puedes cambiar hasta 100 VMs por solicitud. Para realizar un cambio que incluya más de 100 VMs, divide el cambio en varias solicitudes más pequeñas o comunícate con la asistencia de Google Cloud.
Crea un archivo YAML en el directorio actual con la configuración de las siguientes reservas conectadas:
La reserva actual que deseas reemplazar.
Para recuperar los detalles de esta reserva, consulta Visualiza detalles de una reserva.
La nueva reserva de reemplazo.
El contenido del archivo YAML es similar al siguiente:
- reservation: CURRENT_RESERVATION_NAME reservation_zone: CURRENT_RESERVATION_ZONE vm_count: 0 machine_type: CURRENT_RESERVATION_MACHINE_TYPE accelerator: - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS type: CURRENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: CURRENT_RESERVATION_INTERFACE_1 size: 375 - interface: CURRENT_RESERVATION_INTERFACE_2 size: 375 project: CURRENT_RESERVATION_PROJECT_ID share_setting: CURRENT_RESERVATION_SHARE_SETTING share_with: - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2 - reservation: REPLACEMENT_RESERVATION_NAME reservation_zone: REPLACEMENT_RESERVATION_ZONE vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE accelerator: - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE local_ssd: - interface: REPLACEMENT_RESERVATION_INTERFACE_1 size: 375 - interface: REPLACEMENT_RESERVATION_INTERFACE_2 size: 375 project: REPLACEMENT_RESERVATION_PROJECT_ID share_setting: REPLACEMENT_RESERVATION_SHARE_SETTING share_with: - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
Reemplaza lo siguiente por las propiedades correspondientes de las reservas actuales y de reemplazo:
Reserva actual
Para la reserva actual, todas las propiedades siguientes deben ser exactamente iguales a las que viste cuando viste la reserva. Omite los campos para cualquier propiedad que la reserva actual aún no tenga.
CURRENT_RESERVATION_NAME
: es el nombre de la reserva conectada actual.CURRENT_RESERVATION_ZONE
: es la zona de la reserva conectada actual.CURRENT_RESERVATION_MACHINE_TYPE
: es el tipo de máquina de la reserva conectada actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: es la cantidad de GPU reservadas en la reserva conectada actual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: es el tipo de acelerador reservado en la reserva conectada actual.CURRENT_RESERVATION_INTERFACE_1
yCURRENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que usan los discos SSD locales para cada VM reservada en la reserva conectada actual. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssd
para todos los discos SSD locales reservados.CURRENT_RESERVATION_PROJECT_ID
: es el ID del proyecto actual que tiene el compromiso y la reserva conectada. Especifica este campo si tu reserva actual conectada se comparte entre varios proyectos de consumidores.CURRENT_RESERVATION_SHARE_SETTING
: es el tipo de uso compartido de la reserva actual. Especifica este campo con el valor comoprojects
si tu reserva conectada actual se comparte en varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: son los IDs de los proyectos con los que compartes la reserva conectada actual, por ejemplo,project-1
yproject-2
.
Reserva de reemplazo
Para la reserva de reemplazo, configura las siguientes propiedades según sea necesario. Asegúrate de cumplir con todos los requisitos cuando especifiques estas propiedades. Omite cualquier campo adicional que no quieras usar.
REPLACEMENT_RESERVATION_NAME
: es el nombre de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_ZONE
: es la zona de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: es la cantidad de VMs que deseas reservar en la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_MACHINE_TYPE
: es el tipo de máquina que deseas para las VMs en tu nueva reserva de reemplazo.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. - Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.
Reemplaza lo siguiente:
MACHINE_FAMILY
: la familia de tipos de máquinas; por ejemplo, especifican2
para las VMs N2.CPUS
: Es la cantidad de CPU virtuales.MEMORY
: la memoria total para una VM reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB; por ejemplo, para crear una VM N2 con 4 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120
.
- Para los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: es la cantidad de GPU que deseas agregar, por VM, en la reserva de reemplazo.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: es el tipo de acelerador que deseas agregar en la reserva de reemplazo.REPLACEMENT_RESERVATION_INTERFACE_1
yREPLACEMENT_RESERVATION_INTERFACE_2
: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocal_ssd
para cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_PROJECT_ID
: es el ID del proyecto actual que tiene el compromiso y la reserva conectada. Especifica este campo si deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_SHARE_SETTING
: es el tipo de uso compartido de la reserva de reemplazo. Especifica este campo con el valor comoprojects
si deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1,project-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No incluyasREPLACEMENT_RESERVATION_PROJECT_ID
, que ya tiene permisos para consumir esta reserva de forma predeterminada.
Ejecuta el comando
gcloud beta compute commitments update-reservations
y especifica la ruta al archivo YAML con la marca--reservations-from-file
.gcloud beta compute commitments update-reservations COMMITMENT_NAME \ --project= PROJECT_ID \ --region= REGION \ --reservations-from-file= YAML_FILE
Reemplaza lo siguiente:
COMMITMENT_NAME
: es el nombre del compromiso con la reserva conectada.PROJECT_ID
: es el ID del proyecto del compromiso con la reserva conectada.REGION
: a región en la que se encuentra el compromisoYAML_FILE
: es la ruta al archivo YAML que contiene la configuración de las reservas actuales y de reemplazo.
Crea un archivo llamado
two-reservations.yaml
en el directorio actual que tenga el siguiente contenido:- reservation: res-1 reservation_zone: asia-east1-a vm_count: 0 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - reservation: res-2 reservation_zone: asia-east1-a vm_count: 2 machine_type: n1-standard-8 accelerator: - count: 2 type: nvidia-tesla-p100 project: my-project share_setting: projects share_with: - project-1 - project-2 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375 - interface: scsi size: 375
Ejecuta el siguiente comando:
gcloud beta compute commitments update-reservations my-commitment-with-reservations \ --region=asia-east1 \ --reservations-from-file=two-reservations.yaml
COMMITMENT_NAME
: es el nombre del compromiso con la reserva conectada.PROJECT_ID
: es el ID del proyecto del compromiso con la reserva conectada. Este también es el ID del proyecto para las reservas actuales y adjuntas.COMMITMENT_ZONE
: es la zona del compromiso con la reserva conectada.CURRENT_RESERVATION_NAME
: es el nombre de la reserva conectada actual.CURRENT_RESERVATION_ZONE
: es la zona de la reserva conectada actual.CURRENT_RESERVATION_MACHINE_TYPE
: es el tipo de máquina de la reserva conectada actual.CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
: es la cantidad de GPU reservadas en la reserva conectada actual.CURRENT_RESERVATION_ACCELERATOR_TYPE
: es el tipo de acelerador reservado en la reserva conectada actual.CURRENT_RESERVATION_INTERFACE_1
yCURRENT_RESERVATION_INTERFACE_2
: el tipo de interfaz que usan los discos SSD locales para cada VM reservada en la reserva conectada actual. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsds
para todos los discos SSD locales reservados.CURRENT_RESERVATION_SHARE_SETTING
: es el tipo de uso compartido de la reserva actual. Especifica este parámetro con el valor comoprojects
si tu reserva conectada actual se comparte en varios proyectos de consumidor.CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
yCURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
: son los IDs de los proyectos con los que compartes la reserva conectada actual, por ejemploproject-1
yproject-2
.REPLACEMENT_RESERVATION_NAME
: es el nombre de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_ZONE
: es la zona de la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_NUMBER_OF_VMS
: es la cantidad de VMs que deseas reservar en la reserva de reemplazo nueva.REPLACEMENT_RESERVATION_MACHINE_TYPE
: es el tipo de máquina que deseas para las VMs en tu nueva reserva de reemplazo.- Para los tipos de máquinas predefinidos, usa el formato
MACHINE_FAMILY-standard-CPUS
; por ejemplo,n2-standard-4
. - Para los tipos de máquinas personalizados, usa el formato
MACHINE_FAMILY-custom-CPUS-MEMORY
; por ejemplo,n2-custom-4-5120
. Si deseas obtener una lista completa de las restricciones, consulta las especificaciones para los tipos personalizados de máquinas.
Reemplaza lo siguiente:
MACHINE_FAMILY
: es la familia de tipos de máquinas; por ejemplo, especifican2
para las VM N2.CPUS
: Es la cantidad de CPU virtuales.MEMORY
: la memoria total para una VM reservada. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB; por ejemplo, para crear una VM N2 con 4 CPUs virtuales y 5 GB de memoria, que son 5,120 MB, usan2-custom-4-5120
.
- Para los tipos de máquinas predefinidos, usa el formato
REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS
: es la cantidad de GPU que deseas agregar, por VM, en la reserva de reemplazo.REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
: es el tipo de acelerador que deseas agregar en la reserva de reemplazo.REPLACEMENT_RESERVATION_INTERFACE_1
yREPLACEMENT_RESERVATION_INTERFACE_2
: son el tipo de interfaz que deseas que usen los discos SSD locales para cada VM reservada. Las opciones válidas son:scsi
ynvme
. Cada disco SSD local es de 375 GB. Repite el parámetrolocalSsds
para cada disco SSD local que desees agregar. Puedes especificar hasta 24 discos SSD locales.REPLACEMENT_RESERVATION_SHARE_SETTING
: es el tipo de uso compartido de la reserva de reemplazo. Especifica este parámetro con el valor comoprojects
si deseas compartir tu reserva de reemplazo en varios proyectos de consumidor.REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
yREPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
: son los IDs de los proyectos que pueden compartir esta reserva, por ejemploproject-1,project-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No incluyasPROJECT_ID
, que ya tiene permisos para consumir esta reserva de forma predeterminada.- Obtén más información sobre los CUDs basados en recursos.
- Obtén información sobre cómo consumir reservas.
- Obtén información sobre cómo modificar reservas.
- Obtén más información sobre cómo borrar reservas.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
CUDs para tus recursos reservados
Recibes CUDs de compromisos activos para cualquier uso de recursos apto en tus proyectos. Si también tienes alguna reserva para conservar la capacidad de los recursos de ese proyecto, los CUDs de los compromisos activos también se pueden aplicar a esos recursos reservados. Para que cualquier recurso reservado sea apto para recibir CUDs, se aplican los siguientes requisitos:
Según el tipo de recurso, puedes recibir CUDs para tus recursos reservados de una de las siguientes maneras:
Adjunta reservas a compromisos basados en recursos
Puedes adjuntar reservas a cualquier compromiso basado en recursos y asegurarte de que la capacidad se mantenga en zonas específicas para los recursos comprometidos que planeas usar. Puedes conectar varias reservas a un solo compromiso. Sin embargo, una reserva solo se puede conectar a un compromiso. Cuando compras un compromiso, puedes adjuntar reservas a ese compromiso de una de las siguientes maneras:
Cuando compras un compromiso con reservas conectadas, estas permanecen activas mientras el compromiso esté activo. Cuando vence el compromiso, Compute Engine borra cualquier reserva adjunta automáticamente. La eliminación de estas reservas no tiene efecto en ninguna VM en ejecución que esté consumiendo esas reservas. Las VMs en ejecución se seguirán ejecutando y se te cobrará por ellas.
Recursos comprometidos que no requieren reservas conectadas
Las CPUs virtuales y la memoria comprometidas no requieren que adjuntes reservas coincidentes a tus compromisos. Sin embargo, cuando compras un compromiso que incluye CPUs virtuales, memoria o ambas, aún puedes optar por conectar reservas que especifiquen esos recursos. Si deseas obtener información sobre cómo adquirir compromisos solo para CPUs virtuales, memoria o ambos, sin adjuntar reservas, consulta Adquiere compromisos sin reservas conectadas.
Recursos comprometidos que requieren reservas conectadas
Las GPUs con compromisos y los discos SSD locales requieren que adjuntes las reservas coincidentes a tus compromisos. Cuando compras un compromiso que incluye GPUs, discos SSD locales o ambos, también debes reservar esos recursos y adjuntar esas reservas a tu compromiso. Puedes hacerlo con una sola reserva o una combinación de ellas. Cuando adquieres un compromiso, también puedes incluir CPUs virtuales, memoria o ambos. Sin embargo, no es necesario reservar esas CPUs virtuales o memoria. Para obtener información sobre cómo adquirir compromisos que incluyan una o ambas GPUs y discos SSD locales, consulta Adquiere compromisos con reservas conectadas en este documento.
Para ver la lista completa de series de máquinas que admiten CUDs para GPUs y discos SSD locales, consulta la sección Tipos de compromisos de hardware en la documentación de CUDs basados en recursos.
Cantidades de recursos permitidos en las reservas adjuntas
Para las CPUs virtuales y la memoria, puedes tener reservas adjuntas que especifiquen más o menos cantidades de recursos de los que te comprometes a usar. Si te comprometes a usar más CPUs virtuales o memoria de las que reservas, Compute Engine reserva solo capacidad para estos recursos reservados. Sin embargo, puedes seguir usando tus recursos comprometidos adicionales según su disponibilidad en tu región. Si reservas más CPUs virtuales o memoria de las que te comprometes a usar, no recibirás CUDs para esos recursos adicionales que reservas.
Por ejemplo, cuando compras un compromiso de 4 CPUs virtuales y 30 GB de memoria, puedes elegir realizar una de las siguientes acciones:
Sin embargo, si el compromiso contiene GPUs, discos SSD locales o ambos, debes reservar y conectar todos esos recursos. Tus reservas adjuntas deben especificar la cantidad y los tipos exactos de las GPUs y los discos SSD locales que te comprometes a usar. En consecuencia, tampoco puedes tener ninguna cantidad o tipos adicionales de GPUs o discos SSD locales en tus reservas conectadas. Por ejemplo, supongamos que adquieres un compromiso de 30 GB de memoria y 4 GPUs NVIDIA P100. La reserva conectada (o la combinación de reservas conectadas) puede especificar cualquier cantidad de CPUs virtuales o memoria, pero debe tener exactamente 4 GPUs que sean del tipo NVIDIA P100. En este ejemplo, no puedes adjuntar reservas que especifiquen ninguna de las siguientes combinaciones de recursos:
Compra compromisos con reservas conectadas
Cuando compras un compromiso nuevo, puedes adjuntar reservas a tu compromiso de cualquiera de las siguientes maneras:
Después de adquirir un compromiso, este se activa al día siguiente a las 12 a.m. hora del Pacífico de EE.UU. y Canadá (UTC-8, o UTC-7 durante el horario de verano). Entre el momento de la compra del compromiso y el momento en que se activa, el estado del compromiso permanece como
NOT_YET_ACTIVE
(o comoPENDING
en la consola de Google Cloud). Después de la activación, el estado del compromiso cambia aACTIVE
. Por ejemplo, supongamos que compras tu compromiso el 20 de enero 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 comoNOT_YET_ACTIVE
. Sin embargo, tu compromiso se vuelveACTIVE
solo el 21 de enero 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:
Incorporar reservas existentes
Puedes adjuntar reservas existentes mientras compras tu compromiso a través de la console 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:
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=DURATION \ --type=COMMITMENT_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \ --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'
Reemplaza lo siguiente:
Ejemplo: Adquiere un compromiso conectando reservas existentes
Supongamos que tienes dos reservas
res-01
yres-02
en las zonasus-central1-a
yus-central1-b
del proyectomyproject
. Supongamos que estas reservas contienen una capacidad combinada para 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un compromiso nuevo en la regiónus-central1
de este proyecto para estas GPUs y discos SSD locales, y usar estas reservas existentes como reservas adjuntas, ejecuta el siguiente comando. Ten en cuenta que el compromiso de ejemplo también contiene CPUs virtuales y memoria.gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624GB,local-ssd=1500 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan 12-month \ --existing-reservation=name=res-01,zone=us-central1-a \ --existing-reservation=name=res-02,zone=us-central1-b
REST
Para comprar un compromiso adjuntando reservas existentes, realiza una solicitud
POST
al métodoregionCommitments.insert
. En tu solicitud, incluye el campoexistingReservations
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": "DURATION", "type": COMMITMENT_TYPE, "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" } { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "existingReservations": "RESERVATION_URLs" }
Reemplaza lo siguiente:
Ejemplo: Adquiere un compromiso conectando reservas existentes
Supongamos que tienes dos reservas
res-01
yres-02
en las zonasus-central1-a
yus-central1-b
del proyectomyproject
. Supongamos que estas reservas contienen una capacidad combinada para 4 GPUs NVIDIA P100 y 4 discos SSD locales. Para comprar un compromiso nuevo en la regiónus-central1
de este proyecto para estas GPUs y discos SSD locales, y usar estas reservas existentes como reservas adjuntas, realiza la siguiente solicitudPOST
. Ten en cuenta que el compromiso de ejemplo también contiene CPUs virtuales y memoria.POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" }, { "amount": "1536000", "type": "LOCAL_SSD" } ], "existingReservations": [ "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01", "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02" ] }
Crea reservas nuevas para adjuntarlas
Puedes crear las reservas adjuntas mientras compras tu compromiso con la console 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:
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:
Reemplaza lo siguiente por las propiedades correspondientes del compromiso y las reservas conectadas:
Compromiso
Reservas adjuntas
Compute Engine crea el compromiso con las reservas conectadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y una cuota suficiente en el momento en que se realiza tu solicitud. Si la compra se realizó correctamente, verás un mensaje de confirmación similar al siguiente:
Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]
Ejemplos para comprar compromisos mediante la creación de reservas nuevas para conectarlas
En los siguientes ejemplos de situaciones y comandos, se muestra cómo puedes comprar un compromiso para GPUs, discos SSD locales o ambos creando reservas nuevas para conectarlas a ese compromiso.
Ejemplo 1: Adquiere un compromiso para GPUs mediante la vinculación de una sola reserva nueva
Supongamos que deseas comprar un compromiso de
commitment-01
en la regiónus-central1
que incluye 4 GPUs NVIDIA V100. Deseas crear una reserva nuevareservation-01
como la reserva conectada para esas GPUs. Supongamos que también deseas especificar Compute Engine para usar esas GPUs reservadas en 2 VMsn1-standard-32
en la zonaus-central1-a
. Para comprar este compromiso de ejemplo con su reserva conectada, ejecuta el siguiente comando:gcloud compute commitments create commitment-01 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624GB \ --resources-accelerator=type=nvidia-tesla-v100,count=4 \ --plan 12-month \ --reservation=reservation-01 \ --reservation-zone=us-central1-a \ --machine-type=n1-standard-32 \ --accelerator=type=nvidia-tesla-v100,count=2 \ --vm-count=2
Ejemplo 2: Compra un compromiso para GPU sin comprometerte a usar CPUs virtuales o memoria
Para comprometerte a usar y reservar GPUs y discos SSD locales sin comprometerte a usar CPUs virtuales ni memoria, especifica
0
como el valor de la cantidad de CPUs virtuales y memoria. Por ejemplo, supongamos que deseas comprar un compromisocommitment-02
para una sola GPU NVIDIA P4 en la regiónus-west2
. También quieres crear una reserva nueva como la reserva adjunta y especificar Compute Engine para usar la GPU reservada en una VMn1-standard-2
en la zonaus-west2-b
. Para comprar este compromiso de ejemplo con su reserva conectada, ejecuta el siguiente comando:gcloud compute commitments create commitment-02 \ --region=us-west2 \ --project=myproject \ --resources=vcpu=0,memory=0 \ --resources-accelerator=type=nvidia-tesla-p4,count=1 \ --plan 12-month \ --reservation=reservation-01 \ --reservation-zone=us-west2-b \ --machine-type=n1-standard-2 \ --accelerator=type=nvidia-tesla-p4,count=1 \ --vm-count=1
Ejemplo 3: Compra un compromiso para GPUs y discos SSD locales mediante la conexión de varias reservas nuevas
Supongamos que deseas comprar un compromiso
commitment-03
para 1 GPU NVIDIA V100 y 2 discos SSD locales en la regiónus-central1
. También querrás crear y adjuntar dos reservas en la zonaus-central1-a
. En la primera reserva,res-01
, quieres reservar 1 VMn1-standard-2
con 1 GPU. Deseas hacer queres-01
sea una reserva orientada, lo que significa que debes dirigirte a esa reserva de forma específica por nombre para usar sus VMs reservadas. En la segunda reserva,res-02
, deseas reservar 1 VMn1-standard-8
con 2 tipos de discos SSD locales conectados.Para comprar este compromiso de ejemplo con las reservas adjuntas, primero crea el archivo YAML con las propiedades de ambas reservas.
- reservation: res-01 reservation_zone: us-central1-a require_specific_reservation: true vm_count: 1 machine_type: n1-standard-2 accelerator: - count: 1 type: nvidia-tesla-v100 - reservation: res-02 reservation_zone: us-central1-a vm_count: 1 machine_type: n1-standard-8 local_ssd: - interface: scsi size: 375 - interface: nvme size: 375
Después de crear el archivo YAML, para terminar de comprar el compromiso con sus reservas adjuntas, ejecuta el siguiente comando. Ten en cuenta que el compromiso de ejemplo también contiene recursos de CPU virtual y memoria.
gcloud compute commitments create commitment-03 \ --region=us-central1 \ --project=myproject \ --resources=vcpu=96,memory=624,local-ssd=750 \ --resources-accelerator=type=nvidia-tesla-v100,count=1 \ --plan 12-month \ --reservations-from-file=YAML_FILE
REST
Para crear las reservas adjuntas mientras compras tu compromiso, realiza una solicitud
POST
al métodoregionCommitments.insert
. En tu solicitud, incluye el camporeservations
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.Reemplaza lo siguiente por las propiedades correspondientes del compromiso y las reservas conectadas:
Compromiso
Reservas adjuntas
Compute Engine crea el compromiso con las reservas conectadas solo si hay suficientes recursos del tipo de máquina especificado en la zona de destino y una cuota suficiente en el momento en que se realiza tu solicitud. Si la compra se realizó correctamente, Compute Engine muestra un estado
200
para tu solicitud a la API de REST.Ejemplos para comprar compromisos mediante la creación de reservas nuevas para conectarlas
En los siguientes ejemplos de situaciones y comandos, se muestra cómo puedes comprar un compromiso para GPUs, discos SSD locales o ambos creando reservas nuevas para conectarlas a ese compromiso.
Ejemplo 1: Adquiere un compromiso para GPUs mediante la vinculación de una sola reserva nueva
Supongamos que deseas comprar un compromiso de
commitment-01
en la regiónus-central1
que incluye 4 GPUs NVIDIA V100. Deseas crear una reserva nuevareservation-01
como la reserva conectada para esas GPUs. Supongamos que también quieres especificar Compute Engine para usar esas GPUs reservadas en 2 VMsn1-standard-8
en la zonaus-central1-a
. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-01", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE" "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-v100", "amount": "4", "type": "ACCELERATOR" } ], "reservations": [ { "name": "reservation-01", "specificReservation": { "count": "2", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-v100" } ], "machineType": "n1-standard-8" } }, "specificReservationRequired": false, "zone": "us-central1-a" } ] }
Ejemplo 2: Compra un compromiso para GPU sin comprometerte a usar CPUs virtuales o memoria
Para comprometerte a usar y reservar GPUs y discos SSD locales sin comprometerte a usar CPUs virtuales ni memoria, especifica
0
como el valor de la cantidad de CPUs virtuales y memoria. Por ejemplo, supongamos que deseas comprar un compromisocommitment-02
para una sola GPU NVIDIA P4 en la regiónus-west2
. También quieres crear una reserva nueva como la reserva conectada y especificar Compute Engine para usar la GPU reservada en una VMn1-standard-2
en la zonaus-west2-b
. Para comprar este compromiso de ejemplo con su reserva conectada, realiza la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments { "name": "commitment-02", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "0", "type": "VCPU" }, { "amount": "0", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p4", "amount": "4", "type": "ACCELERATOR" } ], "reservations": [ { "name": "reservation-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 4, "acceleratorType": "nvidia-tesla-p4" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": false, "zone": "us-west2-b" } ] }
Ejemplo 3: Compra un compromiso para GPUs y discos SSD locales mediante la conexión de varias reservas nuevas
Supongamos que deseas comprar un compromiso
commitment-03
para 1 GPU NVIDIA V100 y 2 discos SSD locales en la regiónus-central1
. También querrás crear y adjuntar dos reservas en la zonaus-central1-a
. En la primera reserva,res-01
, quieres reservar 1 VMn1-standard-2
con 1 GPU. Deseas hacer queres-01
sea una reserva orientada, lo que significa que debes dirigirte a esa reserva de forma específica por nombre para usar sus VMs reservadas. En la segunda reserva,res-02
, deseas reservar 1 VMn1-standard-8
con 2 tipos de discos SSD locales conectados. Para comprar este compromiso de ejemplo con las reservas adjuntas, realiza la siguiente solicitudPOST
. Ten en cuenta que el compromiso de ejemplo también contiene recursos de CPU virtual y memoria.POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments { "name": "commitment-03", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "96", "type": "VCPU" }, { "amount": "638976", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-v100", "amount": "1", "type": "ACCELERATOR" }, { "amount": "768000", "type": "LOCAL_SSD" } ], "reservations": [ { "name": "res-01", "specificReservation": { "count": "1", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-v100" } ], "machineType": "n1-standard-2" } }, "specificReservationRequired": true, "zone": "us-central1-a" }, { "name": "res-02", "specificReservation": { "count": "1", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "SCSI" }, { "diskSizeGb": "375", "interface": "NVME" } ] "machineType": "n1-standard-8" } }, "specificReservationRequired": false, "zone": "us-central1-a" } ] }
Reemplaza las reservas conectadas a los compromisos
Reemplaza la reserva adjunta existente de tu compromiso por una nueva si deseas modificar los tipos y la cantidad de VMs que usan tus recursos comprometidos.
La reserva de reemplazo siempre será una reserva nueva. Para reemplazar una reserva adjunta, debes especificar las propiedades de la reserva que deseas usar como reemplazo. Luego, Compute Engine crea automáticamente una reserva nueva con estas propiedades y la usa para reemplazar la reserva adjunta. No puedes usar una reserva existente para reemplazar la que adjuntaste.
Cambios permitidos
Cuando reemplazas la reserva conectada existente de un compromiso por una reserva nueva, puedes solicitar cualquiera de los siguientes cambios:
Requisitos
Cuando reemplazas la reserva conectada de tu compromiso por una nueva, tu solicitud debe cumplir con los siguientes requisitos:
Tu solicitud para reemplazar una reserva también depende de la disponibilidad de capacidad en ese momento. Si la capacidad de una solicitud no está disponible, la solicitud falla y muestra un error de disponibilidad de recursos; puedes intentar resolverlo mediante la modificación o aplazamiento de la solicitud. Si deseas obtener más información, consulta la documentación para solucionar problemas de disponibilidad de recursos.
Si tu solicitud para reemplazar una reserva conectada falla, la reserva conectada y los recursos reservados existentes no se verán afectados. Para conservar tu capacidad, espera a que se realicen los cambios correspondientes en tus VMs hasta que tu solicitud de reemplazar una reserva se realice de forma correcta.
Pasos para reemplazar una reserva conectada
Puedes reemplazar las reservas de un compromiso mediante Google Cloud CLI o REST.
gcloud
Para reemplazar las reservas conectadas a los compromisos, haz lo siguiente:
Ejemplo de reemplazo de una reserva que se conecta a un compromiso
Para demostrar esto, en esta sección se muestra un compromiso de ejemplo con una reserva conectada y cómo reemplazar la reserva conectada de ejemplo.
Ejemplo de compromiso con una reserva conectada
Por ejemplo, supongamos que deseas actualizar las reservas conectadas para el compromiso
my-commitment-with-reservations
, que se compraron mediante el siguiente comando:gcloud beta compute commitments create my-commitment-with-reservations \ --region=asia-east1 \ --resources=vcpu=16,memory=60GB,local-ssd=3000 \ --resources-accelerator=type=nvidia-tesla-p100,count=4 \ --plan=12-month \ --type=general-purpose \ --reservations-from-file=one-reservation.yaml
Para este ejemplo, supongamos que, cuando se ejecutó este comando,
one-reservation.yaml
era un archivo en el directorio actual con el siguiente contenido, que define una reserva conectada llamadares-1
.- reservation: res-1 reservation_zone: asia-east1-a vm_count: 4 machine_type: n1-standard-4 accelerator: - count: 1 type: nvidia-tesla-p100 local_ssd: - interface: scsi size: 375 - interface: scsi size: 375
Este compromiso
my-commitment-with-reservations
y la reserva conectadares-1
generaron los siguientes recursos confirmados y reservados:Tipo de recurso Recursos en el compromiso
(my-commitment-with-reservations
)Recursos en la reserva conectada actual
(res-1
)CPU virtuales y memoria 16 CPUs virtuales y 60 GB 16 CPUs virtuales y 60 GB
(4 VMsn1-standard-4
reservadas)*GPU 4 GPU P100 4 GPU P100
(1 GPU P100 por VM para 4 VMs)*Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)** Específicamente, la reserva conectada de ejemplo,
res-1
, reserva 4 VMsn1-standard-4
cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. El tipo de máquinan1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.Reemplaza la reserva conectada de ejemplo
Supongamos que deseas reemplazar la reserva conectada
res-1
por una reserva conectada nuevares-2
y cambiar los recursos reservados por lo siguiente:Tipo de recurso Recursos en el compromiso
(my-commitment-with-reservations
)Recursos en la reserva conectada actual
(res-1
)Recursos en la reserva de reemplazo conectada
(res-2
)CPU virtuales y memoria 16 CPUs virtuales y 60 GB 16 CPUs virtuales y 60 GB
(4 VMsn1-standard-4
reservadas)*16 CPUs virtuales y 60 GB
(2 VMsn1-standard-8
reservadas y compartidas)†GPU 4 GPU P100 4 GPU P100
(1 GPU P100 por VM para 4 VMs)*4 GPU P100
(2 GPU P100 por VM para 2 VMs)†Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)*3000 GB u 8 discos SSD locales
(1500 GB o 4 discos SSD locales por VM, para 2 VMs)** Específicamente, la reserva conectada de ejemplo,
res-1
, reserva 4 VMsn1-standard-4
cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. El tipo de máquinan1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.†Específicamente, la reserva conectada de reemplazo define
res-2
, que reserva 2 VMsn1-standard-8
, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfazscsi
. Además,res-2
se comparte con 2 proyectos más,project-1
yproject-2
, y pertenece al proyecto actual,my-project
. El tipo de máquinan1-standard-8
usa 8 CPUs virtuales y 30 GB para cada VM.A fin de reemplazar la reserva conectada
res-1
porres-2
para el compromisomy-commitment-with-reservations
, haz lo siguiente:REST
Para reemplazar las reservas que se adjuntan a los compromisos, realiza una solicitud
POST
con el métodoregionCommitments.updateReservations
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations { "reservations": [ { "name": "REPLACEMENT_RESERVATION_NAME", "specificReservation": { "count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "REPLACEMENT_RESERVATION_INTERFACE_2" } ], "machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE" } }, "zone": "REPLACEMENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } }, { "name": "CURRENT_RESERVATION_NAME", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS", "acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "CURRENT_RESERVATION_INTERFACE_2" } ], "machineType": "CURRENT_RESERVATION_MACHINE_TYPE" } }, "zone": "CURRENT_RESERVATION_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1" }, "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2": { "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2" } } } } ] }
Reemplaza lo siguiente por las propiedades correspondientes del compromiso, la reserva actual y la reserva de reemplazo:
Compromiso
Reserva actual
Para la reserva actual, todas las propiedades siguientes deben ser exactamente iguales a las que viste cuando viste la reserva. Omite los campos para cualquier propiedad que la reserva actual aún no especifique.
Reserva de reemplazo
Para la reserva de reemplazo, configura las siguientes propiedades según sea necesario. Asegúrate de cumplir con todos los requisitos cuando especifiques estas propiedades. Omite cualquier campo adicional que no quieras usar.
Ejemplo de reemplazo de una reserva que se conecta a un compromiso
Para demostrar esto, en esta sección se muestra un compromiso de ejemplo con una reserva conectada y cómo reemplazar la reserva conectada de ejemplo.
Ejemplo de compromiso con una reserva conectada
Por ejemplo, supongamos que deseas reemplazar la reserva conectada
res-1
para el compromisomy-commitment-with-reservations
y que se compró mediante la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments { "name": "my-commitment-with-reservations", "plan": "TWELVE_MONTH", "reservations": [ { "name": "res-1", "specificReservation": { "count": "4", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "1", "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ], "resources": [ { "amount": "16", "type": "VCPU" }, { "amount": "61440", "type": "MEMORY" }, { "acceleratorType": "nvidia-tesla-p100", "amount": "4", "type": "ACCELERATOR" } { "amount": "3072000", "type": "LOCAL_SSD" } ], "type": "GENERAL_PURPOSE" }
Este compromiso
my-commitment-with-reservations
y la reserva conectadares-1
generaron los siguientes recursos confirmados y reservados:Tipo de recurso Recursos en el compromiso
(my-commitment-with-reservations
)Recursos en la reserva conectada actual
(res-1
)CPU virtuales y memoria 16 CPUs virtuales y 60 GB 16 CPUs virtuales y 60 GB
(4 VMsn1-standard-4
reservadas)*GPU 4 GPU P100 4 GPU P100
(1 GPU P100 por VM para 4 VMs)*Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)** Específicamente, la reserva conectada de ejemplo,
res-1
, reserva 4 VMsn1-standard-4
cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. El tipo de máquinan1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.Reemplaza la reserva conectada de ejemplo
Supongamos que deseas reemplazar la reserva conectada
res-1
por una reserva conectada nuevares-2
y cambiar los recursos reservados por lo siguiente:Tipo de recurso Recursos en el compromiso
(my-commitment-with-reservations
)Recursos en la reserva conectada actual
(res-1
)Recursos en la reserva de reemplazo conectada
(res-2
)CPU virtuales y memoria 16 CPUs virtuales y 60 GB 16 CPUs virtuales y 60 GB
(4 VMsn1-standard-4
reservadas)*16 CPUs virtuales y 60 GB
(2 VMsn1-standard-8
reservadas y compartidas)†GPU 4 GPU P100 4 GPU P100
(1 GPU P100 por VM para 4 VMs)*4 GPU P100
(2 GPU P100 por VM para 2 VMs)†Discos SSD locales 3000 GB u 8 discos SSD locales 3000 GB u 8 discos SSD locales
(750 GB o 2 discos SSD locales por VM, para 4 VMs)*3000 GB u 8 discos SSD locales
(1500 GB o 4 discos SSD locales por VM, para 2 VMs)** Específicamente, la reserva conectada de ejemplo,
res-1
, reserva 4 VMsn1-standard-4
cada una con 1 GPU P100 y 2 discos SSD locales de tipo de interfazscsi
. El tipo de máquinan1-standard-4
usa 4 CPUs virtuales y 15 GB para cada VM.†Específicamente, la reserva conectada de reemplazo define
res-2
, que reserva 2 VMsn1-standard-8
, cada una con 1 GPU P100 y 4 discos SSD locales de tipo de interfazscsi
. Además,res-2
se comparte con 2 proyectos más,project-1
yproject-2
, y pertenece al proyecto actual,my-project
. El tipo de máquinan1-standard-8
usa 8 CPUs virtuales y 30 GB para cada VM.Para reemplazar la reserva conectada
res-1
porres-2
para el compromisomy-commitment-with-reservations
, realiza la siguiente solicitudPOST
mediante el métodoregionCommitments.updateReservations
:POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservations/updateReservations { "reservations": [ { "name": "res-2", "specificReservation": { "count": "2", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-8" } }, "zone": "asia-east1-a" }, { "name": "res-1", "specificReservation": { "count": "0", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": 1, "acceleratorType": "nvidia-tesla-p100" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "scsi" }, { "diskSizeGb": "375", "interface": "scsi" } ], "machineType": "n1-standard-4" } }, "zone": "asia-east1-a" } ] }
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-