Questo documento descrive come terminare automaticamente le macchine virtuali (VM) in un gruppo di istanze gestite specificando un limite di tempo per le VM. it descrive inoltre come funziona il limite di tempo per le VM in un gruppo di istanze gestite.
Puoi ottimizzare i carichi di lavoro temporanei specificando un limite di tempo per le VM in un gruppo di istanze gestite Quando una VM raggiunge il limite di tempo, il gruppo di istanze gestite termina automaticamente (elimina) quella VM. Limitare il tempo di esecuzione delle VM in un gruppo di istanze gestite in base a un limite di tempo ridurre al minimo i costi e liberare la quota.
Per scoprire come specificare un limite di tempo per una VM autonoma, consulta Limita il tempo di esecuzione di una VM. Se vuoi che un gruppo di istanze gestite aggiunga o elimini automaticamente le VM in base ai tuoi carichi di lavoro, consulta Gruppi di istanze con scalabilità automatica.
Prima di iniziare
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Limite di tempo come durata dell'esecuzione
- Limite di tempo come tempo di risoluzione
Crea un modello di istanza con una durata di esecuzione per le VM con un tempo di terminazione per le VM.
Utilizzare il modello di istanza per creare un gruppo di istanze gestite o aggiorna un gruppo di istanze gestite esistente.
Quando crei un modello di istanza per specificare un limite di tempo per le VM in un gruppo di istanze gestite, si applicano le seguenti limitazioni:
- Non puoi impostare l'azione di chiusura su
STOP
. I gruppi di istanze gestite supportano soloDELETE
. - Non puoi utilizzare le VM spot.
- Non puoi impostare l'azione di chiusura su
Non puoi creare una richiesta di ridimensionamento in un gruppo di istanze gestite che utilizza un modello di istanza che limita il tempo di esecuzione della VM.
Non puoi limitare il tempo di esecuzione delle VM in un gruppo di istanze gestite a livello di regione con
EVEN
target la forma di distribuzione ridistribuzione proattiva delle istanze in un bucket con il controllo delle versioni attivo.Nella console Google Cloud, vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Seleziona la Località come descritto di seguito:
- Se vuoi utilizzare il modello di istanza in più regioni, scegli Globale.
- Se vuoi ridurre la dipendenza tra regioni, scegli A livello di regione.
Se scegli regionale, seleziona la Regione in cui vuoi per creare il modello di istanza.
Nella sezione Criteri di disponibilità, espandi Modello di provisioning delle VM impostazioni avanzate.
Seleziona la casella di controllo Imposta un limite di tempo per la VM.
Nel campo Tipo di limite di tempo, seleziona Per ore (impostazione predefinita) per specificare il limite di tempo come durata. Nel campo successivo inserisci in ore.
Nell'elenco Alla terminazione della VM, seleziona Elimina.
Per gli altri campi, accetta i valori predefiniti o modificali come obbligatorio.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.DURATION
: la durata di esecuzione delle VM. Il gruppo di istanze gestite elimina automaticamente la VM dopo la durata specificata.Formatta la durata in base al numero di giorni, ore, minuti e secondi seguito rispettivamente da
d
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o specifica1d2h3m4s
per durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. Il minimo La durata è di 30 secondi (30s
) e la durata massima è di 120 giorni (120d
).PROJECT_ID
: il valore ID del progetto in cui vuoi creare il modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.MACHINE_TYPE
: il valore predefinita o personalizzato per le VM del gruppo.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine. ad esempiodebian-cloud
.IMAGE
oIMAGE_FAMILY
: specificane uno dei seguenti:IMAGE
: una versione specifica dell'immagine del sistema operativo; della ad esempiodebian-10-buster-v20200309
.IMAGE_FAMILY
: un famiglia di immagini. Questo specifica l'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-10
, la versione più recente della famiglia di immagini Debian 10 .
DURATION
: la durata di esecuzione delle VM. Il gruppo di istanze gestite elimina automaticamente la VM dopo la durata specificata.Formatta la durata in base al numero di giorni, ore, minuti e secondi seguito rispettivamente da
d
,h
,m
es
. Ad esempio, specifica30m
per una durata di 30 minuti o specifica1d2h3m4s
per durata di 1 giorno, 2 ore, 3 minuti e 4 secondi. Il minimo La durata è di 30 secondi (30s
) e la durata massima è di 120 giorni (120d
).Nella console Google Cloud, vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Seleziona la Località come descritto di seguito:
- Se vuoi utilizzare il modello di istanza in più regioni, scegli Globale.
- Se vuoi ridurre la dipendenza tra regioni, scegli A livello di regione.
Se scegli regionale, seleziona la Regione in cui vuoi per creare il modello di istanza.
Nella sezione Criteri di disponibilità, espandi Modello di provisioning delle VM impostazioni avanzate.
Nel campo Tipo di limite di tempo, seleziona Per data per specificare l'ora limite come ora e data. Nel campo successivo, fai clic su
Seleziona data e ora e seleziona la data, l'ora e il fuso orario per la risoluzione automatica.Nell'elenco Alla terminazione della VM, seleziona Elimina.
Per gli altri campi, accetta i valori predefiniti o modificali come obbligatorio.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.TIME
: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno di quattro cifre, Mese e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare offset (UTC+0), specificaZ
.
PROJECT_ID
: il valore ID del progetto in cui vuoi creare il modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.MACHINE_TYPE
: il valore predefinita o personalizzato per le VM del gruppo.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine. ad esempiodebian-cloud
.IMAGE
oIMAGE_FAMILY
: specificane uno dei seguenti:IMAGE
: una versione specifica dell'immagine del sistema operativo; della ad esempiodebian-10-buster-v20200309
.IMAGE_FAMILY
: un famiglia di immagini. Questo specifica l'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-10
, la versione più recente della famiglia di immagini Debian 10 .
TIME
: l'ora in cui vuoi che questa VM in automatico. L'ora specificata deve essere almeno 30 secondi nel futuro e al massimo 120 giorni nel futuro. Formattare l'ora come timestamp RFC 3339:YYYY-MM-DDTHH:MM:SSOFFSET
Sostituisci quanto segue:
YYYY-MM-DD
: una data formattata come anno di quattro cifre, Mese e giorno del mese a 2 cifre separati da trattini.HH:MM:SS
: un'ora formattata come ora a due cifre utilizzando il tempo di 24 ore, i minuti a 2 cifre e i secondi a 2 cifre separate da due punti.OFFSET
: il fuso orario formattato come offset del fuso orario UTC (Coordinated Universal Time). Ad esempio, per utilizzare Ora standard della costa del Pacifico (PST), 8 ore prima del fuso orario UTC, specifica-08:00
. In alternativa, per non utilizzare offset (UTC+0), specificaZ
.
Limite di tempo come durata dell'esecuzione (
maxRunDuration
):terminationTimestamp
di una VM = ora di inizio o creazione più recente della VM +maxRunDuration
Quando specifichi una durata, il timestamp di risoluzione viene impostato in base a l'ultima ora di creazione o di inizio della VM. Se la VM viene ricreata, riavviata ripresa o sostituita, il timestamp di risoluzione viene ricalcolato. La recesso il timestamp può variare tra le VM in un gruppo di istanze gestite in base all'ora in cui ogni VM è stato creato o avviato l'ultima volta. Ad esempio, se una VM viene riparata, il timestamp di terminazione della VM viene ricalcolato aggiungendo la durata la VM è stata ricreata durante la riparazione.
Limite di tempo per la risoluzione (
terminationTime
):terminationTimestamp
di una VM =terminationTime
Quando specifichi un orario, il timestamp di terminazione è impostato su quel orario, a condizione che l'ora sia nel futuro. Se il termine ultimo è trascorso, qualsiasi Azione del gruppo di istanze gestite che tenta di creare, riavviare o sostituire una VM non riesce con un errore. Per risolvere questo errore, devi creare un nuovo modello di istanza con una data di risoluzione futura e applicare questo modello al gruppo di istanze gestite. Se vuoi utilizzare le proprietà del modello esistente nel nuovo modello, creare un modello di istanza basato su quello esistente.
- Scopri gli scenari di base per la creazione di gruppi di istanze gestite.
- Scopri come applicare un nuovo modello di istanza a un gruppo di istanze gestite esistente.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitare il tempo di esecuzione delle VM in un gruppo di istanze gestite
Puoi limitare il tempo di esecuzione delle VM in un gruppo di istanze gestite specificando un limite di tempo nel modello di istanza utilizzato per il gruppo di istanze gestite. Quando il gruppo di istanze gestite crea VM basate sul modello, viene applicato un limite di tempo a ogni VM.
Puoi specificare uno di due tipi di limiti di tempo:
Per specificare un limite di tempo per le VM in un gruppo di istanze gestite:
Limitazioni
Crea un modello di istanza con una durata di esecuzione per le VM
Per terminare automaticamente le VM in un gruppo di istanze gestite dopo che sono state eseguite per un determinato periodo di tempo, imposta una durata massima di esecuzione (
maxRunDuration
) nel modello di istanza.Console
gcloud
Utilizza il comando
instance-templates create
beta. Per eliminare automaticamente le VM dopo un determinato periodo di tempo, includi il parametro--max-run-duration
e imposta il flag--instance-termination-action
suDELETE
come segue:gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --max-run-duration=DURATION \ --instance-termination-action=DELETE
Sostituisci quanto segue:
REST
Utilizza il metodo
instanceTemplates.insert
beta. Per eliminare automaticamente le VM dopo un determinato periodo di tempo, includi il parametromaxRunDuration
e imposta il campoinstanceTerminationAction
suDELETE
come segue:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "DELETE" } } }
Sostituisci quanto segue:
Crea un modello di istanza con un'ora di terminazione per le VM
Per terminare automaticamente le VM in un gruppo di istanze gestite in un momento specifico, imposta un ora di terminazione (
terminationTime
) nel modello di istanza. Puoi impostare un Data e ora in cui vuoi che un gruppo di istanze gestite termini le VM.Console
gcloud
Utilizza il comando
instance-templates create
beta. Per eliminare automaticamente le VM in un momento specifico, includi il parametro--termination-time
e imposta il flag--instance-termination-action
suDELETE
come segue:gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --termination-time=TIME \ --instance-termination-action=DELETE
Sostituisci quanto segue:
REST
Utilizza il metodo
instanceTemplates.insert
beta. Per eliminare automaticamente le VM in un momento specifico, includi il parametroterminationTime
e imposta il campoinstanceTerminationAction
suDELETE
come segue:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] "scheduling": { "terminationTime": TIME, "instanceTerminationAction": "DELETE" } } }
Sostituisci quanto segue:
Come funziona il limite di tempo per le VM in un gruppo di istanze gestite
Quando specifichi un limite di tempo per le VM in un gruppo di istanze gestite, l'ora in cui un gruppo di istanze gestite l'arresto di una VM viene impostato automaticamente nel timestamp di terminazione campo (
terminationTimestamp
) della VM.In base al tipo di limite di tempo specificato, il timestamp di terminazione di un La VM è impostata come segue:
Durante un aggiornamento della VM, il timestamp di terminazione non cambia. Ad esempio: se imposti il livello di interruzione per gli aggiornamenti di
REFRESH
, il timestamp di risoluzione viene conservato ogni volta che il gruppo di istanze gestite aggiorna la VM.Quando sospendi o interrompi una VM in un gruppo di istanze gestite, il timestamp di terminazione viene cancellato automaticamente del tipo di limite di tempo. Quando riprendi o avvii una VM, il timestamp viene impostato di nuovo in base al tipo di limite di tempo come spiegato in precedenza .
Come funziona la scalabilità automatica quando è impostato un limite di tempo
La scalabilità automatica consente al gruppo di istanze gestite di aggiungere o rimuovere automaticamente le VM in base agli incrementi o riduzioni del carico. Quando un gruppo di istanze gestite elimina le VM che hanno raggiunto la loro terminazione. i timestamp, il gruppo di istanze gestite crea nuove VM per mantenere taglia consigliata in base gestore della scalabilità automatica. Le nuove VM vengono eseguite per il limite di tempo specificato. Se il gestore della scalabilità automatica di ridurre il numero di VM, il gruppo di istanze gestite elimina le VM anche prima che raggiungano i limiti di tempo.
Se hai configurato programmazioni di scalabilità, le VM vengono eseguite solo fino alla fine di una pianificazione o fino a quando una VM non raggiunge la sua di risoluzione, a seconda dell'evento che si verifica per primo.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-07-12 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -