Ce document explique comment limiter la durée d'exécution d'instances de machines virtuelles (VM) nouvelles ou existantes, et comment surveiller la durée d'exécution de ces VM. Pour les groupes d'instances gérés (MIG, Managed Instance Group), consultez plutôt la section Limiter la durée d'exécution d'un MIG.
Lorsque vous limitez la durée d'exécution d'un VM, vous pouvez programmer son arrêt automatiquement (arrêté ou supprimé) lorsqu'il atteint une limite de temps spécifique (durée ou heure). Utilisez des limites de temps pour optimiser les charges de travail temporaires. En limitant automatiquement les durées d'exécution des VM, vous pouvez réduire les coûts et libérer des quotas.
Pour savoir comment arrêter immédiatement une VM, consultez la section Arrêter ou redémarrer une VM. Pour savoir comment supprimer immédiatement une VM, consultez la section Supprimer une VM.
Avant de commencer
-
Pour obtenir les autorisations nécessaires pour limiter la durée d'exécution d'une VM, demandez à votre administrateur de vous accorder le rôleAdministrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) IAM sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
-
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 comme suit :
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.
L'action d'arrêt automatique doit être soit d'arrêt, soit de suppression. Vous ne pouvez pas configurer la suspension automatique d'une VM lorsque le délai est atteint.
La durée minimale est de 30 secondes et la durée maximale de 120 jours.
L'arrêt automatique peut nécessiter jusqu'à 30 secondes de plus que la durée ou l'heure que vous spécifiez pour déclencher l'arrêt ou la suppression effectifs de la VM.
Vous ne pouvez pas utiliser les limites de temps avec les anciennes VM préemptives. Utilisez plutôt des limites de temps avec les VM Spot.
Les données de disque SSD local d'une VM ne peuvent pas être conservées lorsque la VM est automatiquement arrêtée en raison d'une limite de temps. Pour en savoir plus, consultez la page Arrêter une VM avec un disque SSD local.
L'horodatage de fin (
terminationTimestamp
) d'une VM est un champ en lecture seule qui représente l'heure prévue pour l'arrêt automatique. Il est automatiquement défini par Compute Engine chaque fois qu'une VM a un délai et passe à l'étatRUNNING
.L'horodatage de fin est automatiquement effacé chaque fois qu'une VM est arrêtée ou suspendue. Toutefois, l'horodatage de fin ne change pas lorsque vous réinitialisez une VM ou redémarrez une VM.
L'horodatage de fin est automatiquement redéfini à chaque redémarrage ou réactivation de la VM en fonction du type de délai que vous avez défini:
- Si vous définissez une durée pour la VM, l'horodatage de fin est recalculé en ajoutant cette durée à la dernière heure de début de la VM.
- Si vous définissez une heure pour la VM, l'horodatage de fin est défini sur cette heure. Cependant, le moment doit se situer dans le futur. Sinon, toute requête de création ou de réexécution de la VM échouera jusqu'à ce que vous mettiez à jour ou supprimiez l'heure.
Accédez à la page Créer une instance dans Google Cloud Console.
Dans la section Règles de disponibilité, développez Paramètres avancés du modèle de provisionnement de VM.
Cochez la case Définir un délai pour la VM. Le champ Type de délai s'affiche.
Dans le champ Type de délai, sélectionnez Par heure (par défaut) pour spécifier le délai sous la forme d'une durée. Dans le champ suivant, saisissez la durée en heures.
Dans la liste À l'arrêt de la VM, sélectionnez ce qui doit se passer lorsque l'exécution de la VM atteint le délai spécifié :
- Pour arrêter automatiquement la VM, sélectionnez Arrêter (valeur par défaut).
- Pour supprimer la VM, sélectionnez Supprimer.
Facultatif : spécifiez d'autres options de VM. Pour en savoir plus, consultez la page Créer et démarrer une instance de VM.
Pour créer et démarrer la VM, cliquez sur Créer.
- Pour créer une VM qui doit s'arrêter automatiquement après une durée spécifique, vous devez inclure l'option
--max-run-duration
. - Pour spécifier l'action d'arrêt, incluez l'option
--instance-termination-action
. - Configurez l'option
--discard-local-ssds-at-termination-timestamp
:- Si la VM dispose de disques SSD locaux et que l'action d'arrêt (
TERMINATION_ACTION
) est l'arrêt (STOP
), vous devez inclure l'option--discard-local-ssds-at-termination-timestamp=true
. - Sinon, omettez l'option
--discard-local-ssds-at-termination-timestamp
.
- Si la VM dispose de disques SSD locaux et que l'action d'arrêt (
VM_NAME
: nom de la nouvelle VM.DURATION
: durée pendant laquelle vous souhaitez que cette VM s'exécute avant d'être automatiquement arrêtée. Formatez la durée en nombre de jours, d'heures, de minutes et de secondes, suivis respectivement ded
,h
,m
ets
. Par exemple, spécifiez30m
pour définir une durée de 30 minutes ou1d2h3m4s
pour une durée d'un jour, deux heures, trois minutes et quatre secondes. La durée minimale est de 30 secondes (30s
) et la durée maximale est de 120 jours (120d
).TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise l'option
--provisioning-model=SPOT
), l'option--instance-termination-action=TERMINATION_ACTION
est facultative. Si cette option est ignorée, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), l'option
--instance-termination-action=TERMINATION_ACTION
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise l'option
- Pour créer une VM qui doit s'arrêter automatiquement après une durée spécifique, vous devez inclure l'option l'argument
max_run_duration
. - Pour spécifier l'action d'arrêt, incluez l'argument
instance_termination_action
. Vous devez inclure l'argumentinstance_termination_action
, sauf si vous créez une VM Spot (définissez l'argumentprovisioning_model
surSPOT
), dont la valeur par défaut est la suivante : arrêter (STOP
). - Configurez l'argument
on_instance_stop_action
:- Si la VM dispose de disques SSD locaux et que l'action d'arrêt (argument
instance_termination_action
) est l'arrêt (STOP
), vous devez définir l'argumenton_instance_stop_action
sur "true" (true
). - Sinon, omettez l'argument
on_instance_stop_action
.
- Si la VM dispose de disques SSD locaux et que l'action d'arrêt (argument
PROJECT_ID
: ID du projet dans lequel créer la VM.ZONE
: zone dans laquelle créer la VM. La zone doit également accepter le type de machine à utiliser pour la nouvelle VM.MACHINE_TYPE
: type de machine prédéfini ou personnalisé pour la nouvelle VM.VM_NAME
: nom de la nouvelle VM.IMAGE_PROJECT
: projet contenant l'image. Par exemple, si vous spécifiezfamily/debian-10
comme image, spécifiezdebian-cloud
comme projet d'image.IMAGE
: image de la nouvelle VM. Vous pouvez spécifier une version spécifique d'une image publique ou une famille d'images. Par exemple, si vous spécifiezfamily/debian-10
comme image etdebian-cloud
comme projet d'image, Compute Engine crée une VM à partir de la dernière version de l'image d'OS dans la famille d'images Debian 10.DURATION
: durée en secondes pendant laquelle vous souhaitez que cette VM s'exécute avant d'être automatiquement arrêtée. La durée minimale est de 30 secondes (30s
) et la durée maximale est de 120 jours (120d
).TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise le champ
"provisioningModel": "SPOT"
), le champ"instanceTerminationAction": "TERMINATION_ACTION"
est facultatif. Si ce champ est ignoré, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), le champ
"instanceTerminationAction": "TERMINATION_ACTION"
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise le champ
Accédez à la page Créer une instance dans Google Cloud Console.
Dans la section Règles de disponibilité, développez Paramètres avancés du modèle de provisionnement de VM.
Cochez la case Définir un délai pour la VM. Le champ Type de délai s'affiche.
Dans le champ Type de délai, sélectionnez Par date pour spécifier le délai sous la forme d'un code temporel (date et heure). Dans le champ suivant, cliquez sur
Sélectionner une date et une heure, puis sélectionnez la date, l'heure et le fuseau horaire pour le délai.Dans la liste À l'arrêt de la VM, sélectionnez ce qui doit se passer lorsque l'exécution de la VM atteint le délai spécifié :
- Pour arrêter automatiquement la VM, sélectionnez Arrêter (valeur par défaut).
- Pour supprimer la VM, sélectionnez Supprimer.
Facultatif : spécifiez d'autres options de VM. Pour en savoir plus, consultez la page Créer et démarrer une instance de VM.
Pour créer et démarrer la VM, cliquez sur Créer.
- Pour créer une VM qui est arrêtée automatiquement à une heure spécifique, vous devez inclure l'option
--termination-time
. - Pour spécifier l'action d'arrêt, incluez l'option
--instance-termination-action
, qui est facultative pour les VM Spot. - Configurez l'option
--discard-local-ssds-at-termination-timestamp
:- Si la VM dispose de disques SSD locaux et définit l'action d'arrêt (
TERMINATION_ACTION
) sur s'arrêter (STOP
), vous devez inclure l'option--discard-local-ssds-at-termination-timestamp=true
. - Sinon, omettez l'option
--discard-local-ssds-at-termination-timestamp
.
- Si la VM dispose de disques SSD locaux et définit l'action d'arrêt (
VM_NAME
: nom de la nouvelle VM.TIME
: heure à laquelle cette VM doit être arrêtée automatiquement. L'heure que vous spécifiez doit être une heure à venir, comprise entre 30 secondes et 120 jours par rapport à l'heure active. Formatez l'heure sous la forme d'un code temporel RFC 3339 :YYYY-MM-DDTHH:MM:SSOFFSET
Remplacez les éléments suivants :
YYYY-MM-DD
: date respectant la syntaxe année (valeur à quatre chiffres), mois à deux chiffres et jour à deux chiffres du mois, séparés par des traits d'union.HH:MM:SS
: heure respectant la syntaxe heures au format 2 chiffres sur 24 heures, minutes à deux chiffres et secondes à deux chiffres, séparés par des signes deux-points.OFFSET
: fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), soit huit heures avant l'heure UTC, spécifiez-08:00
. Pour utiliser un décalage (UTC+0), spécifiezZ
.
TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise l'option
--provisioning-model=SPOT
), l'option--instance-termination-action=TERMINATION_ACTION
est facultative. Si cette option est ignorée, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), l'option
--instance-termination-action=TERMINATION_ACTION
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise l'option
PROJECT_ID
: ID du projet dans lequel créer la VM.ZONE
: zone dans laquelle créer la VM. La zone doit également accepter le type de machine à utiliser pour la nouvelle VM.MACHINE_TYPE
: type de machine prédéfini ou personnalisé pour la nouvelle VM.VM_NAME
: nom de la nouvelle VM.IMAGE_PROJECT
: projet contenant l'image. Par exemple, si vous spécifiezfamily/debian-10
comme image, spécifiezdebian-cloud
comme projet d'image.IMAGE
: image de la nouvelle VM. Vous pouvez spécifier une version spécifique d'une image publique ou une famille d'images. Par exemple, si vous spécifiezfamily/debian-10
comme image etdebian-cloud
comme projet d'image, Compute Engine crée une VM à partir de la dernière version de l'image d'OS dans la famille d'images Debian 10.TIME
: heure à laquelle cette VM doit être arrêtée automatiquement. L'heure que vous spécifiez doit être une heure à venir, comprise entre 30 secondes et 120 jours par rapport à l'heure active. Formatez l'heure sous la forme d'un code temporel RFC 3339 :YYYY-MM-DDTHH:MM:SSOFFSET
Remplacez les éléments suivants :
YYYY-MM-DD
: date respectant la syntaxe année (valeur à quatre chiffres), mois à deux chiffres et jour à deux chiffres du mois, séparés par des traits d'union.HH:MM:SS
: heure respectant la syntaxe heures au format 2 chiffres sur 24 heures, minutes à deux chiffres et secondes à deux chiffres, séparés par des signes deux-points.OFFSET
: fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), soit huit heures avant l'heure UTC, spécifiez-08:00
. Pour utiliser un décalage (UTC+0), spécifiezZ
.
TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise le champ
"provisioningModel": "SPOT"
), le champ"instanceTerminationAction": "TERMINATION_ACTION"
est facultatif. Si ce champ est ignoré, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), le champ
"instanceTerminationAction": "TERMINATION_ACTION"
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise le champ
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de la VM que vous souhaitez mettre à jour.
Sur la page des détails de l'instance de VM, procédez comme suit :
- Si la VM est en cours d'exécution, cliquez sur Arrêter pour l'arrêter.
- Pour modifier la VM, cliquez sur Modifier.
Sur la page Modifier l'instance, procédez comme suit :
Dans la section Règles de disponibilité, cochez ou décochez la case Définir un délai pour la VM et modifiez tous les champs situés en dessous comme vous le souhaitez.
Pour en savoir plus sur la configuration des propriétés des limites de temps, consultez la section Limiter la durée d'exécution d'une nouvelle VM.
Pour enregistrer vos modifications, cliquez sur Enregistrer.
Facultatif : si vous souhaitez commencer à exécuter la VM maintenant, cliquez sur Démarrer.
Si la VM est en cours d'exécution, arrêtez-la à l'aide de la commande
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous souhaitez mettre à jour.Mettez à jour le délai de la VM à l'aide de la commande
gcloud compute instances set-scheduling
.gcloud compute instances set-scheduling VM_NAME \ --max-run-duration=DURATION \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION \ --discard-local-ssds-at-termination-timestamp=true
Configurez les options suivantes:
- Vous devez omettre l'option
--max-run-duration
ou--termination-time
pour définir le délai respectivement sous la forme d'une heure ou d'une durée. - Incluez l'option
--instance-termination-action
pour définir l'action d'arrêt. - Si la VM dispose de disques SSD locaux et définit l'action d'arrêt (
TERMINATION_ACTION
) sur s'arrêter (STOP
), vous devez inclure l'option--discard-local-ssds-at-termination-timestamp=true
. Sinon, omettez l'option--discard-local-ssds-at-termination-timestamp=true
.
Remplacez ensuite les éléments suivants:
VM_NAME
: nom de la VM que vous souhaitez mettre à jour.DURATION
: durée pendant laquelle vous souhaitez que cette VM s'exécute avant d'être automatiquement arrêtée. Formatez la durée en nombre de jours, d'heures, de minutes et de secondes, suivis respectivement ded
,h
,m
ets
. Par exemple, spécifiez30m
pour définir une durée de 30 minutes ou1d2h3m4s
pour une durée d'un jour, deux heures, trois minutes et quatre secondes. La durée minimale est de 30 secondes (30s
) et la durée maximale est de 120 jours (120d
).TIME
: heure à laquelle cette VM doit être arrêtée automatiquement. L'heure que vous spécifiez doit être une heure à venir, comprise entre 30 secondes et 120 jours par rapport à l'heure active. Formatez l'heure sous la forme d'un code temporel RFC 3339 :YYYY-MM-DDTHH:MM:SSOFFSET
Remplacez les éléments suivants :
YYYY-MM-DD
: date respectant la syntaxe année (valeur à quatre chiffres), mois à deux chiffres et jour à deux chiffres du mois, séparés par des traits d'union.HH:MM:SS
: heure respectant la syntaxe heures au format 2 chiffres sur 24 heures, minutes à deux chiffres et secondes à deux chiffres, séparés par des signes deux-points.OFFSET
: fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), soit huit heures avant l'heure UTC, spécifiez-08:00
. Pour utiliser un décalage (UTC+0), spécifiezZ
.
TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise l'option
--provisioning-model=SPOT
), l'option--instance-termination-action=TERMINATION_ACTION
est facultative. Si cette option est ignorée, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), l'option
--instance-termination-action=TERMINATION_ACTION
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise l'option
- Vous devez omettre l'option
Si vous souhaitez lancer l'exécution de la VM, démarrez-la en exécutant la commande
gcloud compute instances start
:gcloud compute instances start VM_NAME
Remplacez
VM_NAME
par le nom de la VM.Si la VM est en cours d'exécution, arrêtez-la à l'aide de la méthode
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant la VM.ZONE
: zone contenant la VM.VM_NAME
: nom de la VM que vous souhaitez mettre à jour.
Mettez à jour la propriété
scheduling
de la VM, y compris les champs pour le délai de la VM, à l'aide de la méthodeinstances.setScheduling
. Incluez le champmaxRunDuration
outerminationTime
pour définir le délai respectivement sous la forme d'une durée ou d'une heure :Pour spécifier une durée, utilisez la requête suivante :
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }Pour spécifier une heure, utilisez la requête suivante :
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel créer la VM.ZONE
: zone dans laquelle créer la VM. La zone doit également accepter le type de machine à utiliser pour la nouvelle VM.MACHINE_TYPE
: type de machine prédéfini ou personnalisé pour la nouvelle VM.VM_NAME
: nom de la nouvelle VM.IMAGE_PROJECT
: projet contenant l'image. Par exemple, si vous spécifiezfamily/debian-10
comme image, spécifiezdebian-cloud
comme projet d'image.IMAGE
: image de la nouvelle VM. Vous pouvez spécifier une version spécifique d'une image publique ou une famille d'images. Par exemple, si vous spécifiezfamily/debian-10
comme image etdebian-cloud
comme projet d'image, Compute Engine crée une VM à partir de la dernière version de l'image d'OS dans la famille d'images Debian 10.DURATION
: durée en secondes pendant laquelle vous souhaitez que cette VM s'exécute avant d'être automatiquement arrêtée. La durée minimale est de 30 secondes (30s
) et la durée maximale est de 120 jours (120d
).TIME
: heure à laquelle cette VM doit être arrêtée automatiquement. L'heure que vous spécifiez doit être une heure à venir, comprise entre 30 secondes et 120 jours par rapport à l'heure active. Formatez l'heure sous la forme d'un code temporel RFC 3339 :YYYY-MM-DDTHH:MM:SSOFFSET
Remplacez les éléments suivants :
YYYY-MM-DD
: date respectant la syntaxe année (valeur à quatre chiffres), mois à deux chiffres et jour à deux chiffres du mois, séparés par des traits d'union.HH:MM:SS
: heure respectant la syntaxe heures au format 2 chiffres sur 24 heures, minutes à deux chiffres et secondes à deux chiffres, séparés par des signes deux-points.OFFSET
: fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), soit huit heures avant l'heure UTC, spécifiez-08:00
. Pour utiliser un décalage (UTC+0), spécifiezZ
.
TERMINATION_ACTION
: action d'arrêt pour cette VM, qui peut être soit arrêtée (STOP
), soit supprimée (DELETE
). Le caractère obligatoire de ce champ, ou bien l'adoption d'une valeur par défaut, dépend du modèle de provisionnement de la VM :- S'il s'agit d'une VM Spot (si la VM utilise le champ
"provisioningModel": "SPOT"
), le champ"instanceTerminationAction": "TERMINATION_ACTION"
est facultatif. Si ce champ est ignoré, l'action d'arrêt par défaut est l'arrêt. - Sinon (par défaut), le champ
"instanceTerminationAction": "TERMINATION_ACTION"
est obligatoire.
- S'il s'agit d'une VM Spot (si la VM utilise le champ
Si vous souhaitez lancer l'exécution de la VM, démarrez-la à l'aide de la méthode
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant la VM.ZONE
: zone contenant la VM.VM_NAME
: nom de la VM.
Pour voir quand une VM en cours d'exécution est programmée pour s'arrêter automatiquement, affichez l'horodatage de fin de la VM:
- Afficher les détails d'une VM
- Dans le résultat, affichez le champ de la VM pour l'horodatage de fin :
- Si vous utilisez la console Google Cloud, consultez le champ Durée maximale.
- Si vous utilisez Google Cloud CLI ou l'API Compute Engine, consultez le champ
terminationTimestamp
.
Pour vérifier si une VM a été arrêtée automatiquement, consultez ses opérations:
- Afficher les opérations de VM
Dans le résultat, vous pouvez identifier les opérations de VM provoquées par une limite de temps en recherchant les types d'opérations suivants:
compute.instances.deferredStop
indique une action d'arrêt automatique de type arrêt.compute.instances.deferredDelete
indique une action d'arrêt automatique de suppression.
Découvrez comment poursuivre l'optimisation des VM :
- Si vos charges de travail sont tolérantes aux pannes, utilisez des VM Spot pour obtenir des remises importantes et un quota dédié facultatif.
- Si vous souhaitez qu'une VM exécute automatiquement des commandes avant de s'arrêter, vous pouvez utiliser des scripts d'arrêt.
Découvrez les autres options permettant de limiter automatiquement les temps d'exécution des VM:
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.
Restrictions
La limitation de la durée d'exécution d'une VM présente les restrictions suivantes:
Limiter l'exécution d'une nouvelle VM
Les sections suivantes expliquent comment configurer une limite de temps lors de la création d'une VM. Vous pouvez spécifier le délai, correspondant au moment où vous souhaitez qu'une VM s'arrête automatiquement, sous la forme d'une durée (
maxRunDuration
) ou d'une heure (terminationTime
).Lorsque vous déterminez le type de limite de temps pour une VM, tenez compte du fait que celle-ci peut être interrompue, par exemple par une requête utilisateur ou par un événement hôte. Le comportement d'une limite de temps varie en fonction du type d'interruption et du type de délai:
Définir une durée
Une durée représente la durée d'exécution totale souhaitée pour une VM. Pour créer une VM qui est arrêtée automatiquement après qu'elle a été exécutée pendant une durée spécifique, utilisez la console Google Cloud, Google Cloud CLI, Terraform ou l'API Compute Engine.
Console
gcloud
Pour créer une VM à partir de la CLI gcloud, utilisez la commande
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --max-run-duration=DURATION \ --instance-termination-action=TERMINATION_ACTION
Remplacez les éléments suivants :
Pour en savoir plus sur les options que vous pouvez spécifier lors de la création d'une VM, consultez la page Créer et démarrer une instance de VM.
Terraform
Pour créer une VM à l'aide de Terraform, utilisez la ressource
google_compute_instance
.Pour en savoir plus, consultez la documentation Terraform de la ressource
google_compute_instance
.REST
Pour créer une VM à partir de l'API Compute Engine, utilisez la méthode
instances.insert
. Vous devez spécifier un nom, un type de machine et un disque de démarrage pour la VM.Pour créer une VM qui s'arrête automatiquement après une durée spécifique, vous devez inclure le champ
maxRunDuration
. Pour spécifier l'action d'arrêt, incluez le champinstanceTerminationAction
, qui est facultatif pour les VM Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }, }Remplacez les éléments suivants :
Pour en savoir plus sur les options que vous pouvez spécifier lors de la création d'une VM, consultez la page Créer et démarrer une instance de VM.
Définir une heure
Une heure représente la date, l'heure et le fuseau horaire auxquels vous souhaitez qu'une VM soit arrêtée. Pour créer une VM qui est arrêtée automatiquement à une heure spécifique, utilisez la console Google Cloud, Google Cloud CLI ou l'API Compute Engine.
Console
gcloud
Pour créer une VM à partir de la CLI gcloud, utilisez la commande
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION
Remplacez les éléments suivants :
Pour en savoir plus sur les options que vous pouvez spécifier lors de la création d'une VM, consultez la page Créer et démarrer une instance de VM.
REST
Pour créer une VM à partir de l'API Compute Engine, utilisez la méthode
instances.insert
. Vous devez spécifier un nom, un type de machine et un disque de démarrage pour la VM.Pour créer une VM qui est arrêtée automatiquement à une heure spécifique, vous devez inclure le champ
terminationTime
. Pour spécifier l'action d'arrêt, incluez le champinstanceTerminationAction
, qui est facultatif pour les VM Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }, }Remplacez les éléments suivants :
Pour en savoir plus sur les options que vous pouvez spécifier lors de la création d'une VM, consultez la page Créer et démarrer une instance de VM.
Limiter l'exécution d'une VM existante
Vous pouvez limiter l'exécution d'une VM existante en mettant à jour sa programmation. Si vous n'avez pas déjà étudié la configuration des paramètres des limites de temps, consultez d'abord les sections précédentes sur la limitation de la durée d'exécution d'une nouvelle VM.
Vous pouvez utiliser la console Google Cloud, Google Cloud CLI ou l'API Compute Engine pour mettre à jour les propriétés liées à la planification de la VM, comme décrit dans cette section. Cette méthode nécessite d'arrêter votre VM, puis de mettre à jour ses propriétés et de la redémarrer. Si vous souhaitez mettre à jour simultanément d'autres propriétés de VM, et arrêter et redémarrer automatiquement une VM, consultez la section Mettre à jour les propriétés d'une instance.
Console
gcloud
Pour mettre à jour la limite de temps d'une VM à l'aide de gcloud CLI, procédez comme suit:
REST
Pour mettre à jour la limite de temps d'une VM à l'aide de l'API Compute Engine, procédez comme suit:
Surveiller l'exécution d'une VM
Vous pouvez surveiller la durée d'exécution d'une VM limitée à l'aide des options suivantes:
É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/11/22 (UTC).
-