Questo documento spiega come creare un'istanza di macchina virtuale (VM) Flex-start. Le VM con inizio flessibile vengono eseguite per un massimo di sette giorni e ti aiutano ad acquisire risorse molto richieste come le GPU a un prezzo scontato. Queste funzionalità rendono le VM con avvio flessibile una soluzione conveniente per l'esecuzione di workload di breve durata, come l'ottimizzazione dei modelli e l'inferenza batch.
Per scoprire di più sulle caratteristiche principali delle VM Flex-start, inclusi i requisiti e le limitazioni da applicare durante la creazione, consulta Informazioni sulle VM Flex-start.
Prima di iniziare
-
A seconda del tipo di macchina che vuoi utilizzare, esamina uno dei seguenti requisiti di configurazione:
- Per un tipo di macchina ottimizzato per l'acceleratore (tranne A4X o G4), consulta la Panoramica della creazione di un'istanza con GPU collegate.
- Per un tipo di macchina H4D, consulta Crea un'istanza che utilizza Cloud RDMA.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare VM con avvio flessibile, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene le autorizzazioni necessarie per creare VM con avvio flessibile. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare VM Flex-start sono necessarie le seguenti autorizzazioni:
-
compute.instances.create
sul progetto -
Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnly
sull'immagine -
Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnly
sullo snapshot -
Per utilizzare un template di istanza per creare la VM:
compute.instanceTemplates.useReadOnly
sul template di istanza -
Per specificare una subnet per la VM:
compute.subnetworks.use
sul progetto o sulla subnet scelta -
Per specificare un indirizzo IP statico per la VM:
compute.addresses.use
sul progetto -
Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC:
compute.subnetworks.useExternalIp
sul progetto o sulla subnet scelta -
Per assegnare una rete legacy alla VM:
compute.networks.use
sul progetto -
Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy:
compute.networks.useExternalIp
sul progetto -
Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadata
sul progetto -
Per impostare i tag per la VM:
compute.instances.setTags
sulla VM -
Per impostare le etichette per la VM:
compute.instances.setLabels
sulla VM -
Per impostare un service account che la VM possa utilizzare:
compute.instances.setServiceAccount
sulla VM -
Per creare un nuovo disco per la VM:
compute.disks.create
sul progetto -
Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura:
compute.disks.use
sul disco -
Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnly
sul disco
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea una VM con avvio flessibile
Per creare una VM con avvio flessibile, seleziona una delle seguenti opzioni:
gcloud
Per creare una VM con avvio flessibile, utilizza il comando
gcloud compute instances create
con i seguenti flag:Il flag
--request-valid-for-duration
Il flag
--provisioning-model=FLEX_START
Il flag
--instance-termination-action
Il flag
--max-run-duration
Il flag
--maintenance-policy=TERMINATE
Il flag
--reservation-affinity=none
Per creare una VM con avvio flessibile, esegui questo comando:
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --request-valid-for-duration=VALID_FOR_DURATION \ --provisioning-model=FLEX_START \ --instance-termination-action=TERMINATION_ACTION \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Sostituisci quanto segue:
VM_NAME
: il nome della nuova VM.MACHINE_TYPE
: il tipo di macchina da utilizzare per la VM con avvio flessibile. Se specifichi un tipo di macchina G2 o N1, considera quanto segue:Per i tipi di macchine G2, puoi specificare facoltativamente una workstation virtuale (vWS) NVIDIA RTX da utilizzare per i workload ad alta intensità di grafica. Per farlo, includi il flag
--accelerator
nel comando come segue:--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Sostituisci
VWS_ACCELERATOR_COUNT
con il numero di NVIDIA RTX vWS richiesto dal tuo workload.Per i tipi di macchine N1, devi specificare il numero e il tipo di GPU da collegare alla VM. In caso contrario, la creazione della VM non andrà a buon fine. Per collegare GPU a una VM N1, includi il flag
--accelerator
nel comando come segue:--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
Sostituisci quanto segue:
NUMBER_OF_ACCELERATORS
: il numero di GPU da collegare alla VM N1.ACCELERATOR_TYPE
: un modello di GPU supportato per le VM N1.
ZONE
: la zona in cui vuoi creare la VM. Per verificare che il tipo di macchina specificato sia disponibile nella zona in cui vuoi creare la VM, consulta Regioni e zone disponibili.VALID_FOR_DURATION
: il tempo massimo di attesa per il provisioning delle risorse richieste, formattato come numero seguito da un'unità (s
,m
,h
od
). Ad esempio, un valore di30m
definisce un tempo di 30 minuti e un valore di1h2m3s
definisce un tempo di un'ora, due minuti e tre secondi. In base ai requisiti zonali per il tuo carico di lavoro, ti consigliamo di specificare una delle seguenti durate per aumentare le probabilità di riuscita della richiesta di creazione della VM:Se il tuo workload richiede la creazione della VM in una zona specifica, specifica una durata compresa tra 90 secondi (
90s
) e due ore (2h
). Durate più lunghe aumentano le probabilità di ottenere risorse.Se la VM può essere eseguita in qualsiasi zona all'interno della regione, specifica una durata di zero secondi (
0s
). Questo valore specifica che Compute Engine alloca le risorse solo se sono immediatamente disponibili. Se la richiesta di creazione non va a buon fine perché le risorse non sono disponibili, riprova a inviare la richiesta in una zona diversa.
TERMINATION_ACTION
: indica se arrestare o eliminare la VM al termine della durata di esecuzione. Specifica uno dei seguenti valori:Per arrestare la VM:
STOP
Per eliminare la VM:
DELETE
RUN_DURATION
: il tempo massimo di esecuzione della VM prima che Compute Engine la elimini, formattato come un numero seguito da un'unità (s
,m
,h
od
). Il valore deve essere compreso tra 10 minuti e sette giorni.
REST
Per creare una VM Flex-start, invia una richiesta
POST
al metodoinstances.insert
. Nel corpo della richiesta, includi i seguenti campi:Il campo
params.requestValidForDuration
.Il campo
scheduling.provisioningModel
impostato suFLEX_START
.Il campo
scheduling.instanceTerminationAction
.Il campo
scheduling.maxRunDuration
.Il campo
scheduling.onHostMaintenance
impostato suTERMINATE
.reservationAffinity.consumeReservationType
impostato suNO_RESERVATION
.
Per creare una VM Flex-start, effettua una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "params": { "requestValidForDuration": { "seconds": VALID_FOR_DURATION } }, "scheduling": { "provisioningModel": "FLEX_START", "instanceTerminationAction": "TERMINATION_ACTION", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE" }, "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui creare la VM.ZONE
: la zona in cui vuoi creare la VM. Per verificare che un tipo di macchina sia disponibile nella zona in cui vuoi creare la VM, consulta Regioni e zone disponibili.VM_NAME
: il nome della nuova VM.MACHINE_TYPE
: il tipo di macchina da utilizzare per la VM con avvio flessibile. Se specifichi un tipo di macchina G2 o N1, considera quanto segue:Per i tipi di macchine G2, puoi specificare facoltativamente una workstation virtuale (vWS) NVIDIA RTX da utilizzare per i workload ad alta intensità di grafica. Per farlo, includi il campo
guestAccelerators
nel corpo della richiesta come segue:"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
Sostituisci
VWS_ACCELERATOR_COUNT
con il numero di NVIDIA RTX vWS richiesto dal tuo workload.Per i tipi di macchine N1, devi specificare il numero e il tipo di GPU da collegare alla VM. In caso contrario, la creazione della VM non andrà a buon fine. Per collegare GPU a una VM N1, includi il campo
guestAccelerators
nel corpo della richiesta nel seguente modo:"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
Sostituisci quanto segue:
NUMBER_OF_ACCELERATORS
: il numero di GPU da collegare alla VM N1.ACCELERATOR_TYPE
: un modello di GPU supportato per le VM N1.
IMAGE_PROJECT
: il progetto di immagini che contiene l'immagine, ad esempiodebian-cloud
. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE
: specifica una delle seguenti opzioni:Una versione specifica dell'immagine sistema operativo, ad esempio
debian-12-bookworm-v20240617
.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY
. Questo valore specifica di utilizzare l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-12
, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.
VALID_FOR_DURATION
: il tempo massimo in secondi da attendere per il provisioning della VM. In base ai requisiti di zona per il tuo workload, ti consigliamo di specificare una delle seguenti durate per aumentare le probabilità di riuscita della richiesta di creazione della VM:Se il tuo workload richiede la creazione della VM in una zona specifica, specifica una durata compresa tra 90 secondi (
90
) e due ore (7200
). Durate più lunghe aumentano le probabilità di ottenere risorse.Se la VM può essere eseguita in qualsiasi zona all'interno della regione, specifica una durata di zero secondi (
0
). Questo valore specifica che Compute Engine alloca le risorse solo se sono immediatamente disponibili. Se la richiesta di creazione non va a buon fine perché le risorse non sono disponibili, riprova la richiesta in una zona diversa.
TERMINATION_ACTION
: indica se arrestare o eliminare la VM al termine della durata di esecuzione. Specifica uno dei seguenti valori:Per arrestare la VM:
STOP
Per eliminare la VM:
DELETE
RUN_DURATION
: il tempo massimo in secondi in cui la VM viene eseguita prima che Compute Engine la elimini. Questo valore deve essere compreso tra 600 secondi (10 minuti) e 604.800 secondi (sette giorni).
Passaggi successivi
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Compute Engine in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti per l'esecuzione, il test e il deployment di workload senza costi aggiuntivi.
Fai una prova senza costi di Compute EngineSalvo 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 2025-09-23 UTC.
-