Riduci la latenza utilizzando criteri di posizionamento compatti

Questo documento spiega come ridurre la latenza di rete tra le tue istanze di macchine virtuali (VM) creando e applicando criteri di posizionamento compatti.

Un criterio di posizionamento compatto specifica che le VM devono essere fisicamente più vicine tra loro. Ciò può contribuire a migliorare le prestazioni e ridurre la latenza di rete tra le tue VM quando, ad esempio, esegui carichi di lavoro di computing ad alte prestazioni (HPC), machine learning (ML) o server di database.

Puoi applicare un criterio di posizionamento compatto se:

  • Creare o aggiornare una VM.
  • Crea una prenotazione per un singolo progetto.
  • Creare un modello di istanza. Il modello di istanza applica quindi il criterio di posizionamento compatto quando lo utilizzi per eseguire le seguenti operazioni:
    • Creare una VM.
    • Crea o aggiorna un gruppo di istanze gestite.
    • Crea una prenotazione per un singolo progetto.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per 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 il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) per la VM o il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare e applicare un criterio di posizionamento compatto alle VM, sono necessarie le seguenti autorizzazioni:

  • Per creare criteri di posizionamento: compute.resourcePolicies.create sul progetto
  • Per applicare un criterio di posizionamento a una VM esistente: compute.instances.addResourcePolicies sul progetto
  • Per visualizzare i dettagli di una VM: compute.instances.get sul progetto

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Limitazioni

Oltre alle limitazioni generali per i criteri di posizionamento, i criteri di posizionamento compatto prevedono le seguenti restrizioni:

  • Per i criteri di posizionamento compatti, puoi utilizzare max-distance (anteprima) per controllare meglio la distanza di posizionamento delle VM. La tabella seguente indica il numero supportato di VM e il criterio di manutenzione dell'host per ogni valore max-distance:

    Valore max-distance Descrizione Numero massimo di VM Criterio di manutenzione dell'host supportato
    Non specificato In base alla disponibilità, le VM vengono posizionate il più vicino possibile l'una all'altra. 1500 Esegui migrazione o termina
    3 Le VM sono posizionate in cluster adiacenti per una bassa latenza. 1500 Esegui migrazione o termina
    2 Le VM sono posizionate in rack adiacenti e presentano una latenza di rete inferiore rispetto alle VM posizionate in cluster adiacenti. 150 Termina
    1 Le VM sono collocate nello stesso rack e riducono al minimo la latenza di rete il più possibile. 22 Termina
  • Puoi applicare un criterio di posizionamento compatto solo alle serie di macchine A2, A3, C2, C3, C2D, C3D, G2, H3, N2 e N2D. Se utilizzi max-distance durante la creazione di un criterio di posizionamento compatto, non puoi applicare il criterio alle serie di macchine A3, G2, N2 e N2D.

  • Non puoi applicare criteri di posizionamento compatti alle VM che specificano nodi single-tenant.

  • Se vuoi creare un criterio di posizionamento compatto per una prenotazione, consulta i requisiti aggiuntivi per le prenotazioni.

Crea un criterio di posizionamento compatto

Per creare un criterio di posizionamento compatto, utilizza uno dei seguenti metodi:

  • Opzione consigliata: senza un conteggio fisso.

    Puoi applicare un criterio di posizionamento compatto che non specifica un numero fisso di VM a un numero non specificato di VM. Questo rende il criterio di posizionamento compatto efficace indipendentemente dal numero di VM a cui lo applichi.

  • Con un conteggio fisso.

    Puoi applicare un criterio di posizionamento compatto che specifica un numero fisso di VM solo a un numero esatto di VM. In questo modo il criterio di posizionamento compatto diventa efficace solo se viene applicato al numero specificato di VM.

Senza un conteggio fisso

Puoi creare un criterio di posizionamento compatto utilizzando gcloud CLI e 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:

  • POLICY_NAME: il nome del criterio da creare.

  • REGION: la regione in cui creare il criterio. Se vuoi applicare il criterio di posizionamento compatto alle VM esistenti, crea il criterio in una regione contenente la zona in cui si trovano le VM.

Facoltativamente, per controllare meglio la distanza tra le VM in presenza di requisiti di latenza di rete rigorosi, puoi creare un criterio di posizionamento compatto 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 MAX_DISTANCE con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra 1, che specifica di collocare le VM nello stesso rack per ottenere la latenza di rete più bassa possibile, e 3, che specifica di posizionare le VM in cluster adiacenti. A seconda del tipo di macchina e della zona specificati nelle VM a cui applichi un criterio di posizionamento compatto, si applicano le seguenti condizioni:

  • Se una zona ha capacità disponibile, un criterio di posizionamento compatto con un valore maxDistance più alto (come 3) potrebbe far sì che le VM vengano posizionate più vicine tra loro.

  • Se una zona manca di capacità, un criterio di posizionamento compatto con un valore maxDistance inferiore (come 1) ha maggiori probabilità di causare l'errore di applicazione del criterio a una o più VM.

