Questo documento descrive come proteggere dall'eliminazione istanze VM specifiche impostando la proprietà deletionProtection
su una risorsa istanza. Per scoprire di più sulle istanze VM, consulta la documentazione relativa alle istanze.
Nell'ambito del tuo carico di lavoro potrebbero esserci alcune istanze VM fondamentali per l'esecuzione dell'applicazione o dei servizi, ad esempio un'istanza che esegue un SQL Server, un server utilizzato come gestore delle licenze e così via. Queste istanze VM potrebbero dover rimanere in esecuzione a tempo indeterminato, quindi devi trovare un modo per proteggerle dall'eliminazione.
Se imposti il flag deletionProtection
, un'istanza VM può essere protetta dall'eliminazione accidentale. Se un utente tenta di eliminare un'istanza VM per la quale hai impostato il flag deletionProtection
, la richiesta non va a buon fine. Solo un utente a cui è stato assegnato un ruolo con autorizzazione compute.instances.create
può reimpostare il flag per consentire l'eliminazione della risorsa.
Prima di iniziare
- Leggi la documentazione relativa alle istanze.
-
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 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.
- 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.
- 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.
- 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.
- 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.
La prevenzione dell'eliminazione non impedisce le seguenti azioni:
- Terminazione di un'istanza all'interno della VM
(ad esempio l'esecuzione del comando
shutdown
) - Arrestare un'istanza
- Reimpostazione di un'istanza
- Sospensione di un'istanza
- Istanze rimosse a causa di attività fraudolente e illecite dopo essere state rilevate da Google
- Istanze rimosse a causa della terminazione del progetto
- Terminazione di un'istanza all'interno della VM
(ad esempio l'esecuzione del comando
La protezione dall'eliminazione può essere applicata sia alle VM normali che a quelle prerilasciabili.
La protezione dall'eliminazione non può essere applicata alle VM che fanno parte di un gruppo di istanze gestite, ma può essere applicata alle istanze che fanno parte di gruppi di istanze non gestite.
La prevenzione dell'eliminazione non può essere specificata nei modelli di istanze.
compute.instances.create
compute.admin
compute.instanceAdmin.v1
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Espandi la sezione Opzioni avanzate e segui questi passaggi:
- Espandi la sezione Gestione.
- Seleziona la casella di controllo Attiva la protezione da eliminazione.
Continua con la procedura di creazione della VM.
Vai alla pagina delle istanze VM.
Se richiesto, seleziona il progetto e fai clic su Continua.
Nella pagina Istanze VM, espandi il menu Colonne e attiva Protezione dall'eliminazione.
Viene visualizzata una nuova colonna con l'icona di protezione dall'eliminazione. Se per una VM è attivata la protezione dall'eliminazione, l'icona viene visualizzata accanto al nome dell'istanza.
Vai alla pagina delle istanze VM.
Se richiesto, seleziona il progetto e fai clic su Continua.
Fai clic sul nome dell'istanza per la quale vuoi attivare/disattivare la protezione da eliminazione. Viene visualizzata la pagina dei dettagli dell'istanza.
Nella pagina dei dettagli dell'istanza, completa i seguenti passaggi:
- Fai clic sul pulsante Modifica nella parte superiore della pagina.
In Protezione da eliminazione, seleziona la casella per attivare o deselezionala per disattivare la protezione da eliminazione.
Salva le modifiche.
- Scopri come arrestare un'istanza.
- Elimina le istanze se non ti servono più.
Vai
Per utilizzare gli Go 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.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
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.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Node.js
Per utilizzare gli Node.js 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.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
PHP
Per utilizzare gli PHP 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.
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.
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.
Specifiche
Autorizzazioni
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni OPPURE di uno dei seguenti ruoli IAM per la risorsa.
Autorizzazioni
Ruoli
Impostazione della protezione da eliminazione durante la creazione dell'istanza
Per impostazione predefinita, la protezione da eliminazione è disattivata per l'istanza. Attiva la protezione da eliminazione seguendo le istruzioni riportate di seguito.
Console
gcloud
Quando crei un'istanza VM, includi i flag
--deletion-protection
ono-deletion-protection
. La protezione da eliminazione è disabilitata per impostazione predefinita, quindi per attivarla:gcloud compute instances create [INSTANCE_NAME] --deletion-protection
dove
[INSTANCE_NAME]
è il nome dell'istanza desiderata.Per disattivare la protezione da eliminazione durante la creazione:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Vai
Java
Node.js
Python
REST
Nell'API, quando crei un'istanza VM, include la proprietà
deletionProtection
nel corpo della richiesta. Ad esempio:POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances { "name": "[INSTANCE_NAME]", "deletionProtection": "true", ... }
Per disattivare la protezione da eliminazione, imposta
deletionProtection
sufalse
.Determinare se per un'istanza è abilitata la protezione da eliminazione
Puoi determinare se per un'istanza è abilitata la protezione da eliminazione in
gcloud tool
o nell'API.Console
gcloud
In gcloud CLI, esegui il comando
instances describe
e cerca il campo della protezione dall'eliminazione. Ad esempio:gcloud compute instances describe example-instance | grep "deletionProtection"
Lo strumento restituisce il valore della proprietà
deletionProtection
, impostata sutrue
ofalse
:deletionProtection: false
Vai
Java
Node.js
Python
REST
Nell'API, effettua una richiesta
GET
e cerca il campodeletionProtection
:GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Attivare/disattivare la protezione da eliminazione per le istanze esistenti
Puoi attivare/disattivare la protezione da eliminazione per un'istanza esistente, indipendentemente dall'stato corrente dell'istanza. Nello specifico, non devi arrestare l'istanza prima di poter attivare o disattivare la protezione da eliminazione.
Console
gcloud
Utilizzando l'interfaccia a riga di comando gcloud, esegui il comando
update
con il flag--deletion-protection
o--no-deletion-protection
:gcloud compute instances update [INSTANCE_NAME] \ [--deletion-protection | --no-deletion-protection]
Ad esempio, per attivare la protezione da eliminazione per un'istanza denominata
example-vm
:gcloud compute instances update example-vm --deletion-protection
Vai
Java
Node.js
Python
REST
Nell'API, invia una richiesta
POST
al metodosetDeletionProtection
con il parametro di querydeletionProtection
. Ad esempio:POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setDeletionProtection?deletionProtection=true
Per disattivare la protezione da eliminazione, imposta
deletionProtection
sufalse
. Non fornire un corpo della richiesta.Passaggi successivi
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.
-