View a markdown version of this page

Erstellen Sie eine Lifecycle-Konfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Lifecycle-Konfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic

Wichtig

Benutzerdefinierte IAM-Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen ebenfalls Berechtigungen zum Hinzufügen von Tags zu diesen Ressourcen gewähren. Die Berechtigung zum Hinzufügen von Tags zu Ressourcen ist erforderlich, da Studio und Studio Classic automatisch alle von ihnen erstellten Ressourcen taggen. Wenn eine IAM-Richtlinie Studio und Studio Classic zwar das Erstellen von Ressourcen erlaubt, das Taggen jedoch nicht zulässt, können AccessDenied "“ -Fehler auftreten, wenn versucht wird, Ressourcen zu erstellen. Weitere Informationen finden Sie unter Stellen Sie Berechtigungen für das Taggen von SageMaker KI-Ressourcen bereit.

AWS verwaltete Richtlinien für Amazon AI SageMakerdie Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, enthalten bereits Berechtigungen zum Hinzufügen von Tags bei der Erstellung dieser Ressourcen.

Anmerkung

Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis nun Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich konkret auf die Verwendung der Studio-Classic-Anwendung. Informationen zur Verwendung der aktualisierten Studio-Konfiguration finden Sie unter Amazon Studio SageMaker.

Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist jedoch nicht mehr für das Onboarding verfügbar. Sie können nur bestehende Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, Ihre Arbeitslast auf das neue Studio-Erlebnis zu migrieren.

Das folgende Thema zeigt, wie Sie mithilfe der eine Lebenszykluskonfiguration erstellen AWS CLI , um die Anpassung an Ihre Studio Classic-Umgebung zu automatisieren.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:

Schritt 1: Erstellen einer Lebenszykluskonfiguration

Das folgende Verfahren zeigt, wie Sie ein Skript für die Lebenszykluskonfiguration erstellen, das Hello World ausgibt.

Anmerkung

Jedes Skript kann bis zu 16.384 Zeichen enthalten.

  1. Erstellen Sie auf Ihrem lokalen Rechner eine Datei namens my-script.sh mit folgendem Inhalt.

    #!/bin/bash set -eux echo 'Hello World!'
  2. Konvertieren Sie Ihre my-script.sh-Datei in das base64-Format. Diese Anforderung verhindert Fehler, die bei der Kodierung von Abständen und Zeilenumbrüchen auftreten.

    LCC_CONTENT=`openssl base64 -A -in my-script.sh`
  3. Erstellen Sie eine Lebenszykluskonfiguration für die Verwendung mit Studio Classic. Der folgende Befehl erstellt eine Lebenszykluskonfiguration, die ausgeführt wird, wenn Sie eine zugehörige KernelGateway Anwendung starten.

    aws sagemaker create-studio-lifecycle-config \ --region region \ --studio-lifecycle-config-name my-studio-lcc \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type KernelGateway

    Notieren Sie sich den ARN der neu erstellten Lebenszykluskonfiguration, die zurückgegeben wird. Dieser ARN ist erforderlich, um die Lebenszykluskonfiguration an Ihre Anwendung anzuhängen.

Schritt 2: Hängen Sie die Lebenszykluskonfiguration an Ihre Domain, Ihr Benutzerprofil oder Ihren gemeinsam genutzten Bereich an

Um die Lebenszykluskonfiguration anzuhängen, müssen Sie die UserSettings für Ihre Domain oder Ihr Benutzerprofil oder die SpaceSettings für einen gemeinsam genutzten Bereich aktualisieren. Skripts zur Lebenszykluskonfiguration, die auf Domainebene verknüpft sind, werden von allen Benutzern übernommen. Skripts, die auf Benutzerprofilebene verknüpft sind, sind jedoch einem bestimmten Benutzer zugeordnet, während Skripte, die auf der Ebene des gemeinsam genutzten Bereichs verknüpft sind, dem gemeinsam genutzten Bereich zugeordnet sind.

Im folgenden Beispiel wird gezeigt, wie Sie ein neues Benutzerprofil mit angefügter Lebenszykluskonfiguration erstellen. Sie können auch eine neue Domain oder einen neuen Bereich mit angefügter Lebenszykluskonfiguration erstellen, indem Sie die Befehle create-domain bzw. create-space verwenden.

Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorherigen Schritt zu den Einstellungen für den entsprechenden App-Typ hinzu. Legen Sie sie zum Beispiel in der JupyterServerAppSettings des Benutzers ab. Sie können mehrere Lebenszykluskonfigurationen gleichzeitig hinzufügen, indem Sie eine Liste von Lebenszykluskonfigurationen übergeben. Wenn ein Benutzer eine JupyterServer Anwendung mit dem startet AWS CLI, kann er eine Lebenszykluskonfiguration übergeben, die anstelle der Standardkonfiguration verwendet wird. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in JupyterServerAppSettings gehören.

# Create a new UserProfile aws sagemaker create-user-profile --domain-id domain-id \ --user-profile-name user-profile-name \ --region region \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

Im folgenden Beispiel wird gezeigt, wie Sie einen vorhandenen Shared Space aktualisieren, um die Lebenszykluskonfiguration anzufügen. Sie können auch ein vorhandenes Domains- oder Benutzerprofil mit angefügter Lebenszykluskonfiguration aktualisieren, indem Sie den Befehl update-domain oder update-user-profile verwenden. Wenn Sie die Liste der angehängten Lebenszykluskonfigurationen aktualisieren, müssen Sie alle Lebenszykluskonfigurationen als Teil der Liste übergeben. Wenn eine Lebenszykluskonfiguration nicht Teil dieser Liste ist, wird sie nicht an die Anwendung angehängt.

aws sagemaker update-space --domain-id domain-id \ --space-name space-name \ --region region \ --space-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

Informationen zum Festlegen einer standardmäßigen Lebenszykluskonfiguration für eine Ressource finden Sie unter Legen Sie Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic fest.

Schritt 3: Starten der Anwendung mit Lebenszykluskonfiguration

Nachdem Sie eine Lebenszykluskonfiguration an eine Domain, ein Benutzerprofil oder einen Bereich angehängt haben, kann der Benutzer sie auswählen, wenn er eine Anwendung mit dem AWS CLI startet. In diesem Abschnitt erfahren Sie, wie Sie eine Anwendung mit angefügter Lebenszykluskonfiguration starten. Informationen zum Ändern der Standard-Lebenszykluskonfiguration nach dem Start einer JupyterServer Anwendung finden Sie unterLegen Sie Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic fest.

Starten Sie den gewünschten Anwendungstyp mit dem create-app Befehl und geben Sie den ARN für die Lebenszykluskonfiguration im resource-spec Argument an.

  • Das folgende Beispiel zeigt, wie Sie eine JupyterServer-Anwendung mit einer zugehörigen Lebenszykluskonfiguration erstellen. Bei der Erstellung des JupyterServer müssen die app-name default sein. Der ARN für die Lebenszykluskonfiguration, der als Teil des resource-spec-Parameters übergeben wird, muss Teil der Liste der ARNs für die Lebenszykluskonfiguration sein, die in UserSettings für Ihre Domain oder Ihr Benutzerprofil oder in SpaceSettings für einen gemeinsamen Bereich angegeben ist.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \ --app-name default
  • Das folgende Beispiel zeigt, wie Sie eine KernelGateway-Anwendung mit einer zugehörigen Lebenszykluskonfiguration erstellen.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type KernelGateway \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn,SageMakerImageArn=sagemaker-image-arn,InstanceType=instance-type \ --app-name app-name