Reemplaza, quita o borra políticas de posición


En este documento, se describe cómo reemplazar, quitar o borrar políticas de posición.

Reemplazar, quitar o borrar políticas de posición es útil en los siguientes casos:

  • Reemplaza una política de posición en una instancia de máquina virtual (VM) para mover la VM a una posición diferente en relación con otras VMs.

  • Quita una política de posición de una VM cuando ya no te interese su posición en relación con otras VMs.

  • Borra una política de posición cuando ya no la necesites.

Antes de comenzar

  • Revisa las restricciones para las políticas de posición.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Roles obligatorios

Si deseas obtener los permisos que necesitas para reemplazar, quitar o borrar políticas de posición, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de procesamiento (v1) (roles/compute.instanceAdmin.v1) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para reemplazar, quitar o borrar las políticas de posición. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para reemplazar, quitar o borrar las políticas de posición:

  • Para reemplazar o quitar una política de posición de una VM, haz lo siguiente: compute.instances.update on the project
  • Para borrar una política de posición, haz lo siguiente: compute.resourcePolicies.delete on the project

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Reemplaza una política de posición en una VM

Antes de reemplazar una política de posición distribuida en una VM por una política de posición compacta, asegúrate de que la VM use un tipo de máquina y una política de mantenimiento del host compatibles. Si necesitas actualizar la VM antes de reemplazar su política de posición, realiza una de las siguientes acciones o ambas:

Después de reemplazar la política de posición en una VM, debes reiniciarla para que se aplique la política de posición recién aplicada.

Para reemplazar una política de posición en una VM, selecciona una de las siguientes opciones:

gcloud

  1. Crea un archivo YAML vacío.

  2. Para exportar las propiedades de una VM al archivo YAML que acabas de crear, usa el comando gcloud compute instances export.

    gcloud compute instances export VM_NAME \
        --destination=FILE_PATH \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: el nombre de una VM existente que especifica una política de posición.

    • FILE_PATH: Es la ruta de acceso al archivo YAML que creaste en el paso anterior.

    • ZONE: la zona donde se ubica la VM.

  3. En el archivo de configuración YAML, edita el valor del campo resourcePolicies para especificar una política de posición diferente.

    resourcePolicies:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto en el que se encuentra la política de posición. Solo puedes especificar una política de posición que se encuentre en el mismo proyecto que la VM.

    • REGION: la región en la que se encuentra la política de posición.

    • POLICY_NAME: Es el nombre de la política de posición.

  4. Para actualizar la VM y reiniciarla, usa el comando gcloud compute instances update-from-file con la marca --most-disruptive-allowed-action establecida en RESTART.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: el nombre de la VM.

    • YAML_FILE: Es la ruta de acceso al archivo YAML con los datos de configuración que modificaste en el paso anterior.

    • ZONE: la zona donde se ubica la VM.

REST

  1. Crea un archivo JSON vacío.

  2. Para ver las propiedades de una VM existente, realiza una solicitud GET al método instances.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    Reemplaza lo siguiente:

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

    • ZONE: la zona donde se ubica la VM.

    • VM_NAME: el nombre de una VM existente que especifica una política de posición.

  3. En el archivo JSON vacío que creaste en los pasos anteriores, haz lo siguiente:

    1. Ingresa las propiedades de la VM del resultado de la solicitud GET.

    2. Busca el campo resourcePolicies y, luego, edita su valor para especificar una política de posición diferente.

      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
      

      Reemplaza lo siguiente:

      • PROJECT_ID: el ID del proyecto en el que se encuentra la política de posición. Solo puedes especificar una política de posición que se encuentre en el mismo proyecto que la VM.

      • REGION: la región en la que se encuentra la política de posición.

      • POLICY_NAME: el nombre de la política de posición.

  4. Para actualizar la VM y reiniciarla, realiza una solicitud PUT al método instances.update. En la solicitud, haz lo siguiente:

    • En la URL de la solicitud, incluye el parámetro de consulta most_disruptive_allowed_action configurado como RESTART.

    • Para el cuerpo de la solicitud, usa los detalles de configuración de la VM del archivo JSON que creaste y actualizaste en los pasos anteriores.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      ...
      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ],
      ...
    }
    

Para obtener más información sobre cómo actualizar las propiedades de una VM, consulta Cómo actualizar las propiedades de una VM.

Quita una política de posición de una VM

Si quieres quitar una política de posición distribuida con dos o más dominios de disponibilidad de una VM, puedes hacerlo sin detenerla. Si quieres quitar una política de posición compacta o una política de posición distribuida con solo un dominio de disponibilidad, primero debes detener la VM antes de quitar la política de posición adjunta.

Quitar una política de posición de una VM no afecta su ubicación física. Sin embargo, si la VM está migrando en vivo, Compute Engine podría moverla a una ubicación física diferente.

Para quitar una política de posición de una VM, selecciona una de las siguientes opciones:

gcloud

Para quitar una política de posición de una VM, usa el comando gcloud compute instances remove-resource-policies.

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • VM_NAME: el nombre de una VM existente que especifica una política de posición.

  • POLICY_NAME: El nombre de la política de posición aplicada a la VM. Para verificar el nombre de la política de posición, consulta los detalles de la VM y verifica el valor del campo resourcePolicies.

  • ZONE: la zona donde se ubica la VM.

REST

Para quitar una política de posición de una VM, realiza una solicitud POST al método instances.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/removeResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Reemplaza lo siguiente:

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

  • ZONE: la zona donde se ubica la VM.

  • VM_NAME: Es el nombre de una VM existente que especifica una política de posición.

  • REGION: la región en la que se encuentra la política de posición.

  • POLICY_NAME: El nombre de la política de posición aplicada a la VM. Para verificar el nombre de la política de posición, consulta los detalles de la VM y verifica el valor del campo resourcePolicies.

Borrar una política de posición

Solo puedes borrar una política de posición si no se aplica a ningún recurso de Compute Engine. De lo contrario, la política de posición no se borrará. Si deseas borrar una política de posición que se aplica a uno o más recursos de Compute Engine, realiza una de las siguientes acciones:

  • Si la política solo se aplica a las VMs y deseas conservarlas, haz lo siguiente:

    1. Quita la política de posición de las VMs como se describe en este documento.

    2. Borra la política de posición como se describe en esta sección.

  • De lo contrario, haz lo siguiente:

    1. Opcional: Quita la política de posición de cualquier VM que desees conservar como se describe en este documento.

    2. Borra todos los demás recursos de Compute Engine a los que se aplica la política de posición en el siguiente orden:

      1. VMs

      2. Reservas

      3. Plantillas de instancias

    3. Borra la política de posición como se describe en esta sección.

Para borrar una política de posición, selecciona una de las siguientes opciones:

gcloud

Para borrar una política de posición, usa el comando gcloud compute resource-policies delete.

gcloud compute resource-policies delete POLICY_NAME \
    --region=REGION

Reemplaza lo siguiente:

  • POLICY_NAME: Es el nombre de una política de posición existente.

  • REGION: la región en la que se encuentra la política de posición.

REST

Para borrar una política de posición, realiza una solicitud DELETE al método resourcePolicies.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que se encuentra la política de posición.

  • REGION: la región en la que se encuentra la política de posición.

  • POLICY_NAME: Es el nombre de una política de posición existente.

Próximos pasos