Bereitstellung von freigegebener VPC aufheben

Auf dieser Seite wird beschrieben, wie Sie die Bereitstellung einer aktuell freigegebenen VPC-Konfiguration aufheben, indem Sie alle Dienstprojekte vom Hostprojekt der freigegebenen VPC trennen. Das Aufheben einer Bereitstellung ist nur in einer Richtung möglich. Machen Sie sich zuerst mit den Informationen auf den Seiten Freigegebene VPC und Freigegebene VPC bereitstellen vertraut.

Aufgaben des Dienstprojekt-Administrators

In jedem Dienstprojekt, das an das freigegebene VPC-Hostprojekt angehängt ist, muss ein Dienstprojektadministrator alle Abhängigkeiten vom Hostprojekt entfernen. Abhängigkeiten können Instanzen, Instanzgruppen, Instanzvorlagen, Backend-Dienste und Weiterleitungsregeln umfassen.

Betroffene Ressourcen ermitteln

Um Ressourcen zu identifizieren, die vom freigegebenen VPC-Hostprojekt abhängen, kann ein Dienstprojektadministrator die freigegebenen Subnetze auflisten. Nachdem das Dienstprojekt vom Hostprojekt getrennt wurde, stehen ihm diese Subnetze nicht mehr zur Verfügung. Daher sind alle davon abhängigen Ressourcen betroffen.

Ressourcen löschen

Sobald ein Dienstprojektadministrator die Ressourcen identifiziert hat, die vom Aufheben der Bereitstellung betroffen sind, müssen diese Ressourcen gelöscht werden:

Aufgaben des Load-Balancer-Administrators

Mit internen Application Load Balancern und regionalen externen Application Load Balancern können Sie den Load Balancer so konfigurieren, dass eine URL-Zuordnung in einem Host- oder Dienstprojekt auf Backend-Dienste (und Backends) verweisen kann, die sich in mehreren Projekten in freigegebenen VPC-Umgebungen befinden.

Bevor Sie ein Dienstprojekt löschen können, müssen Sie dafür sorgen, dass alle projektübergreifenden Verweise auf Backend-Dienste in Ihrem Dienstprojekt entfernt wurden. Load-Balancer-Administratoren müssen ihre URL-Zuordnungen ändern, um Verweise auf Backend-Dienste in Ihrem Dienstprojekt zu entfernen.

Aufgaben des Administrators der freigegebenen VPC

Alle in diesem Abschnitt beschriebenen Aufgaben müssen von einem Administrator für die freigegebene VPC ausgeführt werden.

Dienstprojekte trennen

Wiederholen Sie diese Schritte für jedes Dienstprojekt, das Sie vom freigegebenen VPC-Hostprojekt trennen müssen.

Console

Sie benötigen die Rolle "Administrator für freigegebene VPC”, um in der Google Cloud Console die Seite "Freigegebene VPC” aufzurufen.

  1. Rufen Sie in der Google Cloud Console die Seite Freigegebene VPC auf.
    Zur Seite "Freigegebene VPC"
  2. Melden Sie sich als Administrator für freigegebene VPC an.
  3. Wählen Sie das Hostprojekt aus, aus dem Sie Dienstprojekte entfernen möchten.
  4. Klicken Sie auf den Tab Angehängte Projekte.
  5. Wählen Sie das Dienstprojekt aus, das Sie trennen möchten.
  6. Klicken Sie auf die Schaltfläche Projekte trennen.
  7. Überprüfen Sie die Informationen im Dialogfeld.
  8. Klicken Sie auf Trennen.

gcloud

  1. Falls noch nicht geschehen, authentifizieren Sie sich bei gcloud als Administrator für freigegebene VPC. Ersetzen Sie SHARED_VPC_ADMIN durch den Namen des Administrators für freigegebene VPC:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Trennen Sie das Dienstprojekt vom Hostprojekt. Ersetzen Sie SERVICE_PROJECT_ID durch die Projekt-ID des Dienstprojekts und HOST_PROJECT_ID durch die Projekt-ID des Hostprojekts.

    gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. Prüfen Sie mit einem der folgenden Befehle, ob das Dienstprojekt vom Hostprojekt getrennt wurde:

    gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
    
    gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
    
  4. Wenn Sie nur Dienstprojekte trennen mussten, melden Sie sich von gcloud ab, um die Anmeldedaten des Administratorkontos für die freigegebene VPC zu schützen. Andernfalls können Sie diesen Schritt überspringen und nun das Hostprojekt deaktivieren.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Trennen Sie das Dienstprojekt.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource
    {
      "xpnResource": {
        "id": "SERVICE_PROJECT_ID"
      }
    }
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • HOST_PROJECT_ID ist die ID des Hostprojekts.
    • SERVICE_PROJECT_ID ist die ID des zu trennenden Dienstprojekts.

    Weitere Informationen finden Sie in der Methode projects.disableXpnResource.

  2. Bestätigen Sie, dass das Dienstprojekt getrennt wurde.

    • Sorgen Sie dafür, dass das Dienstprojekt keinem Hostprojekt angehängt ist.

      GET https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
      

      Ersetzen Sie SERVICE_PROJECT_ID durch die ID des Dienstprojekts.

      Weitere Informationen finden Sie in der Methode projects.getXpnHost.

    • Listen Sie die Dienstprojekte auf, die dem Hostprojekt der freigegebenen VPC angehängt sind, um zu bestätigen, dass das Projekt nicht mehr aufgeführt ist.

      GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
      

      Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

      Weitere Informationen finden Sie in der Methode projects.getXpnResources.

Hostprojekt deaktivieren

Das Hostprojekt einer freigegebenen VPC kann erst deaktiviert werden, nachdem alle Dienstprojekte getrennt wurden. Nach der Deaktivierung wird die Sperre zum Schutz vor versehentlichem Löschen automatisch entfernt.

Console

Sie benötigen die Rolle "Administrator für freigegebene VPC”, um in der Google Cloud Console die Seite "Freigegebene VPC” aufzurufen.

  1. Rufen Sie in der Google Cloud Console die Seite Freigegebene VPC auf.
    Zur Seite "Freigegebene VPC"
  2. Melden Sie sich als Administrator für freigegebene VPC an.
  3. Wählen Sie das Hostprojekt aus, das Sie deaktivieren möchten.
  4. Klicken Sie auf die Schaltfläche Freigegebene VPC deaktivieren.
  5. Lesen Sie im Dialogfeld die Beschreibung sorgfältig.
  6. Geben Sie die Projekt-ID des Hostprojekts für die Hostprojekt-ID ein.
  7. Klicken Sie auf Deaktivieren.

gcloud

  1. Falls noch nicht geschehen, authentifizieren Sie sich bei gcloud als Administrator für freigegebene VPC. Ersetzen Sie SHARED_VPC_ADMIN durch den Namen des Administrators für freigegebene VPC:

    gcloud auth login SHARED_VPC_ADMIN
    
  2. Deaktivieren Sie die freigegebene VPC für das Hostprojekt. Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    
  3. Bestätigen Sie, dass das Projekt nicht mehr als Hostprojekt für Ihre Organisation aufgeführt wird. Ersetzen Sie ORG_ID durch Ihre Organisations-ID (ermittelt über gcloud organizations list).

    gcloud compute shared-vpc organizations list-host-projects ORG_ID
    
  4. Wenn Sie nur ein Hostprojekt deaktivieren mussten, melden Sie sich von gcloud ab, um die Anmeldedaten des Administratorkontos für die freigegebene VPC zu schützen. Andernfalls können Sie diesen Schritt überspringen und nun Projekte löschen.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. Deaktivieren Sie die freigegebene VPC für das Projekt.

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

    Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

    Weitere Informationen finden Sie in der Methode projects.disableXpnHost.

  2. Listen Sie die Hostprojekte auf, um zu bestätigen, dass das Projekt nicht mehr aufgeführt ist.

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

    Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

    Weitere Informationen finden Sie in der Methode projects.listXpnHosts.

Projekte löschen

In diesem Abschnitt wird beschrieben, wie Sie nicht länger benötigte Projekte löschen können. Beispielsweise können Dienstprojekte gelöscht werden, nachdem sie von einem Hostprojekt getrennt wurden, oder Sie benötigen das Hostprojekt möglicherweise nicht mehr, nachdem es deaktiviert wurde.

Hostprojekt löschen

Sie können das Projekt als normales Projekt behalten oder beenden. Beim Beenden eines Projekts wird es gelöscht.

Ein IAM-Hauptkonto kann das Hostprojekt löschen, wenn das Hauptkonto die Rolle resourcemanager.projectDeleter für Ihre Organisation hat oder das Hauptkonto der Inhaber des Hostprojekts ist. Administratoren für die freigegebene VPC können möglicherweise Hostprojekte löschen, wenn sie die entsprechende Rolle haben oder Inhaber sind.

Dienstprojekt löschen

Sie können Dienstprojekte beenden, wenn Sie sie nicht mehr benötigen. Achten Sie darauf, dass das Dienstprojekt vorher vom Hostprojekt getrennt wurde.

