Se l'istanza della macchina virtuale (VM) non ha un'unità SSD locale collegata e non fa parte di un gruppo di istanze gestite (MIG), puoi modificare il tipo di macchina dell'istanza dopo averla arrestata.
Se il tipo di macchina esistente non è adatto ai carichi di lavoro che esegui sulla VM, modifica il tipo di macchina della VM. Ad esempio, puoi avviare una VM con un tipo di macchina più piccolo durante la configurazione, lo sviluppo e il test e modificare la VM in modo che utilizzi un tipo di macchina più grande quando è tutto pronto per i carichi di lavoro di produzione.
Puoi utilizzare questa procedura nelle seguenti situazioni:
- Per passare a un tipo di macchina simile, ma con un numero diverso di vCPU o
memoria all'interno della stessa serie di macchine, ad esempio:
- Puoi cambiare
n2-highcpu-4
inn2-standard-4
. - Puoi cambiare
c3d-standard-30
inc3d-highmem-30
.
- Puoi cambiare
- Per modificare il tipo di macchina in modo da utilizzare una serie di macchine diversa.
Questa opzione è supportata solo per le serie di macchine di prima e seconda generazione, escluse le serie T2A e A2. Ad esempio:
- Puoi cambiare
n2-standard-4
inc2-standard-8
. - Puoi cambiare
n1-highmem-4
inn2d-standard-16
.
- Puoi cambiare
Se vuoi modificare il tipo di macchina di una VM che utilizza una serie di macchine di prima o seconda generazione (N1, N2, M1 e così via) in un tipo di macchina per una serie di macchine di terza generazione o successive (M3, C3, N4 e così via), devi utilizzare la procedura descritta in Spostare il carico di lavoro in una nuova istanza di calcolo.
Puoi modificare il tipo di macchina senza influire sulle seguenti risorse:
- Le chiavi SSH della VM
- Le configurazioni della VM, ad esempio i metadati della VM
- I dati sul Persistent Disk o Hyperdisk collegato, inclusi le applicazioni installate e i dati delle applicazioni
Per modificare il tipo di macchina delle VM all'interno di un gruppo di istanze gestite, consulta Applicare automaticamente gli aggiornamenti della configurazione delle VM in un gruppo di istanze gestite.
Prima di iniziare
- Scopri come arrestare una VM.
- Scopri di più sui tipi di macchine.
-
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.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
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 saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per modificare il tipo di macchina di una VM, 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) (
roles/iam.serviceAccountUser
)
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 modificare il tipo di macchina di una VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per modificare il tipo di macchina di una VM sono necessarie le seguenti autorizzazioni:
-
compute.instances.setMachineType
su VM -
compute.instances.start
su VM -
compute.instances.stop
su VM
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
- Se l'istanza di calcolo ha una o più unità SSD locali, non puoi modificare il tipo di macchina dell'istanza.
- Se l'istanza di calcolo utilizza un indirizzo IP esterno temporaneo, l'indirizzo IP potrebbe cambiare quando modifichi il tipo di macchina dell'istanza. Per conservare l'indirizzo IP, promuovilo a un indirizzo IP esterno statico prima di cambiare il tipo di macchina.
- La modifica del tipo di macchina di un'istanza di calcolo non è disponibile per alcune configurazioni:
- Non puoi modificare il tipo di macchina per le istanze bare metal.
- Se vuoi cambiare il tipo di macchina da una serie di macchine di prima o seconda generazione a un tipo di macchina per una serie di macchine di terza generazione o successive, non puoi utilizzare questa procedura. Segui invece le istruzioni riportate in Trasferire il carico di lavoro in una nuova istanza di calcolo.
- Se vuoi modificare il tipo di macchina in un tipo di macchina Arm, non puoi utilizzare questa procedura. Segui invece le istruzioni riportate in Trasferire il carico di lavoro in una nuova istanza di calcolo.
- Puoi utilizzare i passaggi descritti in questo documento per modificare il tipo di macchina per i tipi di macchina ottimizzati per l'acceleratore G2. Per altri tipi di macchine ottimizzate per l'acceleratore, consulta Modificare le VM ottimizzate per l'acceleratore.
Implicazioni per la fatturazione
Ogni tipo di macchina viene fatturato a una tariffa diversa, quindi assicurati di comprendere le implicazioni relative ai prezzi del cambio di tipo di macchina. Ad esempio, un tipo di macchina
e2-standard-2
costa più di un tipo di macchinae2-micro
.La modifica di un tipo di macchina potrebbe influire anche sugli sconti per utilizzo sostenuto per quella VM. Gli sconti per utilizzo sostenuto vengono calcolati separatamente per categorie diverse nella stessa regione. Se modifichi i tipi di macchine in modo che il nuovo tipo di macchina sia in una categoria diversa, il tempo di esecuzione successivo della VM viene conteggiato ai fini dello sconto per utilizzo sostenuto della nuova categoria.
Ad esempio, supponiamo che tu abbia una VM con tipo di macchina
n2-standard-2
in esecuzione per metà mese. Poi decidi di cambiare il tipo di macchina inm1-ultramem-40
. Dopo aver apportato la modifica, Compute Engine inizia a conteggiare il tempo di esecuzione della VM ai fini dello sconto per utilizzo sostenuto della categoria di vCPU e memoria ottimizzate per la memoria.Nella fattura vedrai uno sconto per utilizzo sostenuto applicato al tipo di macchina
n2-standard-2
precedente alla modifica e uno sconto per utilizzo sostenuto separato perm1-ultramem-40
, se la VM rimane in esecuzione sum1-ultramem-40
per almeno il 25% del resto del mese.Passare a un tipo di macchina più piccolo
Se passi da un tipo di macchina con più risorse a un tipo di macchina con meno risorse, ad esempio da un tipo di macchina
e2-standard-8
a un tipo di macchinae2-standard-2
, potresti riscontrare problemi relativi alle risorse hardware o limitazioni delle prestazioni perché i tipi di macchina più piccoli sono meno potenti di quelli più grandi. Assicurati che il nuovo tipo di macchina sia in grado di supportare eventuali applicazioni o servizi in esecuzione sulla tua VM attuale oppure aggiorna i servizi e le applicazioni in modo che vengano eseguiti sui tipi di macchine più piccoli.Esamina i suggerimenti per la scelta della dimensione giusta prima di modificare il tipo di macchina. Per informazioni sui suggerimenti per il dimensionamento di Compute Engine, consulta Applicare i suggerimenti per il tipo di macchina per le istanze VM.
Best practice
Di seguito sono riportate alcune best practice per aiutarti a modificare correttamente il tipo di VM.
Esegui backup regolari dei dati del Persistent Disk utilizzando gli snapshot. Valuta la possibilità di eseguire uno snapshot dei dati del Persistent Disk prima di modificare il tipo di macchina. Se vuoi assicurarti che il nuovo tipo di macchina sia in grado di supportare i dati della VM esistente, puoi acquisire uno snapshot Persistent Disk e utilizzarlo per avviare una seconda VM con il nuovo tipo di macchina per verificare che la VM si avvii correttamente.
Aggiungi altri dischi al file
/etc/fstab
. Se hai altri dischi collegati alla VM, assicurati che vengano aggiunti al file/etc/fstab
in modo che vengano montati automaticamente al riavvio della VM.Crea una prenotazione prima di modificare il tipo di macchina. Per evitare errori correlati alla disponibilità delle risorse, crea prenotazioni Compute Engine per i nuovi tipi di macchine quando sono disponibili per prenotarli all'interno di una zona. Le prenotazioni contribuiscono a garantire che le risorse siano disponibili quando ne hai bisogno.
Per creare una prenotazione:
Crea una prenotazione (o identifica le prenotazioni esistenti) con proprietà identiche a quelle delle VM pianificate. Il numero di VM della prenotazione deve essere uguale o superiore al numero di VM che vuoi modificare. Se vuoi, per impedire ad altre VM di utilizzare questa prenotazione, utilizza l'opzione
specificReservationRequired
.Verifica che le VM pianificate possano utilizzare la prenotazione:
- Verifica che le VM abbiano l'affinità di prenotazione corretta.
- Immediatamente prima di modificare le VM, assicurati che la prenotazione abbia una capacità sufficiente.
Modificare un tipo di macchina
Puoi modificare il tipo di macchina solo di una VM arrestata. Una VM è considerata interrotta solo quando è nello statoTERMINATED
. Non puoi cambiare il tipo di macchina di una VM in esecuzione.Se esegui l'upgrade del tipo di macchina all'ultima generazione, consulta Valutare le opzioni di migrazione delle VM prima di procedere.
Console
Nella console Google Cloud, vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome della VM per cui vuoi cambiare il tipo di macchina.
Nella pagina Dettagli dell'istanza VM, completa i seguenti passaggi:
- Se la VM è in esecuzione, nel menu nella parte superiore della pagina, selezionare Arresta per arrestarla.
- Per modificare la VM, fai clic su Modifica.
Nella sezione Configurazione macchina, seleziona il tipo di macchina che vuoi utilizzare o crea un tipo di macchina personalizzato.
Per salvare le modifiche, fai clic su Salva.
Riavvia la VM.
gcloud
Interrompi la VM utilizzando il comando
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con la VM contenente il tipo di macchina da modificare.Modifica il tipo di macchina utilizzando il comando
gcloud compute instances set-machine-type
:gcloud compute instances set-machine-type VM_NAME \ --machine-type NEW_MACHINE_TYPE
Sostituisci
NEW_MACHINE_TYPE
con il nuovo tipo di macchina per la VM. Il tipo di macchina può essere uno dei seguenti:Un tipo di macchina predefinito
Ad esempio:
e2-standard-2
Un tipo di macchina personalizzata
Ad esempio, puoi specificare
--machine-type e2-custom-4-2048
per impostare un tipo di macchina personalizzata con 4 vCPU e 2 GB di memoria.
Avvia la VM utilizzando il comando
gcloud compute instances start
:gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della VM che hai modificato.
Java
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Java.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Compute Engine che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Compute Engine Python.
Per autenticarti a Compute Engine, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Arresta la VM utilizzando il metodo
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona contenente la VMVM_NAME
: la VM contenente il tipo di macchina da modificare
Modifica il tipo di macchina utilizzando il metodo
instances.setMachineType
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
Nel corpo della richiesta, fornisci il
machineType
aggiornato:{ machineType: "zones/MACHINE_TYPE_ZONE/machineTypes/NEW_MACHINE_TYPE" }
Sostituisci quanto segue:
MACHINE_TYPE_ZONE
: la zona contenente il tipo di macchinaNEW_MACHINE_TYPE
: il nuovo tipo di macchina per la VMIl tipo di macchina può essere uno dei seguenti:
Un tipo di macchina predefinito
Ad esempio:
e2-standard-2
Un tipo di macchina personalizzata
Ad esempio, puoi specificare
--machine-type e2-custom-4-2048
per impostare un tipo di macchina personalizzata con 4 vCPU e 2 GB di memoria.
Avvia la VM utilizzando il metodo
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona contenente la VMVM_NAME
: il nome della VM che hai modificato
Passaggi successivi
- Scopri di più sui consigli sui tipi di macchine.
- Scopri di più sui gruppi di istanze gestite.
- Scopri di più sui pattern per app scalabili e resilienti.
- Per aggiornare una VM di prima o seconda generazione in modo da utilizzare una serie di macchine di terza generazione o successiva, consulta Spostare il carico di lavoro in una nuova istanza di calcolo.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-11-23 UTC.