Questo documento descrive come ridurre la latenza di rete tra le istanze Compute Engine creando e applicando a queste istanze policy di posizionamento compatto. Per scoprire di più sulle policy di posizionamento, tra cui le serie di macchine supportate, le limitazioni e i prezzi, vedi Panoramica delle policy di posizionamento.
Una policy di posizionamento compatto specifica che le istanze devono essere posizionate fisicamente più vicine tra loro. Questo può contribuire a migliorare le prestazioni e ridurre la latenza di rete tra le istanze, ad esempio durante l'esecuzione di workload di computing 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 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 e applicare una policy di posizionamento compatto alle istanze di Compute, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
Per creare una prenotazione:
Compute Admin (
roles/compute.admin
)
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e applicare una policy di posizionamento compatto alle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare e applicare una policy di posizionamento compatto alle istanze di computing sono necessarie le seguenti autorizzazioni:
-
Per creare policy di posizionamento:
compute.resourcePolicies.create
sul progetto -
Per applicare una policy di posizionamento a istanze esistenti:
compute.instances.addResourcePolicies
sul progetto -
Per creare istanze:
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 assegnare una rete legacy alla VM:
compute.networks.use
sul progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.use
sul progetto - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy:
compute.networks.useExternalIp
sul progetto - Per specificare una subnet per la VM:
compute.subnetworks.use
sul progetto o sulla subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC:
compute.subnetworks.useExternalIp
sul progetto o sulla subnet scelta - 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 da utilizzare per la VM:
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 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
sul progetto -
Per creare un template di istanza:
compute.instanceTemplates.create
sul progetto -
Per creare un gruppo di istanze gestite (MIG):
compute.instanceGroupManagers.create
sul progetto -
Per visualizzare i dettagli di un'istanza:
compute.instances.get
sul progetto
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Crea una policy di posizionamento compatto
Prima di creare una policy di posizionamento compatto, considera quanto segue:
Se vuoi applicare una policy di posizionamento compatto a un'istanza di calcolo diversa da N2 o N2D, ti consigliamo di specificare un valore di distanza massima.
Puoi applicare policy di posizionamento compatto solo alle istanze A4 o A3 Ultra di cui è stato eseguito il deployment utilizzando il modello di provisioning con prenotazione. Per maggiori informazioni, consulta Panoramica della gestione dei cluster nella documentazione di AI Hypercomputer.
Per impostazione predefinita, non è possibile applicare policy di posizionamento compatto con un valore di distanza massima alle istanze A3 Mega, A3 High o A3 Edge. Per richiedere l'accesso a questa funzionalità, contatta il tuo Technical Account Manager (TAM) di riferimento o il team di vendita.
Per creare una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per applicare la policy di posizionamento compatto a istanze N2 o N2D, crea la policy 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 della policy di posizionamento compatto.REGION
: la regione in cui creare la policy di posizionamento.
Per applicare la policy di posizionamento compatto a qualsiasi altra istanza supportata, crea la policy 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 della policy di posizionamento compatto.MAX_DISTANCE
: la configurazione della distanza massima per le istanze. Il valore deve essere compreso tra1
, che specifica la collocazione delle istanze nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica la collocazione delle istanze in cluster adiacenti. Se vuoi applicare la policy di posizionamento compatto a una prenotazione o a un'istanza A4 o A3 Ultra, non puoi specificare il valore1
.REGION
: la regione in cui creare la policy di posizionamento.
REST
Per applicare la policy di posizionamento compatto a istanze N2 o N2D, creala 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 la policy di posizionamento.REGION
: la regione in cui creare la policy di posizionamento.POLICY_NAME
: il nome della policy di posizionamento compatto.
Per applicare la policy di posizionamento compatto a qualsiasi altra istanza supportata, crea la policy 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 la policy di posizionamento.REGION
: la regione in cui creare la policy di posizionamento.POLICY_NAME
: il nome della policy di posizionamento compatto.MAX_DISTANCE
: la configurazione della distanza massima per le istanze. Il valore deve essere compreso tra1
, che specifica la collocazione delle istanze nello stesso rack per la latenza di rete più bassa possibile, e3
, che specifica la collocazione delle istanze in cluster adiacenti. Se vuoi applicare la policy di posizionamento compatto a una prenotazione o a un'istanza A4 o A3 Ultra, non puoi specificare il valore1
.
Applica una policy di posizionamento compatto
Puoi applicare una policy di posizionamento compatto a un'istanza di calcolo o a un gruppo di istanze gestite (MIG) esistente oppure quando crei istanze, modelli di istanza, MIG o prenotazioni di istanze.
Per applicare una policy di posizionamento compatto a una risorsa Compute Engine, seleziona uno dei seguenti metodi:
- Applica la policy a un'istanza esistente.
- Applica la policy durante la creazione di un'istanza.
- Applica la policy durante la creazione di istanze in blocco.
- Applica la policy durante la creazione di una prenotazione.
- Applica la policy durante la creazione di un template di istanza.
- Applica la policy alle istanze in un MIG.
Dopo aver applicato una policy di posizionamento compatto a un'istanza, puoi verificare la posizione fisica dell'istanza in relazione ad altre istanze per le quali è specificata la stessa policy di posizionamento.
Applica la policy a un'istanza esistente
Prima di applicare una policy di posizionamento compatto a un'istanza di calcolo esistente, assicurati di quanto segue:
L'istanza e la policy di posizionamento compatto devono trovarsi nella stessa regione. Ad esempio, se la policy di posizionamento si trova nella regione
us-central1
, l'istanza deve trovarsi in una zona all'interno dius-central1
. Se devi eseguire la migrazione di un'istanza in un'altra regione, vedi Sposta un'istanza tra zone o regioni.L'istanza deve utilizzare una serie di macchine supportata e una policy di manutenzione dell'host. Se devi apportare modifiche all'istanza, esegui una o entrambe le seguenti operazioni:
In caso contrario, l'applicazione della policy di posizionamento compatto all'istanza non va a buon fine. Se l'istanza specifica già una policy di posizionamento che vuoi sostituire, vedi Sostituisci una policy di posizionamento in un'istanza.
Per applicare una policy di posizionamento compatto a un'istanza esistente, seleziona una delle seguenti opzioni:
gcloud
Per applicare una policy di posizionamento compatto a un'istanza esistente, utilizza il comando
gcloud compute instances add-resource-policies
.gcloud compute instances add-resource-policies INSTANCE_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome di un'istanza esistentePOLICY_NAME
: il nome di una policy di posizionamento compatto esistente.ZONE
: la zona in cui si trova l'istanza
REST
Per applicare una policy di posizionamento compatto a un'istanza esistente, invia una richiesta
POST
al metodoinstances.addResourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trovano la policy di posizionamento compatto e l'istanza.ZONE
: la zona in cui si trova l'istanzaINSTANCE_NAME
: il nome di un'istanza esistenteREGION
: la regione in cui si trova la policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.
Applica la policy durante la creazione di un'istanza
Puoi creare un'istanza di Compute che specifica una policy di posizionamento compatto solo nella stessa regione della policy di posizionamento.
Per creare un'istanza che specifica una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare un'istanza che specifica una policy di posizionamento compatto, utilizza il comando
gcloud compute instances create
con i flag--maintenance-policy
e--resource-policies
.gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza da creare.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.ZONE
: la zona in cui creare l'istanza
REST
Per creare un'istanza che specifica una policy 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": "INSTANCE_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:
PROJECT_ID
: l'ID del progetto in cui si trova la policy di posizionamento compatto.ZONE
: la zona in cui creare l'istanza e in cui si trova il tipo di macchina. Puoi specificare solo una zona nella regione della policy di posizionamento compatto.INSTANCE_NAME
: il nome dell'istanza da creare.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.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
. In questo modo, viene specificata 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.
REGION
: la regione in cui si trova la policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.
Per saperne di più sulle opzioni di configurazione per la creazione di un'istanza, vedi Crea e avvia un'istanza.
Applica la policy durante la creazione di istanze in blocco
Puoi creare istanze di computing in blocco con una policy di posizionamento compatto solo all'interno della stessa regione della policy di posizionamento.
Per creare in blocco istanze che specificano una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare in blocco istanze che specificano una policy di posizionamento compatto, utilizza il comando
gcloud compute instances bulk create
con i flag--maintenance-policy
e--resource-policies
.Ad esempio, per creare istanze in blocco in un'unica zona e specificare un pattern del nome per le istanze, 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:
COUNT
: il numero di istanze da creare, che non può essere superiore al numero massimo di istanze supportate previsto dalla policy di posizionamento compatto specificata.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.NAME_PATTERN
: il pattern del nome per le istanze. Per sostituire una sequenza di numeri in un nome dell'istanza, utilizza una sequenza di caratteri hash (#
). Ad esempio, l'utilizzo divm-#
per il pattern del nome genera istanze con nomi che iniziano convm-1
,vm-2
e via di seguito fino al numero di VM specificato daCOUNT
.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.ZONE
: la zona in cui creare le istanze in blocco.
REST
Per creare in blocco istanze che specificano una policy di posizionamento compatto, invia una richiesta
POST
al metodoinstances.bulkInsert
. Nel corpo della richiesta, includi i campionHostMaintenance
eresourcePolicies
.Ad esempio, per creare in blocco più istanze in un'unica zona e specificare un pattern di nomi per le istanze, invia una richiesta
POST
nel modo seguente: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:
PROJECT_ID
: l'ID del progetto in cui si trova la policy di posizionamento compatto.ZONE
: la zona in cui creare le istanze in blocco.COUNT
: il numero di istanze da creare, che non può essere superiore al numero massimo di istanze supportate previsto dalla policy di posizionamento compatto specificata.NAME_PATTERN
: il pattern del nome per le istanze. Per sostituire una sequenza di numeri in un nome dell'istanza, utilizza una sequenza di caratteri hash (#
). Ad esempio, l'utilizzo divm-#
per il pattern del nome genera istanze con nomi che iniziano convm-1
,vm-2
e via di seguito fino al numero di VM specificato daCOUNT
.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.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
. In questo modo, viene specificata 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.
REGION
: la regione in cui si trova la policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.
Per saperne di più sulle opzioni di configurazione per creare istanze in blocco, vedi Creare istanze in blocco.
Applica la policy durante la creazione di una prenotazione
Se vuoi creare una prenotazione on demand per un singolo progetto che specifichi una policy di posizionamento compatto, devi creare una prenotazione con target specifico. Quando crei istanze per consumare la prenotazione, assicurati di quanto segue:
Le istanze devono specificare la stessa policy di posizionamento compatto applicata alla prenotazione.
Per poter consumare la prenotazione, quest'ultima deve essere un target specifico delle istanze. Per maggiori informazioni, vedi Utilizza istanze da una prenotazione specifica.
Per creare una prenotazione per un singolo progetto con una policy di posizionamento compatto, seleziona uno dei seguenti metodi:
Crea la prenotazione specificando direttamente le proprietà come descritto in questa sezione.
Applica la policy durante la creazione di un template di istanza come descritto in questo documento, quindi crea una prenotazione per un singolo progetto specificando il template di istanza appena creato.
Per creare una prenotazione per un singolo progetto con una policy di posizionamento compatto specificando direttamente le proprietà, seleziona una delle seguenti opzioni:
gcloud
Per creare una prenotazione di un singolo progetto con una policy 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_INSTANCES \ --zone=ZONE
Sostituisci quanto segue:
RESERVATION_NAME
: il nome della prenotazione.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.NUMBER_OF_INSTANCES
: il numero di istanze da prenotare, che non può essere superiore al numero massimo di istanze supportate previsto dalla policy di posizionamento compatto specificata.ZONE
: la zona in cui prenotare le istanze. Puoi prenotare le istanze solo in una zona della regione della policy di posizionamento compatto specificata.
REST
Per creare una prenotazione per un singolo progetto con una policy 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_INSTANCES", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova la policy di posizionamento compatto.ZONE
: la zona in cui prenotare le istanze. Puoi prenotare le istanze solo in una zona della regione della policy di posizionamento compatto specificata.RESERVATION_NAME
: il nome della prenotazione.REGION
: la regione in cui si trova la policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.NUMBER_OF_INSTANCES
: il numero di istanze da prenotare, che non può essere superiore al numero massimo di istanze supportate previsto dalla policy di posizionamento compatto specificata.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.
Per saperne di più sulle opzioni di configurazione per la creazione di prenotazioni per un singolo progetto, vedi Crea una prenotazione per un singolo progetto.
Applica la policy durante la creazione di un template di istanza
Se vuoi creare un template di istanza regionale, devi crearlo nella stessa regione della policy di posizionamento compatto. In caso contrario, la creazione del template di istanza non andrà a buon fine.
Dopo aver creato un template di istanza che specifica una policy di posizionamento compatto, puoi utilizzarlo per eseguire le seguenti operazioni:
Per creare un template di istanza che specifica una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare un template di istanza che specifica una policy di posizionamento compatto, utilizza il comando
gcloud compute instance-templates create
con i flag--maintenance-policy
e--resource-policies
.Ad esempio, per creare un template di istanza globale che specifica una policy 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:
INSTANCE_TEMPLATE_NAME
: il nome del template di istanza.MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.
REST
Per creare un template di istanza che specifichi una policy di posizionamento compatto, invia una richiesta
POST
a uno dei seguenti metodi:Per creare un template di istanza globale: metodo
instanceTemplates.insert
.Per creare un template di istanza regionale: metodo
regionInstanceTemplates.insert
.
Nel corpo della richiesta, includi i campi
onHostMaintenance
eresourcePolicies
.Ad esempio, per creare un template di istanza globale che specifichi una policy 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:
PROJECT_ID
: l'ID del progetto in cui si trova la policy di posizionamento compatto.INSTANCE_TEMPLATE_NAME
: il nome del template di istanza.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
. In questo modo, viene specificata 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.
MACHINE_TYPE
: un tipo di macchina supportato per le policy di posizionamento compatto.POLICY_NAME
: il nome di una policy di posizionamento compatto esistente.MAINTENANCE_POLICY
: la policy di manutenzione dell'host dell'istanza. Se la policy di posizionamento compatto che specifichi utilizza un valore di distanza massima pari a1
o2
oppure il tipo di macchina scelto non supporta la migrazione live, puoi specificare soltantoTERMINATE
. In caso contrario, puoi specificareMIGRATE
oTERMINATE
.
Per saperne di più sulle opzioni di configurazione per creare un template di istanza, vedi Crea template di istanza.
Applica la policy alle istanze in un MIG
Dopo aver creato un template di istanza che specifica una policy di posizionamento compatto, puoi utilizzarlo per eseguire le seguenti operazioni:
Applica la policy durante la creazione di un MIG
Puoi creare istanze di computing che specificano una policy di posizionamento compatto solo se le istanze si trovano nella stessa regione della policy di posizionamento.
Per creare un MIG utilizzando un template di istanza che specifica una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per creare un MIG utilizzando un template di istanza che specifica una policy di posizionamento compatto, utilizza il comando
gcloud compute instance-groups managed create
.Ad esempio, per creare un MIG a livello di zona utilizzando un template di istanza globale che specifica una policy 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:
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite da creareSIZE
: la dimensione del MIG.INSTANCE_TEMPLATE_NAME
: il nome di un template di istanza globale esistente che specifica una policy di posizionamento compatto.ZONE
: la zona in cui creare il MIG, che deve trovarsi nella regione in cui si trova la policy di posizionamento compatto.
REST
Per creare un MIG utilizzando un template di istanza che specifica una policy di posizionamento compatto, invia una richiesta
POST
a uno dei seguenti metodi:Per creare un MIG a livello di zona: metodo
instanceGroupManagers.insert
.Per creare un MIG a livello di regione: metodo
regionInstanceGroupManagers.insert
.
Ad esempio, per creare un MIG a livello di zona utilizzando un template di istanza globale che specifica una policy di posizionamento compatto, effettua 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:
PROJECT_ID
: l'ID del progetto in cui si trovano la policy di posizionamento compatto e il template di istanza che la specifica.ZONE
: la zona in cui creare il MIG, che deve trovarsi nella regione in cui si trova la policy di posizionamento compatto.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite da creareINSTANCE_TEMPLATE_NAME
: il nome di un template di istanza globale esistente che specifica una policy di posizionamento compatto.SIZE
: la dimensione del MIG.
Per saperne di più sulle opzioni di configurazione per la creazione di MIG, vedi Scenari di base per la creazione di gruppi di istanze gestite (MIG).
Applica la policy a un MIG esistente
Puoi applicare una policy di posizionamento compatto a un MIG esistente solo se quest'ultimo si trova nella stessa regione della policy di posizionamento o, per i MIG a livello di zona, in una zona all'interno della stessa regione della policy di posizionamento.
Per aggiornare un MIG in modo che utilizzi un template di istanza che specifica una policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per aggiornare un MIG in modo che utilizzi un template di istanza che specifica una policy di posizionamento compatto, utilizza il comando
gcloud compute instance-groups managed rolling-action start-update
.Ad esempio, per aggiornare un MIG a livello di zona in modo che utilizzi un template di istanza che specifica una policy di posizionamento compatto e sostituire le istanze esistenti del MIG con nuove istanze che specificano le proprietà del template, 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:
MIG_NAME
: il nome di un MIG esistente.INSTANCE_TEMPLATE_NAME
: il nome di un template di istanza globale esistente che specifica una policy di posizionamento compatto.ZONE
: la zona in cui si trova il MIG. Puoi applicare la policy di posizionamento compatto solo a un MIG che si trova nella sua stessa regione.
REST
Per aggiornare un MIG in modo che utilizzi un template di istanza che specifica una policy di posizionamento compatto e applicare automaticamente le proprietà del template e della policy di posizionamento alle istanze esistenti nel MIG, invia una richiesta
PATCH
a uno dei seguenti metodi: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
Ad esempio, per aggiornare un MIG a livello di zona in modo che utilizzi un template di istanza globale che specifica una policy di posizionamento compatto e sostituire le istanze esistenti del MIG con nuove istanze che specificano le proprietà del template, 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:
PROJECT_ID
: l'ID del progetto in cui si trovano il MIG, la policy di posizionamento compatto e il template di istanza che specifica la policy di posizionamento compatto.ZONE
: la zona in cui si trova il MIG. Puoi applicare la policy di posizionamento compatto solo a un MIG che si trova nella sua stessa regione.MIG_NAME
: il nome di un gruppo di istanze gestite esistenteINSTANCE_TEMPLATE_NAME
: il nome di un template di istanza globale esistente che specifica una policy di posizionamento compatto.
Per saperne di più sulle opzioni di configurazione per aggiornare le istanze in un MIG, vedi Aggiorna e applica nuove configurazioni alle istanze in un MIG.
Verifica la posizione fisica di un'istanza
Dopo aver applicato una policy di posizionamento compatto a un'istanza di computing, puoi visualizzare la posizione fisica dell'istanza rispetto ad altre istanze. Questo confronto è limitato alle istanze che si trovano nel tuo progetto e che specificano la stessa policy di posizionamento compatto. La visualizzazione della posizione fisica di un'istanza ti consente di eseguire le seguenti operazioni:
Verificare che la policy sia stata applicata correttamente.
Identificare le istanze più vicine tra loro.
Per visualizzare la posizione fisica di un'istanza in relazione ad altre istanze che specificano la stessa policy di posizionamento compatto, seleziona una delle seguenti opzioni:
gcloud
Per visualizzare la posizione fisica di un'istanza che specifica una policy di posizionamento compatto, utilizza il comando
gcloud compute instances describe
con il flag--format
.gcloud compute instances describe INSTANCE_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome di un'istanza esistente che specifica una policy di posizionamento compatto.ZONE
: la zona in cui si trova l'istanza
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
è formato da tre parti, che rappresentano rispettivamente il cluster, il rack e l'host in cui si trova l'istanza.Quando confronti la posizione di due istanze che utilizzano la stessa policy di posizionamento compatto nel tuo progetto, più parti del campo
PHYSICAL_HOST
sono condivise dalle istanze, più queste sono vicine fisicamente. Ad esempio, supponiamo che due istanze specifichino entrambe uno dei seguenti valori di esempio per il campoPHYSICAL_HOST
:/CCCCCCC/xxxxxx/xxxx
: le due istanze si trovano nello stesso cluster, il che corrisponde a un valore di distanza massima pari a2
. Le istanze posizionate nello stesso cluster presentano una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due istanze si trovano nello stesso rack, il che corrisponde a un valore di distanza massima pari a1
. Le istanze posizionate nello stesso rack presentano una latenza di rete inferiore rispetto alle istanze posizionate nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due istanze condividono lo stesso host. Le istanze posizionate nello stesso host riducono la latenza di rete al minimo valore possibile.
REST
Per visualizzare la posizione fisica di un'istanza che specifica una policy di posizionamento compatto, invia una richiesta
GET
al metodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui si trova l'istanzaZONE
: la zona in cui si trova l'istanzaINSTANCE_NAME
: il nome di un'istanza esistente che specifica una policy di posizionamento compatto.
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
è formato da tre parti, che rappresentano rispettivamente il cluster, il rack e l'host in cui si trova l'istanza.Quando confronti la posizione di due istanze che utilizzano la stessa policy di posizionamento compatto nel tuo progetto, più parti del campo
physicalHost
sono condivise dalle istanze, più queste sono vicine fisicamente. Ad esempio, supponiamo che due istanze specifichino entrambe uno dei seguenti valori di esempio per il campophysicalHost
:/CCCCCCC/xxxxxx/xxxx
: le due istanze si trovano nello stesso cluster, il che corrisponde a un valore di distanza massima pari a2
. Le istanze posizionate nello stesso cluster presentano una bassa latenza di rete./CCCCCCC/BBBBBB/xxxx
: le due istanze si trovano nello stesso rack, il che corrisponde a un valore di distanza massima pari a1
. Le istanze posizionate nello stesso rack presentano una latenza di rete inferiore rispetto alle istanze posizionate nello stesso cluster./CCCCCCC/BBBBBB/AAAA
: le due istanze condividono lo stesso host. Le istanze posizionate nello stesso host riducono la latenza di rete al minimo valore possibile.
Passaggi successivi
Scopri come visualizzare le policy di posizionamento.
Scopri come sostituire, rimuovere o eliminare le policy di posizionamento.
Scopri come eseguire le seguenti operazioni con un'istanza di computing che specifica una policy di posizionamento:
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 2025-10-18 UTC.
-