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 conoscere prima le pagine VPC condiviso ed Esegui il provisioning del VPC condiviso.

Attività di amministrazione dei progetti di servizio

In ogni progetto di servizio collegato al progetto host del VPC condiviso, un amministratore del progetto di servizio deve rimuovere tutte le dipendenze dal progetto host. Le dipendenze possono 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 relative subnet condivise. Quando il progetto di servizio viene scollegato dal progetto host, queste subnet non saranno più disponibili, pertanto tutte le risorse che dipendono da queste non saranno interessate.

Elimina risorse

Dopo che un amministratore del progetto di servizio ha identificato le risorse interessate dal processo di deprovisioning, queste dovranno essere eliminate:

Attività di amministrazione del bilanciatore del carico

Gli Application Load Balancer interni e quelli esterni a livello di regione consentono di configurare il bilanciatore del carico in modo che una mappa URL in un progetto host o di servizio possa fare riferimento a servizi di backend (e backend) situati in più progetti in ambienti VPC condiviso.

Prima di poter eliminare un progetto di servizio, devi assicurarti che tutti i riferimenti tra progetti ai servizi di backend nel progetto di servizio siano stati rimossi. Gli amministratori dei bilanciatori del carico dovranno modificare le proprie mappe URL per rimuovere i riferimenti ai servizi di backend nel progetto di servizio.

Attività di amministrazione del 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 nella console Google Cloud, devi disporre del ruolo Amministratore VPC condiviso.

  1. Vai alla pagina VPC condiviso nella console Google Cloud.
    Vai a VPC condiviso
  2. Accedi come Amministratore del VPC condiviso.
  3. Seleziona il progetto host da cui vuoi rimuovere i progetti di servizio.
  4. Fai clic sulla scheda Progetti collegati.
  5. Seleziona il progetto di servizio che vuoi scollegare.
  6. Fai clic sul pulsante Scollega progetti.
  7. Rivedi le informazioni nella finestra di dialogo.
  8. Fai clic su Scollega.

gcloud

  1. Se non lo hai già fatto, autentica su gcloud come amministratore del VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome dell'Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Scollega il progetto di servizio dal progetto host. Sostituisci SERVICE_PROJECT_ID con l'ID del progetto di servizio e HOST_PROJECT_ID con l'ID del progetto host.

    gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. Conferma 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
    
  4. Se hai bisogno solo di scollegare i progetti di servizio, esci da gcloud per proteggere le credenziali dell'account amministratore del VPC condiviso. In caso contrario, salta questo passaggio e disabilita il progetto host.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Scollega il progetto di servizio.

    POST https://compute.googleapis.com/compute/v1/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.

  2. Verifica che il progetto di servizio sia stato scollegato.

    • Verifica che il progetto di servizio non sia collegato ad alcun 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 collegati al progetto host del VPC condiviso per confermare che il progetto non sia più elencato.

      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 del VPC condiviso per il progetto host è possibile solo dopo che tutti i progetti di servizio sono stati detached. Quando l'opzione è disattivata, il blocco che ne impedisce l'eliminazione viene rimosso automaticamente.

Console

Per visualizzare la pagina VPC condiviso nella console Google Cloud, devi disporre del ruolo Amministratore VPC condiviso.

  1. Vai alla pagina VPC condiviso nella console Google Cloud.
    Vai a VPC condiviso
  2. Accedi come Amministratore del VPC condiviso.
  3. Seleziona il progetto host che vuoi disabilitare.
  4. Fai clic sul pulsante Disabilita VPC condiviso.
  5. Leggi attentamente la descrizione nella finestra di dialogo.
  6. Inserisci l'ID del progetto host in ID progetto host.
  7. Fai clic su Disattiva.

gcloud

  1. Se non lo hai già fatto, autentica su gcloud come amministratore del VPC condiviso. Sostituisci SHARED_VPC_ADMIN con il nome dell'Amministratore del VPC condiviso:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Disabilita il VPC condiviso per il progetto host. Sostituisci HOST_PROJECT_ID con l'ID del progetto host.

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    
  3. 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
    
  4. Se dovevi solo disabilitare un progetto host, puoi uscire da gcloud per proteggere le credenziali del tuo account amministratore del VPC condiviso. In caso contrario, salta questo passaggio e continua con elimina progetti.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Disabilita il VPC condiviso per il progetto.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
    

    Sostituisci HOST_PROJECT_ID con l'ID del progetto host.

    Per ulteriori informazioni, consulta il metodo projects.disableXpnHost.

  2. Elenca i progetti host per verificare che il progetto non sia in elenco.

    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 dei progetti che non vengono più utilizzati. Ad esempio, potresti avere progetti di servizio che devono essere eliminati dopo essere stati scollegati da un progetto host oppure il progetto host potrebbe non essere più necessario dopo che è stato disabilitato.

