Reserva recursos zonales de Compute Engine

Crea reservas para instancias de VM en una zona específica con tipos de máquina personalizados o predefinidos, con o sin GPU adicionales o SSD locales, para garantizar que haya recursos disponibles para tus cargas de trabajo cuando los necesites. Después de crear una reserva, comienzas a pagar los recursos reservados de inmediato, y permanecen disponibles para que tu proyecto los use de forma indefinida hasta que se borre la reserva.

Usa las reservas para asegurarte de que tu proyecto disponga de los recursos para las siguientes situaciones: futuros aumentos en la demanda, incluidos picos planificados o no planificados, migración de una gran cantidad de VM, copias de seguridad y recuperación ante desastres, o crecimiento y almacenamiento en búfer planificados.

Cuando ya no necesites una reserva, bórrala para dejar de generar cargos. Debido a que las reservas consumen recursos, al igual que las VM normales, cada reserva se cobra en función de las tarifas según demanda existentes, que incluyen descuentos por uso continuo y son aptas para descuentos por compromiso de uso.

Antes de comenzar

Beneficios

Las reservas proporcionan los siguientes beneficios:

  • Reserva máquinas para que estén siempre disponibles, incluso si no las usas de inmediato.
  • Crea una reserva en cualquier momento y bórrala en cualquier momento para dejar de pagarla.

  • Las reservas se facturan de la misma manera y con la misma tarifa que los recursos que reservan. Por lo tanto, los recursos reservados son aptos para descuentos por uso continuo y descuentos por compromiso de uso.

Limitaciones y restricciones

Las reservas tienen las siguientes limitaciones y restricciones:

  • Las reservas solo se aplican al uso de Compute Engine, Cloud Dataproc y las VM de Google Kubernetes Engine.
  • Las reservas no se aplican a los tipos de máquinas f1-micro o g1-small, las VM interrumpibles o los nodos de instancia única Tampoco se aplican a otros servicios que no hayan sido mencionados, como Cloud SQL y Cloud Dataflow.
  • Puedes reservar hasta 1,000 instancias de VM por reserva.
  • Debes tener una cuota suficiente en tu proyecto para los recursos que quieres reservar. Si la reserva se realiza de forma correcta, la cuota que corresponde a ese recurso se cobra en consecuencia.
  • Los recursos se asignan cuando se crea la reserva. Si no hay suficientes recursos en la zona al momento de la solicitud, la reserva falla y se muestra un error de capacidad insuficiente.
  • Cuando se combina con un descuento por compromiso de uso, sucede lo siguiente:
    • En el caso de los precios para GPU y SSD locales con descuento por compromiso de uso, debes crear una reserva cuando adquieras el compromiso.
    • Si la reserva se adjunta a un compromiso, la reserva no se puede borrar.
    • Solo puedes comprar un compromiso de 1 año para las GPU K80.
  • Las reservas que no se adjuntan a un descuento por compromiso de uso se pueden mantener por tiempo indefinido, pero se aplica un cobro mínimo de 1 minuto, como sucede con las instancias regulares.

Cómo funcionan las reservas

Crea reservas para reservar las instancias de VM que necesites. Después de crear una reserva, esta garantiza que esos recursos estén siempre disponibles para su uso. Durante el proceso de creación, puedes elegir cómo se usará una reserva. Por ejemplo, puedes elegir que una reserva se aplique de forma automática a instancias nuevas o existentes que coincidan con las propiedades de la reserva (el comportamiento predeterminado) o especificar que solo una instancia de VM específica puede consumir una reserva.

En todos los casos, una instancia de VM solo puede usar una reserva si sus propiedades coinciden exactamente con las propiedades de la reserva. En concreto, para que una instancia consuma una reserva, la instancia debe coincidir con las propiedades de la reserva en los siguientes elementos:

  • Zona
  • Tipo de máquina (núcleos y memoria)
  • Plataforma de CPU mínima
  • Tipo de GPU
  • Recuento de GPU
  • Interfaz de SSD local
  • Tamaño de SSD local

Si una instancia de VM coincide con las propiedades de una reserva, el comportamiento predeterminado es que todas las instancias de VM nuevas y existentes consuman la reserva de forma automática, a menos que se especifique lo contrario. Por ejemplo, de manera predeterminada, si creas una reserva para 10 instancias custom-8-10240 y ya tienes 5 instancias custom-8-10240 que coinciden, esas 5 instancias consumen 5 de las reservas. Si creas 3 instancias adicionales que coinciden, se consumen otras 3 reservas.

Para anular este comportamiento predeterminado, especifica ciertas opciones cuando crees instancias y reservas.

  • Para crear una reserva que no quieres que se consuma de forma automática, usa la opción specificReservationRequired. Estas reservas solo se pueden usar si las especificas de forma explícita durante la creación de la instancia.
  • Para especificar que deseas que una instancia consuma una reserva, usa la opción reservationAffinity cuando crees la instancia o en la plantilla de instancias. Puedes especificar que una instancia consuma de forma automática de cualquier reserva coincidente, que no consuma de manera automática de reservas coincidentes o que solo consuma de una reserva específica.

Si detienes o borras una instancia que usa una reserva, la instancia ya no cuenta para la reserva y los recursos reservados vuelven a estar disponibles.

