

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.

# Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC-Skripts
<a name="notebook-lifecycle-config"></a>

**Wichtig**  
Benutzerdefinierte IAM-Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen auch 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 das Erstellen von Ressourcen, aber kein Tagging erlaubt, können "AccessDenied" Fehler beim Versuch, Ressourcen zu erstellen, auftreten. Weitere Informationen finden Sie unter [Erteilen Sie Berechtigungen für das Taggen von SageMaker KI-Ressourcen](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS verwaltete Richtlinien für Amazon SageMaker AI](security-iam-awsmanpol.md)die Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, beinhalten bereits Berechtigungen zum Hinzufügen von Tags beim Erstellen dieser Ressourcen.

Eine *Lebenszykluskonfiguration* (LCC) enthält Shell-Skripte, die nur beim Erstellen oder Starten einer Notebook-Instance ausgeführt werden. Wenn Sie eine Notebook-Instance erstellen, können Sie eine neue LCC erstellen oder eine LCC anfügen, die Sie bereits haben. Skripte für die Lebenszykluskonfiguration sind für die folgenden Anwendungsfälle nützlich:
+ Installation von Paketen oder Beispiel-Notebooks auf einer Notebook-Instance
+ Konfiguration von Netzwerk und Sicherheit für eine Notebook-Instance
+ Verwenden eines Shell-Skripts zum Anpassen einer Notebook-Instance

Sie können auch ein Lifecycle-Konfigurationsskript verwenden, um von Ihrem Notizbuch aus auf AWS Dienste zuzugreifen. Sie können beispielsweise ein Skript erstellen, mit dem Sie Ihr Notizbuch verwenden können, um andere AWS Ressourcen zu steuern, z. B. eine Amazon EMR-Instance.

[Wir unterhalten unter - ein öffentliches Repository mit Konfigurationsskripten für den Lebenszyklus von Notebooks, die sich mit gängigen Anwendungsfällen für die Anpassung von Notebook-Instances befassen https://github.com/aws-samples/amazon-sagemaker-notebook-instance. lifecycle-config-samples](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples)

**Anmerkung**  
Jedes Skript hat ein Limit von 16384 Zeichen.  
Der Wert der Umgebungsvariable `$PATH`, die für beide Skripts verfügbar ist, lautet `/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin`. Das Arbeitsverzeichnis. Dabei handelt es sich um den Wert der `$PWD` Umgebungsvariable: `/`.  
 CloudWatch Protokolle für Lebenszykluskonfigurationen von Notebook-Instanzen in der Protokollgruppe `/aws/sagemaker/NotebookInstances` im Protokollstream `[notebook-instance-name]/[LifecycleConfigHook]` anzeigen.  
Skripts können nicht länger als fünf Minuten ausgeführt werden. Bei einem länger laufenden Skript treten Fehler auf und die Notebook-Instance wird nicht erstellt oder gestartet. Gehen Sie zum Reduzieren der Laufzeit von Skripten wie folgt vor:  
Beschränken Sie sich auf notwendige Schritte. Schränken Sie beispielsweise ein, in welchen Conda-Umgebungen große Pakete installiert werden.
Führen Sie Aufgaben in parallelen Prozessen aus.
Verwenden Sie den befehl `nohup` in Ihrem Skript.

Sie können eine Liste der Lebenszykluskonfigurationen für Notebook-Instanzen einsehen, die Sie zuvor erstellt haben, indem Sie in der SageMaker AI-Konsole die **Option Lifecycle-Konfiguration** auswählen. Die LLC für Notebook-Instances sind auch verfügbar, wenn Sie eine neue Notebook-Instance erstellen. Weitere Informationen zum Erstellen einer Notebook-Instance finden Sie unter [Erstellen Sie eine SageMaker Amazon-Notebook-Instance](howitworks-create-ws.md).

## Bewährte Methoden für die Lebenszykluskonfiguration
<a name="nbi-lifecycle-config-bp"></a>

Es folgen die bewährten Methoden für die Verwendung von Lebenszykluskonfigurationen:

**Wichtig**  
Es wird nicht empfohlen, vertrauliche Informationen in Ihrem Lifecycle-Konfigurationsskript zu speichern.

**Wichtig**  
Lifecycle-Konfigurationsskripts werden unabhängig von der Root-Zugriffseinstellung für Notebook-Benutzer mit Root-Zugriff und den IAM-Ausführungsrollen der Notebook-Instanz ausgeführt. Principals mit der Berechtigung, Lebenszykluskonfigurationen zu erstellen oder zu ändern und Notebook-Instances zu aktualisieren, können Code mit den Anmeldeinformationen der Ausführungsrolle ausführen. Weitere Informationen finden Sie unter [Steuern Sie den Root-Zugriff auf eine Notebook-Instance SageMaker](nbi-root-access.md).
+ Lebenszykluskonfigurationen werden als `root`-Benutzer ausgeführt. Wenn Ihr Skript Änderungen innerhalb des Verzeichnisses `/home/ec2-user/SageMaker` vornimmt (z. B. Installieren eines Paket mit `pip`), verwenden Sie den Befehl `sudo -u ec2-user` zum Ausführen als `ec2-user`-Benutzer. Dies ist derselbe Benutzer, unter dem Amazon SageMaker AI läuft.
+ SageMaker KI-Notebook-Instances verwenden `conda` Umgebungen, um verschiedene Kernel für Jupyter-Notebooks zu implementieren. Wenn Sie Pakete installieren möchten, die für einen oder mehrere Notebook-Kernels verfügbar sind, schließen Sie die Befehle zum Installieren der Pakete in die Befehle der `conda`-Umgebung ein, die die conda-Umgebung aktivieren, welche den zu installierenden Kernel enthält.

  Beispiel: Wenn Sie ein Paket nur für die `python3`-Umgebung installieren möchten, verwenden Sie den folgenden Code:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # This will affect only the Jupyter kernel called "conda_python3".
  source activate python3
  
  # Replace {{myPackage}} with the name of the package you want to install.
  pip install {{myPackage}}
  # You can also perform "conda install" here as well.
  
  source deactivate
  
  EOF
  ```

  Wenn Sie ein Paket in allen Conda-Umgebungen in der Notebook-Instance installieren möchten, verwenden Sie den folgenden Code:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # Note that "base" is special environment name, include it there as well.
  for env in base /home/ec2-user/anaconda3/envs/*; do
      source /home/ec2-user/anaconda3/bin/activate $(basename "$env")
  
      # Installing packages in the Jupyter system environment can affect stability of your SageMaker
      # Notebook Instance.  You can remove this check if you'd like to install Jupyter extensions, etc.
      if [ $env = 'JupyterSystemEnv' ]; then
        continue
      fi
  
      # Replace {{myPackage}} with the name of the package you want to install.
      pip install --upgrade --quiet {{myPackage}}
      # You can also perform "conda install" here as well.
  
      source /home/ec2-user/anaconda3/bin/deactivate
  done
  
  EOF
  ```
+ Sie müssen alle Conda-Umgebungen im Standardumgebungsordner (/) speichern. home/user/anaconda3/envs

**Wichtig**  
Wenn Sie ein Skript erstellen oder ändern, empfiehlt es sich, einen Texteditor zu verwenden, der Zeilenumbrüche im Unix-Format bereitstellt, z. B. den Texteditor, der beim Erstellen eines Notebook in der Konsole verfügbar ist. Das Kopieren von Text aus einem Nicht-Linux-Betriebssystem kann zu inkompatiblen Zeilenumbrüchen und zu einem unerwarteten Fehler führen.