En este documento se describe cómo sustituir, retirar o eliminar políticas de emplazamiento.
Sustituir, quitar o eliminar políticas de emplazamiento es útil en los siguientes casos:
Sustituye una política de colocación en una instancia de máquina virtual (VM) para mover la VM a una posición diferente con respecto a otras VMs.
Quita una política de colocación de una VM cuando ya no te interese su posición relativa con respecto a otras VMs.
Eliminar una política de emplazamiento cuando ya no la necesites.
Antes de empezar
- Consulta las restricciones de las políticas de emplazamiento.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para sustituir, quitar o eliminar políticas de colocación, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para sustituir, quitar o eliminar políticas de emplazamiento. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para sustituir, quitar o eliminar políticas de emplazamiento, se necesitan los siguientes permisos:
-
Para sustituir o quitar una política de emplazamiento de una máquina virtual, sigue estos pasos:
compute.instances.update
on the project -
Para eliminar una política de emplazamiento, sigue estos pasos:
compute.resourcePolicies.delete
on the project
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Sustituir una política de colocación en una VM
Antes de sustituir una política de colocación dispersa por una política de colocación compacta en una VM, asegúrate de que la VM utilice un tipo de máquina y una política de mantenimiento del host compatibles. Si necesitas actualizar la VM antes de sustituir su política de emplazamiento, haz una o ambas de las siguientes acciones:
Después de sustituir la política de colocación en una VM, debes reiniciar la VM para que la política de colocación recién aplicada surta efecto.
Para sustituir una política de colocación en una VM, selecciona una de las siguientes opciones:
gcloud
Crea un archivo YAML vacío.
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
Haz los cambios siguientes:
VM_NAME
: el nombre de una VM que especifica una política de colocación.FILE_PATH
: la ruta al archivo YAML que has creado en el paso anterior.ZONE
: la zona en la que se encuentra la VM.
En el archivo de configuración YAML, edita el valor del campo
resourcePolicies
para especificar otra política de colocación.resourcePolicies: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento. Solo puedes especificar una política de asignación que se encuentre en el mismo proyecto que la VM.REGION
: la región en la que se encuentra la política de emplazamiento.POLICY_NAME
: el nombre de la política de emplazamiento.
Para actualizar la máquina virtual y reiniciarla, usa el comando
gcloud compute instances update-from-file
con la marca--most-disruptive-allowed-action
definida comoRESTART
.gcloud compute instances update-from-file VM_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE
Haz los cambios siguientes:
VM_NAME
: el nombre de la VM.YAML_FILE
: la ruta al archivo YAML con los datos de configuración que has modificado en el paso anterior.ZONE
: la zona en la que se encuentra la VM.
REST
Crea un archivo JSON vacío.
Para ver las propiedades de una VM, envía una solicitud
GET
al métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la VM.ZONE
: la zona en la que se encuentra la VM.VM_NAME
: el nombre de una VM que especifica una política de colocación.
En el archivo JSON vacío que has creado en los pasos anteriores, haz lo siguiente:
Introduce las propiedades de la VM de la salida de la solicitud
GET
.Busque el campo
resourcePolicies
y, a continuación, edite su valor para especificar otra política de colocación."resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento. Solo puedes especificar una política de colocación que se encuentre en el mismo proyecto que la VM.REGION
: la región en la que se encuentra la política de emplazamiento.POLICY_NAME
: el nombre de la política de emplazamiento.
Para actualizar la VM y reiniciarla, haz una solicitud
PUT
al métodoinstances.update
. En la solicitud, haz lo siguiente:En la URL de la solicitud, incluya el parámetro de consulta
most_disruptive_allowed_action
con el valorRESTART
.En el cuerpo de la solicitud, usa los detalles de configuración de la VM del archivo JSON que has creado y actualizado 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 Actualizar las propiedades de una VM.
Quitar una política de emplazamiento de una VM
Si quieres quitar una política de colocación dispersa con dos o más dominios de disponibilidad de una VM, puedes hacerlo sin detenerla. Si quieres quitar una política de colocación compacta o una política de colocación dispersa con un solo dominio de disponibilidad, primero debes detener la VM antes de quitar la política de colocación asociada.
Si quitas una política de colocación de una VM, no se verá afectada su ubicación física. Sin embargo, si la máquina virtual se está migrando en tiempo real, Compute Engine podría moverla a otra ubicación física.
Para quitar una política de colocación de una VM, selecciona una de las siguientes opciones:
gcloud
Para quitar una política de colocació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
Haz los cambios siguientes:
VM_NAME
: el nombre de una VM que especifica una política de colocación.POLICY_NAME
: nombre de la política de colocación aplicada a la VM. Para verificar el nombre de la política de emplazamiento, consulta los detalles de la VM y comprueba el valor del camporesourcePolicies
.ZONE
: la zona en la que se encuentra la VM.
REST
Para quitar una política de colocación de una VM, envía una solicitud
POST
al métodoinstances.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" ] }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la VM.ZONE
: la zona en la que se encuentra la VM.VM_NAME
: el nombre de una VM que especifica una política de colocación.REGION
: la región en la que se encuentra la política de emplazamiento.POLICY_NAME
: nombre de la política de colocación aplicada a la VM. Para verificar el nombre de la política de emplazamiento, consulta los detalles de la VM y comprueba el valor del camporesourcePolicies
.
Eliminar una política de emplazamiento
Solo puedes eliminar una política de emplazamiento si no se ha aplicado a ningún recurso de Compute Engine. De lo contrario, no se podrá eliminar la política de emplazamiento. Si quiere eliminar una política de emplazamiento que se haya aplicado a uno o varios recursos de Compute Engine, haga una de las siguientes acciones:
Si la política solo se aplica a las VMs y quieres conservarlas, haz lo siguiente:
Elimina la política de asignación de las VMs tal como se describe en este documento.
Elimina la política de emplazamiento tal como se describe en esta sección.
De lo contrario, haz lo siguiente:
Opcional: Quita la política de colocación de las VMs que quieras conservar tal como se describe en este documento.
Elimina todos los demás recursos de Compute Engine a los que se aplique la política de colocación en el siguiente orden:
VMs
Reservas
Plantillas de instancia
Elimina la política de emplazamiento tal como se describe en esta sección.
Para eliminar una política de emplazamiento, seleccione una de las siguientes opciones:
gcloud
Para eliminar una política de emplazamiento, usa el comando
gcloud compute resource-policies delete
.gcloud compute resource-policies delete POLICY_NAME \ --region=REGION
Haz los cambios siguientes:
POLICY_NAME
: el nombre de una política de emplazamiento.REGION
: la región en la que se encuentra la política de emplazamiento.
REST
Para eliminar una política de emplazamiento, haz una solicitud
DELETE
al métodoresourcePolicies.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la política de emplazamiento.REGION
: la región en la que se encuentra la política de emplazamiento.POLICY_NAME
: el nombre de una política de emplazamiento.
Siguientes pasos
Consulta cómo ver las políticas de emplazamiento.
Consulta cómo hacer lo siguiente con una VM que especifica una política de asignación:
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-