Deprovisioning della rete VPC condivisa
In questa pagina viene descritto come eseguire il deprovisioning di una configurazione VPC condivisa esistente, scollegando tutti i progetti di servizio da un progetto host del VPC condiviso. Il deprovisioning è un processo unidirezionale. Assicurati di avere familiarità con le pagine VPC condiviso e Provisioning VPC condiviso.
Attività del progetto di servizio
In ogni progetto di servizio associato al progetto host del VPC condiviso, un amministratore del progetto di servizio deve rimuovere tutte le dipendenze dal progetto host. Le dipendenze potrebbero includere istanze, gruppi di istanze, modelli di istanza, servizi di backend e regole di forwarding.
Determina le risorse interessate
Per identificare le risorse che dipendono dal progetto host del VPC condiviso, un amministratore del progetto di servizio può elencare le sue subnet condivise. Quando il progetto di servizio viene scollegato dal progetto host, queste subnet non saranno più disponibili. Di conseguenza, tutte le risorse che ne dipendono saranno interessate.
Elimina risorse
Dopo che un amministratore del progetto di servizio ha identificato le risorse che saranno interessate dal processo di deprovisioning, queste risorse devono essere eliminate:
Elimina le istanze che utilizzano subnet nel progetto host.
Elimina i gruppi di istanze gestite e i gruppi di istanze non gestite che utilizzano subnet nel progetto host.
Elimina i modelli di istanza le cui definizioni dipendono dal progetto host.
Elimina le regole di forwarding interno per i bilanciatori del carico TCP/UDP interni che fanno riferimento a una subnet in una rete VPC condiviso del progetto host.
Elimina gli indirizzi IP interni statici utilizzati dalle interfacce di rete dalle VM in altre reti.
Per farlo, devi prima ottenere un elenco degli indirizzi riservati e poi eliminarli.
Attività di amministrazione del bilanciatore del carico
I bilanciatori del carico HTTP(S) interni a livello di area geografica e i bilanciatori del carico HTTP(S) esterni a livello di area geografica consentono di configurare il bilanciatore del carico in modo che una mappa URL in un progetto host o di servizio possa fare riferimento ai servizi di backend (e ai backend) dislocati in più progetti in ambienti VPC condivisi.
Prima di poter eliminare un progetto di servizio, devi assicurarti che eventuali riferimenti tra progetti a servizi di backend nel tuo progetto di servizio siano stati rimossi. Gli amministratori del bilanciatore del carico dovranno modificare le mappe URL per rimuovere i riferimenti ai servizi di backend nel progetto di servizio.
Attività amministratore VPC condiviso
Tutte le attività in questa sezione devono essere eseguite da un amministratore VPC condiviso.
Scollega progetti di servizio
Ripeti questi passaggi per ogni progetto di servizio che devi scollegare dal progetto host del VPC condiviso.
Console
Per visualizzare la pagina VPC condiviso in Google Cloud Console, devi disporre del ruolo Amministratore VPC condiviso.
- Vai alla pagina VPC condiviso in Google Cloud Console.
Vai a VPC condiviso - Accedi come amministratore VPC condiviso.
- Seleziona il progetto host da cui vuoi rimuovere i progetti di servizio.
- Fai clic sulla scheda Progetti collegati.
- Seleziona il progetto di servizio che vuoi scollegare.
- Fai clic sul pulsante Scollega progetti.
- Esamina le informazioni nella finestra di dialogo.
- Fai clic su Scollega.
gcloud
Se non l'hai ancora fatto, autenticati a
gcloud
come amministratore del VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome dell'amministratore della rete VPC condivisa:gcloud auth login SHARED_VPC_ADMIN
Scollega il progetto di servizio dal progetto host. Sostituisci SERVICE_PROJECT_ID con l'ID progetto del progetto di servizio e HOST_PROJECT_ID con l'ID progetto del progetto host.
Se hai il ruolo Amministratore VPC condiviso a livello di organizzazione
gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID --host-project HOST_PROJECT_ID
Se hai il ruolo Amministratore VPC condiviso a livello di cartella
gcloud beta compute shared-vpc associated-projects remove SERVICE_PROJECT_ID --host-project HOST_PROJECT_ID
Verifica che il progetto di servizio sia stato scollegato utilizzando uno di questi comandi:
gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
Se hai solo bisogno di scollegare i progetti di servizio, esci da
gcloud
per proteggere le credenziali del tuo account amministratore VPC condiviso. In caso contrario, salta questo passaggio e procedi con la disattivazione del progetto host.gcloud auth revoke SHARED_VPC_ADMIN
API
Scollega il progetto di servizio.
Se hai il ruolo Amministratore VPC condiviso a livello di organizzazione, utilizza l'API v1:
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource { "xpnResource": { "id": "SERVICE_PROJECT_ID" } }
Se hai il ruolo Amministratore VPC condiviso a livello di cartella, utilizza l'API beta:
POST https://compute.googleapis.com/compute/beta/projects/HOST_PROJECT_ID/disableXpnResource { "xpnResource": { "id": "SERVICE_PROJECT_ID" } }
Sostituisci i segnaposto con valori validi:
- HOST_PROJECT_ID è l'ID del progetto host.
- SERVICE_PROJECT_ID è l'ID del progetto di servizio da scollegare.
Per ulteriori informazioni, consulta il metodo
projects.disableXpnResource
.Verifica che il progetto di servizio sia stato scollegato.
Controlla che il progetto di servizio non sia associato a nessun progetto host.
GET https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
Sostituisci SERVICE_PROJECT_ID con l'ID del progetto di servizio.
Per ulteriori informazioni, consulta il metodo
projects.getXpnHost
.Elenca i progetti di servizio associati al progetto host del VPC condiviso per confermare che non siano più elencati.
GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
Per ulteriori informazioni, consulta il metodo
projects.getXpnResources
.
Viene disabilitato il progetto host
La disabilitazione di VPC condiviso per il progetto host è possibile solo dopo che tutti i progetti di servizio sono stati scollegati. Quando l'impostazione è disattivata, il blocco che ne impedisce l'eliminazione facile viene rimosso automaticamente.
Console
Per visualizzare la pagina VPC condiviso in Google Cloud Console, devi disporre del ruolo Amministratore VPC condiviso.
- Vai alla pagina VPC condiviso in Google Cloud Console.
Vai a VPC condiviso - Accedi come amministratore VPC condiviso.
- Seleziona il progetto host che vuoi disattivare.
- Fai clic sul pulsante Disattiva VPC condiviso.
- Nella finestra di dialogo, leggi attentamente la descrizione.
- Inserisci l'ID progetto del progetto host per ID progetto host.
- Fai clic su Disattiva.
gcloud
Se non l'hai ancora fatto, autenticati a
gcloud
come amministratore del VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome dell'amministratore della rete VPC condivisa:gcloud auth login SHARED_VPC_ADMIN
Disattiva VPC condiviso per il progetto host. Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
Se hai il ruolo Amministratore VPC condiviso a livello di organizzazione
gcloud compute shared-vpc disable HOST_PROJECT_ID
Se hai il ruolo Amministratore VPC condiviso a livello di cartella
gcloud beta compute shared-vpc disable HOST_PROJECT_ID
Verifica che il progetto non sia più elencato come progetto host per la tua organizzazione. Sostituisci ORG_ID con l'ID organizzazione (determinato da
gcloud organizations list
).gcloud compute shared-vpc organizations list-host-projects ORG_ID
Se avessi solo bisogno di disabilitare un progetto host, puoi uscire da
gcloud
per proteggere le credenziali del tuo account amministratore VPC condiviso. In caso contrario, salta questo passaggio e continua con elimina progetti.gcloud auth revoke SHARED_VPC_ADMIN
API
Disabilita VPC condiviso per il progetto.
Se hai il ruolo Amministratore VPC condiviso a livello di organizzazione, utilizza l'API v1:
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
Se hai il ruolo Amministratore VPC condiviso a livello di cartella, utilizza l'API beta:
POST https://compute.googleapis.com/compute/beta/projects/HOST_PROJECT_ID/disableXpnHost
Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
Per ulteriori informazioni, consulta il metodo
projects.disableXpnHost
.Elenca i tuoi progetti host per confermare che non siano elencati.
POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
Per ulteriori informazioni, consulta il metodo
projects.listXpnHosts
.
Elimina progetti
Questa sezione illustra l'eliminazione di progetti non più utilizzati; ad esempio, è possibile che dei progetti di servizio debbano essere eliminati dopo che sono stati scollegati da un progetto host oppure che potresti non aver più bisogno del progetto host dopo che è stato disabilitato.
Elimina progetto host
Puoi scegliere di tenerlo come un normale progetto o chiuderlo. La chiusura di un progetto ne comporta l'eliminazione.
Un'entità IAM può eliminare il progetto host se l'entità ha il ruolo resourcemanager.projectDeleter
per l'organizzazione o se l'entità è il proprietario del progetto host.
Gli amministratori della rete VPC condivisa possono eliminare i progetti host se hanno il ruolo o la proprietà corretti.
Elimina progetto di servizio
Puoi scegliere di chiudere ogni progetto di servizio se non ne hai più bisogno. Prima di farlo, assicurati che il progetto di servizio sia stato scollegato dal progetto host.
Un'entità IAM può eliminare un progetto di servizio se l'entità ha il ruolo resourcemanager.projectDeleter
per l'organizzazione o se l'entità è il proprietario del progetto di servizio. Gli amministratori di progetti di servizio possono essere in grado di eliminare i progetti di servizio se dispongono del ruolo o della proprietà corretti.
Elimina forzatamente un progetto host
Quando il VPC condiviso è attivo per un progetto host, sul progetto viene posizionato un blocco per evitare che venga eliminato accidentalmente. Poiché questo blocco può essere rimosso da un proprietario del progetto, le linee guida per il provisioning di un VPC condiviso includono i passaggi per definire un criterio dell'organizzazione che limita le entità IAM che possono rimuovere un blocco di progetto.
Di solito, un progetto host deve essere eliminato dopo aver completato le seguenti attività in questo ordine:
- Tutti i progetti di servizio sono stati scollegati dal progetto host e
- La rete VPC condivisa è stata disattivata.
Quando il VPC condiviso è stato disabilitato, il blocco che protegge il progetto host viene rimosso automaticamente.
In questa sezione viene spiegato come arrestare forzatamente un progetto host. Ti consigliamo di prendere in considerazione questa opzione solo nei seguenti casi:
- Non puoi seguire i normali passaggi per scollegare i progetti di servizio e disabilitare la rete VPC condivisa.
- Esistono blocchi aggiuntivi che proteggono il progetto host oltre a quello aggiunto automaticamente.
Se chiudi forzatamente un progetto host e disponi di risorse in progetti di servizio che utilizzano la rete VPC condiviso, si verificano i seguenti eventi:
- Vengono eliminate tutte le reti VPC condivise, le relative subnet, le route, le regole firewall e tutte le risorse di rete nel progetto host.
- Le risorse, come le istanze in esecuzione nei progetti di servizio collegati al progetto host, vengono interrotte.
- I bilanciatori del carico TCP/UDP interni sono disabilitati se le relative regole di forwarding dipendono dalla rete VPC condiviso.
gcloud
Esegui l'autenticazione su
gcloud
come entità IAM che può rimuovere un blocco progetto. Se hai un criterio dell'organizzazione che limita le entità che possono rimuovere i blocchi, devi autenticarti come un'entità IAM con il ruoloresourcemanager.lienModifier
per la tua organizzazione. Se non disponi di questo criterio, il proprietario del progetto host può rimuovere il blocco.Sostituisci ACCOUNT con il nome del entità IAM appropriato:
gcloud auth login ACCOUNT
Elenca i blocchi associati al progetto host. Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
gcloud alpha resource-manager liens list \ --project HOST_PROJECT_ID
Rimuovi ciascun blocco per nome, uno alla volta, finché non saranno più presenti. Sostituisci LIEN_NAME con il nome del blocco.
gcloud alpha resource-manager liens delete LIEN_NAME \ --project HOST_PROJECT_ID
Conferma che tutti i blocchi sono stati rimossi.
gcloud alpha resource-manager liens list \ --project HOST_PROJECT_ID
Dopo aver rimosso il blocco, puoi uscire da
gcloud
per proteggere le credenziali dell'entità IAM che ha l'autorizzazione per rimuovere i blocchi.gcloud auth revoke ACCOUNT
Il progetto host può ora essere disattivato.
API
Elenca i blocchi associati al progetto host.
GET https://cloudresourcemanager.googleapis.com/v1/liens?parent=projects:HOST_PROJECT_ID
Sostituisci HOST_PROJECT_ID con l'ID del progetto host.
Per ulteriori informazioni, consulta il metodo
liens.list
.Rimuovi ogni blocco per nome fino a quando non saranno più presenti.
DELETE https://cloudresourcemanager.googleapis.com/v1/liens/LIEN_NAME
Sostituisci LIEN_NAME con il nome del blocco da eliminare.
Per ulteriori informazioni, consulta il metodo
liens.delete
.Elenca di nuovo i blocchi per confermare che sono stati rimossi.
Passaggi successivi
- Per saperne di più sulla rete VPC condivisa, vedi VPC condiviso.
- Per istruzioni sulla configurazione del VPC condiviso, consulta Eseguire il provisioning del VPC condiviso.
- Per istruzioni sulla configurazione dei cluster Google Kubernetes Engine con VPC condiviso, consulta Configurare i cluster con VPC condiviso.