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 verifica tu identidad para acceder a los servicios y las APIs de Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
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.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para usar las muestras de PHP de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .
Especificaciones
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 eliminaciones se puede aplicar tanto a las VMs normales como a las VMs interrumpibles.
La protección contra eliminaciones no se puede aplicar a las VMs que forman parte de un grupo de instancias administrado, pero sí 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.
Permisos
Para realizar esta tarea, debes tener los siguientes permisos O una de las siguientes funciones de IAM en el recurso.
Permisos
compute.instances.create
Funciones
compute.admincompute.instanceAdmin.v1
Configura la protección contra eliminaciones durante la creación de instancias
De manera predeterminada, la protección contra eliminaciones está inhabilitada para tu instancia. Habilita la protección contra la eliminación con las siguientes instrucciones.
Console
En la consola de Cloud de Confiance , ve a la página Crear 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 eliminaciones.
Continúa con el proceso de creación de VM.
gcloud
Cuando creas una instancia de VM, incluye las marcas --deletion-protection o no-deletion-protection. La protección contra eliminaciones está inhabilitada de forma 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 eliminaciones durante la creación, haz lo siguiente:
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 en false.
Cómo determinar si una instancia tiene habilitada la protección contra eliminaciones
Puedes determinar si una instancia tiene habilitada la protección contra eliminaciones en gcloud tool o en la API.
Console
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 eliminaciones.
Aparecerá una columna nueva con el ícono de protección contra eliminaciones. Si una VM tiene habilitada la protección contra eliminaciones, el ícono aparece junto al nombre de la instancia.
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 en true o false:
deletionProtection: false
Go
Java
Node.js
Python
REST
En la API, haz una solicitud GET y busca el campo deletionProtection:
GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Activa o desactiva la protección contra eliminaciones en instancias existentes
Puedes activar o desactivar la protección contra eliminaciones 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 eliminaciones.
Console
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 eliminaciones, marca la casilla si quieres habilitar la protección contra eliminaciones o desmárcala si quieres inhabilitar la función.
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 contra eliminaciones 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étodo setDeletionProtection con el parámetro de consulta deletionProtection. 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 en false. No proporciones un cuerpo de solicitud con la solicitud.
¿Qué sigue?
- Aprende a detener una instancia.
- Borra tus instancias si ya no las necesitas.