Vertex AI erstellt ein sicheres, nutzerverwaltetes Notebook

1. Einführung

Mit nutzerverwalteten Vertex AI Workbench-Notebookinstanzen können Sie Deep-Learning-VM-Instanzen erstellen und verwalten, die bereits JupyterLab enthalten.

Nutzerverwaltete Notebookinstanzen enthalten eine vorinstallierte Suite von Deep-Learning-Paketen, einschließlich Unterstützung für die Frameworks TensorFlow und PyTorch. Sie können entweder ausschließlich CPU-basierte oder GPU-fähige Instanzen konfigurieren.

Inhalt

In dieser Anleitung wird die Bereitstellung eines sicheren, nutzerverwalteten Notebooks anhand von Best Practices aus den Bereichen Netzwerk und Sicherheit beschrieben. Dazu sind folgende Schritte erforderlich:

  1. VPC erstellen
  2. Cloud Router und Cloud NAT erstellen
  3. Konfigurieren Sie die Notebook-Instanz mit den entsprechenden Sicherheitseinstellungen

In diesem Tutorial finden Sie eine detaillierte Anleitung für jeden Schritt. Außerdem finden Sie Tipps und Best Practices zum Schutz von nutzerverwalteten Notebooks. Abbildung 1 zeigt eine Darstellung der Bereitstellung mit einer eigenständigen VPC.

Abbildung 1

2292244ba0b11f71.png

Aufgaben in diesem Lab

  • Ermitteln, ob eine freigegebene oder eigenständige VPC für Ihre Organisation geeignet ist
  • Eigenständige VPC erstellen
  • Cloud Router und Cloud NAT erstellen
  • Nutzerverwaltetes Notebook erstellen
  • Auf ein nutzerverwaltetes Notebook zugreifen
  • Zustand des nutzerverwalteten Notebooks überwachen
  • Instanzzeitplan erstellen und anwenden

Voraussetzungen

  • Google Cloud-Projekt

IAM-Berechtigungen

2. VPC-Netzwerk

Ein VPC-Netzwerk gleicht einem physischen Netzwerk, mit dem Unterschied, dass es in Google Cloud virtualisiert ist. Ein VPC-Netzwerk ist eine globale Ressource, die aus regionalen Subnetzen besteht. VPC-Netzwerke sind in Google Cloud logisch voneinander isoliert.

Eigenständige VPC

Abbildung 2 ist ein Beispiel für eine eigenständige globale VPC, die aus einem regionalen Subnetz (us-central1) und Cloud Router und Cloud NAT besteht. Damit kann das nutzerverwaltete Notebook eine sichere Verbindung zum Internet herstellen.

Abbildung 2

2292244ba0b11f71.png

Shared VPC

Über eine freigegebene VPC können Sie in einem Hostprojekt Subnetze aus einem VPC-Netzwerk in Dienstprojekte innerhalb derselben Organisation exportieren. Das Hostprojekt enthält Netzwerkressourcen, die für das Dienstprojekt freigegeben werden, z. B. Subnetze, Cloud-Daten und Firewallregeln. Das Dienstprojekt enthält Ressourcen auf Anwendungsebene, die Netzwerkressourcen im Hostprojekt nutzen.

Abbildung 3 zeigt eine Abbildung einer globalen freigegebenen VPC, in der die Netzwerk- und Sicherheitsinfrastruktur im Hostprojekt und die Arbeitslasten im Dienstprojekt bereitgestellt werden.

Abbildung 3

1354a9323c8e5787.png

Eigenständige VPC im Vergleich zu freigegebener VPC

Ein einzelnes VPC-Netzwerk ist für viele einfache Anwendungsfälle ausreichend, da es einfacher zu erstellen, zu pflegen und zu verstehen ist als komplexere Alternativen. Eine freigegebene VPC ist ein effektives Tool für Organisationen mit mehreren Teams, da sie es ihnen ermöglicht, die architektonische Einfachheit eines einzelnen VPC-Netzwerks mithilfe von Dienstprojekten auf mehrere Arbeitsgruppen auszudehnen.

In der Anleitung verwendete Best Practice für VPC

  • Aktivieren Sie Cloud NAT, um auf das Notebook zuzugreifen.
  • Aktivieren Sie den privaten Google-Zugriff , wenn Sie Subnetze erstellen.
  • Erstellen Sie präskriptive Firewallregeln, um unerwünschten Traffic zu reduzieren.Verwenden Sie beispielsweise nicht 0.0.0.0/0 tcp, sondern definieren Sie die genauen IP-Adressen der Subnetze oder Hosts.
  • Nutzen Sie Firewallrichtlinien, um den Umfang der Regeln für eingehenden Traffic zu erweitern, z. B. geografische Standorte, Listen mit Threat Intelligence oder Quelldomainnamen.

3. Best Practices für Notebooks

Größe von Instanzen anpassen

  • Nicht verwendete Instanzen beenden und/oder löschen
  • Verwenden Sie eine kleinere Anfangsinstanz und iterieren Sie mit kleineren Stichprobendaten
  • Instanzen nach Bedarf hochskalieren
  • Mit kleineren Datasets experimentieren

Die richtigen Maschinentypen auswählen

  • Kostenoptimierte VMs
  • Hardwareressourcen besser nutzen, um Kosten zu senken
  • Bis zu 31% Ersparnis im Vergleich zu N1
  • Zusätzliche Einsparungen (20–50%) bei ein- oder dreijährigen Zusicherungen
  • Das Erhöhen der Maschinengröße oder das Hinzufügen von GPUs kann die Leistung verbessern und Fehler aufgrund von Speicherbeschränkungen beheben.

Herunterfahren von Instanzen planen

  • Instanzen bei Inaktivität ausschalten (nur für Festplattenspeicher)
  • Notebook-VM-Instanzen so planen, dass sie zu bestimmten Zeiten automatisch heruntergefahren und gestartet werden

Systemzustand von Notebooks überwachen

Sicherheitsaspekte

Im Folgenden finden Sie die empfohlenen Sicherheitsüberlegungen beim Erstellen eines nutzerverwalteten Notebooks:

  • Wählen Sie die Option „Nur Einzelnutzer“ aus. Notebook-Zugriff. Wenn der angegebene Nutzer nicht der Ersteller der Instanz ist, müssen Sie dem angegebenen Nutzer die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) für das Dienstkonto der Instanz zuweisen.
  • Deaktivieren Sie die folgenden Optionen:
  • Root-Zugriff
  • nbconvert
  • Dateidownload von der JupyterLab-UI
  • Statt dem nutzerverwalteten Notebook eine externe IP-Adresse zuzuweisen, wird Cloud NAT verwendet.
  • Wählen Sie die folgenden Computing-Optionen aus:
  • Secure Boot
  • Virtual Trusted Platform Module (vTPM)
  • Integritätsmonitoring

4. Hinweis

Projekt zur Unterstützung der Anleitung aktualisieren

In dieser Anleitung wird mithilfe von $variables die Implementierung der gcloud-Konfiguration in Cloud Shell unterstützt.

Führen Sie in Cloud Shell die folgenden Schritte aus:

gcloud config list project
gcloud config set project [your-project-name]
projectid=your-project-name
echo $projectid

5. VPC-Einrichtung

Eigenständige VPC erstellen

Führen Sie in Cloud Shell die folgenden Schritte aus:

gcloud compute networks create securevertex-vpc --project=$projectid --subnet-mode=custom

Nutzerverwaltetes Notebook-Subnetz erstellen

Führen Sie in Cloud Shell die folgenden Schritte aus:

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

Cloud Router und NAT-Konfiguration

Cloud NAT wird in der Anleitung zum Herunterladen von Notebook-Softwarepaketen verwendet, da die nutzerverwaltete Notebookinstanz keine externe IP-Adresse hat. Cloud NAT bietet auch NAT-Funktionen für ausgehenden Traffic, was bedeutet, dass Internethosts keine Kommunikation mit einem nutzerverwalteten Notebook initiieren dürfen, was die Sicherheit erhöht.

