Deprovisioning del VPC condiviso

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. Innanzitutto, assicurati di conoscere le pagine Panoramica del VPC condiviso e Provisioning condiviso VPC.

Attività amministratore 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 relative subnet condivise. Se il progetto di servizio viene scollegato dal progetto host, queste subnet non saranno più disponibili per quest'ultimo. Pertanto, tutte le risorse che dipendono da esse saranno interessate.

Elimina risorse

Dopo che un amministratore di progetto ha identificato le risorse che saranno interessate dal processo di deprovisioning, queste devono essere eliminate:

Attività di amministrazione del bilanciatore del carico (solo bilanciatori del carico HTTP(S) interni e bilanciatori del carico HTTP(S) esterni a livello di area geografica)

I bilanciatori del carico HTTP(S) interni a un'area geografica e i bilanciatori del carico HTTP(S) esterni di un'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 backend) presenti in più progetti negli ambienti VPC condivisi.

Prima di poter eliminare un progetto di servizio, devi assicurarti che tutti i riferimenti a più progetti relativi ai servizi di backend nel 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à di amministrazione del VPC condiviso

Tutte le attività in questa sezione devono essere eseguite da un amministratore della rete VPC condivisa.

Scollega progetti di servizio

Ripeti questi passaggi per ogni progetto di servizio da 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.

  1. Vai alla pagina VPC condiviso in Google Cloud Console.
    Vai al VPC condiviso
  2. Accedi come amministratore del VPC condiviso.
  3. Seleziona il progetto host da cui stai rimuovendo i progetti di servizio.
  4. Fai clic sulla scheda Progetti collegati.
  5. Seleziona il progetto di servizio da scollegare.
  6. Fai clic sul pulsante Scollega progetti.
  7. Controlla le informazioni nella finestra di dialogo.
  8. Fai clic su Scollega.

gcloud

  1. Se non l'hai già 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
    
  2. 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 di 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 di amministratore VPC condiviso a livello di cartella

    gcloud beta compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. Verifica che il progetto di servizio sia stato scollegato utilizzando uno dei seguenti comandi:

    gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
    
    gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
    
  4. 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

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

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

    • Verifica che il progetto di servizio non sia collegato 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 del 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ù presenti nell'elenco.

      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 della rete VPC condivisa per il progetto host è possibile solo dopo che tutti i progetti di servizio sono stati scollegati. Quando è disabilitata, il blocco che ne impedisce l'eliminazione facilmente viene rimosso automaticamente.

Console

Per visualizzare la pagina VPC condiviso in Google Cloud Console, devi disporre del ruolo Amministratore VPC condiviso.

  1. Vai alla pagina VPC condiviso in Google Cloud Console.
    Vai al VPC condiviso
  2. Accedi come amministratore del VPC condiviso.
  3. Seleziona il progetto host che vuoi disattivare.
  4. Fai clic sul pulsante Disattiva VPC condiviso.
  5. Nella finestra di dialogo, leggi attentamente la descrizione.
  6. Inserisci l'ID progetto del progetto host per ID progetto host.
  7. Fai clic su Disattiva.

gcloud

  1. Se non l'hai già 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
    
  2. Disattiva VPC condiviso per il progetto host. Sostituisci HOST_PROJECT_ID con l'ID del progetto host.

    Se hai il ruolo di amministratore VPC condiviso a livello di organizzazione

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    

    Se hai il ruolo di amministratore VPC condiviso a livello di cartella

    gcloud beta 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 hai 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 l'eliminazione dei progetti.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

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

  2. Elenca i tuoi progetti host per verificare 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.

Eliminazione dei progetti

In questa sezione viene spiegato come eliminare i progetti non più utilizzati; ad esempio, potresti avere progetti di servizio che devono essere eliminati dopo che sono stati scollegati da un progetto host oppure potresti non aver più bisogno di questo progetto dopo la disattivazione.

Elimina progetto host

Puoi scegliere di mantenerlo come un normale progetto o di chiuderlo. La chiusura di un progetto lo elimina.

Un'entità IAM può eliminare il progetto host se include quella con il ruolo resourcemanager.projectDeleter per l'organizzazione o se è l'entità proprietaria del progetto host. Gli amministratori del VPC condiviso potrebbero essere in grado di eliminare i progetti host se hanno il ruolo o la proprietà corretti.

Elimina progetti 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 l'entità ha il ruolo resourcemanager.projectDeleter per l'organizzazione o se è l'entità proprietaria 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.

Elimina forzatamente un progetto host

Quando un VPC condiviso è attivo per un progetto host, viene posizionato un blocco sul progetto per evitare che venga eliminato accidentalmente. Poiché questo blocco può essere rimosso dal proprietario di un progetto, le linee guida per il provisioning di un VPC condiviso includono la procedura per definire un criterio dell'organizzazione che limita le entità IAM in grado di rimuovere un blocco di progetto.

Normalmente, un progetto host deve essere eliminato dopo che le seguenti attività sono state completate 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 altri blocchi che proteggono il progetto host oltre a quello che viene aggiunto automaticamente.

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

  • Tutte le reti VPC condivise, le relative subnet, le route, le regole firewall e tutte le risorse di networking del 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. Autenticarsi a gcloud come entità IAM in grado di rimuovere un blocco di progetto. Se hai 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 per il progetto host può rimuovere il blocco.

    Sostituisci ACCOUNT con il nome del provider IAM appropriato:

    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, finché non saranno più presenti. Sostituisci LIEN_NAME con il nome del blocco da rimuovere.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. Verifica che tutti i blocchi siano 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 ha l'autorizzazione per rimuovere i blocchi.

    gcloud auth revoke ACCOUNT
    
  6. Il progetto host ora può essere disattivato.

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 ogni blocco per nome finché non sono 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.

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

Passaggi successivi