Ce document explique comment limiter l'exécution d'instances de machines virtuelles (VM) nouvelles ou existantes, et comment surveiller l'exécution de ces VM. Pour les groupes d'instances gérés (MIG), 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 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.
L'action d'arrêt automatique doit être "stop" ou "delete". Vous ne pouvez pas configurer une VM pour qu'elle soit automatiquement suspendue lorsque la limite de temps est atteinte.
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 de limites de temps avec les anciennes VM préemptives. Utilisez plutôt des délais avec les VM Spot.
Les données SSD locales d'une VM ne peuvent pas être conservées lorsqu'elle est arrêtée automatiquement en raison d'une limite de temps. Pour en savoir plus, consultez la section Arrêter une VM avec un SSD local.
Le code temporel d'arrêt (
terminationTimestamp
) d'une VM est un champ en lecture seule qui représente l'heure planifiée de l'arrêt automatique. Il est défini automatiquement par Compute Engine chaque fois qu'une VM a une limite de temps et passe à l'étatRUNNING
.Le code temporel d'arrêt est automatiquement effacé chaque fois qu'une VM est arrêtée ou suspendue. Toutefois, un code temporel d'arrêt ne change pas lorsque vous réinitialisez une VM ou redémarrez une VM.
L'horodatage de fin est automatiquement redéfini chaque fois que la VM est redémarrée ou reprise en fonction du type de limite de temps que vous définissez:
- 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. Toutefois, l'heure doit être dans le futur. Sinon, toutes les requêtes de création ou de nouvelle exécution de la VM échouent jusqu'à ce que vous modifiiez 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 une limite de temps 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 une limite de temps 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 SSD locaux et définit l'action d'arrêt (
TERMINATION_ACTION
) sur "stop" (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 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 l'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'indicateur
--instance-termination-action
pour définir l'action d'arrêt. - Si la VM dispose de SSD locaux et définit l'action d'arrêt (
TERMINATION_ACTION
) sur "stop" (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 savoir quand une VM en cours d'exécution est programmée pour être arrêtée automatiquement, consultez son code temporel d'arrêt:
- Afficher les détails d'une VM
- Dans la sortie, affichez le champ de la VM pour le code temporel d'arrêt :
- 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, affichez ses opérations:
- Afficher les opérations de VM
Dans la sortie, 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 automatiquecompute.instances.deferredDelete
indique une action d'arrêt automatique de type 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 d'autres options pour limiter automatiquement la durée 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
Les restrictions suivantes s'appliquent lorsque vous limitez l'exécution d'une VM:
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 la limite de temps, c'est-à-dire le 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 choisissez le type de limite de temps pour une VM, tenez compte du fait qu'elle peut être interrompue, par exemple par une requête utilisateur ou un événement hôte. Le comportement d'une limite de temps varie en fonction du type d'interruption et du type de limite de temps:
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 ne savez pas comment configurer les paramètres de limite de temps, consultez d'abord les sections précédentes sur la limitation de l'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'abord d'arrêter votre VM, puis de mettre à jour ses propriétés, puis 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 la 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 soumise à une limite de temps à 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/12/22 (UTC).
-