Erstellen Sie in Cloud Shell den regionalen Cloud Router.

gcloud compute routers create cloud-router-us-central1 --network securevertex-vpc --region us-central1

Erstellen Sie in Cloud Shell das regionale Cloud-nat-Gateway.

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

6. Storage-Bucket erstellen

Storage-Buckets bieten sicheres Hochladen/Abrufen von Dateien. In der Anleitung enthält der Cloud-Speicher ein Nach-Start-Script zum Installieren von generativen KI-Paketen in den vom Nutzer verwalteten Notebooks.

Erstellen Sie einen Cloud Storage-Bucket und ersetzen Sie BUCKET_NAME durch einen global eindeutigen Namen, den Sie bevorzugen.

Erstellen Sie in Cloud Shell einen eindeutigen Storage-Bucket.

gsutil mb -l us-central1 -b on gs://BUCKET_NAME

Geschäft "BUCKET_NAME" für die Dauer des Labs

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

7. Post-Startscript erstellen

Wenn Sie den Download von Paketen mit generativer KI aktivieren möchten, erstellen Sie in Cloud Shell ein Post-Startscript mithilfe des vi- oder nano-Editors und speichern Sie es als poststartup.sh.

#! /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 https://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

Beispiel:

vpc_admin@cloudshell$ more poststartup.sh 
#! /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 https://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

Post-Startscript mit gsutil aus Cloud Shell in Ihren Storage-Bucket hochladen

gsutil cp poststartup.sh gs://$BUCKET_NAME

8. Dienstkonto erstellen

Um eine detaillierte Kontrolle über das vom Nutzer verwaltete Notebook zu ermöglichen, ist ein Dienstkonto erforderlich. Nachdem die Dienstkontoberechtigungen erstellt wurden, können sie je nach Geschäftsanforderungen geändert werden. In der Anleitung werden die folgenden Regeln auf das Dienstkonto angewendet:

Sie müssen die Service Account API , bevor Sie fortfahren.

Erstellen Sie das Dienstkonto in Cloud Shell.

gcloud iam service-accounts create user-managed-notebook-sa \
    --display-name="user-managed-notebook-sa"

Aktualisieren Sie in Cloud Shell das Dienstkonto mit der Rolle „Storage Object Viewer“.

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

Aktualisieren Sie in Cloud Shell das Dienstkonto mit der Rolle „Vertex AI User“

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

Listen Sie in Cloud Shell das Dienstkonto auf und notieren Sie sich die E-Mail-Adresse, die beim Erstellen des nutzerverwalteten Notebooks verwendet wird.

gcloud iam service-accounts list

Beispiel:

$ gcloud iam service-accounts list
DISPLAY NAME: user-managed-notebook-sa
EMAIL: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com
DISABLED: False

9. Sicheres, nutzerverwaltetes Notebook erstellen

Eine nutzerverwaltete Notebookinstanz ist eine Deep Learning-VM-Instanz, auf der die neuesten Bibliotheken für maschinelles Lernen und Data Science vorinstalliert sind. Für die Hardwarebeschleunigung können Sie optional Nvidia-GPUs hinzufügen.

Nutzer-APIs aktivieren

Notebooks API

Nutzerverwaltetes Notebook erstellen

  1. Workbench
  2. Wählen Sie „Nutzerverwaltete Notebooks“ und dann „Notebook erstellen“ aus. Die Seite „Nutzerverwaltetes Notebook erstellen“ wird geöffnet.
  3. Wenn ein vorhandenes Notebook bereitgestellt wird, wählen Sie „Nutzerverwaltete Notebooks“ → „Neues Notebook“ → „Anpassen“ aus.
  4. Geben Sie auf der Seite „Nutzerverwaltetes Notebook erstellen“ im Abschnitt „Details“ die folgenden Informationen für Ihre neue Instanz an:
  • Name: Geben Sie einen Namen für die neue Instanz an.
  • Region und Zone: In dieser Anleitung werden die Region us-central1 und die Zone us-central1-a verwendet.

