Questo documento descrive come proteggere istanze VM specifiche dall'eliminazione impostando la proprietà deletionProtection
su una risorsa Istanza. Per scoprire di più sulle istanze VM, leggi la documentazione sulle istanze.
All'interno del carico di lavoro, potrebbero essere presenti 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 è necessario un modo per proteggerle dall'eliminazione.
Impostando il flag deletionProtection
, un'istanza VM può essere protetta
dall'eliminazione accidentale. Se un utente tenta di eliminare un'istanza VM per cui hai impostato il flag deletionProtection
, la richiesta non va a buon fine. Solo un utente a cui è stato concesso un ruolo con l'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 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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Go
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori 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 gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per maggiori informazioni, consulta Set up authentication for a local development environment.
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.
-
Specifiche
La prevenzione dell'eliminazione non impedisce le seguenti azioni:
- Terminazione di un'istanza dall'interno della VM (ad esempio, esecuzione del comando
shutdown
) - Arresto di un'istanza
- Reimpostazione di un'istanza
- Sospensione di un'istanza
- Rimozione delle istanze a causa di attività fraudolente o comportamenti illeciti in seguito al rilevamento da parte di Google
- Istanze rimosse a causa della chiusura del progetto
- Terminazione di un'istanza dall'interno della VM (ad esempio, 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 istanza.
Autorizzazioni
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni OPPURE di uno dei seguenti ruoli IAM per la risorsa.
Autorizzazioni
compute.instances.create
Ruoli
compute.admin
compute.instanceAdmin.v1
Impostazione della protezione da eliminazione durante la creazione dell'istanza
Per impostazione predefinita, la protezione dall'eliminazione è disabilitata per la tua istanza. Abilita la protezione dall'eliminazione seguendo le istruzioni riportate di seguito.
Console
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Espandi la sezione Opzioni avanzate e procedi nel seguente modo:
- Espandi la sezione Gestione.
- Seleziona la casella di controllo Abilita la protezione da eliminazione.
Continua con il processo di creazione della VM.
gcloud
Quando crei un'istanza VM, includi i flag --deletion-protection
o no-deletion-protection
. La protezione dall'eliminazione è disabilitata per impostazione predefinita. Per abilitare questa protezione:
gcloud compute instances create [INSTANCE_NAME] --deletion-protection
dove [INSTANCE_NAME]
è il nome dell'istanza desiderata.
Per disattivare la protezione dall'eliminazione durante la creazione:
gcloud compute instances create [INSTANCE_NAME] --no-deletion-protection
Go
Java
Node.js
Python
REST
Nell'API, quando crei un'istanza VM, includi 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
su false
.
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
Vai alla pagina Istanze VM.
Se richiesto, seleziona il progetto e fai clic su Continua.
Nella pagina Istanze VM, apri il menu Colonne e attiva la Protezione da eliminazione.
Viene visualizzata una nuova colonna con l'icona della protezione dall'eliminazione. Se in una VM è abilitata la protezione da eliminazione, accanto al nome dell'istanza viene visualizzata l'icona.
gcloud
In gcloud CLI, esegui il comando instances describe
e cerca il campo di protezione dall'eliminazione. Ad esempio:
gcloud compute instances describe example-instance | grep "deletionProtection"
Lo strumento restituisce il valore della proprietà deletionProtection
, impostato su true
o false
:
deletionProtection: false
Go
Java
Node.js
Python
REST
Nell'API, effettua una richiesta GET
e cerca il campo deletionProtection
:
GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]
Attivazione/disattivazione della protezione da eliminazione per le istanze esistenti
Puoi attivare/disattivare la protezione da eliminazione per un'istanza esistente, indipendentemente dallo stato attuale dell'istanza. In particolare, non devi arrestare l'istanza prima di poter abilitare o disabilitare la protezione da eliminazione.
Console
Vai alla pagina Istanze VM.
Se richiesto, seleziona il progetto e fai clic su Continua.
Fai clic sul nome dell'istanza per cui vuoi attivare/disattivare la protezione dall'eliminazione. Viene visualizzata la pagina dei dettagli dell'istanza.
Dalla 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 attivarla o deselezionala per disabilitare la protezione da eliminazione.
Salva le modifiche.
gcloud
Utilizzando gcloud CLI, 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 abilitare la protezione da eliminazione per un'istanza denominata example-vm
:
gcloud compute instances update example-vm --deletion-protection
Go
Java
Node.js
Python
REST
Nell'API, effettua una richiesta POST
al metodo setDeletionProtection
con il parametro di query deletionProtection
. 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
su false
. Non
fornire un corpo della richiesta con la richiesta.
Passaggi successivi
- Scopri come arrestare un'istanza.
- Elimina le istanze se non ti servono più.