Si borras una reserva pero no borras las instancias que usan los recursos reservados, las instancias persisten y deberás pagar por ellas como de costumbre.

Crea una reserva

Crea una reserva para instancias de VM mediante Console, la herramienta de línea de comandos de gcloud o la API. De manera predeterminada, las instancias de VM que coincidan con las propiedades de una reserva consumen la reserva de forma automática. Para crear una reserva que no se consuma de forma automática, usa la opción specificReservationRequired.

No necesitas crear un compromiso para reservar recursos. Sin embargo, si deseas obtener precios con descuentos por compromiso de uso en GPU o SSD locales, debes crear una reserva que incluya esos recursos al mismo tiempo cuando compres tu compromiso. Para obtener más información, consulta la sección sobre cómo combinar reservas con descuentos por compromiso de uso.

Console

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

    Ir a la página Descuentos por compromiso de uso

  2. Haz clic en Crear reserva para crear una reserva independiente sin un compromiso superior.

  3. Asigna un nombre a tu reserva.

  4. Si deseas usar los recursos de esta reserva solo cuando creas instancias coincidentes que se dirigen de forma específica a esta reserva por nombre, en Usar con instancia de VM, selecciona Seleccionar reserva específica.

  5. Elige la región y zona en la que deseas reservar los recursos.

  6. Especifica la cantidad de instancias de VM que deseas reservar.

  7. Especifica los recursos que deseas reservar para cada instancia:

    • Si tienes una plantilla de instancias, haz clic en Usar plantilla de instancias y selecciona una plantilla de instancias de la lista.
    • De lo contrario, haz clic en Especificar tipo de máquina.
      1. En los tipos predefinidos de máquina, selecciona lo que necesitas del menú desplegable.
      2. En los tipos personalizados de máquinas, incluida la plataforma de CPU mínima, o para agregar GPU, haz clic en Personalizar y realiza tus selecciones.
      3. De manera opcional, especifica la cantidad de discos SSD locales que deseas agregar a cada instancia y especifica el Tipo de interfaz que se usará.
  8. Haz clic en el botón Crear para crear la reserva.

gcloud

Usa el comando gcloud compute reservations create para crear una reserva nueva.

gcloud compute reservations create [RESERVATION_NAME] \
    --machine-type=[MACHINE_TYPE] \
    --min-cpu-platform [MINIMUM_CPU_PLATFORM] \
    --vm-count=[NUMBER_OF_VMS] \
    --accelerator=count=[NUMBER_OF_ACCELERATORS],type=[ACCELERATOR_TYPE] \
    --local-ssd=size=[SIZE_IN_GB],interface=[INTERFACE] \
    --require-specific-reservation \
    --zone=[ZONE]

en el que:

  • [RESERVATION_NAME] es el nombre de la reserva que se creará.
  • [MACHINE_TYPE] es el tipo de máquina. Por ejemplo, n1-standard-1. Para los tipos personalizados de máquina, usa el formato custom-[CPUS]-[MEMORY], en el que:
    • [CPUS] es la cantidad de CPU virtuales.
    • [MEMORY] es la memoria total para esta instancia. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB; por ejemplo, 5 GB de memoria son 5120 MB: custom-4-5120. Para obtener una lista completa de restricciones, consulta las Especificaciones para tipos personalizadas de máquina.
  • [MINIMUM_CPU_PLATFORM] es la CPU mínima que se usará en cada instancia.
  • [NUMBER_OF_VMS] es la cantidad de instancias de VM que se reservará.
  • [NUMBER_OF_ACCELERATORS] es el número de GPU que se agregará, por instancia.
  • [ACCELERATOR_TYPE] es el tipo de acelerador.
  • [SIZE_IN_GB] es la cantidad, en GB, de la SSD local que se adjuntará a cada instancia. Esta cantidad debe ser un múltiplo de 375.
  • [INTERFACE] es el tipo de interfaz que deseas que use el SSD local para cada instancia. Las opciones válidas son: scsi y nvme.
  • [ZONE] es la zona en la que se reservarán recursos.

De manera opcional, puedes agregar la marca --require-specific-reservation para indicar que solo las instancias de VM que se dirigen a esta reserva de forma explícita pueden usarla. Consulta la sección sobre cómo funcionan las reservas para obtener más información sobre las opciones de configuración para el consumo de recursos reservados.

Por ejemplo, para hacer una reserva en us-central1-a que solo se pueda usar cuando esta reserva es el destino específico, usa un comando similar al siguiente. En este ejemplo, se reservan 10 máquinas personalizadas, cada una con 8 CPU virtuales Intel Haswell (o más recientes), 10 GB de memoria, 2 GPU V100 y un SSD local de 375 GB:

gcloud compute reservations create my-reservation \
    --machine-type=custom-8-10240 \
    --min-cpu-platform "Intel Haswell" \
    --vm-count=10 \
    --accelerator=count=2,type=nvidia-tesla-v100 \
    --local-ssd=size=375,interface=scsi \
    --require-specific-reservation \
    --zone us-central1-c

Para ver una lista de todas las marcas disponibles, consulta la referencia gcloud compute reservations create.

API

