Questo documento descrive come ridurre la latenza di rete tra le istanze di macchine virtuali (VM) creando e applicando criteri di posizionamento compatto. Per approfondire i criteri di posizionamento, incluse le serie di macchine supportate, le limitazioni e i prezzi, consulta la Panoramica dei criteri di posizionamento.
Un criterio di posizionamento compatto specifica che le VM devono essere posizionate fisicamente più vicine tra loro. In questo modo puoi migliorare le prestazioni e ridurre la latenza della rete tra le VM quando, ad esempio, esegui carichi di lavoro di calcolo ad alte prestazioni (HPC), machine learning (ML) o server di database.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per creare una prenotazione:
Amministratore di Compute (
roles/compute.admin
) -
Per creare i criteri di posizionamento:
compute.resourcePolicies.create
nel progetto -
Per applicare un criterio di posizionamento alle VM esistenti:
compute.instances.addResourcePolicies
nel progetto -
Per creare le VM:
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
nello snapshot - Per utilizzare un modello di istanza per creare la VM:
compute.instanceTemplates.useReadOnly
nel modello di istanza - Per assegnare una rete legacy alla VM:
compute.networks.use
nel progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.use
nel progetto - Per assegnare un indirizzo IP esterno alla VM quando nel progetto viene utilizzata una rete precedente:
compute.networks.useExternalIp
- Per specificare una subnet per la VM:
compute.subnetworks.use
nel progetto o nella subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC:
compute.subnetworks.useExternalIp
nel progetto o nella subnet scelta - Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadata
nel 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 account di servizio per l'utilizzo di:
compute.instances.setServiceAccount
sulla VM - Per creare un nuovo disco per la VM:
compute.disks.create
nel 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
-
Per creare una prenotazione:
compute.reservations.create
nel progetto -
Per creare un modello di istanza:
compute.instanceTemplates.create
nel progetto -
Per creare un gruppo di istanze gestite (MIG):
compute.instanceGroupManagers.create
nel progetto -
Per visualizzare i dettagli di una VM:
compute.instances.get
nel progetto Per applicare il criterio di posizionamento compatto alle VM N2 o N2D, crea il criterio utilizzando il comando
gcloud compute resource-policies create group-placement
con il flag--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Sostituisci quanto segue:
POLICY_NAME
: il nome del criterio di posizionamento compatto.REGION
: la regione in cui creare il criterio di posizionamento.
Per applicare il criterio di posizionamento compatto a qualsiasi altra VM supportata, crea il criterio utilizzando il comando
gcloud beta compute resource-policies create group-placement
con i flag--collocation=collocated
e--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Sostituisci quanto segue:
POLICY_NAME
: il nome del criterio di posizionamento compatto.MAX_DISTANCE
: la configurazione della distanza massima per le VM. Il valore deve essere compreso tra1
, che specifica di collocare le VM nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica di collocare le VM in cluster adiacenti. Se vuoi applicare il criterio di posizionamento compatto a una prenotazione, non puoi specificare un valore di1
.REGION
: la regione in cui creare il criterio di posizionamento.
Per applicare il criterio di posizionamento compatto alle VM N2 o N2D, crea il criterio inviando una richiesta
POST
al metodoresourcePolicies.insert
. Nel corpo della richiesta, includi il campocollocation
e impostalo suCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi creare il criterio di posizionamento.REGION
: la regione in cui creare il criterio di posizionamento.POLICY_NAME
: il nome del criterio di posizionamento compatto.
Per applicare il criterio di posizionamento compatto a qualsiasi altra VM supportata, crea il criterio inviando una richiesta
POST
al metodobeta.resourcePolicies.insert
. Nel corpo della richiesta, includi quanto segue:Il campo
collocation
impostato suCOLLOCATED
.Il campo
maxDistance
.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui vuoi creare il criterio di posizionamento.REGION
: la regione in cui creare il criterio di posizionamento.POLICY_NAME
: il nome del criterio di posizionamento compatto.MAX_DISTANCE
: la configurazione della distanza massima per le VM. Il valore deve essere compreso tra1
, che specifica di collocare le VM nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica di collocare le VM in cluster adiacenti. Se vuoi applicare il criterio di posizionamento compatto a una prenotazione, non puoi specificare un valore di1
.
- Applica il criterio a una VM esistente.
- Applica il criterio durante la creazione di una VM.
- Applica il criterio durante la creazione collettiva delle VM.
- Applica il criterio durante la creazione di una prenotazione.
- Applica il criterio durante la creazione di un modello di istanza.
- Applica il criterio alle VM in un gruppo di istanze gestite.
La VM e il criterio di posizionamento compatto devono trovarsi nella stessa regione. Ad esempio, se il criterio di posizionamento si trova nella regione
us-central1
, la VM deve trovarsi in una zona inus-central1
. Se devi eseguire la migrazione di una VM in un'altra regione, consulta Spostare una VM tra zone o regioni.La VM deve utilizzare una serie di macchine supportata e un criterio di manutenzione dell'host. Se devi apportare modifiche alla VM, esegui una o entrambe le seguenti operazioni:
Per applicare un criterio di posizionamento compatto a una VM esistente, utilizza il comando
gcloud compute instances add-resource-policies
.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome di una VM esistente.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.ZONE
: la zona in cui si trova la VM.
Per applicare un criterio di posizionamento compatto a una VM esistente, invia una
POST
richiesta al metodoinstances.addResourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trovano il criterio di posizionamento compatto e la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome di una VM esistente.REGION
: la regione in cui si trova il criterio di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.
VM_NAME
: il nome della VM da creare.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.ZONE
: la zona in cui creare la VM.PROJECT_ID
: l'ID del progetto in cui si trova il piano di posizionamento compatto.ZONE
: la zona in cui creare la VM e dove si trova il tipo di macchina. Puoi specificare una zona solo all'interno della regione del criterio di posizionamento compatto.VM_NAME
: il nome della VM da creare.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine, ad esempiodebian-cloud
. Per ulteriori informazioni sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE
: specifica una delle seguenti opzioni:Una versione specifica dell'immagine del sistema operativo, ad esempio
debian-12-bookworm-v20240617
.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY
. Questo specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichifamily/debian-12
, viene utilizzata la versione più recente 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.
REGION
: la regione in cui si trova il criterio di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.COUNT
: il numero di VM da creare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.NAME_PATTERN
: il pattern del nome delle VM. Per sostituire una sequenza di numeri nel nome di una VM, utilizza una sequenza di caratteri hash (#
). Ad esempio, l'utilizzo divm-#
per il pattern del nome genera VM con nomi che iniziano convm-1
,vm-2
e continuano fino al numero di VM specificato daCOUNT
.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.ZONE
: la zona in cui creare le VM collettivamente.PROJECT_ID
: l'ID del progetto in cui si trova il regolamento relativo al posizionamento compatto.ZONE
: la zona in cui creare le VM collettivamente.COUNT
: il numero di VM da creare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.NAME_PATTERN
: il pattern del nome delle VM. Per sostituire una sequenza di numeri nel nome di una VM, utilizza una sequenza di caratteri hash (#
). Ad esempio, l'utilizzo divm-#
per il pattern del nome genera VM con nomi che iniziano convm-1
,vm-2
e continuano fino al numero di VM specificato daCOUNT
.with names starting with `vm-1`, `vm-2`, and continuing up to the number
delle VM specificate da
COUNT
.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.IMAGE_PROJECT
: il progetto immagine 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 del sistema operativo, ad esempio
debian-12-bookworm-v20240617
.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY
. Questo specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichifamily/debian-12
, viene utilizzata la versione più recente 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.
REGION
: la regione in cui si trova il criterio di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.Le VM devono specificare lo stesso criterio di posizionamento compatto applicato alla prenotazione.
Le VM devono avere come target specifico la prenotazione per poterla utilizzare. Per maggiori informazioni, consulta Utilizzare le VM da una prenotazione specifica.
Crea la prenotazione specificando direttamente le proprietà come descritto in questa sezione.
Applica il criterio durante la creazione di un modello di istanza come descritto in questo documento, quindi crea una prenotazione per un singolo progetto specificando il modello di istanza appena creato.
RESERVATION_NAME
: il nome della prenotazione.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.NUMBER_OF_VMS
: il numero di VM da prenotare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.ZONE
: la zona in cui prenotare le VM. Puoi prenotare VM solo in una zona all'interno della regione del criterio di posizionamento compatto specificato.PROJECT_ID
: l'ID del progetto in cui si trova il piano di posizionamento compatto.ZONE
: la zona in cui prenotare le VM. Puoi prenotare VM solo in una zona all'interno della regione del criterio di posizionamento compatto specificato.RESERVATION_NAME
: il nome della prenotazione.REGION
: la regione in cui si trova il criterio di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.NUMBER_OF_VMS
: il numero di VM da prenotare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.Per creare un modello di istanza globale: metodo
instanceTemplates.insert
.Per creare un modello di istanza regionale: metodo
regionInstanceTemplates.insert
.PROJECT_ID
: l'ID del progetto in cui si trova il regolamento relativo al posizionamento compatto.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.IMAGE_PROJECT
: il progetto immagine che contiene l'immagine, ad esempiodebian-cloud
. Per ulteriori informazioni sui progetti di immagini supportati, consulta Immagini pubbliche.IMAGE
: specifica una delle seguenti opzioni:Una versione specifica dell'immagine del sistema operativo, ad esempio
debian-12-bookworm-v20240617
.Una famiglia di immagini, che deve essere formattata come
family/IMAGE_FAMILY
. Questo specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichifamily/debian-12
, viene utilizzata la versione più recente 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.
MACHINE_TYPE
: un tipo di macchina supportato per i criteri di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.MAINTENANCE_POLICY
: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a1
o2
, puoi specificare soloTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.Applica il criterio durante la creazione di un gruppo di istanze gestite.
Applica il criterio a un gruppo di istanze gestite esistente.
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite da creare.SIZE
: la dimensione del gruppo di istanze gestite.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza globale esistente che specifica un criterio di posizionamento compatto.ZONE
: la zona in cui creare il gruppo di istanze gestite, che deve trovarsi all'interno della regione in cui si trova il criterio di posizionamento compatto.Per creare un gruppo di istanze gestite a livello di zona:
instanceGroupManagers.insert
metodo.Per creare un gruppo di istanze gestite a livello di regione:
regionInstanceGroupManagers.insert
metodo.PROJECT_ID
: l'ID del progetto in cui si trovano il criterio di posizionamento compatto e il modello di istanza che specifica il criterio di posizionamento.ZONE
: la zona in cui creare il gruppo di istanze gestite, che deve rientrare nella regione in cui si trova il criterio di posizionamento compatto.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite da creare.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza globale esistente che specifica un criterio di posizionamento compatto.SIZE
: la dimensione del gruppo di istanze gestite.MIG_NAME
: il nome di un gruppo di istanze gestite esistente.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza globale esistente che specifica un criterio di posizionamento compatto.ZONE
: la zona in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo MIG situato nella stessa regione del criterio di posizionamento.Per aggiornare un gruppo di istanze gestite a livello di zona: metodo
instanceGroupManagers.insert
.Per aggiornare un gruppo di istanze gestite a livello di regione: metodo
regionInstanceGroupManagers.insert
.PROJECT_ID
: l'ID del progetto in cui si trovano il MIG, il criterio di posizionamento compatto e il modello di istanza che specifica il criterio di posizionamento.ZONE
: la zona in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo MIG situato nella stessa regione del criterio di posizionamento.MIG_NAME
: il nome di un gruppo di istanze gestite esistente.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza globale esistente che specifica un criterio di posizionamento compatto.Verifica che il criterio sia stato applicato correttamente.
Identifica le VM più vicine tra loro.
VM_NAME
: il nome di una VM esistente che specifica un criterio di posizionamento compatto.ZONE
: la zona in cui si trova la VM./CCCCCCC/xxxxxx/xxxx
: le due VM si trovano nello stesso cluster, il che equivale a un valore di distanza massima di2
. Le VM posizionate nello stesso cluster presentano una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due VM si trovano nello stesso rack, il che corrisponde a un valore di distanza massima di1
. Le VM posizionate nello stesso rack hanno una latenza di rete inferiore rispetto alle VM posizionate nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due VM condividono lo stesso host. Le VM posizionate nello stesso host riducono al minimo la latenza della rete.PROJECT_ID
: l'ID del progetto in cui si trova la VM.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome di una VM esistente che specifica un criterio di posizionamento compatto./CCCCCCC/xxxxxx/xxxx
: le due VM si trovano nello stesso cluster, il che equivale a un valore di distanza massima di2
. Le VM posizionate nello stesso cluster presentano una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due VM si trovano nello stesso rack, il che corrisponde a un valore di distanza massima di1
. Le VM posizionate nello stesso rack hanno una latenza di rete inferiore rispetto alle VM posizionate nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due VM condividono lo stesso host. Le VM posizionate nello stesso host riducono al minimo la latenza della rete.Scopri come visualizzare le norme relative ai posizionamenti.
Scopri come sostituire, rimuovere o eliminare i criteri di posizionamento.
Scopri come eseguire le seguenti operazioni con una VM che specifica un criterio di posizionamento:
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare e applicare un criterio di posizionamento compatto alle VM sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea un criterio di posizionamento compatto
A meno che tu non voglia applicare un criterio di posizionamento compatto alle VM N2 o N2D, Google Cloud consiglia di specificare un valore di distanza massima durante la creazione del criterio. Per ulteriori informazioni, consulta Come funzionano i criteri di posizionamento compatto.
Per creare un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
REST
Applicare un criterio di posizionamento compatto
Puoi applicare un criterio di posizionamento compatto a una VM o a un gruppo di istanze gestite esistente oppure quando crei VM, modelli di istanze, gruppi di istanze gestite o prenotazioni di VM.
Per applicare un criterio di posizionamento compatto a una risorsa Compute Engine, seleziona uno dei seguenti metodi:
Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi verificare la posizione fisica della VM in relazione alle altre VM che specificano lo stesso criterio di posizionamento.
Applica il criterio a una VM esistente
Prima di applicare un criterio di posizionamento compatto a una VM esistente, assicurati di quanto segue:
In caso contrario, l'applicazione del criterio di posizionamento compatto alla VM non va a buon fine. Se la VM specifica già un criterio di posizionamento e vuoi sostituirlo, consulta Sostituisci un criterio di posizionamento in una VM.
Per applicare un criterio di posizionamento compatto a una VM esistente, seleziona una delle seguenti opzioni:
gcloud
REST
Applicare il criterio durante la creazione di una VM
Puoi creare una VM che specifica un criterio di posizionamento compatto solo nella stessa regione del criterio di posizionamento.
Per creare una VM che specifica un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare una VM che specifica un criterio di posizionamento compatto, utilizza il comando
gcloud compute instances create
con i flag--maintenance-policy
e--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Sostituisci quanto segue:
REST
Per creare una VM che specifica un criterio di posizionamento compatto, invia una richiesta
POST
al metodoinstances.insert
. Nel corpo della richiesta, includi i campionHostMaintenance
eresourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per creare una VM, consulta Creare e avviare un'istanza VM.
Applica il criterio durante la creazione collettiva delle VM
Puoi creare VM collettivamente solo con un criterio di posizionamento compatto nella stessa regione del criterio di posizionamento.
Per creare collettivamente VM che specificano un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare collettivamente VM che specificano un criterio di posizionamento compatto, utilizza il comando
gcloud compute instances bulk create
con i flag--maintenance-policy
e--resource-policies
.Ad esempio, per creare più VM contemporaneamente in un'unica zona e specificare un pattern di nomi per le VM, esegui il seguente comando:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Sostituisci quanto segue:
REST
Per creare collettivamente VM che specificano un criterio di posizionamento compatto, effettua una richiesta
POST
al metodoinstances.bulkInsert
. Nel corpo della richiesta, includi i campionHostMaintenance
eresourcePolicies
.Ad esempio, per creare più VM in un'unica zona e specificare un pattern di nomi per le VM, invia una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": "COUNT", "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per la creazione collettiva di VM, consulta Creare VM collettivamente.
Applicare il criterio durante la creazione di una prenotazione
Se vuoi creare una prenotazione on demand per un singolo progetto che specifichi un criterio di posizionamento compatto, devi creare una prenotazione con targeting specifico. Quando crei le VM per utilizzare la prenotazione, assicurati di quanto segue:
Per creare una prenotazione per un singolo progetto con un criterio di posizionamento compatto, seleziona uno dei seguenti metodi:
Per creare una prenotazione per un singolo progetto con un criterio di posizionamento compatto specificando direttamente le proprietà, seleziona una delle seguenti opzioni:
gcloud
Per creare una prenotazione di un singolo progetto con un criterio di posizionamento compatto specificando direttamente le proprietà, utilizza il comando
gcloud compute reservations create
con i flag--require-specific-reservation
e--resource-policies=policy
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --resource-policies=policy=POLICY_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Sostituisci quanto segue:
REST
Per creare una prenotazione di un singolo progetto con un criterio di posizionamento compatto specificando direttamente le proprietà, invia una richiesta
POST
al metodoreservations.insert
. Nel corpo della richiesta, includi il camporesourcePolicies
e il campospecificReservationRequired
impostato sutrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per creare prenotazioni per un singolo progetto, consulta Creare una prenotazione per un singolo progetto.
Applicare il criterio durante la creazione di un modello di istanza
Se vuoi creare un modello di istanza regionale, devi creare il modello nella stessa regione del criterio di posizionamento compatto. In caso contrario, la creazione del modello di istanza non riesce.
Dopo aver creato un modello di istanza che specifica un criterio di posizionamento compatto, puoi utilizzarlo per:
Per creare un modello di istanza che specifica un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare un modello di istanza che specifica un criterio di posizionamento compatto, utilizza il comando
gcloud compute instance-templates create
con i flag--maintenance-policy
e--resource-policies
.Ad esempio, per creare un modello di istanza globale che specifichi un criterio di posizionamento compatto, esegui il seguente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME
Sostituisci quanto segue:
REST
Per creare un modello di istanza che specifichi un criterio di posizionamento compatto, invia una richiesta
POST
a uno dei seguenti metodi:Nel corpo della richiesta, includi i campi
onHostMaintenance
eresourcePolicies
.Ad esempio, per creare un modello di istanza globale che specifichi un criterio di posizionamento compatto, effettua una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Sostituisci quanto segue:
Per saperne di più sulle opzioni di configurazione per creare un modello di istanza, consulta Creare modelli di istanze.
Applica il criterio alle VM in un gruppo di istanze gestite
Dopo aver creato un modello di istanza che specifica un criterio di posizionamento compatto, puoi utilizzare il modello per:
Applicare il criterio durante la creazione di un gruppo di istanze gestite
Puoi creare VM che specificano un criterio di posizionamento compatto solo se le VM si trovano nella stessa regione del criterio di posizionamento.
Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un criterio di posizionamento compatto, utilizza il comando
gcloud compute instance-groups managed create
.Ad esempio, per creare un gruppo di istanze gestite zonale utilizzando un modello di istanza globale che specifica un criterio di posizionamento compatto, esegui il seguente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Sostituisci quanto segue:
REST
Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un criterio di posizionamento compatto, invia una richiesta
POST
a uno dei seguenti metodi:Ad esempio, per creare un gruppo di istanze gestite a livello di zona utilizzando un modello di istanza globale che specifica un criterio di posizionamento compatto, invia una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ] }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per la creazione di gruppi di istanze gestite, consulta Scenari di base per la creazione di gruppi di istanze gestite.
Applica il criterio a un gruppo di istanze gestite esistente
Puoi applicare un criterio di posizionamento compatto a un gruppo di istanze gestite esistente solo se il gruppo di istanze gestite si trova nella stessa regione del criterio di posizionamento o, per i gruppi di istanze gestite zonali, in una zona all'interno della stessa regione del criterio di posizionamento.
Per aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifica un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifica un criterio di posizionamento compatto, utilizza il comando
gcloud compute instance-groups managed rolling-action start-update
.Ad esempio, per aggiornare un gruppo di istanze gestite zonale in modo che utilizzi un modello di istanza che specifica un criterio di posizionamento compatto e per sostituire le VM esistenti del gruppo di istanze gestite con nuove VM che specificano le proprietà del modello, esegui il seguente comando:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Sostituisci quanto segue:
REST
Per aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifica un criterio di posizionamento compatto e applica automaticamente le proprietà del modello e del criterio di posizionamento alle VM esistenti nel gruppo di istanze gestite, invia una richiesta
PATCH
a uno dei seguenti metodi:Ad esempio, per aggiornare un gruppo di istanze gestite zonale in modo da utilizzare un modello di istanza globale che specifica un criterio di posizionamento compatto e sostituire le VM esistenti del gruppo di istanze gestite con nuove VM che specificano le proprietà del modello, effettua la seguente richiesta
PATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per aggiornare le VM in un gruppo di istanze gestite, consulta la pagina relativa all'aggiornamento e all'applicazione di nuove configurazioni alle VM in un gruppo di istanze gestite.
Verificare la posizione fisica di una VM
Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi visualizzarne la posizione fisica rispetto ad altre VM. Questo confronto è limitato alle VM situate nel tuo progetto e che specificano lo stesso criterio di posizionamento compatto. La visualizzazione della posizione fisica di una VM ti consente di:
Per visualizzare la posizione fisica di una VM rispetto ad altre VM che specificano lo stesso criterio di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per visualizzare la posizione fisica di una VM che specifica un criterio di posizionamento compatto, utilizza il comando
gcloud compute instances describe
con il flag--format
.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Sostituisci quanto segue:
L'output è simile al seguente:
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
Il valore del campo
PHYSICAL_HOST
è composto da tre parti. Questi componenti rappresentano rispettivamente il cluster, il rack e l'host in cui si trova la VM.Quando confronti la posizione di due VM che utilizzano lo stesso criterio di posizionamento compatto all'interno del tuo progetto, più parti del campo
PHYSICAL_HOST
condividono le VM, più sono vicine fisicamente. Ad esempio, supponiamo che due VM specifichino entrambi uno dei seguenti valori di esempio per il campoPHYSICAL_HOST
:REST
Per visualizzare la posizione fisica di una VM che specifica un criterio di posizionamento compatto, invia una richiesta
GET
al metodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
L'output è simile al seguente:
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }
Il valore del campo
physicalHost
è composto da tre parti. Questi componenti rappresentano ciascuno il cluster, il rack e l'host in cui si trova la VM.Quando confronti la posizione di due VM che utilizzano lo stesso criterio di posizionamento compatto all'interno del tuo progetto, più parti del campo
physicalHost
condividono le VM, più sono vicine fisicamente. Ad esempio, supponiamo che due VM specifichino entrambi uno dei seguenti valori di esempio per il campophysicalHost
: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-11-23 UTC.
-