Elimina progetto host

Puoi scegliere di tenerlo come un normale progetto o di arredarlo. La chiusura di un progetto lo elimina.

Un'entità IAM può eliminare il progetto host se dispone del ruolo resourcemanager.projectDeleter per l'organizzazione o se è il proprietario del progetto host. Gli amministratori di VPC condivisi potrebbero essere in grado di eliminare i progetti host se dispongono del ruolo o della proprietà corretti.

Elimina progetto di servizio

Puoi scegliere di chiudere ogni progetto di servizio se non ti serve più. 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 dispone del ruolo resourcemanager.projectDeleter per la tua organizzazione o se è il proprietario del progetto di servizio. Gli amministratori dei progetti di servizio potrebbero essere in grado di eliminare i progetti di servizio se dispongono del ruolo o della proprietà corretti.

Eliminare forzatamente un progetto host

Mentre il VPC condiviso è attivo per un progetto host, viene impostato un blocco sul progetto per impedirne l'eliminazione accidentale. Poiché questo blocco può essere rimosso dal proprietario del progetto, le linee guida per il provisioning di un VPC condiviso includono passaggi per definire un criterio dell'organizzazione che limita le entità IAM che possono rimuovere un blocco sul progetto.

Normalmente, un progetto host deve essere eliminato dopo il completamento delle seguenti attività in questo ordine:

  • Tutti i progetti di servizio sono stati detached dal progetto host e
  • Il VPC condiviso è stato disabilitato.

Una volta disabilitato il VPC condiviso, il blocco che protegge il progetto host viene rimosso automaticamente.

Questa sezione descrive come arrestare forzatamente un progetto host. Dovresti prendere in considerazione questa opzione solo nelle seguenti circostanze:

  • Non puoi seguire i normali passaggi per scollegare i progetti di servizio e disabilitare il VPC condiviso.
  • Sono presenti ulteriori blocchi che proteggono il progetto host oltre a quello aggiunto automaticamente.

Se arresti forzatamente un progetto host e nei progetti di servizio sono presenti risorse che utilizzano la rete VPC condiviso, si verificano i seguenti eventi:

  • Tutte le reti VPC condivise, le relative subnet, route, regole firewall e tutte le risorse di rete nel progetto host vengono eliminate.
  • Le risorse, come l'esecuzione di istanze nei progetti di servizio collegati al progetto host, vengono arrestate.
  • I bilanciatori del carico TCP/UDP interni sono disabilitati se le relative regole di forwarding dipendono dalla rete VPC condiviso.

gcloud

  1. Esegui l'autenticazione in gcloud come entità IAM che può rimuovere un blocco sul progetto. Se disponi di un criterio dell'organizzazione che limita le entità che possono rimuovere i blocchi, devi autenticarti come entità IAM con il ruolo resourcemanager.lienModifier per la tua organizzazione. Se questo criterio non è attivo, il proprietario del progetto host può rimuovere il blocco.

    Sostituisci ACCOUNT con il nome dell'entità IAM appropriata:

    gcloud auth login ACCOUNT
    
  2. 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
    
  3. Rimuovi ogni blocco per nome, uno alla volta, fino a quando non sono più presenti blocchi. Sostituisci LIEN_NAME con il nome del blocco da rimuovere.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. Conferma che tutti i blocchi sono stati rimossi.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  5. Dopo aver rimosso il blocco, puoi uscire da gcloud per proteggere le credenziali dell'entità IAM che dispone dell'autorizzazione per rimuovere i blocchi.

    gcloud auth revoke ACCOUNT
    
  6. Ora il progetto host può essere arresto.

API

  1. 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.

  2. Rimuovi ciascun blocco per nome fino a quando non sono più presenti blocchi.

    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.

  3. Elenca di nuovo i blocchi per confermare che sono stati rimossi.

Passaggi successivi