Modifica reservas


En este documento, se explica cómo cambiar una reserva existente.

Si deseas cambiar una reserva vinculada a un compromiso, consulta Reemplaza las reservas adjuntas a los compromisos.

Antes de empezar

  • Revisa los requisitos y las y las restricciones para las reservas.
  • Si aún no lo hiciste, configura la autenticación La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar 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

Roles obligatorios

Si quieres obtener los permisos que necesitas para cambiar reservas, pídele a tu administrador que te otorgue el rol de IAM Administrador de Compute (roles/compute.admin) 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 cambiar reservas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para cambiar reservas:

  • Para cambiar la opción de eliminación automática en una reserva o los proyectos de consumidor en una reserva compartida, usa compute.reservations.update en el proyecto.
  • Para cambiar la cantidad de VMs en una reserva, usa compute.reservations.resize en el proyecto.

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

Modifica reservas

Puedes hacer los siguientes cambios en una reserva existente:

Si deseas cambiar otras propiedades en una reserva que no se encuentra adjunta a un compromiso, consulta Cambia otras propiedades en una reserva en este documento.

Modifica la eliminación automática de una reserva

Puedes cambiar cuándo Compute Engine borra de forma automática una reserva existente mediante una de las siguientes acciones:

  • Habilita la opción de eliminación automática o cambia cuando se borra la reserva de forma automática.

  • Inhabilita la opción de eliminación automática.

Para cambiar la eliminación automática de una reserva, usa la consola de Google Cloud, gcloud CLI o REST.

Console

Para cambiar la eliminación automática de una reserva, sigue estos pasos:

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

    Ir a Reservas

  2. En la columna Nombre, haz clic en el nombre de la reserva futura que deseas cambiar.

    Se abrirá la página de detalles de la reserva futura elegida

  3. En la fila Hora de eliminación automática, haz clic en Cambiar tiempo de eliminación automática.

  4. En el panel Actualizar reserva, realiza una de las siguientes acciones:

    • Para borrar la reserva en una fecha y hora específicas, haz lo siguiente:

      1. Si la opción de eliminación automática aún no está habilitada, haz clic en el botón de activación Habilitar eliminación automática.

      2. En el campo Hora de eliminación automática, escribe una fecha y hora en la que Compute Engine debe borrar la reserva de forma automática.

    • De lo contrario, haz clic en el botón de activación Habilitar eliminación automática a la posición desactivada.

  5. Haz clic en Enviar.

    La modificación de tu reserva puede tomar unos segundos en completarse.

gcloud

Cuando habilitas la opción de eliminación automática en una reserva, puedes especificar una fecha y hora en la que se debe borrar la reserva o especificar una duración después de la cual se debe borrar la reserva.

Para habilitar la opción de eliminación automática o cambiar cuándo se debe borrar la reserva, realiza una de las siguientes acciones:

  • Para borrar la reserva en una fecha y hora específicas, usa el comando gcloud beta compute reservations update con la marca --delete-at-time.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-at-time=DELETE_AT_TIME \
        --project=PROJECT_ID \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • RESERVATION_NAME: Es el nombre de una reserva existente.

    • DELETE_AT_TIME: una fecha y una hora con el formato de una marca de tiempo RFC 3339, que debe ser de la siguiente manera:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Reemplaza lo siguiente:

      • YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos del mes separado por guiones (-).

      • HH:MM:SS: una hora con formato de hora de 2 dígitos con un formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos (:).

      • OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica -08:00. Como alternativa, para no usar compensación, especifica Z.

    • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

    • ZONE: Es la zona en la que se encuentra la reserva.

  • Para borrar la reserva después de una duración específica, usa el comando gcloud beta compute reservations update con la marca --delete-after-duration.

    gcloud beta compute reservations update RESERVATION_NAME \
        --delete-after-duration=DELETE_AFTER_DURATION \
        --project=PROJECT_ID \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • RESERVATION_NAME: Es el nombre de una reserva existente.

    • DELETE_AFTER_DURATION: Es una duración en días, horas, minutos o segundos antes de que la reserva se borre de forma automática. Por ejemplo, especifica 30m para 30 minutos o 1d2h3m4s para 1 día, 2 horas, 3 minutos y 4 segundos.

    • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

    • ZONE: Es la zona en la que se encuentra la reserva.