En la API, realiza una solicitud POST para el método reservations.insert. En el cuerpo de la solicitud, incluye los siguientes parámetros:

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": "[MINIMUM_CPU_PLATFORM]",
      "guestAccelerators":[
        {
          "acceleratorCount":"[NUMBER_OF_ACCELERATORS]",
          "acceleratorType":"[ACCELERATOR_TYPE]"
        }
      ],
      "localSsds":[
        {
          "diskSizeGb":"[SIZE_IN_GB]",
          "interface":"[INTERFACE]"
        }
      ]
    }
  }
}

en el que:

  • [PROJECT_ID es el ID del proyecto de la solicitud.
  • [ZONE] es la zona en la que se reservarán recursos.
  • [RESERVATION_NAME] es el nombre de la reserva que se creará.
  • [NUMBER_OF_VMS] es la cantidad de instancias de VM que se reservará.
  • [MACHINE_TYPE] es un tipo de máquina predefinido o personalizado. Por ejemplo, n1-standard-1. Para los tipos personalizados de máquina, usa el formato custom-[CPUS]-[MEMORY], en el que:
    • [CPUS] es la cantidad de CPU virtuales.
    • [MEMORY] es la memoria total para esta instancia. La memoria debe ser un múltiplo de 256 MB y debe proporcionarse en MB; por ejemplo, 5 GB de memoria son 5120 MB: custom-4-5120. Para obtener una lista completa de restricciones, consulta las Especificaciones para tipos personalizadas de máquina.
  • [MINIMUM_CPU_PLATFORM] es la CPU mínima que se usará en cada instancia.
  • [NUMBER_OF_ACCELERATORS] es el número de GPU que se agregará, por instancia.
  • [ACCELERATOR_TYPE] es el tipo de acelerador.
  • [SIZE_IN_GB] es la cantidad, en GB, de la SSD local que se adjuntará a cada instancia. Esta cantidad debe ser un múltiplo de 375.
  • [INTERFACE] es el tipo de interfaz que deseas que use el SSD local para cada instancia. Las opciones válidas son: scsi y nvme.

De forma opcional, puede incluir el campo booleano specificReservationRequired para especificar que solo las instancias de VM que se dirigen a esta reserva de forma específica por nombre pueden usarla. Consulta la sección sobre cómo funcionan las reservas para obtener más información sobre las opciones de configuración para el uso de las instancias en tus reservas.

Por ejemplo, para hacer una reserva en us-central1-a que solo se pueda usar cuando esta reserva es el destino específico, usa un comando similar al siguiente. En este ejemplo, se reservan 10 máquinas personalizadas, cada una con 8 CPU virtuales Intel Haswell (o más recientes), 10 GB de memoria, 2 GPU V100 y un SSD local de 375 GB:

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

{
  "name": "reservation-1",
  "specificReservation":
  {
    "count": "10",
    "instanceProperties":
    {
      "machineType": "custom-8-10240",
      "minCpuPlatform": "Intel Haswell",
      "guestAccelerators":
      [
        {
          "acceleratorCount": 2,
          "acceleratorType": "nvidia-tesla-v100"
        }
      ],
      "localSsds":
      [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    }
  },
  "specificReservationRequired": true
}

Consumo de instancias reservadas

Cuando crees una instancia, puedes establecer la marca afinidad de la reserva de la instancia para elegir si la instancia puede usar cualquier reserva disponible que coincida (predeterminado), usar una reserva específica o no usar ninguna reserva. Para que una instancia consuma una reserva específica, esa reserva se debe crear con la marca de reserva específica requerida correspondiente.

Para consumir la reserva, las instancias que creas deben coincidir con las propiedades de instancia de esa reserva. Consulta la sección sobre cómo funcionan las reservas.

Consumo de instancias de cualquier reserva que coincida

En este modelo, las instancias nuevas y existentes cuentan automáticamente para la reserva si sus propiedades coinciden con las propiedades de la instancia reservada. Este modelo es útil cuando creas y borras muchas VM y deseas que las reservas se usen siempre que sea posible.

Cuando creas tus reservas, puedes excluir la marca --require-specific-reservation para que las instancias que coincidan puedan consumir estas reservas de forma automática.

Console

  1. Crea una reserva abierta.

    1. En GCP Console, ve a la página Descuentos por compromiso de uso.

      Ir a la página Descuentos por compromiso de uso

    2. Haz clic en Crear reserva para crear una reserva independiente sin un compromiso superior.

    3. Asigna un nombre a tu reserva, por ejemplo: reservation-01.

    4. En Usar con instancia de VM, selecciona Usar reserva de forma automática para que cualquier instancia que coincida pueda usar esta reserva de manera automática.

    5. Elige la región y zona en la que deseas reservar los recursos.

    6. Especifica la cantidad de instancias de VM que deseas reservar.

    7. Especifica los recursos que deseas que tenga cada instancia:

      • Cantidad de CPU virtuales
      • Plataforma de CPU mínima
      • Cantidad de memoria
      • GPU
      • SSD local (según sea necesario)
    8. Haz clic en el botón Crear para crear la reserva.

  2. Crea una instancia de VM que se oriente a cualquier reserva abierta y que coincida con las propiedades de la instancia en reservation-01, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.

    1. En GCP Console, ve a la página Instancias de VM.

      Ir a la página Instancias de VM

    2. Selecciona tu proyecto y haz clic en Continuar.
    3. Haz clic en el botón Crear instancia.
    4. Especifica un Nombre para tu instancia.
    5. Especifica un Tipo de máquina que coincida con las propiedades de reservation-01. Por ejemplo, si especificaste una plataforma de CPU mínima o GPU en la reserva, entonces, para consumir la reserva, debes personalizar esta instancia para que coincida con la reserva.
    6. Si tu reserva incluye SSD locales, en Discos, haz clic en Agregar disco nuevo para agregar SSD locales que coincidan con la interfaz y la cantidad de SSD locales de la reserva.
    7. En Administración, en Reservas, selecciona Usar la reserva creada de forma automática.
    8. Haz clic en Crear.

gcloud

  1. Crea una reserva abierta llamada reservation-01.

    gcloud compute reservations create reservation-01 \
        --machine-type=n1-standard-32 \
        --min-cpu-platform "Intel Skylake" \
        --vm-count=2 \
        --zone=us-central1-a
    
  2. Crea una instancia de VM que se oriente a cualquier reserva abierta y que coincida con las propiedades de la instancia en reservation-01, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.

    gcloud compute instances create instance-1 \
        --machine-type=n1-standard-32 \
        --min-cpu-platform "Intel Skylake" \
        --zone=us-central1-a \
        --reservation-affinity=any
    

API

  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":"n1-standard-32",
          "minCpuPlatform": "Intel Haswell",
        }
      },
      "specificReservationRequired": false
    }
    
  2. Crea una instancia de VM que se oriente a cualquier reserva abierta y que coincida con las propiedades de la instancia en reservation-01, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño 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/n1-standard-32",
      "minCpuPlatform": "Intel Haswell",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

Consumo de instancias a partir de una reserva específica

En este modelo, solo las instancias nuevas que se dirigen a una reserva específica por nombre consumen esa reserva. Este modelo es útil, por ejemplo, cuando deseas mantener una cierta capacidad como respaldo para eventos especiales.

Cuando creas la reserva, especifica que esta no se use de forma automática. Luego, crea varias VM que se orienten a esa reserva de forma específica y que coincidan con sus propiedades.

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 instancia coincidente que se dirija a esa reserva y que coincida con sus propiedades de instancia.

Console

  1. Crea una reserva con recursos que solo puedan usar las instancias que se dirigen a esta reserva de forma específica por nombre.

    1. En GCP Console, ve a la página Descuentos por compromiso de uso.

      Ir a la página Descuentos por compromiso de uso

    2. Haz clic en Crear reserva para crear una reserva independiente sin un compromiso superior.

    3. Asigna un nombre a tu reserva, por ejemplo: reservation-02.

    4. En Usar con instancia de VM, marca la opción Seleccionar reserva específica para que solo las instancias coincidentes que se dirigen a esta reserva de forma específica por nombre puedan usarla.

    5. Elige la región y zona en la que deseas reservar los recursos.

    6. Especifica la cantidad de instancias de VM que deseas reservar.

    7. Especifica los recursos que deseas que tenga cada instancia:

      • Cantidad de CPU virtuales
      • Plataforma de CPU mínima
      • Cantidad de memoria
      • GPU
      • Disco SSD local
    8. Haz clic en el botón Crear para crear la reserva.

  2. Crea una instancia de VM que se dirija a esa reserva específica por nombre.

    Asegúrate de que las propiedades de la instancia coincidan con las propiedades de la instancia de esa reserva específica, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.

    1. En GCP Console, ve a la página Instancias de VM.

      Ir a la página Instancias de VM

    2. Selecciona tu proyecto y haz clic en Continuar.
    3. Haz clic en el botón Crear instancia.
    4. Especifica un Nombre para tu instancia.
    5. Especifica un Tipo de máquina que coincida con las propiedades de reservation-01. Por ejemplo, si especificaste una plataforma de CPU mínima en la reserva, entonces, para consumir la reserva, debes personalizar esta instancia para que coincida con la reserva.
    6. Si tu reserva incluye SSD locales, en Discos, haz clic en Agregar disco nuevo para agregar SSD locales que coincidan con la interfaz y la cantidad de SSD locales de la reserva.
    7. En Administración, en Reservas, selecciona una reserva disponible con propiedades coincidentes, por ejemplo: reservation-02.
    8. Haz clic en Crear para crear la instancia.

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=n1-standard-32 \
        --min-cpu-platform "Intel Skylake" \
        --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 instancia coincidan con las propiedades de la instancia de la reserva, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.

    gcloud compute instances create instance-2 \
        --machine-type=n1-standard-32 \
        --min-cpu-platform "Intel Skylake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=reservation-02
    

API

  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":"n1-standard-32",
          "minCpuPlatform": "Intel Haswell",
        }
      },
      "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 instancia coincidan con las propiedades de la instancia de la reserva, incluida la zona, el tipo de máquina (recuento de CPU virtual y cantidad de memoria), la plataforma de CPU mínima, la cantidad y el tipo de GPU, y la interfaz y el tamaño del SSD local.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n1-standard-32",
      "minCpuPlatform": "Intel Haswell",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        ["reservation-02"
        ]
      },
      ...
    }

Crea instancias sin consumir reservas

Para evitar el consumo de recursos de tus reservas de forma explícita, cuando crees la VM, establece la marca de afinidad de la reserva como “ninguna”. De forma alternativa, para evitar el uso de tus reservas de forma implícita, crea una instancia que no coincida con las propiedades de instancia de ninguna de tus reservas.

Console

  1. Crea una instancia que no consuma una reserva de forma explícita.
    1. En GCP Console, ve a la página Instancias de VM.

      Ir a la página Instancias de VM

    2. Haz clic en el botón Crear instancia.
    3. Crea una instancia como de costumbre.
    4. En Administración, en Reservas, selecciona No usar para asegurarte de que esta instancia no consuma ninguna reserva existente.
    5. Haz clic en Crear para crear la instancia.

gcloud

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

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

De forma alternativa, crea una instancia que no coincida con las propiedades de la instancia de ninguna de tus reservas. Para revisar tus propiedades de reserva, consulta la sección sobre enumeración y descripción de reservas.

API

Crea una instancia 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/n1-standard-16",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

De forma alternativa, crea una instancia que no coincida con las propiedades de la instancia de ninguna de tus reservas. Para revisar tus propiedades de reserva, consulta la sección sobre enumeración y descripción de reservas.

Garantiza el uso de las reservas

Si no puedes consumir tus recursos reservados, revisa las propiedades de la reserva. Para probar que las propiedades de la instancia coinciden con las propiedades de la reserva, crea una reserva específica y, luego, crea una instancia que se dirija a esa reserva específica.

Verifica las propiedades de la reserva

Las propiedades de instancia de la reserva deben coincidir con las propiedades del comando de creación de instancias. Para verificar, haz lo siguiente:

  1. Verifica las propiedades de la reserva en busca de lo siguiente:

    • zone
    • specificReservationRequired
      • Si se configura como true, el comando de creación de instancias se debe dirigir a esta reserva por su nombre.
    • machineType
    • guestAccelerators.acceleratorType
    • guestAccelerators.acceleratorCount
    • minCpuPlatform
    • localSsds.diskSizeGb
    • localSsds.interface
  2. Crea una instancia que coincida con esas propiedades.

  3. Describe la instancia para verificar que sus propiedades coinciden con las de la reserva. Por ejemplo, con la herramienta gcloud, usa el comando instances describe.

  4. Describe tu reserva para verificar que su inUseCount ha aumentado.

    • Si inUseCount no cambió, significa que las propiedades no coinciden.
    • Si inUseCount aumentó, significa que se está usando tu reserva.

Dirigirse a una reserva específica

Si deseas crear una instancia que se dirija a una reserva específica, no podrás crearla a menos que coincida con las propiedades de la reserva. Usa este método para verificar que tienes las propiedades de instancia correctas.

  1. Crea una reserva con la opción specificReservationRequired.
  2. Crea una instancia que coincida de forma explícita con las propiedades de instancia de la reserva y que se dirija a la reserva por su nombre mediante la propiedad de afinidad de la reserva.
    • Si las propiedades de la instancia no coinciden, verás un mensaje de error.
    • Si las propiedades de la instancia coinciden, significa que se está usando la reserva.

Enumeración y descripción de reservas

Enumera y consulta los detalles de la reserva mediante Console, la herramienta de gcloud o la API.

Console

  1. En GCP Console, ve a la página Descuentos por compromiso de uso.

    Ir a la página Descuentos por compromiso de uso

  2. Haz clic en Reservas para ver una lista de tus reservas.

La lista de reservas incluye detalles sobre cada reserva. Puedes usar la columna Máquinas usadas (total) para determinar el uso de cada reserva.

gcloud

Enumera tus reservas con el comando gcloud compute reservations list:

gcloud compute reservations list [--filter="zone:('[ZONE]')"]

NAME             IN_USE_COUNT   COUNT   ZONE
reservation-04   25             50      us-central1-a
reservation-05   0              100     us-central1-b

Describe tus reservas con el comando gcloud compute reservations describe:

gcloud compute reservations describe [RESERVATION_NAME] --zone=[ZONE]

kind: compute#reservation
name: reservation-05
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05
specificReservation:
  count: '50'
  inUseCount: '25'
  instanceProperties:
    guestAccelerators:
    - acceleratorCount: 1
      acceleratorType: nvidia-tesla-k80
    localSsds:
    - diskSizeGb: '375'
      interface: SCSI
    machineType: n1-standard-1
    minCpuPlatform: Any CPU Platform
specificReservationRequired: false
status: READY
zone: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d    

Puedes usar los valores count y inUseCount para determinar el uso de cada reserva. En este ejemplo, se reservan 50 instancias, 25 de las cuales están en uso en este momento.

Para crear una instancia que use esta reserva, recuerda hacer coincidir las propiedades de la instancia de la reserva. Por ejemplo:

gcloud compute instances create my-instance \
    --accelerator=type=nvidia-tesla-k80,count=1 \
    --maintenance-policy terminate \
    --local-ssd=interface=SCSI \
    --machine-type n1-standard-1 \
    --zone us-east1-d 

API

En la API, enumera tus reservas mediante una solicitud GET al método reservations.list.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/reservations

Describe una reserva mediante una llamada al método reservations.get.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/reservations/[RESERVATION_NAME]

