En este documento, se explica el comportamiento, los requisitos, las restricciones, y la facturación de las reservas de los recursos zonales de Compute Engine.
Usa las reservas para obtener un alto nivel de garantía de que las instancias de máquina virtual (VM) con las mismas propiedades estén disponibles en una zona específica cuando las necesites. Las reservas son útiles para el escalamiento, las migraciones o la recuperación ante desastres.
Descripción general
Las reservas ayudan a garantizar que tengas los recursos disponibles para crear VMs con el mismo hardware (memoria y CPU virtuales) y recursos opcionales (GPU y discos SSD locales) cuando los necesites. Las reservas ofrecen los siguientes beneficios:
Garantía de alta capacidad: Los recursos se reservan para futuros aumentos de la demanda, como el crecimiento, los aumentos repentinos planificados o no, las migraciones de una gran cantidad de VMs, o las copias de seguridad y la recuperación ante desastres.
Acceso exclusivo: Las reservas evitan que otras personas usen tus recursos reservados.
Propiedades heredadas: Las reservas heredan las mismas propiedades de la familia de máquinas que elegiste.
Cuando creas una reserva, Compute Engine verifica que la capacidad solicitada esté disponible en la zona especificada. Si es así, Compute Engine reserva los recursos, crea la reserva y sucede lo siguiente:
Puedes consumir los recursos reservados de inmediato, y estos permanecerán disponibles hasta que borres la reserva.
Se te cobrará por los recursos reservados con la misma tarifa según demanda que las VM en ejecución, incluidos los descuentos correspondientes, hasta que se borre la reserva. Una VM que consume una reserva no genera cargos independientes.
Cómo funcionan las reservas
Una reserva proporciona un alto nivel de garantía de capacidad para una o más VMs con la configuración que especifica el usuario. También puedes usar una reserva con compromisos de Compute Engine u otros productos que usen VMs.
Cuando creas una reserva, defines las siguientes propiedades:
- Tipo de aprovisionamiento (on demand o futuro)
- Una reserva on demand (predeterminada) se aprovisiona en el momento en que la solicitas, si la capacidad solicitada está disponible.
Una reserva futura te permite solicitar de forma anticipada garantías de capacidad importante o difícil de obtener. En particular, las reservas futuras constan de dos tipos de recursos: solicitudes de reserva futuras que, si se aprueban, proporcionan reservas creadas automáticamente el tiempo especificado y en el futuro. Después de su período de reserva solicitado, una reserva creada automáticamente se borra automáticamente o se comporta de manera similar a una reserva on demand.
El uso de reservas futuras puede proporcionar un nivel de seguridad aún mayor para obtener capacidad que las reservas según demanda, ya que permite que Google Cloud tenga más tiempo para completar la solicitud. Si deseas usar reservas futuras, consulta Acerca de las solicitudes de reserva futuras en lugar de este documento.
- Eliminación automática
La opción eliminación automática especifica que se borre la reserva automáticamente, sin importar si se consume por completo o no. Si habilitas la opción de eliminación automática, la reserva se borra en un plazo de dos horas a partir de la fecha y hora especificadas de forma predeterminada, o en una fecha y hora personalizadas. Borrar reservas automáticamente puede ser útil para evitar cargos innecesarios por las reservas que no se consumen durante un tiempo.
- Tipo de consumo (automático o específico)
- Pueden consumir una reserva que se consuma automáticamente (configuración predeterminada) las VMs con una propiedad de afinidad de reserva que les permita consumir automáticamente cualquiera de estas reservas (configuración predeterminada).
- Una reserva orientada específicamente puede ser consumida solo por VMs con una propiedad de afinidad de reserva que se orienta a esa reserva específica para su consumo. El uso de reservas orientadas específicamente puede facilitar el seguimiento y el control de qué VMs consumen qué reservas.
- Pueden consumir una reserva de un proyecto único (configuración predeterminada) solo las VMs que se encuentran en el mismo proyecto que la reserva.
- Pueden consumir una reserva compartida las VMs de un proyecto en el que se encuentra la reserva y cualquier otro proyecto con el que se comparta la reserva. El uso de reservas compartidas puede ayudar a mejorar la utilización de tus reservas y reducir la cantidad de reservas que necesitas crear y administrar. Para obtener más información, consulta Cómo funcionan las reservas compartidas en este documento.
La política de uso compartido especifica si una reserva de VMs con GPU puede ser consumida por trabajos de entrenamiento personalizados o trabajos de predicción en Vertex AI. De forma predeterminada, los trabajos de entrenamiento o predicción personalizados no pueden consumir reservas de VMs con GPU. Para cambiar esto, consulta cómo crear o actualizar las reservas que se consumirán en Vertex AI.
- Recuento de VMs
El recuento de VMs es la cantidad de VMs con propiedades y zonas coincidentes que deseas reservar cuando creas una reserva. Después de crear la reserva, puedes cambiar el recuento de VMs.
- Propiedades de VM
Las propiedades de VM describen los requisitos de hardware (memoria y CPUs) y los recursos opcionales (discos SSD locales y GPUs) para las VMs que deseas reservar. Cuando creas una reserva, puedes especificar estas propiedades directamente, especificar las propiedades en función de una VM existente o especificar las propiedades con una plantilla de instancias. Una VM puede consumir una reserva solo si sus propiedades y las propiedades de VM de la reserva coinciden de forma exacta. Para obtener más información, consulta Requisitos en este documento.
- Opcional: Política de posición nde recursos (compacta)
Una política de posición compacta indica que las VMs reservadas deben estar ubicadas lo más cerca posible entre sí para reducir la latencia de red entre ellas.
Después de crear una reserva, ten en cuenta lo siguiente:
Si detienes, suspendes o borras una VM que consume una reserva, la VM ya no cuenta para la reserva. Los recursos consumidos antes vuelven a estar disponibles para su consumo después de detener, suspender o borrar la VM.
Si borras una reserva, pero no borras las VMs que usan los recursos reservados, las VMs persisten y deberás pagar por los recursos como de costumbre.
Cómo funcionan las reservas compartidas
Cada VM en una reserva compartida puede ser consumida por cada VM en el proyecto en el que se creó la reserva (proyecto de propietario) o en cualquiera de los proyectos con los que se comparte la reserva (proyectos de consumidor). Cuando una VM deja de consumir una reserva compartida, otra VM diferente puede consumirla en cualquiera de los proyectos con los que se comparte la reserva. Si una reserva compartida reserva varias VMs, las VMs de varios proyectos pueden consumir la misma reserva compartida de manera simultánea.
De forma predeterminada, los proyectos no pueden crear y modificar reservas compartidas. Para crear y modificar una reserva compartida con un proyecto, este debe agregarse a la lista de entidades permitidas de la restricción de la política de la organización Proyectos de propietario de las reservas compartidas (compute.sharedReservationsOwnerProjects
).
Si compartes una reserva, esta se ve afectada por requisitos de cuota adicionales y tiene un comportamiento de consumo diferente al de las reservas de un solo proyecto.
Requisitos
Todas las reservas tienen los siguientes requisitos:
Una VM puede consumir una reserva solo si todas las propiedades siguientes para la VM y la reserva coinciden de forma exacta:
Proyecto
- Los requisitos del proyecto varían según el tipo de uso compartido de la reserva.
Zona
Tipo de máquina
Plataforma de CPU mínima
Tipo y recuento de GPU (si corresponde)
Tipo y recuento de discos SSD locales (si corresponde)
Afinidad de reserva
- Los requisitos de afinidad de la reserva varían según el tipo de consumo de la reserva.
Política de posición compacta (si corresponde)
- De manera opcional, una reserva puede incluir una política de posición compacta para indicar que sus VM reservadas deben estar lo más cerca posible entre sí para reducir la latencia de red entre ellas. Si una reserva especifica una política de posición compacta, solo pueden consumirla las VM que especifican la misma política de posición compacta.
Sugerencia de ubicación (si corresponde)
- De forma opcional, una reserva puede incluir el campo
locationHint
, que solo puedes especificar cuando creas reservas o VMs con REST. Google no recomienda especificar el campolocationHint
cuando se crean reservas.
- De forma opcional, una reserva puede incluir el campo
Debes tener cuota suficiente en tu proyecto para los recursos que quieres reservar. Si la reserva se crea de forma correcta, la cuota que corresponde a ese recurso se cobra en consecuencia.
Requisitos adicionales para las reservas adjuntas a los compromisos
Además, las reservas que se adjuntan a los compromisos tienen los siguientes requisitos:
Las reservas deben ser para el mismo proyecto y la misma región que el compromiso.
Las reservas deben ser para la misma serie de familias de máquinas que el compromiso. Sin embargo, puedes elegir cualquier tipo de máquina dentro de esa serie de familias de máquinas.
Las reservas deben tener la opción de eliminación automática inhabilitada.
Si el compromiso especifica GPU, discos SSD locales o ambos, la reserva adjunta (o la combinación de reservas adjuntas) debe especificar exactamente los mismos números y tipos de esos recursos que el compromiso.
Para obtener más información, consulta Adjunta reservas a compromisos basados en recursos.
Requisitos adicionales para las reservas creadas a partir de una plantilla de instancias
Además, si creas una reserva a través de la especificación de una plantilla de instancias, asegúrate de lo siguiente:
Debes crear tu reserva en la misma región, zona y proyecto que los recursos dentro de la plantilla. En particular, haz lo siguiente:
Cualquier recurso regional o zonal que se especifique en una plantilla de instancias, como un tipo de máquina o un disco - restringe el uso de la plantilla a las ubicaciones en las que existen esos recursos. Por ejemplo, si tu plantilla de instancias especifica un disco existente en la zona
us-central1-a
, debes crear la reserva en la misma zona.Una plantilla de instancias contiene una configuración específica del proyecto, por lo que solo puedes acceder a ella y usarla dentro del mismo proyecto. Para los proyectos con los que se comparte una reserva compartida, debes crear plantillas similares en esos proyectos o crear VMs a través de la especificación directa de las propiedades.
Si la plantilla de instancias especifica una política de posición compacta, debes crear una reserva específica. Luego, cuando crees las VMs para consumir la reserva, debes orientar de manera específica la reserva por nombre. De lo contrario, las VMs no pueden consumir la reserva.
Requisitos de cuota adicionales para las reservas compartidas
Además, existen las siguientes implicaciones de cuota para los proyectos de propietario y consumidor de una reserva compartida:
Proyecto propietario: El proyecto propietario consume la cuota de la siguiente manera:
Cuando se crea la reserva compartida, el proyecto propietario consume la cuota del total de recursos reservados.
Cuando se consumen recursos reservados, el proyecto propietario consume la cuota de los recursos que consume.
Proyectos de consumidor: Los proyectos de consumidor consumen cuota solo cuando consumen los recursos reservados y solo por los recursos que consumen.
Por ejemplo, supongamos que el proyecto A (el proyecto propietario) crea una reserva compartida para 10 recursos y la comparte con los proyectos B y C (los proyectos de consumidor). Cuando se crea la reserva compartida, el proyecto A consume la cuota de 10 recursos. Luego, si el proyecto A y B consumen 2 recursos reservados cada uno, el proyecto A y B consumen la cuota de 2 recursos. En total, el proyecto A consume la cuota de 12 recursos, el proyecto B consume la cuota de 2 recursos y el proyecto C consume la cuota de 0 recursos (ya que no consumió la reserva).
Requisitos adicionales para las reservas con políticas de posición de compactación
Además, para especificar una política de posición de compactación para una reserva, asegúrate de que se cumplan los siguientes requisitos:
La política de posición compacta debe admitir reservas:
La política de posición compacta no puede especificar un valor de distancia máxima de
1
.La política de posición compacta no se puede especificar con más de una reserva a la vez.
La reserva debe admitir políticas de posición de compactación:
Solo puedes especificar una política de posición de compactación para una reserva a pedido, de un solo proyecto y específicamente orientada que no esté adjunta a una entrega.
Las VM reservadas por la reserva deben ser compatibles con la política de posición compacta:
La zona de la reserva debe estar dentro de la región de la política de posición compacta.
La cantidad de VM de la reserva no puede exceder la cantidad máxima de VM que admite la política de posición compacta.
El tipo de máquina de la reserva debe ser compatible con las políticas de posición compacta.
Restricciones
Todas las reservas tienen las siguientes restricciones:
Solo puedes usar reservas con los siguientes productos de Google Cloud:
- Batch
- Compute Engine
- Dataflow
- Dataproc
- Google Kubernetes Engine
- Vertex AI
Puedes reservar hasta 1,000 VMs por reserva.
Solo puedes reservar VMs A3 a través de reservas que sean a pedido y específicamente orientadas.
No puedes usar reservas con los siguientes recursos de Compute Engine:
Tipos de máquinas
f1-micro
yg1-small
VMs Spot o VMs interrumpibles
Nodos de usuario único
Restricciones adicionales para las reservas adjuntas a los compromisos
Además, las reservas que se adjuntan a los compromisos tienen las siguientes restricciones:
Solo puedes adjuntar reservas a los compromisos basados en recursos.
Solo puedes adjuntar reservas mientras compras el compromiso.
Puedes adjuntar una reserva específica a un solo compromiso.
No puedes borrar o cambiar el tamaño de una reserva que se adjunta a un compromiso. En su lugar, consulta cómo reemplazar las reservas conectadas a los compromisos.
Para obtener más información, consulta Adjunta reservas a compromisos basados en recursos.
Restricciones adicionales para las reservas compartidas
Además, todas las reservas compartidas tienen las siguientes restricciones:
Solo puedes compartir reservas con los proyectos que se encuentren en la misma organización que el proyecto que crea la reserva.
Cada reserva compartida se puede compartir con 1 a 100 proyectos de consumidor.
En cada organización, puedes crear hasta 100 reservas compartidas para cada combinación única de propiedades de la VM.
Solo puedes enumerar las reservas que creó un proyecto específico. Esto significa que cada reserva compartida solo aparece en el proyecto que la creó, no puedes enumerar todas las reservas compartidas en una organización ni todas las reservas que se comparten con un proyecto específico.
Si creas una reserva compartida a través de la especificación de una plantilla de instancias, solo los usuarios dentro de tu proyecto pueden acceder a la misma plantilla de instancias y usarla para crear VM o, también, otras reservas.
No puedes especificar una política de posición compacta cuando creas una reserva compartida.
Si mueves un proyecto que usaba reservas compartidas a una organización nueva, sus reservas compartidas no se migran a la organización nueva. Se borrarán todas las reservas compartidas que se crearon con este proyecto, y cualquier reserva de la organización anterior que se compartió con este proyecto no se puede consumir en la organización nueva. Para obtener más información, consulta Cómo funcionan las reservas compartidas en este documento.
Puedes mitigar las limitaciones de algunos de estos requisitos si sigues las prácticas recomendadas para las reservas compartidas.
Restricciones adicionales para las reservas con políticas de posición de compactación
Además, las reservas que especifican una política de posición de compactación tienen las siguientes restricciones:
No puedes compartir una política de posición de compactación entre reservas. En su lugar, debes usar una política de posición de compactación independiente para cada reserva a la que desees aplicarle una.
Solo puedes especificar políticas de posición de compactación. No se admite ningún otro tipo de políticas de recursos, como las programaciones de instancias o de instantáneas.
Facturación
Las reservas de Compute Engine se facturan con la misma tarifa que sus recursos reservados, incluidos los mismos precios según demanda y los cargos mínimos de 1 minuto que tienen las VM en ejecución sin reservar. Los descuentos por uso continuo (SUDs), los CUD y los precios personalizados también se aplican de la misma forma que para las VMs en ejecución.
Por ejemplo, supongamos que tienes la siguiente situación:
- Tienes un compromiso de 3 CPU virtuales en
us-central1
- Estás ejecutando 5 CPU virtuales en
us-central1-a
. - Tienes una reserva de 10 CPU virtuales en
us-central1-a
En esta situación, Google Cloud te factura de la siguiente manera:
Cobertura | Cantidad de CPU virtuales |
---|---|
Precio con descuento por compromiso de uso | 3 |
Precio según demanda (2 reservas usadas de CPU virtuales + 5 reservas no usadas de CPU virtuales) | 7 |
Una reserva genera cargos por sus recursos reservados durante el tiempo que exista, sin importar si se usan o no sus recursos. Cuando se consume una reserva, una VM no genera cargos de recursos duplicados, ya que la reserva ya se factura por el costo de los recursos reservados. Para obtener más información, consulta Precios de las VMs.
Además, puedes supervisar las tendencias de consumo de tus reservas para reducir los costos innecesarios de los recursos desperdiciados o sin usar. Para obtener más información, consulta Supervisa el consumo de reservas.
Datos de facturación adicionales para las reservas compartidas
No se aplican cargos adicionales por usar reservas compartidas, ya que se facturan al mismo precio que las reservas de Compute Engine de un solo proyecto. Sin embargo, el proyecto al que se facturan las reservas compartidas cambia con el consumo, ya que diferentes proyectos podrían calificar para distintos CUD.
El proyecto de facturación y el precio de las reservas compartidas se manejan de la siguiente manera:
- Proyecto de facturación: de forma predeterminada, la reserva compartida se factura al proyecto de propietario. Sin embargo, cuando un proyecto de consumidor consume un recurso de una reserva compartida, el proyecto de consumidor se factura por la reserva en su lugar.
- Descuentos de facturación: de forma predeterminada, la facturación usa el precio según demanda. Sin embargo, si eres apto para recibir CUDs para el proyecto que se factura o para la cuenta de Facturación de Cloud asociada con ese proyecto, se usa el precio con descuento.
¿Qué sigue?
- Obtén más información sobre cómo crear reservas: