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 Instance. Pour en savoir plus sur les instances de VM, consultez la documentation sur les 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'option deletionProtection
. Si un utilisateur tente de supprimer une instance de VM sur laquelle vous avez défini l'option deletionProtection
, la requête échoue. Seul un utilisateur détenant un rôle associé à l'autorisation compute.instances.create
peut réinitialiser l'option et permettre la suppression de la ressource.
Avant de commencer
- Consultez la documentation relative aux instances.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
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 protection contre la suppression n'empêche pas les actions suivantes :
- L'interruption d'une instance depuis la VM (à l'aide de la commande
shutdown
, par exemple) - L'arrêt d'une instance
- La réinitialisation d'une instance
- La suspension d'une instance
- La suppression d'une instance en raison d'une fraude ou d'un abus détecté par Google
- La suppression d'une instance à la suite d'un arrêt du projet
- L'interruption d'une instance depuis la VM (à l'aide de la commande
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.
compute.instances.create
compute.admin
compute.instanceAdmin.v1
Accédez à la page Créer une instance dans Google Cloud Console.
Développez la section Options avancées et procédez comme suit :
- Développez la section Gestion.
- Cochez la case Activer la protection contre la suppression.
Poursuivez le processus de création de la VM.
Accédez à la page des instances de VM.
Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
Sur la page Instances de VM, cliquez sur le menu déroulant Colonnes et activez l'option Deletion protection (Protection contre la suppression).
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.
Accédez à la page des instances de VM.
Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
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.
Sur la page des détails de l'instance, procédez comme suit :
- Cliquez sur le bouton Modifier en haut de la page.
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.
Enregistrez les modifications.
- Découvrez comment arrêter une instance.
- Supprimez vos instances si vous n'en avez plus besoin.
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Node.js
Pour utiliser les exemples Node.js de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
PHP
Pour utiliser les exemples PHP de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Spécifications
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
Rôles
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
gcloud
Lors de la création d'une instance de VM, incluez les options
--deletion-protection
ouno-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
où
[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
Go
Java
Node.js
Python
REST
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://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances { "name": "[INSTANCE_NAME]", "deletionProtection": "true", ... }
Pour désactiver la protection contre la suppression, définissez
deletionProtection
surfalse
.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
gcloud
Dans gcloud CLI, exécutez la commande
instances describe
en recherchant 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 surtrue
oufalse
:deletionProtection: false
Go
Java
Node.js
Python
REST
Dans l'API, exécutez une requête
GET
et recherchez le champdeletionProtection
:GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
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
gcloud
À l'aide de gcloud CLI, exécutez la commande
update
en spécifiant l'option--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
Go
Java
Node.js
Python
REST
Dans l'API, envoyez une requête
POST
à la méthodesetDeletionProtection
avec le paramètre de requêtedeletionProtection
. Exemple :POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true
Pour désactiver la protection contre la suppression, définissez
deletionProtection
surfalse
. N'ajoutez pas de corps à votre requête.Étapes suivantes
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-