{
  "id": "2533514314332214789",
  "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
  "selfLink": "https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-05",
  "zone": "https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
  "name": "reservation-05",
  "specificReservationRequired": false,
  "status": "READY",
  "kind": "compute#reservation",
  "specificReservation": {
    "instanceProperties": {
      "machineType": "n1-standard-1",
      "guestAccelerators": [
        {
          "acceleratorType": "nvidia-tesla-k80",
          "acceleratorCount": 1
        }
      ],
      "minCpuPlatform": "Any CPU Platform",
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    },
    "count": "50",
    "inUseCount": "25"
  }
}

Puedes usar los valores count y inUseCount para determinar el uso de cada reserva. En este ejemplo, se reservan 50 instancias, 25 de las cuales están en uso en este momento.

Modifica reservas

Puedes cambiar el tamaño o borrar una reserva si no se encuentra adjunta a un compromiso.

Cambia el tamaño de una reserva

Puedes cambiar la cantidad de VM en una reserva que no se encuentran vinculadas a un compromiso mediante la herramienta de gcloud o la API.

gcloud

Cambia el tamaño de tu reserva con el comando gcloud compute reservations update. Por ejemplo:

Crea una reserva para dos instancias de VM:

gcloud compute reservations create reservation-01 \
    --machine-type=n1-standard-32 \
    --zone=us-central1-a \
    --vm-count=2

Cambia el tamaño de la reserva de dos a diez instancias de VM:

gcloud compute reservations update reservation-01 \
    --zone=us-central1-a \
    --vm-count=10

API

En la API, crea una solicitud POST para el método reservations.resize y, luego, incluye el specificSkuCount nuevo en el cuerpo de la solicitud. En el siguiente cuerpo de solicitud, se actualiza el recuento de VM de la reserva a 10.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/reservations/[RESERVATION_NAME]/resize

{"specificSkuCount": "10"}

La solicitud de actualización tendrá éxito si, en el momento de la solicitud, hay suficientes recursos en la zona objetivo y una cuota suficiente en la región objetivo.

Borra una reserva

Puedes borrar reservas que no estén vinculadas a un compromiso mediante Console, la herramienta de gcloud o la API.

Console

  1. En GCP Console, ve a la página Descuentos por compromiso de uso.

    Ir a la página Descuentos por compromiso de uso

  2. Haz clic en Reservas para ver una lista de tus reservas.
  3. Selecciona la casilla de verificación junto a cada una de las reservas que deseas borrar.

  4. Haz clic en Borrar reserva.

gcloud

Para liberar reservas con el comando delete:

gcloud compute reservations delete [RESERVATION_NAME] --zone [ZONE]

API

En la API, realiza una solicitud DELETE para el método reservation.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/reservations/[RESERVATION_NAME]

Una vez que el comando de borrado se completa con éxito, ya no se te cobrará por la reserva y los recursos ya no estarán reservados para ti. Borrar una reserva no afecta a las instancias en ejecución que estaban vinculadas a esa reserva; aún se te cobrará por esas instancias.

Combina reservas con descuentos por compromiso de uso

Un descuento por compromiso de uso proporciona un acuerdo de precio con descuento de 1 o 3 años, pero no reserva capacidad en una zona específica. Una reserva garantiza que la capacidad se mantenga en una zona específica, incluso si las VM reservadas no están en ejecución. Cuando combinas una reserva con un compromiso, obtienes descuentos y recursos reservados.

De manera predeterminada, cuando creas una reserva, todos los descuentos por compromiso de uso aplicables para núcleos y memoria se aplican de forma automática a tus instancias de VM. Sin embargo, para obtener tarifas con descuento por compromiso de uso para GPU y SSD locales, debes crear una reserva para esos recursos cuando compras el compromiso.

Después de comprar un compromiso, no es posible cancelarlo. Consulta Descuentos por compromiso de uso para obtener más información.

Compra un compromiso para GPU o SSD locales

Para comprar un compromiso de GPU o SSD locales, haz lo siguiente:

  • Debes adquirir un compromiso N1 de uso general. Las GPU solo son compatibles con los tipos de máquina N1.
  • Debes crear una reserva que incluya GPU o SSD locales al mismo tiempo que compras el compromiso.
  • No es necesario que te comprometas a usar CPU virtuales o memoria.

Debes adquirir compromisos de tipos específicos de GPU. Por ejemplo, puedes adquirir compromisos de Tesla P100 o Tesla V100, pero no puedes adquirir compromisos de Tesla P100 GPU y esperar aplicarlos a otros tipos de GPU.

La cantidad de GPU y SSD locales que reservas debe ser igual a la cantidad que te comprometes a usar. Por ejemplo, si deseas reservar 4 GPU V100, también debes comprometerte a usar 4 GPU V100. Sin embargo, la cantidad de CPU virtual y memoria que reservas puede ser más o menos igual a la cantidad que la que te comprometes a usar.

Si solo deseas comprometerte a usar GPU o SSD locales, puedes especificar 0 para los compromisos de CPU virtual y memoria. Sin embargo, la reserva que adjuntas al compromiso debe contener las mismas GPU y SSD locales que el compromiso, así como los tipos de máquina (con CPU virtuales y memoria) que deseas reservar.

Adquiere un compromiso con una reserva adjunta a través de Console, la herramienta de gcloud o la API.

Console

  1. Ve a la página Descuentos por compromiso de uso en GCP Console.

    Ir a la página Descuentos por compromiso de uso

  2. Haz clic en Adquirir compromiso para adquirir un compromiso nuevo.
  3. Nombra el compromiso y elige la región donde deseas que se aplique.
  4. En Tipo de compromiso, selecciona Uso general.
  5. Elige una duración del compromiso, ya sea de 1 o 3 años.
  6. Elige el modo de entrada para el compromiso:

    • La entrada personalizada (Recomendado) te permite personalizar la cantidad de CPU virtuales y la memoria.

    • La entrada básica te permite elegir la cantidad de CPU virtuales y Compute Engine propagará automáticamente la cantidad de memoria para la cantidad de CPU virtuales.

  7. Ingresa las cantidades de CPU virtuales y memoria que deseas comprar. La memoria por CPU virtual debe ser una proporción específica según el tipo de descuento que selecciones. Usa entre 0.9 y 6.5 GB por CPU virtual para obtener los descuentos por compromiso de uso estándar. La memoria total debe ser un múltiplo de 256 MB.

    Si solo deseas comprometerte a usar y reservar GPU o SSD locales sin comprometerte a usar CPU virtuales y memoria, especifica 0 para las cantidades de compromiso de uso de CPU virtual y memoria.

  8. Haz clic en Agregar GPU y selecciona el Tipo de GPU y la Cantidad de GPU que deseas comprometerte a usar.

  9. Haz clic en Agregar SSD local y especifica la cantidad de discos que deseas comprometerte a usar.

  10. Haz clic en Agregar reserva nueva a fin de crear una o más reservas para las instancias que usarán las GPU y SSD locales.

    1. Asigna un nombre a tu reserva.
    2. En Usar con instancia de VM, realiza los siguientes pasos:
      • Si deseas usar los recursos de esta reserva solo cuando creas instancias coincidentes que se dirigen de forma específica a esta reserva por nombre, selecciona Seleccionar reserva específica.
      • Si deseas que las instancias coincidentes usen de forma automática esta reserva, selecciona Usar reserva de forma automática.
    3. Elige la región y zona en la que deseas reservar los recursos.
    4. Especifica la cantidad de instancias de VM que deseas reservar.
    5. Especifica los recursos que deseas reservar para cada instancia:
      • Si tienes una plantilla de instancias, haz clic en Usar plantilla de instancias y selecciona una plantilla de instancias de la lista.
      • De lo contrario, haz clic en Especificar tipo de máquina.
        1. En los tipos predefinidos de máquina, selecciona lo que necesitas del menú desplegable.
        2. En los tipos personalizados de máquinas, incluida la plataforma de CPU mínima, o para agregar GPU, haz clic en Personalizar y realiza tus selecciones.
        3. De manera opcional, especifica la cantidad de discos SSD locales que deseas agregar a cada instancia y especifica el Tipo de interfaz que se usará.
    6. Haz clic en el botón Listo para crear la reserva.
  11. Haz clic en el botón Comprar para comprar el compromiso.

  12. Lee los términos de compra y vuelve a hacer clic en Comprar una vez que estés listo para adquirir el compromiso.

gcloud

Usa el comando gcloud compute commmitments create para adquirir un compromiso y, luego, incluye las marcas a fin de crear una reserva adjunta.

Por ejemplo, el siguiente compromiso incluye 4 GPU y una reserva nueva para usar esas 4 GPU en 2 instancias en n1-standard-32 en us-central1-a.

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-16 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

Si deseas comprometerte a usar y reservar GPU o SSD locales sin comprometerte a usar CPU virtuales y memoria, especifica 0 para las cantidades de compromiso de CPU virtual y memoria.

gcloud compute commitments create commitment-01 \
    --region=us-west2 \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-1 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

Para crear varias reservas cuando adquieres un compromiso, usa un archivo YAML. Por ejemplo:

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=[YAML_FILE]

Donde [YAML_FILE] contiene las propiedades de reserva.

Por ejemplo, el siguiente archivo YAML contiene 2 reservas. La primera reserva, res-01, contiene 1 instancia n1-standard-1 con 1 GPU y es una reserva dirigida, lo que significa que debes dirigirte a esa reserva en particular por nombre para usar las instancias reservadas. La segunda reserva, res-02, contiene 1 instancia de VM n1-standard-1 con 2 tipos de SSD locales adjuntas.

- reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-1
  accelerator:
  - count: 1
    type: nvidia-tesla-v100
- reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-1
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

API

Usa la API de regionCommitments.insert y, luego, incluye el campo reservations para definir las propiedades de la reserva. Por ejemplo, el siguiente compromiso incluye 4 GPU y una reserva para usar esas 4 GPU en 2 instancias en us-central1-a.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Si solo deseas comprometerte a usar y reservar GPU o SSD locales sin comprometerte a usar CPU virtuales y memoria, especifica 0 para las cantidades de compromiso de VCPU y MEMORY. Por ejemplo:

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

El compromiso se creará con éxito solo si hay suficientes recursos en la zona de destino y suficiente cuota al momento de la solicitud.

Cuando creas un compromiso con una reserva adjunta, no puedes borrar la reserva mientras dure el compromiso. Cuando vence el compromiso, Compute Engine borra cualquier reserva adjunta de forma automática.

