Riduci la latenza utilizzando i criteri di posizionamento compatto


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

R criterio di posizionamento compatto specifica che le VM devono essere fisicamente posizionate più vicine tra loro. Questo può aiutare a migliorare le prestazioni e a ridurre la latenza di rete tra le VM quando, ad esempio, Ad esempio, esegui il computing ad alte prestazioni (HPC), il machine learning (ML) carichi di lavoro del server di database.

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

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

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

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

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e applicare un criterio di posizionamento compatto alle VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

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

  • 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 sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly nello snapshot
    • Per utilizzare un modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly nel modello di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use nel progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use nel progetto
    • Per assegnare un indirizzo IP esterno alla VM quando 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 per consentire alla VM di utilizzare: 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: compute.instanceGroupManagers.create nel progetto
  • Per visualizzare i dettagli di una VM: compute.instances.get nel progetto

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Crea un criterio di posizionamento compatto

A meno che tu non voglia applicare un criterio di posizionamento compatto alle VM N2 o N2D, Google Cloud consiglia di specificare un valore di distanza massima durante la creazione del criterio. Per ulteriori informazioni, vedi Come funzionano i criteri di posizionamento compatto.

Per creare un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:

gcloud

  • Per applicare il criterio di posizionamento compatto alle VM N2 o N2D, crea il criterio utilizzando il comando gcloud compute resource-policies create group-placement con il flag --collocation=collocated.

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

    Sostituisci quanto segue:

    • POLICY_NAME: il nome del posizionamento compatto .

    • REGION: la regione in cui creare l'elemento criterio di posizionamento.

  • Per applicare il criterio di posizionamento compatto a qualsiasi altra VM supportata, crea il criterio utilizzando Comando gcloud beta compute resource-policies create group-placement con i flag --collocation=collocated e --max-distance.

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

    Sostituisci quanto segue:

    • POLICY_NAME: il nome del posizionamento compatto .

    • MAX_DISTANCE: 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 la latenza di rete più bassa possibile, e 3, che specifica di collocare le VM in cluster adiacenti. Se vuoi applicare il criterio di posizionamento compatto a una non puoi specificare il valore 1.

    • REGION: la regione in cui creare l'elemento criterio di posizionamento.

REST

  • Per applicare il criterio di posizionamento compatto alle VM N2 o N2D, crea il inoltrando 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 l'elemento criterio di posizionamento.

    • POLICY_NAME: il nome del posizionamento compatto .

  • Per applicare il criterio di posizionamento compatto a qualsiasi altra VM supportata, crealo inviando una richiesta POST al metodo beta.resourcePolicies.insert. Nel corpo della richiesta, includi quanto segue:

    • Il campo collocation impostato su COLLOCATED.

    • 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 per creare il criterio di posizionamento.

    • REGION: la regione in cui creare il criterio di posizionamento.

    • POLICY_NAME: il nome del criterio di posizionamento compatto.

    • MAX_DISTANCE: la configurazione della distanza massima per le VM. Il valore deve essere compreso tra 1, che specifica per Collocare le VM nello stesso rack per ottenere la latenza di rete più bassa possibile e 3, che specifica di collocare le VM in cluster. Se vuoi applicare il criterio di posizionamento compatto a una non puoi specificare il valore 1.

Applica un criterio di posizionamento compatto

Puoi applicare un criterio di posizionamento compatto a una VM o a un gruppo di istanze gestite esistente oppure quando crei VM, modelli di istanza, gruppi di istanze gestite o prenotazioni di VM.

Per applicare un criterio di posizionamento compatto a una risorsa Compute Engine, seleziona uno dei seguenti metodi:

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

Applica il criterio a una VM esistente

Prima di applicare un criterio di posizionamento compatto a una VM esistente, assicurati che seguenti:

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, quindi consulta 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

  1. Arresta la VM.

  2. Per applicare un criterio di posizionamento compatto a una VM esistente, utilizza Comando gcloud compute instances add-resource-policies.

    gcloud compute instances add-resource-policies VM_NAME \
        --resource-policies=POLICY_NAME \
        --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome di una VM esistente.

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

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

  3. Riavvia la VM.

REST

  1. Arresta la VM.

  2. Per applicare un criterio di posizionamento compatto a una VM esistente, invia una richiesta POST al metodo instances.addResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui il criterio di posizionamento compatto e la VM.

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

    • VM_NAME: il nome di una VM esistente.

    • REGION: la regione in cui il posizionamento compatto .

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

  3. Riavvia la VM.

Applica il criterio durante la creazione di una VM

Puoi creare una VM che specifica un criterio di posizionamento compatto solo nella stessa regione del criterio di posizionamento.

Per creare una VM che specifica un criterio di posizionamento compatto, seleziona una delle le seguenti opzioni:

gcloud

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

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

Sostituisci quanto segue:

  • 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 massimo un valore di distanza pari a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

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

  • ZONE: la zona in cui creare la VM.

REST

Per creare una VM che specifica un criterio di posizionamento compatto, invia una richiesta POST al metodo instances.insert. Nel corpo della richiesta, includi i campi onHostMaintenance e resourcePolicies.

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ],
  "scheduling": {
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il regolamento relativo al posizionamento compatto.

  • ZONE: la zona in cui creare la VM e in cui del tipo di macchina. Puoi specificare una zona solo all'interno della regione del criterio di posizionamento compatto.

  • VM_NAME: il nome della VM da creare.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

  • IMAGE_PROJECT: il progetto immagine che contiene immagine, ad esempio debian-cloud. Per ulteriori informazioni sui per i progetti immagine supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattato come family/IMAGE_FAMILY. Questo specifica l'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifica family/debian-12, la versione più recente in Debian 12 famiglia di immagini. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • REGION: la regione in cui si trova il criterio di posizionamento compatto.

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

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore massimo un valore di distanza pari a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

Per saperne di più sulle opzioni di configurazione per creare una VM, consulta Crea e avvia un'istanza VM.

Applica il criterio durante la creazione collettiva delle VM

Puoi creare VM collettivamente solo con un criterio di posizionamento compatto nella stessa regione del criterio di posizionamento.

Per creare collettivamente VM che specificano un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:

gcloud

Per creare collettivamente VM che specificano un criterio di posizionamento compatto, utilizza Comando gcloud compute instances bulk create con i flag --maintenance-policy e --resource-policies.

Ad esempio, per creare più VM contemporaneamente in un'unica zona e specificare un pattern di nomi per le VM, esegui il seguente comando:

gcloud compute instances bulk create \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --name-pattern=NAME_PATTERN \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • COUNT: il numero di VM da creare, che non può essere superiore a numero massimo di VM supportato del criterio di posizionamento compatto specificato.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore massimo un valore di distanza pari a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

  • NAME_PATTERN: il pattern del nome delle VM. A sostituisci una sequenza di numeri nel nome di una VM, utilizza una sequenza di hash (#) caratteri. Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e continuano fino al numero di VM specificato da COUNT.

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

  • ZONE: la zona in cui creare le VM collettivamente.

REST

Per creare collettivamente VM che specificano un criterio di posizionamento compatto, crea un POST richiesta alla Metodo instances.bulkInsert. Nel corpo della richiesta, includi i campi onHostMaintenance e resourcePolicies.

Ad esempio, per creare più VM in un'unica zona e specificare un pattern di nomi per le VM, invia una richiesta POST come segue:

POST https://www.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 il regolamento relativo al posizionamento compatto.

  • ZONE: la zona in cui creare le VM collettivamente.

  • COUNT: il numero di VM da creare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.

  • NAME_PATTERN: il pattern del nome delle VM. Per sostituire una sequenza di numeri nel nome di una VM, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di vm-# per il pattern del nome genera VM con nomi che iniziano con vm-1, vm-2 e continuano fino al numero di VM specificato da COUNT.

        with names starting with `vm-1`, `vm-2`, and continuing up to the number
    

    delle VM specificate da COUNT.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

  • IMAGE_PROJECT: il progetto immagine che contiene l'immagine, ad esempio debian-cloud. Per ulteriori informazioni sui per i progetti immagine supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. Questo specifica l'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifica family/debian-12, la versione più recente in Debian 12 famiglia di immagini. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • REGION: la regione in cui il criterio di posizionamento compatto in cui viene localizzato.

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

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore massimo un valore di distanza pari a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

Per ulteriori informazioni sulle opzioni di configurazione per creare più VM contemporaneamente, consulta Creare più VM contemporaneamente.

Applicare il criterio durante la creazione di una prenotazione

Se vuoi creare una prenotazione on demand per un singolo progetto che specifichi un criterio di posizionamento compatto, devi creare una prenotazione con targeting specifico. Quando crei le VM per utilizzare la prenotazione, assicurati di quanto segue:

  • 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 Utilizzare le VM da una prenotazione specifica.

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 Comando gcloud compute reservations create con --require-specific-reservation e --resource-policies=policy e i flag facoltativi.

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:

  • RESERVATION_NAME: il nome della prenotazione.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

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

  • NUMBER_OF_VMS: il numero di VM da prenotare, che non può essere superiore al numero massimo di VM supportate del criterio di posizionamento compatto specificato.

  • ZONE: la zona in cui prenotare le VM. Puoi prenotare VM solo in una zona all'interno della regione del criterio di posizionamento compatto specificato.

REST

Per creare una prenotazione di un singolo progetto con un criterio di posizionamento compatto specificando direttamente le proprietà, invia una richiesta POST al metodo reservations.insert. Nel corpo della richiesta, includi il campo resourcePolicies e il Campo specificReservationRequired impostato su true.

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:

  • PROJECT_ID: l'ID del progetto in cui si trova il regolamento relativo al posizionamento compatto.

  • ZONE: la zona in cui prenotare le VM. Puoi prenotare VM solo in una zona all'interno della regione del criterio di posizionamento compatto specificato.

  • RESERVATION_NAME: il nome della prenotazione.

  • REGION: la regione in cui il criterio di posizionamento compatto in cui viene localizzato.

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

  • NUMBER_OF_VMS: il numero di VM da prenotare, che non può essere superiore a numero massimo di VM supportato del criterio di posizionamento compatto specificato.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

Per ulteriori informazioni sulle opzioni di configurazione per creare prenotazioni per un singolo progetto, consulta Creare una prenotazione per un singolo progetto.

Applicare il criterio durante la creazione di un modello di istanza

Se vuoi creare un modello di istanza regionale, devi creare il modello nella stessa regione del criterio di posizionamento compatto. Altrimenti, la creazione l'errore del modello di istanza.

Dopo aver creato un modello di istanza che specifica un criterio di posizionamento compatto, puoi utilizzarlo per:

Per creare un modello di istanza che specifica un criterio di posizionamento compatto, seleziona una delle seguenti opzioni:

gcloud

Per creare un modello di istanza che specifichi un criterio di posizionamento compatto, utilizza la Comando gcloud compute instance-templates create con i flag --maintenance-policy e --resource-policies.

Ad esempio, per creare un modello di istanza globale che specifichi un criterio di posizionamento compatto, esegui il seguente comando:

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

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome dell'istanza modello.

  • 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 a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

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

REST

Per creare un modello di istanza che specifichi un criterio di posizionamento compatto, invia una richiesta POST a uno dei seguenti metodi:

Nel corpo della richiesta, includi i campi onHostMaintenance e resourcePolicies.

Ad esempio, per creare un modello di istanza globale che specifichi un criterio di posizionamento compatto, effettua una richiesta POST come segue:

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

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il regolamento relativo al posizionamento compatto.

  • INSTANCE_TEMPLATE_NAME: il nome dell'istanza modello.

  • IMAGE_PROJECT: il progetto immagine che contiene immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine del sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattato come family/IMAGE_FAMILY. Specifica l'immagine del sistema operativo più recente e non ritirata. Ad esempio, se specifichi family/debian-12, viene utilizzata la versione più recente della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • MACHINE_TYPE: un tipo di macchina supportato per i criteri di posizionamento compatto.

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

  • MAINTENANCE_POLICY: il criterio di manutenzione dell'host della VM. Se il criterio di posizionamento compatto specificato utilizza un valore di distanza massima pari a 1 o 2, puoi specificare solo TERMINATE. In caso contrario, puoi specificare MIGRATE o TERMINATE.

Per saperne di più sulle opzioni di configurazione per creare un modello di istanza, consulta Creare modelli di istanze.

Applica il criterio alle VM in un gruppo di istanze gestite

Dopo crea un modello di istanza che specifichi criterio di posizionamento compatto, puoi usare il modello per:

Applica il criterio durante la creazione di un gruppo di istanze gestite

Puoi creare VM che specificano un criterio di posizionamento compatto solo se le VM che si trovano nella stessa regione del criterio di posizionamento.

crea un gruppo di istanze gestite utilizzando un modello di istanza che specifica un posizionamento compatto. criterio, seleziona una delle seguenti opzioni:

gcloud

a creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un modello compatto criterio di posizionamento, utilizza Comando gcloud compute instance-groups managed create.

Ad esempio, per creare un gruppo di istanze gestite zonale utilizzando un modello di istanza globale che specifica un criterio di posizionamento compatto, esegui il seguente comando:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite da creare.

  • SIZE: la dimensione del gruppo di istanze gestite.

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

  • ZONE: la zona in cui creare il gruppo di istanze gestite, che deve trovarsi all'interno della regione in cui si trova il criterio di posizionamento compatto.

REST

Per creare un gruppo di istanze gestite utilizzando un modello di istanza che specifica un criterio di posizionamento compatto, invia una richiesta POST a uno dei seguenti metodi:

Ad esempio, per creare un gruppo di istanze gestite a livello di zona utilizzando un modello di istanza globale specifica un criterio 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 il criterio di posizionamento compatto e il modello di istanza che specifica il criterio di posizionamento.

  • ZONE: la zona in cui creare il gruppo di istanze gestite, che deve rientrare nella regione in cui si trova il criterio di posizionamento compatto.

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite da creare.

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

  • SIZE: la dimensione del gruppo di istanze gestite.

Per ulteriori informazioni sulle opzioni di configurazione per la creazione di gruppi di istanze gestite, consulta Scenari di base per la creazione di gruppi di istanze gestite.

Applica il criterio a un gruppo di istanze gestite esistente

Puoi applicare un criterio di posizionamento compatto a un gruppo di istanze gestite esistente solo se il gruppo di istanze gestite si trova nella stessa regione del criterio di posizionamento o, per i gruppi di istanze gestite zonali, in una zona all'interno della stessa regione del criterio di posizionamento.

Aggiornare un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifica un posizionamento compatto. criterio, seleziona una delle seguenti opzioni:

gcloud

aggiorna un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifichi criterio di posizionamento, utilizza Comando gcloud compute instance-groups managed rolling-action start-update.

Ad esempio, per aggiornare un gruppo di istanze gestite zonale in modo da utilizzare un modello di istanza che specifica un criterio di posizionamento compatto e sostituire le VM esistenti del gruppo di istanze gestite con nuove VM che specificano le proprietà del modello, 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 gruppo di istanze gestite esistente.

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

  • ZONE: la zona in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo MIG situato nella stessa regione del criterio di posizionamento.

REST

aggiorna un gruppo di istanze gestite in modo che utilizzi un modello di istanza che specifichi al criterio di posizionamento e applicare automaticamente le proprietà del modello il criterio di posizionamento alle VM esistenti nel gruppo di istanze gestite, effettua una richiesta PATCH a uno dei seguenti metodi:

Ad esempio, per aggiornare un gruppo di istanze gestite zonale in modo da utilizzare un modello di istanza globale che specifica un criterio di posizionamento compatto e sostituire le VM esistenti del gruppo di istanze gestite con nuove VM che specificano le proprietà del modello, effettua la seguente richiesta PATCH:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trovano il MIG, il criterio di posizionamento compatto e il modello di istanza che specifica il criterio di posizionamento.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite. Puoi applicare il criterio di posizionamento compatto solo a un gruppo di istanze gestite che si trova all'interno dello stesso regione come criterio di posizionamento.

  • MIG_NAME: il nome di un gruppo di istanze gestite esistente.

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

Per ulteriori informazioni sulle opzioni di configurazione per aggiornare le VM in un gruppo di istanze gestite, consulta la pagina relativa all'aggiornamento e all'applicazione di nuove configurazioni alle VM in un gruppo di istanze gestite.

Verifica la località fisica di una VM

Dopo aver applicato un criterio di posizionamento compatto a una VM, puoi visualizzare il modo in cui il criterio di posizionamento compatto ha influenzato la sua posizione fisica rispetto ad altri VM che specificano lo stesso criterio. Questo consente di determinare se la classe compatta il criterio di posizionamento è stato applicato correttamente a una VM e mappa le VM più vicine l'uno con l'altro.

verificare la posizione fisica di una VM che specifica un criterio di posizionamento in relazione alle altre VM, seleziona una delle seguenti opzioni:

gcloud

a visualizzare la posizione fisica di una VM che specifica un posizionamento compatto. utilizza 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. Questi ciascuna delle parti rappresenta il cluster, il rack e l'host in cui si trova la VM.

Quando si confronta la posizione di due VM che specificano lo stesso criterio di posizionamento compatto, più parti nel campo PHYSICAL_HOST sono condivise dalle VM, più sono vicine tra loro. Ad esempio, se due VM specifica uno dei seguenti valori di esempio per il campo PHYSICAL_HOST:

  • /CCCCCCC/xxxxxx/xxxx: le due VM sono posizionate stesso cluster, che equivale a un valore di distanza massima di 2. Le VM posizionate nello stesso cluster presentano una bassa latenza di rete.

  • /CCCCCCC/BBBBBB/xxxx: le due VM si trovano nello stesso rack, il che corrisponde a un valore di distanza massima di 1. VM posizionate in la stessa esperienza in un rack con latenza di rete più bassa 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 tanto quanto possibile.

REST

a visualizzare la posizione fisica di una VM che specifica un posizionamento compatto. criterio, 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. Questi componenti rappresentano ciascuno il cluster, il rack e l'host in cui si trova la VM.

Quando si confronta la posizione di due VM che specificano lo stesso criterio di posizionamento compatto, più parti nel campo physicalHost sono condivise dalle 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 di distanza massima di 2. VM posizionate nello stesso cluster hanno una bassa latenza di rete.

  • /CCCCCCC/BBBBBB/xxxx: le due VM si trovano nello stesso rack, il che corrisponde a un valore di distanza massima di 1. VM posizionate in la stessa esperienza in un rack con latenza di rete più bassa 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 tanto quanto possibile.

Passaggi successivi