Wähle Weiter aus.

  1. Geben Sie im Bereich Umgebung Folgendes an:
  • Betriebssystem: Wählen Sie das Betriebssystem aus, das Sie verwenden möchten.
  • Wählen Sie die Umgebung aus, die Sie verwenden möchten.
  • Version: Wählen Sie die Version aus, die Sie verwenden möchten.
  • Post-Startscript (Optional, verwenden Sie das zuvor erstellte Generative AI-Skript) Wählen Sie „Durchsuchen“ aus, um ein Script auszuwählen, das nach dem Start der Instanz ausgeführt werden soll.
  • Metadaten: Optional: Geben Sie benutzerdefinierte Metadatenschlüssel für die Instanz an.

Wähle Weiter aus.

  1. Geben Sie im Abschnitt „Maschinentyp“ Folgendes an:
  • Maschinentyp: Wählen Sie die Anzahl der CPUs und die Größe des Arbeitsspeichers für Ihre neue Instanz aus. Vertex AI Workbench bietet monatliche Kostenschätzungen für jeden von Ihnen ausgewählten Maschinentyp.
  • GPU-Typ: Wählen Sie den GPU-Typ und die Anzahl der GPUs für Ihre neue Instanz aus. Informationen zu den verschiedenen GPUs finden Sie unter GPUs in Compute Engine.
  • Klicken Sie das Kästchen NVIDIA GPU-Treiber automatisch installieren an.

Shielded VM

  • Sicheren Boot aktivieren
  • vTPM aktivieren
  • Integrity Monitoring aktivieren

Wähle Weiter aus.

  1. Geben Sie im Abschnitt „Laufwerke“ Folgendes an:
  • Laufwerke: Optional: Wenn Sie die Standardeinstellungen für Boot- oder Datenlaufwerke ändern möchten, wählen Sie den gewünschten Bootlaufwerktyp, die Größe des Bootlaufwerks in GB, den Typ des Datenlaufwerks und die Größe des Datenlaufwerks in GB aus. Weitere Informationen zu Laufwerkstypen finden Sie unter Speicheroptionen.
  • In Papierkorb löschen (optional): Wählen Sie dieses Kästchen aus, um das Standardverhalten des Betriebssystems für den Papierkorb zu verwenden. Wenn Sie das Standardverhalten im Papierkorb verwenden, können Dateien, die über die JupyterLab-Benutzeroberfläche gelöscht wurden, wiederhergestellt werden. Diese gelöschten Dateien belegen jedoch Speicherplatz.
  • Sicherung: Optional: Um einen Cloud Storage-Speicherort mit dem Datenlaufwerk Ihrer Instanz zu synchronisieren, wählen Sie „Durchsuchen“ aus und geben Sie den Cloud Storage-Speicherort an. Weitere Informationen zu Speicherkosten finden Sie unter Cloud Storage – Preise.
  • Verschlüsselung: von Google verwalteter Verschlüsselungsschlüssel

Wähle Weiter aus.

  1. Geben Sie im Abschnitt „Netzwerk“ Folgendes an:
  • Netzwerk: Wählen Sie entweder „Netzwerke in diesem Projekt“ oder „Für mich freigegebene Netzwerke“ aus. Wenn Sie im Hostprojekt eine freigegebene VPC verwenden, müssen Sie dem Notebooks-Dienst-Agent auch die Rolle Compute-Netzwerknutzer (roles/compute.networkUser) aus dem Dienstprojekt zuweisen.
  • Wählen Sie im Feld Netzwerk das gewünschte Netzwerk aus. Für die Anleitung wird das Netzwerk securevertex-vpc verwendet. Sie können ein VPC-Netzwerk auswählen, sofern für das Netzwerk der private Google-Zugriff aktiviert ist oder auf das Internet zugegriffen werden kann. Wählen Sie im Feld „Subnetzwerk“ das gewünschte Subnetzwerk aus. In der Anleitung wird das Subnetzwerk securevertex-subnet-a verwendet.
  • Auswahl von „Externe IP-Adresse zuweisen“ aufheben
  • „Proxyzugriff zulassen“ auswählen

Wähle Weiter aus.

81bb7dbe31fbf587.png

  1. Geben Sie im Abschnitt „IAM und Sicherheit“ Folgendes an:
  • Wählen Sie Einzelner Nutzer aus und geben Sie dann im Feld „E-Mail-Adresse des Nutzers“ das Nutzerkonto ein, dem Sie Zugriff gewähren möchten. Wenn der angegebene Nutzer nicht der Ersteller der Instanz ist, müssen Sie dem angegebenen Nutzer die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) für das Dienstkonto der Instanz zuweisen.
  • Heben Sie die Auswahl von Compute Engine-Standarddienstkonto auf der VM zum Aufrufen von Google Cloud APIs auf
  • Geben Sie die E-Mail-Adresse des neu erstellten Dienstkontos ein. Beispiel: user-managed-notebook-sa@my-project-id.iam.gserviceaccount.com

Sicherheitsoptionen

  • Auswahl von „Root-Zugriff auf die Instanz aktivieren“ aufheben
  • Auswahl von „nbconvert aktivieren“ aufheben
  • Heben Sie die Auswahl von „Download von Dateien über die JupyterLab-UI aktivieren“ auf
  • Terminal aktivieren (Auswahl für Produktionsumgebungen aufheben)

Wähle Weiter aus.

e19f3cd05a2c1b7f.png

  1. Geben Sie im Bereich „Systemzustand“ Folgendes an:

Umgebungsupgrade und Systemzustand

  • Klicken Sie auf das Kästchen „Automatisches Umgebungsupgrade aktivieren“.
  • Wählen Sie aus, ob Sie Ihr Notebook wöchentlich oder monatlich upgraden möchten.

Aktivieren oder deaktivieren Sie unter „Systemzustand und Berichterstellung“ die folgenden Kästchen:

  • Systemzustandsbericht aktivieren
  • Benutzerdefinierte Messwerte an Cloud Monitoring melden
  • Cloud Monitoring-Agent installieren

Wählen Sie Erstellen aus.

10. Validierung

Vertex AI Workbench erstellt eine nutzerverwaltete Notebookinstanz anhand der angegebenen Attribute und startet die Instanz automatisch. Wenn die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen, über den der Endnutzer auf das Notebook zugreifen kann.

11. Beobachtbarkeit

System- und Anwendungsmesswerte über Monitoring überwachen

Bei nutzerverwalteten Notebook-Instanzen mit installiertem Monitoring können Sie Ihre System- und Anwendungsmesswerte mithilfe der Google Cloud Console überwachen:

  1. Rufen Sie in der Google Cloud Console die Seite Nutzerverwaltete Notebooks auf.
  2. Klicken Sie auf den Namen der Instanz, deren System- und Anwendungsmesswerte Sie aufrufen möchten.
  3. Klicken Sie auf der Seite Notebookdetails auf den Tab Monitoring. Überprüfen Sie die System- und Anwendungsmesswerte für Ihre Instanz.

12. Notebookzeitplan erstellen

Mit Instanzzeitplänen können Sie VM-Instanzen automatisch starten und beenden. Mit Instanzzeitplänen zur Automatisierung der Bereitstellung Ihrer VM-Instanzen können Sie Kosten optimieren und VM-Instanzen effizienter verwalten. Sie können Instanzzeitpläne sowohl für wiederkehrende als auch für einmalige Arbeitslasten verwenden. Verwenden Sie beispielsweise Instanzpläne, um VM-Instanzen nur während der Arbeitszeit auszuführen oder Kapazität für ein einmaliges Ereignis bereitzustellen.

Wenn Sie Instanzzeitpläne verwenden möchten, erstellen Sie eine Ressourcenrichtlinie, die das Start- und Stoppverhalten genau beschreibt, und hängen Sie die Richtlinie dann an eine oder mehrere VM-Instanzen an.

In dieser Anleitung erfahren Sie, wie Sie einen Instanzzeitplan erstellen, mit dem Ihr Notebook um 7:00 Uhr eingeschaltet und um 18:00 Uhr ausgeschaltet wird.

Zum Erstellen des Instanzzeitplans benötigen Sie die Berechtigungen „compute.instances.start“ und „compute.instances.stop“. Daher wird eine benutzerdefinierte Rolle empfohlen, die von Ihrem Administrator erstellt wurde.

Nach der Erstellung wird die benutzerdefinierte Rolle dem Compute Engine-Standarddienstkonto in Ihrem Projekt zugewiesen, wodurch das Notebook durch den Instanzzeitplan gestartet und beendet werden kann.

Benutzerdefinierte Rollen erstellen

Erstellen Sie in Cloud Shell die benutzerdefinierte Rolle „VmScheduler“ und fügen Sie die erforderlichen Berechtigungen hinzu.

gcloud iam roles create Vm_Scheduler --project=$projectid \
    --title=vm-scheduler-notebooks \
    --permissions="compute.instances.start,compute.instances.stop" --stage=ga

Beschreiben Sie die benutzerdefinierte Rolle in Cloud Shell.

gcloud iam roles describe Vm_Scheduler --project=$projectid

Beispiel:

$ gcloud iam roles describe Vm_Scheduler --project=$projectid
etag: BwX991B0_kg=
includedPermissions:
- compute.instances.start
- compute.instances.stop
name: projects/$projectid/roles/Vm_Scheduler
stage: GA
title: vm-scheduler-notebooks

Standarddienstkonto aktualisieren

Im folgenden Abschnitt identifizieren und aktualisieren Sie das Standarddienstkonto mit folgendem Format: PROJECT_NUMBER-compute@developer.gserviceaccount.com.

Ermitteln Sie in Cloud Shell die aktuelle Projektnummer.

gcloud projects list --filter=$projectid

Speichern Sie die Projektnummer in Cloud Shell als Variable.

project_number=your_project_number
echo $project_number

Aktualisieren Sie in Cloud Shell das Compute-Standarddienstkonto mit der benutzerdefinierten Rolle „VM_Scheduler“.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"

Instanzzeitplan erstellen

Erstellen Sie in Cloud Shell den Start- und Stoppzeitplan.

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

Speichern Sie den Namen Ihres Notebooks in Cloud Shell.

gcloud compute instances list
notebook_vm=your_notebookvm_name
echo $notebook_vm

Sie können einen Instanzzeitplan an eine vorhandene VM-Instanz anhängen, die sich in derselben Region wie der Instanzzeitplan befindet.

Verknüpfen Sie in Cloud Shell den Zeitplan mit Ihrem Notebook.

gcloud compute instances add-resource-policies $notebook_vm \
--resource-policies=optimize-notebooks \
--zone=us-central1-a

13. Bereinigen

Löschen Sie das nutzerverwaltete Notebook in der Console, gehen Sie zu Vertex AI → Workbench und wählen Sie das Notebook aus und löschen Sie es.

Löschen Sie in Cloud Shell VPC-Komponenten.

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:$project_number-compute@developer.gserviceaccount.com" --role="projects/$projectid/roles/Vm_Scheduler"

gcloud iam roles delete Vm_Scheduler --project=$projectid

gcloud compute networks delete securevertex-vpc --quiet 

14. Glückwunsch

Gut gemacht! Sie haben ein sicheres, nutzerverwaltetes Notebook konfiguriert und validiert. Dazu haben Sie eine benutzerdefinierte eigenständige VPC erstellt und dabei Best Practices zur Sicherheitshärtung für verwaltete Notebooks angewendet. Außerdem haben Sie einen Instanzzeitplan implementiert, um die Ausgaben zu optimieren.

Was liegt als Nächstes an?

Sehen Sie sich einige dieser Anleitungen an...

Weitere Informationen und Videos

Referenzdokumente