Specifica una piattaforma CPU minima per le istanze VM


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

I data center di Google offrono diverse generazioni di processori CPU. Ogni piattaforma CPU supporta funzionalità incrementali come le Advanced Vector Extensions, ad esempio AVX2 e AVX-512. Inoltre, alcune funzionalità di base relative ai sistemi, come la frequenza in megahertz e il tempo di ricerca di accesso alla memoria, possono variare a seconda della piattaforma della CPU.

Ogni serie di macchine è associata a una o più piattaforme CPU. Ad esempio, le VM N2 possono essere eseguite su 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 della serie in questione. La disponibilità della famiglia, della serie, della regione e delle zone della macchina determinano cosa puoi scegliere per la piattaforma CPU minima.

La specifica di una piattaforma CPU minima è utile se il tuo carico di lavoro richiede i guadagni in termini di prestazioni offerti dalla generazione di un processore specifico. Tuttavia, la specifica di una piattaforma CPU minima potrebbe limitare le zone in cui puoi creare le VM.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. 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:

    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. 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, consulta Eseguire l'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 a progetti, cartelle e organizzazioni.

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 Compute Engine ha una piattaforma CPU predefinita per ogni serie di macchine. Google occasionalmente modifica la CPU predefinita di una zona quando vengono aggiunti nuovi server. Se non specifichi una piattaforma CPU minima per una VM, la VM riceve 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 delle prestazioni per il tuo carico di lavoro o se fornisce funzionalità come AVX2 o AVX-512 utilizzate dal tuo codice.
  • Quando crei VM che utilizzano reservations, devi specificare la stessa piattaforma CPU della prenotazione.

La selezione di una piattaforma CPU minima per la VM introduce vincoli che influiscono sulla tua capacità di avviare le VM nelle 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 modifica una piattaforma CPU in una zona, la VM può continuare a funzionare su una piattaforma CPU più recente disponibile in quella zona se la fermi e riavvii.

Dopo aver selezionato una piattaforma CPU minima per una VM, la VM utilizza questa piattaforma CPU a meno che tu non la interrompa e non modifichi la piattaforma CPU. Durante una migrazione live, la VM mantiene la piattaforma CPU selezionata.

Limitazioni

  • Ogni regione e zona supporta più piattaforme CPU, ma una regione o una zona potrebbe non offrire tutte le piattaforme CPU.
  • Non puoi specificare una piattaforma CPU minima per le VM che utilizzano nodi monoproprietario.
  • 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 a nucleo condiviso per uso generale:
    • e2-micro
    • e2-small
    • e2-medium
    • f1-micro
    • g1-small

Disponibilità delle piattaforme CPU

La disponibilità delle piattaforme CPU varia in base alle zone e si basa sull'hardware e sulle serie di macchine disponibili in ogni zona. Il seguente elenco mostra le piattaforme CPU minime supportate e la sintassi valida per ciascuna piattaforma:

  • 5ª generazione: processori Intel Xeon (Emerald Rapids): "Intel Emerald Rapids"
  • 4ª generazione: processori Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • 3ª generazione: processori Intel Xeon (Ice Lake): "Intel Ice Lake"
  • 2ª generazione: processori Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • 1ª generazione: processori Intel Xeon (Skylake): "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"
  • 4ª generazione: processori AMD EPYC Genoa: "AMD Genoa"
  • 3ª generazione: processori AMD EPYC Milan: "AMD Milan"
  • 2ª generazione: processori AMD EPYC Rome: "AMD Rome"

Visualizzare 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 della piattaforma CPU minima. Puoi visualizzare un elenco delle piattaforme supportate per una zona specifica utilizzando gcloud CLI o REST.

Se utilizzi nodi di proprietà esclusiva, ogni 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 la presenza di piattaforme CPU disponibili, ad esempio europe-west10-a.

    L'output seguente 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

  • Invia una richiesta GET per la 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 controllare le piattaforme CPU disponibili.

    L'output seguente 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. Man mano che la capacità di una zona aumenta, Google passa in modo proattivo a una piattaforma CPU più recente non appena diventa disponibile. Aggiorna la piattaforma CPU predefinita alla successiva più recente disponibile nella zona.

Quando una piattaforma CPU predefinita per una zona cambia, Google invia una notifica ai clienti interessati con una tempistica dettagliata e istruzioni specifiche per la transizione alla piattaforma più recente.

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

Selezionare una piattaforma CPU minima per una nuova VM

Quando crei una VM, scegli una serie 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 vuoi che la VM utilizzi.

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 della procedura di creazione della VM.

gcloud

  • Per creare una nuova VM che utilizza una piattaforma CPU minima, utilizza il comando gcloud compute instances create e specifica 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 visualizzato della piattaforma CPU minima che vuoi che l'istanza use. Ad esempio, Intel Sandy Bridge

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

      Utilizza la sezione Zone disponibili per determinare quali piattaforme sono disponibili per ogni zona.

REST

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

    Ad esempio, un corpo della 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 VM, ad esempio europe-west1-b
    • MACHINE_TYPE: il tipo di macchina della nuova VM
    • PLATFORM: il nome visualizzato della piattaforma CPU minima che vuoi che la VM use.Intel Ivy Bridge

      Per cancellare la specifica della piattaforma CPU minima, 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

Impostare 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 dell'auto, fai clic su Configurazioni avanzate.

  7. Seleziona un'opzione dal menu a discesa Piattaforma CPU.

  8. Salva le modifiche.

  9. Seleziona la VM che hai modificato.

  10. Fai clic su Avvia/Riprendi.

gcloud

  1. Per interrompere 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 visualizzato della piattaforma CPU minima che vuoi che 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 la quale 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 visualizzato della piattaforma CPU minima che vuoi che venga utilizzata dalla VM, ad esempio Intel Skylake.

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

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

Rimuovere un'impostazione della piattaforma CPU minima

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 dell'auto, fai clic su Configurazioni avanzate.

  7. Imposta l'opzione Piattaforma CPU su Automatico.

  8. Seleziona la VM che hai modificato.

  9. Fai clic su Avvia/Riprendi.

gcloud

  1. Per interrompere 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 al 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 istanze

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 dell'auto, fai clic su Configurazioni avanzate.

  5. Seleziona un'opzione dal menu a discesa Piattaforma CPU.

  6. Continua con la procedura di creazione del modello di istanza.

gcloud

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

    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 visualizzato della piattaforma CPU minima che vuoi che l'istanza use. Ad esempio, Intel Skylake

REST

  • Aggiungi minCpuPlatform nella richiesta per creare un nuovo modello di istanza utilizzando il metodo instanceTemplates.insert.

    Ad esempio, il seguente modello di istanza contiene i campi obbligatori minimi per la creazione di 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