REST

Per creare un criterio di posizionamento compatto, effettua una richiesta POST al metodo resourcePolicies.insert. Nel corpo della richiesta, includi il campo collocation e impostalo su COLLOCATED.

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. Se vuoi applicare il criterio di posizionamento compatto alle VM esistenti, crea il criterio in una regione che contiene la zona in cui si trovano le VM.

  • POLICY_NAME: il nome del criterio di posizionamento compatto da creare.

Facoltativamente, per controllare meglio la distanza delle VM tra loro in presenza di requisiti di latenza di rete rigorosi, puoi creare un criterio di posizionamento compatto inviando una richiesta POST al metodo beta.resourcePolicies.insert. Nel corpo della richiesta, includi il campo collocation impostato su COLLOCATED e 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 MAX_DISTANCE con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra 1, che specifica di collocare le VM nello stesso rack per ottenere la latenza di rete più bassa possibile, e 3, che specifica di posizionare le VM in cluster adiacenti. A seconda del tipo di macchina e della zona specificati nelle VM a cui applichi un criterio di posizionamento compatto, si applicano le seguenti condizioni:

  • Se una zona ha capacità disponibile, un criterio di posizionamento compatto con un valore maxDistance più alto (come 3) potrebbe far sì che le VM vengano posizionate più vicine tra loro.

  • Se una zona manca di capacità, un criterio di posizionamento compatto con un valore maxDistance inferiore (come 1) ha maggiori probabilità di causare l'errore di applicazione del criterio a una o più VM.

Con conteggio fisso

Puoi creare un criterio di posizionamento compatto che specifichi un numero fisso di VM utilizzando gcloud CLI e REST.

gcloud

Per creare un criterio di posizionamento compatto che specifichi un numero fisso di VM, utilizza il comando gcloud compute resource-policies create group-placement con i flag --collocation=collocated e --vm-count.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --region=REGION \
    --vm-count=VM_COUNT

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio da creare.

  • REGION: la regione in cui creare il criterio. Se vuoi applicare il criterio di posizionamento compatto alle VM esistenti, crea il criterio in una regione contenente la zona in cui si trovano le VM.

  • VM_COUNT: il numero esatto di VM a cui è possibile applicare il criterio di posizionamento compatto. Il valore deve essere compreso tra 1 e il numero massimo di VM a cui puoi applicare il criterio di posizionamento compatto.

Facoltativamente, per controllare meglio la distanza tra le VM in presenza di requisiti di latenza di rete rigorosi, puoi creare un criterio di posizionamento compatto utilizzando il comando gcloud beta compute resource-policies create group-placement con i flag --collocation=collocated, --max-distance e --vm-count.

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION \
    --vm-count=VM_COUNT

Sostituisci MAX_DISTANCE con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra 1, che specifica di collocare le VM nello stesso rack per ottenere la latenza di rete più bassa possibile, e 3, che specifica di posizionare le VM in cluster adiacenti. A seconda del tipo di macchina e della zona specificati nelle VM a cui applichi un criterio di posizionamento compatto, si applicano le seguenti condizioni:

  • Se una zona ha capacità disponibile, un criterio di posizionamento compatto con un valore maxDistance più alto (come 3) potrebbe far sì che le VM vengano posizionate più vicine tra loro.

  • Se una zona manca di capacità, un criterio di posizionamento compatto con un valore maxDistance inferiore (come 1) ha maggiori probabilità di causare l'errore di applicazione del criterio a una o più VM.

REST

Per creare un criterio di posizionamento compatto che specifichi un numero fisso di VM, effettua una richiesta POST al metodo resourcePolicies.insert. Nel corpo della richiesta, includi il campo collocation impostato su COLLOCATED e il campo vmCount.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED",
    "vmCount": "VM_COUNT"
  }
}

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. Se vuoi applicare il criterio di posizionamento compatto alle VM esistenti, crea il criterio in una regione che contiene la zona in cui si trovano le VM.

  • POLICY_NAME: il nome del criterio di posizionamento compatto da creare.

  • VM_COUNT: il numero esatto di VM a cui è possibile applicare il criterio di posizionamento compatto. Il valore deve essere compreso tra 1 e il numero massimo di VM a cui puoi applicare il criterio di posizionamento compatto.

Facoltativamente, per controllare meglio la distanza delle VM tra loro in presenza di requisiti di latenza di rete rigorosi, puoi creare un criterio di posizionamento compatto inviando una richiesta POST al metodo beta.resourcePolicies.insert. Nel corpo della richiesta, includi il campo collocation impostato su COLLOCATED, il campo maxDistance e il campo vmCount.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED",
    "maxDistance": "MAX_DISTANCE",
    "vmCount": "VM_COUNT"
  }
}

Sostituisci MAX_DISTANCE con la configurazione della distanza massima per le tue VM. Il valore deve essere compreso tra 1, che specifica di collocare le VM nello stesso rack per ottenere la latenza di rete più bassa possibile, e 3, che specifica di posizionare le VM in cluster adiacenti. A seconda del tipo di macchina e della zona specificati nelle VM a cui applichi un criterio di posizionamento compatto, si applicano le seguenti condizioni:

  • Se una zona ha capacità disponibile, un criterio di posizionamento compatto con un valore maxDistance più alto (come 3) potrebbe far sì che le VM vengano posizionate più vicine tra loro.

  • Se una zona manca di capacità, un criterio di posizionamento compatto con un valore maxDistance inferiore (come 1) ha maggiori probabilità di causare l'errore di applicazione del criterio a una o più VM.

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 specifichi un criterio di posizionamento compatto, seleziona uno dei seguenti metodi:

Se vuoi specificare un criterio di posizionamento compatto quando crei una prenotazione per un singolo progetto specificando direttamente le proprietà, consulta Creare una prenotazione per un singolo progetto.

Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi verificare la posizione fisica di una VM in relazione ad altre VM che specificano lo stesso criterio.

Applica un criterio di posizionamento compatto a una VM esistente

Puoi applicare un criterio di posizionamento compatto a una VM esistente utilizzando gcloud CLI e REST.

Prima di applicare un criterio di posizionamento compatto a una VM esistente, verifica quanto segue:

In caso contrario, l'applicazione del criterio di posizionamento compatto a una VM esistente non va a buon fine.

gcloud

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.

REST

Per applicare un criterio di posizionamento compatto a una VM esistente, effettua una richiesta POST al metodo instances.addResourcePolicies con il campo resourcePolicies.

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.

Crea una VM che specifichi un criterio di posizionamento compatto

Puoi creare una VM che specifica un criterio di posizionamento compatto esistente utilizzando gcloud CLI e REST.

gcloud

Per creare una VM che specifichi un criterio di posizionamento compatto, utilizza il comando gcloud compute instances create con il flag --resource-policies.

Ad esempio, per creare una VM che specifica un tipo di macchina c2d-standard-2, esegui questo comando:

gcloud compute instances create VM_NAME \
    --machine-type=c2d-standard-2 \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM da creare.

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore max-distance pari a 1 o 2, puoi specificare soltanto TERMINATE. Altrimenti, puoi specificare MIGRATE o TERMINATE.

  • POLICY_NAME: il nome di un criterio di posizionamento compatto esistente.

  • ZONE: la zona in cui creare la VM. Puoi creare una VM solo in una zona che rientra nella regione del criterio di posizionamento compatto specificato.

REST

Per creare una VM che specifichi un criterio di posizionamento compatto, effettua una richiesta POST al metodo instances.insert con il campo resourcePolicies.

Ad esempio, per creare una VM che specifica un tipo di macchina c2d-standard-2, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "zones/ZONE/machineTypes/c2d-standard-2",
  "name": "VM_NAME",
  "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 il criterio di posizionamento compatto.

  • ZONE: la zona in cui creare la VM e dove si trova il tipo di macchina. Puoi creare una VM solo in una zona che rientra nella regione del criterio di posizionamento compatto specificato.

  • VM_NAME: il nome della VM da creare.

  • 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 max-distance pari a 1 o 2, puoi specificare soltanto TERMINATE. Altrimenti, puoi specificare MIGRATE o TERMINATE.

Per saperne di più sulle opzioni di configurazione e sui ruoli IAM per creare una VM, consulta Creare e avviare un'istanza VM.

Crea un modello di istanza che specifichi un criterio di posizionamento compatto

Puoi creare un modello di istanza che specifichi un criterio di posizionamento compatto esistente utilizzando gcloud CLI e REST.

Dopo aver creato un modello di istanza, puoi utilizzarlo per:

gcloud

Per creare un modello di istanza che specifichi 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 specifichi un tipo di macchina c2d-standard-2 e un criterio di posizionamento compatto esistente, esegui questo comando:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=c2d-standard-2 \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore max-distance pari a 1 o 2, puoi specificare soltanto TERMINATE. Altrimenti, puoi specificare MIGRATE o TERMINATE.

  • POLICY_NAME: il nome di un criterio di posizionamento compatto esistente.

REST

Per creare un modello di istanza che specifichi un criterio di posizionamento compatto, effettua una richiesta POST al metodo instanceTemplates.insert. Nel corpo della richiesta, specifica il campo resourcePolicies.

