Ce document explique comment activer l'arrêt progressif sur une instance Compute Engine nouvelle ou existante.
Lorsque vous activez l'arrêt progressif dans une instance de calcul, vous pouvez accorder à son OS invité jusqu'à six heures pour s'arrêter correctement lorsque vous arrêtez ou supprimez l'instance de calcul. Cette action permet d'éviter la perte de données ou la corruption des systèmes de fichiers lorsque vos applications ont besoin de plus de temps pour terminer les tâches en cours d'exécution. Pour en savoir plus sur les exigences et les limites qui s'appliquent lorsque vous arrêtez progressivement une instance de calcul, consultez À propos de l'arrêt progressif.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Cloud de Confiance by S3NS . 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 :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Cloud de Confiance pour accéder aux services et aux API Cloud de Confiance by S3NS , vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .
Rôles requis
Pour obtenir les autorisations nécessaires pour activer l'arrêt progressif dans une instance de calcul, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour activer l'arrêt progressif dans une instance de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour activer l'arrêt progressif dans une instance de calcul :
-
Pour créer des instances de calcul :
compute.instances.createsur le projet- Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnlysur l'image - Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnlysur l'instantané - Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnlysur le modèle d'instance - Pour attribuer un ancien réseau à la VM :
compute.networks.usesur le projet - Pour spécifier une adresse IP statique pour la VM :
compute.addresses.usesur le projet - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIpsur le projet - Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.usesur le projet ou sur le sous-réseau choisi - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIpsur le projet ou sur le sous-réseau choisi - Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadatasur le projet - Pour définir des tags pour la VM :
compute.instances.setTagssur la VM - Pour définir des étiquettes pour la VM :
compute.instances.setLabelssur la VM - Pour définir un compte de service que doit utiliser la VM :
compute.instances.setServiceAccountsur la VM - Pour créer un disque pour la VM :
compute.disks.createsur le projet - Pour associer un disque existant en mode lecture seule ou en mode lecture/écriture :
compute.disks.usesur le disque - Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnlysur le disque
-
Pour créer un modèle d'instance :
compute.instanceTemplates.createsur le projet -
Pour activer l'arrêt progressif dans une instance de calcul existante :
compute.instances.updatesur l'instance de calcul
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Activer l'arrêt progressif
Pour activer l'arrêt progressif dans une instance de calcul, utilisez l'une des méthodes suivantes :
Activer l'arrêt progressif sur une instance de calcul existante
Activer l'arrêt progressif lors de la création d'une instance de calcul
Activer l'arrêt progressif lors de la création d'un modèle d'instance
Activer l'arrêt progressif dans une instance de calcul existante
Si vous activez l'arrêt progressif dans une instance de calcul existante, vous devez redémarrer l'instance de calcul comme décrit dans cette section.
Pour activer l'arrêt progressif dans une instance de calcul existante, sélectionnez l'une des options suivantes :
Console
Dans la console Cloud de Confiance , accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de l'instance de calcul sur laquelle vous souhaitez activer l'arrêt progressif. La page d'informations de l'instance de calcul s'affiche.
Cliquez sur Modifier.
Dans la section Gestion, procédez comme suit :
Cochez la case Arrêter progressivement la VM.
Dans le champ Durée maximale qui s'affiche, saisissez le nombre de minutes ou de secondes que vous souhaitez que l'arrêt progressif dure. Cette valeur doit être comprise entre une seconde et 360 minutes (six heures).
Cliquez sur Enregistrer.
gcloud
Pour activer l'arrêt progressif dans une instance de calcul existante, utilisez la commande gcloud compute instances update avec les flags --graceful-shutdown et --graceful-shutdown-max-duration :
gcloud compute instances update INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul.MAX_DURATION: durée maximale de l'arrêt progressif. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh,mets. Par exemple, spécifiez1hpour une heure ou20m10spour 20 minutes et 10 secondes. La valeur doit être comprise entre une seconde et six heures.ZONE: zone où se trouve l'instance de calcul.
REST
Créez un fichier JSON vide.
Pour afficher les propriétés d'une instance de calcul existante, envoyez une requête
GETà la méthodeinstances.get:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMERemplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.INSTANCE_NAME: nom d'une instance de calcul existante.
Dans le fichier JSON vide que vous avez créé lors des étapes précédentes, procédez comme suit :
Saisissez les détails de configuration de l'instance de calcul à partir de la sortie de la requête
GET.Dans le champ
scheduling, ajoutez le champgracefulShutdowncomme suit :{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }Remplacez
MAX_DURATIONpar la durée maximale de l'arrêt progressif, en secondes. La valeur doit être comprise entre1(une seconde) et21600(21 600 secondes, soit six heures).
Pour mettre à jour l'instance de calcul et la redémarrer, envoyez une requête
PUTà la méthodeinstances.update. Dans la requête, procédez comme suit :Dans l'URL de la requête, incluez le paramètre de requête
mostDisruptiveAllowedActiondéfini surRESTART.Dans le corps de la requête, incluez les propriétés de l'instance de calcul du fichier JSON que vous avez créé et mis à jour aux étapes précédentes.
La requête
PUTpermettant de mettre à jour l'instance de calcul ressemble à ce qui suit :PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Pour en savoir plus sur la mise à jour des propriétés d'une instance de calcul, consultez Mettre à jour les propriétés d'une instance.
Activer l'arrêt progressif lors de la création d'une instance de calcul
Pour créer une instance de calcul pour laquelle l'arrêt progressif est activé, sélectionnez l'une des options suivantes :
Console
Dans la console Cloud de Confiance , accédez à la page Instances de VM.
Cliquez sur Créer une instance. La page Créer une instance s'ouvre.
Dans le champ Nom, saisissez un nom pour l'instance de calcul.
Dans les listes Région et Zone, saisissez la région et la zone dans lesquelles créer votre instance de calcul.
Spécifiez le type de machine pour votre instance de calcul.
Développez la section Paramètres avancés du modèle de provisionnement de la VM, puis procédez comme suit :
Cochez la case Arrêter progressivement la VM.
Dans le champ Durée maximale qui s'affiche, saisissez le nombre de minutes ou de secondes que vous souhaitez que l'arrêt progressif dure. Cette valeur doit être comprise entre une seconde et 360 minutes (six heures).
Cliquez sur Créer.
gcloud
Pour créer une instance de calcul pour laquelle l'arrêt progressif est activé, utilisez la commande gcloud compute instances create avec le flag --graceful-shutdown :
gcloud compute instances create INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--machine-type=MACHINE_TYPE \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul.MAX_DURATION: durée maximale de l'arrêt progressif. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh,mets. Par exemple, spécifiez1hpour une heure ou20m10spour 20 minutes et 10 secondes. La valeur doit être comprise entre une seconde et six heures.MACHINE_TYPE: type de machine à utiliser pour l'instance de calcul.ZONE: zone dans laquelle créer l'instance de calcul.
REST
Pour créer une instance de calcul sur laquelle l'arrêt progressif est activé, envoyez une requête POST à la méthode instances.insert.
Dans le corps de la requête, incluez le champ gracefulShutdown :
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer l'instance de calcul.ZONE: zone dans laquelle créer l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul.MACHINE_TYPE: type de machine de l'instance de calcul.IMAGE_PROJECT: projet contenant l'image, par exemple,debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE: spécifiez l'une des options suivantes :Une version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617.Une famille d'images, qui doit être au format
family/IMAGE_FAMILY. Cette mise en forme spécifie l'image de l'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
MAX_DURATION: durée maximale de l'arrêt progressif, en secondes. La valeur doit être comprise entre1(une seconde) et21600(21 600 secondes, soit six heures).
Pour en savoir plus sur la création d'une instance de calcul, consultez Créer et démarrer une instance Compute Engine.
Activer l'arrêt progressif lors de la création d'un modèle d'instance
Lorsque vous créez un modèle d'instance pour lequel l'arrêt progressif est activé, la période par défaut pour l'arrêt progressif est de 10 minutes. Vous pouvez éventuellement spécifier une période personnalisée comprise entre une seconde et six heures. L'arrêt progressif est activé sur toutes les instances de calcul que vous créez à l'aide du modèle d'instance.
Pour créer un modèle d'instance avec l'arrêt progressif activé, sélectionnez l'une des options suivantes :
Console
Dans la console Cloud de Confiance , accédez à la page Modèles d'instances.
Cliquez sur Créer un modèle d'instance. La page Créer un modèle d'instance s'affiche.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Dans la section Emplacement, indiquez si vous souhaitez créer un modèle d'instance régional ou global en fonction de votre cas d'utilisation :
Pour réduire la dépendance interrégionale, créez un modèle d'instance régional en procédant comme suit :
Sélectionnez Régional.
Dans le champ Région, sélectionnez la région dans laquelle créer votre modèle d'instance.
Pour utiliser le modèle d'instance dans plusieurs régions, sélectionnez Global.
Dans la section Configuration de la machine, spécifiez un type de machine.
Développez la section Paramètres avancés du modèle de provisionnement de la VM, puis procédez comme suit :
Cochez la case Arrêter progressivement la VM.
Dans le champ Durée maximale qui s'affiche, saisissez le nombre de minutes ou de secondes que vous souhaitez que l'arrêt progressif dure. Cette valeur doit être comprise entre une seconde et 360 minutes (six heures).
Cliquez sur Créer.
gcloud
Pour créer un modèle d'instance avec l'arrêt progressif activé, utilisez la commande gcloud compute instance-templates create avec le flag --graceful-shutdown.
Par exemple, pour créer un modèle d'instance régional avec l'arrêt progressif activé, exécutez la commande suivante. Si vous souhaitez créer un modèle d'instance global, utilisez la même commande sans l'option --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME: nom du modèle d'instance de calcul.MAX_DURATION: durée maximale de l'arrêt progressif. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh,mets. Par exemple, spécifiez1hpour une heure ou20m10spour 20 minutes et 10 secondes. La valeur doit être comprise entre une seconde et six heures.REGION: région dans laquelle créer le modèle d'instance de calcul.MACHINE_TYPE: type de machine des instances de calcul que vous créez à l'aide du modèle d'instance.
REST
Pour créer un modèle d'instance avec l'arrêt progressif activé, envoyez une requête POST à l'une des méthodes suivantes :
Pour créer un modèle d'instance global : méthode
instanceTemplates.insert.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert.
Par exemple, pour créer un modèle d'instance régional avec l'arrêt progressif activé, envoyez une requête POST comme suit :
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer le modèle d'instance.REGION: région dans laquelle créer le modèle d'instance de calcul.INSTANCE_TEMPLATE_NAME: nom du modèle d'instance de calcul.IMAGE_PROJECT: projet contenant l'image, par exemple,debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE: spécifiez l'une des options suivantes :Une version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617.Une famille d'images, qui doit être au format
family/IMAGE_FAMILY. Cette mise en forme spécifie l'image de l'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
MACHINE_TYPE: type de machine des instances de calcul que vous créez à l'aide du modèle d'instance.MAX_DURATION: durée maximale de l'arrêt progressif, en secondes. La valeur doit être comprise entre1(une seconde) et21600(21 600 secondes, soit six heures).
Pour plus d'options de configuration lors de la création d'un modèle d'instance, consultez Créer des modèles d'instance.