Sichere, nutzerverwaltete Notebookinstanz in einem VPC-Netzwerk erstellen


Diese Anleitung richtet sich an Data Scientists, Forscher und Netzwerkadministratoren in Unternehmen. Es wird gezeigt, wie Sie eine nutzerverwaltete Notebookinstanz sichern, indem Sie sie in einem VPC-Netzwerk (Virtual Private Cloud) erstellen.

Ein VPC-Netzwerk ist eine virtuelle Version eines physischen Netzwerks, die innerhalb des Produktionsnetzwerks von Google implementiert wurde. Es handelt sich um ein privates Netzwerk mit eigenen privaten IP-Adressen, Subnetzen und Netzwerk-Gateways. Im Unternehmen werden VPC-Netzwerke zum Schutz von Daten und Instanzen verwendet, indem der Zugriff darauf von anderen Netzwerken und aus dem Internet gesteuert wird.

Das VPC-Netzwerk in dieser Anleitung ist ein eigenständiges Netzwerk. Sie können ein VPC-Netzwerk jedoch von einem Projekt (als Hostprojekt bezeichnet) für andere Projekte in Ihrer Google Cloud-Organisation freigeben. Weitere Informationen zur Verwendung des richtigen VPC-Netzwerktyps finden Sie unter Einzelnes VPC-Netzwerk und freigegebene VPC.

Gemäß den Best Practices für die Netzwerksicherheit verwendet das VPC-Netzwerk in dieser Anleitung eine Kombination aus Cloud Router, Cloud NAT und privatem Google-Zugriff, um die Instanz zu sichern:

  • Ihre vom Nutzer verwaltete Notebookinstanz hat keine externe IP-Adresse.
  • Die Instanz hat ausgehenden Internetzugriff über einen regionalen Cloud Router und ein Cloud NAT-Gateway, sodass Sie Softwarepakete oder andere Abhängigkeiten installieren können. Cloud NAT ermöglicht ausgehende Verbindungen und die eingehenden Antworten auf diese Verbindungen. Unerwünschte eingehende Anfragen aus dem Internet werden nicht zugelassen.
  • Die Instanz verwendet den privaten Google-Zugriff, um die externen IP-Adressen von Google APIs und Diensten zu erreichen.

Außerdem lernen Sie in der Anleitung Folgendes:

  • Post-Startscript erstellen, um automatisch ein GitHub-Repository in die neu erstellte nutzerverwaltete Notebookinstanz zu klonen.
  • Cloud Monitoring verwenden, um die nutzerverwaltete Notebookinstanz zu überwachen.
  • Mit der Compute Engine API die Instanz automatisch starten und stoppen, um die Kosten zu optimieren.

Architekturdiagramm einer nutzerverwalteten Notebookinstanz in einem VPC-Netzwerk.

Lernziele

  • Erstellen Sie ein VPC-Netzwerk und fügen Sie ein Subnetz hinzu, für das der private Google-Zugriff aktiviert ist.
  • Erstellen Sie einen Cloud Router und ein Cloud NAT für das VPC-Netzwerk.
  • Erstellen Sie im Subnetz eine nutzerverwaltete Notebookinstanz mithilfe eines Post-Startscripts, das das Google Cloud Generative AI-GitHub-Repository klont.
  • Aktivieren Sie Cloud Monitoring für die Instanz.
  • Erstellen Sie einen VM-Instanzzeitplan und hängen Sie ihn an die Instanz an.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

  1. Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf.

    Zur Projektauswahl

  2. Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Öffnen Sie Cloud Shell, um die in dieser Anleitung aufgeführten Befehle auszuführen. Cloud Shell ist eine interaktive Shell-Umgebung für Google Cloud, mit der Sie Projekte und Ressourcen über Ihren Webbrowser verwalten können.
  5. Zu Cloud Shell
  6. Legen Sie in Cloud Shell das aktuelle Projekt auf Ihre Google Cloud-Projekt-ID fest und speichern Sie dann dieselbe Projekt-ID in der Shell-Variablen projectid:
      projectid="PROJECT_ID"
      gcloud config set project ${projectid}
    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID. Sie finden Ihre Projekt-ID gegebenenfalls in der Google Cloud Console. Weitere Informationen finden Sie unter Projekt-ID ermitteln.
  7. Aktivieren Sie die IAM, Compute Engine, Notebooks, Cloud Storage, and Vertex AI APIs:

    gcloud services enable iam.googleapis.com  compute.googleapis.com notebooks.googleapis.com storage.googleapis.com aiplatform.googleapis.com
  8. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: Rollen/compute.networkAdmin, roles/compute.securityAdmin, roles/compute.instanceAdmin, roles/notebooks.admin, roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser roles/storage.Admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.

Eigenständige VPC erstellen und konfigurieren

  1. Erstellen Sie ein VPC-Netzwerk mit dem Namen securevertex-vpc:

    gcloud compute networks create securevertex-vpc --subnet-mode=custom
    
  2. Erstellen Sie ein Subnetz mit dem Namen securevertex-subnet-a und den primären IPv4-Bereich 10.10.10.0/29:

    gcloud compute networks subnets create securevertex-subnet-a --range=10.10.10.0/29 --network=securevertex-vpc --region=us-central1 --enable-private-ip-google-access
    

    Bei Bedarf können Sie für den Parameter --range einen anderen Wert angeben. Die Mindestpräfixlänge für ein einzelnes Notebook ist jedoch 29. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.

  3. Erstellen Sie einen regionalen Cloud Router mit dem Namen cloud-router-us-central1:

    gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1
    
  4. Erstellen Sie ein regionales Cloud NAT-Gateway mit dem Namen cloud-nat-us-central1:

    gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1 --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
    

Cloud Storage-Bucket erstellen

  1. Erstellen Sie den Cloud Storage-Bucket:

    gcloud storage buckets create --location=us-central1 --uniform-bucket-level-access gs://BUCKET_NAME
    

    Ersetzen Sie BUCKET_NAME durch einen eindeutigen Bucket-Namen.

  2. Legen Sie die Shell-Variable BUCKET_NAME fest und prüfen Sie, ob sie korrekt eingegeben wurde:

    BUCKET_NAME=BUCKET_NAME
    echo $BUCKET_NAME
    

    Ersetzen Sie BUCKET_NAME durch den Bucket-Namen.

Post-Startscript erstellen und hochladen

  1. Erstellen Sie das Script mit einem Texteditor wie vi oder nano, um eine Datei mit dem Namen poststartup.sh zu erstellen.

  2. Fügen Sie das folgende Shell-Script in die Datei ein:

    #! /bin/bash
    echo "Current user: id" >> /tmp/notebook_config.log 2>&1
    echo "Changing dir to /home/jupyter" >> /tmp/notebook_config.log 2>&1
    cd /home/jupyter
    echo "Cloning generative-ai from github" >> /tmp/notebook_config.log 2>&1
    su - jupyter -c "git clone http://github.com/GoogleCloudPlatform/generative-ai.git" >> /tmp/notebook_config.log 2>&1
    echo "Current user: id" >> /tmp/notebook_config.log 2>&1
    echo "Installing python packages" >> /tmp/notebook_config.log 2&1
    su - jupyter -c "pip install --upgrade --no-warn-conflicts --no-warn-script-location --user \
         google-cloud-bigquery \
         google-cloud-pipeline-components \
         google-cloud-aiplatform \
         seaborn \
         kfp" >> /tmp/notebook_config.log 2>&1
    
  3. Speichern Sie die Datei.

  4. Laden Sie die Datei in Ihren Cloud Storage-Bucket hoch:

    gcloud storage cp poststartup.sh gs://$BUCKET_NAME
    

Benutzerdefiniertes Dienstkonto erstellen

Wenn Sie eine nutzerverwaltete Notebookinstanz erstellen, sollten Sie unbedingt das Kästchen Compute Engine-Standarddienstkonto verwenden deaktivieren und ein benutzerdefiniertes Dienstkonto angeben. Dem Compute Engine-Standarddienstkonto (und damit jedem, den Sie als Instanznutzer angeben) wird die Rolle „Editor“ (roles/editor) für Ihr Projekt zugewiesen. Sie können dieses Verhalten deaktivieren, indem Sie automatische Rollenzuweisungen für Standarddienstkonten deaktivieren.

  1. Erstellen Sie ein benutzerdefiniertes Dienstkonto mit dem Namen user-managed-notebook-sa:

    gcloud iam service-accounts create user-managed-notebook-sa \
    --display-name="user-managed-notebook-sa"
    
  2. Weisen Sie dem Dienstkonto die IAM-Rolle „Storage Object Viewer“ zu:

    gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.objectViewer"
    
  3. Weisen Sie dem Dienstkonto die IAM-Rolle „Vertex AI User“ zu:

    gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
    

Nutzerverwaltete Notebookinstanz erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Nutzerverwaltete Notebooks auf.

    Zu "Nutzerverwaltete Notebooks"

  2. Klicken Sie auf  Neu erstellen und wählen Sie Erweiterte Optionen aus.

    Die Seite Instanz erstellen wird geöffnet.

  3. Geben Sie auf der Seite Instanz erstellen im Abschnitt Details die folgenden Informationen für Ihre neue Instanz ein und klicken Sie dann auf Weiter:

    • Name: Geben Sie einen Namen für Ihre neue Instanz ein oder übernehmen Sie die Standardeinstellung.
    • Region: Wählen Sie us-central1 aus.
    • Zone: Wählen Sie us-central1-a aus.
  4. Geben Sie im Abschnitt Umgebung Folgendes an und klicken Sie dann auf Weiter:

    • Post-Startscript: Klicken Sie auf Durchsuchen, doppelklicken Sie auf die Datei poststartup.sh, klicken Sie noch einmal darauf und klicken Sie dann auf Auswählen.
  5. Geben Sie im Abschnitt Maschinentyp Folgendes ein und klicken Sie dann auf Weiter:

    • Shielded VM: Klicken Sie die folgenden Kästchen an:

      • Secure Boot
      • Virtual Trusted Platform Module (vTPM)
      • Integritätsmonitoring
  6. Achten Sie darauf, dass im Abschnitt Laufwerke die Option Von Google verwalteter Verschlüsselungsschlüssel ausgewählt ist. Klicken Sie dann auf Weiter:

  7. Geben Sie im Abschnitt Netzwerk Folgendes ein und klicken Sie dann auf Weiter:

    • Netzwerk: Wählen Sie Netzwerk in diesem Projekt aus und führen Sie die folgenden Schritte aus:

      1. Wählen Sie im Feld Netzwerk die Option securevertex-vpc aus.

      2. Wählen Sie im Feld Subnetzwerk die Option securevertex-subnet-a aus.

      3. Entfernen Sie das Häkchen aus dem Kästchen Externe IP-Adresse zuweisen. Wenn Sie keine externe IP-Adresse zuweisen, kann die Instanz keine unerwünschten Nachrichten über das Internet oder andere VPC-Netzwerke mehr empfangen.

      4. Klicken Sie auf das Kästchen Proxyzugriff zulassen.

  8. Geben Sie im Abschnitt IAM und Sicherheit Folgendes ein und klicken Sie dann auf Weiter:

    • IAM und Sicherheit: Führen Sie die folgenden Schritte aus, um einem einzelnen Nutzer Zugriff auf die JupyterLab-Oberfläche der Instanz zu gewähren:

      1. Wählen Sie Einzelner Nutzer aus.
      2. Geben Sie im Feld E-Mail-Adresse des Nutzers die E-Mail-Adresse für ein einzelnes Nutzerkonto ein. Wenn Sie die Instanz für eine andere Person erstellen, gelten die folgenden Bedingungen:
        • Sie (der Instanzersteller) haben keinen Zugriff auf die JupyterLab-Oberfläche der Instanz. Sie können die Instanz jedoch weiterhin steuern und sie starten, beenden oder löschen.
        • Nachdem Sie die Instanz erstellt haben, müssen Sie dem Nutzer die Rolle "Service Account User" (roles/iam.serviceAccountUser) für das Dienstkonto der Instanz zuweisen. Siehe Optional: Dem Nutzer die Rolle „Service Account User“ zuweisen.
      3. Entfernen Sie das Häkchen aus dem Kästchen Compute Engine-Standarddienstkonto verwenden. Dieser Schritt ist wichtig, da dem Compute Engine-Standarddienstkonto (und damit dem soeben angegebenen einzelnen Nutzer) die Rolle "Editor" (roles/editor) für Ihr Projekt zugewiesen wird.
      4. Geben Sie im Feld E-Mail-Adresse des Dienstkontos den Wert user-managed-notebook-sa@$projectid.iam.gserviceaccount.com ein. (Dies ist die E-Mail-Adresse des benutzerdefinierten Dienstkontos, die Sie zuvor erstellt haben.) Dieses Dienstkonto hat eingeschränkte Berechtigungen.

        Weitere Informationen zum Gewähren des Zugriffs finden Sie unter Zugriff auf die JupyterLab-Oberfläche einer nutzerverwalteten Notebookinstanz verwalten.

    • Sicherheitsoptionen: Entfernen Sie das Häkchen aus dem folgenden Kästchen:

      • Root-Zugriff auf die Instanz

      Klicken Sie das folgende Kästchen an:

      • nbconvert: Mit nbconvert können Nutzer eine Notebookdatei als anderen Dateityp exportieren und herunterladen, z. B. HTML, PDF oder LaTeX. Diese Einstellung ist für einige Notebooks im GitHub-Repository Google Cloud Generative AI erforderlich.

      Entfernen Sie das Häkchen aus dem folgenden Kästchen:

      • Download von Dateien

      Klicken Sie auf das folgende Kästchen, sofern Sie sich nicht in einer Produktionsumgebung befinden:

      • Terminalzugriff: Dies ermöglicht den Terminalzugriff auf Ihre Instanz über die JupyterLab-Benutzeroberfläche.
  9. Wählen Sie im Bereich Systemzustand die Option Automatisches Umgebungsupgrade aus und geben Sie Folgendes an:

    • Klicken Sie unter Berichterstellung die folgenden Kästchen an:

      • Bericht zum Systemzustand aktivieren
      • Benutzerdefinierte Messwerte an Cloud Monitoring melden
      • Cloud Monitoring installieren
      • DNS-Status für erforderliche Google-Domains melden
  10. Klicken Sie auf Erstellen.

Optional: Dem Nutzer die Rolle „Service Account User“ zuweisen

Wenn Sie die nutzerverwaltete Notebookinstanz für einen anderen Nutzer erstellen, müssen Sie ihm so die Rolle Service Account User (roles/iam.serviceAccountUser) für das benutzerdefinierte Dienstkonto user-managed-notebook-sa zuweisen:

gcloud iam service-accounts add-iam-policy-binding \
    user-managed-notebook-sa@PROJECT_ID.iam.gserviceaccount.com \
    --member="user:USER_EMAIL" \
    --role="roles/iam.serviceAccountUser"

Ersetzen Sie die folgenden Werte:

  • PROJECT_ID: die Projekt-ID
  • USER_EMAIL: die E-Mail-Adresse des Nutzers

Prüfen, ob die nutzerverwaltete Notebooks-Instanz erstellt wurde

Vertex AI Workbench erstellt anhand der angegebenen Attribute eine nutzerverwaltete Notebookinstanz und startet diese Instanz automatisch.

Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen. Auf diesen Link kann nur der Nutzer zugreifen, den Sie beim Erstellen der Instanz angegeben haben.

Öffnen Sie die Instanz in JupyterLab und prüfen Sie, ob das geklonte GitHub-Repository Google Cloud Generative AI vorhanden ist.

  1. Rufen Sie in der Google Cloud Console die Seite Nutzerverwaltete Notebooks auf.

    Zu "Nutzerverwaltete Notebooks"

  2. Klicken Sie in der Liste der nutzerverwalteten Notebookinstanzen auf den Link JupyterLab öffnen für die von Ihnen erstellte Instanz.

    In der Ordnerliste wird der Ordner generative-ai angezeigt. Dieser Ordner enthält das geklonte GitHub-Repository.

Zustand über Monitoring überwachen

Sie können die System- und Anwendungsmesswerte für Ihre nutzerverwalteten Notebookinstanzen über die Google Cloud Console überwachen. Weitere Informationen zum Monitoring der Instanz und zum Erstellen benutzerdefinierter Messwerte finden Sie unter Zustand überwachen.

  1. Rufen Sie in der Google Cloud Console die Seite Nutzerverwaltete Notebooks auf.

    Zu "Nutzerverwaltete Notebooks"

  2. Klicken Sie auf den Namen der nutzerverwalteten Notebookinstanz, für die Sie die Messwerte aufrufen möchten.

  3. Klicken Sie auf der Seite Notebookdetails auf den Tab Monitoring. Prüfen Sie die CPU-Auslastung und die Netzwerkbyte für Ihre Notebookinstanz. Informationen zum Interpretieren dieser Messwerte finden Sie unter Ressourcenmesswerte überprüfen.

    Wenn Sie die Instanz gerade erstellt haben, sehen Sie nicht sofort Daten. Warten Sie einige Minuten und aktualisieren Sie dann den Tab in der Console.

VM-Instanzzeitplan für Ihre nutzerverwaltete Notebookinstanz erstellen

Da es sich bei einer nutzerverwalteten Notebookinstanz um eine Compute Engine-VM-Instanz handelt, können Sie mit Compute Engine APIs einen VM-Instanzzeitplan dafür erstellen.

Verwenden Sie eine VM-Instanzzeitplan, um eine nutzerverwaltete Notebookinstanz zu starten und zu beenden. Während die Instanz beendet ist, zahlen Sie nur für die Cloud Storage-Kosten.

Sie können einen Instanzzeitplan an jede VM-Instanz in derselben Region anhängen und so denselben Instanzzeitplan verwenden, um alle nutzerverwalteten Notebookinstanzen in der Region zu steuern.

Weitere Informationen zu Zeitplänen für VM-Instanzen finden Sie unter Starten und Beenden einer VM-Instanz planen.

Benutzerdefinierte IAM-Rolle erstellen

Als Best Practice für die Sicherheit empfehlen wir, eine benutzerdefinierte IAM-Rolle mit nur den folgenden Berechtigungen zu erstellen und sie dem Compute Engine-Standarddienstkonto zuzuweisen:

  • compute.instances.start
  • compute.instances.stop
  1. Erstellen Sie in Cloud Shell eine benutzerdefinierte Rolle mit dem Namen Vm_Scheduler und fügen Sie die erforderlichen Berechtigungen hinzu:

    Zu Cloud Shell

    gcloud iam roles create Vm_Scheduler --project=$projectid \
    --title=vm-scheduler-notebooks \
    --permissions="compute.instances.start,compute.instances.stop" --stage=ga
    
  2. Beschreiben Sie die benutzerdefinierte Rolle:

    gcloud iam roles describe Vm_Scheduler --project=$projectid
    

Rolle dem Compute Engine-Standarddienstkonto zuweisen

Um dem Compute Engine-Standarddienstkonto die Berechtigung zum Starten und Stoppen Ihrer nutzerverwalteten Notebookinstanzen zu erteilen, müssen Sie ihm die benutzerdefinierte Rolle Vm_Scheduler zuweisen.

Das Compute Engine-Standarddienstkonto für Ihr Projekt hat die E-Mail-Adresse [email protected], wobei PROJECT_NUMBER Ihre Projektnummer ist.

  1. Ermitteln Sie Ihre Projektnummer und speichern Sie sie in der Shell-Variablen project_number:

    project_number=$(gcloud projects describe $projectid --format 'get(projectNumber)')
    echo $project_number
    
  2. Weisen Sie dem Standarddienstkonto die benutzerdefinierte Rolle zu:

    gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:[email protected]" --role="projects/$projectid/roles/Vm_Scheduler"
    

Zeitplan erstellen und anhängen

So erstellen Sie einen Instanzzeitplan, der Ihre nutzerverwaltete Notebookinstanz um 07:00 Uhr startet und um 18:00 Uhr beendet:

  1. Erstellen Sie einen Start- und Beendigungszeitplan mit dem Namen optimize-notebooks:

    gcloud compute resource-policies create instance-schedule optimize-notebooks \
    --region=us-central1 \
    --vm-start-schedule='0 7 * * *' \
    --vm-stop-schedule='0 18 * * *' \
    --timezone=TIME_ZONE
    

    Ersetzen Sie TIME_ZONE durch die standortbasierte IANA-Zeitzone für diesen Instanzzeitplan, z. B. America/Chicago. Wenn keine Angabe gemacht wird, wird der Standardwert UTC verwendet. Weitere Informationen finden Sie unter Zeitzone.

  2. Ermitteln Sie den Namen Ihrer nutzerverwalteten Notebookinstanz. Führen Sie dazu den folgenden Befehl aus und notieren Sie den zurückgegebenen NAME-Wert:

    gcloud compute instances list
    
  3. Speichern Sie den Namen in der Shell-Variable notebook_vm:

    notebook_vm=NOTEBOOK_VM_NAME
    echo $notebook_vm
    

    Ersetzen Sie NOTEBOOK_VM_NAME durch den Namen der nutzerverwalteten Notebookinstanz.

  4. Hängen Sie den Instanzzeitplan an Ihre nutzerverwaltete Notebookinstanz an:

    gcloud compute instances add-resource-policies $notebook_vm \
      --resource-policies=optimize-notebooks \
      --zone=us-central1-a
    
  5. Beschreiben Sie den Instanzzeitplan:

    gcloud compute resource-policies describe optimize-notebooks \
      --region=us-central1
    

Sie können überprüfen, ob der Instanzzeitplan erfolgreich ausgeführt wird. Sehen Sie sich dazu die Compute Engine-Audit-Logs für die Ressourcenrichtlinie der Instanzzeitplanung und die angehängte VM-Instanz an. Sie müssen möglicherweise bis zu 15 Minuten nach der geplanten Zeit auf jeden Vorgang warten.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder behalten Sie das Projekt und löschen Sie die einzelnen Ressourcen.

Sie können die einzelnen Ressourcen im Projekt so löschen:

  1. Rufen Sie in der Google Cloud Console die Seite Nutzerverwaltete Notebooks auf.

    Zu "Nutzerverwaltete Notebooks"

  2. Wählen Sie die nutzerverwaltete Notebookinstanz aus.

  3. Klicken Sie auf Löschen.

  4. Löschen Sie in der Cloud Shell die verbleibenden einzelnen Ressourcen. Führen Sie dazu die folgenden Befehle aus.

    Zu Cloud Shell

    gcloud compute routers delete cloud-router-us-central1 --region=us-central1 --quiet
    
    gcloud compute routers nats delete cloud-nat-us-central1 --region=us-central1 --router=cloud-router-us-central1 --quiet
    
    gcloud compute instances remove-resource-policies $notebook_vm \
      --resource-policies=optimize-notebooks \
      --zone=us-central1-a --quiet
    
    gcloud compute resource-policies delete optimize-notebooks --region=us-central1 --quiet
    
    gcloud compute instances delete $notebook_vm --zone=us-central1-a --quiet
    
    gcloud compute networks subnets delete securevertex-subnet-a --region=us-central1 --quiet
    
    gcloud iam service-accounts delete user-managed-notebook-sa@$projectid.iam.gserviceaccount.com --quiet
    
    gcloud projects remove-iam-policy-binding $projectid --member="serviceAccount:[email protected]" --role="projects/$projectid/roles/Vm_Scheduler"
    
    gcloud iam roles delete Vm_Scheduler --project=$projectid
    
    gcloud compute networks delete securevertex-vpc --quiet
    

Nächste Schritte