Si necesitas transferir GPU o SSD locales a través de reservas con compromisos, consulta la sección Modifica las reservas que se adjuntan a los compromisos.

Modifica las reservas que se adjuntan a los compromisos

Si un compromiso tiene una o más reservas con GPU o SSD locales, puedes usar la herramienta de gcloud o la API para transferir GPU o SSD locales a través de esas reservas. Por ejemplo, puedes mover las GPU de una reserva a otra reserva nueva.

Limitaciones:

  • Solo puede mover recursos entre dos reservas, donde una es la reserva de origen y la otra es el destino. La reserva de origen ya debe existir, mientras que el destino puede ser una reserva nueva o existente.
  • Las reservas de origen y destino deben estar en la misma zona.
  • No puedes modificar las propiedades del recurso en las reservas existentes; solo puedes transferir recursos existentes de una reserva a otra.
  • La cantidad total de GPU y SSD locales debe permanecer constante.
  • Solo puedes cambiar 100 VM por solicitud. Si deseas actualizar más, llama a la API varias veces o comunícate con la asistencia de Google Cloud.
  • No puedes transferir CPU virtuales o memoria, ni modificar otras propiedades de las reservas adjuntas.

gcloud

Usa el comando gcloud compute commitments update-reservations:

Crea un compromiso con una reserva:

  • res-1 tiene 4 instancias n1-standard-1, cada una con 1 GPU P100 (4 CPU virtuales y 4 GPU P100). El total de recursos reservados incluye 4 GPU P100.
gcloud compute commitments create my-commitment-with-reservations \
    --region=asia-east1 \
    --resources=vcpu=10,memory=32GB \
    --resources-accelerator=type=nvidia-tesla-p100,count=4 \
    --plan 12-month \
    --reservations-from-file=one-reservation.yaml

Donde one-reservation.yaml contiene lo siguiente:

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 4
  machine_type: n1-standard-1
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

Actualiza el compromiso para transferir algunos recursos de res-1 a una otra reserva nueva, res-2. En este ejemplo:

  • Modifica res-1 para tener 2 instancias n1-standard-1, cada una con 2 GPU P100 (2 CPU virtuales y 2 GPU P100).
  • Agrega res-2 para tener 2 instancias n1-standard-2, cada una con 1 GPU P100 (4 CPU virtuales y 2 GPU P100).

La cantidad total de GPU reservadas dentro del compromiso permanece constante en 4.

gcloud compute commitments update-reservations my-commitment-with-reservations \
    --region=us-central1 \
    --reservations-from-file=two-reservations.yaml

Donde two-reservations.yaml contiene lo siguiente:

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-1
  accelerator:
  - count: 1
    type: nvidia-tesla-p100
- reservation: res-2
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

API

Usa el método regionCommitments.updateReservations.

Por ejemplo, crea un compromiso con la siguiente reserva:

  • res-1 tiene 4 instancias n1-standard-1, cada una con 1 GPU nvidia-tesla-p100 (4 CPU virtuales y 4 GPU P100).

En este ejemplo, el total de recursos reservados incluye 4 GPU P100.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/commitments

{
  "name": "my-commitment-with-reservation",
  "plan": "TWELVE_MONTH",
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "4",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-1"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ],
  "resources":
  [
    {
      "amount": "10",
      "type": "VCPU"
    },
    {
      "amount": "32768",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ]
}

Actualiza el compromiso para transferir algunos recursos de res-1 a una otra reserva nueva, res-2. En este ejemplo:

  • Modifica res-1 para tener 2 instancias n1-standard-1, cada una con 2 GPU P100 (2 CPU virtuales y 2 GPU P100).
  • Agrega res-2 para tener 2 instancias n1-standard-2, cada una con 1 GPU P100 (4 CPU virtuales y 2 GPU P100).

La cantidad total de GPU reservadas dentro del compromiso permanece constante en 4.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/us-central1/commitments/my-commitment-with-reservation/updateReservations

{
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-1"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    },
    {
      "name": "res-2",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ]
}

Visualiza los informes de uso de reservas

Para exportar informes detallados del uso de Compute Engine a un depósito de Cloud Storage, usa la característica de exportación de uso. Consulta Ve informes de uso para obtener instrucciones.

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 normales y URI de recursos de “reserva”.
  • 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 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-a/reservations/my-reservation
Total de recursos reservados com.google.cloud/services/compute-engine/Reservation[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-a/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 instancia 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/VmimageN1StandardRam,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/VmimageN1StandardRam,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/ReservationN1StandardRam,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
...

Facturación de reserva

Las reservas se facturan con la misma tarifa que los recursos que reservan. Los descuentos por uso continuo, los descuentos por compromiso de uso y los precios personalizados se aplican de la misma forma que para las VM normales.

Considera el siguiente ejemplo:

  • Tienes un compromiso de 3 CPU virtuales en us-central1
  • Estás ejecutando 5 CPU virtuales en us-central1-a
  • Tienes una reserva de 10 CPU virtuales en us-central1-a

Reservas con algunos descuentos por compromiso de uso.

Se te cobrará de la siguiente manera:

Cobertura Cantidad de CPU virtuales
Precio con descuento por compromiso de uso 3
Precio según demanda (2 reservas usadas de CPU virtuales + 5 reservas no usadas de CPU virtuales) 7

Qué sigue

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine