Specifica una piattaforma CPU minima per le istanze VM

Questa pagina spiega come creare o aggiornare un'istanza di una macchina virtuale (VM) per utilizzare una piattaforma CPU minima anziché quella predefinita.

I data center di Google offrono diverse generazioni di processori CPU. Ogni piattaforma CPU supporta funzionalità incrementali come le estensioni vettoriali avanzate, ad esempio AVX2 e AVX-512. Inoltre, alcune funzionalità fondamentali relative ai sistemi, come la velocità di orologio e il tempo di ricerca dell'accesso alla memoria, possono variare da una piattaforma CPU all'altra.

Ogni serie di macchine è associata a una o più piattaforme CPU. Ad esempio, le VM N2 possono essere eseguite sulle CPU Ice Lake o Cascade Lake. Se per una serie di macchine sono disponibili più piattaforme CPU, puoi selezionare una piattaforma CPU minima quando crei una VM utilizzando un tipo di macchina di quella serie di macchine. La disponibilità di famiglia, serie, regione e zone determina la scelta per la piattaforma CPU minima.

Specificare una piattaforma CPU minima è utile se il carico di lavoro richiede miglioramenti in termini di prestazioni offerti dalla generazione di un processore specifico. Tuttavia, specificare una piattaforma CPU minima potrebbe limitare le zone in cui è possibile creare le VM.

Prima di iniziare

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

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    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, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per modificare la piattaforma CPU minima, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

  • Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1)
  • Per connetterti a una VM che può essere eseguita come account di servizio: Utente account di servizio (v1) (ruolo roles/iam.serviceAccountUser)

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Quando selezionare una piattaforma CPU minima

Molto probabilmente, non è necessario selezionare una piattaforma CPU minima. Ogni zona di Compute Engine ha una piattaforma CPU predefinita per ogni serie di macchine. Google cambia occasionalmente la CPU predefinita di una zona quando vengono aggiunti nuovi server. Se non specifichi una piattaforma CPU minima per una VM, quest'ultima ottiene la piattaforma CPU predefinita associata al tipo di macchina e alla zona.

Google consiglia di selezionare una piattaforma CPU minima solo nei seguenti casi:

  • Quando la piattaforma CPU minima offre miglioramenti significativi in termini di prestazioni per il carico di lavoro o se fornisce funzionalità come AVX2 o AVX-512 utilizzate dal codice.
  • Quando crei VM che utilizzano prenotazioni, devi specificare la stessa piattaforma CPU della prenotazione.

La selezione di una piattaforma CPU minima per la tua VM introduce vincoli che influiscono sulla possibilità di avviare le VM in zone in cui alcune piattaforme CPU sono disponibili in quantità limitata.

Come funziona la selezione di una piattaforma CPU minima

Compute Engine utilizza sempre la piattaforma CPU minima, se disponibile. Se Google cambia una piattaforma CPU in una zona, la tua VM può continuare a essere eseguita su una piattaforma CPU più recente disponibile in quella zona se la arresti e riavvii la VM.

Dopo aver selezionato una piattaforma CPU minima per una VM, la VM utilizza questa piattaforma CPU, a meno che non la arresti e non cambi la piattaforma CPU. Durante una migrazione live, la VM conserva la piattaforma CPU selezionata.

Limitazioni

  • Ogni regione e zona supporta più piattaforme CPU, ma una regione o una zona potrebbero non offrire tutte le piattaforme CPU.
  • Non puoi specificare una piattaforma CPU minima per le VM che utilizzano nodi single-tenant.
  • Non puoi selezionare una piattaforma CPU minima per le VM E2 predefinite o personalizzate.
  • Non puoi selezionare una piattaforma CPU minima per le seguenti VM con core condivisi e per uso generico:
    • e2-micro
    • e2-small
    • e2-medium
    • f1-micro
    • g1-small

Disponibilità di piattaforme CPU

La disponibilità delle piattaforme CPU varia da una zona all'altra e si basa sulla serie di hardware e macchine disponibili in ciascuna zona. Il seguente elenco mostra le piattaforme CPU minime supportate e la sintassi valida per ogni piattaforma:

  • Processori Intel Xeon (Emerald Rapids): "Intel Emerald Rapids"
  • Processori Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • Processori Intel Xeon (Ice Lake): "Intel Ice Lake"
  • Processori Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • Processori Intel Xeon (Skylake) di prima generazione: "Intel Skylake"
  • Processori Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Processori Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Processori Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Processori Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • Processori AMD EPYC Genoa di quarta generazione: "AMD Genoa"
  • Processori AMD EPYC Milan di terza generazione: "AMD Milan"
  • Processori AMD EPYC Rome di seconda generazione: "AMD Rome"

Visualizza le piattaforme CPU disponibili per zona

Solo alcune regioni e zone contengono più piattaforme CPU per la stessa serie di macchine e sono disponibili per la selezione minima della piattaforma CPU. Puoi visualizzare un elenco di piattaforme supportate per una zona specifica utilizzando gcloud CLI o REST.

Se usi nodi single-tenant, ciascun nodo utilizza la piattaforma CPU corrispondente al tipo di nodo che hai definito nel modello di nodo.

gcloud

  • Per visualizzare le piattaforme CPU disponibili nella tua zona, utilizza il comando gcloud compute zones describe:

    gcloud compute zones describe ZONE
    

    Sostituisci ZONE con il nome della zona per verificare le piattaforme CPU disponibili, ad esempio europe-west10-a.

    Il seguente output di questo comando elenca le piattaforme CPU per la zona europe-west10-a:

    gcloud compute zones describe europe-west10-a
    availableCpuPlatforms:
    - Intel Broadwell
    - Intel Cascade Lake
    - Intel Ice Lake
    - AMD Milan
    - AMD Rome
    - Intel Skylake
    
    ...
    

REST

  • Effettua una richiesta GET alla zona che stai prendendo in considerazione:

    GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/ZONE
    

    Sostituisci ZONE con il nome della zona per verificare le piattaforme CPU disponibili.

    Il seguente output di questo comando elenca le piattaforme CPU supportate per una zona:

    {
      "kind": "compute#zone",
      "id": "2210",
      "creationTimestamp": "1969-12-31T09:30:55.189-07:00",
      "name": "europe-west10-a",
      "description": "europe-west10-a",
      "status": "UP",
      "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west10-a",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west10-a",
      "availableCpuPlatforms": [
       "Intel Broadwell",
       "Intel Cascade Lake",
       "Intel Ice Lake",
       "AMD Milan",
       "AMD Rome",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Modifiche predefinite a una piattaforma CPU

A volte, Google cambia una piattaforma CPU o aggiorna quella predefinita. Con l'aumento della capacità di una zona, Google passa in modo proattivo a una piattaforma CPU più recente non appena la piattaforma diventa disponibile. Aggiorna la piattaforma CPU predefinita alla successiva più recente disponibile in quella zona.

Quando una piattaforma CPU predefinita per una zona cambia, Google invia una notifica ai clienti interessati con tempistiche dettagliate e istruzioni specifiche per passare alla piattaforma più recente.

Le VM non utilizzano mai una piattaforma precedente alla piattaforma CPU minima specificata. Se Compute Engine esegue la transizione della VM a una piattaforma più recente, il costo della VM non cambia.

Seleziona una piattaforma CPU minima per una nuova VM

Quando crei una VM, scegli una serie di macchine e un tipo di macchina. La serie di macchine potrebbe essere offerta su più di una piattaforma CPU. In questo caso, puoi specificare la piattaforma CPU minima che la VM deve utilizzare.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Configurazione macchina, espandi la sezione Configurazioni avanzate.

  3. Nell'elenco Piattaforma CPU, seleziona una piattaforma per la CPU della VM.

  4. Continua con il resto del processo di creazione della VM.

gcloud

  • Per creare una nuova VM che utilizza una piattaforma CPU minima, utilizza il comando gcloud compute instances create e fornisci il flag --min-cpu-platform:

    gcloud compute instances create INSTANCE \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Sostituisci quanto segue:

    • INSTANCE: il nome dell'istanza che vuoi creare
    • ZONE: il nome della zona in cui vuoi creare l'istanza, ad esempio europe-west1-b
    • PLATFORM: il nome semplice della piattaforma CPU minima che vuoi venga utilizzata dall'istanza, ad esempio Intel Sandy Bridge

      Se vuoi cancellare la specifica minima della piattaforma CPU, sostituisci PLATFORM con AUTOMATIC.

      Utilizza la sezione zone disponibili per determinare quali piattaforme sono disponibili per ciascuna zona.

REST

  • Utilizza il metodo instances.insert e includi la proprietà minCpuPlatform nel corpo della richiesta.

    Ad esempio, il corpo di una richiesta potrebbe avere il seguente aspetto:

    "name": "INSTANCE",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "minCpuPlatform": "PLATFORM",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT"
       }],
      "network": "global/networks/default"
    }],
    "disks": [{
       "autoDelete": "true",
       "boot": "true",
       "type": "PERSISTENT",
       "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
       }
     }]

    Sostituisci quanto segue:

    • INSTANCE: il nome della nuova VM
    • ZONE: il nome della zona in cui vuoi creare la tua VM, ad esempio europe-west1-b
    • MACHINE_TYPE: il tipo di macchina della nuova VM
    • PLATFORM: il nome semplice della piattaforma CPU minima che vuoi venga utilizzata dalla VM, ad esempio Intel Ivy Bridge

      Per cancellare la specifica minima della piattaforma CPU, sostituisci PLATFORM con AUTOMATIC.

    • IMAGE_PROJECT: il progetto immagine della famiglia di immagini

    • IMAGE_FAMILY: la famiglia di immagini dell'immagine da utilizzare per creare la VM

Imposta una piattaforma CPU minima per una VM esistente

Puoi impostare una piattaforma CPU minima per una VM esistente. Devi arrestare la VM prima di impostare la piattaforma CPU minima.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Seleziona la VM che vuoi modificare.

  4. Fai clic su Arresta.

  5. Per modificare la VM, fai clic su Modifica.

  6. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  7. Dal menu a discesa Piattaforma CPU, seleziona un'opzione.

  8. Salva le modifiche.

  9. Seleziona la VM che hai modificato.

  10. Fai clic su Avvia/Riprendi.

gcloud

  1. Per arrestare una VM, utilizza il comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE
    

    Sostituisci INSTANCE con il nome della VM per cui vuoi specificare una piattaforma CPU minima.

  2. Per specificare una piattaforma CPU minima, utilizza il comando gcloud compute instances update e fornisci il flag --min-cpu-platform:

    gcloud compute instances update INSTANCE \
        --min-cpu-platform="PLATFORM"

    Sostituisci PLATFORM con il nome semplice della piattaforma CPU minima che vuoi venga utilizzata dalla VM, ad esempio Intel Cascade Lake.

  3. Per avviare la VM aggiornata, utilizza il comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

REST

  1. Per arrestare una VM, crea una richiesta POST utilizzando il metodo instances.stop:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • ZONE: la zona in cui si trova la VM
    • INSTANCE: il nome della VM per cui vuoi specificare una piattaforma CPU minima
  2. Per impostare la piattaforma CPU minima, crea una richiesta POST al metodo setMinCpuPlatform e imposta la proprietà minCpuPlatform nel corpo della richiesta:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform
    {
      "minCpuPlatform": PLATFORM
    }
    

    Sostituisci PLATFORM con il nome semplice della piattaforma CPU minima che vuoi venga utilizzata dalla VM, ad esempio Intel Skylake.

  3. Per riavviare la VM, crea una richiesta POST utilizzando il metodo instances.start:

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

Rimuovi un'impostazione minima della piattaforma CPU

Puoi aggiornare una VM in modo che utilizzi la piattaforma CPU predefinita anziché la piattaforma CPU minima. Se la VM è in esecuzione, devi arrestarla prima di apportare modifiche.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Seleziona la VM che vuoi modificare.

  4. Fai clic su Arresta.

  5. Per modificare la VM, fai clic su Modifica.

  6. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  7. Cambia l'opzione Piattaforma CPU in Automatica.

  8. Seleziona la VM che hai modificato.

  9. Fai clic su Avvia/Riprendi.

gcloud

  1. Per arrestare una VM, utilizza il comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE
    

    Sostituisci INSTANCE con il nome della VM che vuoi modificare.

  2. Per reimpostare la piattaforma CPU minima, utilizza il comando gcloud compute instances update e imposta il flag --min-cpu-platform su AUTOMATIC:

    gcloud compute instances update INSTANCE \
        --min-cpu-platform="AUTOMATIC"
    
  3. Per avviare la VM aggiornata, utilizza il comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

REST

  1. Per arrestare una VM, crea una richiesta POST utilizzando il metodo instances.stop:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • ZONE: la zona in cui si trova la VM
    • INSTANCE: il nome della VM che vuoi modificare
  2. Per reimpostare la piattaforma CPU minima, crea una richiesta POST per il metodo setMinCpuPlatform. Nel corpo della richiesta, imposta il valore della proprietà minCpuPlatform su AUTOMATIC.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform
    {
      "minCpuPlatform": AUTOMATIC
    }
    
  3. Per avviare la VM aggiornata, utilizza il comando gcloud compute instances start:

    gcloud compute instances start INSTANCE
    

Specifica una piattaforma CPU minima nei modelli di istanza

Se utilizzi gruppi di istanze gestite, puoi specificare una piattaforma CPU minima per le VM all'interno di un gruppo di istanze gestite.

Per specificare una piattaforma CPU minima, crea un modello di istanza che includa la proprietà minCpuPlatform.

Console

  1. Vai alla pagina Modelli di istanza.

    Vai a Modelli di istanza

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Fai clic su Crea modello istanza.

  4. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  5. Dal menu a discesa Piattaforma CPU, seleziona un'opzione.

  6. Continua con il processo di creazione del modello di istanza.

gcloud

  • Quando crei un modello di istanza utilizzando il comando gcloud compute instance-templates create, fornisci il flag --min-cpu-platform:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --min-cpu-platform="PLATFORM"

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del modello di istanza
    • PLATFORM: il nome semplice della piattaforma CPU minima che vuoi venga utilizzata dall'istanza, ad esempio Intel Skylake

REST

  • Aggiungi minCpuPlatform come parte della tua richiesta per creare un nuovo modello di istanza utilizzando il metodo instanceTemplates.insert.

    Ad esempio, il seguente modello di istanza contiene il numero minimo di campi obbligatori per creare un nuovo modello con l'aggiunta della proprietà minCpuPlatform:

    {
    "name": "example-template",
    "properties": {
      "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
      "minCpuPlatform": "AMD Milan",
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "disks":
      [
        {
          "type": "PERSISTENT",
          "boot": true,
          "mode": "READ_WRITE",
          "initializeParams":
          {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-11"
          }
        }
      ]
      }
    }

Passaggi successivi