En este documento se explica cómo crear una reserva de un solo proyecto, que solo pueden usar las instancias de máquina virtual (VM) del mismo proyecto. Para obtener más información sobre las reservas, consulta el artículo sobre la reserva de recursos de zona de Compute Engine.
Para ver otros métodos de creación de reservas, consulta las páginas siguientes:
Para crear una reserva que puedan usar varios proyectos, consulta Crear una reserva compartida.
Para crear una reserva al comprar un compromiso basado en recursos, consulta Comprar compromisos con reservas asociadas. Los compromisos ofrecen descuentos, conocidos como descuentos por uso confirmado (CUDs), en los costes de los recursos bajo demanda a cambio de comprar un nivel mínimo de recursos o de gastar un importe mínimo.
Antes de empezar
- Consulta los requisitos y las restricciones de las reservas.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para crear reservas de un solo proyecto, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Compute (
roles/compute.admin
) en el proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear reservas de un solo proyecto. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear reservas de un solo proyecto, se necesitan los siguientes permisos:
-
compute.reservations.create
del proyecto -
Para especificar una plantilla de instancia, siga estos pasos:
compute.instanceTemplates.useReadOnly
en la plantilla de instancia
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Crear una reserva para un solo proyecto
Para consumir una reserva, una VM debe tener propiedades que coincidan exactamente con esa reserva. Para especificar las propiedades de las VMs que quiere reservar, seleccione una de las siguientes secciones de este documento:
Recomendación: Especifica una plantilla de instancia.
En esta sección se explica cómo usar una plantilla de instancia para definir las propiedades de una reserva. Si usas una plantilla de instancia, puedes definir las propiedades de una reserva y las VMs que pueden usarla en el mismo lugar.
-
En esta sección se explica cómo usar una VM para definir las propiedades de una reserva. Si usas las propiedades de una VM, puedes consumir la reserva creando VMs con propiedades que coincidan con la VM de referencia.
Especificar propiedades directamente
En esta sección se explica cómo definir directamente las propiedades de una reserva. Con este método, debe asegurarse manualmente de que las propiedades de sus máquinas virtuales y reservas coincidan exactamente. Si no coinciden, no se podrán consumir.
De forma predeterminada, cualquier VM con propiedades que coincidan con una reserva puede consumirla automáticamente. Si quieres controlar el consumo de reservas, haz una o varias de las siguientes acciones:
Crea una reserva que solo puedan usar las VMs que la tengan como objetivo específico, tal como se explica en las siguientes secciones de este documento. A continuación, configura las VMs para que usen esa reserva específica.
Además, puede especificar una política de emplazamiento compacta al crear una reserva específica de un solo proyecto. Una política de emplazamiento compacta especifica que las VMs deben estar lo más cerca posible entre sí para reducir la latencia de la red.
Especificar una plantilla de instancia
Para evitar errores al crear una reserva especificando una plantilla de instancia, asegúrate de que se cumplan los siguientes requisitos:
Crea la reserva en la misma región y zona que los recursos de la plantilla de instancia. Cualquier recurso regional o de zona especificado en una plantilla de instancia (como un tipo de máquina o un volumen de disco persistente) restringe el uso de la plantilla a las ubicaciones en las que se encuentran esos recursos. Por ejemplo, si tu plantilla de instancia especifica un volumen de disco persistente en la zona
us-central1-a
, solo podrás crear la reserva en esa zona. Para comprobar si una plantilla ya creada especifica algún recurso que la vincule a una región o zona concretas, consulta los detalles de la plantilla de instancia y busca referencias a recursos regionales o zonales en ella.Si la plantilla de instancia especifica una política de colocación compacta, asegúrate de que la plantilla especifique un tipo de máquina compatible para las políticas de colocación compacta. De lo contrario, no se podrá crear la reserva.
Para crear una reserva de un solo proyecto especificando una plantilla de instancia, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página Reservas.
En la pestaña Reservas bajo demanda (opción predeterminada), haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
En Name (Nombre), escribe el nombre de la reserva.
En Región y Zona, selecciona dónde quieres reservar los recursos.
En la sección Tipo de uso compartido, seleccione Local si no está seleccionado.
Opcional: Para permitir que los trabajos de entrenamiento personalizado o los trabajos de predicción de Vertex AI consuman una reserva de VMs con GPU, en la sección Servicios de Google Cloud, selecciona Compartir reserva.
En la sección Uso con instancia de VM, selecciona una de las siguientes opciones:
Para permitir que las VMs coincidentes consuman automáticamente esta reserva, selecciona Usar reserva automáticamente si aún no lo has hecho.
Para consumir los recursos de esta reserva solo al crear VMs que coincidan y que se dirijan específicamente a esta reserva por su nombre, selecciona Seleccionar reserva específica.
En Número de instancias de VM, introduce el número de VMs que quieras reservar.
En la sección Configuración de la máquina, haga lo siguiente:
Para especificar las propiedades de tus VMs a partir de una plantilla de instancia, selecciona Usar plantilla de instancia.
En el campo Plantilla de instancia, selecciona la plantilla de instancia que quieras. Si seleccionas una plantilla de instancia regional, solo podrás reservar recursos en la región de la plantilla de instancia.
En la sección Eliminación automática, puedes habilitar esta opción para que Compute Engine elimine automáticamente la reserva en una fecha y hora concretas. Eliminar automáticamente las reservas puede ser útil para evitar cargos innecesarios cuando dejes de consumir la reserva.
Para crear la reserva, haz clic en Crear.
Se abrirá la página Reservas. La creación de la reserva de un solo proyecto puede tardar hasta un minuto.
gcloud
Para crear una reserva de un solo proyecto, usa el comando
gcloud compute reservations create
.Para crear una reserva de un solo proyecto especificando una plantilla de instancia y sin incluir ninguna marca opcional, ejecuta el siguiente comando:
gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Haz los cambios siguientes:
RESERVATION_NAME
: el nombre de la reserva que se va a crear.PROJECT_ID
: el ID del proyecto en el que quieres reservar recursos y en el que se encuentra la plantilla de instancia.LOCATION
: la ubicación de la plantilla de instancia. Se debe utilizar uno de los valores indicados a continuación.En el caso de una plantilla de instancia global,
global
.En el caso de una plantilla de instancia regional,
regions/REGION
. SustituyeREGION
por la región en la que se encuentra la plantilla de instancia. Si especificas una plantilla de instancia regional, solo podrás reservar VMs en la misma región que la plantilla.
INSTANCE_TEMPLATE_NAME
: nombre de una plantilla de instancia. Si la plantilla de instancia especifica un tipo de máquina A3 Mega, A3 High o A3 Edge, o una política de colocación compacta, debes incluir la marca--require-specific-reservation
. Esto indica que solo las máquinas virtuales que se dirijan específicamente a la reserva podrán consumirla. Para obtener más información, consulta Consumir VMs de una reserva específica.NUMBER_OF_VMS
: número de máquinas virtuales que se van a reservar.ZONE
: la zona en la que se reservarán los recursos.
Por ejemplo, para crear una reserva de diez VMs en la zona
us-central1-a
especificando una plantilla de instancia global, ejecuta el siguiente comando:gcloud compute reservations create my-reservation \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
También puede hacer lo siguiente:
Para especificar que solo las VMs que se dirijan específicamente a esta reserva puedan consumirla, incluya la marca
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que las tareas de entrenamiento personalizadas o las tareas de predicción de Vertex AI consuman una reserva de VMs con GPU, incluye la marca
--reservation-sharing-policy
con el valorALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que Compute Engine elimine automáticamente la reserva, seleccione uno de los siguientes métodos:
Para eliminar la reserva en una fecha y hora concretas, usa el comando
gcloud beta compute reservations create
con la marca--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye
DELETE_AT_TIME
por una fecha y una hora en formato de marca de tiempo RFC 3339, que debe ser la siguiente:none YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
YYYY-MM-DD
: una fecha con el formato de año de 4 dígitos, mes de 2 dígitos y día del mes de 2 dígitos, separados por guiones (-
).HH:MM:SS
: hora con formato de hora de 2 dígitos en formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos, separados por dos puntos (:
).OFFSET
: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica-08:00
. También puede especificarZ
para no usar ningún desplazamiento.
Para eliminar la reserva después de un periodo específico, usa el comando
gcloud beta compute reservations create
con la marca--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye
DELETE_AFTER_DURATION
por una duración en días, horas, minutos o segundos. Por ejemplo, especifica30m
para 30 minutos o1d2h3m4s
para 1 día, 2 horas, 3 minutos y 4 segundos.
Go
Java
Node.js
Python
REST
Para crear una reserva de un solo proyecto, envía una solicitud
POST
al métodoreservations.insert
.Para crear una reserva de un solo proyecto especificando una plantilla de instancia y sin incluir ninguna marca opcional, haz la siguiente solicitud
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres reservar recursos y en el que se encuentra la plantilla de instancia.ZONE
: la zona en la que se reservarán los recursos.RESERVATION_NAME
: el nombre de la reserva que se va a crear.NUMBER_OF_VMS
: número de máquinas virtuales que se van a reservar.LOCATION
: la ubicación de la plantilla de instancia. Se debe utilizar uno de los valores indicados a continuación.En el caso de una plantilla de instancia global,
global
.En el caso de una plantilla de instancia regional,
regions/REGION
. SustituyeREGION
por la región en la que se encuentra la plantilla de instancia. Si especificas una plantilla de instancia regional, solo podrás reservar VMs en la misma región que la plantilla.
INSTANCE_TEMPLATE_NAME
: nombre de una plantilla de instancia. Si la plantilla de instancia especifica un tipo de máquina A3 Mega, A3 High o A3 Edge, o bien una política de colocación compacta, debes incluir el campospecificReservationRequired
en el cuerpo de la solicitud y asignarle el valortrue
. Esto indica que solo las VMs que se dirijan específicamente a esta reserva podrán consumirla. Para obtener más información, consulta Consumir VMs de una reserva específica.
Por ejemplo, para crear una reserva de diez VMs en la zona
us-central1-a
especificando una plantilla de instancia global, haz la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
También puede hacer lo siguiente:
Para especificar que solo las VMs que se dirijan específicamente a esta reserva puedan consumirla, incluya el campo
specificReservationRequired
en el cuerpo de la solicitud y asígnele el valortrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
Para permitir que los trabajos de entrenamiento personalizados o los trabajos de predicción de Vertex AI utilicen una reserva de VMs con GPU, incluye el campo
serviceShareType
y asigna el valorALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Para permitir que Compute Engine elimine automáticamente la reserva, seleccione uno de los siguientes métodos:
Para eliminar la reserva en una fecha y hora concretas, haz una solicitud
POST
al métodobeta.reservations.insert
. En el cuerpo de la solicitud, incluye el campodeleteAtTime
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sustituye
DELETE_AT_TIME
por una fecha y una hora con el formato de una marca de tiempo RFC 3339, que debe ser la siguiente:YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
YYYY-MM-DD
: una fecha con el formato de año de 4 dígitos, mes de 2 dígitos y día del mes de 2 dígitos, separados por guiones (-
).HH:MM:SS
: hora con formato de hora de 2 dígitos en formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos, separados por dos puntos (:
).OFFSET
: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica-08:00
. También puede especificarZ
para no usar ningún desplazamiento.
Para eliminar la reserva después de un periodo específico, haz una
POST
solicitud al métodobeta.reservations.insert
. En el cuerpo de la solicitud, incluye el campodeleteAfterDuration
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Sustituye
DELETE_AFTER_DURATION
por una duración en segundos. Por ejemplo, especifica86400
para 86.400 segundos (1 día).
Especificar una VM
Solo puedes crear una reserva basada en una VM que esté en la misma zona que la VM.
Después de crear la reserva, puedes consumirla creando VMs con propiedades que coincidan con la VM de referencia. Para ello, tiene las siguientes opciones:
Crea y usa una plantilla de instancia de la siguiente manera:
Crea una plantilla de instancia basada en la VM de referencia sin anular las propiedades de la VM de referencia.
Crea VMs con la plantilla que acabas de crear de una de las siguientes formas:
Crea una VM basada en la VM de referencia y asegúrate de que las propiedades de la nueva VM y de la VM de referencia coincidan exactamente.
Para crear una reserva de un solo proyecto que use las propiedades de una VM, haz lo siguiente:
En la Google Cloud consola, ve a la página Reservas.
Haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
En Name (Nombre), escribe el nombre de la reserva.
En Región y Zona, selecciona dónde quieres reservar los recursos.
En la sección Tipo de uso compartido, haga clic en Local si aún no está seleccionado.
En la sección Uso con instancia de VM, selecciona una de las siguientes opciones:
Para permitir que las VMs coincidentes consuman automáticamente esta reserva, selecciona Usar reserva automáticamente si aún no lo has hecho.
Para consumir los recursos de esta reserva solo al crear VMs que coincidan y que se dirijan específicamente a esta reserva por su nombre, selecciona Seleccionar reserva específica.
En Número de instancias de VM, introduce el número de VMs que quieras reservar.
En la sección Configuración de la máquina, haga lo siguiente:
Selecciona Usar una máquina virtual disponible.
En VM existente, seleccione la VM cuyas propiedades quiera usar para crear la reserva.
Opcional: Para especificar una política de emplazamiento compacta para una reserva que cumpla los requisitos, vaya a la sección Política de emplazamiento de grupo, haga clic en la lista Seleccionar o crear una política de emplazamiento de grupo y, a continuación, haga una de las siguientes acciones:
Para crear una política de posición compacta que se especifique en esta reserva, haz lo siguiente:
Haga clic en Crear política de emplazamiento de grupo.
Aparecerá el panel Crear una política de emplazamiento de grupo.
En Nombre de la política, escriba el nombre que quiera asignar a la política.
Haz clic en Crear.
La creación de la política de colocación compacta puede tardar unos segundos en completarse.
De lo contrario, selecciona una política de colocación compacta.
En la sección Eliminación automática, puedes habilitar la opción de eliminación automática para que Compute Engine elimine automáticamente la reserva en una fecha y hora concretas. Eliminar reservas automáticamente puede ser útil para evitar cargos innecesarios cuando dejes de usar la reserva.
Para crear la reserva, haz clic en Crear.
Se abrirá la página Reservas. La creación de la reserva puede tardar hasta un minuto en completarse.
Especificar propiedades directamente
Para crear una reserva de un solo proyecto especificando las propiedades directamente, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página Reservas.
En la pestaña Reservas bajo demanda (opción predeterminada), haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
En Name (Nombre), escribe el nombre de la reserva.
En Región y Zona, selecciona dónde quieres reservar los recursos.
En la sección Tipo de uso compartido, haga clic en Local si aún no está seleccionado.
Opcional: Para permitir que los trabajos de entrenamiento personalizado o los trabajos de predicción de Vertex AI consuman una reserva de VMs con GPU, en la sección Servicios de Google Cloud, selecciona Compartir reserva.
En la sección Uso con instancia de VM, selecciona una de las siguientes opciones:
Para permitir que las VMs coincidentes consuman automáticamente esta reserva, selecciona Usar reserva automáticamente si aún no lo has hecho.
Para consumir los recursos de esta reserva solo al crear VMs que coincidan y que se dirijan específicamente a esta reserva por su nombre, selecciona Seleccionar reserva específica.
En Número de instancias de VM, introduce el número de VMs que quieras reservar.
En la sección Configuración de la máquina, selecciona Especificar tipo de máquina y, a continuación, indica lo siguiente:
En Familia de máquinas, Serie y Tipo de máquina, selecciona una familia, una serie y un tipo de máquina.
Opcional: Para especificar una plataforma de CPU mínima o adjuntar GPUs a VMs N1, haz lo siguiente:
Para desplegar la sección Plataforma de CPU y GPU, haz clic en la flecha de
desplegar.Opcional: Para especificar una plataforma de CPU mínima, en Plataforma de CPU, selecciona una opción.
Opcional: Para asociar GPUs a máquinas virtuales N1, haz clic en
Añadir GPU. A continuación, en Tipo de GPU y Número de GPUs, selecciona el tipo y el número de GPUs que quieras asociar a cada VM N1.
Opcional: Para asociar discos SSD locales a un tipo de máquina que no incluya discos SSD locales de forma predeterminada, haz lo siguiente:
En Número de discos, selecciona el número de discos SSD locales que quieras adjuntar.
En Tipo de interfaz, selecciona la interfaz de disco de los discos SSD locales.
Opcional: Para especificar una política de emplazamiento compacta para una reserva que cumpla los requisitos, en la sección Política de emplazamiento de grupo, haga clic en la lista Seleccionar o crear una política de emplazamiento de grupo y, a continuación, siga uno de estos pasos:
Para crear una política de emplazamiento compacto que se especifique en esta reserva, haga lo siguiente:
Haga clic en Crear política de emplazamiento de grupo.
Aparecerá el panel Crear una política de emplazamiento de grupo.
En Nombre de la política, escriba el nombre que quiera asignar a la política.
Haz clic en Crear.
Crear la política de colocación compacta puede tardar unos segundos.
De lo contrario, selecciona una política de colocación compacta.
En la sección Eliminación automática, puedes habilitar la opción de eliminación automática para que Compute Engine elimine automáticamente la reserva en una fecha y hora concretas. Eliminar automáticamente las reservas puede ser útil para evitar cargos innecesarios cuando dejes de consumir la reserva.
Para crear la reserva, haz clic en Crear.
Se abrirá la página Reservas. La creación de la reserva de un solo proyecto puede tardar hasta un minuto.
gcloud
Para crear una reserva de un solo proyecto, usa el comando
gcloud compute reservations create
.Para crear una reserva de un solo proyecto especificando las propiedades directamente y sin incluir ninguna marca opcional, ejecuta el siguiente comando:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Haz los cambios siguientes:
RESERVATION_NAME
: el nombre de la reserva que se va a crear.MACHINE_TYPE
: un tipo de máquina que se usará en cada VM. Si especificas un tipo de máquina A3 Mega, A3 High o A3 Edge, debes incluir la marca--require-specific-reservation
. Esto indica que solo las máquinas virtuales que se dirijan específicamente a la reserva podrán consumirla. Para obtener más información, consulta Consumir VMs de una reserva específica.NUMBER_OF_VMS
: número de máquinas virtuales que se van a reservar.ZONE
: la zona en la que se reservarán los recursos.
Por ejemplo, para crear una reserva en la zona
us-central1-a
para diez VMs que usen un tipo de máquina predefinido N2 con 4 vCPUs, ejecuta el siguiente comando:gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --vm-count=10 \ --zone=us-central1-a
También puede hacer lo siguiente:
Para asociar GPUs a tus VMs N1 reservadas, incluye la marca
--accelerator
.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Haz los cambios siguientes:
NUMBER_OF_ACCELERATORS
: número de GPUs que se van a añadir por máquina virtual reservada.ACCELERATOR_TYPE
: un modelo de GPU compatible con máquinas virtuales N1. Comprueba que el modelo de GPU que has elegido esté disponible en la zona en la que quieras reservar recursos. De lo contrario, no se podrá crear la reserva.
Para conectar discos SSD locales a un tipo de máquina que no incluya discos SSD locales de forma predeterminada, incluye la marca
--local-ssd
. Solo puedes conectar discos SSD locales de 375 GB.gcloud compute reservations create RESERVATION_NAME \ --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Haz los cambios siguientes:
NUMBER_OF_LOCAL_SSD_DISKS
: número de discos SSD locales que se van a adjuntar.INTERFACE_TYPE
: el tipo de interfaz de disco que quieres que use cada disco SSD local y que admita el tipo de máquina que has especificado. Se debe utilizar uno de los valores indicados a continuación.Para la interfaz de disco NVMe:
nvme
Para la interfaz de disco SCSI:
scsi
Para que las VMs reservadas usen una plataforma de CPU mínima específica en lugar de la plataforma de CPU predeterminada de la zona, incluye la marca
--min-cpu-platform
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye
MIN_CPU_PLATFORM
por una plataforma de CPU mínima. Para asegurarte de que una plataforma de CPU está disponible en la zona en la que vas a reservar recursos, consulta las plataformas de CPU disponibles por zona.Para especificar que solo las VMs que se dirijan específicamente a esta reserva puedan consumirla, incluya la marca
--require-specific-reservation
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para especificar una política de colocación compacta para reducir la latencia de red entre las VMs, incluye la marca
--resource-policies=policy
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye COMPACT_PLACEMENT_POLICY_NAME por el nombre de una política de emplazamiento compacta que ya tengas. Además, para evitar errores al crear una reserva de un solo proyecto que especifique una política de colocación compacta, asegúrese de especificar lo siguiente:
Un tipo de máquina admitido y el número máximo de VMs para las políticas de colocación compacta.
Una zona de la región en la que se encuentra la política de colocación compacta.
La bandera de
--require-specific-reservation
. Esto indica que solo las máquinas virtuales que se dirijan específicamente a la reserva podrán consumirla.
Para permitir que las tareas de entrenamiento personalizadas o las tareas de predicción de Vertex AI consuman una reserva de VMs con GPU, incluye la marca
--reservation-sharing-policy
con el valorALLOW_ALL
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Para permitir que Compute Engine elimine automáticamente la reserva, seleccione uno de los siguientes métodos:
Para eliminar la reserva en una fecha y hora concretas, usa el comando
gcloud beta compute reservations create
con la marca--delete-at-time
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye
DELETE_AT_TIME
por una fecha y una hora con el formato de una marca de tiempo RFC 3339, que debe ser la siguiente:YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
YYYY-MM-DD
: una fecha con el formato de año de 4 dígitos, mes de 2 dígitos y día del mes de 2 dígitos, separados por guiones (-
).HH:MM:SS
: hora con formato de hora de 2 dígitos en formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos, separados por dos puntos (:
).OFFSET
: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica-08:00
. También puede especificarZ
para no usar ningún desplazamiento.
Para eliminar la reserva después de un periodo específico, usa el comando
gcloud beta compute reservations create
con la marca--delete-after-duration
.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sustituye
DELETE_AFTER_DURATION
por una duración en días, horas, minutos o segundos. Por ejemplo, especifica30m
para 30 minutos o1d2h3m4s
para 1 día, 2 horas, 3 minutos y 4 segundos.
Go
Java
Node.js
Python
Terraform
Para crear una reserva de un solo proyecto, usa el recurso de Terraform
google_compute_reservation
.Por ejemplo, para crear una reserva de un solo proyecto para un tipo de máquina predefinido N2 con 2 vCPUs, usa el siguiente recurso:
Para obtener más información sobre cómo usar Terraform, consulta Usar Terraform con Google Cloud.
REST
Para crear una reserva de un solo proyecto, envía una solicitud
POST
al métodoreservations.insert
.Para crear una reserva de un solo proyecto especificando las propiedades directamente y sin incluir ningún campo opcional, haz la siguiente solicitud
POST
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres reservar recursos.ZONE
: la zona en la que se reservarán los recursos.RESERVATION_NAME
: el nombre de la reserva que se va a crear.NUMBER_OF_VMS
: número de máquinas virtuales que se van a reservar.MACHINE_TYPE
: un tipo de máquina que se usará en cada VM. Si especificas un tipo de máquina A3 Mega, A3 High o A3 Edge, debes incluir el campospecificReservationRequired
en el cuerpo de la solicitud y asignarle el valortrue
. Esto indica que solo las máquinas virtuales que se dirijan específicamente a la reserva podrán consumirla. Para obtener más información, consulta Consumir VMs de una reserva específica.
Por ejemplo, para crear una reserva en la zona
us-central1-a
para diez VMs que usen un tipo de máquina predefinido N2 con 4 vCPUs, haz la siguiente solicitudPOST
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
También puede hacer lo siguiente:
Para asociar GPUs a tus VMs N1 reservadas, incluye el campo
guestAccelerators
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Haz los cambios siguientes:
NUMBER_OF_ACCELERATORS
: número de GPUs que se van a añadir por máquina virtual reservada.ACCELERATOR_TYPE
: un modelo de GPU compatible con máquinas virtuales N1. Comprueba que el modelo de GPU que has elegido esté disponible en la zona en la que quieras reservar recursos. De lo contrario, no se podrá crear la reserva.
Para asociar discos SSD locales a un tipo de máquina que no incluya discos SSD locales de forma predeterminada, incluye el campo
localSsds
en el cuerpo de la solicitud. Solo puedes adjuntar discos SSD locales de 375 GB.Por ejemplo, para asociar dos discos SSD locales al tipo de máquina que quieras reservar, haz una solicitud como la siguiente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" }, { "diskSizeGb": "375", "interface": "INTERFACE_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Sustituye
INTERFACE_TYPE
por el tipo de interfaz de disco que quieras que use cada disco SSD local y que admita el tipo de máquina que hayas especificado. Se debe utilizar uno de los valores indicados a continuación.Para la interfaz de disco NVMe:
NVME
Para la interfaz de disco SCSI:
SCSI
Para que las VMs reservadas usen una plataforma de CPU mínima específica en lugar de la plataforma de CPU predeterminada de la zona, incluya el campo
minCpuPlatform
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
Sustituye
MIN_CPU_PLATFORM
por una plataforma de CPU mínima. Para asegurarte de que una plataforma de CPU está disponible en la zona en la que vas a reservar recursos, consulta las plataformas de CPU disponibles por zona.Para especificar una política de colocación compacta y reducir la latencia de red entre tus VMs reservadas, incluye el campo
resourcePolicies
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Haz los cambios siguientes:
REGION
: la región en la que se encuentra la política de colocación compacta. Solo puedes crear la reserva en la región de la política de emplazamiento.COMPACT_PLACEMENT_POLICY_NAME
: el nombre de una política de posición compacta.
Además, para evitar errores al crear una reserva de un solo proyecto que especifique una política de colocación compacta, asegúrate de especificar lo siguiente:
Un tipo de máquina compatible con las políticas de colocación compacta.
El campo
specificReservationRequired
se ha definido comotrue
. Esto indica que solo las máquinas virtuales que se dirijan específicamente a esta reserva podrán consumirla.
Para especificar que solo las VMs que se dirijan específicamente a esta reserva puedan consumirla, incluya el campo
specificReservationRequired
en el cuerpo de la solicitud y asígnele el valortrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Para permitir que los trabajos de entrenamiento personalizados o los trabajos de predicción de Vertex AI utilicen una reserva de VMs con GPU, incluye el campo
serviceShareType
y asigna el valorALLOW_ALL
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Para permitir que Compute Engine elimine automáticamente la reserva, seleccione uno de los siguientes métodos:
Para eliminar la reserva en una fecha y hora concretas, haz una solicitud
POST
al métodobeta.reservations.insert
. En el cuerpo de la solicitud, incluye el campodeleteAtTime
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sustituye
DELETE_AT_TIME
por una fecha y una hora con el formato de una marca de tiempo RFC 3339, que debe ser la siguiente:YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
YYYY-MM-DD
: una fecha con el formato de año de 4 dígitos, mes de 2 dígitos y día del mes de 2 dígitos, separados por guiones (-
).HH:MM:SS
: hora con formato de hora de 2 dígitos en formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos, separados por dos puntos (:
).OFFSET
: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica-08:00
. También puede especificarZ
para no usar ningún desplazamiento.
Para eliminar la reserva después de un periodo específico, haz una
POST
solicitud al métodobeta.reservations.insert
. En el cuerpo de la solicitud, incluye el campodeleteAfterDuration
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Sustituye
DELETE_AFTER_DURATION
por una duración en segundos. Por ejemplo, especifica86400
para 86.400 segundos (1 día).
Solución de problemas
Consulta cómo solucionar problemas al crear reservas.
Siguientes pasos
Consulta cómo ver tus reservas.
Consulta cómo asociar reservas a compromisos.
Consulta cómo consumir reservas.
Consulta cómo monitorizar el consumo de reservas.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-