Para inhabilitar la opción de eliminación automática, usa el comando gcloud beta compute reservations update con la marca --disable-auto-delete.

gcloud beta compute reservations update RESERVATION_NAME \
    --disable-auto-delete \
    --project=PROJECT_ID \
    --zone=ZONE

Reemplaza lo siguiente:

  • RESERVATION_NAME: Es el nombre de una reserva existente.

  • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

  • ZONE: Es la zona en la que se encuentra la reserva.

REST

Cuando habilitas la opción de eliminación automática en una reserva, puedes especificar una fecha y hora en la que se debe borrar la reserva o especificar una duración después de la cual se debe borrar la reserva.

Para habilitar la opción de eliminación automática o cambiar cuándo se debe borrar la reserva, realiza una de las siguientes acciones:

  • Para borrar la reserva en una fecha y hora específicas, realiza una solicitud PATCH al método beta.reservations.update con el parámetro de consulta paths configurado como deleteAtTime.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime
    
    {
      "name": "RESERVATION_NAME",
      "deleteAtTime": "DELETE_AT_TIME"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

    • ZONE: Es la zona en la que se encuentra la reserva.

    • RESERVATION_NAME: Es el nombre de una reserva existente.

    • DELETE_AT_TIME: una fecha y una hora con el formato de una marca de tiempo RFC 3339, que debe ser de la siguiente manera:

      YYYY-MM-DDTHH:MM:SSOFFSET
      

      Reemplaza lo siguiente:

      • YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos del mes separado por guiones (-).

      • HH:MM:SS: una hora con formato de hora de 2 dígitos con un formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos (:).

      • OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), especifica -08:00. Como alternativa, para no usar compensación, especifica Z.

  • Para borrar la reserva después de un período específico, realiza una solicitud PATCH al método beta.reservations.update con el parámetro de consulta paths configurado como deleteAfterDuration.

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAfterDuration
    
    {
      "name": "RESERVATION_NAME",
      "deleteAfterDuration": {
        "seconds": "DELETE_AFTER_DURATION"
      }
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

    • ZONE: Es la zona en la que se encuentra la reserva.

    • RESERVATION_NAME: Es el nombre de una reserva existente.

    • DELETE_AFTER_DURATION: Es una duración en segundos antes de que la reserva se borre de forma automática. Por ejemplo, especifica 86400 para 86,400 segundos (1 día).

Para inhabilitar la opción de eliminación automática, realiza una solicitud PATCH al método beta.reservations.update. En la solicitud, especifica el parámetro de búsqueda paths=deleteAtTime&paths=deleteAfterDuration y omite el cuerpo de la solicitud.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=deleteAtTime&paths=deleteAfterDuration

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

  • ZONE: Es la zona en la que se encuentra la reserva.

  • RESERVATION_NAME: Es el nombre de una reserva existente.

Modifica los proyectos de consumidor en una reserva compartida

Puedes cambiar los proyectos de consumidor para una reserva compartida existente. Los proyectos de consumidor son proyectos con los que se comparte una reserva compartida y que pueden consumir la reserva.

Después de cambiar qué proyectos de consumidor pueden consumir una reserva compartida, el consumo de la reserva puede cambiar. Por ejemplo, cualquier proyecto de consumidor que se quitó dejó de consumir recursos de la reserva. Además, si la reserva se configuró para que la consuma automáticamente cualquier VM que coincida con las propiedades de la reserva (el comportamiento predeterminado), cualquier proyecto de consumidor agregado podría empezar a consumir recursos de la reserva. Si deseas supervisar el consumo de una reserva, consulta cómo verificar el consumo de las reservas.

Para cambiar los proyectos del consumidor que pueden consumir una reserva compartida, usa la consola de Google Cloud, gcloud CLI o REST.

Console

Para cambiar los proyectos de consumidor de una reserva compartida, sigue estos pasos:

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

    Ir a Reservas

  2. En la columna Nombre, haz clic en el nombre de la reserva que deseas describir.

    Se abrirá la página de detalles de la reserva.

  3. Haz clic en  Cambiar.

  4. En la sección Proyectos seleccionados, realiza una de las siguientes acciones:

    • Para dejar de compartir la reserva con un proyecto de consumidor específico, haz clic en Borrar.

    • Para empezar a compartir la reserva con uno o más proyectos específicos, haz lo siguiente:

      1. Haz clic en Agregar proyectos.

      2. Selecciona la casilla de verificación de cada proyecto de la organización del proyecto propietario con el que deseas compartir la reserva.

      3. Haz clic en Elegir.

  5. Para confirmar los cambios, haz clic en Guardar.

    La modificación de tu reserva puede tomar unos segundos en completarse.

gcloud

Cuando modificas los proyectos de consumidor para una reserva compartida, debes especificar una lista separada por comas de los IDs de proyectos a los que que deseas permitirles, o dejar de permitirles, el consumo de la reserva compartida. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No especifiques el proyecto propietario en la lista. De forma predeterminada, ya tiene permitido consumir la reserva compartida.

Para cambiar los proyectos de consumidor de una reserva compartida, elige uno de los siguientes métodos:

  • Para que uno o más proyectos consuman una reserva compartida, usa el comando gcloud compute reservations update con la marca --add-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --project=PROJECT_ID \
        --add-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • RESERVATION_NAME: por el nombre de una reserva compartida existente.

    • PROJECT_ID: el ID del proyecto propietario, que es el proyecto que se usa para crear la reserva compartida.

    • CONSUMER_PROJECT_IDS: una lista separada por comas de IDs de proyectos con los que se debe compartir la reserva. Por ejemplo, especifica project-1,project-2.

    • ZONE: Es la zona en la que se encuentra la reserva.

  • Para dejar de permitir que uno o más proyectos consuman una reserva compartida, usa el comando gcloud compute reservations update con la marca --remove-share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --project=PROJECT_ID \
        --remove-share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • RESERVATION_NAME: por el nombre de una reserva compartida existente.

    • PROJECT_ID: el ID del proyecto propietario, que es el proyecto que se usa para crear la reserva compartida.

    • CONSUMER_PROJECT_IDS: una lista separada por comas de los IDs de los proyectos con los que deseas dejar de compartir la reserva. Por ejemplo, especifica project-1,project-2.

    • ZONE: Es la zona en la que se encuentra la reserva.

  • Para reemplazar la lista de proyectos que pueden consumir una reserva compartida, usa el comando gcloud compute reservations update con la marca --share-with.

    gcloud compute reservations update RESERVATION_NAME \
        --project=PROJECT_ID \
        --share-with=CONSUMER_PROJECT_IDS \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • RESERVATION_NAME: por el nombre de una reserva compartida existente.

    • PROJECT_ID: el ID del proyecto propietario, que es el proyecto que se usa para crear la reserva compartida.

    • ZONE: Es la zona en la que se encuentra la reserva.

    • CONSUMER_PROJECT_IDS: una lista separada por comas de IDs de proyectos con los que se debe compartir la reserva. Por ejemplo, especifica project-1,project-2.

REST

Cuando modificas los proyectos de consumidor destinados a una reserva compartida, debes especificar los IDs de los proyectos que deseas o no permitir que consuman la reserva compartida. Estos proyectos deben estar en la misma organización que el proyecto de propietario. No especifiques el proyecto de propietario. De forma predeterminada, ya tiene permitido consumir la reserva compartida.

Para cambiar los proyectos de consumidor de una reserva compartida, elige uno de los siguientes métodos:

  • Para permitir que uno o más proyectos consuman una reserva compartida, debes llevar a cabo una solicitud PATCH al método reservations.update. En la URL de la solicitud, incluye el parámetro de búsqueda paths=shareSettings.projectMap.PROJECT_ID para cada proyecto con el que desees compartir la reserva.

    Por ejemplo, para permitir que dos proyectos consuman una reserva compartida, debes hacer la siguiente solicitud PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME",
      "shareSetting": {
        "projectMap": {
          "CONSUMER_PROJECT_ID_1": {
            "projectId": "CONSUMER_PROJECT_ID_1"
          },
          "CONSUMER_PROJECT_ID_2": {
            "projectId": "CONSUMER_PROJECT_ID_2"
          }
        }
      }
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto propietario, que es el proyecto que se usa para crear la reserva compartida.

    • ZONE: Es la zona en la que se encuentra la reserva.

    • RESERVATION_NAME: el nombre de una reserva compartida existente.

    • CONSUMER_PROJECT_ID_1 y CONSUMER_PROJECT_ID_2: Son los IDs de dos proyectos con los que deseas compartir la reserva.

  • Para dejar de permitir que uno o más proyectos consuman una reserva compartida, debes hacer una solicitud PATCH al método reservations.update. En la URL de la solicitud, incluye el parámetro de consulta paths=shareSettings.projectMap.PROJECT_ID para cada proyecto con el que deseas dejar de compartir la reserva. Además, debes omitir el campo shareSetting en el cuerpo de la solicitud.

    Por ejemplo, para dejar de permitir que dos proyectos consuman una reserva compartida, debes hacer la siguiente solicitud PATCH:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_1&paths=shareSettings.projectMap.CONSUMER_PROJECT_ID_2
    
    {
      "name": "RESERVATION_NAME"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto propietario, que es el proyecto que se usa para crear la reserva compartida.

    • ZONE: Es la zona en la que se encuentra la reserva.

    • RESERVATION_NAME: el nombre de una reserva compartida existente.

    • CONSUMER_PROJECT_ID_1 y CONSUMER_PROJECT_ID_2: Son los IDs de dos proyectos con los que deseas dejar de compartir la reserva.

Modifica la cantidad de VMs reservadas en una reserva

Puedes cambiar una reserva existente para aumentar o disminuir la cantidad de VMs reservadas.

Antes de cambiar la cantidad de VMs reservadas en una reserva, asegúrate de lo siguiente:'

  • Si deseas aumentar la cantidad de VMs reservadas en una reserva, se aplican las siguientes restricciones:

    • Debe haber suficientes recursos en la zona en la que se encuentra la reserva.

    • Debes tener una cuota suficiente para los recursos adicionales que reservas.

  • Si el tipo de consumo de tu reserva es específico y deseas disminuir la cantidad de VMs reservadas, asegúrate de que la cantidad de VMs que consume la reserva no exceda el tamaño de la reserva que deseas. Puedes hacerlo con los siguientes métodos:

    De lo contrario, se encuentran errores.

Para cambiar la cantidad de VMs reservadas en una reserva, usa la consola de Google Cloud, gcloud CLI o REST.

Console

Para cambiar la cantidad de VMs reservadas en una reserva, sigue estos pasos:

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

    Ir a Reservas

  2. En la columna Nombre, haz clic en el nombre de la reserva futura que deseas cambiar.

    Se abrirá la página de detalles de la reserva.

  3. Haz clic en  Cambiar.

  4. En el campo Cantidad de instancias de VMs, escribe la cantidad actualizada de VM que se reservarán.

  5. Para confirmar, haz clic en Guardar.

    La modificación de tu reserva puede tomar unos segundos en completarse.

gcloud

Para cambiar la cantidad de VMs reservadas en una reserva, usa el comando gcloud compute reservations update.

gcloud compute reservations update RESERVATION_NAME \
    --project=PROJECT_ID \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Reemplaza lo siguiente:

  • RESERVATION_NAME: Es el nombre de una reserva existente.

  • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva futura.

  • NUMBER_OF_VMS: La nueva cantidad de VMs que se reservarán.

  • ZONE: Es la zona en la que se encuentra la reserva.

REST

Para cambiar la cantidad de VMs reservadas en una reserva, realiza una solicitud POST al método reservations.resize.

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

{
  "specificSkuCount": "NUMBER_OF_VMS"
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto en el que se encuentra la reserva.

  • ZONE: Es la zona en la que se encuentra la reserva.

  • RESERVATION_NAME: Es el nombre de una reserva existente.

  • NUMBER_OF_VMS: La nueva cantidad de VMs que se reservarán.

Cambia otras propiedades en una reserva

Para cambiar cualquier otra propiedad de una reserva existente, haz lo siguiente:

  1. Crea un proyecto único o una reserva compartida con propiedades actualizadas.

  2. Borra la reserva existente.

Solución de problemas

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

¿Qué sigue?