Consumir reservas


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:

Antes de comenzar

  • Revisa los requisitos y las y las restricciones para las reservas.
  • Configura la autenticación si aún no lo hiciste. 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 un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

Funciones obligatorias

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.

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:

  • 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 usecompute.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

También puedes obtener estos permisos con funciones personalizadas o con otras funciones predefinidas

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 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.

Consume las VM 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

  1. 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:

    1. Selecciona el tipo de reserva que deseas crear:

      • Para crear una reserva independiente, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Reservas.

          Ir a Reservas

          Aparecerá la página Reservas.

        2. Haz clic en Crear reserva.

          Aparecerá la página Crear una reserva.

      • Para crear una reserva vinculada a un compromiso, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.

          Ir a Descuentos por compromiso de uso

          Aparecerá la página Lista de compromisos.

        2. Haz clic en Compromiso de compra.

          Aparecerá la página Comprar un descuento por compromiso de uso.

        3. 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 conectadas.

    2. En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa reservation-01.

    3. Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona us-central1 como región y us-central1-a como zona.

    4. 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.
    5. 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.

    6. En el campo Cantidad de instancias de VM, ingresa la cantidad de VM que deseas reservar. En este ejemplo, ingresa 2.

    7. 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:
        1. 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.
        2. Especifica una plataforma de CPU mínima o GPU (opcional):
          1. Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
          2. Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
          3. 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.
        3. Opcional: Agrega SSD locales:
          1. En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
          2. 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áquinas General-purpose y la serie N2. Luego, selecciona la plataforma de CPU mínima Intel Cascade Lake.

    8. 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:

        1. Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
        2. Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
  2. 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 , incluidos 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 e inicia una VM.

    1. En la consola de Google Cloud, ve a la página Crear una instancia.

      Ir a Crear una instancia

      Aparecerá la página Crear una instancia.

    2. Especifica un nombre para la VM.

    3. 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
    4. 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.

    5. Para crear la VM, haz clic en Crear.

gcloud

  1. 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
    
  2. 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
    

REST

  1. 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",
        }
      },
      "specificReservationRequired": false
    }
    
  2. 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",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

Consume las VM 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:

  • 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 en true.
  • En Terraform, establece el campo specific_reservation_required en true.

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 VM falla.

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, usa la consola de Google Cloud, gcloud CLI o REST.

Consola

  1. 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:

    1. Selecciona una de las opciones siguientes:

      • Para crear una reserva independiente, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Reservas.

          Ir a Reservas

          Aparecerá la página Reservas.

        2. Haz clic en Crear reserva.

          Aparecerá la página Crear una reserva.

      • Para crear una reserva vinculada a un compromiso, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.

          Ir a Descuentos por compromiso de uso

          Aparecerá la página Lista de compromisos.

        2. Haz clic en Compromiso de compra.

          Aparecerá la página Comprar un descuento por compromiso de uso.

        3. 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 conectadas.

    2. En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa reservation-02.

    3. Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona us-central1 como región y us-central1-a como zona.

    4. Para especificar que tu reserva será una de un solo proyecto, selecciona Local como el Tipo de recurso compartido.

    5. 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.

    6. En el campo Cantidad de instancias de VM, ingresa la cantidad de VM que deseas reservar. En este ejemplo, ingresa 10.

    7. 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:
        1. 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.
        2. Especifica una plataforma de CPU mínima o GPU (opcional):
          1. Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
          2. Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
          3. 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.
        3. Opcional: Agrega SSD locales:
          1. En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
          2. 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áquinas General-purpose y la serie N2. Luego, selecciona la plataforma de CPU mínima Intel Cascade Lake.

    8. 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:

        1. Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
        2. Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
  2. 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 SSD local{101 }interfaz y el tamaño.

    Para obtener más información sobre cómo crear una VM, consulta Crea y, luego, inicia una VM.

    1. En la consola de Google Cloud, ve a la página Crear una instancia.

      Ir a Crear una instancia

      Aparecerá la página Crear una instancia.

    2. Especifica un nombre para la VM.

    3. 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
    4. Expande la sección Opciones avanzadas y, luego, la sección Administración. En la lista Reservas, selecciona Seleccionar reserva específica y, luego, el Nombre de la reserva con las propiedades coincidentes que deseas que consuma tu instancia. Para este ejemplo, selecciona reservation-02.

    5. Para crear la VM, haz clic en Crear.

gcloud

  1. 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
    
  2. 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
    

REST

  1. Crea una reserva llamada reservation-02 con el campo specificReservationRequired configurado como true.

    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
    }
    
  2. Crea una instancia de VM que se dirija a reservation-02 por nombre mediante el campo reservationAffinity.

    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",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        [
          "reservation-02"
        ]
      },
      ...
    }
    

Consume una reserva compartida específica

Para consumir una reserva compartida específica, usa la consola de Google Cloud, gcloud CLI o REST.

Consola

  1. 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:

    1. Selecciona una de las opciones siguientes:

      • Para crear una reserva independiente, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Reservas.

          Ir a Reservas

          Aparecerá la página Reservas.

        2. Haz clic en Crear reserva.

          Aparecerá la página Crear una reserva.

      • Para crear una reserva vinculada a un compromiso, haz lo siguiente:

        1. En la consola de Google Cloud, ve a la página Descuentos por compromiso de uso.

          Ir a Descuentos por compromiso de uso

          Aparecerá la página Lista de compromisos.

        2. Haz clic en Compromiso de compra.

          Aparecerá la página Comprar un descuento por compromiso de uso.

        3. 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 conectadas.

    2. En el campo Nombre, ingresa el nombre de tu reserva. En este ejemplo, ingresa reservation-02.

    3. Elige la región y zona en la que deseas reservar los recursos. En este ejemplo, selecciona us-central1 como región y us-central1-a como zona.

    4. Para especificar que tu reserva es una reserva compartida, selecciona Compartido como el Tipo de recurso compartido.

    5. Haz clic en Agregar proyectos y selecciona los proyectos de la organización actual del proyecto con el que deseas compartir la reserva.

    6. 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.

    7. En el campo Cantidad de instancias de VM, ingresa la cantidad de VM que deseas reservar. En este ejemplo, ingresa 10.

    8. 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:
        1. 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.
        2. Especifica una plataforma de CPU mínima o GPU (opcional):
          1. Para expandir la sección Plataforma de CPU y GPU, haz clic en la flecha de expansión .
          2. Opcional: Para especificar una plataforma de CPU mínima, selecciona una opción en la lista Formulario de CPU.
          3. 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.
        3. Opcional: Agrega SSD locales:
          1. En el campo Cantidad de discos, elige la cantidad de SSD locales para cada VM.
          2. 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áquinas General-purpose y la serie N2. Luego, selecciona la plataforma de CPU mínima Intel 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:

        1. Para terminar de especificar las propiedades de esta reserva, haz clic en Listo.
        2. Para terminar de crear el compromiso y las reservas adjuntas, haz clic en Comprar.
  2. 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 SSD local{101 }interfaz y el tamaño.

    1. En la consola de Google Cloud, ve a la página Crear una instancia.

      Ir a Crear una instancia

      Aparecerá la página Crear una instancia.

    2. Especifica un Nombre para la VM.

    3. 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
    4. 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:

      1. 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.
      2. Selecciona el Nombre de reserva de la reserva compartida que deseas que consuma esta instancia de VM. Para este ejemplo, selecciona reservation-02.
    5. Para crear la VM, haz clic en Crear.

gcloud

  1. 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
    
  2. 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
    

REST

  1. Crea una reserva llamada reservation-02 con el campo specificReservationRequired configurado como true.

    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
    }
    
  2. Crea una instancia de VM que se dirija a reservation-02 por nombre mediante el campo reservationAffinity. 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",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        [
          "projects/my-owner-project/reservations/reservation-02"
        ]
      },
      ...
    }
    

Crea VM sin consumir reservas

Para evitar el consumo explícito de recursos de cualquier reserva, configura la propiedad de afinidad de la reserva a fin de no usar ninguna reserva cuando crees la VM. De forma alternativa, para evitar el uso de tus reservas de forma implícita, crea una VM que no coincida con las propiedades de la VM de ninguna de tus reservas.

Consola

  1. Crea una VM que no consuma una reserva de forma explícita.

    1. En la consola de Google Cloud, ve a la página Crea una instancia.

      Ir a Crear una instancia

    2. Crea una VM. Para obtener más información, consulta Crea e inicia una VM.

    3. Expande la sección Opciones avanzadas y sigue estos pasos:

      1. Expande la sección Administración.
      2. Para asegurarte de que esta VM no consuma reservas existentes, en la lista Reservas, selecciona No usar.
    4. Haz clic en Crear.

gcloud

Crea una VM que no consuma una reserva de forma explícita.

gcloud compute instances create instance-3 --reservation-affinity=none

De forma alternativa, crea una VM que no coincida con las propiedades de la VM en ninguna de tus reservas. Para revisar tus propiedades de reserva, consulta Visualiza reservas.

REST

Crea una VM que no consuma una reserva de forma explícita.

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances

{
  "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

De forma alternativa, crea una VM que no coincida con las propiedades de la VM en ninguna de tus reservas. Para revisar tus propiedades de reserva, consulta Visualiza reservas.

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 verificar que una VM consuma de forma correcta una reserva, usa uno de los siguientes métodos:

  • Visualiza los detalles de la reserva antes y después de crear o actualizar una VM.

    Si la cantidad de VMs usadas por una reserva aumenta en 1 después del cambio, es probable que el cambio haya hecho que la VM comience a consumir la reserva. Este es el método más simple para verificar el consumo de una reserva, pero puede que no funcione bien para verificar qué VM exacta consume una 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 VM coinciden con una 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 el proyecto actual. Si ves un cambio en las mediciones de una reserva, significa que una VM consumió la reserva. Este método es útil para verificar la tendencia de consumo de una o más reservas, así como para recibir notificaciones de reservas con poco o sin uso.

Si ves que una VM no consume una reserva después de que hayas verificado que la afinidad de reserva de la VM puede consumir la reserva, la reserva no se consume por completo, y la VM y las propiedades de la reserva coinciden, consulta la documentación de solución de problemas sobre 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:

  • 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.
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:

  • En la fila 1, se muestra la memoria RAM reservada que está en uso. El ResourceId de la fila muestra que una VM llamada my-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 que my-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.
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
...

Solución de problemas

Obtén más información sobre cómo solucionar problemas con el consumo de reservas.

¿Qué sigue?