En este documento, se explica cómo usar Compute Engine para hacer lo siguiente:
Consume instancias de máquina virtual (VM) reservadas.
Verifica el consumo de reservas.
Visualiza los informes de uso de reservas.
Para obtener más información sobre el consumo de reservas en otros productos de Google Cloud que usan VMs, consulta la documentación de reservas de los siguientes productos:
- Batch
- Dataflow
- Dataproc
- Google Kubernetes Engine
- Vertex AI:
Antes de comenzar
- Revisa los requisitos y las y las restricciones para las reservas.
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
Para crear reservas, haz lo siguiente:
compute.reservations.create
en el proyecto. -
Para crear VMs, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Si deseas especificar una dirección IP estática para la VM;
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado;
compute.networks.useExternalIp
en el proyecto - A fin de especificar una subred para la VM:
compute.subnetworks.use
en el proyecto o en la subred elegida - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadata
en el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTags
en la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabels
en la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccount
en la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnly
en el disco
-
Para crear plantillas de instancias, usa
compute.instanceTemplates.create
en el proyecto. Consume cualquier reserva que coincida: la VM puede consumir automáticamente cualquier reserva con propiedades coincidentes (predeterminado).
Esta opción es útil si creas y borras muchas VMs y deseas usar las reservas siempre que sea posible. En esta situación, se puede crear una VM sin importar si sus propiedades coinciden con una reserva o no. Si coinciden, la VM comienza a consumir la reserva según el orden de consumo de la reserva.
Consume una reserva específica: la VM puede consumir solo una reserva específica. La reserva no se puede consumir automáticamente.
Esta opción es útil cuando, por ejemplo, deseas mantener una cierta cantidad como respaldo para eventos especiales. En esta situación, se puede crear una VM solo si sus propiedades y las propiedades de la reserva específica coinciden.
No puede consumir ninguna reserva: la VM no puede consumir ninguna reserva.
Esta opción es útil cuando, por ejemplo, creas una VM temporal que no deseas que consuma recursos reservados.
Para crear una reserva con recursos que puedan usar las instancias de VM con una propiedad de afinidad de reserva configurada para consumir cualquier reserva (opción predeterminada), sigue estos pasos:
Selecciona el tipo de reserva que deseas crear:
Para crear una reserva independiente, haz lo siguiente:
En la consola de Google Cloud, ve a la página Reservas.
En la pestaña Reserva según demanda (predeterminada), haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
Para crear una reserva vinculada a un compromiso, haz lo siguiente:
En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.
Ir a Descuentos por compromiso de uso
Se abrirá la página Lista de compromisos.
Haz clic en
Compromiso de compra.Se abrirá la página Comprar un descuento por compromiso de uso.
Especifica las propiedades del compromiso. Luego, en la sección Reservas, haz clic en Agregar un elemento.
Aparecerá la sección Agregar una reserva nueva.
Para obtener más información sobre cómo adquirir un compromiso con una reserva vinculada, consulta Adquiere compromisos con reservas adjuntas.
En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa
reservation-01
.Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona
us-central1
como región yus-central1-a
como zona.Elige tu Tipo de recurso compartido preferido:
- A fin de crear una reserva para un solo proyecto, selecciona Local.
- Para crear una reserva compartida entre varios proyectos, elige Compartido. Para compartir esta reserva con otros proyectos, haz clic en Agregar proyectos y selecciona los proyectos deseados de la organización del proyecto actual.
En la sección Usar con instancia de VM, selecciona Usar reserva de forma automática para que cualquier instancia de VM coincidente pueda usar esta reserva de manera automática.
En el campo Cantidad de instancias de VMs, escribe la cantidad de VMs que deseas reservar. En este ejemplo, ingresa
2
.Especifica los recursos que deseas reservar para cada instancia de VM:
- Si deseas reservar VM que coincidan con una plantilla de instancias existente, selecciona Usar plantilla de instancias y selecciona una plantilla de instancias de la lista.
- De lo contrario, selecciona Especificar tipo de máquina y especifica lo siguiente:
- En los campos Familia de máquinas, Serie y Tipo de máquina, selecciona una familia de máquinas, series y tipos de máquinas.
- Especifica una plataforma de CPU mínima o GPU (opcional):
- Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
- Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
- Opcional: Para agregar GPU, 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.
- Opcional: Agrega SSD locales:
- En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
- En el campo Tipo de interfaz, selecciona la interfaz para las SSD locales.
Para este ejemplo, selecciona Especificar tipo de máquina. Luego, selecciona el tipo de máquina
n2-standard-32
para la familia de máquinasGeneral-purpose
y la serieN2
. Luego, selecciona la plataforma de CPU mínimaIntel Cascade Lake
.Termina de crear la reserva:
Si quieres crear una reserva independiente, haz clic en Crear.
Si quieres crear una reserva vinculada a un compromiso, ejecuta este comando:
- Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
- Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
En el mismo proyecto o en el que se comparte la reserva, crea una instancia de VM que se dirija a cualquier reserva abierta.
Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM en
reservation-01
, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.Para obtener más información sobre cómo crear una VM, consulta Crea y, luego, inicia una VM
En la consola de Google Cloud, ve a la página Crear una instancia.
Se abrirá la página Crea una instancia.
Especifica un nombre para la VM.
En las siguientes secciones, selecciona una configuración que coincida con exactitud con todas las propiedades de tu reserva, incluidas las propiedades opcionales. Para este ejemplo, debes hacer coincidir las siguientes propiedades de instancia de VM con
reservation-01
:- Región:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma de CPU mínima:
Intel Cascade Lake
- GPU: Ninguna
- SSD locales: Ninguno
- Región:
Expande la sección Opciones avanzadas y, luego, la sección Administración. En la lista Reservas, haz clic en Usar la reserva creada de forma automática.
Para crear la VM, haz clic en Crear.
Crea una reserva abierta llamada
reservation-01
.gcloud compute reservations create reservation-01 \ --vm-count=2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a
Crea una instancia de VM que se dirija a cualquier reserva abierta y que coincida con las propiedades de la instancia en
reservation-01
, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la cantidad y la interfaz del SSD local.gcloud compute instances create instance-1 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=any
Cree una reserva abierta llamada
reservation-01
.POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name": "reservation-01", "specificReservation": { "count": "2", "instanceProperties": { "machineType": "n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } } }
Crea una instancia de VM que se dirija a cualquier reserva abierta y que coincida con las propiedades de la instancia en
reservation-01
, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la cantidad y la interfaz del SSD local.POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-1", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "ANY_RESERVATION" } }
- En la consola de Google Cloud, selecciona la casilla de verificación Seleccionar reserva específica.
- En la CLI de gcloud, incluye la marca
--require-specific-reservation
. - En la API de Compute Engine, establece el campo
specificReservationRequired
entrue
. - En Terraform, establece el campo
specific_reservation_required
entrue
. Para crear una reserva con recursos que solo puedan usar las instancias de VM que se dirigen a la reserva de forma específica por nombre, sigue estos pasos:
Selecciona una de las opciones siguientes:
Para crear una reserva independiente, haz lo siguiente:
En la consola de Google Cloud, ve a la página Reservas.
En la pestaña Reservas según demanda (predeterminada), haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
Para crear una reserva vinculada a un compromiso, haz lo siguiente:
En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.
Haz clic en
Compromiso de compra.Se abrirá la página Comprar un descuento por compromiso de uso.
Especifica las propiedades del compromiso. Luego, en la sección Reservas, haz clic en Agregar un elemento.
Aparecerá la sección Agregar una reserva nueva.
Para obtener más información sobre cómo adquirir un compromiso con una reserva vinculada, consulta Adquiere compromisos con reservas adjuntas.
En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa
reservation-02
.Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona
us-central1
como región yus-central1-a
como zona.Para especificar que tu reserva será una de un solo proyecto, selecciona Local como el Tipo de recurso compartido.
En la sección Usar con instancia de VM, selecciona Seleccionar reserva específica para que solo las instancias de VM que se dirigen a esta reserva de forma específica por nombre puedan usarla.
En el campo Cantidad de instancias de VMs, escribe la cantidad de VMs que deseas reservar. En este ejemplo, ingresa
10
.Especifica los recursos que deseas reservar para cada instancia de VM:
- Si deseas reservar VM que coincidan con una plantilla de instancias existente, selecciona Usar plantilla de instancias y selecciona una plantilla de instancias de la lista.
- De lo contrario, selecciona Especificar tipo de máquina y especifica lo siguiente:
- En los campos Familia de máquinas, Serie y Tipo de máquina, selecciona una familia de máquinas, series y tipos de máquinas.
- Especifica una plataforma de CPU mínima o GPU (opcional):
- Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
- Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
- Opcional: Para agregar GPU, 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.
- Opcional: Agrega SSD locales:
- En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
- En el campo Tipo de interfaz, selecciona la interfaz para las SSD locales.
Para este ejemplo, selecciona Especificar tipo de máquina. Luego, selecciona el tipo de máquina
n2-standard-32
para la familia de máquinasGeneral-purpose
y la serieN2
. Luego, selecciona la plataforma de CPU mínimaIntel Cascade Lake
.Termina de crear la reserva:
Si quieres crear una reserva independiente, haz clic en Crear.
Si quieres crear una reserva vinculada a un compromiso, ejecuta este comando:
- Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
- Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
En el mismo proyecto, crea una instancia de VM que se dirija a esa reserva específica por nombre.
Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de esa reserva específica, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y el tamaño y la interfaz SSD local.
Para obtener más información sobre cómo crear una VM, consulta Crea y, luego, inicia una VM.
En la consola de Google Cloud, ve a la página Crear una instancia.
En el campo Nombre, ingresa un nombre para la VM.
En las siguientes secciones, selecciona una configuración que coincida con exactitud con todas las propiedades de tu reserva, incluidas las propiedades opcionales. Para este ejemplo, debes hacer coincidir las siguientes propiedades de instancia de VM con
reservation-02
:- Región:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma de CPU mínima:
Intel Cascade Lake
- GPU: Ninguna
- SSD locales: Ninguno
- Región:
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Administración.
En la sección Reservas, en la lista Política de la aplicación, selecciona Seleccionar reserva específica.
Selecciona la reserva con las propiedades de VM coincidentes que deseas que consume tu VM. Para este ejemplo, selecciona
reservation-02
.
Para crear la VM, haz clic en Crear.
Crea una reserva llamada
reservation-02
con la marca--require-specific-reservation
. Estos recursos reservados solo los pueden usar las instancias que se dirigen a esta reserva de forma específica por nombre.gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --require-specific-reservation
Crea una instancia de VM que se dirija a
reservation-02
por nombre mediante las marcas--reservation-affinity
y--reservation
.Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de la reserva, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y la interfaz y SSD locales SSD. tamaño.
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=reservation-02
Crea una reserva llamada
reservation-02
con el campospecificReservationRequired
configurado comotrue
.POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } }, "specificReservationRequired": true }
Crea una instancia de VM que se dirija a
reservation-02
por nombre mediante el camporeservationAffinity
.Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de la reserva, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y la interfaz y SSD locales SSD. tamaño.
POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "reservation-02" ] } }
Para crear una reserva compartida con recursos que solo puedan usar las instancias de VM que se dirigen a esta reserva de forma específica por nombre, sigue estos pasos:
Selecciona una de las opciones siguientes:
Para crear una reserva independiente, haz lo siguiente:
En la consola de Google Cloud, ve a la página Reservas.
En la pestaña Reservas según demanda (predeterminada), haz clic en
Crear reserva.Se abrirá la página Crear una reserva.
Para crear una reserva vinculada a un compromiso, haz lo siguiente:
En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.
Haz clic en
Compromiso de compra.Se abrirá la página Comprar un descuento por compromiso de uso.
Especifica las propiedades del compromiso. Luego, en la sección Reservas, haz clic en Agregar un elemento.
Aparecerá la sección Agregar una reserva nueva.
Para obtener más información sobre cómo adquirir un compromiso con una reserva vinculada, consulta Adquiere compromisos con reservas adjuntas.
En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa
reservation-02
.Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona
us-central1
como región yus-central1-a
como zona.Para especificar que tu reserva es una reserva compartida, selecciona Compartido como el Tipo de recurso compartido.
Haz clic en
Agregar proyectos y selecciona los proyectos de la organización actual del proyecto con el que deseas compartir la reserva.En la sección Usar con instancia de VM, selecciona Seleccionar reserva específica para que solo las instancias de VM que se dirigen a esta reserva de forma específica por nombre puedan usarla.
En el campo Cantidad de instancias de VMs, escribe la cantidad de VMs que deseas reservar. En este ejemplo, ingresa
10
.Especifica los recursos que deseas reservar para cada instancia de VM:
- Si deseas reservar VM que coincidan con una plantilla de instancias existente, selecciona Usar plantilla de instancias y selecciona una plantilla de instancias de la lista.
- De lo contrario, selecciona Especificar tipo de máquina y especifica lo siguiente:
- En los campos Familia de máquinas, Serie y Tipo de máquina, selecciona una familia de máquinas, series y tipos de máquinas.
- Especifica una plataforma de CPU mínima o GPU (opcional):
- Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
- Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
- Opcional: Para agregar GPU, 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.
- Opcional: Agrega SSD locales:
- En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
- En el campo Tipo de interfaz, selecciona la interfaz para las SSD locales.
Para este ejemplo, selecciona Especificar tipo de máquina. Luego, selecciona el tipo de máquina
n2-standard-32
para la familia de máquinasGeneral-purpose
y la serieN2
. Luego, selecciona la plataforma de CPU mínimaIntel Cascade Lake
. 1. Termina de crear la reserva:Si quieres crear una reserva independiente, haz clic en Crear.
Si quieres crear una reserva vinculada a un compromiso, ejecuta este comando:
- Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
- Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
En el mismo proyecto o en el que se comparte la reserva, crea una instancia de VM que se dirija a esa reserva específica por nombre.
Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de esa reserva específica, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y el tamaño y la interfaz SSD local.
En la consola de Google Cloud, ve a la página Crear una instancia.
Se abrirá la página Crea una instancia.
Especifica un Nombre para la VM.
En las siguientes secciones, selecciona una configuración que coincida con exactitud con todas las propiedades de tu reserva, incluidas las propiedades opcionales. Para este ejemplo, debes hacer coincidir las siguientes propiedades de instancia de VM con
reservation-02
:- Región:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma de CPU mínima:
Intel Cascade Lake
- GPU: Ninguna
- SSD locales: Ninguno
- Región:
Expande la sección Opciones avanzadas y, luego, la sección Administración. En la lista Reservas, selecciona Seleccionar reserva específica y, luego, haz lo siguiente:
- Selecciona un Proyecto de reserva que tenga reservas compartidas con tu proyecto actual. En este ejemplo, selecciona el proyecto que usaste para crear
reservation-02
. - Selecciona el Nombre de reserva de la reserva compartida que deseas que consuma esta instancia de VM. Para este ejemplo, selecciona
reservation-02
.
- Selecciona un Proyecto de reserva que tenga reservas compartidas con tu proyecto actual. En este ejemplo, selecciona el proyecto que usaste para crear
Para crear la VM, haz clic en Crear.
Crea una reserva llamada
reservation-02
con la marca--require-specific-reservation
. Estos recursos reservados solo los pueden usar las instancias que se dirigen a esta reserva de forma específica por nombre.gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --project=my-owner-project \ --share-setting=projects \ --share-with=project-1,project-2 \ --require-specific-reservation
Crea una instancia de VM que se dirija a
reservation-02
por nombre mediante las marcas--reservation-affinity
y--reservation
. Para consumir esta reserva desde cualquier proyecto de consumidor con el que se comparta esta reserva, también debes especificar el proyecto que creó la reserva,my-owner-project
.Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de la reserva, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y la interfaz y SSD locales SSD. tamaño.
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=projects/my-owner-project/reservations/reservation-02
Crea una reserva llamada
reservation-02
con el campospecificReservationRequired
configurado comotrue
.POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake" } }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservationRequired": true }
Crea una instancia de VM que se dirija a
reservation-02
por nombre mediante el camporeservationAffinity
. Para consumir esta reserva desde cualquier proyecto de consumidor con el que se comparta esta reserva, también debes especificar el proyecto de propietario de la reserva,my-owner-project
.Asegúrate de que las propiedades de la VM coincidan con las propiedades de la VM de la reserva, incluida la zona, el tipo de máquina (familia de máquinas, CPU virtuales y memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU y la interfaz y SSD locales SSD. tamaño.
POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/my-owner-project/reservations/reservation-02" ] } }
Configura la propiedad de afinidad de la reserva de las VMs para que no consuman ninguna reserva de forma explícita, como se describe en esta sección.
Asegúrate de que tus VMs no coincidan con las propiedades de la VM de la reserva.
En la consola de Google Cloud, ve a la página Crea una instancia.
En el campo Nombre, ingresa un nombre para la VM.
En las listas Región y Zona, selecciona la región y la zona en las que deseas crear la VM.
En la sección Configuración de máquina, especifica el tipo de máquina que se usará para la VM.
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Administración.
En la sección Reservas, en la lista Política de aplicaciones, selecciona No usar.
Haz clic en Crear.
VM_NAME
: el nombre de la VM.MACHINE_TYPE
: Es el tipo de máquina que se usará para la VM.ZONE
: la zona en la que se creará la VM.PROJECT_ID
: Es el ID del proyecto en el que se creará la VM.ZONE
: la zona en la que se creará la VM.VM_NAME
: el nombre de la VM.MACHINE_TYPE
: Es el tipo de máquina que se usará para la VM.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen del SO; por ejemplo,debian-cloud
. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
En la consola de Google Cloud, ve a la página Crea una plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Ubicación, especifica si deseas crear una plantilla de instancias regional (predeterminada) o global.
En la sección Configuración de la máquina, especifica el tipo de máquina que se usará para las VMs creadas con la plantilla.
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Administración.
En la sección Reservas, en la lista Política de aplicaciones, selecciona No usar.
Haz clic en Crear.
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.MACHINE_TYPE
: El tipo de máquina que se usará para las VMs creadas con la plantilla de instancias.Para crear una plantilla de instancias global: método
instanceTemplates.insert
.Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insert
.PROJECT_ID
: el ID del proyecto en el que se creará la plantilla de instancias.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.MACHINE_TYPE
: El tipo de máquina que se usará para las VMs creadas con la plantilla de instancias.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen del SO; por ejemplo,debian-cloud
. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
Borra o actualiza la reserva específica que usaste para las pruebas.
Borra la VM o actualízala para que tenga una afinidad de reserva diferente (
reservationAffinity
).Consulta los detalles de la reserva
Si la cantidad de VMs que consumen una reserva aumenta en 1 después de crear o actualizar una VM, es probable que tu acción haya hecho que la VM comience a consumir la reserva. Esta es la forma más rápida de comprobar si se está consumiendo una reserva. Sin embargo, es posible que no funcione bien para verificar qué VM exacta consume la reserva.
Crea la VM para que se oriente a una reserva específica
Si puedes crear correctamente una VM que se oriente a una reserva específica, entonces la VM consume la reserva. Este es el método más confiable para verificar que una VM específica consume una reserva y que las propiedades de la VM coinciden con las de la reserva.
Supervisa el consumo de reservas
Con Cloud Monitoring, puedes acceder y ver la información asociada con el consumo de las reservas que se crearon en tu proyecto. La supervisión actualiza los datos de consumo de reservas al menos una vez cada 30 minutos. Este método es útil para verificar la tendencia de consumo de una o más reservas en un proyecto, así como para recibir notificaciones de reservas con poco o sin uso.
Consulta el uso histórico de tus reservas
Con el Planificador de capacidad (versión preliminar), puedes acceder a los datos históricos de uso de tus reservas y consultarlos desde su creación hasta su eliminación. El Planificador de capacidad actualiza los datos de consumo de reservas cada 24 horas. Este método es útil para verificar el consumo anterior de tus reservas en un proyecto, una carpeta o una organización, así como ayudarte a planificar las necesidades de capacidad futuras.
- Recursos reservados que están en uso. Estas entradas se muestran como recursos normales de CPU virtuales, memoria, GPU y SSD locales.
- Recursos reservados que no están en uso. Estas entradas tienen nombres de SKU y URI de recursos de reserva normales.
- El total de recursos reservados. Estas entradas tienen nombres de SKU de reserva y URI de recursos de reserva. No existen costos asociados con estas entradas. Usa estas entradas para calcular cuántas de tus reservas están en uso.
- En la fila 1, se muestra la memoria RAM reservada que está en uso. El
ResourceId
de la fila muestra que una VM llamadamy-instance
usa esta RAM. - En la fila 2, se muestra la memoria RAM reservada que no está en uso. El
ResourceId
de la fila muestra quemy-reservation
mantiene esta RAM reservada, que aún no la usa ninguna instancia. - En la fila 3, se muestra el total de RAM reservada de la reserva.
- Obtén más información para supervisar el consumo de reservas.
- Obtén información sobre cómo modificar reservas.
- Obtén más información sobre cómo borrar reservas.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
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.
Roles obligatorios
Para obtener los permisos que necesitas y consumir las reservas, pídele al administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para consumir reservas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para consumir las reservas:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Consume las VMs reservadas
Cuando creas una instancia de máquina virtual (VM), la instancia comienza a consumir una reserva solo si las propiedades de la VM y la reserva coinciden. Además, debes establecer la propiedad de afinidad de la reserva de la VM en una de las siguientes opciones:
Consume las VMs de cualquier reserva que coincida
En este modelo de consumo, las VMs nuevas y existentes consumen una reserva automáticamente si sus propiedades coinciden con las propiedades de la VM especificadas en la reserva.
Cuando se usa este modelo de consumo, las VMs del proyecto actual consumen todas las reservas de un solo proyecto antes de consumir cualquier reserva compartida. Para obtener más información sobre cómo se consumen las instancias automáticamente, consulta el orden de consumo.
Cuando creas una reserva, este es el modelo de consumo predeterminado, siempre que no uses la opción o marca que indica que se necesitan reservas específicas.
Console
gcloud
Go
Java
Node.js
Python
REST
Consume las VMs de una reserva específica
En este modelo de consumo, solo las instancias nuevas que se dirigen a una reserva específica por nombre consumen esa reserva, y la reserva no se consume de forma automática.
Cuando crees la reserva, especifica que las instancias son necesarias para orientar la reserva específica mediante uno de los siguientes métodos:
Luego, crea VMs que se orienten a esa reserva de forma específica. Solo puedes crear una VM que se oriente a una reserva específica si las propiedades de la VM y las propiedades de la reserva coinciden. De lo contrario, la creación de la VMfalla.
Si usas una plantilla de instancia para crear VM en un grupo de instancias administrado regional, crea reservas idénticas con el mismo nombre en cada zona aplicable. Luego, organiza las reservas por nombre en la plantilla de instancia del grupo.
Por ejemplo, crea una reserva específica llamada
reservation-02
y, luego, crea una VM coincidente que se dirija a esa reserva y que coincida con sus propiedades de la VM.Según el tipo de VM que quieras consumir, sigue los pasos que se indican en Consume una reserva específica de un solo proyecto o Consume una reserva compartida específica.
Consume una reserva específica de un solo proyecto
Para consumir una reserva específica de un solo proyecto, selecciona una de las siguientes opciones:
Console
gcloud
Go
Java
Node.js
Python
REST
Consume una reserva compartida específica
Para consumir una reserva compartida específica, selecciona una de las siguientes opciones:
Console
gcloud
Go
Java
Python
REST
Crea VMs sin consumir reservas
Si creas una reserva consumida automáticamente, cualquier VM en ejecución con propiedades coincidentes en tu proyecto puede consumir la reserva. Para evitar que una o más de tus VMs consuman la reserva, haz lo siguiente:
Para crear VMs que no consuman reservas de forma explícita, selecciona uno de los siguientes métodos:
Crea una VM para que no consuma reservas
Para crear una VM que no consuma reservas de forma explícita, selecciona una de las siguientes opciones:
Console
gcloud
Para crear una VM que no consuma reservas de forma explícita, usa el comando
gcloud compute instances create
con la marca--reservation-affinity=none
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none \ --zone=ZONE
Reemplaza lo siguiente:
Go
Java
Node.js
Python
REST
Para crear una VM que no consuma reservas de forma explícita, realiza una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye el campoconsumeReservationType
configurado comoNO_RESERVATION
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Reemplaza lo siguiente:
Para obtener más información sobre cómo crear una VM, consulta Crea y, luego, inicia una instancia de Compute Engine.
Crea una plantilla de instancias para que no consuma reservas
Para crear una plantilla de instancias que cree VMs que no consuman reservas de forma explícita, selecciona una de las siguientes opciones:
Console
gcloud
Para crear una plantilla de instancias que cree VMs que no consuman reservas de forma explícita, usa el comando
gcloud compute instances-templates create
con la marca--reservation-affinity=none
.Por ejemplo, para crear una plantilla de instancias global que cree VMs que no consuman reservas de forma explícita, ejecuta el siguiente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none
Reemplaza lo siguiente:
Go
Java
Node.js
Python
REST
Para crear una plantilla de instancias que cree VMs que no consuman reservas de forma explícita, realiza una solicitud
POST
a uno de los siguientes métodos:En el cuerpo de la solicitud, incluye el campo
consumeReservationType
y configúralo comoNO_RESERVATION
.Por ejemplo, para crear una plantilla de instancias global que cree VMs que no consuman reservas de forma explícita, realiza una solicitud de la siguiente manera:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/InstanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } } }
Reemplaza lo siguiente:
Para obtener más información sobre cómo crear plantillas de instancias, consulta Crea plantillas de instancias.
Prueba que las propiedades de la VM coincidan con una reserva
Para probar si las VMs pueden consumir automáticamente una reserva, puedes crear una copia de la reserva como una reserva específica y, luego, ver si una VM que planeas crear puede consumir esa reserva. Si puedes crear la VM de forma correcta, verificaste que la VM pueda consumir de forma correcta la reserva coincidente. De lo contrario, la creación de la VM falla porque las propiedades no coinciden o no hay recursos reservados disponibles. Después de realizar las pruebas, puedes realizar una o más de las siguientes acciones:
Verifica el consumo de reservas
Para asegurarte de que tus VMs consuman tus reservas de manera eficaz, puedes verificar su consumo con los siguientes métodos:
Si ves que una VM no consume una reserva después de verificar que la afinidad de reserva de la VM puede consumirla, la reserva no se consume por completo y las propiedades de la VM y la reserva coinciden, consulta Disponibilidad de recursos.
Visualiza los informes de uso de reserva
Para exportar informes detallados del uso de Compute Engine a un bucket de Cloud Storage, usa la característica de exportación de uso. Para obtener instrucciones, consulta Visualiza informes de uso.
El informe de uso muestra lo siguiente:
Medida Formato MeasurementId
Formato Resource URI
Recursos reservados que están en uso com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME
.
Por ejemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Recursos reservados que no están en uso com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
Por ejemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Total de recursos reservados com.google.cloud/services/compute-engine/ReservationSKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
Por ejemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Por ejemplo, en el siguiente fragmento de un informe de uso para una reserva denominada
my-reservation
, se muestra lo siguiente:Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a ...
Solucionar problemas
Obtén más información sobre cómo solucionar problemas con el consumo de reservas.
¿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)
-