Questo documento spiega come ridurre la latenza di rete tra le istanze di macchine virtuali (VM) creando e applicandovi criteri di posizionamento compatto.
Un criterio di posizionamento compatto specifica che le VM devono essere fisicamente posizionate più vicine tra loro. Ciò consente di migliorare le prestazioni e ridurre la latenza di rete tra le VM quando, ad esempio, esegui carichi di lavoro di computing ad alte prestazioni (HPC), machine learning (ML) o server di database.
Prima di iniziare
-
Se non l'hai già fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per creare una prenotazione:
Amministratore Compute (
roles/compute.admin
) -
Per creare 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
nel 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 modello di istanza per creare la VM
compute.instanceTemplates.useReadOnly
sul 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 utilizzi una rete legacy:
compute.networks.useExternalIp
nel progetto - 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 in modo che la VM utilizzi:
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 lettura/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 a livello di regione o zona:
compute.instanceGroupManagers.create
nel progetto -
Per visualizzare i dettagli di una VM:
compute.instances.get
nel progetto Un valore massimo della distanza. Ciò ti consente di controllare la distanza tra le VM quando hai requisiti di latenza di rete rigorosi. A seconda del tipo di macchina e della zona delle VM a cui si applica il criterio, si applicano le seguenti condizioni:
Se una zona ha capacità disponibile, un criterio di posizionamento compatto con una distanza massima più elevata (ad esempio
3
) potrebbe causare il posizionamento delle VM più vicine tra loro.Se una zona non ha capacità, è più probabile che un criterio di posizionamento compatto con una distanza massima inferiore (ad esempio
1
) impedisca l'applicazione del criterio ad alcune VM.
Inoltre, i valori di distanza massima influiscono sul numero di VM a cui puoi applicare il criterio di posizionamento compatto e sul criterio di manutenzione dell'host delle VM. Per maggiori informazioni, consulta Limitazioni per i criteri di posizionamento compatto.
Un numero fisso di VM. In questo modo il criterio di posizionamento compatto viene applicato solo a un numero specifico di VM. Il tentativo di applicare il criterio di posizionamento compatto a più VM rispetto al numero specificato causa errori. Non puoi applicare alle prenotazioni criteri di posizionamento compatto con un numero fisso di VM.
POLICY_NAME
: il nome del criterio da creare.REGION
: la regione in cui creare il criterio. Se vuoi applicare il criterio di posizionamento compatto a una VM esistente, crea il criterio in una regione contenente la zona in cui si trova la VM.Per controllare meglio la distanza tra il posizionamento delle VM, utilizza il comando
gcloud beta compute resource-policies create group-placement
e includi il flag--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Sostituisci
MAX_DISTANCE
con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra1
, che specifica di posizionare le VM nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica di posizionare le VM in cluster adiacenti. Se vuoi applicare il criterio di posizionamento compatto a una prenotazione, non puoi specificare il valore1
.Per rendere efficace il criterio di posizionamento compatto solo quando applicato a un numero specifico di VM, includi il flag
--vm-count
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION \ --vm-count=VM_COUNT
Sostituisci
VM_COUNT
con il numero esatto di VM a cui puoi applicare il criterio di posizionamento compatto. Il valore deve essere compreso tra1
e il numero massimo di VM a cui puoi applicare il criterio di posizionamento compatto.PROJECT_ID
: l'ID del progetto in cui vuoi creare il criterio di posizionamento.REGION
: la regione in cui creare il criterio. Se vuoi applicare il criterio di posizionamento compatto a una VM esistente, crea il criterio in una regione contenente la zona in cui si trova la VM.POLICY_NAME
: il nome del criterio di posizionamento compatto da creare.Per controllare meglio la distanza tra il posizionamento delle VM, effettua una richiesta
POST
al metodobeta.resourcePolicies.insert
. Nel corpo della richiesta, includi il campomaxDistance
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": "MAX_DISTANCE" } }
Sostituisci
MAX_DISTANCE
con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra1
, che specifica di posizionare le VM nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica di posizionare le VM in cluster adiacenti. Se vuoi applicare il criterio di posizionamento compatto a una prenotazione, non puoi specificare il valore1
.Per rendere efficace il criterio di posizionamento compatto solo quando applicato a un numero specifico di VM, includi il campo
vmCount
nel corpo della richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "vmCount": "VM_COUNT" } }
Sostituisci
VM_COUNT
con il numero esatto di VM a cui puoi applicare il criterio di posizionamento compatto. Il valore deve essere compreso tra1
e il numero massimo di VM a cui puoi applicare il criterio di posizionamento compatto.- Applica un criterio di posizionamento compatto a una VM esistente.
- Crea una VM con un criterio di posizionamento compatto.
- Crea una prenotazione con un criterio di posizionamento compatto.
- Crea un modello di istanza con un criterio di posizionamento compatto.
- Applica un criterio di posizionamento compatto 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 a un'altra regione, consulta Spostare una VM tra zone o regioni.La VM deve utilizzare una serie di macchine e un criterio di manutenzione dell'host supportati. Se devi apportare modifiche alla VM, esegui una o entrambe le seguenti operazioni:
Se vuoi applicare un criterio di posizionamento compatto che specifica un numero fisso di VM, devi aggiornare la VM in modo che non si riavvii automaticamente dopo un errore dell'host.
Per applicare un criterio di posizionamento compatto a una VM esistente, utilizza il comando
gcloud compute instances add-resource-policies
con il flag--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, effettua una richiesta
POST
al metodoinstances.addResourcePolicies
. Nel corpo della richiesta, includi il camporesourcePolicies
.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, che deve trovarsi all'interno della regione in cui si trova il criterio di posizionamento compatto.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. Se il criterio di posizionamento compatto specifica un numero fisso di VM, devi includere il flag--no-restart-on-failure
. Questo indica che la VM non si riavvia automaticamente dopo un errore dell'host.ZONE
: la zona in cui creare la VM.PROJECT_ID
: l'ID del progetto in cui si trova il criterio di posizionamento compatto.ZONE
: la zona in cui creare la VM e in cui si trova il tipo di macchina. Puoi specificare solo un tipo di macchina disponibile 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.REGION
: la regione in cui si trova il criterio di posizionamento compatto.POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente. Se il criterio di posizionamento compatto specifica un numero fisso di VM, nel camposcheduling
devi includere il campoautomaticRestart
impostato sufalse
. Questo indica che la VM non si riavvia automaticamente dopo un errore dell'host.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 utilizzarla. Per maggiori informazioni, consulta Utilizzo delle VM da una prenotazione specifica.
Crea la prenotazione specificando le proprietà direttamente come descritto in questa sezione.
Crea un modello di istanza con un criterio di posizionamento compatto 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. Non puoi specificare un criterio di posizionamento compatto con un numero fisso di VM. In caso contrario, la creazione della prenotazione non va a buon fine.NUMBER_OF_VMS
: il numero di VM da prenotare, che non può essere superiore al numero massimo di VM supportato per il criterio di posizionamento compatto specificato.ZONE
: la zona in cui prenotare le VM. Puoi prenotare le 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 criterio di posizionamento compatto.ZONE
: la zona in cui prenotare le VM. Puoi prenotare le 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. Non puoi specificare un criterio di posizionamento compatto con un numero fisso di VM. In caso contrario, la creazione della prenotazione non va a buon fine.NUMBER_OF_VMS
: il numero di VM da prenotare, che non può essere superiore al numero massimo di VM supportato per il 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. Se il criterio di posizionamento compatto specifica un numero fisso di VM, devi includere il flag--no-restart-on-failure
. Questo indica che le VM create utilizzando il modello di istanza non vengono riavviate automaticamente dopo un errore dell'host.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 criterio di posizionamento compatto che vuoi applicare al modello di istanza.INSTANCE_TEMPLATE_NAME
: il nome del modello di istanza.IMAGE
oIMAGE_FAMILY
: specifica una delle seguenti opzioni:IMAGE
: una versione specifica dell'immagine del sistema operativo; ad esempio,debian-10-buster-v20200309
.IMAGE_FAMILY
: una famiglia di immagini. Specifica l'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichifamily/debian-10
, viene utilizzata l'ultima versione della famiglia di immagini Debian 10. 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. Se il criterio di posizionamento compatto specifica un numero fisso di VM, nel camposcheduling
devi includere il campoautomaticRestart
impostato sufalse
. Questo indica che le VM create utilizzando il modello di istanza non si riavviano automaticamente dopo un errore dell'host.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
.Crea un gruppo di istanze gestite con lo stesso criterio di posizionamento compatto.
Applica il criterio di posizionamento compatto a un gruppo di istanze gestite esistente.
MIG_NAME
: il nome del gruppo di istanze gestite da creare.REGION
: la regione in cui creare il gruppo di istanze gestite, che deve corrispondere all'area geografica in cui si trova il criterio di posizionamento compatto.SIZE
: la dimensione del gruppo di istanze gestite.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza esistente che specifica un criterio di posizionamento compatto.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.REGION
: la regione in cui creare il gruppo di istanze gestite, che deve corrispondere all'area geografica in cui si trova il criterio di posizionamento compatto.MIG_NAME
: il nome del gruppo di istanze gestite da creare.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza 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.REGION
: la regione in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo di istanze gestite che si trova nella stessa regione.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza esistente che specifica un criterio di posizionamento compatto.PROJECT_ID
: l'ID del progetto in cui si trovano il gruppo di istanze gestite, il criterio di posizionamento compatto e il modello di istanza che specifica il criterio di posizionamento.REGION
: la regione in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo di istanze gestite che si trova nella stessa regione.MIG_NAME
: il nome di un gruppo di istanze gestite esistente.INSTANCE_TEMPLATE_NAME
: il nome di un modello di istanza esistente che specifica un criterio di posizionamento compatto.VM_NAME
: il nome di una VM esistente.ZONE
: la zona in cui si trova la VM./CCCCCCC/xxxxxx/xxxx
: le due VM vengono posizionate nello stesso cluster, il che equivale a un valore di distanza massima di2
. Le VM posizionate nello stesso cluster hanno una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due VM sono collocate nello stesso rack, il che equivale a un valore di distanza massima di1
. Le VM posizionate nello stesso rack hanno una latenza di rete inferiore rispetto alle VM nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due VM condividono lo stesso host. Le VM posizionate nello stesso host riducono al minimo la latenza di 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./CCCCCCC/xxxxxx/xxxx
: le due VM vengono posizionate nello stesso cluster, il che equivale a un valore di distanza massima di2
. Le VM posizionate nello stesso cluster hanno una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due VM sono collocate nello stesso rack, il che equivale a un valore di distanza massima di1
. Le VM posizionate nello stesso rack hanno una latenza di rete inferiore rispetto alle VM nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due VM condividono lo stesso host. Le VM posizionate nello stesso host riducono al minimo la latenza di rete.Scopri come visualizzare i criteri di posizionamento.
Scopri come sostituire, rimuovere o eliminare i criteri di posizionamento.
Scopri come eseguire queste operazioni con una VM che specifica un criterio di posizionamento:
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.
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 tuo progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare e applicare un criterio di posizionamento compatto alle VM, sono necessarie le autorizzazioni seguenti:
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Crea un criterio di posizionamento compatto
Quando crei un criterio di posizionamento compatto, puoi specificare facoltativamente uno dei seguenti elementi o entrambi:
Per creare un criterio di posizionamento compatto, utilizza gcloud CLI o REST.
gcloud
Per creare un criterio di posizionamento compatto, utilizza 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:
Se vuoi, puoi eseguire una delle seguenti operazioni o entrambe:
REST
Per creare un criterio di posizionamento compatto, effettua 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:
Se vuoi, puoi eseguire una delle seguenti operazioni o entrambe:
Applica criteri di posizionamento compatto
Puoi applicare un criterio di posizionamento compatto a una VM esistente oppure quando crei VM, modelli di istanza, gruppi di istanze gestite o prenotazioni di VM.
Per creare una risorsa Compute Engine che specifica un criterio di posizionamento compatto, seleziona uno dei seguenti metodi:
Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi verificare la posizione fisica di una VM rispetto ad altre VM che specificano lo stesso criterio.
Applica un criterio di posizionamento compatto 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 invece Sostituire 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
Crea una VM con un criterio di posizionamento compatto
Puoi creare una VM con un criterio di posizionamento compatto solo in una zona all'interno della 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 il flag--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, effettua una richiesta
POST
al metodoinstances.insert
. Nel corpo della richiesta, includi il camporesourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "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.
Crea una prenotazione con un criterio di posizionamento compatto
Se vuoi creare una prenotazione on demand per singoli progetti che specifichi un criterio di posizionamento compatto, devi creare una prenotazione con targeting specifico. Quando crei VM per consumare 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 per 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
.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 per un singolo progetto con un criterio di posizionamento compatto specificando direttamente le proprietà, effettua 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 e sui metodi di creazione per le prenotazioni di singoli progetti, consulta Creare una prenotazione per un singolo progetto.
Crea un modello di istanza con un criterio di posizionamento compatto
Se vuoi creare un modello di istanza a livello di regione, devi creare il modello nella stessa regione del criterio di posizionamento compatto. In caso contrario, la creazione del modello di istanza non va a buon fine.
Dopo aver creato un modello di istanza, 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 il flag--resource-policies
.Ad esempio, per creare un modello di istanza globale che specifica un criterio di posizionamento compatto, esegui questo 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 specifica un criterio di posizionamento compatto, effettua una richiesta
POST
a uno dei seguenti metodi:Nel corpo della richiesta, specifica il campo
resourcePolicies
.Ad esempio, per creare un modello di istanza globale che specifica 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 ulteriori informazioni sulle opzioni di configurazione per creare un modello di istanza, consulta Creare modelli di istanza.
Applica un criterio di posizionamento compatto 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:
Se vuoi applicare un criterio di posizionamento compatto a un gruppo di istanze gestite, è consigliabile creare o applicare il criterio a un gruppo di istanze gestite a livello di regione con la forma di distribuzione qualsiasi zona singola. In questo modo, ogni volta che un gruppo di istanze gestite a livello di regione deve fare lo scale out creando VM, seleziona la zona in cui creare le VM in base a prenotazioni, quote e requisiti hardware.
Crea un gruppo di istanze gestite con un criterio di posizionamento compatto
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
con il flag--template
.Ad esempio, per creare un gruppo di istanze gestite a livello di regione con una forma di distribuzione qualsiasi-zona-singola, esegui questo comando:
gcloud compute instance-groups managed create MIG_NAME \ --region=REGION \ --size=SIZE \ --target-distribution-shape=any-single-zone \ --template=INSTANCE_TEMPLATE_NAME
Sostituisci quanto segue:
REST
Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un criterio di posizionamento compatto, effettua una richiesta
POST
ai metodiinstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
.Ad esempio, per creare un gruppo di istanze gestite a livello di regione con proprietà VM predefinite e la forma di distribuzione qualsiasi zona singola, effettua una richiesta
POST
come segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "targetSize": SIZE }
Sostituisci quanto segue:
Per ulteriori informazioni sulle opzioni di configurazione per creare gruppi di istanze gestite, consulta Scenari di base per la creazione di gruppi di istanze gestite.
Applica un criterio di posizionamento compatto a un gruppo di istanze gestite esistente
Puoi applicare un criterio di posizionamento compatto a un gruppo di istanze gestite esistente solo se quest'ultimo si trova nella stessa regione del criterio di posizionamento o, per i gruppi di istanze gestite a livello di zona, 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 a livello di regione in modo che utilizzi un modello di istanza che specifichi un criterio di posizionamento compatto e sostituire le VM esistenti del gruppo di istanze gestite con nuove VM che specificano le proprietà del modello, esegui questo comando:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --region=REGION \ --type=proactive \ --version=template=INSTANCE_TEMPLATE_NAME
Sostituisci quanto segue:
REST
Per aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifichi un criterio di posizionamento compatto e applichi automaticamente le proprietà del modello e del criterio di posizionamento alle VM esistenti nel gruppo di istanze gestite, effettua una richiesta
PATCH
ai metodiinstanceGroupManagers.insert
oregionInstanceGroupManagers.insert
.Ad esempio, per aggiornare un gruppo di istanze gestite a livello di regione in modo che utilizzi un modello di istanza che specifichi 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/regions/REGION/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
Sostituisci quanto segue:
Per saperne di più sulle opzioni di configurazione per aggiornare le VM in un gruppo di istanze gestite, consulta Aggiornare e applicare nuove configurazioni alle VM in un gruppo di istanze gestite.
Verifica la località fisica di una VM
Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi vedere in che modo il criterio di posizionamento compatto ha influenzato la sua posizione fisica rispetto ad altre VM che specificano lo stesso criterio. In questo modo puoi determinare se il criterio di posizionamento compatto è stato applicato correttamente a una VM e mappare le VM più vicine tra loro.
Per verificare la posizione fisica di una VM che specifica un criterio di posizionamento in relazione ad altre VM, 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. Queste parti rappresentano il cluster, il rack e l'host in cui si trova la VM.Quando confronti la posizione di due VM che specificano lo stesso criterio di posizionamento compatto, maggiore è il numero di parti nel campo
PHYSICAL_HOST
condivise dalle VM, più queste si trovano vicino l'una all'altra. Ad esempio, se due VM specificano 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, effettua 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. Queste parti rappresentano il cluster, il rack e l'host in cui si trova la VM.Quando confronti la posizione di due VM che specificano lo stesso criterio di posizionamento compatto, maggiore è il numero di parti nel campo
physicalHost
condivise dalle VM, più queste si trovano vicino l'una all'altra. Ad esempio, se due VM specificano uno dei seguenti valori di esempio per il campophysicalHost
:Che cosa succede dopo?
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-05 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" }] -