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 velocità di clock e il tempo di ricerca per l'accesso alla memoria, possono variare in base alle piattaforme 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 di macchine, della serie, della regione e delle zone determina le opzioni tra cui scegliere per la piattaforma CPU minima.

La specifica di una piattaforma CPU minima è utile se il tuo workload 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 è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di 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. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.

    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.

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Per saperne di più, consulta Autenticarsi 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 sul progetto:

  • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)
  • Per connetterti a una VM che può essere eseguita come service account: Service Account User (v1) (ruolo roles/iam.serviceAccountUser)

Per saperne di più sulla concessione dei ruoli, consulta Gestisci 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

Nella maggior parte dei casi, 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 incrementi significativi delle prestazioni per il tuo workload o se fornisce funzionalità come AVX2 o AVX-512 utilizzate dal tuo codice.
  • Quando crei VM che utilizzano prenotazioni, 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 una volta arrestata e riavviata.

Dopo aver selezionato una piattaforma CPU minima per una VM, la VM utilizza questa piattaforma CPU a meno che tu non arresti la VM e 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 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 per uso generico con core condiviso:
    • e2-micro
    • e2-small
    • e2-medium
    • f1-micro
    • g1-small

Disponibilità delle piattaforme CPU

La disponibilità delle piattaforme CPU varia a seconda delle 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"

Visualizza le piattaforme CPU disponibili per zona

Solo alcune regioni e zone contengono più piattaforme CPU per la stessa serie di macchine, 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 single-tenant, ogni nodo utilizza la piattaforma CPU corrispondente al tipo di nodo che hai definito nel template 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.

    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 versione più recente disponibile nella zona.

Quando una piattaforma CPU predefinita per una zona cambia, Google invia ai clienti interessati una notifica 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.

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 vuoi utilizzare per la VM.

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, usa 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 descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza, 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 descrittivo della piattaforma CPU minima che vuoi utilizzare per la VM, ad esempio Intel Ivy Bridge

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

    • IMAGE_PROJECT: il progetto di immagini 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. Prima di impostare la piattaforma CPU minima, devi arrestare la VM.

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 per arrestare la VM. Se l'opzione Arresta non è presente, fai clic su Altre azioni > Arresta.

  5. Fai clic su Modifica.

  6. Nella sezione Configurazione macchina, 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 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 specifica il flag --min-cpu-platform:

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

    Sostituisci PLATFORM con il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per la 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 descrittivo della piattaforma CPU minima che vuoi utilizzare per la 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
    

Rimuovi 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 macchina, fai clic su Configurazioni avanzate.

  7. Imposta l'opzione Piattaforma CPU su 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 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 riavviare la VM aggiornata, crea una richiesta POST utilizzando il metodo instances.start:

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

Specifica una piattaforma CPU minima nei template 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 template di istanza che includa la proprietà minCpuPlatform.

Console

  1. Vai alla pagina Template di istanza.

    Vai a Template di istanza

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

  3. Fai clic su Crea template di istanza.

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

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

  6. Continua il processo di creazione del template di istanza.

gcloud

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

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

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del template di istanza
    • PLATFORM: il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza, ad esempio Intel Skylake

REST

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

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