Post-Startscript verwenden
In diesem Leitfaden wird beschrieben, wie Sie ein Post-Startup-Skript mit Colab Enterprise verwenden. In dieser Anleitung wird auch beschrieben, wie Sie Umgebungsvariablen für die Verwendung mit Ihrem Script nach dem Start festlegen.
Übersicht
Sie können ein Post-Startscript verwenden, um Aufgaben nach dem Startvorgang Ihrer Colab Enterprise-Laufzeit auszuführen. Sie können beispielsweise ein Post-Startup-Skript verwenden, um bestimmte Pakete zu installieren oder bestimmte Änderungen an der VM Ihrer Laufzeit vorzunehmen.
Wenn Sie ein Post-Startup-Skript in Colab Enterprise verwenden möchten, geben Sie es beim Erstellen einer Laufzeitvorlage an. Wenn Sie dann eine Laufzeit basierend auf dieser Laufzeitvorlage erstellen, wird das Post-Startscript am Ende des Startvorgangs ausgeführt.
Speicherort des Post-Startscripts
Der URI Ihres Scripts nach dem Start kann einer der folgenden sein:
- Cloud Storage-URI: Zum Beispiel
gs://BUCKET_NAME/SCRIPT_FILE_NAME
. Wenn Ihr Post-Startup-Skript in Cloud Storage gespeichert ist, müssen Sie eine Laufzeit mit aktivierten Endnutzeranmeldedaten verwenden. Das liegt daran, dass Colab Enterprise Ihre Nutzeranmeldedaten verwendet, um auf den Cloud Storage-Bucket zuzugreifen. - Eine HTTPS-URL, z. B.
https://example.com/FOLDER_NAME/SCRIPT_FILE_NAME
. Die Verwendung einer HTTPS-URL wird beim Erstellen der Laufzeitvorlage mit der Google Cloud Console nicht unterstützt.
Verhalten des Post-Startscripts
Sie können das Verhalten Ihres Post-Startscripts angeben. Weitere Informationen finden Sie in der folgenden Tabelle:
Verhalten | Beschreibung |
---|---|
Einmal ausführen (`RUN_ONCE`) |
Standard. Colab Enterprise führt das Post-Startscript nur einmal aus, nämlich beim Erstellen der Laufzeit. |
Bei jedem Start ausführen (`RUN_EVERY_START`) |
Nach jedem Start führt Colab Enterprise das Post-Startscript aus. Wenn beispielsweise die Laufzeit durch das Herunterfahren bei Inaktivität beendet wird, führt Colab Enterprise das Post-Startup-Skript noch einmal aus, wenn die Laufzeit neu gestartet wird. |
Bei jedem Start herunterladen und ausführen (`DOWNLOAD_AND_RUN_EVERY_START`) |
Nach jedem Start lädt Colab Enterprise das Post-Startscript noch einmal von der Quelle herunter und führt es dann aus. |
Umgebungsvariablen
Sie können Umgebungsvariablen in Ihrer Laufzeitvorlage angeben und in Ihrem Post-Startup-Skript darauf verweisen.
Sie können beispielsweise das Kontingentprojekt mit einer Umgebungsvariablen festlegen.
Sie können Ihr Kontingentprojekt auf eine bestimmte Projekt-ID festlegen, indem Sie GOOGLE_CLOUD_QUOTA_PROJECT
verwenden. Das ist eine gängige Variable, die in Google Cloud-Clientbibliotheken verwendet wird.
Informationen zum Verwenden eines Post-Startscripts mit Umgebungsvariablen finden Sie unter Laufzeitvorlage mit einem Post-Startscript und Umgebungsvariablen erstellen.
Änderungen an Post-Startscripts nachverfolgen und wiederherstellen
Wenn Sie Änderungen an Ihrem Post-Startscript nachverfolgen und eine bestimmte Version des Post-Startscripts wiederherstellen möchten, speichern Sie das Post-Startscript in einem Cloud Storage-Bucket mit aktivierter Objektversionsverwaltung. Mit der Objektversionsverwaltung werden gelöschte Objekte als versionierte, nicht aktuelle Objekte beibehalten, die in Ihrem Bucket zugänglich bleiben, bis sie explizit entfernt werden.
Wenn Sie eine Version Ihres Post-Startscripts angeben möchten, fügen Sie beim Erstellen der Laufzeitvorlage #GENERATION_NUMBER
in die URI des Post-Startscripts ein, z. B. gs://BUCKET_NAME/FOLDER_NAME/FILE_NAME.py#GENERATION_NUMBER
.
Weitere Informationen zur Objektversionsverwaltung und zu Generationsnummern finden Sie unter Objektversionsverwaltung.
Wenn Sie die Google Cloud Konsole zum Erstellen Ihrer Laufzeitvorlage verwenden, wird die Angabe einer Generationsnummer für Ihr Post-Startup-Skript nicht unterstützt.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Rufen Sie in der Google Cloud Console die Seite Colab Enterprise-Laufzeitvorlagen auf.
-
Klicken Sie auf
Neue Vorlage.Das Dialogfeld Neue Laufzeitvorlage erstellen wird angezeigt.
-
Geben Sie im Abschnitt Laufzeitgrundlagen einen Anzeigenamen ein.
-
Wählen Sie im Menü Region die Region aus, in der sich Ihre Laufzeitvorlage befinden soll.
-
Klicken Sie im Abschnitt Umgebung im Feld Post-Startup-Skript auf Durchsuchen und rufen Sie dann ein Post-Startup-Skript auf, das sich in Cloud Storage befindet. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.
-
Wählen Sie unter der URL des Post-Startscripts das Verhalten des Post-Startscripts aus. Das Standardverhalten ist Einmal ausführen. Weitere Informationen finden Sie unter Verhalten von Skripts nach dem Start.
-
Achten Sie darauf, dass im Abschnitt Netzwerk und Sicherheit die Option Endnutzeranmeldedaten aktivieren ausgewählt ist.
-
Vervollständigen Sie den Rest des Dialogfelds und klicken Sie auf Erstellen.
Ihre Laufzeitvorlage wird auf dem Tab Laufzeitvorlagen in der Liste angezeigt.
DISPLAY_NAME
: Der Anzeigename Ihrer Laufzeitvorlage.PROJECT_ID
: Ihre Projekt-ID.REGION
: die Region, in der Sie Ihre Laufzeitvorlage erstellen möchten.POST_STARTUP_SCRIPT_URI
: Der URI für Ihr Post-Start-Script. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.POST_STARTUP_SCRIPT_BEHAVIOR
: Das Verhalten des Post-Start-Scripts. Weitere Informationen finden Sie unter Verhalten des Post-Startscripts.REGION
: die Region, in der Sie Ihre Laufzeitvorlage erstellen möchten.PROJECT_ID
: Ihre Projekt-ID.DISPLAY_NAME
: Der Anzeigename Ihrer Laufzeitvorlage.POST_STARTUP_SCRIPT_URI
: Der URI für Ihr Post-Start-Script. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.POST_STARTUP_SCRIPT_BEHAVIOR
: Das Verhalten des Post-Start-Scripts. Weitere Informationen finden Sie unter Verhalten des Post-Startscripts.-
Rufen Sie in der Google Cloud Console die Seite Colab Enterprise-Laufzeitvorlagen auf.
-
Klicken Sie auf
Neue Vorlage.Das Dialogfeld Neue Laufzeitvorlage erstellen wird angezeigt.
-
Geben Sie im Abschnitt Laufzeitgrundlagen einen Anzeigenamen ein.
-
Wählen Sie im Menü Region die Region aus, in der sich Ihre Laufzeitvorlage befinden soll.
-
Klicken Sie im Abschnitt Umgebung im Feld Post-Startup-Skript auf Durchsuchen und rufen Sie dann ein Post-Startup-Skript auf, das sich in Cloud Storage befindet. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.
-
Wählen Sie unter der URL des Post-Startscripts das Verhalten des Post-Startscripts aus. Das Standardverhalten ist Einmal ausführen. Weitere Informationen finden Sie unter Verhalten nach dem Start von Skripts.
-
Klicken Sie zum Hinzufügen einer Umgebungsvariable auf
Umgebungsvariable hinzufügen und geben Sie dann ein Paar aus Schlüssel und Wert ein. Wenn Sie weitere Umgebungsvariablen hinzufügen möchten, wiederholen Sie diesen Schritt. -
Achten Sie darauf, dass im Abschnitt Netzwerk und Sicherheit die Option Endnutzeranmeldedaten aktivieren ausgewählt ist.
-
Vervollständigen Sie den Rest des Dialogfelds und klicken Sie auf Erstellen.
Ihre Laufzeitvorlage wird auf dem Tab Laufzeitvorlagen in der Liste angezeigt.
DISPLAY_NAME
: Der Anzeigename Ihrer Laufzeitvorlage.PROJECT_ID
: Ihre Projekt-ID.REGION
: die Region, in der Sie Ihre Laufzeitvorlage erstellen möchten.POST_STARTUP_SCRIPT_URI
: Der URI für Ihr Post-Start-Script. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.POST_STARTUP_SCRIPT_BEHAVIOR
: Das Verhalten des Post-Start-Scripts. Weitere Informationen finden Sie unter Verhalten des Post-Startscripts.ENV_VARIABLE_NAME
: Der Name einer Umgebungsvariablen, die für Ihre Laufzeit festgelegt werden soll.ENV_VARIABLE_VALUE
: Der Wert der Umgebungsvariablen, die für Ihre Laufzeit festgelegt werden soll.REGION
: die Region, in der Sie Ihre Laufzeitvorlage erstellen möchten.PROJECT_ID
: Ihre Projekt-ID.DISPLAY_NAME
: Der Anzeigename Ihrer Laufzeitvorlage.POST_STARTUP_SCRIPT_URI
: Der URI für Ihr Post-Start-Script. Weitere Informationen finden Sie unter Speicherort von Post-Startup-Skripts.POST_STARTUP_SCRIPT_BEHAVIOR
: Das Verhalten des Post-Start-Scripts. Weitere Informationen finden Sie unter Verhalten des Post-Startscripts.ENV_VARIABLE_NAME
: Der Name einer Umgebungsvariablen, die für Ihre Laufzeit festgelegt werden soll.ENV_VARIABLE_VALUE
: Der Wert der Umgebungsvariablen, die für Ihre Laufzeit festgelegt werden soll.- Wenn Sie eine Laufzeit auf Grundlage einer Laufzeitvorlage erstellen möchten, die ein Post-Startup-Skript enthält, müssen Sie der Inhaber und Ersteller dieser Laufzeitvorlage sein.
- Das Übergeben von Umgebungsvariablen über das Post-Startup-Script wird nicht unterstützt. Sie müssen Umgebungsvariablen in der Softwarekonfiguration angeben, wie in dieser Anleitung beschrieben.
- Wenn Sie ein Post-Startup-Skript verwenden möchten, das sich in Cloud Storage befindet, müssen Sie eine Laufzeit mit aktivierten Endnutzeranmeldedaten verwenden und Ihre Nutzeranmeldedaten müssen Zugriff auf den Cloud Storage-Bucket haben.
- Wenn Sie die Google Cloud Konsole zum Erstellen Ihrer Laufzeitvorlage verwenden, muss sich Ihr Post-Startup-Script in Cloud Storage befinden. Post-Startup-Skripts an anderen Speicherorten werden beim Erstellen der Laufzeitvorlage mit der Google Cloud Console nicht unterstützt.
- Die Angabe einer Generierungsnummer für Ihr Post-Startup-Skript wird nicht unterstützt, wenn Sie die Google Cloud Konsole zum Erstellen Ihrer Laufzeitvorlage verwenden.
- Laufzeit erstellen und Verbindung dazu herstellen
- Informationen zum Verwalten der Laufzeit finden Sie unter Laufzeiten verwalten.
- Weitere Informationen zu Laufzeiten und Laufzeitvorlagen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Colab Enterprise Admin“ (roles/aiplatform.colabEnterpriseAdmin
) für das Projekt zuzuweisen, damit Sie über die erforderlichen Berechtigungen zum Erstellen einer Laufzeitvorlage in Colab Enterprise verfügen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Laufzeitvorlage erstellen, die ein Post-Startscript verwendet
Wenn Sie eine Laufzeitvorlage erstellen möchten, die ein Post-Startscript verwendet, können Sie die Google Cloud Console, die Google Cloud CLI oder die REST API verwenden.
Console
So erstellen Sie eine Laufzeitvorlage, die ein Post-Startup-Script verwendet:
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \ --project=PROJECT_ID \ --region=REGION \ --machine-type=e2-standard-4 \ --post-startup-script-url=POST_STARTUP_SCRIPT_URI \ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Windows (PowerShell)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ` --project=PROJECT_ID ` --region=REGION ` --machine-type=e2-standard-4 ` --post-startup-script-url=POST_STARTUP_SCRIPT_URI ` --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Windows (cmd.exe)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^ --project=PROJECT_ID ^ --region=REGION ^ --machine-type=e2-standard-4 ^ --post-startup-script-url=POST_STARTUP_SCRIPT_URI ^ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR
Weitere Informationen zum Befehl zum Erstellen einer Laufzeitvorlage über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "machineSpec": { "machineType": "e2-standard-4" }, softwareConfig: { postStartupScriptConfig: { postStartupScriptUrl: "POST_STARTUP_SCRIPT_URI", postStartupScriptBehavior: "POST_STARTUP_SCRIPT_BEHAVIOR" }, }, "networkSpec": { "enableInternetAccess": true } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
Weitere Informationen finden Sie in der Dokumentation zur notebookRuntimeTemplates.create
REST API.
Laufzeit erstellen
Nachdem Sie eine Laufzeitvorlage erstellt haben, die Ihr Post-Startup-Skript verwendet, erstellen Sie eine Laufzeit basierend auf dieser Laufzeitvorlage. Die Laufzeit wird gestartet und das Script nach dem Start wird gemäß dem angegebenen Verhalten ausgeführt. Weitere Informationen finden Sie unter Laufzeit erstellen.
Laufzeitvorlage mit einem Post-Startscript und Umgebungsvariablen erstellen
Wenn Sie eine Laufzeitvorlage erstellen möchten, die ein Post-Startscript und Umgebungsvariablen verwendet, können Sie die Google Cloud Console, die Google Cloud CLI oder die REST API verwenden.
Console
So erstellen Sie eine Laufzeitvorlage, die ein Post-Startup-Script und Umgebungsvariablen verwendet:
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \ --project=PROJECT_ID \ --region=REGION \ --machine-type=e2-standard-4 \ --post-startup-script-url=POST_STARTUP_SCRIPT_URI \ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR \ --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Windows (PowerShell)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ` --project=PROJECT_ID ` --region=REGION ` --machine-type=e2-standard-4 ` --post-startup-script-url=POST_STARTUP_SCRIPT_URI ` --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR ` --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Windows (cmd.exe)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^ --project=PROJECT_ID ^ --region=REGION ^ --machine-type=e2-standard-4 ^ --post-startup-script-url=POST_STARTUP_SCRIPT_URI ^ --post-startup-script-behavior=POST_STARTUP_SCRIPT_BEHAVIOR ^ --set-env-vars=ENV_VARIABLE_NAME=ENV_VARIABLE_VALUE
Weitere Informationen zum Befehl zum Erstellen einer Laufzeitvorlage über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", "machineSpec": { "machineType": "e2-standard-4" }, softwareConfig: { postStartupScriptConfig: { postStartupScriptUrl: "POST_STARTUP_SCRIPT_URI", postStartupScriptBehavior: "POST_STARTUP_SCRIPT_BEHAVIOR" }, "env": [ { "name": "ENV_VARIABLE_NAME", "value": "ENV_VARIABLE_VALUE" } ] }, "networkSpec": { "enableInternetAccess": true } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
Weitere Informationen finden Sie in der Dokumentation zur notebookRuntimeTemplates.create
REST API.
Laufzeit erstellen
Nachdem Sie eine Laufzeitvorlage erstellt haben, die Ihr Post-Startup-Skript verwendet, erstellen Sie eine Laufzeit basierend auf dieser Laufzeitvorlage. Die Laufzeit wird gestartet und das Script nach dem Start wird gemäß dem angegebenen Verhalten ausgeführt. Weitere Informationen finden Sie unter Laufzeit erstellen.
Beschränkungen
Beachten Sie die folgenden Einschränkungen, wenn Sie Post-Startup-Skripts mit Colab Enterprise verwenden: