Evita que se borre una VM por error

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.

Cuando configuras el marcador deletionProtection, una instancia de VM se puede proteger contra la eliminación por error. Si un usuario intenta borrar una instancia de VM para la que estableciste el marcador deletionProtection, la solicitud falla. Solo un usuario al que se le otorgó una función con el permiso compute.instances.create puede restablecer el marcador para permitir que se borre el recurso.

Antes de comenzar

Especificaciones

  • La prevención de eliminaciones no evita las siguientes acciones:

  • 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.

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.admin
  • compute.instanceAdmin.v1

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

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Si se te solicita, selecciona el proyecto y haz clic en Continuar.
  3. Haz clic en el botón Crear instancia.
  4. Expande la sección Administración, seguridad, discos, herramientas de redes, instancia única.
  5. En Administración, activa o desactiva la casilla de verificación Habilitar protección contra la eliminación (Enable deletion protection).

    Captura de pantalla de la casilla de verificación de eliminación de la VM

  6. Continúa con el proceso de creación de VM.

gcloud

Cuando crees una instancia de VM, incluye los marcadores --deletion-protection o no-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, usa el siguiente código:

gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection

API

En la API, cuando crees una instancia de VM, incluye la propiedad deletionProtection en el cuerpo de tu solicitud. Por ejemplo:

POST https://www.googleapis.com/v1/compute/projects/[PROJECT_ID]/zones/[ZONE]/instances

{
  "name": "[INSTANCE_NAME]",
  "deletionProtection": "true",
  ...
}

Para inhabilitar la protección contra la eliminación, establece deletionProtection en false.

Activa o desactiva la protección contra la eliminación para 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

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Si se te solicita, selecciona tu proyecto y haz clic en Continuar.
  3. 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.
  4. En la página de detalles de la instancia, completa los siguientes pasos:

    1. Haz clic en el botón Editar en la parte superior de la página.
    2. En Protección contra la eliminación (Deletion protection) marca la casilla si deseas habilitar la protección contra la eliminación o desmarca la casilla si deseas inhabilitarla.

      Captura de pantalla de la casilla de verificación de eliminación de la VM

    3. Guarda los cambios.

gcloud

Con la herramienta de gcloud, ejecuta el comando update con el marcador --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 denominada example-vm, usa el siguiente código:

gcloud compute instances update example-vm --deletion-protection

API

En la API, realiza una solicitud POST al método setDeletionProtection con el parámetro de consulta delectionProtection. Por ejemplo:

POST https://www.googleapis.com/v1/compute/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.

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 la gcloud tool o en la API.

Console

  1. Ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Si se te solicita, selecciona tu proyecto y haz clic en Continuar.
  3. En la página Instancias de VM, despliega el menú Columnas y habilita Protección contra la eliminación (Deletion protection).

    Captura de pantalla de la opción de eliminación de la VM

  4. Aparece una nueva columna 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.

gcloud

En la herramienta de gcloud, 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

API

En la API, realiza una solicitud GET y busca el campo deletionProtection:

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine