Reemplazar, eliminar o eliminar políticas de ubicación


Este documento describe cómo reemplazar, eliminar o eliminar políticas de ubicación.

Reemplazar, eliminar o eliminar políticas de ubicación resulta útil en los siguientes casos:

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

  • Elimine una política de ubicación de una máquina virtual cuando ya no esté interesado en su posición en relación con otras máquinas virtuales.

  • Elimine una política de ubicación cuando ya no la necesite.

Antes de comenzar

  • Revise las restricciones para las políticas de ubicación.
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Roles requeridos

Para obtener los permisos que necesita para reemplazar, eliminar o eliminar políticas de ubicación, solicite a su administrador que le otorgue la función de IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) en su proyecto. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Esta función predefinida contiene los permisos necesarios para reemplazar, eliminar o eliminar políticas de ubicación. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para reemplazar, eliminar o eliminar políticas de ubicación:

  • Para reemplazar o eliminar una política de ubicación de una máquina virtual: compute.instances.update on the project
  • Para eliminar una política de ubicación: compute.resourcePolicies.delete on the project

Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .

Reemplazar una política de ubicación en una VM

Antes de reemplazar una política de ubicación extendida en una máquina virtual con una política de ubicación compacta, asegúrese de que la máquina virtual utilice un tipo de máquina compatible y una política de mantenimiento de host . Si necesita actualizar la máquina virtual antes de reemplazar su política de ubicación, realice una o ambas de las siguientes acciones:

Después de reemplazar la política de ubicación en una máquina virtual, debe reiniciar la máquina virtual para que la política de ubicación recién aplicada entre en vigor.

Para reemplazar una política de ubicación en una máquina virtual, seleccione una de las siguientes opciones:

nube de gcloud

  1. Cree un archivo YAML vacío.

  2. Para exportar las propiedades de una máquina virtual al archivo YAML que acaba de crear, use el comando gcloud compute instances export .

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

    Reemplace lo siguiente:

    • VM_NAME : el nombre de una máquina virtual existente que especifica una política de ubicación.

    • FILE_PATH : la ruta al archivo YAML que creó en el paso anterior.

    • ZONE : la zona donde se encuentra la VM.

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

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

    Reemplace lo siguiente:

    • PROJECT_ID : el ID del proyecto donde se encuentra la política de ubicación. Solo puede especificar una política de ubicación que esté ubicada en el mismo proyecto que la máquina virtual.

    • REGION : la región donde se encuentra la política de colocación.

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

  4. Para actualizar la máquina virtual y reiniciarla, usa el comando gcloud compute instances update-from-file con el indicador --most-disruptive-allowed-action configurado en RESTART .

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

    Reemplace lo siguiente:

    • VM_NAME : el nombre de la VM.

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

    • ZONE : la zona donde se encuentra la VM.

DESCANSAR

  1. Cree un archivo JSON vacío.

  2. Para ver las propiedades de una máquina virtual existente, realice una solicitud GET al método instances.get .

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

    Reemplace lo siguiente:

    • PROJECT_ID : el ID del proyecto donde se encuentra la VM.

    • ZONE : la zona donde se encuentra la VM.

    • VM_NAME : el nombre de una máquina virtual existente que especifica una política de ubicación.

  3. En el archivo JSON vacío que creó en los pasos anteriores, haga lo siguiente:

    1. Ingrese las propiedades de la VM desde el resultado de la solicitud GET .

    2. Localice el campo resourcePolicies y luego edite su valor para especificar una política de ubicación diferente.

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

      Reemplace lo siguiente:

      • PROJECT_ID : el ID del proyecto donde se encuentra la política de ubicación. Solo puede especificar una política de ubicación que esté ubicada en el mismo proyecto que la máquina virtual.

      • REGION : la región donde se encuentra la política de colocación.

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

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

    • En la URL de solicitud, incluya el parámetro de consulta most_disruptive_allowed_action establecido en RESTART .

    • Para el cuerpo de la solicitud, utilice los detalles de configuración de VM del archivo JSON que creó y actualizó 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, consulte Actualizar las propiedades de la VM .

Eliminar una política de ubicación de una máquina virtual

Si desea eliminar una política de ubicación distribuida con dos o más dominios de disponibilidad de una máquina virtual, puede hacerlo sin detener la máquina virtual. Si desea eliminar una política de ubicación compacta o una política de ubicación distribuida con un solo dominio de disponibilidad, primero debe detener la máquina virtual antes de eliminar la política de ubicación adjunta a ella.

Eliminar una política de ubicación de una máquina virtual 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 eliminar una política de ubicación de una máquina virtual, seleccione una de las siguientes opciones:

nube de gcloud

Para eliminar una política de ubicació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

Reemplace lo siguiente:

  • VM_NAME : el nombre de una máquina virtual existente que especifica una política de ubicación.

  • POLICY_NAME : el nombre de la política de ubicación aplicada a la VM. Para verificar el nombre de la política de ubicación, vea los detalles de la VM y verifique el valor del campo resourcePolicies .

  • ZONE : la zona donde se encuentra la VM.

DESCANSAR

Para eliminar una política de ubicación de una máquina virtual, realice 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"
  ]
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto donde se encuentra la VM.

  • ZONE : la zona donde se encuentra la VM.

  • VM_NAME : el nombre de una máquina virtual existente que especifica una política de ubicación.

  • REGION : la región donde se encuentra la política de colocación.

  • POLICY_NAME : el nombre de la política de ubicación aplicada a la VM. Para verificar el nombre de la política de ubicación, vea los detalles de la VM y verifique el valor del campo resourcePolicies .

Eliminar una política de ubicación

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

Para eliminar una política de ubicación, seleccione una de las siguientes opciones:

nube de gcloud

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

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

Reemplace lo siguiente:

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

  • REGION : la región donde se encuentra la política de colocación.

DESCANSAR

Para eliminar una política de ubicación, realice una solicitud DELETE al método resourcePolicies.delete .

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

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto donde se encuentra la política de ubicación.

  • REGION : la región donde se encuentra la política de colocación.

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

¿Qué sigue?