Ad esempio, per creare un modello di istanza globale che specifichi un tipo di macchina c2d-standard-2 e un criterio di posizionamento compatto esistente, effettua la seguente richiesta POST:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "machineType": "zones/ZONE/machineTypes/c2d-standard-2",
  "properties": {
    "resourcePolicies": {
      "POLICY_NAME"
    },
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il criterio di posizionamento compatto che vuoi applicare al modello di istanza.

  • ZONE: la zona in cui si trova il tipo di macchina.

  • INSTANCE_TEMPLATE_NAME: il nome del modello di istanza.

  • 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 max-distance pari a 1 o 2, puoi specificare soltanto TERMINATE. Altrimenti, puoi specificare MIGRATE o TERMINATE.

Per saperne di più 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 utilizzarlo per:

Se vuoi applicare un criterio di posizionamento compatto a un gruppo di istanze gestite, ti consigliamo di 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 che specifichi un criterio di posizionamento compatto

Puoi creare un gruppo di istanze gestite utilizzando un modello di istanza che specifichi un criterio di posizionamento compatto utilizzando gcloud CLI e REST.

gcloud

Per creare un gruppo di istanze gestite mediante un modello di istanza che specifichi 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 any-single-zone, 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:

  • 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 a quella 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.

REST

Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifichi un criterio di posizionamento compatto, invia una richiesta POST ai metodi instanceGroupManagers.insert o regionInstanceGroupManagers.insert con il campo instanceTemplate impostato sul nome del modello esistente.

Ad esempio, per creare un gruppo di istanze gestite a livello di regione con proprietà VM predefinite e forma di distribuzione qualsiasi-zona singola, effettua la seguente richiesta POST:

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:

  • 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 a quella 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.

Per saperne di più sulle opzioni di configurazione e sui ruoli IAM 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 utilizzando un modello di istanza che specifichi lo stesso criterio di posizionamento utilizzando gcloud CLI e REST.

gcloud

Per aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifichi un criterio di posizionamento compatto, utilizza il comando gcloud compute instance-groups managed rolling-action start-update con il flag --version=template.

Ad esempio, per aggiornare un gruppo di istanze gestite a livello di regione in modo da utilizzare 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:

  • 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 area geografica.

  • INSTANCE_TEMPLATE_NAME: il nome di un modello di istanza esistente che specifica un criterio di posizionamento compatto.

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, invia una richiesta PATCH a instanceGroupManagers.insert o regionInstanceGroupManagers.insert utilizzando il campo instanceTemplate.

Ad esempio, per aggiornare un gruppo di istanze gestite a livello di regione in modo da utilizzare 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:

  • 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 area geografica.

  • 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.

Per saperne di più sulle opzioni di configurazione e sui ruoli IAM 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 posizione fisica di una VM

Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi visualizzare in che modo il criterio di posizionamento compatto ha influenzato la sua posizione fisica in relazione ad altre VM che specificano lo stesso criterio. Ciò ti consente di determinare se il criterio di posizionamento compatto è stato applicato correttamente a una VM e di mappare le VM più vicine tra loro.

Puoi verificare la posizione fisica di una VM che specifica un criterio di posizionamento utilizzando gcloud CLI e REST.

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:

  • VM_NAME: il nome di una VM esistente.

  • ZONE: la zona in cui si trova la VM.

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. Ognuna di queste parti rappresenta 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 dalla VM, più sono vicine tra loro. Ad esempio, se due VM specificano entrambe uno dei seguenti valori di esempio per il campo PHYSICAL_HOST:

  • /CCCCCCC/xxxxxx/xxxx: le due VM si trovano nello stesso cluster, il che equivale a un valore max-distance pari a 2. Le VM posizionate nello stesso cluster hanno una bassa latenza di rete.

  • /CCCCCCC/BBBBBB/xxxx: le due VM sono posizionate nello stesso rack, il che equivale al valore max-distance di 1. 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 di rete il più possibile.

REST

Per visualizzare la posizione fisica di una VM che specifica un criterio di posizionamento compatto, invia una richiesta GET al metodo instances.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Sostituisci quanto segue:

  • 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.

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. Ognuna di queste parti rappresenta 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 dalla VM, più sono vicine tra loro. Ad esempio, se due VM specificano entrambe uno dei seguenti valori di esempio per il campo physicalHost:

  • /CCCCCCC/xxxxxx/xxxx: le due VM si trovano nello stesso cluster, il che equivale a un valore max-distance pari a 2. Le VM posizionate nello stesso cluster hanno una bassa latenza di rete.

  • /CCCCCCC/BBBBBB/xxxx: le due VM sono posizionate nello stesso rack, il che equivale al valore max-distance di 1. 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 di rete il più possibile.

Che cosa succede dopo?