Empêcher la suppression accidentelle des VM

Ce document décrit comment protéger des instances de VM spécifiques contre la suppression en définissant la propriété deletionProtection sur une ressource d'instance. Pour en savoir plus sur les instances de VM, consultez la documentation relative aux instances.

Dans le cadre de votre charge de travail, certaines instances de VM peuvent s'avérer critiques pour l'exécution de votre application ou de vos services. Il peut par exemple s'agir d'une instance exécutant un serveur SQL, d'un serveur utilisé comme gestionnaire de licences, etc. Ces instances de VM doivent pouvoir continuer à s'exécuter indéfiniment. C'est pourquoi vous avez besoin d'un moyen de les protéger contre la suppression.

Vous pouvez protéger une instance de VM contre une suppression accidentelle en définissant l'indicateur deletionProtection. Si un utilisateur tente de supprimer une instance de VM sur laquelle vous avez défini l'indicateur deletionProtection, la requête échoue. Seul un utilisateur détenant un rôle muni de l'autorisation compute.instances.create peut réinitialiser l'indicateur et permettre la suppression de la ressource.

Avant de commencer

Caractéristiques

  • La protection contre la suppression n'empêche pas les actions suivantes :

  • La protection contre la suppression peut être appliquée à la fois aux VM classiques et préemptives.

  • La protection contre la suppression ne peut pas être appliquée aux VM appartenant à un groupe d'instances géré, mais elle peut être appliquée à des instances de groupes d'instances non gérés.

  • La protection contre la suppression ne peut pas être spécifiée dans des modèles d'instance.

Autorisations

Pour effectuer cette tâche, vous devez disposer des autorisations suivantes OU détenir l'un des rôles IAM suivants sur la ressource.

Autorisations

  • compute.instances.create

Rôles

  • compute.admin
  • compute.instanceAdmin.v1

Définir la protection contre la suppression lors de la création de l'instance

Par défaut, la protection contre la suppression est désactivée pour votre instance. Suivez les instructions ci-dessous pour l'activer.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le bouton Créer une instance.
  4. Développez la section Gestion, sécurité, disques, mise en réseau et location unique.
  5. Sous Gestion, cochez la case Enable deletion protection (Activer la protection contre la suppression).

    Capture d'écran de la case à cocher relative à la suppression de la VM

  6. Poursuivez le processus de création de la VM.

gcloud

Lors de la création d'une instance de VM, spécifiez l'indicateur --deletion-protection ou no-deletion-protection. La protection contre la suppression est désactivée par défaut. Exécutez la commande suivante pour l'activer :

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

[INSTANCE_NAME] est le nom de l'instance souhaitée.

Ou exécutez la commande ci-dessous pour la désactiver :

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

API

Lorsque vous créez une instance de VM à partir de l'API, spécifiez la propriété deletionProtection dans le corps de votre requête. Exemple :

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

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

Pour désactiver la protection contre la suppression, définissez deletionProtection sur false.

Activer ou désactiver la protection contre la suppression pour les instances existantes

Vous pouvez activer ou désactiver la protection contre la suppression pour une instance existante, quel que soit son état actuel. Plus précisément, vous n'avez pas besoin d'arrêter l'instance pour pouvoir activer ou désactiver cette fonctionnalité.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur le nom de l'instance pour laquelle vous souhaitez activer ou désactiver la protection contre la suppression. La page de détails de l'instance s'affiche.
  4. Sur la page des détails de l'instance, procédez comme suit :

    1. Cliquez sur le bouton Modifier en haut de la page.
    2. Sous Deletion Protection (Protection contre la suppression), cochez ou décochez la case afin d'activer ou de désactiver la protection contre la suppression.

      Capture d'écran de la case à cocher relative à la suppression de la VM

    3. Enregistrez les modifications.

gcloud

À l'aide de l'outil gcloud, exécutez la commande update en spécifiant l'indicateur --deletion-protection ou --no-deletion-protection :

gcloud compute instances update [INSTANCE_NAME] \
    [--deletion-protection | --no-deletion-protection]

Si vous souhaitez par exemple désactiver la protection contre la suppression pour une instance appelée example-vm, utilisez la commande suivante :

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

API

Dans l'API, envoyez une requête POST à la méthode setDeletionProtection en spécifiant le paramètre de requête delectionProtection. Exemple :

POST https://www.googleapis.com/v1/compute/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true

Pour désactiver la protection contre la suppression, définissez deletionProtection sur "false". N'ajoutez pas de corps à votre requête.

Vérifier si une instance est protégée contre la suppression

Vous pouvez vérifier si une instance est protégée contre la suppression à l'aide de gcloud tool ou à partir de l'API.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.
  3. Sur la page Instances de VM, cliquez sur le menu déroulant Colonnes et activez l'option Deletion protection (Protection contre la suppression).

    Capture d'écran de l'option de suppression de la VM

  4. Une nouvelle colonne contenant l'icône de protection contre la suppression apparaît. Si cette fonctionnalité est activée sur une VM, l'icône apparaît à côté du nom de l'instance.

gcloud

Dans l'outil gcloud, exécutez la commande instances describe et recherchez le champ de protection contre la suppression. Exemple :

gcloud compute instances describe example-instance | grep "deletionProtection"

L'outil renvoie la valeur de la propriété deletionProtection, définie sur true ou false :

deletionProtection: false

API

Dans l'API, exécutez une requête GET et recherchez le champ deletionProtection :

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

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine