En este documento se describe cómo proteger instancias de VM específicas frente a la eliminación
configurando la propiedad deletionProtection
en un recurso Instance. Para obtener más información sobre las instancias de VM, consulta la documentación sobre instancias.
Como parte de tu carga de trabajo, puede que haya determinadas instancias de VM que sean críticas para ejecutar tu aplicación o tus servicios, como una instancia que ejecute un servidor SQL, un servidor que se use como gestor de licencias, etc. Es posible que estas instancias de VM deban seguir ejecutándose indefinidamente, por lo que necesitas una forma de protegerlas para que no se eliminen.
Si se define la marca deletionProtection
, una instancia de VM se puede proteger contra la eliminación accidental. Si un usuario intenta eliminar una instancia de VM para la que has definido la marca deletionProtection
, la solicitud fallará. Solo un usuario al que se le haya asignado un rol con permiso compute.instances.create
puede restablecer la marca para permitir que se elimine el recurso.
Antes de empezar
- Consulta la documentación sobre instancias.
-
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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.
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las Node.js muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
PHP
Para usar las PHP muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
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.
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 .
Especificaciones
La prevención de la eliminación no impide las siguientes acciones:
- Finalizar una instancia desde la VM (por ejemplo, ejecutando el comando
shutdown
) - Detener una instancia
- Restablecer una instancia
- Suspender una instancia
- Instancias que se retiran por fraude y abuso después de que Google las detecte
- Se van a quitar instancias debido a la finalización del proyecto
- Finalizar una instancia desde la VM (por ejemplo, ejecutando el comando
La protección contra eliminación se puede aplicar tanto a las máquinas virtuales normales como a las interrumpibles.
La protección contra eliminación no se puede aplicar a las VMs que forman parte de un grupo de instancias gestionado, pero sí a las instancias que forman parte de grupos de instancias no gestionados.
La prevención de eliminación no se puede especificar en las plantillas de instancia.
Permisos
Para llevar a cabo esta tarea, debes tener los siguientes permisos O uno de los siguientes roles de gestión de identidades y accesos en el recurso.
Permisos
compute.instances.create
Roles
compute.admin
compute.instanceAdmin.v1
Configurar la protección contra la eliminación durante la creación de una instancia
De forma predeterminada, la protección contra la eliminación está inhabilitada en tu instancia. Habilita la protección frente a la eliminación siguiendo las instrucciones que se indican a continuación.
Consola
En la Google Cloud consola, ve a la página Crear una instancia.
Despliega la sección Opciones avanzadas y haz lo siguiente:
- Despliega la sección Gestión.
- Marca la casilla Habilitar protección frente a la eliminación.
Continúa con el proceso de creación de la VM.
gcloud
Cuando crees una instancia de VM, incluye las marcas
--deletion-protection
ono-deletion-protection
. La protección contra la eliminación está inhabilitada de forma predeterminada. Para habilitarla, sigue estos pasos:gcloud compute instances create [INSTANCE_NAME] --deletion-protection
En este comando,
[INSTANCE_NAME]
es el nombre de la instancia que quiere.Para inhabilitar la protección contra la eliminación durante la creación, sigue estos pasos:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Go
Java
Node.js
Python
REST
En la API, al crear una instancia de VM, incluya la propiedad
deletionProtection
en el cuerpo de la solicitud. Por ejemplo:POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances { "name": "[INSTANCE_NAME]", "deletionProtection": "true", ... }
Para inhabilitar la protección frente a la eliminación, asigna el valor
false
adeletionProtection
.Determinar si una instancia tiene habilitada la protección contra la eliminación
Puedes determinar si una instancia tiene habilitada la protección contra la eliminación en la
gcloud tool
o en la API.Consola
Ve a la página Instancias de VM.
Si se te solicita, selecciona tu proyecto y haz clic en Continuar.
En la página Instancias de VM, despliega el menú Columnas y habilita Protección contra eliminación.
Aparecerá una nueva columna con el icono de protección contra eliminación. Si una VM tiene habilitada la protección contra eliminación, el icono aparece junto al nombre de la instancia.
gcloud
En la CLI de gcloud, ejecuta el comando
instances describe
y busca el campo de protección contra eliminación. Por ejemplo:gcloud compute instances describe example-instance | grep "deletionProtection"
La herramienta devuelve el valor de la propiedad
deletionProtection
, que puede sertrue
ofalse
:deletionProtection: false
Go
Java
Node.js
Python
REST
En la API, haz una solicitud
GET
y busca el campodeletionProtection
:GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Activar o desactivar la protección frente a la eliminación de instancias
Puedes activar o desactivar la protección contra la eliminación de una instancia, independientemente de su estado. En concreto, no tienes que detener la instancia para habilitar o inhabilitar la protección contra la eliminación.
Consola
Ve a la página Instancias de VM.
Si se te solicita, selecciona tu proyecto y haz clic en Continuar.
Haga clic en el nombre de la instancia para la que quiera activar o desactivar la protección contra eliminación. Se muestra la página de detalles de la instancia.
En la página de detalles de la instancia, sigue estos pasos:
- Haz clic en el botón Editar que se encuentra en la parte superior de la página.
En Protección contra eliminación, marca la casilla para habilitar esta función o desmárcala para inhabilitarla.
Guarda los cambios.
gcloud
Con gcloud CLI, ejecuta el comando
update
con la marca--deletion-protection
o--no-deletion-protection
:gcloud compute instances update [INSTANCE_NAME] \ [--deletion-protection | --no-deletion-protection]
Por ejemplo, para habilitar la protección frente a la eliminación de una instancia llamada
example-vm
, haz lo siguiente:gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
En la API, haz una solicitud
POST
al métodosetDeletionProtection
con el parámetro de consultadeletionProtection
. Por ejemplo:POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true
Para inhabilitar la protección frente a la eliminación, asigna el valor
false
adeletionProtection
. No proporciones el cuerpo de la solicitud con la solicitud.Siguientes pasos
- Consulta cómo detener una instancia.
- Elimina tus instancias si ya no las necesitas.
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).
-