Este documento describe cómo proteger instancias de VM específicas contra la eliminación configurando la propiedad deletionProtection
en un recurso de instancia. Para obtener más información sobre las instancias de VM, lea la documentación de Instancias .
Como parte de su carga de trabajo, puede haber ciertas instancias de VM que son críticas para ejecutar su aplicación o servicios, como una instancia que ejecuta un servidor SQL, un servidor utilizado como administrador de licencias, etc. Es posible que estas instancias de VM deban permanecer ejecutándose indefinidamente, por lo que necesita una forma de protegerlas para que no se eliminen.
Al configurar el indicador deletionProtection
, se puede proteger una instancia de VM contra una eliminación accidental. Si un usuario intenta eliminar una instancia de VM para la cual ha configurado el indicador deletionProtection
, la solicitud falla. Solo un usuario al que se le ha otorgado un rol con permiso compute.instances.create
puede restablecer el indicador para permitir que se elimine el recurso.
Antes de comenzar
- Lea la documentación de Instancias .
- 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
La prevención de eliminación no impide las siguientes acciones:
- Terminar una instancia desde dentro de la VM (como ejecutar el comando
shutdown
) - Detener una instancia
- Restablecer una instancia
- Suspender una instancia
- Instancias eliminadas debido a fraude y abuso después de ser detectadas por Google
- Instancias eliminadas debido a la terminación del proyecto
- Terminar una instancia desde dentro de la VM (como ejecutar el comando
La protección contra eliminación se puede aplicar tanto a máquinas virtuales normales como a máquinas virtuales interrumpibles.
La protección contra eliminación no se puede aplicar a máquinas virtuales que forman parte de un grupo de instancias administrado, pero se puede aplicar a instancias que forman parte de grupos de instancias no administrados.
La prevención de eliminación no se puede especificar en las plantillas de instancias.
-
compute.instances.create
-
compute.admin
-
compute.instanceAdmin.v1
En la consola de Google Cloud, vaya a la página Crear una instancia .
Expanda la sección Opciones avanzadas y haga lo siguiente:
- Expanda la sección Gestión .
- Seleccione la casilla de verificación Habilitar protección contra eliminación .
Continúe con el proceso de creación de VM.
Vaya a la página de instancias de VM.
Si se le solicita, seleccione su proyecto y haga clic en Continuar .
En la página de instancias de VM , despliegue el menú Columnas y habilite Protección contra eliminación .
Aparece 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.
Vaya a la página de instancias de VM.
Si se le solicita, seleccione su proyecto y haga clic en Continuar .
Haga clic en el nombre de la instancia para la que desea alternar la protección contra eliminación. Se muestra la página de detalles de la instancia.
Desde la página de detalles de la instancia, complete los siguientes pasos:
- Haga clic en el botón Editar en la parte superior de la página.
En Protección contra eliminación , marque la casilla para habilitar o desmarque la casilla para deshabilitar la protección contra eliminación.
Guarde sus cambios.
- Aprenda cómo detener una instancia .
- Elimina tus instancias si ya no las necesitas.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
PHP
Para usar las muestras de PHP de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
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 .
Presupuesto
Permisos
Para realizar esta tarea, se le deben haber otorgado los siguientes permisos O uno de los siguientes roles de IAM en el recurso.
Permisos
Roles
Configurar la protección contra eliminación durante la creación de la instancia
De forma predeterminada, la protección contra eliminación está deshabilitada para su instancia. Habilite la protección contra eliminación siguiendo las instrucciones a continuación.
Consola
nube de gcloud
Al crear una instancia de VM , incluya los indicadores
--deletion-protection
ono-deletion-protection
. La protección contra eliminación está deshabilitada de forma predeterminada, por lo que para habilitar la protección contra eliminación:gcloud compute instances create [INSTANCE_NAME] --deletion-protection
donde
[INSTANCE_NAME]
es el nombre de la instancia deseada.Para desactivar la protección contra eliminación durante la creación:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Ir
Java
Nodo.js
Pitón
DESCANSAR
En la API, al crear una instancia de VM , incluya la propiedad
deletionProtection
en el cuerpo de su solicitud. Por ejemplo:POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances { "name": "[INSTANCE_NAME]", "deletionProtection": "true", ... }
Para deshabilitar la protección contra eliminación, establezca
deletionProtection
enfalse
.Determinar si una instancia tiene habilitada la protección contra eliminación
Puedes determinar si una instancia tiene la protección contra eliminación habilitada en la
gcloud tool
o en la API.Consola
nube de 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
, ya sea establecida entrue
ofalse
:deletionProtection: false
Ir
Java
Nodo.js
Pitón
DESCANSAR
En la API, realice una solicitud
GET
y busque el campodeletionProtection
:GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Alternar la protección contra eliminación para instancias existentes
Puede alternar la protección contra eliminación para una instancia existente, independientemente del estado actual de la instancia. Específicamente, no es necesario detener la instancia antes de poder habilitar o deshabilitar la protección contra eliminación.
Consola
nube de gcloud
Con la CLI de gcloud, 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 contra eliminación para una instancia denominada
example-vm
:gcloud compute instances update example-vm --deletion-protection
Ir
Java
Nodo.js
Pitón
DESCANSAR
En la API, realice 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 deshabilitar la protección contra eliminación, establezca
deletionProtection
enfalse
. No proporcione un cuerpo de solicitud con la solicitud.¿Qué sigue?
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-04-17 (UTC).
-