Ein IAM-Hauptkonto kann ein Dienstprojekt löschen, wenn das Hauptkonto die Rolle resourcemanager.projectDeleter für Ihre Organisation hat oder wenn das Hauptkonto der Inhaber des Dienstprojekts ist. Dienstprojektadministratoren können möglicherweise Hostprojekte löschen, wenn sie die entsprechende Rolle haben oder Inhaber sind.

Löschen eines Hostprojekts erzwingen

Während die freigegebene VPC für ein Hostprojekt aktiv ist, enthält das Projekt eine Sperre, die verhindert, dass es versehentlich gelöscht wird. Da diese Sperre von einem Projektinhaber entfernt werden kann, enthalten die Richtlinien zur Bereitstellung einer freigegebenen VPC eine Anleitung, nach der Sie mit einer Organisationsrichtlinie einschränken können, welche IAM-Hauptkonten diese Sperre entfernen dürfen.

Normalerweise sollte ein Hostprojekt gelöscht werden, nachdem die folgenden Aufgaben in der angegebenen Reihenfolge ausgeführt wurden:

  • Alle Dienstprojekte wurden vom Hostprojekt getrennt und
  • die freigegebene VPC wurde deaktiviert.

Nach der Deaktivierung der freigegebenen VPC wird die Sperre zum Schutz des Hostprojekts automatisch entfernt.

In diesem Abschnitt wird beschrieben, wie das Beenden eines Hostprojekts erzwungen werden kann. Sie sollten diese Option nur unter den folgenden Umständen in Betracht ziehen:

  • Sie können die normale Vorgehensweise zum Trennen von Dienstprojekten und Deaktivieren der freigegebenen VPC nicht ausführen.
  • Es gibt zusätzliche Sperren, die das Hostprojekt über die automatisch hinzugefügte hinaus schützen.

Wenn Sie das Herunterfahren eines Hostprojekts erzwingen und Ressourcen in den Dienstprojekten haben, die das freigegebene VPC-Netzwerk verwenden, treten die folgenden Ereignisse auf:

  • Alle freigegebenen VPC-Netzwerke sowie deren Subnetze, Routen, Firewallregeln und alle Netzwerkressourcen im Hostprojekt werden gelöscht.
  • Ressourcen wie ausgeführte Instanzen in den Dienstprojekten, die an das Hostprojekt angehängt sind, werden gestoppt.
  • Interne TCP/UDP-Load-Balancer werden deaktiviert, wenn ihre Weiterleitungsregeln vom freigegebenen VPC-Netzwerk abhängen.

gcloud

  1. Authentifizieren Sie sich bei gcloud als IAM-Hauptkonto, das die Projektsperre entfernen kann. Wenn eine Organisationsrichtlinie die Hauptkonten einschränkt, die Sperren entfernen dürfen, müssen Sie sich als IAM-Hauptkonto mit der Rolle resourcemanager.lienModifier für Ihre Organisation authentifizieren. Ist eine solche Richtlinie nicht aktiv, kann der Projektinhaber des Hostprojekts die Sperre entfernen.

    Ersetzen Sie ACCOUNT durch den Namen des entsprechenden IAM-Hauptkontos:

    gcloud auth login ACCOUNT
    
  2. Listen Sie die Sperren auf, die dem Hostprojekt zugeordnet sind. Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  3. Entfernen Sie die Sperren einzeln nach ihrem Namen, bis alle gelöscht sind. Ersetzen Sie LIEN_NAME durch den Namen der zu entfernenden Sperre.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. Prüfen Sie, ob alle Sperren entfernt wurden.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  5. Nach dem Entfernen der Sperre können Sie sich bei gcloud abmelden, um die Anmeldedaten des IAM-Hauptkontos zu schützen, das zum Entfernen von Sperren berechtigt ist.

    gcloud auth revoke ACCOUNT
    
  6. Das Hostprojekt kann jetzt beendet werden.

API

  1. Listen Sie die Sperren auf, die dem Hostprojekt zugeordnet sind.

    GET https://cloudresourcemanager.googleapis.com/v1/liens?parent=projects:HOST_PROJECT_ID
    

    Ersetzen Sie HOST_PROJECT_ID durch die ID des Hostprojekts.

    Weitere Informationen finden Sie in der Methode liens.list.

  2. Entfernen Sie die Sperren nach ihrem Namen, bis alle gelöscht sind.

    DELETE https://cloudresourcemanager.googleapis.com/v1/liens/LIEN_NAME
    

    Ersetzen Sie LIEN_NAME durch den Namen der zu löschenden Sperre.

    Weitere Informationen finden Sie in der Methode liens.delete.

  3. Listen Sie die Sperren noch einmal auf, um zu bestätigen, dass sie entfernt wurden.

Nächste Schritte