En este documento, se describe cómo proteger instancias de VM específicas contra la eliminación mediante la configuración de la propiedad deletionProtection
en un recurso de instancia. Para obtener más información sobre las instancias de VM, lee la documentación de instancias.
Como parte de tu carga de trabajo, puede haber ciertas instancias de VM que sean críticas para ejecutar tu aplicación o servicios, como una instancia que ejecuta un servidor SQL, un servidor utilizado como administrador de licencias, etcétera. Es posible que estas instancias de VM deban permanecer en ejecución de forma indefinida, por lo que necesitas una forma de proteger estas VM para que no se borren.
Mediante la configuración de la marca deletionProtection
, se puede proteger una instancia de VM contra la eliminación por error. Si un usuario intenta borrar una instancia de VM para la que estableciste la marca deletionProtection
, la solicitud falla. Solo un usuario al que se le otorgó una función con el permiso compute.instances.create
puede restablecer la marca para permitir que se borre el recurso.
Antes de comenzar
- Lee la documentación de Instancias.
-
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 un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
La prevención de eliminaciones no evita 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
- Quitar las instancias debido a fraude y abuso después de que Google lo detecte
- Quitar las instancias debido a la terminación del proyecto
- Terminar una instancia desde dentro de la VM (como ejecutar el comando
La protección contra la eliminación se puede aplicar tanto a las VM normales como a las VM interrumpibles.
La protección contra la eliminación no se puede aplicar a las VM que forman parte de un grupo de instancias administrado, pero se puede aplicar a instancias que forman parte de grupos de instancias no administrados.
No se puede especificar la prevención de eliminación en las plantillas de instancias.
compute.instances.create
compute.admin
compute.instanceAdmin.v1
En la consola de Google Cloud, ve a la página Crea una instancia.
Expande la sección Opciones avanzadas y sigue estos pasos:
- Expande la sección Administración.
- Selecciona la casilla de verificación Habilitar protección contra la eliminación
Continúa con el proceso de creación de VM.
Ve a la página Instancias de VM.
Si se te solicita, selecciona el proyecto y haz clic en Continuar.
En la página Instancias de VM, despliega el menú Columnas y habilita Protección contra la eliminación (Deletion protection).
Aparece una columna nueva con el ícono de protección contra la eliminación. Si una VM tiene habilitada la protección contra la eliminación, el ícono aparece junto al nombre de la instancia.
Ve a la página Instancias de VM.
Si se te solicita, selecciona el proyecto y haz clic en Continuar.
Haz clic en el nombre de la instancia para la que deseas activar o desactivar la protección contra la eliminación. Se mostrará la página de detalles de la instancia.
En la página de detalles de la instancia, completa los siguientes pasos:
- Haz clic en el botón Editar en la parte superior de la página.
En Protección contra la eliminación (Deletion protection), marca la casilla si quieres habilitar la protección contra la eliminación o desmárcala si quieres inhabilitar la función.
Guarda los cambios.
- Aprende a detener una instancia.
- Borra 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.
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.
Especificaciones
Permisos
Para realizar esta tarea, debes tener los siguientes permisos O una de las siguientes funciones de IAM en el recurso.
Permisos
Funciones
Configura la protección contra la eliminación durante la creación de instancias
De manera predeterminada, la protección contra la eliminación está inhabilitada para tu instancia. Habilita la protección contra la eliminación con las siguientes instrucciones.
Console
gcloud
Cuando creas una instancia de VM, incluye las marcas
--deletion-protection
ono-deletion-protection
. La protección contra la eliminación está inhabilitada de manera predeterminada; para habilitarla, usa el siguiente código:gcloud compute instances create [INSTANCE_NAME] --deletion-protection
donde
[INSTANCE_NAME]
es el nombre de la instancia deseada.Para inhabilitar la protección contra la eliminación durante la creación:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Go
Java
Node.js
Python
REST
En la API, cuando crees una instancia de VM, incluye la propiedad
deletionProtection
en el cuerpo de tu 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 contra la eliminación, establece
deletionProtection
enfalse
.Determina 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
gcloud tool
o en la API.Console
gcloud
En gcloud CLI, ejecuta el comando
instances describe
y busca el campo de protección contra la eliminación. Por ejemplo:gcloud compute instances describe example-instance | grep "deletionProtection"
La herramienta muestra el valor de la propiedad
deletionProtection
, ya sea establecido entrue
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]
Activa o desactiva la protección contra la eliminación en instancias existentes
Puedes activar o desactivar la protección contra la eliminación para una instancia existente, sin importar el estado actual de la instancia. Específicamente, no tienes que detener la instancia antes de poder habilitar o inhabilitar la protección contra la eliminación.
Console
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, a fin de habilitar la protección contra la eliminación para una instancia llamada
example-vm
:gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
En la API, realiza 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 contra la eliminación, establece
deletionProtection
enfalse
. No proporciones un cuerpo de solicitud con la solicitud.¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-