

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.

# Von Amazon SageMaker AI angebotene Umgebungen für maschinelles Lernen
<a name="machine-learning-environments"></a>

**Wichtig**  
Amazon SageMaker Studio und Amazon SageMaker Studio Classic sind zwei der Machine-Learning-Umgebungen, mit denen Sie mit SageMaker KI interagieren können.  
Wenn Ihre Domain nach dem 30. November 2023 erstellt wurde, ist Studio Ihre Standardkonfiguration.  
Wenn Ihre Domain vor dem 30. November 2023 erstellt wurde, ist Amazon SageMaker Studio Classic Ihr Standarderlebnis. Informationen zur Verwendung von Studio, wenn Amazon SageMaker Studio Classic Ihr Standarderlebnis ist, finden Sie unter[Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md).  
Wenn Sie von Amazon SageMaker Studio Classic zu Amazon SageMaker Studio migrieren, geht die Verfügbarkeit von Funktionen nicht verloren. Studio Classic ist auch als IDE in Amazon SageMaker Studio verfügbar, um Sie bei der Ausführung Ihrer älteren Machine-Learning-Workflows zu unterstützen.

SageMaker KI unterstützt die folgenden Umgebungen für maschinelles Lernen:
+ *Amazon SageMaker Studio* (empfohlen): Die neueste webbasierte Erfahrung für die Ausführung von ML-Workflows mit einer Suite von IDEs. Studio unterstützt die folgenden Anwendungen:
  + Amazon SageMaker Studio Klassisch
  + Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source
  + JupyterLab
  + Amazon SageMaker Leinwand
  + RStudio
+ *Amazon SageMaker Studio Classic*: Ermöglicht das Erstellen, Trainieren, Debuggen, Bereitstellen und Überwachen Ihrer Machine-Learning-Modelle.
+ *Amazon SageMaker Notebook Instances*: Ermöglicht die Vorbereitung und Verarbeitung von Daten sowie das Trainieren und Bereitstellen von Modellen für maschinelles Lernen von einer Recheninstanz aus, auf der die Jupyter Notebook-Anwendung ausgeführt wird.
+ *Amazon SageMaker Studio Lab*: Studio Lab ist ein kostenloser Service, der Ihnen Zugriff auf AWS Rechenressourcen in einer Open-Source-Umgebung bietet JupyterLab, ohne dass ein AWS Konto erforderlich ist.
+ *Amazon SageMaker Canvas*: Bietet Ihnen die Möglichkeit, maschinelles Lernen zu verwenden, um Vorhersagen zu generieren, ohne programmieren zu müssen.
+ *Amazon SageMaker Geospatial*: Bietet Ihnen die Möglichkeit, Geodatenmodelle zu erstellen, zu trainieren und bereitzustellen.
+ *RStudio auf Amazon SageMaker AI*: RStudio ist eine IDE für [R](https://aws.amazon.com/blogs/opensource/getting-started-with-r-on-amazon-web-services/) mit einer Konsole, einem Syntaxhervorhebungseditor, der die direkte Codeausführung unterstützt, und Tools für Plotten, Verlauf, Debugging und Workspace-Management.
+ *SageMaker HyperPod*: SageMaker HyperPod ermöglicht die Bereitstellung robuster Cluster für die Ausführung von Workloads für maschinelles Lernen (ML) und die Entwicklung von state-of-the-art Modellen wie großen Sprachmodellen (LLMs), Diffusionsmodellen und Basismodellen (). FMs

Um diese Machine-Learning-Umgebungen nutzen zu können, müssen Sie oder der Administrator Ihrer Organisation eine Amazon SageMaker AI-Domain erstellen. Die Ausnahmen sind Studio Lab, SageMaker Notebook-Instances und SageMaker HyperPod.

Anstatt Ressourcen manuell bereitzustellen und Berechtigungen für Sie und Ihre Benutzer zu verwalten, können Sie eine DataZone Amazon-Domain erstellen. Beim Erstellen einer DataZone Amazon-Domain wird eine entsprechende Amazon SageMaker AI-Domain mit AWS Glue oder Amazon Redshift-Datenbanken für Ihre ETL-Workflows erstellt. Die Einrichtung einer Domain über Amazon DataZone reduziert den Zeitaufwand für die Einrichtung von SageMaker KI-Umgebungen für Ihre Benutzer. Weitere Informationen zur Einrichtung einer Amazon SageMaker AI-Domain innerhalb von Amazon DataZone finden Sie unter[SageMaker Assets einrichten (Administratorhandbuch)](sm-assets-set-up.md).

Benutzer innerhalb der DataZone Amazon-Domain haben Berechtigungen für alle Amazon SageMaker AI-Aktionen, aber ihre Berechtigungen sind auf Ressourcen innerhalb der DataZone Amazon-Domain beschränkt.

Die Erstellung einer DataZone Amazon-Domain vereinfacht die Erstellung einer Domain, die es Ihren Benutzern ermöglicht, Daten und Modelle miteinander zu teilen. Informationen darüber, wie sie Daten und Modelle gemeinsam nutzen können, finden Sie unter [Kontrollierter Zugriff auf Ressourcen mit Amazon SageMaker Assets](sm-assets.md).

**Topics**
+ [Amazon SageMaker Studio](studio-updated.md)
+ [SageMaker JupyterLab](studio-updated-jl.md)
+ [SageMaker Amazon-Notebook-Instanzen](nbi.md)
+ [Amazon SageMaker Studio-Labor](studio-lab.md)
+ [Amazon SageMaker Leinwand](canvas.md)
+ [SageMaker Geospatial-Funktionen von Amazon](geospatial.md)
+ [RStudio auf Amazon SageMaker AI](rstudio.md)
+ [Code-Editor in Amazon SageMaker Studio](code-editor.md)
+ [Amazon SageMaker HyperPod](sagemaker-hyperpod.md)
+ [Generative KI in Notebook-Umgebungen SageMaker](jupyterai.md)
+ [Amazon Q Developer](studio-updated-amazon-q.md)
+ [Überblick über die KI-Apps von Amazon SageMaker Partner](partner-apps.md)

# Amazon SageMaker Studio
<a name="studio-updated"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

 Amazon SageMaker Studio ist das neueste webbasierte Erlebnis für die Ausführung von ML-Workflows. Studio bietet eine Suite integrierter Entwicklungsumgebungen (IDEs). Dazu gehören der auf Code-OSS basierende Code Editor, Visual Studio Code — Open Source, eine neue JupyterLab Anwendung RStudio, und Amazon SageMaker Studio Classic. Weitere Informationen finden Sie unter [In Amazon SageMaker Studio unterstützte Anwendungen](studio-updated-apps.md). 

Die neue webbasierte Benutzeroberfläche in Studio ist schneller und bietet Zugriff auf alle SageMaker KI-Ressourcen, einschließlich Jobs und Endpunkte, in einer Oberfläche. ML-Anwender können auch ihre bevorzugte IDE auswählen, um die ML-Entwicklung zu beschleunigen. Ein Datenwissenschaftler kann JupyterLab damit Daten untersuchen und Modelle optimieren. Darüber hinaus kann ein Ingenieur für maschinelles Lernen (MLOps) den Code-Editor mit dem Pipelines-Tool in Studio verwenden, um Modelle in der Produktion bereitzustellen und zu überwachen. 

 Das vorherige Studio-Erlebnis wird weiterhin als Amazon SageMaker Studio Classic unterstützt. Studio Classic ist die Standardkonfiguration für Bestandskunden und ist als Anwendung in Studio verfügbar. Weitere Informationen über Studio Classic finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md). Weitere Informationen zur Migration von Studio Classic zu Studio finden Sie unter [Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md). 

 Studio bietet die folgenden Vorteile: 
+ Eine neue JupyterLab Anwendung, die eine schnellere Startzeit hat und zuverlässiger ist als die bestehende Studio Classic-Anwendung. Weitere Informationen finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md).
+ Eine Suite IDEs davon wird auf einer separaten Registerkarte geöffnet, einschließlich des neuen Code-Editors, der auf der Open-Source-Anwendung Code-OSS, Visual Studio Code, basiert. Benutzer können mit dem Support IDEs im Vollbildmodus interagieren. Weitere Informationen finden Sie unter [In Amazon SageMaker Studio unterstützte Anwendungen](studio-updated-apps.md).
+ Zugriff auf all Ihre SageMaker KI-Ressourcen von einem Ort aus. Studio zeigt laufende Instances in all Ihren Anwendungen an.  
+ Zugriff auf alle Schulungsjobs in einer einzigen Ansicht, unabhängig davon, ob sie von Notebooks aus geplant oder von Amazon initiiert wurden SageMaker JumpStart.
+ Vereinfachte Workflows für die Modellbereitstellung sowie Endpunktverwaltung und -überwachung direkt aus Studio heraus. Sie müssen nicht auf die SageMaker AI-Konsole zugreifen. 
+ Automatische Erstellung aller konfigurierten Anwendungen, wenn Sie einer Domain beitreten. Informationen zum Onboarding bei einer Domain finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).
+ Ein verbessertes JumpStart Erlebnis, bei dem Sie ein Basismodell entdecken, importieren, registrieren, optimieren und bereitstellen können. Weitere Informationen finden Sie unter [SageMaker JumpStart vortrainierte Modelle](studio-jumpstart.md).

**Topics**
+ [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md)
+ [Überblick über die Amazon SageMaker Studio-Benutzeroberfläche](studio-updated-ui.md)
+ [Automatisches Mounten von Amazon EFS in Studio](studio-updated-automount.md)
+ [Herunterfahren im Leerlauf](studio-updated-idle-shutdown.md)
+ [In Amazon SageMaker Studio unterstützte Anwendungen](studio-updated-apps.md)
+ [Connect Sie Ihre Remote-IDE mit SageMaker Räumen mit Fernzugriff](remote-access.md)
+ [Bring Your Own Image (BYOI)](studio-updated-byoi.md)
+ [Lebenszykluskonfigurationen in Amazon SageMaker Studio](studio-lifecycle-configurations.md)
+ [Amazon SageMaker Studio-Räume](studio-updated-spaces.md)
+ [Weitergabe vertrauenswürdiger Identitäten mit Studio](trustedidentitypropagation.md)
+ [Ausführung häufiger Benutzeroberflächen-Aufgaben](studio-updated-common.md)
+ [NVMe Geschäfte mit Amazon SageMaker Studio](studio-updated-nvme.md)
+ [Unterstützung für den lokalen Modus in Amazon SageMaker Studio](studio-updated-local.md)
+ [Anzeigen Ihrer laufenden Studio-Instances, -Anwendungen und -Bereiche](studio-updated-running.md)
+ [Stoppen und Löschen Ihrer laufenden Studio-Anwendungen und -Bereiche](studio-updated-running-stop.md)
+ [SageMaker Richtlinie zur Unterstützung von Studio-Images](sagemaker-distribution.md)
+ [Amazon SageMaker Studio-Preise](studio-updated-cost.md)
+ [Fehlerbehebung](studio-updated-troubleshooting.md)
+ [Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md)
+ [Amazon SageMaker Studio Klassisch](studio.md)

# Starten Sie Amazon SageMaker Studio
<a name="studio-updated-launch"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

 Die Themen dieser Seite zeigen, wie Sie Amazon SageMaker Studio über die Amazon SageMaker AI-Konsole und die AWS Command Line Interface (AWS CLI) starten. 

**Topics**
+ [Voraussetzungen](#studio-updated-launch-prereq)
+ [Von der Amazon SageMaker AI-Konsole aus starten](#studio-updated-launch-console)
+ [Starten Sie mit dem AWS CLI](#studio-updated-launch-cli)

## Voraussetzungen
<a name="studio-updated-launch-prereq"></a>

 Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Integrieren Sie eine SageMaker KI-Domain mit Studio-Zugriff. Wenn Sie nicht berechtigt sind, Studio als Standardkonfiguration für Ihre Domain festzulegen, wenden Sie sich an Ihren Administrator. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). 
+ Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com//cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen. 
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com//general/latest/gr/aws-sec-cred-types.html).

## Von der Amazon SageMaker AI-Konsole aus starten
<a name="studio-updated-launch-console"></a>

Gehen Sie wie folgt vor, um Studio von der Amazon SageMaker AI-Konsole aus zu starten.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Wählen Sie im linken Navigationsbereich Studio aus. 

1.  Wählen Sie auf der Studio-Landingpage die Domain und das Benutzerprofil aus, um Studio zu starten. 

1.  Wählen Sie **Open Studio**. 

1.  Um Studio zu starten, wählen Sie **Personal Studio starten** aus. 

## Starten Sie mit dem AWS CLI
<a name="studio-updated-launch-cli"></a>

In diesem Abschnitt wird gezeigt, wie Sie Studio mit dem starten AWS CLI. Das Verfahren für den Zugriff auf Studio mithilfe AWS CLI von hängt davon ab, ob die Domäne die AWS Identity and Access Management (IAM-) Authentifizierung oder AWS IAM Identity Center Authentifizierung verwendet. Sie können das verwenden, um Studio AWS CLI zu starten, indem Sie eine vorsignierte Domain-URL erstellen, wenn Ihre Domain die IAM-Authentifizierung verwendet. Weitere Informationen zum Starten von Studio mit der Authentifizierung von IAM Identity Center finden Sie unter [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md). 

### Starten, wenn Studio die Standardkonfiguration ist
<a name="studio-updated-launch-console-updated"></a>

 Der folgende Codeausschnitt zeigt, wie mithilfe einer vorsignierten Domain-URL von der AWS CLI aus gestartet wird, wenn Studio die Standardkonfiguration ist. Weitere Informationen finden Sie unter [create-presigned-domain-url](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-presigned-domain-url.html). 

```
aws sagemaker create-presigned-domain-url \
--region region \
--domain-id domain-id \
--user-profile-name user-profile-name \
--session-expiration-duration-in-seconds 43200
```

### Starten Sie, wenn Amazon SageMaker Studio Classic Ihr Standarderlebnis ist
<a name="studio-updated-launch-console-classic"></a>

 Der folgende Codeausschnitt zeigt, wie mithilfe einer vorsignierten Domain-URL von der AWS CLI aus gestartet wird, wenn Studio Classic die Standardkonfiguration ist. Weitere Informationen finden Sie unter [create-presigned-domain-url](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-presigned-domain-url.html). 

```
aws sagemaker create-presigned-domain-url \
--region region \
--domain-id domain-id \
--user-profile-name user-profile-name \
--session-expiration-duration-in-seconds 43200 \
--landing-uri studio::
```

# Überblick über die Amazon SageMaker Studio-Benutzeroberfläche
<a name="studio-updated-ui"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

 Die Amazon SageMaker Studio-Benutzeroberfläche ist in drei verschiedene Teile aufgeteilt. Diese Seite enthält Informationen über die verschiedenen Bereiche und ihre Komponenten. 
+  **Navigationsleiste**: Dieser Abschnitt der Benutzeroberfläche enthält die URL, Breadcrumbs, Benachrichtigungen und Benutzeroptionen. 
+  **Navigationsbereich**: Dieser Abschnitt der Benutzeroberfläche enthält eine Liste der Anwendungen, die in Studio unterstützt werden, sowie Optionen für die wichtigsten Workflows in Studio. 
+  **Inhaltsbereich**: Der Hauptarbeitsbereich, in dem die aktuelle Seite der Studio-Benutzeroberfläche angezeigt wird, die Sie geöffnet haben.

![\[Amazon SageMaker Studio-Startseite mit Navigationsbereich und Inhaltsbereich (Hauptarbeitsbereich).\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/monarch/studio-updated-ui.png)


**Topics**
+ [Amazon SageMaker Studio-Navigationsleiste](#studio-updated-ui-top)
+ [Amazon SageMaker Studio-Navigationsbereich](#studio-updated-ui-left)
+ [Inhaltsbereich von Studio](#studio-updated-ui-working)

## Amazon SageMaker Studio-Navigationsleiste
<a name="studio-updated-ui-top"></a>

 Die Navigationsleiste der Studio-Benutzeroberfläche enthält die URL, Breadcrumbs, Benachrichtigungen und Benutzeroptionen. 

 **URL-Struktur** 

 Die URL von Studio ändert sich, wenn Sie auf der Benutzeroberfläche navigieren. Wenn Sie zu einer anderen Seite in der Benutzeroberfläche navigieren, ändert sich die URL entsprechend dieser Seite. Mit der aktualisierten URL können Sie jede Seite in der Studio-Benutzeroberfläche direkt öffnen, ohne zuerst zur Landingpage zu navigieren. 

 **Brotkrumen** 

 Während Sie durch die Studio-Benutzeroberfläche navigieren, verfolgen die Breadcrumbs die übergeordneten Seiten der aktuellen Seite. Wenn Sie einen dieser Breadcrumbs auswählen, können Sie zu den übergeordneten Seiten in der Benutzeroberfläche navigieren. 

 **Benachrichtigungen** 

 Der Benachrichtigungsbereich der Benutzeroberfläche enthält Informationen zu wichtigen Änderungen an Studio, Aktualisierungen von Anwendungen und zu lösenden Problemen. 

 **Benutzeroptionen** 

Wählen Sie das Symbol für Benutzeroptionen (![\[User icon with a circular avatar placeholder and a downward-pointing arrow.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/monarch/user-settings.png)) aus, um Informationen über das Benutzerprofil abzurufen, das Studio derzeit verwendet. Hier können Sie sich außerdem von Studio abmelden.  

## Amazon SageMaker Studio-Navigationsbereich
<a name="studio-updated-ui-left"></a>

 **Navigationsbereich** 

 Der Navigationsbereich der Benutzeroberfläche enthält eine Liste der Anwendungen, die in Studio unterstützt werden. Er bietet auch Optionen für die wichtigsten Workflows in Studio. 

 Dieser Abschnitt der Benutzeroberfläche kann im erweiterten oder minimierten Zustand verwendet werden. Um zu ändern, ob der Abschnitt erweitert oder minimiert ist, wählen Sie das Symbol **Minimieren** (![\[Square icon with "ID" text representing an identity or identification concept.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/monarch/collapse-ui.png)) aus. 

 **Anwendungen** 

 Im Abschnitt „Anwendungen“ sind die in Studio verfügbaren Anwendungen aufgelistet. Wenn Sie einen der Anwendungstypen auswählen, werden Sie zur Landingpage für diese Anwendung weitergeleitet. 

 **Arbeitsabläufe** 

 Die Liste der Workflows enthält alle verfügbaren Aktionen, die Sie in Studio ausführen können. Wählen Sie eine der Optionen aus, um zur Landingpage für diesen Workflow zu navigieren. Wenn für diese Option mehrere Workflows verfügbar sind, wird bei Auswahl der Option ein Dropdown-Menü geöffnet, in dem Sie die gewünschte Landingpage auswählen können. 

 In der folgenden Liste werden die Optionen beschrieben und ein Link mit weiteren Informationen wird bereitgestellt. 
+  **Home**: Die Haupt-Landingpage mit einer Übersicht, den ersten Schritten und Neuigkeiten. 
+  **Laufende Instances**: Alle Instances, die derzeit in Studio ausgeführt werden. Weitere Informationen finden Sie unter [Anzeigen Ihrer laufenden Studio-Instances, -Anwendungen und -Bereiche](studio-updated-running.md). 
+  **Daten**: Optionen zur Datenaufbereitung, mit denen Sie gemeinsam Ihre Daten speichern, untersuchen, aufbereiten, transformieren und freigeben können.  
  +  Weitere Informationen zu Amazon SageMaker Data Wrangler finden Sie unter. [Datenaufbereitung](canvas-data-prep.md) 
  +  Weitere Informationen zum Amazon SageMaker Feature Store finden Sie unter[Erstellen, Speichern und Teilen von Features mit Feature Store](feature-store.md). 
  +  Weitere Informationen zu Amazon-EMR-Clustern finden Sie unter [Datenaufbereitung mit Amazon EMR](studio-notebooks-emr-cluster.md). 
+  **Auto ML**: Erstellen, trainieren, und optimieren Sie Machine-Learning-Modelle (ML) und stellen Sie sie bereit – alles automatisch. Weitere Informationen finden Sie unter [Amazon SageMaker Leinwand](canvas.md). 
+  **Experimente**: Erstellen, verwalten, analysieren und vergleichen Sie Ihre Machine-Learning-Experimente mit Amazon SageMaker Experiments. Weitere Informationen finden Sie unter [SageMaker Amazon-Experimente in Studio Classic](experiments.md). 
+  **Aufträge**: In Studio erstellte Aufträge anzeigen.  
  +  Weitere Informationen zum Training finden Sie unter [Modelltrainings](train-model.md). 
  +  Weitere Informationen zur Modellbewertung finden Sie unter [Erfahren Sie mehr über die Optionen für die Bewertung großer Sprachmodelle mit SageMaker Clarify](clarify-foundation-model-evaluate.md). 
+  **Pipelines** — Automatisieren Sie Ihren ML-Workflow mit Amazon SageMaker Pipelines, das Ressourcen bereitstellt, mit denen Sie Ihre Pipeline-Ressourcen erstellen, verfolgen und verwalten können. Weitere Informationen finden Sie unter [Pipelines](pipelines.md).
+  **Modelle**: Organisieren Sie Ihre Modelle in Gruppen und Sammlungen in der Model Registry, wo Sie Modellversionen verwalten, Metadaten anzeigen und Modelle in der Produktion bereitstellen können. Weitere Informationen finden Sie unter [Bereitstellung von Modellregistrierung mit Model Registry](model-registry.md).
+  **JumpStart**— Amazon SageMaker JumpStart bietet vortrainierte Open-Source-Modelle für eine Vielzahl von Problemtypen, um Ihnen den Einstieg in maschinelles Lernen zu erleichtern. Weitere Informationen finden Sie unter. [SageMaker JumpStart vortrainierte Modelle](studio-jumpstart.md) 
+  **Bereitstellungen**: Setzen Sie Ihre Machine-Learning-Modelle (ML) für die Inferenz ein.
  +  Weitere Informationen zu Amazon SageMaker Inference Recommender finden Sie unter. [Amazon SageMaker Inference Recommender](inference-recommender.md) 
  +  Weitere Informationen zu Endpunkten finden Sie unter [Modelle für Inference einsetzen](deploy-model.md). 

## Inhaltsbereich von Studio
<a name="studio-updated-ui-working"></a>

 Der Hauptarbeitsbereich wird auch als Inhaltsbereich bezeichnet. Es zeigt die aktuelle Seite der Studio-Benutzeroberfläche an, die Sie geöffnet haben. 

 **Studio-Startseite** 

 Die Studio-Startseite ist die primäre Landingpage im Hauptarbeitsbereich. Die Startseite umfasst zwei unterschiedliche Registerkarten. Es gibt eine Registerkarte **Übersicht** und eine Registerkarte **Erste Schritte**. 

 **Übersicht** 

 Die Registerkarte **Übersicht** enthält Optionen zum Starten von Bereichen für beliebte Anwendungstypen, zum Einstieg in vorgefertigte und automatisierte Lösungen für ML-Workflows sowie Links zu häufigen Aufgaben in der Studio-Benutzeroberfläche. 

 **Erste Schritte** 

 Die Registerkarte **Erste Schritte** enthält Informationen, Anleitungen und Ressourcen zu den ersten Schritten mit Studio. Dazu gehören eine geführte Tour durch die Studio-Benutzeroberfläche, ein Link zur Dokumentation über Studio und eine Auswahl an Kurztipps. 

# Automatisches Mounten von Amazon EFS in Studio
<a name="studio-updated-automount"></a>

 Amazon SageMaker AI unterstützt das automatische Mounten eines Ordners in einem Amazon EFS-Volume für jeden Benutzer in einer Domain. Mithilfe dieses Ordners können Benutzer Daten zwischen ihren eigenen privaten Bereichen austauschen. Benutzer können jedoch keine Daten mit anderen Benutzern in der Domain teilen. Benutzer haben nur Zugriff auf ihren eigenen Ordner. 

 Auf den Ordner des Benutzers kann über einen Ordner mit dem Namen `user-default-efs` zugegriffen werden. Dieser Ordner befindet sich im `$HOME`-Verzeichnis der Studio-Anwendung.

 Informationen zum Deaktivieren vom automatischen Mounting von Amazon EFS finden Sie unter [Deaktivieren des automatischen Mountings von Amazon EFS](studio-updated-automount-optout.md). 

 Die automatische Bereitstellung von Amazon EFS erleichtert auch die Migration von Daten von Studio Classic zu Studio. Weitere Informationen finden Sie unter [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md). 

 **Informationen zum Zugangspunkt** 

 Wenn die automatische Installation aktiviert ist, verwendet SageMaker AI einen Amazon EFS-Zugriffspunkt, um den Zugriff auf die Daten im Amazon EFS-Volume zu erleichtern. Weitere Informationen zu Access Points finden Sie unter [Arbeiten mit Amazon EFS-Zugriffspunkten](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) SageMaker KI erstellt bei der Erstellung eines Benutzerprofils oder bei der Anwendungserstellung für ein vorhandenes Benutzerprofil einen eindeutigen Zugriffspunkt für jedes Benutzerprofil in der Domain. Der POSIX-Benutzerwert des Access Points entspricht dem `HomeEfsFileSystemUid` Wert des Benutzerprofils, für das SageMaker AI den Access Point erstellt. Informationen zum Abrufen des Benutzerwerts finden Sie unter [DescribeUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html#sagemaker-DescribeUserProfile-response-HomeEfsFileSystemUid). Der Stammverzeichnispfad ist ebenfalls auf denselben Wert wie der POSIX-Benutzerwert gesetzt.  

 SageMaker AI legt die Berechtigungen des neuen Verzeichnisses auf die folgenden Werte fest: 

 
+  Benutzer-ID des Eigentümers: `POSIX user value` 
+  Gruppen-ID des Eigentümers: `0` 
+  Berechtigungen `700` 

 Der Zugangspunkt ist für den Zugriff auf das Amazon-EFS-Volume erforderlich. Daher können Sie den Zugangspunkt nicht löschen oder aktualisieren, ohne den Zugriff auf das Amazon-EFS-Volume zu verlieren. 

 **Fehlerbehebung** 

 Wenn SageMaker AI beim automatischen Mounten des Amazon EFS-Benutzerordners während der Anwendungserstellung auf ein Problem stößt, wird die Anwendung trotzdem erstellt. In diesem Fall erstellt SageMaker AI jedoch eine Datei mit dem Namen, `error.txt` anstatt den Amazon EFS-Ordner zu mounten. In dieser Datei werden der aufgetretene Fehler sowie die Schritte zu seiner Behebung beschrieben. SageMaker AI erstellt die `error.txt` Datei in dem `user-default-efs` Ordner, der sich im `$HOME` Verzeichnis der Anwendung befindet. 

# Deaktivieren des automatischen Mountings von Amazon EFS
<a name="studio-updated-automount-optout"></a>

 Sie können die automatische Bereitstellung von Amazon EFS-Benutzerordnern durch Amazon SageMaker AI während der Erstellung von Domänen und Benutzerprofilen oder für ein vorhandenes Domain- oder Benutzerprofil deaktivieren. 

## Abmeldung während der Domainerstellung
<a name="studio-updated-automount-optout-domain-creation"></a>

 Sie können das automatische Mounting von Amazon EFS deaktivieren, wenn Sie eine Domain entweder über die Konsole oder die AWS Command Line Interface erstellen. 

### Konsole
<a name="studio-updated-automount-optout-domain-creation-console"></a>

Gehen Sie wie folgt vor, um das automatische Mounting von Amazon EFS zu deaktivieren, wenn Sie eine Domain über die Konsole erstellen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Führen Sie die Schritte unter [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md) mit der folgenden Änderung durch, um eine Domain einzurichten. 
   +  Deaktivieren Sie im Schritt **Speicher konfigurieren** die Option **EFS-Speicher und Daten automatisch mounten**. 

### AWS CLI
<a name="studio-updated-automount-optout-domain-creation-cli"></a>

 Verwenden Sie den folgenden Befehl, um das automatische Mounting von Amazon EFS während der Domainerstellung mithilfe der AWS CLI zu deaktivieren. Weitere Informationen zum Erstellen einer Domain mit dem AWS CLI finden Sie unter[Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md).

```
aws --region region sagemaker create-domain \
--domain-name "my-domain-$(date +%s)" \
--vpc-id default-vpc-id \
--subnet-ids subnet-ids \
--auth-mode IAM \
--default-user-settings "ExecutionRole=execution-role-arn,AutoMountHomeEFS=Disabled" \
--default-space-settings "ExecutionRole=execution-role-arn"
```

## Deaktivieren für eine bestehende Domain
<a name="studio-updated-automount-optout-domain-existing"></a>

 Sie können das automatische Mounting von Amazon EFS für eine bestehende Domain über die Konsole oder die AWS CLI deaktivieren. 

### Konsole
<a name="studio-updated-automount-optout-domain-existing-console"></a>

 Gehen Sie wie folgt vor, um das automatische Mounting von Amazon EFS zu deaktivieren, wenn Sie eine Domain über die Konsole aktualisieren. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Wählen Sie im linken Navigationsbereich unter **Admin-Konfigurationen** die Option **Domains** aus. 

1.  Wählen Sie auf der Seite **Domains** die Domain aus, für die Sie das automatische Mounting von Amazon EFS deaktivieren möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Domaineinstellungen** aus. 

1.  Navigieren Sie zum Abschnitt **Speicherkonfigurationen**. 

1.  Wählen Sie **Bearbeiten** aus. 

1.  Deaktivieren Sie auf der Seite **Speichereinstellungen bearbeiten** die Option **EFS-Speicher und -Daten automatisch mounten**. 

1.  Wählen Sie **Absenden** aus.

### AWS CLI
<a name="studio-updated-automount-optout-domain-existing-cli"></a>

 Verwenden Sie den folgenden Befehl, um das automatische Mounting von Amazon EFS während der Aktualisierung einer bestehenden Domain mithilfe der AWS CLI zu deaktivieren. 

```
aws --region region sagemaker update-domain \
--domain-id domain-id \
--default-user-settings "AutoMountHomeEFS=Disabled"
```

## Deaktivieren während der Erstellung des Benutzerprofils
<a name="studio-updated-automount-optout-user-creation"></a>

 Sie können das automatische Mounting von Amazon EFS deaktivieren, wenn Sie ein Benutzerprofil entweder über die Konsole oder die AWS CLI erstellen. 

### Konsole
<a name="studio-updated-automount-optout-user-creation-console"></a>

 Gehen Sie wie folgt vor, um das automatische Mounting von Amazon EFS zu deaktivieren, wenn Sie ein Benutzerprofil über die Konsole erstellen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Führen Sie die Schritte unter [Benutzerprofil hinzufügen](domain-user-profile-add.md) mit der folgenden Änderung durch, um ein Benutzerprofil einzurichten. 
   +  Deaktivieren Sie im Schritt **Daten und Speicher** die Option **Einstellungen von Domain übernehmen**. Dadurch kann der Benutzer einen anderen Wert als die Standardeinstellungen verwenden, die für die Domain festgelegt sind.  
   +  Deaktivieren Sie die Option **EFS-Speicher und -Daten automatisch mounten**. 

### AWS CLI
<a name="studio-updated-automount-optout-user-creation-cli"></a>

 Verwenden Sie den folgenden Befehl, um das automatische Mounting von Amazon EFS während der Erstellung des Benutzerprofils mithilfe der AWS CLI zu deaktivieren. Weitere Informationen zum Erstellen eines Benutzerprofils mit dem AWS CLI finden Sie unter[Benutzerprofil hinzufügen](domain-user-profile-add.md).

```
aws --region region sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name "user-profile-$(date +%s)" \
--user-settings "ExecutionRole=arn:aws:iam::account-id:role/execution-role-name,AutoMountHomeEFS=Enabled/Disabled/DefaultAsDomain"
```

## Deaktivieren für ein vorhandenes Benutzerprofil
<a name="studio-updated-automount-optout-user-existing"></a>

 Sie können das automatische Mounting von Amazon EFS für ein bestehendes Benutzerprofil über die Konsole oder die AWS CLI deaktivieren. 

### Konsole
<a name="studio-updated-automount-optout-user-existing-console"></a>

 Gehen Sie wie folgt vor, um das automatische Mounting von Amazon EFS zu deaktivieren, wenn Sie ein Benutzerprofil über die Konsole aktualisieren. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Wählen Sie im linken Navigationsbereich unter **Admin-Konfigurationen** die Option **Domains** aus. 

1.  Wählen Sie auf der Seite **Domains** die Domain mit dem Benutzerprofil aus, für die Sie das automatische Mounting von Amazon EFS deaktivieren möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus. 

1.  Wählen Sie das zu aktualisierende Benutzerprofil aus. 

1.  Navigieren Sie auf der Registerkarte **Benutzerdetails** zum Abschnitt **AutoMountHomeEFS**. 

1.  Wählen Sie **Bearbeiten** aus. 

1.  Deaktivieren Sie auf der Seite **Speichereinstellungen bearbeiten** die Option **Einstellungen von Domain übernehmen**. Dadurch kann der Benutzer einen anderen Wert als die Standardeinstellungen verwenden, die für die Domain festgelegt sind.  

1.  Deaktivieren Sie die Option **EFS-Speicher und -Daten automatisch mounten**. 

1.  Wählen Sie **Absenden** aus. 

### AWS CLI
<a name="studio-updated-automount-optout-user-existing-cli"></a>

 Verwenden Sie den folgenden Befehl, um das automatische Mounting von Amazon EFS zu deaktivieren und gleichzeitig ein vorhandenes Benutzerprofil mithilfe der AWS CLI zu aktualisieren. 

```
aws --region region sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings "AutoMountHomeEFS=DefaultAsDomain"
```

# Herunterfahren im Leerlauf
<a name="studio-updated-idle-shutdown"></a>

Amazon SageMaker AI unterstützt das Herunterfahren ungenutzter Ressourcen, um Kosten zu verwalten und Kostenüberschreitungen aufgrund von Kosten zu vermeiden, die durch ungenutzte, abrechnungsfähige Ressourcen entstehen. Dies wird erreicht, indem der Leerlaufzustand einer App erkannt und die App heruntergefahren wird, wenn die Kriterien für den Leerlaufzustand erfüllt sind. 

SageMaker AI unterstützt das Herunterfahren im Leerlauf für die folgenden Anwendungen. Das Herunterfahren im Leerlauf muss für jeden Anwendungstyp unabhängig eingestellt werden. 
+  JupyterLab 
+  Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source 

 Das Herunterfahren im Leerlauf kann entweder auf Domain- oder Benutzerprofilebene festgelegt werden. Wenn das Herunterfahren im Leerlauf auf Domainebene festgelegt ist, gelten die Einstellungen für das Herunterfahren im Leerlauf für alle in der Domain erstellten Anwendungen. Wenn die Einstellungen für das Herunterfahren im Leerlauf auf Benutzerprofilebene festgelegt sind, gelten sie nur für die spezifischen Benutzer, für die sie festgelegt sind. Benutzerprofileinstellungen überschreiben die Einstellungen auf Domainebene.  

**Anmerkung**  
Für das Herunterfahren im Leerlauf muss das Image von `SageMaker-distribution` (SMD) mit Version 2.0 oder neuer verwendet werden. Domains mit einer älteren SMD-Version können das Feature nicht verwenden. Diese Benutzer müssen stattdessen ein LCC verwenden, um das automatische Herunterfahren zu verwalten. 

## Definition von Leerlauf
<a name="studio-updated-idle-shutdown-definition"></a>

 Die Einstellungen für das Herunterfahren im Leerlauf gelten nur, wenn die Anwendung inaktiv ist und keine Aufträge ausgeführt werden. SageMaker KI startet das Timing für das Herunterfahren im Leerlauf erst, wenn die Instance inaktiv wird. Die Definition von Idle unterscheidet sich je nachdem, ob es sich bei dem Anwendungstyp um einen Code Editor handeltJupyterLab . 

 Bei JupyterLab Anwendungen gilt die Instanz als inaktiv, wenn die folgenden Bedingungen erfüllt sind: 
+  Keine aktiven Jupyter-Kernelsitzungen 
+  Keine aktiven Jupyter-Terminalsitzungen 

 Für Code-Editor-Anwendungen gilt die Instance als inaktiv, wenn die folgenden Bedingungen erfüllt sind: 
+  Keine Änderungen an Textdateien oder Notebooks 
+  Es werden keine Dateien angezeigt 
+  Keine Interaktion mit dem Terminal

# Einrichten des Herunterfahrens im Leerlauf
<a name="studio-updated-idle-shutdown-setup"></a>

 In den folgenden Abschnitten wird gezeigt, wie Sie das Herunterfahren im Leerlauf entweder über die Konsole oder über die AWS CLI einrichten. Das Herunterfahren im Leerlauf kann entweder auf Domain- oder Benutzerprofilebene festgelegt werden. 

## Voraussetzungen
<a name="studio-updated-idle-shutdown-setup-prereq"></a>

 Um das Herunterfahren im Leerlauf mit Ihrer Anwendung zu verwenden, müssen Sie die folgenden Voraussetzungen erfüllen. 
+ Stellen Sie sicher, dass Ihre Anwendung die SageMaker Distribution (SMD) Version 2.0 verwendet. Sie können diese Version bei der Erstellung der Anwendung auswählen oder die Image-Version der Anwendung nach der Erstellung aktualisieren. Weitere Informationen finden Sie unter [Aktualisieren Sie das SageMaker Vertriebsimage](studio-updated-jl-update-distribution-image.md). 
+ Bei Anwendungen, die mit benutzerdefinierten Images erstellt wurden, wird das Herunterfahren im Leerlauf unterstützt, wenn Ihr benutzerdefiniertes Image mit SageMaker Distribution (SMD) Version 2.0 oder höher als Basisimage erstellt wurde. Wenn das benutzerdefinierte Image mit einem anderen Basis-Image erstellt wird, müssen Sie die Erweiterung [jupyter-activity-monitor-extension >= 0.3.1](https://anaconda.org/conda-forge/jupyter-activity-monitor-extension) auf dem Image installieren und das Image an Ihre Amazon SageMaker AI-Domain für JupyterLab Anwendungen anhängen. Weitere Informationen zu benutzerdefinierten Images finden Sie unter [Bring Your Own Image (BYOI)](studio-updated-byoi.md).

## Über die Konsole
<a name="studio-updated-idle-shutdown-setup-console"></a>

 In den folgenden Abschnitten wird gezeigt, wie Sie das Herunterfahren im Leerlauf über die Konsole aktivieren. 

### Hinzufügen, wenn Sie eine Domain erstellen
<a name="studio-updated-idle-shutdown-setup-console-new-domain"></a>

1. Erstellen Sie eine Domain, indem Sie die Schritte unter [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md) ausführen. 

1.  Navigieren Sie bei der Konfiguration der Anwendungseinstellungen in der Domain entweder zum Code-Editor oder JupyterLab zum Abschnitt.  

1.  Wählen Sie **Herunterfahren im Leerlauf aktivieren** aus. 

1.  Geben Sie eine Standardzeit für das Herunterfahren im Leerlauf in Minuten ein. Dieser Wert ist standardmäßig auf `10,080` eingestellt, wenn kein Wert eingegeben wird. 

1.  (Optional) Wählen Sie **Benutzern erlauben, eine benutzerdefinierte Zeit für das Herunterfahren im Leerlauf festzulegen**, damit Benutzer die Zeit für das Herunterfahren im Leerlauf ändern können. 
   +  Geben Sie einen Höchstwert ein, auf den Benutzer die Standardzeit für das Herunterfahren des Leerlaufs festlegen können. Sie müssen einen Höchstwert eingeben. Der Mindestwert wird von Amazon SageMaker AI festgelegt und muss sein`60`. 

### Hinzufügen zu einer vorhandenen Domain
<a name="studio-updated-idle-shutdown-setup-console-existing-domain"></a>

**Anmerkung**  
Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

1.  Navigieren Sie zur Domain. 

1.  Wechseln Sie zur Registerkarte **App-Konfiguration**. 

1.  Navigieren Sie auf der Registerkarte **App-Konfigurationen** entweder zum Code-Editor oder zum JupyterLab Abschnitt. 

1.  Wählen Sie **Bearbeiten** aus. 

1.  Wählen Sie **Herunterfahren im Leerlauf aktivieren** aus. 

1.  Geben Sie eine Standardzeit für das Herunterfahren im Leerlauf in Minuten ein. Dieser Wert ist standardmäßig auf `10,080` eingestellt, wenn kein Wert eingegeben wird. 

1.  (Optional) Wählen Sie **Benutzern erlauben, eine benutzerdefinierte Zeit für das Herunterfahren im Leerlauf festzulegen**, damit Benutzer die Zeit für das Herunterfahren im Leerlauf ändern können. 
   +  Geben Sie einen Höchstwert ein, auf den Benutzer die Standardzeit für das Herunterfahren des Leerlaufs festlegen können. Sie müssen einen Höchstwert eingeben. Der Mindestwert wird von Amazon SageMaker AI festgelegt und muss sein`60`. 

1.  Wählen Sie **Absenden** aus. 

### Hinzufügen, wenn Sie ein neues Benutzerprofil erstellen
<a name="studio-updated-idle-shutdown-setup-console-new-userprofile"></a>

1. Fügen Sie ein Benutzerprofil hinzu, indem Sie den Schritten unter [Benutzerprofil hinzufügen](domain-user-profile-add.md) folgen. 

1.  Navigieren Sie bei der Konfiguration der Anwendungseinstellungen für das Benutzerprofil entweder zum Code-Editor oder zum JupyterLab Abschnitt. 

1.  Wählen Sie **Herunterfahren im Leerlauf aktivieren** aus. 

1.  Geben Sie eine Standardzeit für das Herunterfahren im Leerlauf in Minuten ein. Dieser Wert ist standardmäßig auf `10,080` eingestellt, wenn kein Wert eingegeben wird. 

1.  (Optional) Wählen Sie **Benutzern erlauben, eine benutzerdefinierte Zeit für das Herunterfahren im Leerlauf festzulegen**, damit Benutzer die Zeit für das Herunterfahren im Leerlauf ändern können. 
   +  Geben Sie einen Höchstwert ein, auf den Benutzer die Standardzeit für das Herunterfahren des Leerlaufs festlegen können. Sie müssen einen Höchstwert eingeben. Der Mindestwert wird von Amazon SageMaker AI festgelegt und muss sein`60`. 

1.  Wählen Sie „Änderungen speichern“ aus. 

### Hinzufügen zu einem vorhandenen Benutzerprofil
<a name="studio-updated-idle-shutdown-setup-console-existing-userprofile"></a>

 Hinweis: Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

1.  Navigieren Sie zum Benutzerprofil. 

1.  Wechseln Sie zur Registerkarte **App-Konfiguration**. 

1.  Navigieren Sie auf der Registerkarte ****App-Konfigurationen**** entweder zum Code-Editor oder zum JupyterLab Abschnitt.  

1.  Wählen Sie **Bearbeiten** aus. 

1.  In den Einstellungen für das Herunterfahren im Leerlauf werden standardmäßig die Domaineinstellungen angezeigt, sofern sie für die Domain konfiguriert sind. 

1.  Wählen Sie **Herunterfahren im Leerlauf aktivieren** aus. 

1.  Geben Sie eine Standardzeit für das Herunterfahren im Leerlauf in Minuten ein. Dieser Wert ist standardmäßig auf `10,080` eingestellt, wenn kein Wert eingegeben wird. 

1.  (Optional) Wählen Sie **Benutzern erlauben, eine benutzerdefinierte Zeit für das Herunterfahren im Leerlauf festzulegen**, damit Benutzer die Zeit für das Herunterfahren im Leerlauf ändern können. 
   +  Geben Sie einen Höchstwert ein, auf den Benutzer die Standardzeit für das Herunterfahren des Leerlaufs festlegen können. Sie müssen einen Höchstwert eingeben. Der Mindestwert wird von Amazon SageMaker AI festgelegt und muss sein`60`. 

1.  Wählen Sie **Änderungen speichern** aus. 

## Aus dem AWS CLI
<a name="studio-updated-idle-shutdown-setup-cli"></a>

 In den folgenden Abschnitten wird gezeigt, wie Sie das Herunterfahren im Leerlauf mithilfe der AWS CLI aktivieren. 

**Anmerkung**  
Um einen bestimmten Timeout-Wert für zu erzwingen AWS CLI, müssen Sie `IdleTimeoutInMinutes``MaxIdleTimeoutInMinutes`, und `MinIdleTimeoutInMinutes` auf denselben Wert setzen.

### Domain
<a name="studio-updated-idle-shutdown-setup-cli-domain"></a>

 Der folgende Befehl zeigt, wie das Herunterfahren im Leerlauf aktiviert wird, wenn eine bestehende Domain aktualisiert wird. Verwenden Sie stattdessen den `create-domain`-Befehl, um das Herunterfahren im Leerlauf für eine neue Domain hinzuzufügen. 

**Anmerkung**  
Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

```
aws sagemaker update-domain --region region --domain-id domain-id \
--default-user-settings file://default-user-settings.json

## default-user-settings.json example for enforcing the default timeout
{
    "JupyterLabAppSettings": {
        "AppLifecycleManagement": {
            "IdleSettings": {
                "LifecycleManagement": "ENABLED",
                "IdleTimeoutInMinutes": 120,
                "MaxIdleTimeoutInMinutes": 120,
                "MinIdleTimeoutInMinutes": 120
        }
    }
}

## default-user-settings.json example for letting users customize the default timeout, between 2-5 hours
{
    "JupyterLabAppSettings": {
        "AppLifecycleManagement": {
            "IdleSettings": {
                "LifecycleManagement": "ENABLED",
                "IdleTimeoutInMinutes": 120,
                "MinIdleTimeoutInMinutes": 120,
                "MaxIdleTimeoutInMinutes": 300
        }
    }
}
```

### Benutzerprofil
<a name="studio-updated-idle-shutdown-setup-cli-userprofile"></a>

 Der folgende Befehl zeigt, wie das Herunterfahren im Leerlauf aktiviert wird, wenn ein bestehendes Benutzerprofil aktualisiert wird. Verwenden Sie stattdessen den `create-user-profile`-Befehl, um das Herunterfahren im Leerlauf für ein neues Benutzerprofil hinzuzufügen. 

**Anmerkung**  
Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

```
aws sagemaker update-user-profile --region region --domain-id domain-id \
--user-profile-name user-profile-name --user-settings file://user-settings.json

## user-settings.json example for enforcing the default timeout
{
    "JupyterLabAppSettings": {
        "AppLifecycleManagement": {
            "IdleSettings": {
                "LifecycleManagement": "ENABLED",
                "IdleTimeoutInMinutes": 120,
                "MaxIdleTimeoutInMinutes": 120,
                "MinIdleTimeoutInMinutes": 120
        }
    }
}

## user-settings.json example for letting users customize the default timeout, between 2-5 hours
{
    "JupyterLabAppSettings": {
        "AppLifecycleManagement": {
            "IdleSettings": {
                "LifecycleManagement": "ENABLED",
                "IdleTimeoutInMinutes": 120,
                "MinIdleTimeoutInMinutes": 120,
                "MaxIdleTimeoutInMinutes": 300
        }
    }
}
```

# Aktualisieren der Standardeinstellungen für das Herunterfahren im Leerlauf
<a name="studio-updated-idle-shutdown-update"></a>

 Sie können die Standardeinstellungen für das Herunterfahren im Leerlauf entweder auf Domain- oder Benutzerprofilebene aktualisieren. 

**Anmerkung**  
Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

## Aktualisieren von Domaineinstellungen
<a name="studio-updated-idle-shutdown-update-domain"></a>

1.  Navigieren Sie zur Domain. 

1.  Wechseln Sie zur Registerkarte **App-Konfiguration**. 

1.  Navigieren Sie auf der Registerkarte **App-Konfigurationen** entweder zum Code-Editor oder zum JupyterLab Abschnitt.  

1.  Wählen Sie im Abschnitt für die Anwendung, für die Sie das Zeitlimit für das Herunterfahren im Leerlauf ändern möchten, die Option **Bearbeiten** aus. 

1.  Aktualisieren Sie die Einstellungen für das Herunterfahren im Leerlauf für die Domain. 

1.  Wählen Sie **Änderungen speichern** aus. 

## Aktualisieren der Benutzerprofileinstellungen
<a name="studio-updated-idle-shutdown-update-userprofile"></a>

1.  Navigieren Sie zur Domain. 

1.  Wählen Sie die Registerkarte **Benutzerprofile** aus. 

1.  Wählen Sie auf der Registerkarte **Benutzerprofile** das Benutzerprofil aus, das Sie bearbeiten möchten. 

1.  Wählen Sie auf der Seite **Benutzerprofil** die Registerkarte **Anwendungen** aus. 

1.  Navigieren Sie auf der Registerkarte **Anwendungen** entweder zum Code-Editor oder zum JupyterLab Abschnitt.  

1.  Wählen Sie im Abschnitt für die Anwendung, für die Sie das Zeitlimit für das Herunterfahren im Leerlauf ändern möchten, die Option **Bearbeiten** aus. 

1.  Aktualisieren Sie die Einstellungen für das Herunterfahren im Leerlauf für das Benutzerprofil. 

1.  Wählen Sie **Änderungen speichern** aus. 

# Ändern des Zeitlimits für das Herunterfahren im Leerlauf
<a name="studio-updated-idle-shutdown-modify"></a>

 Benutzer können das Zeitlimit für das Herunterfahren im Leerlauf möglicherweise ändern, wenn der Administrator beim Hinzufügen von Unterstützung für das Herunterfahren im Leerlauf Zugriff gewährt. Wenn Unterstützung für das Herunterfahren im Leerlauf hinzugefügt wird, kann es sein, dass die maximale Zeit für das Herunterfahren im Leerlauf begrenzt wird. Ein Benutzer kann den Wert irgendwo zwischen dem unteren und dem oberen Grenzwert festlegen. 

1.  Starten Sie Amazon SageMaker Studio, indem Sie den Schritten unter folgen[Starten Sie Amazon SageMaker Studio](studio-updated-launch.md). 

1.  Wählen Sie im Abschnitt **Anwendungen** den Anwendungstyp aus, für den die Zeit zum Herunterfahren im Leerlauf aktualisiert werden soll. 

1.  Wählen Sie den Bereich aus, der aktualisiert werden soll. 

1.  Aktualisieren Sie **Herunterfahren im Leerlauf (Minuten)** mit dem gewünschten Wert. 
**Anmerkung**  
Wenn während der Ausführung von Anwendungen das Herunterfahren im Leerlauf aktiviert ist, müssen sie neu gestartet werden, damit die Einstellungen für das Herunterfahren im Leerlauf wirksam werden. 

# In Amazon SageMaker Studio unterstützte Anwendungen
<a name="studio-updated-apps"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

 Amazon SageMaker Studio unterstützt die folgenden Anwendungen: 
+  **Der auf Code-OSS basierende Code Editor Visual Studio Code – Open Source**: Code Editor bietet eine schlanke und leistungsstarke integrierte Entwicklungsumgebung (IDE) mit vertrauten Tastenkombinationen, Terminal, erweiterten Debugging-Funktionen und Refactoring-Tools. Es handelt sich um eine vollständig verwaltete, browserbasierte Anwendung in Studio. Weitere Informationen finden Sie unter [Code-Editor in Amazon SageMaker Studio](code-editor.md). 
+  **Amazon SageMaker Studio Classic** — Amazon SageMaker Studio Classic ist eine webbasierte IDE für maschinelles Lernen. Studio Classic ermöglicht das Erstellen, Trainieren, Debuggen, Bereitstellen und Überwachen Ihrer Machine-Learning-Modelle. Weitere Informationen finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md). 
+  **JupyterLab**— JupyterLab bietet eine Reihe von Funktionen, die das Angebot an vollständig verwalteten Notebooks erweitern. Es umfasst Kernel, die innerhalb von Sekunden starten, eine vorkonfigurierte Laufzeitumgebung mit gängigen Datenwissenschafts- und Machine-Learning-Frameworks sowie einen leistungsstarken Blockspeicher. Weitere Informationen finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md). 
+  **Amazon SageMaker Canvas** — Mit SageMaker Canvas können Sie maschinelles Lernen nutzen, um Vorhersagen zu generieren, ohne Code schreiben zu müssen. Mit Canvas können Sie mit beliebten großen Sprachmodellen (LLMs) chatten, auf ready-to-use Modelle zugreifen oder ein benutzerdefiniertes Modell erstellen, das auf Ihren Daten trainiert wird. Weitere Informationen finden Sie unter [Amazon SageMaker Leinwand](canvas.md). 
+  **RStudio**— RStudio ist eine integrierte Entwicklungsumgebung für R. Sie beinhaltet eine Konsole und einen Syntaxhervorhebungseditor, der die direkte Ausführung von Code unterstützt. Sie enthält außerdem Tools für Plotten, Verlauf, Debugging und Workspace-Management. Weitere Informationen finden Sie unter [RStudio auf Amazon SageMaker AI](rstudio.md). 

# Connect Sie Ihre Remote-IDE mit SageMaker Räumen mit Fernzugriff
<a name="remote-access"></a>

Sie können von Ihrer Remote IDE aus eine Remoteverbindung zu Amazon SageMaker Studio Spaces herstellen. Sie können Ihr benutzerdefiniertes lokales IDE-Setup, einschließlich KI-gestützter Entwicklungstools und benutzerdefinierter Erweiterungen, mit den skalierbaren Rechenressourcen in Amazon SageMaker AI verwenden. Dieses Handbuch enthält Konzepte und Anleitungen zur Einrichtung für Administratoren und Benutzer.

Eine Remote-IDE-Verbindung stellt eine sichere Verbindung zwischen Ihrer lokalen IDE und SageMaker Spaces her. Mit dieser Verbindung können Sie:
+ **Zugriff auf SageMaker KI-Rechenressourcen** — Führen Sie Code in Ihrer lokalen Umgebung auf einer skalierbaren SageMaker KI-Infrastruktur aus
+ **Halten Sie Sicherheitsgrenzen** ein — Arbeiten Sie innerhalb desselben Sicherheitsrahmens wie SageMaker KI
+ **Behalten Sie Ihre gewohnte IDE-Erfahrung** bei — Verwenden Sie kompatible lokale Erweiterungen, Designs und Konfigurationen, die die Remote-Entwicklung unterstützen

**Anmerkung**  
Nicht alle IDE-Erweiterungen sind mit der Remote-Entwicklung kompatibel. Erweiterungen, die lokale GUI-Komponenten erfordern, Architektur-Abhängigkeiten aufweisen oder spezifische Client-Server-Interaktionen benötigen, funktionieren in der Remote-Umgebung möglicherweise nicht ordnungsgemäß. Stellen Sie vor der Verwendung sicher, dass Ihre benötigten Erweiterungen die Fernentwicklung unterstützen.

**Topics**
+ [Die wichtigsten Konzepte](#remote-access-key-concepts)
+ [Verbindungsmethoden](#remote-access-connection-methods)
+ [Unterstützt IDEs](#remote-access-supported-ides)
+ [Anforderungen an die IDE-Version](#remote-access-ide-version-requirements)
+ [Anforderungen an Betriebssysteme](#remote-access-os-requirements)
+ [Voraussetzungen für den lokalen Computer](#remote-access-local-prerequisites)
+ [Anforderungen an Images](#remote-access-image-requirements)
+ [Instance-Anforderungen](#remote-access-instance-requirements)
+ [Einrichten des Remotezugriffs](remote-access-remote-setup.md)
+ [Richten Sie Remote IDE ein](remote-access-local-ide-setup.md)
+ [Unterstützte AWS Regionen](remote-access-supported-regions.md)

## Die wichtigsten Konzepte
<a name="remote-access-key-concepts"></a>
+ **Fernverbindung** — Ein sicherer Tunnel zwischen Ihrer Remote-IDE und einem SageMaker Space. Diese Verbindung ermöglicht interaktive Entwicklung und Codeausführung mithilfe von SageMaker KI-Rechenressourcen.
+ [https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-spaces.html](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-spaces.html) — Eine spezielle Umgebung innerhalb von Amazon SageMaker Studio, in der Sie Ihren Speicher und Ihre Ressourcen für Ihre Studio-Anwendungen verwalten können.
+ **Deep Link** — Eine Schaltfläche (direkte URL) von der SageMaker Benutzeroberfläche aus, die eine Remote-Verbindung zu Ihrer lokalen IDE herstellt.

## Verbindungsmethoden
<a name="remote-access-connection-methods"></a>

Es gibt drei Hauptmethoden, um Ihre Remote-IDE mit SageMaker Spaces zu verbinden:
+ **Deep-Link-Zugriff** — Sie können eine direkte Verbindung zu einem bestimmten Bereich herstellen, indem Sie die in SageMaker AI verfügbare Schaltfläche „**Space öffnen mit**“ verwenden. Dabei werden URL-Muster verwendet, um eine Fernverbindung herzustellen und Ihren SageMaker Bereich in Ihrer Remote-IDE zu öffnen.
+ [https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html): Sie können sich mit AWS Toolkit for Visual Studio Code authentifizieren. Auf diese Weise können Sie von Ihrer Remote-IDE aus eine Verbindung zu Spaces herstellen und ein per Fernzugriff verbundenes Fenster öffnen.
+ **SSH-Terminalverbindung**: Sie können mithilfe der SSH-Konfiguration eine Verbindung über die Befehlszeile herstellen.

## Unterstützt IDEs
<a name="remote-access-supported-ides"></a>

Die Remoteverbindung zu Studio-Bereichen unterstützt:
+ [Visual Studio Code](https://code.visualstudio.com/)
+ [Kiro](https://kiro.dev/)
+ [Mauszeiger](https://cursor.com/home)

## Anforderungen an die IDE-Version
<a name="remote-access-ide-version-requirements"></a>

In der folgenden Tabelle sind die Mindestversionsanforderungen für jede unterstützte Remote-IDE aufgeführt.


| IDE | Mindestversion | 
| --- | --- | 
|  Visual Studio Code  |  [v1.90](https://code.visualstudio.com/updates/v1_90) oder höher. Wir empfehlen die Verwendung der [neuesten stabilen Version](https://code.visualstudio.com/updates).  | 
|  Kiro  |  v0.10.78 oder höher  | 
|  Cursor  |  v2.6.18 oder höher  | 

Die AWS Toolkit-Erweiterung ist erforderlich, um Ihre Remote IDE mit Studio Spaces zu verbinden. Für Kiro und Cursor ist die AWS Toolkit-Erweiterungsversion v3.100 oder höher erforderlich.

## Anforderungen an Betriebssysteme
<a name="remote-access-os-requirements"></a>

Sie benötigen eines der folgenden Betriebssysteme, um eine Remoteverbindung zu Studio-Bereichen herzustellen:
+ macOS 13\$1
+ Windows 10
  + [Die Unterstützung für Windows 10 endet am 14. Oktober 2025](https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281)
+ Windows 11
+ Linux
  + Installieren Sie für VS Code den offiziellen [Microsoft VS Code für Linux](https://code.visualstudio.com/docs/setup/linux), keine Open-Source-Version

## Voraussetzungen für den lokalen Computer
<a name="remote-access-local-prerequisites"></a>

Bevor Sie Ihre Remote-IDE mit Studio Spaces verbinden, stellen Sie sicher, dass Ihr lokaler Computer über die erforderlichen Abhängigkeiten und den erforderlichen Netzwerkzugriff verfügt.

**Wichtig**  
Umgebungen mit Einschränkungen bei der Softwareinstallation können Benutzer daran hindern, die erforderlichen Abhängigkeiten zu installieren. Der sucht beim Initiieren von Remoteverbindungen AWS Toolkit for Visual Studio Code automatisch nach diesen Abhängigkeiten und fordert Sie zur Installation auf, falls keine vorhanden sind. Stimmen Sie sich mit Ihrer IT-Abteilung ab, um sicherzustellen, dass diese Komponenten verfügbar sind.

**Erforderliche lokale Abhängigkeiten**

Auf Ihrem lokalen Computer müssen die folgenden Komponenten installiert sein:
+ **[Remote-SSH-Erweiterung](https://code.visualstudio.com/docs/remote/ssh)** — Remote-Entwicklungserweiterung für Ihre IDE (im Erweiterungs-Marketplace für VS Code, Kiro und Cursor erhältlich)
+ **[Session Manager-Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)** — Erforderlich für sicheres Sitzungsmanagement
+ **SSH-Client** — Standardkomponente auf den meisten Maschinen ([OpenSSH wird für Windows empfohlen](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse))
+ **IDE-CLI-Befehl** — Normalerweise in der IDE-Installation enthalten (z. B. `code` für VS Code, `kiro` für Kiro, `cursor` für Cursor)

**Plattformspezifische Anforderungen**
+ **Windows-Benutzer** — PowerShell 5.1 oder höher ist für SSH-Terminalverbindungen erforderlich

**Anforderungen an die Netzwerkkonnektivität**

Ihr lokaler Computer muss Netzwerkzugriff auf die [Session Manager-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/ssm.html) haben. In USA Ost (Nord-Virginia) (us-east-1) können dies beispielsweise sein:
+ ssm.us-east-1.amazonaws.com
+ ssm.us-east-1.api.aws
+ ssmmessages.us-east-1.amazonaws.com
+ ec2messages.us-east-1.amazonaws.com

## Anforderungen an Images
<a name="remote-access-image-requirements"></a>

**SageMaker Bilder verteilen**

Wenn Sie SageMaker Distribution mit Fernzugriff verwenden, verwenden Sie [SageMaker Distribution](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-distribution.html) Version 2.7 oder höher.

**Benutzerdefinierte Bilder**

Wenn Sie [Bring Your Own Image (BYOI)](studio-updated-byoi.md) über Fernzugriff verfügen, stellen Sie sicher, dass Sie die [Spezifikationen für benutzerdefinierte Images](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-byoi-specs.html) einhalten und dass die folgenden Abhängigkeiten installiert sind:
+ `curl`oder `wget` — Erforderlich für das Herunterladen von AWS CLI Komponenten
+ `unzip`— Erforderlich für das Extrahieren von AWS CLI Installationsdateien
+ `tar`— Für das Extrahieren von Archiven erforderlich
+ `gzip`— Erforderlich für die Handhabung komprimierter Dateien

## Instance-Anforderungen
<a name="remote-access-instance-requirements"></a>
+ **Arbeitsspeicher**: 8 GB oder mehr
+ **Instance-Typen**: Verwenden Sie Instances mit mindestens 8 GB Arbeitsspeicher. Die folgenden Instance-Typen werden aufgrund unzureichenden Speichers (weniger als 8 GB) *nicht* unterstützt: `ml.t3.medium`, `ml.c7i.large`, `ml.c6i.large`, `ml.c6id.large` und `ml.c5.large`. Eine vollständigere Liste der Instance-Typen finden Sie auf der Seite [On-Demand-Preise für Amazon EC2](https://aws.amazon.com/ec2/pricing/on-demand/).

**Topics**
+ [Die wichtigsten Konzepte](#remote-access-key-concepts)
+ [Verbindungsmethoden](#remote-access-connection-methods)
+ [Unterstützt IDEs](#remote-access-supported-ides)
+ [Anforderungen an die IDE-Version](#remote-access-ide-version-requirements)
+ [Anforderungen an Betriebssysteme](#remote-access-os-requirements)
+ [Voraussetzungen für den lokalen Computer](#remote-access-local-prerequisites)
+ [Anforderungen an Images](#remote-access-image-requirements)
+ [Instance-Anforderungen](#remote-access-instance-requirements)
+ [Einrichten des Remotezugriffs](remote-access-remote-setup.md)
+ [Richten Sie Remote IDE ein](remote-access-local-ide-setup.md)
+ [Unterstützte AWS Regionen](remote-access-supported-regions.md)

# Einrichten des Remotezugriffs
<a name="remote-access-remote-setup"></a>

Bevor Benutzer ihre Remote-IDE mit Studio Spaces verbinden können, muss der Administrator Berechtigungen konfigurieren. Dieser Abschnitt enthält Anweisungen für Administratoren zur Einrichtung ihrer Amazon SageMaker AI-Domain mit Fernzugriff.

Verschiedene Verbindungsmethoden erfordern unterschiedliche IAM-Berechtigungen. Konfigurieren Sie die entsprechenden Berechtigungen – je nachdem, wie Ihre Benutzer eine Verbindung herstellen werden. Verwenden Sie den folgenden Workflow zusammen mit den Berechtigungen, die auf die Verbindungsmethode abgestimmt sind.

**Wichtig**  
Derzeit werden IDE-Remoteverbindungen mit IAM-Anmeldeinformationen authentifiziert, nicht mit IAM Identity Center. Dies gilt für Domains, die die [Authentifizierungsmethode](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-custom.html#onboard-custom-authentication-details) IAM Identity Center verwenden, damit Ihre Benutzer auf die Domain zugreifen. Wenn Sie die IAM-Authentifizierung für Remoteverbindungen lieber nicht verwenden, können Sie sich abmelden, indem Sie diese Funktion mithilfe des bedingten `RemoteAccess`-Schlüssels in Ihren IAM-Richtlinien deaktivieren. Weitere Informationen finden Sie unter [Durchsetzung des Remotezugriffs](remote-access-remote-setup-abac.md#remote-access-remote-setup-abac-remote-access-enforcement). Wenn Sie IAM-Anmeldeinformationen verwenden, können Remote-IDE-Verbindungen aktive Sitzungen aufrechterhalten, auch wenn Sie sich von Ihrer IAM Identity Center-Sitzung abmelden. Manchmal können diese Remote-IDE-Verbindungen bis zu 12 Stunden bestehen bleiben. Um die Sicherheit Ihrer Umgebung zu gewährleisten, müssen Administratoren nach Möglichkeit die Einstellungen für die Sitzungsdauer überprüfen und vorsichtig sein, wenn Sie gemeinsam genutzte Arbeitsstationen oder öffentliche Netzwerke verwenden.

1. Wählen Sie eine der folgenden Berechtigungen für Verbindungsmethoden aus, die auf die [Verbindungsmethoden](remote-access.md#remote-access-connection-methods) Ihrer Benutzer abgestimmt sind.

1. [Erstellen Sie eine benutzerdefinierte IAM-Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) auf der Grundlage der Verbindungsmethodenberechtigung.

**Topics**
+ [Schritt 1: Konfigurieren von Sicherheit und Berechtigungen](#remote-access-remote-setup-permissions)
+ [Schritt 2: Aktivieren des Remotezugriffs für Ihren Bereich](#remote-access-remote-setup-enable)
+ [Erweiterte Zugriffssteuerung](remote-access-remote-setup-abac.md)
+ [Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC](remote-access-remote-setup-vpc-subnets-without-internet-access.md)
+ [Richten Sie die automatische Speicherplatzfilterung in Studio ein, wenn Sie das AWS Toolkit verwenden](remote-access-remote-setup-filter.md)

## Schritt 1: Konfigurieren von Sicherheit und Berechtigungen
<a name="remote-access-remote-setup-permissions"></a>

**Topics**
+ [Methode 1: Deep-Link-Berechtigungen](#remote-access-remote-setup-method-1-deep-link-permissions)
+ [Methode 2: AWS Toolkit-Berechtigungen](#remote-access-remote-setup-method-2-aws-toolkit-permissions)
+ [Methode 3: SSH-Terminalberechtigungen](#remote-access-remote-setup-method-3-ssh-terminal-permissions)

**Wichtig**  
Die Verwendung umfassender Berechtigungen für`sagemaker:StartSession`, insbesondere mit einer Wildcard-Ressource, `*` birgt das Risiko, dass jeder Benutzer mit dieser Berechtigung eine Sitzung mit einer beliebigen SageMaker Space-App im Konto initiieren kann. Dies kann dazu führen, dass Datenwissenschaftler ungewollt auf die Spaces anderer Nutzer SageMaker zugreifen. In Produktionsumgebungen sollten Sie diese Berechtigungen auf bestimmte Bereiche beschränken, ARNs um das Prinzip der geringsten Rechte durchzusetzen. Beispiele [Erweiterte Zugriffssteuerung](remote-access-remote-setup-abac.md) für detailliertere Berechtigungsrichtlinien unter Verwendung von Ressourcen- ARNs, Tags- und netzwerkbasierten Einschränkungen finden Sie unter.

### Methode 1: Deep-Link-Berechtigungen
<a name="remote-access-remote-setup-method-1-deep-link-permissions"></a>

Verwenden Sie für Benutzer, die über Deeplinks von der SageMaker Benutzeroberfläche aus eine Verbindung herstellen, die folgende Berechtigung und fügen Sie sie Ihrer SageMaker [AI-Space-Ausführungsrolle](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role-space) oder [Domain-Ausführungsrolle](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role) hinzu. Wenn die Bereichsausführungsrolle nicht konfiguriert ist, wird standardmäßig die Domainausführungsrolle verwendet.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictStartSessionOnSpacesToUserProfile",
            "Effect": "Allow",
            "Action": [
                "sagemaker:StartSession"
            ],
            "Resource": "arn:*:sagemaker:*:*:space/${sagemaker:DomainId}/*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:ResourceTag/sagemaker:user-profile-arn": "arn:aws:sagemaker:*:*:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
                }
            }
        }
    ]
}
```

------

### Methode 2: AWS Toolkit-Berechtigungen
<a name="remote-access-remote-setup-method-2-aws-toolkit-permissions"></a>

Fügen Sie für Benutzer, die eine Verbindung über die AWS Toolkit for Visual Studio Code Erweiterung herstellen, die folgende Richtlinie einer der folgenden Richtlinien bei:
+ Fügen Sie für die IAM-Authentifizierung diese Richtlinie dem IAM-Benutzer oder der IAM-Rolle an.
+ Fügen Sie für die IdC-Authentifizierung diese Richtlinie den vom IdC verwalteten [Berechtigungssätzen](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) hinzu.

Informationen dazu, wie nur Leerzeichen angezeigt werden, die für den authentifizierten Benutzer relevant sind, finden Sie unter[Überblick über die Filterung](remote-access-remote-setup-filter.md#remote-access-remote-setup-filter-overview).

**Wichtig**  
Die folgende Richtlinie, die `*` als Ressourcenbeschränkung verwendet, wird nur für schnelle Testzwecke empfohlen. In Produktionsumgebungen sollten Sie diese Berechtigungen auf einen bestimmten Bereich beschränken, ARNs um das Prinzip der geringsten Rechte durchzusetzen. Beispiele [Erweiterte Zugriffssteuerung](remote-access-remote-setup-abac.md) für detailliertere Berechtigungsrichtlinien unter Verwendung von Ressourcen- ARNs, Tags- und netzwerkbasierten Einschränkungen finden Sie unter.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListSpaces",
                "sagemaker:DescribeSpace",
                "sagemaker:ListApps",
                "sagemaker:DescribeApp",
                "sagemaker:DescribeDomain",
                "sagemaker:UpdateSpace",
                "sagemaker:CreateApp",
                "sagemaker:DeleteApp",
                "sagemaker:AddTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowStartSessionOnSpaces",
            "Effect": "Allow",
            "Action": "sagemaker:StartSession",
            "Resource": [
                "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name-1",
                "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name-2"
            ]
        }
    ]
}
```

------

### Methode 3: SSH-Terminalberechtigungen
<a name="remote-access-remote-setup-method-3-ssh-terminal-permissions"></a>

Bei SSH-Terminalverbindungen wird die `StartSession` API mit dem unten stehenden SSH-Proxy-Befehlsskript unter Verwendung der lokalen Anmeldeinformationen aufgerufen. AWS Informationen und Anweisungen [AWS CLI zum Einrichten der](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) lokalen AWS Anmeldeinformationen des Benutzers finden Sie unter Konfiguration der. So nutzen Sie diese Berechtigungen:

1. Fügen Sie diese Richtlinie dem IAM-Benutzer oder der Rolle zu, die den lokalen AWS -Anmeldeinformationen zugeordnet ist.

1. Wenn Sie ein benanntes Anmeldeinformationsprofil verwenden, ändern Sie den Proxy-Befehl in Ihrer SSH-Konfiguration:

   ```
   ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
   ```
**Anmerkung**  
Die Richtlinie muss an die IAM-Identität (Benutzer/Rolle) angehängt werden, die in Ihrer Konfiguration der lokalen AWS Anmeldeinformationen verwendet wurde, nicht an die Amazon SageMaker AI-Domänenausführungsrolle.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowStartSessionOnSpecificSpaces",
               "Effect": "Allow",
               "Action": "sagemaker:StartSession",
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name-1",
                   "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name-2"
               ]
           }
       ]
   }
   ```

------

Nach der Einrichtung können Benutzer `ssh my_studio_space_abc` ausführen, um den Bereich zu starten. Weitere Informationen finden Sie unter [Methode 3: Herstellen einer Verbindung vom Terminal über SSH-CLI](remote-access-local-ide-setup.md#remote-access-local-ide-setup-local-vs-code-method-3-connect-from-the-terminal-via-ssh-cli).

## Schritt 2: Aktivieren des Remotezugriffs für Ihren Bereich
<a name="remote-access-remote-setup-enable"></a>

Nachdem Sie die Berechtigungen eingerichtet haben, müssen Sie **Remote Access** aktivieren und Ihren Bereich in Studio starten, bevor der Benutzer mit seiner Remote-IDE eine Verbindung herstellen kann. Diese Einrichtung muss nur einmal durchgeführt werden.

**Anmerkung**  
Wenn Ihre Benutzer eine Verbindung herstellen[Methode 2: AWS Toolkit-Berechtigungen](#remote-access-remote-setup-method-2-aws-toolkit-permissions), ist dieser Schritt nicht unbedingt erforderlich. AWS Toolkit for Visual Studio Benutzer können den Fernzugriff über das Toolkit aktivieren.

**Aktivieren des Remotezugriffs für Ihren Studio-Bereich**

1. [Starten Sie Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html#studio-updated-launch-console).

1. Öffnen Sie die Studio-Benutzeroberfläche.

1. Navigieren Sie zu Ihrem Bereich.

1. Wechseln Sie in den Bereichsdetails zur Option **Remotezugriff**.

1. Wählen Sie **Bereich ausführen** aus.

# Erweiterte Zugriffssteuerung
<a name="remote-access-remote-setup-abac"></a>

Amazon SageMaker AI unterstützt die [attributebasierte Zugriffskontrolle (ABAC), um mithilfe von ABAC-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) eine differenzierte Zugriffskontrolle für Remote-IDE-Verbindungen zu erreichen. Im Folgenden finden Sie Beispiele für ABAC-Richtlinien für Remote-IDE-Verbindungen.

**Topics**
+ [Durchsetzung des Remotezugriffs](#remote-access-remote-setup-abac-remote-access-enforcement)
+ [Tag-basierte Zugriffskontrolle](#remote-access-remote-setup-abac-tag-based-access-control)

## Durchsetzung des Remotezugriffs
<a name="remote-access-remote-setup-abac-remote-access-enforcement"></a>

Steuern Sie den Zugriff auf Ressourcen mithilfe des `sagemaker:RemoteAccess`-Bedingungsschlüssels. Dies wird sowohl von als auch `CreateSpace` unterstützt. `UpdateSpace` APIs Im folgenden Beispiel wird `CreateSpace` verwendet. 

Sie können sicherstellen, dass Benutzer keine Bereiche erstellen können, wenn der Remotezugriff aktiviert ist. Dies trägt zur Aufrechterhaltung der Sicherheit bei, indem standardmäßig die Einstellungen für eingeschränkteren Zugriff verwendet werden. Die folgende Richtlinie stellt sicher, dass Benutzer:
+ neue Studio-Bereiche erstellen können, in denen der Remotezugriff ausdrücklich deaktiviert ist.
+ neue Studio-Bereiche erstellen können, ohne Einstellungen für den Remotezugriff anzugeben.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyCreateSpaceRemoteAccessEnabled",
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateSpace",
                "sagemaker:UpdateSpace"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:RemoteAccess": [
                        "ENABLED"
                    ]
                }
            }
        },
        {
            "Sid": "AllowCreateSpace",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateSpace",
                "sagemaker:UpdateSpace"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*"
        }
    ]
}
```

------

## Tag-basierte Zugriffskontrolle
<a name="remote-access-remote-setup-abac-tag-based-access-control"></a>

Implementieren Sie eine [Tag-basierte](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html) Zugriffskontrolle, um Verbindungen auf der Grundlage von Ressourcen- und Prinzipal-Tags einzuschränken.

Sie können sicherstellen, dass Benutzer nur auf Ressourcen zugreifen können, die für ihre Rollen- und Projektzuweisungen geeignet sind. Sie können die folgende Richtlinie für Folgendes verwenden:
+ Erlauben Sie Benutzern, sich nur mit Bereichen zu verbinden, die ihrem zugewiesenen Team, ihrer Umgebung und ihrer Kostenstelle entsprechen.
+ Implementieren Sie differenzierte Zugriffskontrolle auf der Grundlage der Organisationsstruktur.

Im folgenden Beispiel wird der Bereich wie folgt gekennzeichnet:

```
{ "Team": "ML", "Environment": "Production", "CostCenter": "12345" }
```

Sie können über eine Rolle verfügen, die die folgende Richtlinie zum Abgleichen von Ressourcen- und Prinzipal-Tags enthält:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictStartSessionOnTaggedSpacesInDomain",
            "Effect": "Allow",
            "Action": [
                "sagemaker:StartSession"
            ],
            "Resource": [
                "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Team": "${aws:PrincipalTag/Team}",
                    "aws:ResourceTag/Environment": "${aws:PrincipalTag/Environment}",
                    "aws:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}",
                    "aws:ResourceTag/IDC_UserName": "${aws:PrincipalTag/IDC_UserName}"
                }
            }
        }
    ]
}
```

------

Wenn die Tags der Rolle übereinstimmen, ist der Benutzer berechtigt, die Sitzung zu starten und eine Remoteverbindung zu seinem Bereich herzustellen. Weitere Informationen finden Sie unter [Steuerung des Zugriffs auf AWS -Ressourcen mithilfe von Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).

# Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access"></a>

Diese Anleitung zeigt Ihnen, wie Sie von Ihrer Remote-IDE aus eine Verbindung zu Amazon SageMaker Studio-Bereichen herstellen, wenn Ihre Amazon SageMaker AI-Domain in privaten Subnetzen ohne Internetzugang läuft. Sie erfahren mehr über die Konnektivitätsanforderungen und Einrichtungsoptionen, um sichere Remoteverbindungen in isolierten Netzwerkumgebungen herzustellen.

Sie können Amazon SageMaker Studio so konfigurieren, dass es nur im VPC-Modus mit Subnetzen ohne Internetzugang läuft. Diese Einrichtung verbessert die Sicherheit Ihrer Machine-Learning-Workloads, indem sie in einer isolierten Netzwerkumgebung arbeitet, in der der gesamte Datenverkehr über die VPC fließt. Um externe Kommunikation zu ermöglichen und gleichzeitig die Sicherheit aufrechtzuerhalten, verwenden Sie VPC-Endpunkte für AWS Dienste und konfigurieren Sie VPC PrivateLink für die erforderlichen Abhängigkeiten. AWS 

**IDE-Unterstützung für private Subnetzverbindungen**

Die folgende Tabelle zeigt die unterstützten Verbindungsmethoden für jede Remote-IDE, wenn eine Verbindung zu Studio-Bereichen in privaten Subnetzen ohne Internetzugang hergestellt wird.


| Verbindungsmethode | VS Code | Kiro | Cursor | 
| --- | --- | --- | --- | 
|  HTTP-Proxy-Unterstützung  |  Unterstützt  |  Unterstützt  |  Nicht unterstützt  | 
|  Vorgefertigte Remoteserver und Erweiterungen  |  Unterstützt  |  Nicht unterstützt  |  Nicht unterstützt  | 

**Wichtig**  
Der Cursor wird für die Verbindung zu Studio-Bereichen in privaten Subnetzen ohne ausgehenden Internetzugang nicht unterstützt.

**Topics**
+ [Netzwerkanforderungen für den Remotezugriff in Studio](#remote-access-remote-setup-vpc-subnets-without-internet-access-network-requirements)
+ [Einrichten des Studio-Remotezugriffsnetzwerks](#remote-access-remote-setup-vpc-subnets-without-internet-access-setup)

## Netzwerkanforderungen für den Remotezugriff in Studio
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access-network-requirements"></a>

**Einschränkungen des VPC-Modus** Studio im VPC-Modus unterstützt nur private Subnetze. Studio kann nicht mit Subnetzen arbeiten, die direkt mit einem Internet-Gateway (IGW) verbunden sind. IDE-Remoteverbindungen haben dieselben Einschränkungen wie SageMaker KI. Weitere Informationen finden Sie unter [Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html).

### VPC-Anforderungen PrivateLink
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access-vpc-privatelink-requirements"></a>

Wenn SageMaker KI in privaten Subnetzen ausgeführt wird, konfigurieren Sie diese SSM-VPC-Endpunkte zusätzlich zu den Standard-VPC-Endpunkten, für die erforderlich sind. SageMaker Weitere Informationen finden Sie unter [Verbinden von Studio über einen VPC-Endpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-interface-endpoint.html).
+ `com.amazonaws.REGION.ssm`
+ `com.amazonaws.REGION.ssmmessages`

**Richtlinienempfehlungen für VPC-Endgeräte**

Im Folgenden finden Sie die empfohlenen VPC-Endpunktrichtlinien, die die erforderlichen Aktionen für den Fernzugriff ermöglichen und gleichzeitig die `aws:PrincipalIsAWSService` Bedingung verwenden, dass nur AWS Dienste wie Amazon SageMaker AI die Anrufe tätigen können. Weitere Informationen zum `aws:PrincipalIsAWSService` Bedingungsschlüssel finden Sie in [der Dokumentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalisawsservice).

**SSM-Endpunktrichtlinie**

Verwenden Sie die folgende Richtlinie für den `com.amazonaws.REGION.ssm` Endpunkt:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "ssm:CreateActivation",
                "ssm:RegisterManagedInstance",
                "ssm:DeleteActivation",
                "ssm:DeregisterManagedInstance",
                "ssm:AddTagsToResource",
                "ssm:UpdateInstanceInformation",
                "ssm:UpdateInstanceAssociationStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:ListInstanceAssociations",
                "ssm:ListAssociations",
                "ssm:GetDocument",
                "ssm:PutInventory"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:PrincipalIsAWSService": "true"
                }
            }
        }
    ]
}
```

**Endpunktrichtlinie für SSM-Nachrichten**

Verwenden Sie die folgende Richtlinie für den `com.amazonaws.REGION.ssmmessages` Endpunkt:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "ssmmessages:CreateControlChannel",
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenControlChannel",
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:PrincipalIsAWSService": "true"
                }
            }
        }
    ]
}
```

**Spezifische Netzwerkanforderungen für VS Code**

Die Remoteverbindung mit VS Code erfordert die Remote-Entwicklung mit VS Code, wofür ein bestimmter Netzwerkzugang erforderlich ist, um den Remoteserver und die Erweiterungen zu installieren. Vollständige Netzwerkanforderungen finden Sie in den [häufig gestellten Fragen zur Remote-Entwicklung](https://code.visualstudio.com/docs/remote/faq) in der Visual Studio Code-Dokumentation. Im Folgenden finden Sie eine Zusammenfassung der Anforderungen:
+ Für die Installation und Aktualisierung des VS-Code-Remoteservers ist der Zugriff auf die Server-Endpunkte von Microsoft VS Code erforderlich.
+ Für die Installation von VS Code-Erweiterungen über das Erweiterungsfenster ist der Zugriff auf den Visual Studio Marketplace und die zugehörigen CDN-Endpunkte erforderlich (alternativ können Erweiterungen auch manuell mithilfe von VSIX-Dateien ohne Internetverbindung installiert werden).
+ Einige Erweiterungen benötigen möglicherweise Zugriff auf zusätzliche Endpunkte, um ihre spezifischen Abhängigkeiten herunterzuladen. Die spezifischen Konnektivitätsanforderungen finden Sie in der Dokumentation der Erweiterung.

**Spezifische Netzwerkanforderungen für Kiro**

Für die Fernverbindung mit Kiro ist die Entwicklung per Fernzugriff erforderlich. Für die Installation des Remote-Servers und der Erweiterungen ist ein spezieller Netzwerkzugriff erforderlich. Informationen zur Konfiguration von Firewall und Proxyserver finden Sie unter Firewall-Konfiguration [von Kiro](https://kiro.dev/docs/privacy-and-security/firewalls/). Die Anforderungen ähneln denen von VS Code:
+ Für die Installation und Aktualisierung des Kiro-Remote-Servers ist Zugriff auf Kiro-Serverendpunkte erforderlich.
+ Für die Installation von Kiro-Erweiterungen über das Erweiterungspanel ist Zugriff auf den Extension Marketplace und die zugehörigen CDN-Endpunkte erforderlich.
+ Einige Erweiterungen benötigen möglicherweise Zugriff auf zusätzliche Endpunkte, um ihre spezifischen Abhängigkeiten herunterzuladen. Die spezifischen Konnektivitätsanforderungen finden Sie in der Dokumentation der Erweiterung.

## Einrichten des Studio-Remotezugriffsnetzwerks
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access-setup"></a>

Sie haben die folgenden Optionen, um Ihre Remote-IDE mit Studio-Bereichen in privaten Subnetzen zu verbinden:
+ HTTP-Proxy (unterstützt für VS Code und Kiro)
+ Vorgefertigte Remoteserver und Erweiterungen (nur VS Code)

### Einrichten eines HTTP-Proxys mit kontrollierter Zulassungsliste
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access-setup-http-proxy-with-controlled-allow-listing"></a>

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, erlauben Sie den Zugriff auf Ihren IDE-Server und Ihre Endpunkte im Zusammenhang mit Erweiterungen CDNs .

1. Richten Sie ein öffentliches Subnetz ein, um den HTTP-Proxy (z. B. Squid) auszuführen, in dem Sie konfigurieren können, welche Websites zugelassen werden sollen. Stellen Sie sicher, dass der HTTP-Proxy über Leerzeichen zugänglich ist. SageMaker 

1. Das öffentliche Subnetz kann sich in derselben VPC befinden, die vom Studio verwendet wird, oder in einer separaten VPC, die mit allen von Amazon VPCs verwendeten AI-Domänen per Peering verbunden ist. SageMaker 

### Richten Sie vorgefertigte Remoteserver und Erweiterungen ein (nur VS Code)
<a name="remote-access-remote-setup-vpc-subnets-without-internet-access-setup-pre-packaged-vs-code-remote-server-and-extensions"></a>

**Anmerkung**  
Diese Option ist nur für Visual Studio Code verfügbar. Kiro und Cursor unterstützen kein vorkonfiguriertes Remote-Server-Setup.

Wenn Ihre Studio-Bereiche keinen Zugriff auf externe Endpunkte haben, um den VS-Code-Remoteserver und Erweiterungen herunterzuladen, können Sie diese vorab paketieren. Bei diesem Ansatz exportieren Sie einen Tarball, der das `.VS Code-server`-Verzeichnis für eine bestimmte Version von VS Code enthält. Anschließend verwenden Sie ein LCC-Skript ( SageMaker AI Lifecycle Configuration), um den Tarball in das Home-Verzeichnis (`/home/sagemaker-user`) der Studio-Bereiche zu kopieren und zu extrahieren. Diese LCC-basierte Lösung funktioniert sowohl mit bereitgestellten als auch mit benutzerdefinierten Images AWS. Selbst wenn Sie keine privaten Subnetze verwenden, beschleunigt dieser Ansatz die Einrichtung des VS-Code-Remoteservers und der vorinstallierten Erweiterungen.

**Anweisungen zum Vorverpacken Ihres VS-Code-Remoteservers und der Erweiterungen**

1. Installieren Sie VS Code auf Ihrem lokalen Computer.

1. Starten Sie einen Linux-basierten (x64) Docker-Container mit aktiviertem SSH, entweder lokal oder über einen Studio-Bereich mit Internetzugang. Wir empfehlen, der Einfachheit halber einen temporären Studio-Bereich mit Remotezugriff und Internetverbindung zu nutzen.

1. Verbinden Sie Ihren installierten VS Code über Remote SSH mit dem lokalen Docker-Container oder verbinden Sie sich über das VS-Code-Remotefeature von Studio mit dem Studio-Bereich. VS Code installiert den Remoteserver während der Verbindung im `.VS Code-server` im Stammverzeichnis des Remote-Containers. Weitere Informationen finden Sie unter [Beispiel für die Verwendung von Dockerfile für das Vorverpacken Ihres Remoteservers von VS Code und der Erweiterungen](remote-access-local-ide-setup-vpc-no-internet.md#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-dockerfile).

1. Stellen Sie nach der Remoteverbindung sicher, dass Sie das VS-Code-Standardprofil verwenden.

1. Installieren Sie die erforderlichen VS-Code-Erweiterungen und überprüfen Sie deren Funktionalität. Erstellen Sie beispielsweise ein Notebook und führen Sie es aus, um Jupyter-Notebook-bezogene Erweiterungen auf dem VS-Code-Remoteserver zu installieren.

   Stellen Sie sicher, dass Sie [die AWS Toolkit for Visual Studio Code Erweiterung installieren](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/setup.html), nachdem Sie eine Verbindung zum Remote-Container hergestellt haben.

1. Archivieren Sie das `$HOME/.VS Code-server`-Verzeichnis (z. B. `VS Code-server-with-extensions-for-1.100.2.tar.gz`) entweder im lokalen Docker-Container oder im Terminal des Studio-Bereichs mit Remoteverbindung.

1. Laden Sie den Tarball auf Amazon S3 hoch.

1. Erstellen Sie ein [LCC-Skript](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lifecycle-configurations.html) ([Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)](remote-access-local-ide-setup-vpc-no-internet.md#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-lcc)), das:
   + das spezifische Archiv von Amazon S3 herunterlädt.
   + es in das Stammverzeichnis extrahiert, wenn ein Studio-Bereich in einem privaten Subnetz gestartet wird.

1. (Optional) Erweitern Sie das LCC-Skript, um benutzerspezifische Server-Tarballs von VS Code zu unterstützen, die in benutzerspezifischen Amazon-S3-Ordnern gespeichert sind.

1. (Optional) Verwenden Sie versionsspezifische LCC-Skripte ([Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)](remote-access-local-ide-setup-vpc-no-internet.md#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-lcc)), die Sie an Ihre Bereiche anhängen können, um die Kompatibilität zwischen Ihrem lokalen VS-Code-Client und dem Remoteserver sicherzustellen.

# Richten Sie die automatische Speicherplatzfilterung in Studio ein, wenn Sie das AWS Toolkit verwenden
<a name="remote-access-remote-setup-filter"></a>

Benutzer können Bereiche im AWS Toolkit for Visual Studio Code Explorer filtern, um nur relevante Bereiche anzuzeigen. Dieser Abschnitt enthält Informationen zur Filterung und zur Einrichtung der automatisierten Filterung.

Dieses Setup gilt nur, wenn Sie die [Methode 2: AWS Toolkit in der Remote-IDE](remote-access-local-ide-setup.md#remote-access-local-ide-setup-local-vs-code-method-2-aws-toolkit-in-vs-code) Methode verwenden, um eine Verbindung von Ihrer Remote-IDE zu Amazon SageMaker Studio Spaces herzustellen. Weitere Informationen finden Sie unter [Einrichten des Remotezugriffs](remote-access-remote-setup.md).

**Topics**
+ [Überblick über die Filterung](#remote-access-remote-setup-filter-overview)
+ [Einrichten bei der Verbindung mit IAM-Anmeldeinformationen](#remote-access-remote-setup-filter-set-up-iam-credentials)

## Überblick über die Filterung
<a name="remote-access-remote-setup-filter-overview"></a>

Durch **manuelles Filtern** können Benutzer über die AWS Toolkit-Oberfläche manuell auswählen, für welche Benutzerprofile Leerzeichen angezeigt werden sollen. Diese Methode funktioniert für alle Authentifizierungstypen und hat Vorrang vor der automatisierten Filterung. Informationen zum manuellen Filtern finden Sie unter [Manuelle Filterung](remote-access-local-ide-setup-filter.md#remote-access-local-ide-setup-filter-manual).

Bei der **automatisierten Filterung** werden automatisch nur Bereiche angezeigt, die für den authentifizierten Benutzer relevant sind. Dieses Filterverhalten hängt von der Authentifizierungsmethode bei der Anmeldung ab. Weitere Informationen finden Sie [im Toolkit for VS Code Code-Benutzerhandbuch unter Herstellen einer Verbindung](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html#connect-to-aws) zum Toolkit. AWS Nachfolgend sind die Anmeldeoptionen aufgeführt.
+ **Mit SSO authentifizieren und verbinden**: Die automatische Filterung funktioniert standardmäßig.
+ **Mit IAM-Anmeldeinformationen authentifizieren und verbinden**: Für die automatische Filterung ist eine **Administratorkonfiguration** für die folgenden IAM-Anmeldeinformationen erforderlich. Ohne dieses Setup kann AWS Toolkit nicht erkennen, welche Leerzeichen dem Benutzer gehören, sodass standardmäßig alle Leerzeichen angezeigt werden.
  + **Verwenden von Anmeldeinformationen von IAM-Benutzern**
  + **Verwenden von Anmeldeinformationen für eine angenommene IAM-Rollensitzung**

## Einrichten bei der Verbindung mit IAM-Anmeldeinformationen
<a name="remote-access-remote-setup-filter-set-up-iam-credentials"></a>

**Beim Verwenden von Anmeldeinformationen von IAM-Benutzern**

Das Toolkit für VS Code kann Bereiche zuordnen, die zu Benutzerprofilen gehören, die mit dem authentifizierten IAM-Benutzernamen oder dem Namen der angenommenen Rollensitzung beginnen. So funktioniert die Einrichtung:

**Anmerkung**  
Administratoren müssen die Namen der Studio-Benutzerprofile so konfigurieren, dass sie dieser Namenskonvention entsprechen, damit die automatische Filterung ordnungsgemäß funktioniert.
+ Administratoren müssen sicherstellen, dass die Namen der Studio-Benutzerprofile der Namenskonvention entsprechen:
  + Für IAM-Benutzer: Präfix mit `IAM-user-name-`
  + Für angenommene Rollen: Präfix mit `assumed-role-session-name-`
+ `aws sts get-caller-identity` gibt die für den Abgleich verwendeten Identitätsinformationen zurück
+ Bereiche, die zu den passenden Benutzerprofilen gehören, werden im Toolkit für VS Code automatisch gefiltert

**Bei Verwendung von Sitzungsanmeldedaten für die angenommene** IAM-Rolle Zusätzlich zu den oben genannten Einstellungen müssen Sie sicherstellen, dass die Sitzung Benutzer-IDs als übereinstimmende Präfixe ARNs enthält. Sie können Vertrauensrichtlinien konfigurieren, die sicherstellen, dass die Sitzung Benutzer-IDs als Präfixe ARNs enthält. [Erstellen Sie eine Vertrauensrichtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) und fügen Sie sie der angenommenen Rolle hinzu, die für die Authentifizierung verwendet wird.

Diese Einrichtung ist für direkte Anmeldeinformationen von IAM-Benutzer oder die IdC-Authentifizierung nicht erforderlich.

**Beispiel für die Einrichtung einer Vertrauensrichtlinie für Anmeldeinformationen für IAM-Rollensitzungen** Erstellen Sie eine Vertrauensrichtlinie, die vorschreibt, dass Rollensitzungen den IAM-Benutzernamen enthalten müssen. Folgendes ist eine Beispielrichtlinie:

```
{
    "Statement": [
        {
            "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {"AWS": "arn:aws:iam::ACCOUNT:root"},
            "Condition": {
                "StringLike": {"sts:RoleSessionName": "${aws:username}"}
            }
        }
    ]
}
```

# Richten Sie Remote IDE ein
<a name="remote-access-local-ide-setup"></a>

Nachdem die Administratoren die Anweisungen unter abgeschlossen haben[Connect Sie Ihre Remote-IDE mit SageMaker Räumen mit Fernzugriff](remote-access.md), können Sie Ihre Remote-IDE mit Ihren SageMaker Remote-Spaces verbinden.

**Topics**
+ [Einrichten Ihrer lokalen Umgebung](#remote-access-local-ide-setup-local-environment)
+ [Connect zu Ihrer Remote IDE her](#remote-access-local-ide-setup-local-vs-code)
+ [Verbindung zu VPC mit Subnetzen ohne Internetzugang herstellen](remote-access-local-ide-setup-vpc-no-internet.md)
+ [Filtern der Studio-Bereiche](remote-access-local-ide-setup-filter.md)

## Einrichten Ihrer lokalen Umgebung
<a name="remote-access-local-ide-setup-local-environment"></a>

Installieren Sie Ihre bevorzugte Remote-IDE auf Ihrem lokalen Computer:
+ [Visual Studio Code](https://code.visualstudio.com/)
+ [Kiro](https://kiro.dev/)
+ [Mauszeiger](https://cursor.com/home)

Informationen zu den Versionsanforderungen finden Sie unter[Anforderungen an die IDE-Version](remote-access.md#remote-access-ide-version-requirements).

## Connect zu Ihrer Remote IDE her
<a name="remote-access-local-ide-setup-local-vs-code"></a>

Bevor Sie eine Verbindung von Ihrer Remote-IDE zu Ihren SageMaker Remote-Spaces herstellen können, muss Ihr Administrator dies tun[Einrichten des Remotezugriffs](remote-access-remote-setup.md). Ihr Administrator richtet eine bestimmte Methode ein, mit der Sie eine Verbindung herstellen können. Wählen Sie die Methode aus, die für Sie eingerichtet wurde.

**Topics**
+ [Methode 1: Deep-Link von der Studio-Benutzeroberfläche](#remote-access-local-ide-setup-local-vs-code-method-1-deep-link-from-studio-ui)
+ [Methode 2: AWS Toolkit in der Remote-IDE](#remote-access-local-ide-setup-local-vs-code-method-2-aws-toolkit-in-vs-code)
+ [Methode 3: Herstellen einer Verbindung vom Terminal über SSH-CLI](#remote-access-local-ide-setup-local-vs-code-method-3-connect-from-the-terminal-via-ssh-cli)

### Methode 1: Deep-Link von der Studio-Benutzeroberfläche
<a name="remote-access-local-ide-setup-local-vs-code-method-1-deep-link-from-studio-ui"></a>

Gehen Sie wie folgt vor, um per Deep-Link eine Verbindung herzustellen.

1. [Starten Sie Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html#studio-updated-launch-console).

1. Navigieren Sie in der Studio-Benutzeroberfläche zu Ihrem Bereich.

1. Wählen Sie „**In VS Code** **öffnen“, „In Kiro** öffnen“ oder „**In Cursortaste öffnen**“ für Ihre bevorzugte IDE. Stellen Sie sicher, dass Ihre bevorzugte IDE bereits auf Ihrem lokalen Computer installiert ist.

1. Bestätigen Sie, dass Sie Ihre IDE öffnen möchten, wenn Sie dazu aufgefordert werden. Ihre IDE wird mit einem weiteren Popup-Fenster zur Bestätigung geöffnet. Sobald der Vorgang abgeschlossen ist, wird die Fernverbindung hergestellt.

### Methode 2: AWS Toolkit in der Remote-IDE
<a name="remote-access-local-ide-setup-local-vs-code-method-2-aws-toolkit-in-vs-code"></a>

Gehen Sie wie folgt vor, um eine Verbindung mithilfe des AWS Toolkit for Visual Studio Code herzustellen. Diese Methode ist für VS Code, Kiro und Cursor verfügbar.

1. Öffnen Sie Ihre Remote-IDE (VS Code, Kiro oder Cursor).

1. Öffnen Sie die AWS Toolkit-Erweiterung.

1. [Verbinden mit AWS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html).

1. Erweitern Sie im AWS Explorer **SageMaker AI** und dann **Studio**.

1. Suchen Sie Ihren Studio-Bereich.

1. Wählen Sie das Symbol **Verbinden** neben Ihrem Bereich aus, um ihn zu starten.
**Anmerkung**  
Beenden Sie den Service und starten Sie ihn erneut im Toolkit für Visual Studio, um den Remotezugriff zu aktivieren, falls noch keine Verbindung besteht.
Wenn der Bereich keine unterstützte [Instance-Größe](https://docs.aws.amazon.com/sagemaker/latest/dg/remote-access.html#remote-access-instance-requirements) verwendet, werden Sie aufgefordert, die Instance zu ändern.

### Methode 3: Herstellen einer Verbindung vom Terminal über SSH-CLI
<a name="remote-access-local-ide-setup-local-vs-code-method-3-connect-from-the-terminal-via-ssh-cli"></a>

Wählen Sie eine der folgenden Plattformoptionen, um das Verfahren zum Herstellen einer Verbindung mithilfe der SSH-CLI anzuzeigen.

**Anmerkung**  
Stellen Sie sicher, dass Sie die neuesten Versionen von [Voraussetzungen für den lokalen Computer](remote-access.md#remote-access-local-prerequisites) installiert haben, bevor Sie die folgenden Anweisungen befolgen.
Falls ja[Bring Your Own Image (BYOI)](studio-updated-byoi.md), stellen Sie sicher, dass Sie die unter aufgeführten erforderlichen Abhängigkeiten installiert haben, [Anforderungen an Images](remote-access.md#remote-access-image-requirements) bevor Sie fortfahren

------
#### [ Linux/macOS ]

Erstellen Sie ein Shell-Skript (zum Beispiel `/home/user/sagemaker_connect.sh`):

```
#!/bin/bash
# Disable the -x option if printing each command is not needed.
set -exuo pipefail

SPACE_ARN="$1"
AWS_PROFILE="${2:-}"

# Validate ARN and extract region
if [[ "$SPACE_ARN" =~ ^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$ ]]; then
    AWS_REGION="${BASH_REMATCH[1]}"
else
    echo "Error: Invalid SageMaker Studio Space ARN format."
    exit 1
fi

# Optional profile flag
PROFILE_ARG=()
if [[ -n "$AWS_PROFILE" ]]; then
    PROFILE_ARG=(--profile "$AWS_PROFILE")
fi

# Start session
START_SESSION_JSON=$(aws sagemaker start-session \
    --resource-identifier "$SPACE_ARN" \
    --region "${AWS_REGION}" \
    "${PROFILE_ARG[@]}")

# Extract fields using grep and sed
SESSION_ID=$(echo "$START_SESSION_JSON" | grep -o '"SessionId": "[^"]*"' | sed 's/.*: "//;s/"$//')
STREAM_URL=$(echo "$START_SESSION_JSON" | grep -o '"StreamUrl": "[^"]*"' | sed 's/.*: "//;s/"$//')
TOKEN=$(echo "$START_SESSION_JSON" | grep -o '"TokenValue": "[^"]*"' | sed 's/.*: "//;s/"$//')

# Validate extracted values
if [[ -z "$SESSION_ID" || -z "$STREAM_URL" || -z "$TOKEN" ]]; then
    echo "Error: Failed to extract session information from sagemaker start session response."
    exit 1
fi

# Call session-manager-plugin
session-manager-plugin \
    "{\"streamUrl\":\"$STREAM_URL\",\"tokenValue\":\"$TOKEN\",\"sessionId\":\"$SESSION_ID\"}" \
    "$AWS_REGION" "StartSession"
```

1. Machen Sie das Skript ausführbar:

   ```
   chmod +x /home/user/sagemaker_connect.sh
   ```

1. Konfigurieren Sie `$HOME/.ssh/config`, um den folgenden Eintrag hinzuzufügen:

```
Host space-name
  HostName 'arn:PARTITION:sagemaker:us-east-1:111122223333:space/domain-id/space-name'
  ProxyCommand '/home/user/sagemaker_connect.sh' '%h'
  ForwardAgent yes
  AddKeysToAgent yes
  StrictHostKeyChecking accept-new
```

Die `PARTITION` kann beispielsweise `aws` sein.

Wenn Sie ein [benanntes AWS Anmeldeinformationsprofil](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html#cli-configure-files-using-profiles) verwenden müssen, ändern Sie den Proxybefehl wie folgt:

```
  ProxyCommand '/home/user/sagemaker_connect.sh' '%h' YOUR_CREDENTIAL_PROFILE_NAME
```
+ Verbinden Sie sich über SSH oder führen Sie den SCP-Befehl aus:

```
ssh space-name
scp file_abc space-name:/tmp/
```

------
#### [ Windows ]

**Voraussetzungen für Windows:**
+ PowerShell 5.1 oder höher
+ SSH-Client (OpenSSH empfohlen)

Erstellen Sie ein PowerShell Skript (zum Beispiel): `C:\Users\user-name\sagemaker_connect.ps1`

```
# sagemaker_connect.ps1
param(
    [Parameter(Mandatory=$true)]
    [string]$SpaceArn,

    [Parameter(Mandatory=$false)]
    [string]$AwsProfile = ""
)

# Enable error handling
$ErrorActionPreference = "Stop"

# Validate ARN and extract region
if ($SpaceArn -match "^arn:aws[-a-z]*:sagemaker:([a-z0-9-]+):[0-9]{12}:space\/[^\/]+\/[^\/]+$") {
    $AwsRegion = $Matches[1]
} else {
    Write-Error "Error: Invalid SageMaker Studio Space ARN format."
    exit 1
}

# Build AWS CLI command
$awsCommand = @("sagemaker", "start-session", "--resource-identifier", $SpaceArn, "--region", $AwsRegion)

if ($AwsProfile) {
    $awsCommand += @("--profile", $AwsProfile)
}

try {
    # Start session and capture output
    Write-Host "Starting SageMaker session..." -ForegroundColor Green
    $startSessionOutput = & aws @awsCommand

    # Try to parse JSON response
    try {
        $sessionData = $startSessionOutput | ConvertFrom-Json
    } catch {
        Write-Error "Failed to parse JSON response: $_"
        Write-Host "Raw response was:" -ForegroundColor Yellow
        Write-Host $startSessionOutput
        exit 1
    }

    $sessionId = $sessionData.SessionId
    $streamUrl = $sessionData.StreamUrl
    $token = $sessionData.TokenValue

    # Validate extracted values
    if (-not $sessionId -or -not $streamUrl -or -not $token) {
        Write-Error "Error: Failed to extract session information from sagemaker start session response."
        Write-Host "Parsed response was:" -ForegroundColor Yellow
        Write-Host ($sessionData | ConvertTo-Json)
        exit 1
    }

    Write-Host "Session started successfully. Connecting..." -ForegroundColor Green

    # Create session manager plugin command
    $sessionJson = @{
        streamUrl = $streamUrl
        tokenValue = $token
        sessionId = $sessionId
    } | ConvertTo-Json -Compress

    # Escape the JSON string
    $escapedJson = $sessionJson -replace '"', '\"'

    # Call session-manager-plugin
    & session-manager-plugin "$escapedJson" $AwsRegion "StartSession"

} catch {
    Write-Error "Failed to start session: $_"
    exit 1
}
```
+ Konfigurieren Sie `C:\Users\user-name\.ssh\config`, um den folgenden Eintrag hinzuzufügen:

```
Host space-name                            
  HostName "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/space-name"
  ProxyCommand "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy RemoteSigned -File "C:\\Users\\user-name\\sagemaker_connect.ps1" "%h"
  ForwardAgent yes
  AddKeysToAgent yes
  User sagemaker-user
  StrictHostKeyChecking accept-new
```

------

# Verbindung zu VPC mit Subnetzen ohne Internetzugang herstellen
<a name="remote-access-local-ide-setup-vpc-no-internet"></a>

Bevor Sie Ihre Remote-IDE mit Studio-Spaces in privaten Subnetzen ohne Internetzugang verbinden, stellen Sie sicher, dass Ihr Administrator dies getan hat[Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC](remote-access-remote-setup-vpc-subnets-without-internet-access.md).

Sie haben die folgenden Optionen, um Ihre Remote-IDE mit Studio-Bereichen in privaten Subnetzen zu verbinden:
+ Richten Sie einen HTTP-Proxy ein (unterstützt für VS Code und Kiro)
+ Vorgefertigte Remoteserver und Erweiterungen (nur VS Code)

**Wichtig**  
Der Cursor wird für die Verbindung zu Studio-Bereichen in privaten Subnetzen ohne ausgehenden Internetzugang nicht unterstützt.

**Topics**
+ [HTTP-Proxy mit kontrollierter Zulassungsliste](#remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing)
+ [Vorkonfigurierte Remoteserver und Erweiterungen (nur VS Code)](#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions)

## HTTP-Proxy mit kontrollierter Zulassungsliste
<a name="remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing"></a>

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, bitten Sie Ihren Administrator, den Zugriff auf Ihren IDE-Server und Ihre Endpunkte im Zusammenhang mit Erweiterungen CDNs zu gewähren. Weitere Informationen finden Sie unter [Einrichten eines HTTP-Proxys mit kontrollierter Zulassungsliste](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-http-proxy-with-controlled-allow-listing).

------
#### [ VS Code ]

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit VS Code, indem Sie die Proxy-URL mit der Einstellung `remote.SSH.httpProxy` oder `remote.SSH.httpsProxy` angeben.

**Anmerkung**  
Erwägen Sie, „Remote.ssh: Use Curl And Wget Configuration Files“ zu aktivieren, um die Konfiguration aus den Dateien und Dateien der Remote-Umgebung zu verwenden. `curlrc` `wgetrc` Auf diese Weise können die `wgetrc` Dateien `curlrc` und, die sich an ihren jeweiligen Standardspeicherorten im SageMaker Space befinden, zur Aktivierung bestimmter Fälle verwendet werden.

------
#### [ Kiro ]

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit Kiro, indem Sie die `aws.sagemaker.ssh.kiro.httpsProxy` Einstellung auf Ihren HTTP- oder HTTPS-Proxyendpunkt setzen.

Wenn Sie MCP-Server (Model Context Protocol) in Kiro verwenden, müssen Sie Ihrer MCP-Serverkonfiguration auch die Proxy-Umgebungsvariablen hinzufügen:

```
"env": {
    "http_proxy": "${http_proxy}",
    "https_proxy": "${https_proxy}"
}
```

------

Diese Option funktioniert, wenn Sie einen HTTP-Proxy einrichten dürfen, und ermöglicht Ihnen die flexible Installation zusätzlicher Erweiterungen, da einige Erweiterungen einen öffentlichen Endpunkt erfordern.

## Vorkonfigurierte Remoteserver und Erweiterungen (nur VS Code)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions"></a>

**Anmerkung**  
Diese Option ist nur für Visual Studio Code verfügbar. Kiro und Cursor unterstützen kein vorkonfiguriertes Remote-Server-Setup.

Wenn Ihre Studio-Bereiche keinen Zugriff auf externe Endpunkte haben, um den VS-Code-Remoteserver und Erweiterungen herunterzuladen, können Sie diese vorab paketieren. Bei diesem Ansatz kann Ihr Administrator einen Tarball exportieren, der das `.VS Code-server`-Verzeichnis für eine bestimmte Version von VS Code enthält. Anschließend verwendet der Administrator ein SageMaker AI Lifecycle Configuration (LCC) -Skript, um den Tarball in Ihr Home-Verzeichnis () zu kopieren und zu extrahieren. `/home/sagemaker-user` Weitere Informationen finden Sie unter [Richten Sie vorgefertigte Remoteserver und Erweiterungen ein (nur VS Code)](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-pre-packaged-vs-code-remote-server-and-extensions).

**Anweisungen zum Vorverpacken Ihres VS-Code-Remoteservers und der Erweiterungen**

1. Installieren Sie VS Code auf Ihrem lokalen Computer.

1. Wenn Sie eine Verbindung zum Space herstellen: SageMaker 
   + Verwenden Sie das Standardprofil, um die Kompatibilität mit vorkonfigurierten Erweiterungen sicherzustellen. Andernfalls müssen Sie Erweiterungen mithilfe heruntergeladener VSIX-Dateien installieren, nachdem Sie eine Verbindung zum Studio-Bereich hergestellt haben.
   + Wählen Sie ein für die VS-Code-Version spezifisches LCC-Skript aus, das beim Starten des Bereichs an den Bereich angehängt werden soll.

### Beispiel für die Verwendung von Dockerfile für das Vorverpacken Ihres Remoteservers von VS Code und der Erweiterungen
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-dockerfile"></a>

Im Folgenden finden Sie ein Beispiel für eine Dockerfile-Datei zum Starten eines lokalen Containers mit vorinstalliertem SSH-Server, falls es nicht möglich ist, einen Bereich mit Remotezugriff und Internetverbindung einzurichten.

**Anmerkung**  
In diesem Beispiel erfordert der SSH-Server keine Authentifizierung und wird nur zum Exportieren des VS-Code-Remoteservers verwendet.
Der Container sollte auf einer x64-Architektur erstellt und ausgeführt werden.

```
FROM amazonlinux:2023

# Install OpenSSH server and required tools
RUN dnf install -y \
    openssh-server \
    shadow-utils \
    passwd \
    sudo \
    tar \
    gzip \
    && dnf clean all

# Create a user with no password
RUN useradd -m -s /bin/bash sagemaker-user && \
    passwd -d sagemaker-user

# Add sagemaker-user to sudoers via wheel group
RUN usermod -aG wheel sagemaker-user && \
    echo 'sagemaker-user ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sagemaker-user && \
    chmod 440 /etc/sudoers.d/sagemaker-user

# Configure SSH to allow empty passwords and password auth
RUN sed -i 's/^#\?PermitEmptyPasswords .*/PermitEmptyPasswords yes/' /etc/ssh/sshd_config && \
    sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config

# Generate SSH host keys
RUN ssh-keygen -A

# Expose SSH port
EXPOSE 22

WORKDIR /home/sagemaker-user
USER sagemaker-user

# Start SSH server
CMD ["bash"]
```

Verwenden Sie die folgenden Befehle, um den Container zu erstellen und auszuführen:

```
# Build the image
docker build . -t remote_server_export

# Run the container
docker run --rm -it -d \
  -v /tmp/remote_access/.VS Code-server:/home/sagemaker-user/.VS Code-server \
  -p 2222:22 \
  --name remote_server_export \
  remote_server_export
  
# change the permisson for the mounted folder
docker exec -i remote_server_export \
       bash -c 'sudo chown sagemaker-user:sagemaker-user ~/.VS Code-server'

# start the ssh server in the container 
docker exec -i remote_server_export bash -c 'sudo /usr/sbin/sshd -D &'
```

Stellen Sie mit dem folgenden Befehl eine Verbindung her:

```
ssh sagemaker-user@localhost -p 2222
```

Bevor dieser Container verbunden werden kann, konfigurieren Sie in der `.ssh/config`-Datei Folgendes. Danach können Sie den `remote_access_export` als Hostnamen im Remote-SSH-Seitenbereich sehen, wenn Sie eine Verbindung herstellen. Beispiel:

```
Host remote_access_export
  HostName localhost
  User=sagemaker-user
  Port 2222
  ForwardAgent yes
```

Archivieren Sie `/tmp/remote_access/.VS Code-server` und folgen Sie den Schritten in den vorgefertigten VS-Code-Remoteservern und Erweiterungen, um eine Verbindung herzustellen und die Erweiterung zu installieren. Stellen Sie nach dem Entpacken sicher, dass der `.VS Code-server`-Ordner als übergeordneter Ordner angezeigt wird.

```
cd /tmp/remote_access/
sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
```

### Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-lcc"></a>

Im Folgenden finden Sie ein Beispiel für die Installation einer bestimmten Version des VS-Code-Remoteservers.

```
#!/bin/bash

set -x

remote_server_file=VS Code-server-with-extensions-for-1.100.2.tar.gz

if [ ! -d "${HOME}/.VS Code-server" ]; then
    cd /tmp
    aws s3 cp s3://S3_BUCKET/remote_access/${remote_server_file} .
    tar -xzvf ${remote_server_file}
    mv .VS Code-server "${HOME}"
    rm ${remote_server_file}
else
    echo "${HOME}/.VS Code-server already exists, skipping download and install."
fi
```

# Filtern der Studio-Bereiche
<a name="remote-access-local-ide-setup-filter"></a>

Sie können die Filterung verwenden, um nur die relevanten Amazon SageMaker AI-Bereiche im AWS Toolkit for Visual Studio Code Explorer anzuzeigen. Im Folgenden finden Sie Informationen zur manuellen und automatisierten Filterung. Weitere Informationen zu den Definitionen der manuellen und automatischen Filterung finden Sie unter [Überblick über die Filterung](remote-access-remote-setup-filter.md#remote-access-remote-setup-filter-overview).

Dieses Setup gilt nur, wenn Sie die [Methode 2: AWS Toolkit in der Remote-IDE](remote-access-local-ide-setup.md#remote-access-local-ide-setup-local-vs-code-method-2-aws-toolkit-in-vs-code) Methode verwenden, um eine Verbindung von Ihrer Remote-IDE zu Amazon SageMaker Studio Spaces herzustellen. Weitere Informationen finden Sie unter [Einrichten des Remotezugriffs](remote-access-remote-setup.md).

**Topics**
+ [Manuelle Filterung](#remote-access-local-ide-setup-filter-manual)
+ [Automatische Filtereinrichtung bei Verwendung von IAM-Anmeldeinformationen für die Anmeldung](#remote-access-local-ide-setup-filter-automatic-IAM-credentials)

## Manuelle Filterung
<a name="remote-access-local-ide-setup-filter-manual"></a>

So filtern Sie angezeigte Bereiche manuell:
+ Öffnen Sie Ihre Remote IDE und navigieren Sie zum Toolkit for VS Code in der Seitenleiste des Explorers
+ Suchen Sie den **SageMaker AI-Bereich**
+ Wählen Sie das Filtersymbol rechts neben der Kopfzeile des SageMaker AI-Abschnitts. Es wird ein Dropdown-Menü geöffnet.
+ Wählen Sie im Dropdown-Menü die Benutzerprofile aus, für die Sie Bereiche anzeigen möchten.

## Automatische Filtereinrichtung bei Verwendung von IAM-Anmeldeinformationen für die Anmeldung
<a name="remote-access-local-ide-setup-filter-automatic-IAM-credentials"></a>

Die automatische Filterung hängt von der Authentifizierungsmethode bei der Anmeldung ab. Weitere Informationen finden Sie unter [Herstellen einer Verbindung zum Toolkit](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html#connect-to-aws) im Toolkit for VS Code-Benutzerhandbuch. AWS 

Wenn Sie sich mit **IAM-Anmeldeinformationen** authentifizieren und eine Verbindung herstellen, erfordert eine automatische Filterung [Einrichten bei der Verbindung mit IAM-Anmeldeinformationen](remote-access-remote-setup-filter.md#remote-access-remote-setup-filter-set-up-iam-credentials). Ohne diese Einrichtung werden keine Bereiche angezeigt, wenn Benutzer die Identitätsfilterung aktivieren.

Sobald das oben genannte eingerichtet ist, sucht AWS Toolkit nach Leerzeichen, die zu Benutzerprofilen gehören, die mit dem authentifizierten IAM-Benutzernamen oder dem angenommenen Rollensitzungsnamen beginnen.

Die automatische Filterung ist für Benutzer optional:
+ Öffnen Sie Ihre Remote IDE-Einstellungen
+ Navigieren Sie zur **AWS -Toolkit**-Erweiterung.
+ Suchen Sie nach **Identitätsfilterung aktivieren**.
+ Aktivieren Sie die automatische Filterung von Bereichen auf Grundlage Ihrer AWS -Identität.

# Unterstützte AWS Regionen
<a name="remote-access-supported-regions"></a>

In der folgenden Tabelle sind die AWS Regionen aufgeführt, in denen Remote-IDE-Verbindungen zu Studio-Bereichen unterstützt werden, sowie die Regionen, die in den einzelnen Regionen IDEs verfügbar sind.


| AWS Region | VS Code | Kiro | Cursor | 
| --- | --- | --- | --- | 
| us-east-1 | Unterstützt | Unterstützt | Unterstützt | 
| us-east-2 | Unterstützt | Unterstützt | Unterstützt | 
| us-west-1 | Unterstützt | Unterstützt | Unterstützt | 
| us-west-2 | Unterstützt | Unterstützt | Unterstützt | 
| af-south-1 | Unterstützt | Unterstützt | Unterstützt | 
| ap-east-1 | Unterstützt | Unterstützt | Unterstützt | 
| ap-south-1 | Unterstützt | Unterstützt | Unterstützt | 
| ap-northeast-1 | Unterstützt | Unterstützt | Unterstützt | 
| ap-northeast-2 | Unterstützt | Unterstützt | Unterstützt | 
| ap-northeast-3 | Unterstützt | Unterstützt | Unterstützt | 
| ap-southeast-1 | Unterstützt | Unterstützt | Unterstützt | 
| ap-southeast-2 | Unterstützt | Unterstützt | Unterstützt | 
| ap-southeast-3 | Unterstützt | Unterstützt | Unterstützt | 
| ap-southeast-5 | Unterstützt | Unterstützt | Unterstützt | 
| ca-central-1 | Unterstützt | Unterstützt | Unterstützt | 
| eu-central-1 | Unterstützt | Unterstützt | Unterstützt | 
| eu-central-2 | Unterstützt | Unterstützt | Unterstützt | 
| eu-north-1 | Unterstützt | Unterstützt | Unterstützt | 
| eu-south-1 | Unterstützt | Unterstützt | Unterstützt | 
| eu-south-2 | Unterstützt | Unterstützt | Unterstützt | 
| eu-west-1 | Unterstützt | Unterstützt | Unterstützt | 
| eu-west-2 | Unterstützt | Unterstützt | Unterstützt | 
| eu-west-3 | Unterstützt | Unterstützt | Unterstützt | 
| il-central-1 | Unterstützt | Unterstützt | Unterstützt | 
| me-central-1 | Unterstützt | Nicht unterstützt | Nicht unterstützt | 
| me-south-1 | Unterstützt | Nicht unterstützt | Nicht unterstützt | 
| sa-east-1 | Unterstützt | Unterstützt | Unterstützt | 

# Bring Your Own Image (BYOI)
<a name="studio-updated-byoi"></a>

Ein Image ist eine Datei, die die Kernel, Sprachpakete und andere Abhängigkeiten identifiziert, die zum Ausführen Ihrer Anwendungen erforderlich sind. Sie umfasst:
+ Programmiersprachen (wie Python oder R)
+ Kernel
+ Bibliotheken und Pakete
+ Andere notwendige Software

Amazon SageMaker Distribution (`sagemaker-distribution`) ist eine Reihe von Docker-Images, die beliebte Frameworks und Pakete für maschinelles Lernen, Datenwissenschaft und Visualisierung enthalten. Weitere Informationen finden Sie unter [SageMaker Richtlinie zur Unterstützung von Studio-Images](sagemaker-distribution.md).

Wenn Sie andere Funktionen benötigen, können Sie Ihr eigenes benutzerdefinierten Image (BYOI) mitbringen. Sie möchten möglicherweise ein benutzerdefiniertes Image erstellen, wenn:
+ Sie eine bestimmte Version einer Programmiersprache oder Bibliothek benötigen.
+ Sie benutzerdefinierte Tools oder Pakete einbinden möchten
+ Sie mit spezieller Software arbeiten, die in den Standard-Images nicht verfügbar ist

## Wichtige Begriffe
<a name="studio-updated-byoi-basics"></a>

Im folgenden Abschnitt werden die wichtigsten Begriffe für die Verwendung Ihres eigenen Images mit SageMaker KI definiert.
+ **Dockerfile:** Ein textbasiertes Dokument mit Anweisungen zum Erstellen eines Docker-Images. Sie identifiziert die Sprachpakete und andere Abhängigkeiten für Ihr Docker-Image.
+ **Docker-Image:** Ein Paket aus Software und Abhängigkeiten, das aus einer Dockerfile erstellt wurde.
+ **SageMaker AI-Bildspeicher:** Eine Speicherung Ihrer benutzerdefinierten Bilder in SageMaker KI.

**Topics**
+ [Wichtige Begriffe](#studio-updated-byoi-basics)
+ [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md)
+ [So funktioniert Bring Your Own Image](studio-updated-byoi-how-to.md)
+ [Starten eines benutzerdefinierten Images in Studio](studio-updated-byoi-how-to-launch.md)
+ [Anzeigen Ihrer benutzerdefinierten Image-Details](studio-updated-byoi-view-images.md)
+ [Beschleunigen Sie den Container-Start mit SOCI](soci-indexing.md)
+ [Trennen und Bereinigen von benutzerdefinierten Image-Ressourcen](studio-updated-byoi-how-to-detach-from-domain.md)

# Benutzerdefinierte Image-Daten
<a name="studio-updated-byoi-specs"></a>

Das Image, das Sie in Ihrer Dockerfile-Datei angeben, muss den Spezifikationen in den folgenden Abschnitten entsprechen, damit das Image erfolgreich erstellt werden kann.

**Topics**
+ [Das Image wird ausgeführt](#studio-updated-byoi-specs-run)
+ [Spezifikationen für den Benutzer und das Dateisystem](#studio-updated-byoi-specs-user-and-filesystem)
+ [Zustandsprüfung und URL für Anwendungen](#studio-updated-byoi-specs-app-healthcheck)
+ [Dockerfile-Beispiele](#studio-updated-byoi-specs-dockerfile-templates)

## Das Image wird ausgeführt
<a name="studio-updated-byoi-specs-run"></a>

Die folgenden Konfigurationen können vorgenommen werden, indem Sie Ihre [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html) aktualisieren. Ein Beispiel finden Sie unter [Aktualisieren der Container-Konfiguration](studio-updated-byoi-how-to-container-configuration.md).
+ `Entrypoint`: Sie können `ContainerEntrypoint` und `ContainerArguments` konfigurieren, die zur Laufzeit an den Container übergeben werden. Wir empfehlen, Ihren Einstiegspunkt mithilfe der `ContainerConfig` zu konfigurieren. Ein Beispiel finden Sie unter dem obigen Link.
+ `EnvVariables`: Wenn Sie Studio verwenden, können Sie benutzerdefinierte `ContainerEnvironment`-Variablen für Ihren Container festlegen. Sie können Ihre Umgebungsvariablen optional mit `ContainerConfig` aktualisieren. Ein Beispiel finden Sie unter dem obigen Link.

  SageMaker KI-spezifische Umgebungsvariablen haben Vorrang und überschreiben alle Variablen mit demselben Namen. SageMaker KI stellt beispielsweise automatisch Umgebungsvariablen mit dem Präfix `AWS_` und bereit, `SAGEMAKER_` um eine korrekte Integration mit AWS Diensten und SageMaker KI-Funktionen sicherzustellen. Im Folgenden finden Sie einige Beispiele für SageMaker KI-spezifische Umgebungsvariablen:
  + `AWS_ACCOUNT_ID`
  + `AWS_REGION`
  + `AWS_DEFAULT_REGION`
  + `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`
  + `SAGEMAKER_SPACE_NAME`
  + `SAGEMAKER_APP_TYPE`

## Spezifikationen für den Benutzer und das Dateisystem
<a name="studio-updated-byoi-specs-user-and-filesystem"></a>
+ `WorkingDirectory`: Das Amazon-EBS-Volume für Ihren Bereich ist unter dem Pfad `/home/sagemaker-user` gemountet. Sie können den Mount-Pfad nicht ändern. Verwenden Sie die `WORKDIR`-Anleitung, um das Arbeitsverzeichnis Ihres Images auf einen Ordner innerhalb von `/home/sagemaker-user` festzulegen.
+ `UID`: Die Benutzer-ID des Docker-Containers. UID=1000 ist ein unterstützter Wert. Sie können Ihren Benutzern sudo-Zugriff hinzufügen. Sie IDs werden neu zugeordnet, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Rechte als nötig hat.
+ `GID`: Die Gruppen-ID des Docker-Containers. GID=100 ist ein unterstützter Wert. Sie können Ihren Benutzern sudo-Zugriff hinzufügen. Sie IDs werden neu zugeordnet, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Rechte als nötig hat.
+ Metadaten-Verzeichnisse — Die `/opt/ml` Verzeichnisse `/opt/.sagemakerinternal` und, die von AWS verwendet werden. Die Metadatendatei in `/opt/ml` enthält Metadaten zu Ressourcen wie `DomainId`.

  Verwenden Sie den folgenden Befehl, um den Inhalt des Dateisystems anzuzeigen:

  ```
  cat /opt/ml/metadata/resource-metadata.json
  ```
+ Protokollverzeichnisse: `/var/log/studio` sind für die Protokollverzeichnisse Ihrer Anwendungen und die damit verbundenen Erweiterungen reserviert. Es wird empfohlen, diese Ordner nicht bei der Erstellung Ihres Images zu verwenden.

## Zustandsprüfung und URL für Anwendungen
<a name="studio-updated-byoi-specs-app-healthcheck"></a>

Die Zustandsprüfung und die URL hängen von den Anwendungen ab. Wählen Sie den folgenden Link aus, der mit der Anwendung verknüpft ist, für die Sie das Image erstellen.
+ [Zustandsprüfung und URL für Anwendungen](code-editor-custom-images.md#code-editor-custom-images-app-healthcheck) für Code Editor
+ [Zustandsprüfung und URL für Anwendungen](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-admin-guide-custom-images-app-healthcheck) für JupyterLab

## Dockerfile-Beispiele
<a name="studio-updated-byoi-specs-dockerfile-templates"></a>

Dockerfile-Beispiele, die sowohl die Anforderungen auf dieser Seite als auch Ihre spezifischen Anwendungsanforderungen erfüllen, finden Sie unter den Beispiel-Dockerfiles im Abschnitt der jeweiligen Anwendung. Die folgenden Optionen beinhalten Amazon SageMaker Studio-Anwendungen. 
+ [Dockerfile-Beispiele](code-editor-custom-images.md#code-editor-custom-images-dockerfile-templates) für Code Editor
+ [Dockerfile-Beispiele](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-custom-images-dockerfile-templates)für JupyterLab

**Anmerkung**  
Wenn Sie Ihr eigenes Image in SageMaker Unified Studio verwenden, müssen Sie die [Dockerfile-Spezifikationen](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch* befolgen.  
`Dockerfile`Beispiele für SageMaker Unified Studio finden Sie im [Dockerfile-Beispiel](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

# So funktioniert Bring Your Own Image
<a name="studio-updated-byoi-how-to"></a>

Auf den folgenden Seiten finden Sie Anweisungen zum Einbinden Ihres eigenen benutzerdefinierten Images. Stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind, bevor Sie fortfahren.

## Voraussetzungen
<a name="studio-updated-byoi-how-to-prerequisites"></a>

Sie müssen die folgenden Voraussetzungen erfüllen, um Ihr eigenes Image auf Amazon SageMaker AI zu übertragen.
+ Richten Sie die Docker-Anwendung ein. Weitere Informationen finden Sie unter [Erste Schritte](https://docs.docker.com/get-started/) in der *Docker-Dokumentation*.
+ Installieren Sie die neueste Version, AWS CLI indem Sie die Schritte unter [Erste Schritte mit dem AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) im *AWS Command Line Interface Benutzerhandbuch für Version 2 befolgen*.
+ Berechtigungen für den Zugriff auf den Service Amazon Elastic Container Registry (Amazon ECR). Weitere Informationen finden Sie unter [Amazon-ECR-verwaltete Richtlinien](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html) im *Benutzerhandbuch für Amazon ECR*.
+ Eine AWS Identity and Access Management Rolle, der die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt ist.

**Topics**
+ [Voraussetzungen](#studio-updated-byoi-how-to-prerequisites)
+ [Erstellen eines benutzerdefinierten Images und Übertragen auf Amazon ECR](studio-updated-byoi-how-to-prepare-image.md)
+ [Anfügen Ihres benutzerdefinierten Images an Ihre Domain](studio-updated-byoi-how-to-attach-to-domain.md)
+ [Aktualisieren der Container-Konfiguration](studio-updated-byoi-how-to-container-configuration.md)

# Erstellen eines benutzerdefinierten Images und Übertragen auf Amazon ECR
<a name="studio-updated-byoi-how-to-prepare-image"></a>

Diese Seite enthält Anweisungen zum Erstellen einer lokalen Dockerfile, zum Erstellen des Container-Images und zum Hinzufügen zu Amazon Elastic Container Registry (Amazon ECR).

**Anmerkung**  
In den folgenden Beispielen werden die Tags nicht angegeben und das Tag `latest` wird standardmäßig angewendet. Wenn Sie ein Tag angeben möchten, müssen Sie `:tag` an das Ende der Image-Namen anhängen. Weitere Informationen finden Sie unter [Docker-Image-Tag](https://docs.docker.com/reference/cli/docker/image/tag/) in der *Docker-Dokumentation*.

**Topics**
+ [Erstellen einer Dockerfile und Erstellen des Container-Images](#studio-updated-byoi-how-to-create-local-dockerfile)
+ [Hinzufügen eines Docker-Images zu Amazon ECR](#studio-updated-byoi-add-container-image)

## Erstellen einer Dockerfile und Erstellen des Container-Images
<a name="studio-updated-byoi-how-to-create-local-dockerfile"></a>

Verwenden Sie folgende Anweisungen zum Erstellen einer Dockerfile mit der gewünschten Software und den gewünschten Abhängigkeiten.

**So erstellen Sie die Dockerfile**

1. Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

   ```
   LOCAL_IMAGE_NAME=local-image-name
   ```

   `local-image-name` ist der Name des Container-Images auf Ihrem lokalen Gerät, das Sie hier definieren.

1. Erstellen Sie ein textbasiertes Dokument mit Namen `Dockerfile`, das den Spezifikationen unter [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md) entspricht.

   `Dockerfile`-Beispiele für unterstützte Anwendungen finden Sie unter [Dockerfile-Beispiele](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).
**Anmerkung**  
Wenn Sie Ihr eigenes Image in SageMaker Unified Studio verwenden, müssen Sie die [Dockerfile-Spezifikationen](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch* befolgen.  
`Dockerfile`Beispiele für SageMaker Unified Studio finden Sie im [Dockerfile-Beispiel](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

1. Erstellen Sie in dem Verzeichnis, das Ihre `Dockerfile` enthält, das Docker-Image mit dem folgenden Befehl. Der Punkt (`.`) gibt an, dass sich die `Dockerfile` im Kontext des Build-Befehls befinden sollte.

   ```
   docker build -t ${LOCAL_IMAGE_NAME} .
   ```

   Nach Abschluss des Builds können Sie die Informationen zu Ihrem Container-Image mit dem folgenden Befehl auflisten.

   ```
   docker images
   ```

1. (Optional) Sie können Ihr Image mit dem folgenden Befehl testen.

   ```
   docker run -it ${LOCAL_IMAGE_NAME}
   ```

   In der Ausgabe werden Sie feststellen, dass Ihr Server unter einer URL wie `http://127.0.0.1:8888/...` läuft. Sie können das Image testen, indem Sie die URL in den Browser kopieren. 

   Sollte dies nicht funktionieren, müssen Sie möglicherweise `-p port:port` in den Befehl „docker run“ einfügen. Diese Option ordnet den freigegebenen Port auf dem Container einem Port auf dem Hostsystem zu. Weitere Informationen zur Docker-Ausführung finden Sie unter [Ausführen von Containern](https://docs.docker.com/engine/containers/run/) in der *Docker-Dokumentation*.

   Nachdem Sie überprüft haben, dass der Server ordnungsgemäß funktioniert, können Sie den Server anhalten und alle Kernel herunterfahren, bevor Sie fortfahren. Die Anweisungen sind in der Ausgabe sichtbar.

## Hinzufügen eines Docker-Images zu Amazon ECR
<a name="studio-updated-byoi-add-container-image"></a>

Um ein Container-Image zu Amazon ECR hinzuzufügen, müssen Sie die folgenden Schritte ausführen.
+ Erstellen Sie ein Amazon-ECR-Repository.
+ Melden Sie sich bei Ihrem Standard-Registry an.
+ Übertragen Sie das Image in das Amazon-ECR-Repository.

**Anmerkung**  
Das Amazon ECR-Repository muss sich in derselben AWS-Region Domain befinden, an die Sie das Bild anhängen.

**So erstellen Sie ein Container-Image und übertragen es an Amazon ECR**

1. Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

   ```
   ACCOUNT_ID=account-id
   REGION=aws-region
   ECR_REPO_NAME=ecr-repository-name
   ```
   + `account-id` ist Ihre Konto-ID. Sie finden dies oben rechts auf jeder AWS Konsolenseite. Zum Beispiel die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).
   + `aws-region`ist die AWS-Region Ihrer Amazon SageMaker AI-Domain. Sie finden dies oben rechts auf jeder AWS Konsolenseite. 
   + `ecr-repository-name` ist der Name Ihres Repositorys von Amazon Elastic Container Registry, den Sie hier definieren. Ihre Amazon-ECR-Repositorys finden Sie in der [Amazon-ECR-Konsole](https://console.aws.amazon.com/ecr).

1. Melden Sie sich bei Amazon ECR und dann bei Docker an.

   ```
   aws ecr get-login-password \
       --region ${REGION} | \
       docker login \
       --username AWS \
       --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com
   ```

   Bei erfolgreicher Authentifizierung erhalten Sie eine Meldung über die erfolgreiche Anmeldung.
**Wichtig**  
Bei einem Fehler müssen Sie möglicherweise die neueste AWS CLI-Version installieren bzw. auf diese aktualisieren. Weitere Informationen finden Sie unter [Installieren der AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) im *AWS Command Line Interface -Benutzerhandbuch*.

1. Markieren Sie das Image in einem mit Amazon ECR kompatiblen Format, um es in Ihr Repository zu übertragen.

   ```
   docker tag \
       ${LOCAL_IMAGE_NAME} \
       ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

1. Erstellen Sie ein Amazon ECR-Repository unter Verwendung des AWS CLI. Informationen zum Erstellen des Repositorys mithilfe der Amazon-ECR-Konsole finden Sie unter [Erstellen eines privaten Amazon-ECR-Repositorys zum Speichern von Images](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --region ${REGION} \
       --repository-name ${ECR_REPO_NAME}
   ```

1. Übertragen Sie das Image in Ihr Amazon-ECR-Repository: Sie können das Docker-Image auch markieren.

   ```
   docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

Sobald das Image erfolgreich zu Ihrem Amazon-ECR-Repository hinzugefügt wurde, können Sie es in der [Amazon-ECR-Konsole](https://console.aws.amazon.com/ecr) anzeigen.

# Anfügen Ihres benutzerdefinierten Images an Ihre Domain
<a name="studio-updated-byoi-how-to-attach-to-domain"></a>

Diese Seite enthält Anweisungen zum Anhängen Ihres benutzerdefinierten Images an Ihre Domain. Gehen Sie wie folgt vor, um mit der Amazon SageMaker AI-Konsole zu Ihrer Domain zu navigieren und den Vorgang **Bild anhängen** zu starten.

Bei den folgenden Anweisungen wird davon ausgegangen, dass Sie ein Bild in ein Amazon ECR-Repository in derselben Domain AWS-Region wie Ihre Domain übertragen haben. Falls dies noch nicht geschehen ist, finden Sie weitere Informationen unter [Erstellen eines benutzerdefinierten Images und Übertragen auf Amazon ECR](studio-updated-byoi-how-to-prepare-image.md).

Wenn Sie ein Image anhängen möchten, haben Sie zwei Möglichkeiten:
+ Ein **neues Bild** anhängen: Mit dieser Option werden ein Bild und eine Image-Version in Ihrem SageMaker AI-Image-Speicher erstellt und dann an Ihre Domain angehängt.
**Anmerkung**  
Wenn Sie den BYOI-Prozess fortsetzen möchten, verwenden Sie von [Erstellen eines benutzerdefinierten Images und Übertragen auf Amazon ECR](studio-updated-byoi-how-to-prepare-image.md) aus die Option **Neues Image**.
+ Ein **vorhandenes Bild** anhängen: Wenn Sie Ihr gewünschtes benutzerdefiniertes Bild bereits im SageMaker AI-Bildspeicher erstellt haben, verwenden Sie diese Option. Durch diese Option wird ein vorhandenes benutzerdefiniertes Image an Ihre Domain angehängt. Informationen zum Anzeigen Ihrer benutzerdefinierten Bilder im SageMaker AI-Bildspeicher finden Sie unter[Anzeigen von benutzerdefinierten Image-Details (Konsole)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

------
#### [ New image ]

**So fügen Sie ein neues Image an die Domain an**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Erweitern Sie den Abschnitt **Admin-Konfigurationen**, falls dies noch nicht geschehen ist.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der **Domains** die Domain aus, an die das Image angehängt werden soll.
**Anmerkung**  
Wenn Sie das Image an ein SageMaker Unified Studio-Projekt anhängen und weitere Informationen zur zu verwendenden Domain benötigen, finden Sie weitere Informationen unter [Anzeigen der mit Ihrem Projekt verknüpften SageMaker KI-Domänendetails](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Öffnen Sie die Registerkarte **Umgebung**.

1. Wählen Sie im Abschnitt **Benutzerdefinierte Images für persönliche Studio-Apps** die Option **Image anhängen** aus.

1. Wählen Sie als **Image-Quelle** die Option **Neues Image** aus.

1. Fügen Sie die URI des Amazon-ECR-Images ein. Das Format lautet wie folgt.

   ```
   account-id.dkr.ecr.aws-region.amazonaws.com/repository-name:tag
   ```

   1. Um die URI Ihres Amazon-ECR-Images zu erhalten, navigieren Sie zu Ihrer Seite mit den privaten [Amazon-ECR-Repositorys](https://console.aws.amazon.com/ecr/private-registry/repositories).

   1. Wählen Sie den Link mit dem Repository-Namen aus.

   1. Wählen Sie das Symbol **URI kopieren** aus, das Ihrer Image-Version entspricht (**Image-Tag**).

1. Befolgen Sie die weiteren Anweisungen, um Ihr individuelles Image hinzuzufügen.
**Anmerkung**  
Stellen Sie sicher, dass Sie den Anwendungstyp verwenden, der Ihrer `Dockerfile` entspricht. Weitere Informationen finden Sie unter [Dockerfile-Beispiele](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Sobald das Image erfolgreich an Ihre Domain angefügt wurde, können Sie es auf der Registerkarte **Umgebung** anzeigen.

------
#### [ Existing image ]

**So fügen Sie ein bestehendes Image an Ihre Domain an**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Erweitern Sie den Abschnitt **Admin-Konfigurationen**, falls dies noch nicht geschehen ist.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der **Domains** die Domain aus, an die das Image angehängt werden soll.
**Anmerkung**  
Wenn Sie das Image an ein SageMaker Unified Studio-Projekt anhängen und weitere Informationen zur zu verwendenden Domain benötigen, finden Sie weitere Informationen unter [Anzeigen der mit Ihrem Projekt verknüpften SageMaker KI-Domänendetails](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Öffnen Sie die Registerkarte **Umgebung**.

1. Wählen Sie im Abschnitt **Benutzerdefinierte Images für persönliche Studio-Apps** die Option **Image anhängen** aus.

1. Wählen Sie als **Image-Quelle** die Option **Bestehendes Image** aus.

1. Wählen Sie ein vorhandenes Image und eine Image-Version aus dem SageMaker AI-Imagespeicher aus.

   Wenn Sie Ihre Image-Version nicht anzeigen können, müssen Sie möglicherweise eine erstellen. Weitere Informationen finden Sie unter [Anzeigen von benutzerdefinierten Image-Details (Konsole)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Befolgen Sie die weiteren Anweisungen, um Ihr individuelles Image hinzuzufügen.
**Anmerkung**  
Stellen Sie sicher, dass Sie den Anwendungstyp verwenden, der Ihrer `Dockerfile` entspricht. Weitere Informationen finden Sie unter [Dockerfile-Beispiele](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Sobald das Image erfolgreich an Ihre Domain angefügt wurde, können Sie es auf der Registerkarte **Umgebung** anzeigen.

------

Sobald Ihr Image erfolgreich an Ihre Domain angefügt wurde, können die Domain-Benutzer das Image für ihre Anwendung auswählen. Weitere Informationen finden Sie unter [Starten eines benutzerdefinierten Images in Studio](studio-updated-byoi-how-to-launch.md).

**Anmerkung**  
Wenn Sie Ihrem SageMaker Unified Studio-Projekt ein benutzerdefiniertes Image angehängt haben, müssen Sie die Anwendung von SageMaker Unified Studio aus starten. Weitere Informationen finden Sie unter [Starten Ihres benutzerdefinierten Images](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-launch-custom-image.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

# Aktualisieren der Container-Konfiguration
<a name="studio-updated-byoi-how-to-container-configuration"></a>

Sie können benutzerdefinierte Docker-Images in Ihre Workflows für Machine Learning integrieren. Ein wichtiger Aspekt bei der Anpassung dieser Images ist die Konfiguration der Container-Konfigurationen oder [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html). Die folgende Seite enthält ein Beispiel für die Konfiguration der `ContainerConfig`. 

Ein Einstiegspunkt ist der Befehl oder das Skript, der bzw. das ausgeführt wird, wenn der Container gestartet wird. Mit benutzerdefinierten Einstiegspunkten können Sie Ihre Umgebung einrichten, Services initialisieren oder alle erforderlichen Einstellungen vornehmen, bevor Ihre Anwendung gestartet wird. 

Dieses Beispiel enthält Anweisungen zur Konfiguration eines benutzerdefinierten Einstiegspunkts für Ihre JupyterLab Anwendung mithilfe von. AWS CLI In diesem Beispiel wird davon ausgegangen, dass Sie bereits ein benutzerdefiniertes Image und eine Domain erstellt haben. Detaillierte Anweisungen finden Sie unter [Anfügen Ihres benutzerdefinierten Images an Ihre Domain](studio-updated-byoi-how-to-attach-to-domain.md).

1. Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

   ```
   APP_IMAGE_CONFIG_NAME=app-image-config-name
   ENTRYPOINT_FILE=entrypoint-file-name
   ENV_KEY=environment-key
   ENV_VALUE=environment-value
   REGION=aws-region
   DOMAIN_ID=domain-id
   IMAGE_NAME=custom-image-name
   IMAGE_VERSION=custom-image-version
   ```
   + `app-image-config-name` ist der Name Ihrer Anwendungs-Image-Konfiguration.
   + `entrypoint-file-name` ist der Name des Einstiegspunkt-Skripts Ihres Containers. Beispiel, `entrypoint.sh`.
   + `environment-key` ist der Name der Umgebungsvariable.
   + `environment-value` ist der Wert, der Ihrer Umgebungsvariablen zugewiesen ist.
   + `aws-region`ist die AWS-Region Ihrer Amazon SageMaker AI-Domain. Sie finden dies oben rechts auf jeder AWS Konsolenseite. 
   + `domain-id` ist Ihre Domain-ID. Informationen zur Anzeige Ihrer Domains finden Sie unter [Anzeigen von Domains](domain-view.md).
   + `custom-image-name` ist der Name Ihres benutzerdefinierten Images. Informationen zu Ihren benutzerdefinierten Images finden Sie unter [Anzeigen von benutzerdefinierten Image-Details (Konsole)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

     Wenn Sie die Anweisungen unter [Anfügen Ihres benutzerdefinierten Images an Ihre Domain](studio-updated-byoi-how-to-attach-to-domain.md) befolgt haben, möchten Sie möglicherweise denselben Image-Namen verwenden, den Sie bei diesem Vorgang verwendet haben.
   + `custom-image-version` ist die Versionsnummer Ihres benutzerdefinierten Images. Dies sollte eine ganze Zahl sein, die die Version Ihres Images angibt. Informationen zu Ihren benutzerdefinierten Images finden Sie unter [Anzeigen von benutzerdefinierten Image-Details (Konsole)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Verwenden Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html)-API, um eine Image-Konfiguration zu erstellen.

   ```
   aws sagemaker create-app-image-config \
       --region ${REGION} \
       --app-image-config-name "${APP_IMAGE_CONFIG_NAME}" \
       --jupyter-lab-app-image-config "ContainerConfig = {
           ContainerEntrypoint = "${ENTRYPOINT_FILE}", 
           ContainerEnvironmentVariables = {
               "${ENV_KEY}"="${ENV_VALUE}"
           }
       }"
   ```

1. Verwenden Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)-API, um die Standardeinstellungen für Ihre Domain zu aktualisieren. Dadurch werden das benutzerdefinierte Image sowie die Konfiguration des Anwendungs-Images angefügt. 

   ```
   aws sagemaker update-domain \
       --region ${REGION} \
       --domain-id "${DOMAIN_ID}" \
       --default-user-settings "{
           \"JupyterLabAppSettings\": {
               \"CustomImages\": [
                   {
                       \"ImageName\": \"${IMAGE_NAME}\",
                       \"ImageVersionNumber\": ${IMAGE_VERSION},
                       \"AppImageConfigName\": \"${APP_IMAGE_CONFIG_NAME}\"
                   }
               ]
           }
       }"
   ```

# Starten eines benutzerdefinierten Images in Studio
<a name="studio-updated-byoi-how-to-launch"></a>

Nachdem Sie ein benutzerdefiniertes Bild an Ihre Amazon SageMaker AI-Domain angehängt haben, steht das Bild den Benutzern in der Domain zur Verfügung. Befolgen Sie die folgenden Anweisungen, um eine Anwendung mit dem benutzerdefinierten Image zu starten.

**Anmerkung**  
Wenn Sie Ihrem SageMaker Unified Studio-Projekt ein benutzerdefiniertes Image angehängt haben, müssen Sie die Anwendung von SageMaker Unified Studio aus starten. Weitere Informationen finden Sie unter [Starten Ihres benutzerdefinierten Images](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-launch-custom-image.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

1. Starten Sie Amazon SageMaker Studio. Detaillierte Anweisungen finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md).

1. Falls Sie dies noch nicht getan haben, erweitern Sie den Abschnitt **Anwendungen**.

1. Wählen Sie im Abschnitt **Anwendungen** die Anwendung aus. Sollten Sie die Anwendung nicht sehen, ist sie möglicherweise für Sie ausgeblendet. Wenden Sie sich in diesem Fall an Ihren Administrator.

1. Um einen Bereich zu erstellen, wählen Sie **\$1 *application* Bereich erstellen** und folgen Sie den Anweisungen, um den Bereich zu erstellen.

   Um einen vorhandenen Bereich auszuwählen, wählen Sie den Linknamen des Bereichs aus, den Sie öffnen möchten.

   

1. Wählen Sie unter **Image** das Image aus, das Sie verwenden möchten.

   Wenn das Dropdown-Menü **Image** nicht verfügbar ist, müssen Sie möglicherweise Ihren Bereich stoppen. Wählen Sie dazu **Bereich stoppen** aus.

1. Bestätigen Sie die Einstellungen für den Bereich und wählen Sie **Bereich ausführen** aus.

# Anzeigen Ihrer benutzerdefinierten Image-Details
<a name="studio-updated-byoi-view-images"></a>

Auf der folgenden Seite finden Sie Anweisungen zum Anzeigen Ihrer benutzerdefinierten Bilddetails im SageMaker AI-Bildspeicher.

## Anzeigen von benutzerdefinierten Image-Details (Konsole)
<a name="studio-updated-byoi-view-images-console"></a>

Im Folgenden finden Sie Anweisungen zum Anzeigen Ihrer benutzerdefinierten Bilder mit der SageMaker AI-Konsole. In diesem Abschnitt können Sie die Image-Details anzeigen und bearbeiten.

**Anzeigen Ihrer benutzerdefinierten Images (Konsole)**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Erweitern Sie den Abschnitt **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Images**.

1. Wählen Sie aus der Liste der **benutzerdefinierten Images** den Hyperlink Ihres Image-namens aus.

## Anzeigen von benutzerdefinierten Image-Details (AWS CLI)
<a name="studio-updated-byoi-view-images-cli"></a>

Der folgende Abschnitt zeigt ein Beispiel dafür, wie Sie Ihre benutzerdefinierten Images mit der AWS CLI anzeigen können.

```
aws sagemaker list-images \
       --region aws-region
```

# Beschleunigen Sie den Container-Start mit SOCI
<a name="soci-indexing"></a>

Die SOCI-Indizierung (Seekable Open Container Initiative) ermöglicht das verzögerte Laden von benutzerdefinierten Container-Images in [Amazon SageMaker Studio](studio-updated.md) oder [Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html) Unified Studio. SOCI reduziert die Startzeiten für Ihre benutzerdefinierten Container erheblich um etwa 30-70%. [Bring Your Own Image (BYOI)](studio-updated-byoi.md) Die Verbesserung der Latenz hängt von der Größe des Images, der Verfügbarkeit der Hosting-Instanz und anderen Anwendungsabhängigkeiten ab. SOCI erstellt einen Index, der es Containern ermöglicht, nur mit den erforderlichen Komponenten zu starten und bei Bedarf zusätzliche Dateien bei Bedarf abzurufen.

SOCI begegnet langsamen Startzeiten von Containern für benutzerdefinierte Images, die die iterativen Entwicklungsworkflows für maschinelles Lernen (ML) unterbrechen. Da ML-Workloads immer komplexer werden, sind Container-Images immer größer geworden, was zu Verzögerungen beim Start führt, die die Entwicklungszyklen behindern.

**Topics**
+ [Wichtigste Vorteile](#soci-indexing-key-benefits)
+ [Wie funktioniert die SOCI-Indizierung](#soci-indexing-how-works)
+ [Architekturkomponenten](#soci-indexing-architecture-components)
+ [Unterstützte Tools](#soci-indexing-supported-tools)
+ [Berechtigungen für die SOCI-Indizierung](soci-indexing-setup.md)
+ [Erstellen Sie SOCI-Indizes mit nerdctl und einem SOCI-CLI-Beispiel](soci-indexing-example-create-indexes.md)
+ [Integrieren Sie sozi-indizierte Bilder in das Studio-Beispiel](soci-indexing-example-integrate-studio.md)

## Wichtigste Vorteile
<a name="soci-indexing-key-benefits"></a>
+ **Schnellere Iterationszyklen**: Je nach Image- und Instanztyp reduzieren Sie den Start von Containern
+ **Universelle Optimierung**: Erweitern Sie die Leistungsvorteile auf alle benutzerdefinierten BYOI-Container in Studio

## Wie funktioniert die SOCI-Indizierung
<a name="soci-indexing-how-works"></a>

SOCI erstellt einen speziellen Metadatenindex, der die interne Dateistruktur Ihres Container-Images abbildet. Dieser Index ermöglicht den Zugriff auf einzelne Dateien, ohne das gesamte Bild herunterzuladen. Der SOCI-Index wird als OCI-konformes Artefakt (Open Container Initiative) in [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) gespeichert und mit Ihrem ursprünglichen Container-Image verknüpft, sodass die Image-Digests und die Signaturgültigkeit erhalten bleiben.

Wenn Sie einen Container in Studio starten, verwendet das System den SOCI-Index, um nur wichtige Dateien zu identifizieren und herunterzuladen, die für den Start benötigt werden. Zusätzliche Komponenten werden parallel abgerufen, wenn Ihre Anwendung sie benötigt.

## Architekturkomponenten
<a name="soci-indexing-architecture-components"></a>
+ **Originalbild des Containers**: Ihr in Amazon ECR gespeicherter Basiscontainer
+ **SOCI-Index-Artefakt**: Metadaten, die die Dateistruktur Ihres Images abbilden
+ **OCI-Bildindex-Manifest**: Verknüpft Ihr Originalbild und Ihren SOCI-Index
+ **Finch-Container-Laufzeit**: Ermöglicht die Lazy-Loading-Integration mit Studio

## Unterstützte Tools
<a name="soci-indexing-supported-tools"></a>


| Tool | Integration | 
| --- | --- | 
| nerdctl | Erfordert ein Container-Setup | 
| Finch CLI | Native SOCI-Unterstützung | 
| Docker\$1SOCI-CLI | Zusätzliche Werkzeuge erforderlich | 

**Topics**
+ [Wichtigste Vorteile](#soci-indexing-key-benefits)
+ [Wie funktioniert die SOCI-Indizierung](#soci-indexing-how-works)
+ [Architekturkomponenten](#soci-indexing-architecture-components)
+ [Unterstützte Tools](#soci-indexing-supported-tools)
+ [Berechtigungen für die SOCI-Indizierung](soci-indexing-setup.md)
+ [Erstellen Sie SOCI-Indizes mit nerdctl und einem SOCI-CLI-Beispiel](soci-indexing-example-create-indexes.md)
+ [Integrieren Sie sozi-indizierte Bilder in das Studio-Beispiel](soci-indexing-example-integrate-studio.md)

# Berechtigungen für die SOCI-Indizierung
<a name="soci-indexing-setup"></a>

[Erstellen Sie SOCI-Indizes für Ihre Container-Images und speichern Sie sie in Amazon ECR, bevor Sie die SOCI-Indizierung mit [Amazon SageMaker Studio](studio-updated.md) oder Amazon Unified Studio verwenden. SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html)

**Topics**
+ [Voraussetzungen](#soci-indexing-setup-prerequisites)
+ [Erforderliche IAM-Berechtigungen](#soci-indexing-setup-iam-permissions)

## Voraussetzungen
<a name="soci-indexing-setup-prerequisites"></a>
+ AWS-Konto mit einer [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)(IAM-) Rolle mit Verwaltungsberechtigungen
  + [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)
  + [Amazon SageMaker KI](https://docs.aws.amazon.com/sagemaker/latest/dg/gs.html)
+ [Private Amazon ECR-Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) zum Speichern Ihrer Container-Images
+ [AWS CLI Version 2.0\$1](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), konfiguriert mit entsprechenden Anmeldeinformationen
+ Die folgenden Container-Tools:
  + Erforderlich: [soci-snapshotter](https://github.com/awslabs/soci-snapshotter)
  + Optionen:
    + [nerdctl](https://github.com/containerd/nerdctl)
    + [Fink](https://github.com/runfinch/finch)

## Erforderliche IAM-Berechtigungen
<a name="soci-indexing-setup-iam-permissions"></a>

Ihre IAM-Rolle benötigt Berechtigungen für:
+  SageMaker KI-Ressourcen (Domains, Bilder, App-Konfigurationen) erstellen und verwalten.
  + Sie können die [SageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) AWS verwaltete Richtlinie verwenden. Weitere Informationen zu Berechtigungen finden Sie unter[AWS verwaltete Richtlinie: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess).
+ [IAM-Berechtigungen für die Übertragung eines Images in ein privates Amazon ECR-Repository](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-push-iam.html).

# Erstellen Sie SOCI-Indizes mit nerdctl und einem SOCI-CLI-Beispiel
<a name="soci-indexing-example-create-indexes"></a>

Die folgende Seite enthält ein Beispiel für die Erstellung von SOCI-Indizes mit nerdctl und SOCI CLI.

**Beispiel für das Erstellen von SOCI-Indizes**

1. Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein. Im Folgenden finden Sie ein Beispiel für die Einrichtung Ihrer Variablen.

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   REPOSITORY_NAME="repository-name"
   ORIGINAL_IMAGE_TAG="original-image-tag"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   Variablendefinitionen:
   + `ACCOUNT_ID`ist deine AWS-Konto ID
   + `REGION`ist das AWS-Region Ihrer privaten Amazon ECR-Registrierung
   + `REPOSITORY_NAME`ist der Name Ihrer privaten Amazon ECR-Registrierung
   + `ORIGINAL_IMAGE_TAG`ist das Tag Ihres Originalbilds
   + `SOCI_IMAGE_TAG`ist das Tag Ihres sozi-indexierten Bildes

1. Installieren Sie die erforderlichen Tools:

   ```
   # Install SOCI CLI, containerd, and nerdctl
   sudo yum install soci-snapshotter
   sudo yum install containerd jq  
   sudo systemctl start soci-snapshotter
   sudo systemctl restart containerd
   sudo yum install nerdctl
   ```

1. Stellen Sie Ihre Registrierungsvariablen ein:

   ```
   REGISTRY_USER=AWS
   REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com"
   ```

1. Exportieren Sie Ihre Region und authentifizieren Sie sich bei Amazon ECR:

   ```
   export AWS_REGION=$REGION
   REGISTRY_PASSWORD=$(/usr/local/bin/aws ecr get-login-password --region $AWS_REGION)
   echo $REGISTRY_PASSWORD | sudo nerdctl login -u $REGISTRY_USER --password-stdin $REGISTRY
   ```

1. Rufen Sie Ihr ursprüngliches Container-Image ab:

   ```
   sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG
   ```

1. Erstellen Sie den SOCI-Index:

   ```
   sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
   ```

1. Push das SOCI-indizierte Bild:

   ```
   sudo nerdctl push --platform linux/amd64 $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
   ```

Dieser Prozess erstellt zwei Artefakte für das ursprüngliche Container-Image in Ihrem ECR-Repository:
+ SOCI-Index — Metadaten ermöglichen verzögertes Laden
+ Image-Index-Manifest — OCI-konformes Manifest

# Integrieren Sie sozi-indizierte Bilder in das Studio-Beispiel
<a name="soci-indexing-example-integrate-studio"></a>

Sie müssen auf das Soci-Indexed-Image-Tag verweisen, um mit Soci-Index indizierte Bilder in Studio verwenden zu können, und nicht auf das ursprüngliche Container-Image-Tag. Verwenden Sie das Tag, das Sie bei der SOCI-Konvertierung angegeben haben (z. B. in). `SOCI_IMAGE_TAG` [Erstellen Sie SOCI-Indizes mit nerdctl und einem SOCI-CLI-Beispiel](soci-indexing-example-create-indexes.md)

**Beispiel für die Integration von SOCI-indexierten Bildern**

1. Stellen Sie zuerst Ihre Variablen für die folgenden AWS CLI Befehle ein. Im Folgenden finden Sie ein Beispiel für die Einrichtung Ihrer Variablen.

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   IMAGE_NAME="sagemaker-image-name"
   IMAGE_CONFIG_NAME="sagemaker-image-config-name"
   ROLE_ARN="your-role-arn"
   DOMAIN_ID="domain-id"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   Variablendefinitionen:
   + `ACCOUNT_ID`ist deine AWS-Konto ID
   + `REGION`ist das AWS-Region Ihrer privaten Amazon ECR-Registrierung
   + `IMAGE_NAME`ist der Name Ihres Bildes SageMaker 
   + `IMAGE_CONFIG_NAME`ist der Name Ihrer SageMaker Image-Konfiguration
   + `ROLE_ARN`ist der ARN Ihrer Ausführungsrolle mit den unter [Erforderliche IAM-Berechtigungen](soci-indexing-setup.md#soci-indexing-setup-iam-permissions) aufgeführten Berechtigungen
   + `DOMAIN_ID`ist die [Domain-ID](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view.html)
**Anmerkung**  
Wenn Sie das Image an ein SageMaker Unified Studio-Projekt anhängen und wissen möchten, welche Domain verwendet werden soll, finden Sie weitere Informationen unter [Anzeigen der mit Ihrem Projekt verknüpften SageMaker KI-Domänendetails](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).
   + `SOCI_IMAGE_TAG`ist das Tag Ihres von Social indexierten Bildes

1. Exportiere deine Region:

   ```
   export AWS_REGION=$REGION
   ```

1. Erstelle ein SageMaker Bild:

   ```
   aws sagemaker create-image \
       --image-name "$IMAGE_NAME" \
       --role-arn "$ROLE_ARN"
   ```

1. Erstellen Sie eine SageMaker Image-Version mit Ihrem SOCI-Index-URI:

   ```
   IMAGE_INDEX_URI="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/$IMAGE_NAME:$SOCI_IMAGE_TAG"
   
   aws sagemaker create-image-version \
       --image-name "$IMAGE_NAME" \
       --base-image "$IMAGE_INDEX_URI"
   ```

1. Erstellen Sie eine Anwendungs-Image-Konfiguration und aktualisieren Sie Ihre Amazon SageMaker AI-Domain, sodass sie das benutzerdefinierte Image für Ihre App enthält. Sie können dies für den auf Code-OSS basierenden Code-Editor, Visual Studio Code — Open Source (Code-Editor) und JupyterLab Anwendungen tun. Wählen Sie die unten stehende Anwendungsoption, um die Schritte anzuzeigen.

------
#### [ Code Editor ]

   Erstellen Sie eine Anwendungs-Image-Konfiguration für den Code-Editor:

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --code-editor-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   Aktualisieren Sie Ihre Amazon SageMaker AI-Domain, sodass sie das benutzerdefinierte Bild für den Code-Editor enthält:

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "CodeEditorAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------
#### [ JupyterLab ]

   Erstellen Sie eine Anwendungs-Image-Konfiguration für JupyterLab:

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --jupyter-lab-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   Aktualisieren Sie Ihre Amazon SageMaker AI-Domain, sodass sie das benutzerdefinierte Bild enthält für JupyterLab:

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "JupyterLabAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------

1. Nachdem Sie Ihre Domain so aktualisiert haben, dass sie Ihr benutzerdefiniertes Image enthält, können Sie mit Ihrem benutzerdefinierten Image eine Anwendung in Studio erstellen. Wenn Sie [Starten eines benutzerdefinierten Images in Studio](studio-updated-byoi-how-to-launch.md) sicherstellen, dass Sie Ihr benutzerdefiniertes Image verwenden.

# Trennen und Bereinigen von benutzerdefinierten Image-Ressourcen
<a name="studio-updated-byoi-how-to-detach-from-domain"></a>

Auf der folgenden Seite finden Sie Anweisungen zum Trennen Ihrer benutzerdefinierten Bilder und zum Bereinigen der zugehörigen Ressourcen mithilfe der Amazon SageMaker AI-Konsole oder der AWS Command Line Interface (AWS CLI). 

**Wichtig**  
Sie müssen zuerst Ihr benutzerdefiniertes Bild von Ihrer Domain trennen, bevor Sie das Bild aus dem SageMaker AI-Image-Speicher löschen können. Andernfalls können beim Anzeigen Ihrer Domain-Informationen oder beim Anfügen neuer benutzerdefinierter Images an Ihre Domain Fehler auftreten.   
Falls beim Laden eines benutzerdefinierten Images ein Fehler auftritt, finden Sie weitere Informationen unter [Benutzerdefiniertes Image konnte nicht geladen werden](studio-updated-troubleshooting.md#studio-updated-troubleshooting-custom-image). 

## Trennen und Löschen benutzerdefinierter Images (Konsole)
<a name="studio-updated-byoi-how-to-detach-from-domain-console"></a>

Im Folgenden finden Sie Anweisungen, wie Sie Ihre benutzerdefinierten Bilder von SageMaker KI trennen und Ihre benutzerdefinierten Image-Ressourcen mithilfe der Konsole bereinigen können.

**Trennen des benutzerdefinierten Images von der Domain**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Erweitern Sie den Abschnitt **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der **Domains** eine Domain aus.

1. Öffnen Sie die Registerkarte **Umgebung**.

1. Aktivieren Sie für **Benutzerdefinierte Images für persönliche Studio-Apps** die Kontrollkästchen für die Images, die Sie trennen möchten.

1. Wählen Sie **Trennen** aus.

1. Befolgen Sie die Anweisungen zum Trennen.

**Löschen des benutzerdefinierten Images**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Erweitern Sie den Abschnitt **Admin-Konfigurationen**, falls dies noch nicht geschehen ist.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Images**.

1. Wählen Sie aus der Liste der **Images** ein Image aus, das Sie löschen möchten.

1. Wählen Sie **Löschen** aus.

1. Folgen Sie den Anweisungen, um Ihr Bild und all seine Versionen aus SageMaker AI zu löschen.

**Löschen von benutzerdefinierten Images und Repository aus Amazon ECR**
**Wichtig**  
Dadurch werden auch alle Container-Images und Artefakte in diesem Repository gelöscht.

1. Öffnen Sie die [Amazon-ECR-Konsole](https://console.aws.amazon.com/ecr).

1. Erweitern Sie den linken Navigationsbereich, falls dies noch nicht der Fall ist.

1. Wählen Sie unter **Private Registrierung** die Option **Repositorys** aus.

1. Wählen Sie die Repositorys aus, die Sie löschen möchten.

1. Wählen Sie **Löschen** aus.

1. Befolgen Sie die Anweisungen zum Löschen.

## Trennen und Löschen benutzerdefinierter Images (AWS CLI)
<a name="studio-updated-byoi-how-to-detach-from-domain-cli"></a>

Der folgende Abschnitt zeigt ein Beispiel dafür, wie Sie Ihre benutzerdefinierten Images mit der AWS CLI trennen können.

1. Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

   ```
   ACCOUNT_ID=account-id
   REGION=aws-region
   APP_IMAGE_CONFIG=app-image-config
   SAGEMAKER_IMAGE_NAME=custom-image-name
   ```
   + `aws-region`ist die AWS-Region Ihrer Amazon SageMaker AI-Domain. Sie finden dies oben rechts auf jeder AWS Konsolenseite. 
   + `app-image-config` ist der Name Ihrer Anwendungs-Image-Konfiguration. Verwenden Sie den folgenden AWS CLI Befehl, um die Anwendungs-Image-Konfigurationen in Ihrem aufzulisten AWS-Region.

     ```
     aws sagemaker list-app-image-configs \
            --region ${REGION}
     ```
   + `custom-image-name` ist der Name des benutzerdefinierten Images. Verwenden Sie den folgenden AWS CLI Befehl, um die Bilder in Ihrem aufzulisten AWS-Region.

     ```
     aws sagemaker list-images \
            --region ${REGION}
     ```

1. Um das Image und die Image-Versionen mithilfe dieser Anweisungen von Ihrer Domain zu trennen, müssen Sie eine JSON-Datei für die Domainkonfiguration erstellen oder aktualisieren.
**Anmerkung**  
Wenn Sie die Anweisungen unter [Anfügen Ihres benutzerdefinierten Images an Ihre Domain](studio-updated-byoi-how-to-attach-to-domain.md) befolgt haben, haben Sie Ihre Domain möglicherweise mithilfe der Datei `update-domain.json` aktualisiert.   
Wenn Sie diese Datei nicht haben, können Sie stattdessen eine neue JSON-Datei erstellen.

   Erstellen Sie eine Datei mit dem Namen `update-domain.json`, mit der Sie Ihre Domain aktualisieren.

1. Um die benutzerdefinierten Images zu löschen, müssen Sie `CustomImages` leer lassen, sodass es wie folgt aussieht: `"CustomImages": []` Wählen Sie eine der folgenden Optionen, um Beispielkonfigurationsdateien für den Code-Editor oder anzuzeigen JupyterLab.

------
#### [ Code Editor: update domain configuration file example ]

   Ein Beispiel für eine Konfigurationsdatei für Code Editor, unter Verwendung von [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CodeEditorAppSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CodeEditorAppSettings.html)

   ```
   {
       "DomainId": "domain-id",
       "DefaultUserSettings": {
           "CodeEditorAppSettings": {
               "CustomImages": [
               ]
           }
       }
   }
   ```

------
#### [ JupyterLab: update domain configuration file example ]

   Ein Beispiel für eine Konfigurationsdatei für JupyterLab die Verwendung von [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_JupyterLabAppSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_JupyterLabAppSettings.html).

   ```
   {
       "DomainId": "domain-id",
       "DefaultUserSettings": {
           "JupyterLabAppSettings": {
               "CustomImages": [
               ]
           }
       }
   }
   ```

------

   `domain-id` ist die Domain-ID, an die Ihr Image angehängt ist. Verwenden Sie den folgenden Befehl, um die Domains aufzulisten.

   ```
   aws sagemaker list-domains \
         --region ${REGION}
   ```

1. Speichern Sie die Datei.

1. Rufen Sie die [Update-Domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) AWS CLI mithilfe der Update-Domain-Konfigurationsdatei auf,. `update-domain.json`
**Anmerkung**  
Bevor Sie die benutzerdefinierten Images aktualisieren können, müssen Sie alle **Anwendungen** in Ihrer Domain löschen. Sie müssen **keine** Benutzerprofile oder gemeinsam genutzten Bereiche löschen. Wählen Sie für Anweisungen zum Löschen von Anwendungen eine der folgenden Optionen aus.  
Wenn Sie die SageMaker AI-Konsole verwenden möchten, finden Sie weitere Informationen unter. [Fahren Sie die SageMaker KI-Ressourcen in Ihrer Domain herunter](sm-console-domain-resources-shut-down.md)
Wenn Sie die verwenden möchten AWS CLI, verwenden Sie die Schritte 1 bis 3 von[Löschen Sie eine Amazon SageMaker AI-Domain (AWS CLI)](gs-studio-delete-domain.md#gs-studio-delete-domain-cli).

   ```
   aws sagemaker update-domain \
       --cli-input-json file://update-domain.json \
       --region ${REGION}
   ```

1. Löschen Sie die App-Image-Konfiguration.

   ```
   aws sagemaker delete-app-image-config \
       --app-image-config-name ${APP_IMAGE_CONFIG}
   ```

1. Löschen Sie das benutzerdefinierte Image. Dadurch werden auch alle Image-Versionen gelöscht. Dadurch werden das Image und die Image-Versionen des Amazon-ECR-Containers nicht gelöscht. Führen Sie dazu die folgenden optionalen Schritte aus.

   ```
   aws sagemaker delete-image \
       --image-name ${SAGEMAKER_IMAGE_NAME}
   ```

1. (Optional) Löschen Sie Ihre Amazon-ECR-Ressourcen. Die folgende Liste enthält AWS CLI Befehle zum Abrufen Ihrer Amazon ECR-Ressourceninformationen für die folgenden Schritte.

   1. Stellen Sie Ihre Variablen für die folgenden AWS CLI Befehle ein.

      ```
      ECR_REPO_NAME=ecr-repository-name
      ```

      `ecr-repository-name` ist der Name Ihres Repositorys von Amazon Elastic Container Registry. 

      Verwenden Sie den folgenden Befehl, um die Details Ihrer Repositorys aufzulisten.

      ```
      aws ecr describe-repositories \
              --region ${REGION}
      ```

   1. Löschen Sie das Repository aus Amazon ECR. 
**Wichtig**  
Dadurch werden auch alle Container-Images und Artefakte in diesem Repository gelöscht.

      ```
      aws ecr delete-repository \
            --repository-name ${ECR_REPO_NAME} \
            --force \
            --region ${REGION}
      ```

# Lebenszykluskonfigurationen in Amazon SageMaker Studio
<a name="studio-lifecycle-configurations"></a>

Lebenszykluskonfigurationen (LCCs) sind Skripts, mit denen Administratoren und Benutzer die Anpassung der folgenden Anwendungen in Ihrer Amazon SageMaker Studio-Umgebung automatisieren können:
+ Amazon SageMaker KI JupyterLab
+ Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source
+ Studio Classic
+ Notebook-Instance

Anpassen Ihrer Anwendung umfasst:
+ Installieren von benutzerdefinierten Paketen
+ Konfigurieren von Erweiterungen
+ Vorladen von Datensätzen
+ Einrichten von Quellcode-Repositorys

Benutzer erstellen integrierte Lebenszykluskonfigurationen und fügen sie ihren eigenen Benutzerprofilen hinzu. Administratoren erstellen standardmäßige oder integrierte Lebenszykluskonfigurationen auf Domain-, Bereichs- oder Benutzerprofilebene und fügen sie hinzu.

**Wichtig**  
Amazon SageMaker Studio führt zuerst die integrierte Lebenszykluskonfiguration und dann das Standard-LCC aus. Amazon SageMaker AI löst keine Paketkonflikte zwischen dem Benutzer und dem Administrator LCCs. Wenn beispielsweise die integrierte LCC `python3.11` installiert und die Standard-LCC `python3.12` installiert, installiert Studio `python3.12`. 

# Erstellen und Anfügen von Lebenszykluskonfigurationen
<a name="studio-lifecycle-configurations-create"></a>

Sie können Lebenszykluskonfigurationen entweder mit dem AWS-Managementkonsole oder dem erstellen und anhängen AWS Command Line Interface.

**Topics**
+ [Erstellen und Anfügen von Lebenszykluskonfigurationen (AWS CLI)](#studio-lifecycle-configurations-create-cli)
+ [Erstellen und Anfügen von Lebenszykluskonfigurationen (Konsole)](#studio-lifecycle-configurations-create-console)

## Erstellen und Anfügen von Lebenszykluskonfigurationen (AWS CLI)
<a name="studio-lifecycle-configurations-create-cli"></a>

**Wichtig**  
Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:   
Aktualisieren Sie das, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
Führen Sie das Programm von Ihrem lokalen Computer aus `aws configure` und geben Sie Ihre AWS Anmeldeinformationen ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [Ihre AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
Integrieren Sie die Amazon SageMaker AI-Domain. Weitere konzeptuelle Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). Eine Schnellstartanleitung finden Sie unter [Verwenden Sie das Schnell-Setup für Amazon SageMaker AI](onboard-quick-start.md).

Das folgende Verfahren zeigt, wie Sie ein Lebenszyklus-Konfigurationsskript erstellen, das `Hello World` im Code-Editor oder gedruckt wird JupyterLab.

**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!'
   ```

1. Gehen Sie wie folgt vor, um Ihre `my-script.sh`-Datei in das base64-Format zu konvertieren. Diese Anforderung verhindert Fehler, die bei der Kodierung von Abständen und Zeilenumbrüchen auftreten.

   ```
   LCC_CONTENT=`openssl base64 -A -in my-script.sh`
   ```

1. Erstellen Sie eine Lebenszykluskonfiguration für die Verwendung mit Studio. Der folgende Befehl erstellt eine Lebenszykluskonfiguration, die ausgeführt wird, wenn Sie eine zugehörige `JupyterLab`-Anwendung starten.

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

   Geben Sie für `studio-lifecycle-config-app-type` entweder *CodeEditor* oder *JupyterLab* an.
**Anmerkung**  
Der ARN der neu erstellten Lebenszykluskonfiguration, die zurückgegeben wird. Dieser ARN ist erforderlich, um die Lebenszykluskonfiguration an Ihre Anwendung anzuhängen.

Um sicherzustellen, dass die Umgebungen ordnungsgemäß angepasst sind, verwenden Benutzer und Administratoren unterschiedliche Befehle, um Lebenszykluskonfigurationen anzufügen.

### Anfügen standardmäßiger Lebenszykluskonfigurationen (Administrator)
<a name="studio-lifecycle-configurations-attach-cli-administrator"></a>

Um die Lebenszykluskonfiguration anzuhängen, müssen Sie die `UserSettings` für Ihre Domain oder Ihr Benutzerprofil aktualisieren. Skripte zur Lebenszykluskonfiguration, die auf Domainebene verknüpft sind, werden von allen Benutzern übernommen. Skripte, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. 

Sie können ein neues Benutzerprofil, eine neue Domain oder einen neuen Bereich mit angefügter Lebenszykluskonfiguration mithilfe der folgenden Befehle erstellen:
+ [create-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-user-profile.html)
+ [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html)
+ [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html)

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration für eine JupyterLab Anwendung. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `JupyterLabAppSettings` des Benutzers hinzu. Sie können mehrere Lebenszykluskonfigurationen gleichzeitig hinzufügen, indem Sie eine Liste mit diesen übergeben. Wenn ein Benutzer eine JupyterLab Anwendung mit dem startet AWS CLI, kann er eine Lebenszykluskonfiguration angeben, anstatt die Standardkonfiguration zu verwenden. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in `JupyterLabAppSettings` 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 '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration für eine Code-Editor-Anwendung. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `CodeEditorAppSettings` des Benutzers hinzu. Sie können mehrere Lebenszykluskonfigurationen gleichzeitig hinzufügen, indem Sie eine Liste mit diesen übergeben. Wenn ein Benutzer eine Code-Editor-Anwendung mit der AWS CLI startet, kann er eine Lebenszykluskonfiguration angeben, anstatt die Standardkonfiguration zu verwenden. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in `CodeEditorAppSettings` 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 '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

### Anfügen integrierter Lebenszykluskonfigurationen (Benutzer)
<a name="studio-lifecycle-configurations-attach-cli-user"></a>

Um die Lebenszykluskonfiguration anzuhängen, müssen Sie die `UserSettings` für Ihr Benutzerprofil aktualisieren.

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration für eine JupyterLab Anwendung. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `JupyterLabAppSettings` des Benutzerprofils hinzu.

```
# Update a UserProfile
aws sagemaker update-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"JupyterLabAppSettings": {
  "BuiltInLifecycleConfigArn":"lifecycle-configuration-arn"
  }
}'
```

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration für eine Code-Editor-Anwendung. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `CodeEditorAppSettings` des Benutzerprofils hinzu. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in `CodeEditorAppSettings` gehören.

```
# Update a UserProfile
aws sagemaker update-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"CodeEditorAppSettings": {
  "BuiltInLifecycleConfigArn":"lifecycle-configuration-arn"
  }
}'
```

## Erstellen und Anfügen von Lebenszykluskonfigurationen (Konsole)
<a name="studio-lifecycle-configurations-create-console"></a>

Um Lebenszykluskonfigurationen in der zu erstellen und anzuhängen AWS-Managementkonsole, navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker) und wählen Sie in der linken Navigationsleiste **Lebenszykluskonfigurationen** aus. Die Konsole führt Sie durch den Prozess der Erstellung der Lebenszykluskonfiguration.

# Konfigurationen für den Debug-Lebenszyklus
<a name="studio-lifecycle-configurations-debug"></a>

In den folgenden Themen erfahren Sie, wie Sie Informationen über Ihre Lebenszykluskonfigurationen abrufen und debuggen.

**Topics**
+ [Überprüfen Sie den Prozess der Lebenszykluskonfiguration anhand der Protokolle CloudWatch](#studio-lifecycle-configurations-debug-logs)
+ [Timeout für die Lebenszykluskonfiguration](studio-lifecycle-configurations-debug-timeout.md)

## Überprüfen Sie den Prozess der Lebenszykluskonfiguration anhand der Protokolle CloudWatch
<a name="studio-lifecycle-configurations-debug-logs"></a>

Lebenszykluskonfigurationen protokollieren nur `STDOUT` und `STDERR`.

`STDOUT` ist die Standardausgabe für Bash-Skripte. Sie können in `STDERR` schreiben, indem Sie `>&2` an das Ende eines Bash-Befehls anhängen. Beispiel, `echo 'hello'>&2`. 

Protokolle für Ihre Lebenszykluskonfigurationen werden auf Amazon veröffentlicht, wenn Sie Amazon AWS-Konto verwenden CloudWatch. Diese Protokolle finden Sie im `/aws/sagemaker/studio` Protokollstream in der CloudWatch Konsole.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im linken Navigationsbereich **Protokolle** aus. Wählen Sie im Dropdown-Menü **Protokollgruppen** aus.

1. Suchen Sie auf der Seite **Protokollgruppen** nach `aws/sagemaker/studio`. 

1. Wählen Sie die -Protokollgruppe aus.

1. Wählen Sie auf der Seite mit den **Details zur Protokollgruppe** die Registerkarte **Protokollstreams** aus.

1. Um die Protokolle für einen bestimmten Bereich und eine bestimmte App zu finden, suchen Sie die Protokollstreams im folgenden Format:

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   Um beispielsweise die Protokolle der Lebenszykluskonfiguration für Domain-ID `d-m85lcu8vbqmz`, Bereichsname `i-sonic-js` und Anwendungstyp `JupyterLab` zu finden, verwenden Sie die folgende Suchzeichenfolge:

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

1. Wählen Sie den mit `LifecycleConfigOnStart` angehängten Protokollstream aus, um die Protokolle der Skriptausführung anzuzeigen.

# Timeout für die Lebenszykluskonfiguration
<a name="studio-lifecycle-configurations-debug-timeout"></a>

Für die Lebenszykluskonfiguration gilt ein Timeout von 5 Minuten. Wenn die Ausführung eines Skripts zur Lebenszykluskonfiguration länger als 5 Minuten dauert, wird ein Fehler ausgegeben.

Um diesen Fehler zu beheben, stellen Sie sicher, dass das Skript einer Lebenszykluskonfiguration in weniger als 5 Minuten abgeschlossen ist. 

Gehen Sie zum Reduzieren der Laufzeit von Skripten wie folgt vor:
+ Reduzieren Sie unnötige Schritte. Schränken Sie zum Beispiel ein, in welchen conda-Umgebungen große Pakete installiert werden sollen.
+ Führen Sie Aufgaben in parallelen Prozessen aus.
+ Verwenden Sie den Befehl „nohup“ in Ihrem Skript, um sicherzustellen, dass hangup-Signale ignoriert werden, sodass das Skript ohne Unterbrechung ausgeführt wird.

# Amazon SageMaker Studio-Räume
<a name="studio-updated-spaces"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

Spaces werden verwendet, um den Speicher- und Ressourcenbedarf einiger Amazon SageMaker Studio-Anwendungen zu verwalten. Jeder Bereich besteht aus mehreren Ressourcen und kann entweder privat oder gemeinsam genutzt werden. Jeder Bereich hat eine 1:1-Beziehung zu einer Instance einer Anwendung. Jede unterstützte Anwendung, die erstellt wird, erhält ihren eigenen Bereich. Die folgenden Anwendungen in Studio werden auf Bereichen ausgeführt: 
+  [Code-Editor in Amazon SageMaker Studio](code-editor.md)
+  [SageMaker JupyterLab](studio-updated-jl.md) 
+  [Amazon SageMaker Studio Klassisch](studio.md) 

Ein Bereich besteht aus den folgenden Ressourcen: 
+ einem Speicher-Volume. 
  + Bei Studio Classic ist der Bereich mit dem gemeinsam genutzten Volume von Amazon Elastic File System (Amazon EFS) für die Domain verbunden. 
  + Für andere Anwendungen wird ein eigenes Volume von Amazon Elastic Block Store (Amazon EBS) an den Bereich angefügt. Alle Anwendungen erhalten ein eigenes Amazon-EBS-Volume. Anwendungen haben keinen Zugriff auf das Amazon-EBS-Volume anderer Anwendungen. Weitere Informationen über Amazon-EBS-Volumes finden Sie unter [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/AmazonEBS.html). 
+ Der Anwendungstyp des Bereichs. 
+ Das Image, auf dem die Anwendung basiert.

Bereiche können entweder privat oder gemeinsam genutzt werden:
+  **Privat**: Private Bereiche sind auf einen einzelnen Benutzer in einer Domain beschränkt. Private Bereiche können nicht mit anderen Benutzern geteilt werden. Alle Anwendungen, die Bereiche unterstützen, unterstützen auch private Bereiche. 
+  **Gemeinsam genutzt**: Gemeinsam genutzte Bereiche sind für alle Benutzer in der Domain zugänglich. Weitere Informationen zur Datenfreigabe finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md). 

Bereiche können in Domänen erstellt werden, die entweder die AWS IAM Identity Center oder AWS Identity and Access Management (IAM) -Authentifizierung verwenden. Die folgenden Abschnitte bieten allgemeine Informationen zum Zugriff auf Bereiche. Spezifische Informationen zum Erstellen und Zugreifen auf einen Bereich finden Sie in der Dokumentation für den jeweiligen Anwendungstyp des Bereichs, den Sie erstellen. 

Informationen zum Anzeigen, Stoppen oder Löschen Ihrer Anwendungen, Instances oder Bereiche finden Sie unter [Stoppen und Löschen Ihrer laufenden Studio-Anwendungen und -Bereiche](studio-updated-running-stop.md).

**Topics**
+ [Starten von Bereichen](studio-updated-spaces-access.md)
+ [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md)

# Starten von Bereichen
<a name="studio-updated-spaces-access"></a>

Die folgenden Abschnitte bieten allgemeine Informationen zum Zugriff auf Bereiche in einer Domain. Auf Bereiche kann auf eine der folgenden Arten zugegriffen werden:
+ von der Amazon SageMaker AI-Konsole
+ über Studio
+ mit dem AWS CLI

## Über die Amazon SageMaker AI-Konsole auf Bereiche zugreifen
<a name="studio-updated-spaces-access-console"></a>

**So greifen Sie von der Amazon SageMaker AI-Konsole aus auf Bereiche zu**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der Domains die Domain aus, die die Bereiche enthält.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Bereichsverwaltung** aus. Weitere Informationen zum Verwaltung von Bereichen finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md).

1. Wählen Sie aus der Liste der Bereiche für diese Domain den Bereich aus, den Sie starten möchten.

1. Wählen Sie **Studio starten** für den Bereich aus, den Sie starten möchten.

## Zugreifen auf Bereiche von Studio aus
<a name="studio-updated-spaces-access-updated"></a>

Gehen Sie wie folgt vor, um von Studio aus auf Bereiche für einen bestimmten Anwendungstyp zuzugreifen. 

**So greifen Sie von Studio aus auf Bereiche zu**

1. Öffnen Sie Studio, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) befolgen. 

1. Wählen Sie den Anwendungstyp mit Bereichen aus, auf die Sie zugreifen möchten.

## Zugreifen auf Bereiche mit dem AWS CLI
<a name="studio-updated-spaces-access-cli"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie über das AWS Command Line Interface (AWS CLI) auf ein Leerzeichen zugreifen. Die Verfahren gelten für Domänen, die AWS Identity and Access Management (IAM) oder AWS IAM Identity Center Authentifizierung verwenden. 

### IAM-Authentifizierung
<a name="studio-updated-spaces-access-cli-iam"></a>

Im folgenden Verfahren wird allgemein beschrieben, wie Sie mithilfe der IAM-Authentifizierung über die AWS CLI auf einen Bereich zugreifen. 

1. Erstellen Sie eine vorsignierte Domain-URL, die den Namen des Bereichs angibt, auf den Sie zugreifen möchten.

   ```
   aws \
       --region region \
       sagemaker \
       create-presigned-domain-url \
       --domain-id domain-id \
       --user-profile-name user-profile-name \
       --space-name space-name
   ```

1. Navigieren Sie zur URL. 

### Zugreifen auf einen Bereich in der Authentifizierung von IAM Identity Center
<a name="studio-updated-spaces-access-identity-center"></a>

Im folgenden Verfahren wird beschrieben, wie Sie mithilfe der Authentifizierung von IAM Identity Center über die AWS CLI auf einen Bereich zugreifen. 

1. Verwenden Sie den folgenden Befehl, um die dem Bereich zugeordnete URL zurückzugeben.

   ```
   aws \
       --region region \
       sagemaker \
       describe-space \
       --domain-id domain-id \
       --space-name space-name
   ```

1. Hängen Sie den entsprechenden Umleitungsparameter für den Anwendungstyp an die URL an, die über IAM Identity Center verbunden werden soll. Weitere Informationen zu den Umleitungsparametern finden Sie unter [describe-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/describe-space.html). 

1. Navigieren Sie zur URL, die über IAM Identity Center verbunden werden soll. 

# Zusammenarbeit mit gemeinsam genutzten Räumen
<a name="domain-space"></a>

Ein gemeinsam genutzter Amazon SageMaker Studio Classic-Bereich besteht aus einer gemeinsam genutzten JupyterServer Anwendung und einem gemeinsamen Verzeichnis. Ein JupyterLab gemeinsam genutzter Bereich besteht aus einer gemeinsam genutzten JupyterLab Anwendung und einem gemeinsamen Verzeichnis innerhalb von Amazon SageMaker Studio. Alle Benutzerprofile in einer Domain haben Zugriff auf alle gemeinsam genutzten Bereiche in der Domain. Amazon SageMaker AI bestimmt automatisch den Umfang von Ressourcen in einem gemeinsam genutzten Bereich im Kontext der Amazon SageMaker Studio Classic-Anwendung, die Sie in diesem gemeinsam genutzten Bereich starten. Zu den Ressourcen in einem gemeinsam genutzten Bereich gehören Notebooks, Dateien, Experimente und Modelle. Nutzen Sie gemeinsam genutzte Bereiche, um mithilfe von Funktionen wie automatischem Tagging, gemeinsamer Bearbeitung von Notebooks in Echtzeit und Anpassung mit anderen Benutzern in Echtzeit zusammenzuarbeiten. 

Gemeinsam genutzte Bereiche sind verfügbar in:
+ Amazon SageMaker Studio Klassisch
+ JupyterLab

Ein gemeinsam genutzter Studio Classic-Bereich unterstützt nur Studio Classic und KernelGateway Anwendungen. Ein gemeinsam genutzter Bereich unterstützt nur die Verwendung eines Amazon-Ressourcennamens (ARN) mit JupyterLab 3 Bildern. Weitere Informationen finden Sie unter [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md).

 Amazon SageMaker AI kennzeichnet automatisch alle SageMaker KI-Ressourcen, die Sie im Rahmen eines gemeinsam genutzten Bereichs erstellen. Sie können diese Tags verwenden, um Kosten zu überwachen und Budgets mithilfe von Tools zu planen, wie z. AWS Budgets

Ein gemeinsam genutzter Bereich verwendet dieselben VPC-Einstellungen wie die Domain, in der er erstellt wurde. 

**Anmerkung**  
 Gemeinsam genutzte Bereiche unterstützen die Verwendung von kontenübergreifenden Amazon SageMaker Data Wrangler- oder Amazon EMR-Clustern nicht. 

 **Automatisches Tagging** 

 Alle in einem gemeinsam genutzten Bereich erstellten Ressourcen werden automatisch mit einem Domain-ARN-Tag und einem ARN-Tag für den gemeinsam genutzten Bereich markiert. Das Domain-ARN-Tag basiert auf der Domain-ID, während das ARN-Tag für den gemeinsam genutzten Bereich auf dessen Namen basiert. 

 Sie können diese Tags verwenden, um die Nutzung zu überwachen. AWS CloudTrail Weitere Informationen finden Sie unter [ SageMaker Amazon-API-Aufrufe protokollieren mit AWS CloudTrail](https://docs.aws.amazon.com//sagemaker/latest/dg/logging-using-cloudtrail.html). 

 Sie können diese Tags auch verwenden, um die Kosten zu überwachen AWS Fakturierung und Kostenmanagement. Weitere Informationen finden Sie unter [Verwenden von AWS Kostenzuordnungs-Tags](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/cost-alloc-tags.html). 

 **Gemeinsame Bearbeitung von Notebooks in Echtzeit** 

 Ein entscheidender Vorteil eines gemeinsam genutzten Bereichs besteht darin, dass er die Zusammenarbeit zwischen Mitgliedern des gemeinsam genutzten Bereichs in Echtzeit erleichtert. Benutzer, die in einem Workspace zusammenarbeiten, erhalten Zugriff auf eine gemeinsam genutzte Studio-Classic-Anwendung, mit der sie in Echtzeit auf ihre Notebooks zugreifen, sie lesen und bearbeiten können. Die Zusammenarbeit in Echtzeit wird nur für JupyterServer Anwendungen in einem gemeinsam genutzten Bereich unterstützt. 

 Benutzer mit Zugriff auf einen gemeinsam genutzten Bereich können gleichzeitig Jupyter-Notebooks im gemeinsam genutzten Studio Classic oder in der JupyterLab Anwendung in diesem Bereich öffnen, anzeigen, bearbeiten und ausführen. 

Das Notebook kennzeichnet jeden Benutzer, der ihn gemeinsam bearbeitet, mit einem anderen Cursor, der den Namen des Benutzerprofils anzeigt. Zwar können mehrere Benutzer dasselbe Notebook ansehen, die gemeinsame Bearbeitung eignet sich jedoch am besten für kleine Gruppen von zwei bis fünf Benutzern.

Um Änderungen nachzuverfolgen, die von mehreren Benutzern vorgenommen wurden, empfehlen wir dringend, die integrierte Git-basierte Versionskontrolle von Studio Classic zu verwenden.

 **JupyterServer 2** 

Für die Verwendung von gemeinsam genutzten Bereichen in Studio Classic ist Jupyter Server Version 2 erforderlich. Bei bestimmten JupyterLab Erweiterungen und Paketen kann ein Downgrade von Jupyter Server auf Version 1 erzwungen werden. Dies verhindert die Verwendung von gemeinsam genutztem Speicherplatz. Führen Sie an der Befehlszeile den folgenden Befehl aus, um die Versionsnummer zu ändern und gemeinsam genutzte Bereiche weiterhin zu verwenden.

```
conda activate studio
pip install jupyter-server==2.0.0rc3
```

 **Passen Sie einen gemeinsam genutzten Bereich an** 

Um eine Lebenszykluskonfiguration oder ein benutzerdefiniertes Image an einen gemeinsam genutzten Bereich anzuhängen, müssen Sie den AWS CLI verwenden. Weitere Informationen zum Erstellen und Verwalten einer Lebenszyklus-Konfiguration finden Sie unter [Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen](studio-lcc-create.md). Weitere Informationen zum Erstellen und Anhängen von benutzerdefinierten Bildern finden Sie unter [Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic](studio-byoi.md).

# Erstellen Sie einen gemeinsamen Bereich
<a name="domain-space-create"></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.

 Das folgende Thema zeigt, wie Sie einen gemeinsamen Bereich in einer vorhandenen Amazon SageMaker AI-Domain erstellen. Wenn Sie Ihre Domain ohne Unterstützung für gemeinsam genutzte Bereiche erstellt haben, müssen Sie Ihrer bestehenden Domain Unterstützung für gemeinsam genutzte Bereiche hinzufügen, bevor Sie einen gemeinsam genutzten Bereich erstellen können. 

**Topics**
+ [Hinzufügen von Unterstützung für einen gemeinsam genutzten Bereich zu einer bestehenden Domain](#domain-space-add)
+ [Erstellen Sie einen gemeinsamen Bereich](#domain-space-create-app)

## Hinzufügen von Unterstützung für einen gemeinsam genutzten Bereich zu einer bestehenden Domain
<a name="domain-space-add"></a>

 Sie können die SageMaker AI-Konsole oder die verwenden AWS CLI , um einer vorhandenen Domain Unterstützung für gemeinsam genutzte Bereiche hinzuzufügen. Wenn die Domain `VPC only`-Netzwerkzugriff verwendet, können Sie die Unterstützung für gemeinsam genutzte Bereiche nur mit der AWS CLI hinzufügen.

### Konsole
<a name="domain-space-add-console"></a>

 Gehen Sie wie folgt vor, um einer vorhandenen Domain von der SageMaker AI-Konsole aus Unterstützung für gemeinsam genutzte Studio Classic-Bereiche hinzuzufügen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1.  Wählen Sie aus der Liste der Domains die Domain aus, für die Sie die Seite mit den **Domaineinstellungen** öffnen möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** **Domaineinstellungen** aus. 

1.  Wählen Sie **Bearbeiten** aus. 

1.  Legen Sie für die **Standard-Ausführungsrolle des Bereichs** eine IAM-Rolle fest, die standardmäßig für alle in der Domain erstellten gemeinsam genutzten Bereiche verwendet wird. 

1.  Wählen Sie **Weiter**. 

1.  Wählen Sie **Weiter**. 

1.  Wählen Sie **Weiter**. 

1.  Wählen Sie **Absenden**. 

### AWS CLI
<a name="domain-space-add-cli"></a>

------
#### [ Studio Classic ]

Führen Sie den folgenden Befehl vom Terminal Ihres lokalen Computers aus, um einer Domain aus die AWS CLI-Standardeinstellungen für Shared Space hinzuzufügen. Wenn Sie einer Domain innerhalb einer Amazon VPC Standardeinstellungen für gemeinsam genutzte Bereiche hinzufügen, müssen Sie auch eine Liste von Sicherheitsgruppen hinzufügen. In Studio Classic Shared Spaces wird nur die Verwendung von JupyterLab 3 Bildern unterstützt ARNs. Weitere Informationen finden Sie unter [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md).

```
# Public Internet domain
aws --region region \
sagemaker update-domain \
--domain-id domain-id \
--default-space-settings "ExecutionRole=execution-role-arn,JupyterServerAppSettings={DefaultResourceSpec={InstanceType=example-instance-type,SageMakerImageArn=sagemaker-image-arn}}"

# VPCOnly domain
aws --region region \
sagemaker update-domain \
--domain-id domain-id \
--default-space-settings "ExecutionRole=execution-role-arn,JupyterServerAppSettings={DefaultResourceSpec={InstanceType=system,SageMakerImageArn=sagemaker-image-arn}},SecurityGroups=[security-groups]"
```

Verwenden Sie den folgenden Befehl, um sicherzustellen, dass die Standardeinstellungen für gemeinsam genutzte Bereiche aktualisiert wurden. 

```
aws --region region \
sagemaker describe-domain \
--domain-id domain-id
```

------
#### [ JupyterLab ]

Führen Sie den folgenden Befehl vom Terminal Ihres lokalen Computers aus, um einer Domain aus die AWS CLI-Standardeinstellungen für Shared Space hinzuzufügen. Wenn Sie einer Domain innerhalb einer Amazon VPC Standardeinstellungen für gemeinsam genutzte Bereiche hinzufügen, müssen Sie auch eine Liste von Sicherheitsgruppen hinzufügen. Gemeinsam genutzte Studio Classic-Bereiche unterstützen nur die Verwendung von JupyterLab 4 Bildern ARNs. Weitere Informationen finden Sie unter [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md).

```
# Public Internet domain
aws --region region \
sagemaker update-domain \
--domain-id domain-id \
--default-space-settings "ExecutionRole=execution-role-arn", JupyterLabAppSettings={DefaultResourceSpec={InstanceType=example-instance-type,SageMakerImageArn=sagemaker-image-arn}}"

# VPCOnly domain
aws --region region \
sagemaker update-domain \
--domain-id domain-id \
--default-space-settings "ExecutionRole=execution-role-arn, SecurityGroups=[security-groups]"
```

Verwenden Sie den folgenden Befehl, um sicherzustellen, dass die Standardeinstellungen für gemeinsam genutzte Bereiche aktualisiert wurden. 

```
aws --region region \
sagemaker describe-domain \
--domain-id domain-id
```

------

## Erstellen Sie einen gemeinsamen Bereich
<a name="domain-space-create-app"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie einen gemeinsam genutzten Bereich über die Amazon SageMaker AI-Konsole, Amazon SageMaker Studio oder das erstellen AWS CLI.

### Erstellen aus Studio
<a name="domain-space-create-updated"></a>

Gehen Sie wie folgt vor, um einen gemeinsam genutzten Bereich in einer Domain von Studio aus zu erstellen.

------
#### [ Studio Classic ]

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich **Studio Classic** aus.

1. Wählen Sie **Studio-Classic-Bereich erstellen** aus.

1. Geben Sie im Popup-Fenster einen Namen für den Bereich ein.

1. Wählen Sie **Bereich erstellen** aus.

------
#### [ JupyterLab ]

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich die Option **JupyterLab**.

1. Wählen Sie ** JupyterLab Bereich erstellen**

1. Geben Sie im Popup-Fenster einen Namen für den Bereich ein.

1. Wählen Sie **Bereich erstellen** aus.

------

### Aus der Konsole erstellen
<a name="domain-space-create-console"></a>

 Gehen Sie wie folgt vor, um von der SageMaker AI-Konsole aus einen gemeinsam genutzten Bereich in einer Domain zu erstellen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1.  Wählen Sie in der Domainliste die Domain aus, für die Sie einen gemeinsamen Bereich erstellen möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** **Bereichsverwaltung** aus. 

1.  Wählen Sie **Erstellen** aus. 

1.  Geben Sie einen Namen für Ihren gemeinsam genutzten Bereich ein. Die Namen von gemeinsam genutzten Bereichen innerhalb einer Domain müssen eindeutig sein. Die Ausführungsrolle für den gemeinsam genutzten Bereich ist auf die Domain-IAM-Ausführungsrolle festgelegt. 

### Erstellen aus AWS CLI
<a name="domain-space-create-cli"></a>

In diesem Abschnitt wird erläutert, wie ein gemeinsam genutzter Bereich aus AWS CLI erstellt wird. 

Sie können die Ausführungsrolle eines gemeinsam genutzten Bereichs nicht festlegen, wenn Sie ihn erstellen oder aktualisieren. Das `DefaultDomainExecRole` kann nur beim Erstellen oder Aktualisieren der Domain festgelegt werden. Shared Spaces unterstützen nur die Verwendung von JupyterLab 3 Images ARNs. Weitere Informationen finden Sie unter [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md).

Um aus dem einen gemeinsamen Bereich zu erstellen AWS CLI, führen Sie einen der folgenden Befehle vom Terminal Ihres lokalen Computers aus.

------
#### [ Studio Classic ]

```
aws --region region \
sagemaker create-space \
--domain-id domain-id \
--space-name space-name \
--space-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "sagemaker-image-arn",
      "InstanceType": "system"
    }
  }
}'
```

------
#### [ JupyterLab ]

```
aws --region region \
sagemaker create-space \
--domain-id domain-id \
--space-name space-name \
--ownership-settings "{\"OwnerUserProfileName\": \"user-profile-name\"}" \
--space-sharing-settings "{\"SharingType\": \"Shared\"}" \
--space-settings "{\"AppType\": \"JupyterLab\"}"
```

------

# Abrufen von Informationen zu gemeinsam genutzten Bereichen
<a name="domain-space-list"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

 Diese Anleitung zeigt, wie Sie mit der Amazon SageMaker AI-Konsole, Amazon SageMaker Studio oder dem auf eine Liste von gemeinsam genutzten Bereichen in einer Amazon SageMaker AI-Domain zugreifen AWS CLI. Es zeigt auch, wie Sie Details zu einem gemeinsam genutzten Bereich aus AWS CLI anzeigen können. 

**Topics**
+ [Gemeinsam genutzten Räume auflisten](#domain-space-list-spaces)
+ [Details zum gemeinsam genutzten Bereich anzeigen](#domain-space-describe)

## Gemeinsam genutzten Räume auflisten
<a name="domain-space-list-spaces"></a>

 Das folgende Thema beschreibt, wie Sie eine Liste von gemeinsam genutzten Bereichen innerhalb einer Domain von der SageMaker AI-Konsole oder dem aus anzeigen können AWS CLI. 

### Auflisten von gemeinsam genutzten Bereichen aus Studio
<a name="domain-space-list-updated"></a>

 Gehen Sie wie folgt vor, um eine Liste der gemeinsam genutzten Bereiche in einer Domain von Studio aus anzuzeigen.

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich **Studio Classic** oder aus **JupyterLab**. Sie können die Bereiche ansehen, die zur Ausführung des Anwendungstyps verwendet werden.

### Gemeinsam genutzte Bereiche von der Konsole aus auflisten
<a name="domain-space-list-console"></a>

 Gehen Sie wie folgt vor, um von der SageMaker AI-Konsole aus eine Liste der gemeinsam genutzten Bereiche in einer Domain anzuzeigen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1.  Wählen Sie aus der Liste der Domains die Domain aus, für die Sie die Liste der gemeinsam genutzten Bereiche anzeigen möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** **Bereichsverwaltung** aus. 

### Listet gemeinsam genutzte Bereiche aus dem AWS CLI
<a name="domain-space-list-cli"></a>

 Um die gemeinsam genutzten Bereiche in einer Domäne von aufzulisten AWS CLI, führen Sie den folgenden Befehl im Terminal Ihres lokalen Computers aus.

```
aws --region region \
sagemaker list-spaces \
--domain-id domain-id
```

## Details zum gemeinsam genutzten Bereich anzeigen
<a name="domain-space-describe"></a>

 Im folgenden Abschnitt wird beschrieben, wie Sie Details zu gemeinsam genutzten Bereichen von der SageMaker AI-Konsole, Studio oder dem aus anzeigen können AWS CLI. 

### Anzeigen von Details zum gemeinsam genutzten Bereich von Studio
<a name="domain-space-describe-updated"></a>

 Gehen Sie wie folgt vor, um die Details gemeinsam genutzter Bereiche in einer Domain von Studio aus anzuzeigen.

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich **Studio Classic** oder aus **JupyterLab**. Sie können die Bereiche anzeigen, in denen die Anwendung ausgeführt wird.

1. Wählen Sie den Namen des Bereichs aus, für den Sie Details anzeigen möchten.

### Details zum gemeinsam genutzten Speicherplatz von der Konsole aus anzeigen
<a name="domain-space-describe-console"></a>

 Mithilfe des folgenden Verfahrens können Sie die Details eines gemeinsam genutzten Bereichs von der SageMaker AI-Konsole aus anzeigen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1.  Wählen Sie aus der Liste der Domains die Domain aus, für die Sie die Liste der gemeinsam genutzten Bereiche anzeigen möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** **Bereichsverwaltung** aus. 

1.  Wählen Sie den Namen des Bereichs aus, um eine neue Seite mit Details zum gemeinsam genutzten Bereich zu öffnen. 

### Details zum gemeinsam genutzten Speicherplatz finden Sie unter AWS CLI
<a name="domain-space-describe-cli"></a>

Um die Details eines gemeinsam genutzten Bereichs von aus anzuzeigen AWS CLI, führen Sie den folgenden Befehl im Terminal Ihres lokalen Computers aus.

```
aws --region region \
sagemaker describe-space \
--domain-id domain-id \
--space-name space-name
```

# Bearbeiten Sie einen gemeinsam genutzten Bereich
<a name="domain-space-edit"></a>

 Sie können die Details für einen Amazon SageMaker Studio Classic- oder JupyterLab Shared Space nur mit dem bearbeiten AWS CLI. Sie können die Details eines gemeinsam genutzten Bereichs nicht von der Amazon SageMaker AI-Konsole aus bearbeiten. Sie können Workspace-Attribute nur aktualisieren, wenn sich im gemeinsam genutzten Bereich keine laufenden Anwendungen befinden. 

------
#### [ Studio Classic ]

Um die Details eines gemeinsam genutzten Studio Classic-Bereichs vom aus zu bearbeiten AWS CLI, führen Sie den folgenden Befehl vom Terminal Ihres lokalen Computers aus. Shared Spaces unterstützen nur die Verwendung von JupyterLab 3 Images ARNs. Weitere Informationen finden Sie unter [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md).

```
aws --region region \
sagemaker update-space \
--domain-id domain-id \
--space-name space-name \
--query SpaceArn --output text \
--space-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "sagemaker-image-arn",
      "InstanceType": "system"
    }
  }
}'
```

------
#### [ JupyterLab ]

Um die Details eines JupyterLab gemeinsam genutzten Bereichs vom zu bearbeiten AWS CLI, führen Sie den folgenden Befehl vom Terminal Ihres lokalen Rechners aus. Shared Spaces unterstützen nur die Verwendung von JupyterLab 4 Images. ARNs Weitere Informationen finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md).

```
aws --region region \
sagemaker update-space \
--domain-id domain-id \
--space-name space-name \
--space-settings "{
      "SpaceStorageSettings": {
      "EbsStorageSettings": { 
      "EbsVolumeSizeInGb":100
    }
    }
  }
}"
```

------

# Löschen Sie einen gemeinsam genutzten Bereich
<a name="domain-space-delete"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

 Das folgende Thema zeigt, wie Sie einen gemeinsam genutzten Amazon SageMaker Studio Classic-Bereich aus der Amazon SageMaker AI-Konsole löschen oder AWS CLI. Ein gemeinsam genutzter Bereich kann nur gelöscht werden, wenn er keine laufenden Anwendungen enthält. 

**Topics**
+ [Konsole](#domain-space-delete-console)
+ [AWS CLI](#domain-space-delete-cli)

## Konsole
<a name="domain-space-delete-console"></a>

 Gehen Sie wie folgt vor, um einen gemeinsam genutzten Bereich in der Amazon SageMaker AI-Domain aus der SageMaker AI-Konsole zu löschen. 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1.  Wählen Sie in der Domainliste die Domain aus, für die Sie einen gemeinsamen Bereich erstellen möchten. 

1.  Wählen Sie auf der Seite mit den **Domaindetails** **Bereichsverwaltung** aus. 

1.  Wählen Sie den Bericht aus, den Sie löschen möchten. Der gemeinsam genutzte Bereich darf keine Apps enthalten, bei denen kein Fehler aufgetreten ist. 

1.  Wählen Sie **Löschen**. Dies öffnet ein neues Fenster. 

1.  Wählen Sie **Ja, Speicherplatz löschen**. 

1.  Geben Sie *Löschen* in das Feld ein. 

1.  Wählen Sie **Space Löschen**. 

## AWS CLI
<a name="domain-space-delete-cli"></a>

Um einen gemeinsam genutzten Bereich aus dem zu löschen AWS CLI, führen Sie den folgenden Befehl vom Terminal Ihres lokalen Computers aus.

```
aws --region region \
sagemaker delete-space \
--domain-id domain-id \
--space-name space-name
```

# Weitergabe vertrauenswürdiger Identitäten mit Studio
<a name="trustedidentitypropagation"></a>

Die Weitergabe vertrauenswürdiger Identitäten ist eine AWS IAM Identity Center Funktion, mit der Administratoren verbundener AWS Dienste Zugriff auf Servicedaten gewähren und prüfen können. Der Zugriff auf diese Daten basiert auf Benutzerattributen wie Gruppenzuordnungen. Die Einrichtung der Verbreitung vertrauenswürdiger Identitäten erfordert die Zusammenarbeit zwischen den Administratoren der verbundenen AWS Dienste und dem IAM Identity Center-Administrator. Weitere Informationen finden Sie unter [Voraussetzungen und Überlegungen](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html).

Die Administratoren von Amazon SageMaker Studio und IAM Identity Center können zusammenarbeiten, um die Dienste für die Verbreitung vertrauenswürdiger Identitäten miteinander zu verbinden. Trusted Identity Propagation erfüllt die Anforderungen von Unternehmen an die Authentifizierung über verschiedene AWS Dienste hinweg, indem Folgendes vereinfacht wird:
+ Verbessertes Auditing, das Aktionen bestimmter Benutzer nachverfolgt
+ Zugriffsmanagement für Datenwissenschaft und maschinelles Lernen durch Integration mit kompatiblen Diensten AWS 
+ Compliance-Anforderungen in regulierten Branchen

Studio unterstützt die Weitergabe vertrauenswürdiger Identitäten zu Prüfungszwecken und zur Zugriffskontrolle mit verbundenen AWS Diensten. Die Weitergabe vertrauenswürdiger Identitäten in Studio behandelt Authentifizierungs- oder Autorisierungsentscheidungen nicht direkt in Studio selbst. Stattdessen werden Informationen zum Identitätskontext an kompatible Services weitergegeben, die diese Informationen für die Zugriffskontrolle verwenden können.

Wenn Sie Trusted Identity Propagation mit Studio verwenden, wird Ihre IAM Identity Center-Identität an verbundene AWS Dienste weitergegeben, wodurch detailliertere Berechtigungen und Sicherheits-Governance geschaffen werden.

**Topics**
+ [Architektur und Kompatibilität der Weitergabe vertrauenswürdiger Identitäten](trustedidentitypropagation-compatibility.md)
+ [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md)
+ [Überwachung und Prüfung mit CloudTrail](trustedidentitypropagation-auditing.md)
+ [Benutzersitzungen im Hintergrund](trustedidentitypropagation-user-background-sessions.md)
+ [Wie stelle ich eine Verbindung zu anderen AWS Diensten her, wenn die Verbreitung vertrauenswürdiger Identitäten aktiviert ist](trustedidentitypropagation-connect-other.md)

# Architektur und Kompatibilität der Weitergabe vertrauenswürdiger Identitäten
<a name="trustedidentitypropagation-compatibility"></a>

Trusted Identity Propagation lässt AWS IAM Identity Center sich in Amazon SageMaker Studio und andere verbundene AWS Dienste integrieren, um den Identitätskontext der Benutzer dienstübergreifend zu verbreiten. Auf der folgenden Seite werden die Architektur der vertrauenswürdigen Identitätsverbreitung und die Kompatibilität mit SageMaker KI zusammengefasst. Einen umfassenden Überblick darüber, wie Trusted Identity Propagation funktioniert AWS, finden Sie unter [Trusted Identity Propagation (Übersicht](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html)).

Zu den wichtigsten Komponenten der Architektur der Weitergabe vertrauenswürdiger Identitäten gehören:
+ **Weitergabe vertrauenswürdiger Identitäten**: Eine Methode zur Weitergabe des Identitätskontextes eines Benutzers zwischen Anwendungen und Services
+ **Identitätskontext**: Informationen über einen Benutzer
+ **IAM-Rollensitzung mit erweiterter Identität: Rollensitzungen** mit erweiterter Identität verfügen über einen zusätzlichen Identitätskontext, der dem aufgerufenen Dienst eine Benutzerkennung übermittelt AWS 
+ **Verbundene AWS Dienste**: Andere AWS Dienste, die den Identitätskontext erkennen können, der durch vertrauenswürdige Identitätsverbreitung verbreitet wird

Die Verbreitung vertrauenswürdiger Identitäten ermöglicht es verbundenen AWS Diensten, Zugriffsentscheidungen auf der Grundlage der Identität eines Benutzers zu treffen. In Studio selbst werden IAM-Rollen eher als Träger des Identitätskontextes als für Entscheidungen zur Zugriffskontrolle verwendet. Der Identitätskontext wird an verbundene AWS Dienste weitergegeben, wo er sowohl für Zugriffskontroll- als auch für Prüfzwecke verwendet werden kann. Weitere Informationen finden Sie unter [Überlegungen zur Weitergabe vertrauenswürdiger Identitäten](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html#trustedidentitypropagation-considerations).

Wenn Sie die Verbreitung vertrauenswürdiger Identitäten mit Studio aktivieren und sich über IAM Identity Center authentifizieren, gilt Folgendes: SageMaker 
+ Erfasst den Identitätskontext des Benutzers aus dem IAM Identity Center
+ Erstellt eine IAM-Rollensitzung mit verbesserter Identität, die den Identitätskontext des Benutzers beinhaltet
+ Leitet die IAM-Rollensitzung mit erweiterter Identität an kompatible AWS Dienste weiter, wenn der Benutzer auf Ressourcen zugreift
+ Ermöglicht nachgelagerten AWS Diensten, Zugriffsentscheidungen zu treffen und Aktivitäten auf der Grundlage der Benutzeridentität zu protokollieren

## Kompatible SageMaker KI-Funktionen
<a name="trustedidentitypropagation-compatibility-compatible-features"></a>

Die Weitergabe vertrauenswürdiger Identitäten funktioniert mit den folgenden Studio-Features:
+ Private Bereiche in [Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html) (JupyterLab und Code-Editor, basierend auf Code-OSS, Visual Studio Code — Open Source)

**Anmerkung**  
Wenn Studio mit aktivierter Weitergabe vertrauenswürdiger Identitäten gestartet wird, verwendet es zusätzlich zu Ihren Ausführungsrollenberechtigungen Ihren Identitätskontext. Die folgenden Prozesse während der Instance-Einrichtung verwenden jedoch nur die Berechtigungen der Ausführungsrolle ohne den Identitätskontext: Lebenszykluskonfiguration Bring-Your-Own-Image, CloudWatch Agent für die Weiterleitung von Benutzerprotokollen.
Der [Remotezugriff](https://docs.aws.amazon.com/sagemaker/latest/dg/remote-access.html) wird derzeit bei der Weitergabe vertrauenswürdiger Identitäten nicht unterstützt.
Wenn Sie Operationen zum Übernehmen von Rollen in Studio-Notebooks verwenden, geben die übernommenen Rollen keinen vertrauenswürdigen Identitätsverbreitungskontext weiter. Nur die ursprüngliche Ausführungsrolle behält den Identitätskontext bei.
+  [SageMakerSchulung](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-training.html) 
+  [SageMakerVerarbeitung](https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html) 
+  [SageMaker KI-Echtzeit-Hosting](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-options.html) 
+  [SageMakerRohrleitungen](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html) 
+  [SageMakerInferenz in Echtzeit](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) 
+  [SageMakerAsynchrone Inferenz](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference.html) 
+  [Verwaltet MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html) 

## Kompatible AWS Dienste
<a name="trustedidentitypropagation-compatibility-compatible-services"></a>

Trusted Identity Propagation für Amazon SageMaker Studio lässt sich in kompatible AWS Dienste integrieren, bei denen die Weitergabe vertrauenswürdiger Identitäten aktiviert ist. Eine umfassende Liste mit Beispielen zur Aktivierung der Weitergabe vertrauenswürdiger Identitäten finden Sie unter [Anwendungsfälle](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-integrations.html). Zu den mit der Weitergabe vertrauenswürdiger Identitäten kompatiblen Services gehören die folgenden.
+  [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/workgroups-identity-center.html) 
+  [Amazon EMR auf EC2](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-idc-start.html) 
+  [EMR Serverlos](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-service-trusted-prop.html) 
+  [AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/identity-center-integration.html) 
+  [Amazon Redshift-Daten-API](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-trusted-identity-propagation.html) 
+ Amazon S3 (über [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html))
+ [AWS Glue -Verbindungen](https://docs.aws.amazon.com/glue/latest/dg/security-trusted-identity-propagation.html)

Wenn die Verbreitung vertrauenswürdiger Identitäten mit SageMaker KI aktiviert ist, ist jeder andere AWS Dienst mit aktivierter vertrauenswürdiger Identitätsverbreitung verbunden. Sobald sie verbunden sind, erkennen sie den Identitätskontext des Benutzers und verwenden ihn für die Zugriffskontrolle und Prüfung.

## Wird unterstützt AWS-Regionen
<a name="trustedidentitypropagation-compatibility-supported-regions"></a>

Studio unterstützt die Weitergabe vertrauenswürdiger Identitäten, sofern [IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/regions.html) und Studio mit Authentifizierung von IAM Identity Center unterstützt werden. Studio unterstützt die Weitergabe vertrauenswürdiger Identitäten in den folgenden Bereichen AWS-Regionen:
+ af-south-1
+ ap-east-1
+ ap-northeast-1
+ ap-northeast-2
+ ap-northeast-3
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ ap-southeast-3
+ ca-central-1
+ eu-central-1
+ eu-central-2
+ eu-north-1
+ eu-south-1
+ eu-west-1
+ eu-west-2
+ eu-west-3
+ il-central-1
+ me-south-1
+ sa-east-1
+ us-east-1
+ us-east-2
+ us-west-1
+ us-west-2

# Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio
<a name="trustedidentitypropagation-setup"></a>

Um Trusted Identity Propagation für Amazon SageMaker Studio einzurichten, muss für Ihre Amazon SageMaker AI-Domain die IAM Identity Center-Authentifizierungsmethode konfiguriert sein. Dieser Abschnitt führt Sie durch die Voraussetzungen und Schritte, die erforderlich sind, um die Weitergabe vertrauenswürdiger Identitäten für Ihre Studio-Benutzer zu aktivieren und zu konfigurieren.

**Topics**
+ [Voraussetzungen](#trustedidentitypropagation-setup-prerequisites)
+ [Aktivieren Sie die Verbreitung vertrauenswürdiger Identitäten für Ihre Amazon SageMaker AI-Domain](#trustedidentitypropagation-setup-enable)
+ [Konfigurieren Sie Ihre SageMaker AI-Ausführungsrolle](#trustedidentitypropagation-setup-permissions)

## Voraussetzungen
<a name="trustedidentitypropagation-setup-prerequisites"></a>

Bevor Sie Trusted Identity Propagation für SageMaker KI einrichten, richten Sie Ihr IAM Identity Center anhand der folgenden Anweisungen ein.

**Anmerkung**  
Stellen Sie sicher, dass sich Ihr IAM Identity Center und Ihre Domain in derselben Region befinden.
+  [Voraussetzungen für die Weitergabe vertrauenswürdiger Identitäten des IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html#trustedidentitypropagation-prerequisites) 
+  [Richten Sie IAM Identity Center ein](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) 
+  [Hinzufügen von Benutzern zum Verzeichnis von IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) 

## Aktivieren Sie die Verbreitung vertrauenswürdiger Identitäten für Ihre Amazon SageMaker AI-Domain
<a name="trustedidentitypropagation-setup-enable"></a>

**Wichtig**  
Sie können die Weitergabe vertrauenswürdiger Identitäten nur für Domains aktivieren, für die die AWS IAM Identity Center -Authentifizierungsmethode konfiguriert ist.
Ihr IAM Identity Center und Ihre Amazon SageMaker AI-Domain müssen sich in derselben AWS-Region befinden.

Verwenden Sie eine der folgenden Optionen, um zu erfahren, wie Sie die Weitergabe vertrauenswürdiger Identitäten für eine neue oder bestehende Domain aktivieren.

------
#### [ New domain - console ]

**Aktivieren Sie mithilfe der SageMaker AI-Konsole die Verbreitung vertrauenswürdiger Identitäten für eine neue Domain**

1. Öffnen Sie die [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Navigieren Sie zu **Domains**.

1. [Erstellen Sie eine benutzerdefinierte Domain](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-custom.html). Für die Domain muss die **AWS IAM Identity Center**-Authentifizierungsmethode konfiguriert sein.

1. Wählen Sie im Abschnitt **Weitergabe vertrauenswürdiger Identitäten** die Option **Weitergabe vertrauenswürdiger Identitäten für alle Benutzer in dieser Domain aktivieren** aus.

1. Schließen Sie den benutzerdefinierten Erstellungsprozess ab.

------
#### [ Existing domain - console ]

**Aktivieren Sie mithilfe der SageMaker AI-Konsole die Verbreitung vertrauenswürdiger Identitäten für eine bestehende Domain**
**Anmerkung**  
Damit die Verbreitung vertrauenswürdiger Identitäten ordnungsgemäß funktioniert, nachdem sie für eine bestehende Domain aktiviert wurde, müssen Benutzer ihre bestehenden IAM Identity Center-Sitzungen neu starten. Gehen Sie dazu entweder wie folgt vor:  
Benutzer müssen sich ab- und wieder bei ihren bestehenden IAM Identity Center-Sitzungen anmelden
Administratoren können [aktive Sitzungen für ihre Workforce-Benutzer beenden](https://docs.aws.amazon.com/singlesignon/latest/userguide/end-active-sessions.html).

1. Öffnen Sie die [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Navigieren Sie zu **Domains**.

1. Wählen Sie Ihre bestehende Domain aus. Für die Domain muss die **AWS IAM Identity Center**-Authentifizierungsmethode konfiguriert sein.

1. Wählen Sie auf der Registerkarte **Domaineinstellungen** im Abschnitt **Authentifizierung und Berechtigungen** die Option **Bearbeiten** aus.

1. Wählen Sie, ob **die Weitergabe vertrauenswürdiger Identitäten für alle Benutzer in dieser Domain aktiviert** werden soll.

1. Schließen Sie die Domainkonfiguration ab.

------
#### [ Existing domain - AWS CLI ]

Aktivieren Sie die Verbreitung vertrauenswürdiger Identitäten für eine bestehende Domain mithilfe der AWS CLI

**Anmerkung**  
Damit die Verbreitung vertrauenswürdiger Identitäten ordnungsgemäß funktioniert, nachdem sie für eine bestehende Domain aktiviert wurde, müssen Benutzer ihre bestehenden IAM Identity Center-Sitzungen neu starten. Gehen Sie dazu entweder wie folgt vor:  
Benutzer müssen sich ab- und wieder bei ihren bestehenden IAM Identity Center-Sitzungen anmelden
Administratoren können [aktive Sitzungen für ihre Workforce-Benutzer beenden](https://docs.aws.amazon.com/singlesignon/latest/userguide/end-active-sessions.html).

```
aws sagemaker update-domain \
    --region $REGION \
    --domain-id $DOMAIN_ID \
    --domain-settings "TrustedIdentityPropagationSettings={Status=ENABLED}"
```
+ `DOMAIN_ID`ist die Amazon SageMaker AI-Domain-ID. Weitere Informationen zu Domains finden Sie unter [Domains anzeigen](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view.html).
+ `REGION`ist die AWS-Region Ihrer Amazon SageMaker AI-Domain. Sie finden dies oben rechts auf jeder AWS Konsolenseite.

------

## Konfigurieren Sie Ihre SageMaker AI-Ausführungsrolle
<a name="trustedidentitypropagation-setup-permissions"></a>

Um die Weitergabe vertrauenswürdiger Identitäten für Ihre Studio-Benutzer zu aktivieren, benötigen alle Rollen zur Weitergabe vertrauenswürdiger Identitäten die folgenden Kontextberechtigungen. Aktualisieren Sie die Vertrauensrichtlinie für alle Rollen, sodass sie die Aktionen `sts:AssumeRole` und `sts:SetContext` enthält. Verwenden Sie die folgende Richtlinie, wenn Sie die [Vertrauensrichtlinie für Ihre Rolle aktualisieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "sagemaker.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole",
                "sts:SetContext"
            ]
        }
    ]
}
```

------

# Überwachung und Prüfung mit CloudTrail
<a name="trustedidentitypropagation-auditing"></a>

Wenn die Verbreitung vertrauenswürdiger Identitäten aktiviert ist, enthalten die AWS CloudTrail Protokolle nicht nur die IAM-Rolle, sondern auch die Identitätsinformationen des jeweiligen Benutzers, der eine Aktion ausgeführt hat. Dies bietet erweiterte Auditfunktionen für Compliance und Sicherheit.

So zeigen Sie Identitätsinformationen in CloudTrail Protokollen an:
+ Öffnen Sie die [CloudTrail -Konsole](https://console.aws.amazon.com/cloudtrail).
+ Wählen Sie im linken Navigationsbereich **Ereignisverlauf** aus.
+ Wählen Sie Ereignisse aus SageMaker KI und verwandten Diensten aus.
+ Suchen Sie unter **Ereignisdatensatz** nach dem `onBehalfOf`-Schlüssel. Dieser enthält den `userId`-Schlüssel und andere Informationen zur Benutzeridentifikation, die einem bestimmten Benutzer von IAM Identity Center zugeordnet werden können.

  Weitere Informationen finden [CloudTrail Sie unter Anwendungsfälle für IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/sso-cloudtrail-use-cases.html).

# Benutzersitzungen im Hintergrund
<a name="trustedidentitypropagation-user-background-sessions"></a>

Benutzersitzungen im Hintergrund werden fortgesetzt, auch wenn der Benutzer nicht mehr aktiv ist. Diese ermöglichen lang andauernde Aufträge, die auch nach der Abmeldung des Benutzers fortgesetzt werden können. Dies kann durch die vertrauenswürdige Identitätsverbreitung von SageMaker KI ermöglicht werden. Auf der folgenden Seite werden die Konfigurationsoptionen und das Verhalten für Benutzersitzungen im Hintergrund erläutert.

**Anmerkung**  
Bestehende aktive Benutzersitzungen sind nicht betroffen, wenn die Weitergabe vertrauenswürdiger Identitäten aktiviert ist. Die Standarddauer gilt nur für neue Benutzersitzungen oder neu gestartete Sitzungen.
Benutzerhintergrundsitzungen gelten für alle lang andauernden SageMaker KI-Workflows oder Jobs mit persistenten Zuständen. Dazu gehören unter anderem alle SageMaker KI-Ressourcen, die den Ausführungsstatus beibehalten oder eine kontinuierliche Überwachung erfordern. Zum Beispiel Aufgaben zur SageMaker Schulung, Verarbeitung und Ausführung von Pipelines.

**Topics**
+ [Konfigurieren von Benutzersitzungen im Hintergrund](#configure-user-background-sessions)
+ [Standarddauer für Benutzersitzungen im Hintergrund](#default-user-background-session-duration)
+ [Auswirkungen der Deaktivierung der Weitergabe vertrauenswürdiger Identitäten in Studio](#user-background-session-impact-disable-trustedidentitypropagation-studio)
+ [Auswirkungen der Deaktivierung von Benutzersitzungen im Hintergrund in der Konsole von IAM Identity Center](#user-background-session-impact-disable-trustedidentitypropagation-identity-center)
+ [Überlegungen zur Laufzeit](#user-background-session-runtime-considerations)

## Konfigurieren von Benutzersitzungen im Hintergrund
<a name="configure-user-background-sessions"></a>

Sobald die Verbreitung vertrauenswürdiger Identitäten für Amazon SageMaker Studio aktiviert ist, können Standarddauerlimits über die [Benutzerhintergrundsitzungen im IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/user-background-sessions.html) konfiguriert werden.

## Standarddauer für Benutzersitzungen im Hintergrund
<a name="default-user-background-session-duration"></a>

Standardmäßig ist die Dauer aller Benutzersitzungen im Hintergrund auf 7 Tage begrenzt. Administratoren können [diese Dauer in der Konsole von IAM Identity Center ändern](https://docs.aws.amazon.com/singlesignon/latest/userguide/user-background-sessions.html). Diese Einstellung gilt für die Instance-Ebene von IAM Identity Center und wirkt sich auf alle unterstützten Anwendungen von IAM Identity Center und Studio-Domains innerhalb dieser Instance aus.

Wenn die Verbreitung vertrauenswürdiger Identitäten aktiviert ist, finden Administratoren in der SageMaker AI-Konsole ein Banner mit den folgenden Informationen:
+ Das Zeitlimit für Benutzersitzungen im Hintergrund
+ Ein Link zur Konsole von IAM Identity Center, über die Administratoren diese Konfiguration ändern können
  + Die Dauer kann auf einen beliebigen Wert zwischen 15 Minuten und 90 Tagen festgelegt werden.

Eine Fehlermeldung wird angezeigt, wenn eine Benutzersitzung im Hintergrund abgelaufen ist. Sie können den Link zur Konsole von IAM Identity Center verwenden, um die Dauer zu aktualisieren.

## Auswirkungen der Deaktivierung der Weitergabe vertrauenswürdiger Identitäten in Studio
<a name="user-background-session-impact-disable-trustedidentitypropagation-studio"></a>

Wenn ein Administrator die Verbreitung vertrauenswürdiger Identitäten nach der ersten Aktivierung in der SageMaker AI-Konsole deaktiviert:
+ Bestehende Aufträge werden weiterhin ohne Unterbrechung ausgeführt, wenn Benutzersitzungen im Hintergrund aktiviert sind.
+ Wenn Benutzerhintergrundsitzungen deaktiviert sind, wechseln alle lang laufenden SageMaker KI-Workflows oder Jobs mit persistenten Zuständen zur Verwendung interaktiver Sitzungen. Dazu gehören unter anderem alle SageMaker KI-Ressourcen, die den Ausführungsstatus beibehalten oder eine kontinuierliche Überwachung erfordern. Zum Beispiel Amazon SageMaker Training and Processing Jobs.
+ Benutzer können abgelaufene Aufträge von Checkpoints aus neu starten.
+ Neue Aufträge werden mit Anmeldeinformationen von IAM-Rollen ausgeführt und geben den Identitätskontext nicht weiter.

## Auswirkungen der Deaktivierung von Benutzersitzungen im Hintergrund in der Konsole von IAM Identity Center
<a name="user-background-session-impact-disable-trustedidentitypropagation-identity-center"></a>

Wenn die Benutzerhintergrundsitzung für die IAM Identity Center-Instance **deaktiviert** ist, verwendet der SageMaker AI-Job interaktive Benutzersitzungen. Bei Verwendung interaktiver Sitzungen schlägt ein SageMaker KI-Job innerhalb von 15 Minuten fehl, wenn:
+ sich der Benutzer abmeldet
+ die interaktive Sitzung vom Administrator gesperrt wurde 

Wenn die Benutzerhintergrundsitzung für die IAM Identity Center-Instanz **aktiviert** ist, verwendet der SageMaker AI-Job Benutzerhintergrundsitzungen. Bei Verwendung interaktiver Sitzungen schlägt ein SageMaker KI-Job innerhalb von 15 Minuten fehl, wenn:
+ die Benutzersitzung im Hintergrund abläuft
+ die Benutzersitzung im Hintergrund manuell von einem Administrator gesperrt wird

Im Folgenden finden Sie ein Beispiel für ein Verhalten bei SageMaker Trainingsaufträgen. Wenn ein Administrator die Weitergabe vertrauenswürdiger Identitäten aktiviert, aber [Benutzersitzung im Hintergrund](https://docs.aws.amazon.com/singlesignon/latest/userguide/user-background-sessions.html) in der Konsole von IAM Identity Center deaktiviert:
+ Wenn ein Benutzer angemeldet bleibt, fallen seine Trainingsjobs, die bei deaktivierten Hintergrundsitzungen erstellt wurden, auf die interaktive Sitzung zurück.
+ Wenn sich der Benutzer abmeldet, läuft die Sitzung ab und Trainingsjobs, die von der interaktiven Sitzung abhängen, schlagen fehl.
+ Benutzer können ihren Trainingsjob vom letzten Checkpoint aus neu starten. Die Sitzungsdauer wird durch die Einstellungen für die interaktive Sitzungsdauer in der Konsole von IAM Identity Center bestimmt.
+ Wenn ein Benutzer **nach dem** Start eines Auftrags Hintergrundsitzungen deaktiviert, verwendet der Auftrag weiterhin seine vorhandenen Hintergrundsitzungen. Mit anderen Worten, SageMaker KI erstellt keine neuen Hintergrundsitzungen.

Das gleiche Verhalten gilt, wenn Hintergrundsitzungen auf der IAM Identity Center-Instanzebene aktiviert, aber speziell für die Studio-Anwendung, die [IAM Identity](https://docs.aws.amazon.com/singlesignon/latest/APIReference/welcome.html) Center verwendet, deaktiviert sind. APIs

## Überlegungen zur Laufzeit
<a name="user-background-session-runtime-considerations"></a>

Wenn ein Administrator `MaxRuntimeInSeconds` für lang andauernde Trainings- oder Verarbeitungsaufträge festlegt, die kürzer als die Dauer der Benutzerhintergrundsitzung sind, führt SageMaker KI den Job entweder für die Mindestdauer der Benutzerhintergrundsitzung `MaxRuntimeInSeconds` oder für die Dauer der Benutzerhintergrundsitzung aus. Mehr über `MaxRuntimeInSeconds` erfahren Sie unter [CreateTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-StoppingCondition). Informationen zur Einstellung der Laufzeit finden Sie unter [Benutzersitzungen im Hintergrund im IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/user-background-sessions.html).

# Wie stelle ich eine Verbindung zu anderen AWS Diensten her, wenn die Verbreitung vertrauenswürdiger Identitäten aktiviert ist
<a name="trustedidentitypropagation-connect-other"></a>

Wenn Trusted Identity Propagation für Ihre Amazon SageMaker AI-Domain aktiviert ist, können sich die Domain-Benutzer mit anderen AWS Diensten verbinden, die vertrauenswürdige Identitätsverbreitung aktivieren. Wenn die Weitergabe vertrauenswürdiger Identitäten aktiviert ist, wird Ihr Identitätskontext automatisch an kompatible Services weitergegeben, was eine differenzierte Zugriffskontrolle und eine verbesserte Prüfung Ihrer Machine-Learning-Workflows ermöglicht. Diese Integration macht einen komplexen IAM-Rollenwechsel überflüssig und bietet ein einheitliches Identitätserlebnis für alle AWS Dienste. Auf den folgenden Seiten finden Sie Informationen darüber, wie Sie Amazon SageMaker Studio mit anderen AWS Diensten verbinden können, wenn die Verbreitung vertrauenswürdiger Identitäten aktiviert ist.

**Topics**
+ [JupyterLab Studio-Notebooks mit Amazon S3 Access Grants Connect, wobei die Weitergabe vertrauenswürdiger Identitäten aktiviert ist](trustedidentitypropagation-s3-access-grants.md)
+ [Connect JupyterLab Studio-Notebooks mit Amazon EMR, wobei die Verbreitung vertrauenswürdiger Identitäten aktiviert ist](trustedidentitypropagation-emr-ec2.md)
+ [Connect Ihre JupyterLab Studio-Notebooks mit EMR Serverless, wobei Trusted Identity Propagation aktiviert ist](trustedidentitypropagation-emr-serverless.md)
+ [Connect JupyterLab Studio-Notebooks mit der Redshift Data API, wobei vertrauenswürdige Identitätsverbreitung aktiviert ist](trustedidentitypropagation-redshift-data-apis.md)
+ [Connect JupyterLab Studio-Notebooks mit Lake Formation und Athena, wobei vertrauenswürdige Identitätsverbreitung aktiviert ist](trustedidentitypropagation-lake-formation-athena.md)

# JupyterLab Studio-Notebooks mit Amazon S3 Access Grants Connect, wobei die Weitergabe vertrauenswürdiger Identitäten aktiviert ist
<a name="trustedidentitypropagation-s3-access-grants"></a>

Sie können [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) verwenden, um Amazon-S3-Standorten flexibel eine identitätsbasierte, differenzierte Zugriffskontrolle zu gewähren. Diese gewähren Amazon-S3-Buckets direkten Zugriff auf Unternehmensbenutzer und -gruppen. Auf den folgenden Seiten finden Sie Informationen und Anweisungen zur Verwendung von Amazon S3 Access Grants mit vertrauenswürdiger Identitätsverbreitung für SageMaker KI.

## Voraussetzungen
<a name="s3-access-grants-prerequisites"></a>

Um Studio mit Lake Formation und Athena mit aktivierter Weitergabe vertrauenswürdiger Identitäten zu verbinden, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
+  [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md) 
+ Befolgen Sie [Erste Schritte mit Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html), um Amazon S3 Access Grants für Ihren Bucket einzurichten. Weitere Informationen finden Sie unter [Skalieren des Datenzugriffs mit Amazon S3 Access Grants](https://aws.amazon.com/blogs/storage/scaling-data-access-with-amazon-s3-access-grants/).
**Anmerkung**  
Amazon S3 Standard funktioniert APIs nicht automatisch mit Amazon S3 Access Grants. Sie müssen Amazon S3 Access Grants ausdrücklich verwenden APIs. Weitere Informationen finden Sie unter [Verwalten des Zugriffs mit Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

**Topics**
+ [Voraussetzungen](#s3-access-grants-prerequisites)
+ [Amazon S3 Access Grants mit JupyterLab Studio-Notebooks Connect](s3-access-grants-setup.md)
+ [Connect JupyterLab Studio-Notebooks mit Amazon S3 Access Grants mit Schulungs- und Verarbeitungsaufträgen](trustedidentitypropagation-s3-access-grants-jobs.md)

# Amazon S3 Access Grants mit JupyterLab Studio-Notebooks Connect
<a name="s3-access-grants-setup"></a>

Verwenden Sie die folgenden Informationen, um Amazon S3-Zugriffsberechtigungen in JupyterLab Studio-Notizbüchern zu gewähren.

Nachdem Amazon S3 Access Grants eingerichtet ist, [fügen Sie die folgenden Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) Ihrer Domain- oder [Benutzerausführungsrolle](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role) hinzu.
+ `us-east-1` ist die AWS-Region
+ `111122223333` ist die AWS-Konto -ID
+ `S3-ACCESS-GRANT-ROLE` ist die Rolle von Amazon S3 Access Grant

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDataAccessAPI",
            "Effect": "Allow",
            "Action": [
                "s3:GetDataAccess"
            ],
            "Resource": [
                "arn:aws:s3:us-east-1:111122223333:access-grants/default"
            ]
        },
        {
            "Sid": "RequiredForTIP",
            "Effect": "Allow",
            "Action": "sts:SetContext",
            "Resource": "arn:aws:iam::111122223333:role/S3-ACCESS-GRANT-ROLE"
        }
    ]
}
```

------

Stellen Sie sicher, dass die Vertrauensrichtlinie Ihrer Rolle von Amazon S3 Access Grants die Aktionen `sts:SetContext` und `sts:AssumeRole` zulässt. Folgendes ist eine Beispielrichtlinie, wenn Sie die [Vertrauensrichtlinie für Ihre Rolle aktualisieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "access-grants.s3.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole",
                "sts:SetContext"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": "arn:aws:s3:us-east-1:111122223333:access-grants/default"
                }
            }
        }
    ]
}
```

------

## Verwenden von Amazon S3 Access Grants für den Aufruf von Amazon S3
<a name="s3-access-grants-python-example"></a>

Im Folgenden finden Sie ein Beispiel für ein Python-Skript, das zeigt, wie Amazon S3 Access Grants verwendet werden kann, um Amazon S3 aufzurufen. Dies setzt voraus, dass Sie die Verbreitung vertrauenswürdiger Identitäten mit SageMaker KI bereits erfolgreich eingerichtet haben.

```
import boto3
from botocore.config import Config

def get_access_grant_credentials(account_id: str, target: str, 
                                 permission: str = 'READ'):
    s3control = boto3.client('s3control')
    response = s3control.get_data_access(
        AccountId=account_id,
        Target=target,
        Permission=permission
    )
    return response['Credentials']

def create_s3_client_from_credentials(credentials) -> boto3.client:
    return boto3.client(
        's3',
        aws_access_key_id=credentials['AccessKeyId'],
        aws_secret_access_key=credentials['SecretAccessKey'],
        aws_session_token=credentials['SessionToken']
    )

# Create client
credentials = get_access_grant_credentials('111122223333',
                                        "s3://tip-enabled-bucket/tip-enabled-path/")
s3 = create_s3_client_from_credentials(credentials)

s3.list_objects(Bucket="tip-enabled-bucket", Prefix="tip-enabled-path/")
```

Wenn Sie einen Pfad zu einem Amazon-S3-Bucket verwenden, für den Amazon S3 Access Grant nicht aktiviert ist, schlägt der Aufruf fehl.

Weitere Informationen zu anderen Programmiersprachen finden Sie unter [Verwalten des Zugriffs mit Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html).

# Connect JupyterLab Studio-Notebooks mit Amazon S3 Access Grants mit Schulungs- und Verarbeitungsaufträgen
<a name="trustedidentitypropagation-s3-access-grants-jobs"></a>

Verwenden Sie die folgenden Informationen, um Amazon S3-Zugriffsberechtigungen für den Zugriff auf Daten in Amazon SageMaker Training and Processing Jobs zu gewähren.

Wenn ein Benutzer mit aktivierter Weitergabe vertrauenswürdiger Identitäten einen SageMaker Trainings- oder Verarbeitungsjob startet, der auf Amazon S3 S3-Daten zugreifen muss:
+ SageMaker KI ruft Amazon S3 Access Grants auf, um temporäre Anmeldeinformationen auf der Grundlage der Benutzeridentität zu erhalten
+ Bei Erfolg greifen diese temporären Anmeldeinformationen auf die Amazon-S3-Daten zu.
+ Gelingt das nicht, greift SageMaker KI auf die Verwendung der IAM-Rollenanmeldedaten zurück

**Anmerkung**  
Um zu erzwingen, dass alle Berechtigungen über Amazon S3 Access Grants erteilt werden, müssen Sie die zugehörige Amazon-S3-Zugriffsberechtigung Ihrer Ausführungsrolle entfernen und sie dem entsprechenden [Amazon S3 Access Grant](https://docs.aws.amazon.com/singlesignon/latest/userguide/tip-tutorial-s3.html#tip-tutorial-s3-create-grant) zuordnen.

**Topics**
+ [Überlegungen](#s3-access-grants-jobs-considerations)
+ [Einrichten von Amazon S3 Access Grants mit Trainings- und Verarbeitungsaufträgen](#s3-access-grants-jobs-setup)

## Überlegungen
<a name="s3-access-grants-jobs-considerations"></a>

Amazon S3 Access Grants können nicht mit dem [Pipe-Modus](https://docs.aws.amazon.com/sagemaker/latest/dg/augmented-manifest-stream.html) sowohl für SageMaker Training als auch für die Verarbeitung von Amazon S3 S3-Eingaben verwendet werden.

Wenn die Weitergabe vertrauenswürdiger Identitäten aktiviert ist, können Sie keinen SageMaker Trainingsjob mit der folgenden Funktion starten
+ Remote-Debuggen
+ Debugger
+ Profiler

Wenn die Weitergabe vertrauenswürdiger Identitäten aktiviert ist, können Sie keinen Verarbeitungsauftrag mit dem folgenden Feature starten.
+ DatasetDefinition

## Einrichten von Amazon S3 Access Grants mit Trainings- und Verarbeitungsaufträgen
<a name="s3-access-grants-jobs-setup"></a>

Nachdem Amazon S3 Access Grants eingerichtet ist, [fügen Sie die folgenden Berechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) Ihrer Domain- oder [Benutzerausführungsrolle](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html#sagemaker-roles-get-execution-role) hinzu.
+ `us-east-1` ist die AWS-Region
+ `111122223333` ist die AWS-Konto -ID
+ `S3-ACCESS-GRANT-ROLE` ist die Rolle von Amazon S3 Access Grant

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDataAccessAPI",
            "Effect": "Allow",
            "Action": [
                "s3:GetDataAccess",
                "s3:GetAccessGrantsInstanceForPrefix"
            ],
            "Resource": [
                "arn:aws:s3:us-east-1:111122223333:access-grants/default"
            ]
        },
        {
            "Sid": "RequiredForIdentificationPropagation",
            "Effect": "Allow",
            "Action": "sts:SetContext",
            "Resource": "arn:aws:iam::111122223333:role/S3-ACCESS-GRANT-ROLE"
        }
    ]
}
```

------

# Connect JupyterLab Studio-Notebooks mit Amazon EMR, wobei die Verbreitung vertrauenswürdiger Identitäten aktiviert ist
<a name="trustedidentitypropagation-emr-ec2"></a>

Durch die Verbindung von Amazon SageMaker JupyterLab Studio-Notebooks mit Amazon EMR-Clustern können Sie die verteilte Rechenleistung von Amazon EMR für umfangreiche Datenverarbeitungs- und Analyse-Workloads nutzen. Wenn die Weitergabe vertrauenswürdiger Identitäten aktiviert ist, wird Ihr Identitätskontext an Amazon EMR weitergegeben, was eine detaillierte Zugriffskontrolle und umfassende Prüfpfade ermöglicht. Auf der folgenden Seite finden Sie Anweisungen, wie Sie Ihr Studio-Notebook mit Amazon-EMR-Clustern verbinden. Nach der Einrichtung können Sie die `Connect to Cluster`-Option in Ihrem Studio-Notebook verwenden.

Um Studio mit Amazon EMR mit aktivierter Weitergabe vertrauenswürdiger Identitäten zu verbinden, stellen Sie sicher, dass Sie die folgenden Einrichtungen abgeschlossen haben:
+  [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md) 
+  [Erste Schritte mit der AWS IAM Identity Center Integration für Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-idc-start.html) 
+  [Aktivieren der Kommunikation zwischen Studio- und Amazon-EMR-Clustern](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-cluster.html) 

 **Verbinden mit dem Amazon-EMR-Cluster** 

Eine vollständige Liste der Optionen zum Connect Ihres JupyterLab Notebooks mit Amazon EMR finden Sie unter [Verbindung zu einem Amazon EMR-Cluster herstellen](https://docs.aws.amazon.com/sagemaker/latest/dg/connect-emr-clusters.html).

# Connect Ihre JupyterLab Studio-Notebooks mit EMR Serverless, wobei Trusted Identity Propagation aktiviert ist
<a name="trustedidentitypropagation-emr-serverless"></a>

Amazon EMR Serverless bietet eine Serverless-Option für die Ausführung von Apache-Spark- und Apache-Hive-Anwendungen ohne Verwaltung von Clustern. Wenn EMR Serverless in Weitergabe vertrauenswürdiger Identitäten integriert ist, skaliert es automatisch die Rechenressourcen und behält gleichzeitig Ihren Identitätskontext für die Zugriffskontrolle und Prüfung bei. Durch diesen Ansatz entfällt der betriebliche Aufwand der Clusterverwaltung, während gleichzeitig die Sicherheitsvorteile der identitätsbasierten Zugriffskontrolle erhalten bleiben. Der folgende Abschnitt enthält Informationen darüber, wie Sie Studio, das die Weitergabe vertrauenswürdiger Identitäten aktiviert hat, mit EMR Serverless verbinden.

Um Studio mit Amazon EMR Serverless mit aktivierter Weitergabe vertrauenswürdiger Identitäten zu verbinden, stellen Sie sicher, dass Sie die folgenden Einrichtungen abgeschlossen haben:
+  [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md) 
+  [Weitergabe von vertrauenswürdigen Identitäten mit EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-service-trusted-prop.html) 
+  [Aktivieren der Kommunikation zwischen Studio und EMR Serverless](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-serverless.html) 

 **Verbindung zur EMR Serverless-Anwendung** 

Eine vollständige Liste der Optionen zum Connect Ihres JupyterLab Notebooks mit EMR Serverless finden Sie unter [Verbindung zu einer EMR Serverless-Anwendung herstellen](https://docs.aws.amazon.com/sagemaker/latest/dg/connect-emr-serverless-application.html).

# Connect JupyterLab Studio-Notebooks mit der Redshift Data API, wobei vertrauenswürdige Identitätsverbreitung aktiviert ist
<a name="trustedidentitypropagation-redshift-data-apis"></a>

Mit Amazon Redshift Data API können Sie programmgesteuert mit Ihren Amazon-Redshift-Clustern interagieren, ohne persistente Verbindungen verwalten zu müssen. In Kombination mit der Weitergabe vertrauenswürdiger Identitäten bietet Redshift Data API sicheren, identitätsbasierten Zugriff auf Ihr Data Warehouse, sodass Sie SQL-Abfragen ausführen und Ergebnisse abrufen können, während Sie gleichzeitig vollständige Audit Trails der Benutzeraktivitäten beibehalten. Diese Integration ist besonders wertvoll für datenwissenschaftliche Workflows, die Zugriff auf strukturierte Daten erfordern, die in Redshift gespeichert sind. Die folgende Seite enthält Informationen und Anweisungen zur Verbindung von Trusted Identity Propagation mit Amazon SageMaker Studio mit der Redshift Data API.

Um Studio mit Redshift Data API mit aktivierter Weitergabe vertrauenswürdiger Identitäten zu verbinden, stellen Sie sicher, dass Sie die folgenden Einrichtungen abgeschlossen haben:
+  [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md) 
+  [Verwenden von Redshift Data API mit Weitergabe vertrauenswürdiger Identitäten](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-trusted-identity-propagation.html) 
  + Stellen Sie sicher, dass Ihre Ausführungsrolle über die entsprechenden Berechtigungen für Redshift Data API verfügt. Weitere Informationen finden Sie unter [Autorisieren des Zugriffs](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-access.html).
+  [Vereinfachen Sie die Zugriffsverwaltung mit Amazon Redshift und AWS Lake Formation für Benutzer in einem externen Identitätsanbieter](https://aws.amazon.com/blogs/big-data/simplify-access-management-with-amazon-redshift-and-aws-lake-formation-for-users-in-an-external-identity-provider/) 

# Connect JupyterLab Studio-Notebooks mit Lake Formation und Athena, wobei vertrauenswürdige Identitätsverbreitung aktiviert ist
<a name="trustedidentitypropagation-lake-formation-athena"></a>

AWS Lake Formation und Amazon Athena arbeiten zusammen, um eine umfassende Data-Lake-Lösung mit detaillierter Zugriffskontrolle und serverlosen Abfragefunktionen bereitzustellen. Lake Formation zentralisiert die Berechtigungsverwaltung für Ihren Data Lake, während Athena interaktive Abfrageservices bereitstellt. Wenn diese Kombination in die Weitergabe vertrauenswürdiger Identitäten integriert ist, können Datenwissenschaftler nur auf die Daten zugreifen, zu deren Einsichtnahme sie berechtigt sind. Alle Abfragen und Datenzugriffe werden zu Compliance- und Auditzwecken automatisch protokolliert. Die folgende Seite enthält Informationen und Anweisungen dazu, wie Sie Trusted Identity Propagation mit Amazon SageMaker Studio mit Lake Formation und Athena verbinden können.

Um Studio mit Lake Formation und Athena mit aktivierter Weitergabe vertrauenswürdiger Identitäten zu verbinden, stellen Sie sicher, dass Sie die folgenden Einrichtungen abgeschlossen haben:
+  [Einrichten der Weitergabe vertrauenswürdiger Identitäten für Studio](trustedidentitypropagation-setup.md) 
+  [Erstellen einer Lake-Formation-Rolle](https://docs.aws.amazon.com/lake-formation/latest/dg/prerequisites-identity-center.html) 
+  [Verbinden von Lake Formation mit IAM Identity Center](https://docs.aws.amazon.com/lake-formation/latest/dg/connect-lf-identity-center.html) 
+ Erstellen von Lake-Formation-Ressourcen:
  +  [Datenbank](https://docs.aws.amazon.com/lake-formation/latest/dg/creating-database.html) 
  +  [Tabellen](https://docs.aws.amazon.com/lake-formation/latest/dg/creating-tables.html) 
+  [Erstellen einer Athena-Arbeitsgruppe](https://docs.aws.amazon.com/athena/latest/ug/creating-workgroups.html) 
  + Wählen Sie **AthenaSQL** für die Engine aus.
  + Wählen Sie **IAM Identity Center** als Authentifizierungsmethode aus.
  + Erstellen einer neuen Servicerolle
    + Stellen Sie sicher, dass die Benutzer von IAM Identity Center über Amazon S3 Access Grants Zugriff auf den Speicherort der Abfrageergebnisse haben.
+  [Erteilen von Datenbankberechtigungen mit der benannten Ressourcenmethode](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-database-permissions.html) 

# Ausführung häufiger Benutzeroberflächen-Aufgaben
<a name="studio-updated-common"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

 In den folgenden Abschnitten wird beschrieben, wie allgemeine Aufgaben in der Amazon SageMaker Studio-Benutzeroberfläche ausgeführt werden. Eine Übersicht über die Studio-Benutzeroberfläche finden Sie unter [Überblick über die Amazon SageMaker Studio-Benutzeroberfläche](studio-updated-ui.md). 

 **Festlegen der Cookie-Einstellungen** 

1. Starten Sie Studio, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) befolgen. 

1.  Wählen Sie unten in der Studio-Benutzeroberfläche die Option **Cookie-Einstellungen** aus. 

1.  Aktivieren Sie das Kontrollkästchen für jeden Cookie-Typ, den Amazon SageMaker AI verwenden soll. 

1.  Klicken Sie auf **Präferenzen speichern**. 

 **Verwalten von Benachrichtigungen** 

Benachrichtigungen enthalten Informationen zu wichtigen Änderungen an Studio, Aktualisierungen von Anwendungen und zu lösenden Problemen. 

1. Starten Sie Studio, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) befolgen. 

1.  Klicken Sie in der Navigationsleiste oben auf das Symbol **Benachrichtigungen** (![\[Logo for Notifications, a cloud service with a stylized bell icon.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/monarch/notification.png)). 

1.  Wählen Sie aus der Liste der Benachrichtigungen die Benachrichtigung aus, um Informationen dazu zu erhalten. 

 **Hinterlassen Sie Feedback** 

 Wir nehmen Ihr Feedback ernst. Wir empfehlen Ihnen, Feedback zu geben. 

 Wählen Sie in der oberen Navigationsleiste von Studio die Option **Feedback geben** aus. 

 **Abmelden** 

 Das Abmelden von der Studio-Benutzeroberfläche unterscheidet sich vom Schließen des Browserfensters. Beim Abmelden werden Sitzungsdaten aus dem Browser und ungespeicherte Änderungen gelöscht. 

Das gleiche Verhalten tritt auch auf, wenn bei der Studio-Sitzung ein Timeout auftritt. Dies geschieht nach 5 Minuten. 

1. Starten Sie Studio, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) befolgen. 

1. Wählen Sie das Symbol **Benutzeroptionen** (![\[User icon with a circular avatar placeholder and a downward-pointing arrow.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/monarch/user-settings.png)) aus. 

1.  Wählen Sie **Abmelden** aus. 

1. Wählen Sie im Popup-Fenster **Abmelden** aus. 

# NVMe Geschäfte mit Amazon SageMaker Studio
<a name="studio-updated-nvme"></a>

Amazon SageMaker Studio-Anwendungen und die zugehörigen Notebooks werden auf Amazon Elastic Compute Cloud (Amazon EC2) -Instances ausgeführt. Einige der Amazon EC2 EC2-Instance-Typen, wie z. B. die `ml.m5d` Instance-Familie, bieten nichtflüchtige Memory Express (NVMe) Solid-State-Drives (SSD) -Instance-Speicher. NVMe Instance-Speicher sind lokale kurzlebige Festplattenspeicher, die physisch mit einer Instance verbunden sind, um eine schnelle temporäre Speicherung zu ermöglichen. Studio-Anwendungen unterstützen NVMe Instanzspeicher für unterstützte Instance-Typen. Weitere Informationen zu Instance-Typen und den zugehörigen NVMe Speicher-Volumes finden Sie in den [Amazon Elastic Compute Cloud-Instance-Typdetails](https://aws.amazon.com/ec2/instance-types/). Dieses Thema enthält Informationen zum Zugriff auf und zur Verwendung von NVMe Instance-Speichern sowie Überlegungen zur Verwendung von NVMe Instance-Speichern mit Studio.

## Überlegungen
<a name="studio-updated-nvme-considerations"></a>

Die folgenden Überlegungen gelten für die Verwendung von NVMe Instanzspeichern mit Studio.
+ Ein NVMe Instanzspeicher ist ein temporärer Speicher. Die im NVMe Store gespeicherten Daten werden gelöscht, wenn die Instance beendet, gestoppt oder in den Ruhezustand versetzt wird. Bei der Verwendung von NVMe Stores mit Studio-Anwendungen gehen die Daten im NVMe Instanzspeicher verloren, wenn die Anwendung gelöscht, neu gestartet oder gepatcht wird. Wir empfehlen Ihnen, wertvolle Daten auf persistenten Speicherlösungen wie Amazon Elastic Block Store, Amazon Elastic File System oder Amazon Simple Storage Service zu sichern. 
+ Studio patcht Instances regelmäßig, um neue Sicherheitsupdates zu installieren. Wenn eine Instance gepatcht wird, wird die Instance neu gestartet. Dieser Neustart führt zum Löschen der im NVMe Instanzspeicher gespeicherten Daten. Wir empfehlen, die erforderlichen Daten aus dem NVMe Instance-Speicher häufig auf persistenten Speicherlösungen wie Amazon Elastic Block Store, Amazon Elastic File System oder Amazon Simple Storage Service zu sichern. 
+ Die folgenden Studio-Anwendungen unterstützen die Verwendung von NVMe Speicher:
  + JupyterLab
  + Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source
  + KernelGateway

## Zugriff auf NVMe Instanzspeicher
<a name="studio-updated-nvme-access"></a>

Wenn Sie einen Instanztyp mit angehängten NVMe Instanzspeichern auswählen, um eine Studio-Anwendung zu hosten, wird das NVMe Instanzspeicherverzeichnis im Anwendungscontainer am folgenden Speicherort bereitgestellt:

```
/mnt/sagemaker-nvme
```

Wenn an eine Instanz mehr als ein NVMe Instanzspeicher angehängt ist, erstellt Studio ein gestreiftes logisches Volume, das sich über alle angeschlossenen lokalen Festplatten erstreckt. Studio mountet dann dieses logische Stripe-Volume in das Verzeichnis `/mnt/sagemaker-nvme`. Daher ist die Speichergröße des Verzeichnisses die Summe aller Volume-Größen des NVMe Instance-Speichers, die der Instanz zugeordnet sind. 

Wenn das `/mnt/sagemaker-nvme` Verzeichnis nicht existiert, stellen Sie sicher, dass dem Instance-Typ, der Ihre Anwendung hostet, ein NVMe Instance-Speicher-Volume angehängt ist.

# Unterstützung für den lokalen Modus in Amazon SageMaker Studio
<a name="studio-updated-local"></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.

Amazon SageMaker Studio-Anwendungen unterstützen die Verwendung des lokalen Modus, um Kalkulatoren, Prozessoren und Pipelines zu erstellen und diese dann in einer lokalen Umgebung bereitzustellen. Im lokalen Modus können Sie Machine-Learning-Skripts testen, bevor Sie sie in von Amazon SageMaker AI verwalteten Trainings- oder Hosting-Umgebungen ausführen. Studio unterstützt den lokalen Modus in den folgenden Anwendungen:
+ Amazon SageMaker Studio Klassisch
+ JupyterLab
+ Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source

Der lokale Modus in Studio-Anwendungen wird mit dem SageMaker Python-SDK aufgerufen. In Studio-Anwendungen funktioniert der lokale Modus ähnlich wie in SageMaker Amazon-Notebook-Instances, mit einigen Unterschieden. Wenn [Rootless-Docker-Konfiguration](studio-updated-local-get-started.md#studio-updated-local-rootless) aktiviert ist, können Sie über Ihre VPC-Konfiguration auch auf zusätzliche Docker-Registrierungen zugreifen, einschließlich On-Premises-Repositorys und öffentlicher Register. Weitere Informationen zur Verwendung des lokalen Modus mit dem SageMaker Python-SDK finden Sie unter [Lokaler Modus](https://sagemaker.readthedocs.io/en/stable/overview.html#local-mode).

**Anmerkung**  
Studio-Anwendungen unterstützen keine Multicontainer-Aufträge im lokalen Modus. Aufträge im lokalen Modus sind für Trainings-, Inferenz- und Verarbeitungsaufträge auf eine einzige Instance beschränkt. Bei der Erstellung eines Auftrags im lokalen Modus muss die Konfiguration für die Anzahl der Instances `1` betragen. 

## Docker-Support
<a name="studio-updated-local-docker"></a>

Im Rahmen der Unterstützung des lokalen Modus unterstützen Studio-Anwendungen eingeschränkte Docker-Zugriffsmöglichkeiten. Mit dieser Unterstützung können Benutzer von Jupyter-Notebooks oder dem Image-Terminal der Anwendung aus mit der Docker-API interagieren. Kunden können mit Docker über eine der folgenden Optionen interagieren:
+ [Docker-CLI](https://docs.docker.com/engine/reference/run/)
+ [Docker-Compose-CLI](https://docs.docker.com/compose/reference/)
+ Sprachspezifische Docker-SDK-Clients

Studio unterstützt auch Funktionen mit eingeschränktem Docker-Zugriff mit den folgenden Einschränkungen:
+ Die Verwendung von Docker-Netzwerken wird nicht unterstützt.
+ Die Verwendung von [Docker-Volumes](https://docs.docker.com/storage/volumes/) wird während der Ausführung eines Containers nicht unterstützt. Bei der Container-Orchestrierung sind nur Bind-Mount-Eingaben des Volumes zulässig. Die Bind-Mount-Eingaben des Volumes müssen sich auf dem Volume von Amazon Elastic File System (Amazon EFS) für Studio Classic befinden. Für JupyterLab und Code-Editor-Anwendungen muss es sich auf dem Amazon Elastic Block Store (Amazon EBS) -Volume befinden.
+ Operationen zur Inspektion von Containern sind zulässig.
+ Die Zuordnung von Container-Port zu Host ist nicht zulässig. Sie können jedoch einen Port für das Hosting angeben. Auf den Endpunkt kann dann von Studio aus über die folgende URL zugegriffen werden:

  ```
  http://localhost:port
  ```

### Unterstützte Docker-Operationen
<a name="studio-updated-local-docker-supported"></a>

Die folgende Tabelle führt alle Docker-API-Endpunkte auf, die in Studio unterstützt werden, einschließlich aller Supporteinschränkungen. Wenn ein API-Endpunkt in der Tabelle fehlt, unterstützt Studio ihn nicht.


|  API-Dokumentation  |  Einschränkungen  | 
| --- | --- | 
|  [SystemAuth](https://docs.docker.com/engine/api/v1.43/#tag/System/operation/SystemAuth)  |   | 
|  [SystemEvents](https://docs.docker.com/engine/api/v1.43/#tag/System/operation/SystemEvents)  |   | 
|  [SystemVersion](https://docs.docker.com/engine/api/v1.43/#tag/System/operation/SystemVersion)  |   | 
|  [SystemPing](https://docs.docker.com/engine/api/v1.43/#tag/System/operation/SystemPing)  |   | 
|  [SystemPingHead](https://docs.docker.com/engine/api/v1.43/#tag/System/operation/SystemPingHead)  |   | 
|  [ContainerCreate](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerCreate)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-updated-local.html)  | 
|  [ContainerStart](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerStart)  |   | 
|  [ContainerStop](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerStop)  |   | 
|  [ContainerKill](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerKill)  |   | 
|  [ContainerDelete](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerDelete)  |   | 
|  [ContainerList](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerList)  |   | 
|  [ContainerLogs](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerLogs)  |   | 
|  [ContainerInspect](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect)  |   | 
|  [ContainerWait](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerWait)  |   | 
|  [ContainerAttach](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerAttach)  |   | 
|  [ContainerPrune](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerPrune)  |   | 
|  [ContainerResize](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerResize)  |   | 
|  [ImageCreate](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageCreate)  |  Die VPC-only-Modusunterstützung ist auf Amazon-ECR-Images in Konten beschränkt, die auf der Zulassungsliste stehen. Wenn [Rootless-Docker-Konfiguration](studio-updated-local-get-started.md#studio-updated-local-rootless) aktiviert ist, können Sie über Ihre VPC-Konfiguration auch auf zusätzliche Docker-Registrierungen zugreifen, einschließlich On-Premises-Repositorys und öffentlicher Register. | 
|  [ImagePrune](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImagePrune)  |   | 
|  [ImagePush](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImagePush)  |  Die VPC-only-Modusunterstützung ist auf Amazon-ECR-Images in Konten beschränkt, die auf der Zulassungsliste stehen. Wenn [Rootless-Docker-Konfiguration](studio-updated-local-get-started.md#studio-updated-local-rootless) aktiviert ist, können Sie über Ihre VPC-Konfiguration auch auf zusätzliche Docker-Registrierungen zugreifen, einschließlich On-Premises-Repositorys und öffentlicher Register. | 
|  [ImageList](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageList)  |   | 
|  [ImageInspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect)  |   | 
|  [ImageGet](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageGet)  |   | 
|  [ImageDelete](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageDelete)  |   | 
|  [ImageBuild](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageBuild)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-updated-local.html)  | 

**Topics**
+ [Docker-Support](#studio-updated-local-docker)
+ [Erste Schritte mit dem lokalen Modus](studio-updated-local-get-started.md)

# Erste Schritte mit dem lokalen Modus
<a name="studio-updated-local-get-started"></a>

In den folgenden Abschnitten werden die Schritte beschrieben, die für den Einstieg in den lokalen Modus in Amazon SageMaker Studio erforderlich sind, darunter:
+ Erfüllen der Voraussetzungen
+ Festlegen von `EnableDockerAccess`
+ Docker-Installation

## Voraussetzungen
<a name="studio-updated-local-prereq"></a>

Erfüllen Sie die folgenden Voraussetzungen, um den lokalen Modus in Studio-Anwendungen zu verwenden:
+ Um Images aus einem Repository von Amazon Elastic Container Registry abzurufen, muss das Konto, in dem das Amazon-ECR-Image gehostet wird, eine Zugriffsberechtigung für die Ausführungsrolle des Benutzers bereitstellen. Die Ausführungsrolle der Domain muss auch Amazon-ECR-Zugriff ermöglichen.
+ Stellen Sie mithilfe des folgenden Befehls sicher, dass Sie die neueste Version des Studio Python-SDK verwenden: 

  ```
  pip install -U sagemaker
  ```
+ Um den lokalen Modus und Docker-Funktionen zu verwenden, legen Sie die folgenden Parameter der `DockerSettings` der Domain mithilfe der AWS Command Line Interface (AWS CLI) fest: 

  ```
  EnableDockerAccess : ENABLED
  ```
+ Mit `EnableDockerAccess` können Sie auch steuern, ob Benutzer in der Domain den lokalen Modus verwenden dürfen. Standardmäßig sind der lokale Modus und Docker-Funktionen in Studio-Anwendungen nicht zulässig. Weitere Informationen finden Sie unter [Festlegen von `EnableDockerAccess`](#studio-updated-local-enable).
+ Installieren Sie die Docker-CLI in der Studio-Anwendung, indem Sie die Schritte unter [Docker-Installation](#studio-updated-local-docker-installation) befolgen.
+ Stellen Sie für [Rootless-Docker-Konfiguration](#studio-updated-local-rootless) sicher, dass Ihre VPC über geeignete Endpunkte und Routing-Einstellungen für die von Ihnen gewünschten Docker-Registrys verfügt.

## Festlegen von `EnableDockerAccess`
<a name="studio-updated-local-enable"></a>

In den folgenden Abschnitten wird beschrieben, wie Sie `EnableDockerAccess` festlegen, wenn die Domain über öffentlichen Internetzugang verfügt oder sich im Modus `VPC-only` befindet.

**Anmerkung**  
Änderungen an `EnableDockerAccess` gelten nur für Anwendungen, die nach der Aktualisierung der Domain erstellt wurden. Sie müssen nach dem Aktualisieren der Domain eine neue Anwendung erstellen.

**Öffentlicher Internetzugang**

Die folgenden Beispielbefehle veranschaulichen, wie Sie `EnableDockerAccess` beim Erstellen einer neuen Domain oder beim Aktualisieren einer bestehenden Domain mit öffentlichem Internetzugang festlegen:

```
# create new domain
aws --region region \
    sagemaker create-domain --domain-name domain-name \
    --vpc-id vpc-id \
    --subnet-ids subnet-ids \
    --auth-mode IAM \
    --default-user-settings "ExecutionRole=execution-role" \
    --domain-settings '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}' \
    --query DomainArn \
    --output text

# update domain
aws --region region \
    sagemaker update-domain --domain-id domain-id \
    --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'
```

**`VPC-only` Modus**

Wenn Sie eine Domain im `VPC-only`-Modus verwenden, werden Image-Push- und Pull-Anfragen von Docker über die Service-VPC und nicht über die vom Kunden konfigurierte VPC weitergeleitet. Aufgrund dieser Funktionalität können Administratoren eine Liste vertrauenswürdiger AWS-Konten konfigurieren, an die Benutzer Push- und Pull-Anfragen von Amazon ECR Docker durchführen können.

Wenn eine Docker Image-Push- oder Pull-Anfrage an eine Person gestellt wird AWS-Konto , die nicht in der Liste der vertrauenswürdigen Dateien aufgeführt ist AWS-Konten, schlägt die Anfrage fehl. DockerPull- und Push-Operationen außerhalb von Amazon Elastic Container Registry (Amazon ECR) werden im `VPC-only` Modus nicht unterstützt.

Folgendes wird standardmäßig AWS-Konten als vertrauenswürdig eingestuft:
+ Das Konto, das die SageMaker AI-Domain hostet.
+ SageMaker AI-Konten, die die folgenden SageMaker Bilder hosten:
  + DLC-Framework-Images
  + SklearnSpark, Bilder XGBoost verarbeiten

Um eine Liste weiterer vertrauenswürdiger Dateien zu konfigurieren AWS-Konten, geben Sie den `VpcOnlyTrustedAccounts` Wert wie folgt an:

```
aws --region region \
    sagemaker update-domain --domain-id domain-id \
    --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED", "VpcOnlyTrustedAccounts": ["account-list"]}}'
```

**Anmerkung**  
Wenn [Rootless-Docker-Konfiguration](#studio-updated-local-rootless) aktiviert ist, wird `VpcOnlyTrustedAccounts` ignoriert und der Docker-Datenverkehr wird durch Ihre VPC-Konfiguration geleitet, sodass Sie auf jede Registrierung zugreifen können, die Ihre VPC erreichen kann.

## Rootless-Docker-Konfiguration
<a name="studio-updated-local-rootless"></a>

Wenn [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DockerSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DockerSettings.html) aktiviert ist, verwendet Studio einen [Rootless-Docker-Daemon](https://docs.docker.com/engine/security/rootless/), der den Datenverkehr über Ihre VPC weiterleitet. Dies bietet erhöhte Sicherheit und ermöglicht den Zugriff auf zusätzliche Docker-Registrierungen. Die wichtigsten Unterschiede zu `RootlessDocker` sind:
+ Auf Container-Ports kann über die Docker-Gateway-IP (`172.17.0.1`) statt über localhost zugegriffen werden.
+ Ihre VPC-Konfiguration bestimmt, auf welche Registrys für Docker-Operationen zugegriffen werden kann. `VpcOnlyTrustedAccounts` wird ignoriert und Docker-Datenverkehr wird durch Ihre VPC-Konfiguration geleitet.

Um Rootless Docker zu verwenden, müssen Sie und `EnableDockerAccess` und `RootlessDocker` auf `ENABLED`für Ihre `DockerSettings` festlegen. In den obigen [Festlegen von `EnableDockerAccess`](#studio-updated-local-enable)-Beispielen können Sie beispielsweise Ihre Domain-Einstellungen so ändern, dass sie Folgendes beinhalten:

```
'{"DockerSettings": {"EnableDockerAccess": "ENABLED", "RootlessDocker": "ENABLED"}}'
```

## Docker-Installation
<a name="studio-updated-local-docker-installation"></a>

Zur Verwendung von Docker müssen Sie Docker manuell vom Terminal Ihrer Studio-Anwendung aus installieren. Die Schritte zur Installation von Docker unterscheiden sich, je nachdem, ob die Domain Zugang zum Internet hat oder nicht.

### Internetzugang
<a name="studio-updated-local-docker-installation-internet"></a>

Wenn die Domain mit öffentlichem Internetzugang oder im `VPC-only`-Modus mit eingeschränktem Internetzugang erstellt wurde, befolgen Sie die Schritte zur Installation von Docker.

1. (Optional) Wenn Ihre Domain im `VPC-only`-Modus mit eingeschränktem Internetzugang erstellt wurde, erstellen Sie ein öffentliches NAT-Gateway mit Zugriff auf die Docker-Website. Detaillierte Anweisungen finden Sie unter [NAT-Gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

1. Navigieren Sie zum Terminal der Studio-Anwendung, in der Sie Docker installieren möchten.

1. Führen Sie den folgenden Befehl vom Terminal aus, um das Betriebssystem der Anwendung zurückzugeben:

   ```
   cat /etc/os-release
   ```

1. DockerFolgen Sie bei der Installation den Anweisungen für das Betriebssystem der Anwendung im [Amazon SageMaker AI Local Mode Examples Repository](https://github.com/aws-samples/amazon-sagemaker-local-mode/tree/main/sagemaker_studio_docker_cli_install).

   Folgen Sie bei der Installation beispielsweise Docker dem Ubuntu Skript unter [https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker\$1studio\$1docker\$1cli\$1install/sagemaker- ubuntu-focal-docker-cli -install.sh](https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker-ubuntu-focal-docker-cli-install.sh) und beachten Sie dabei die folgenden Überlegungen:
   + Wenn verkettete Befehle fehlschlagen, führen Sie die Befehle nacheinander aus.
   + Studio unterstützt nur Docker-Version `20.10.X.` und Docker Engine-API-Version `1.41`.
   + Die folgenden Pakete sind für die Verwendung der Docker-CLI in Studio nicht erforderlich und ihre Installation kann übersprungen werden:
     + `containerd.io`
     + `docker-ce`
     + `docker-buildx-plugin`
**Anmerkung**  
Sie müssen den Docker-Service in Ihren Anwendungen nicht starten. Die Instance, die die Studio-Anwendung hostet, führt den Docker-Service standardmäßig aus. Alle Docker-API-Aufrufe werden automatisch über den Docker-Service weitergeleitet.

1. Verwenden Sie den exponierten Docker-Socket für Docker-Interaktionen innerhalb von Studio-Anwendungen. Standardmäßig ist der folgende Socket verfügbar:

   ```
   unix:///docker/proxy.sock
   ```

   Die folgende Umgebungsvariable der Studio-Anwendung `USER` verwendet standardmäßig diesen exponierten Socket:

   ```
   DOCKER_HOST
   ```

### Kein Internetzugang
<a name="studio-updated-local-docker-installation-no-internet"></a>

Wenn die Domain im `VPC-only`-Modus ohne Internetzugang erstellt wurde, befolgen Sie die Schritte zur Installation von Docker.

1. Navigieren Sie zum Terminal der Studio-Anwendung, in der Sie Docker installieren möchten.

1. Führen Sie den folgenden Befehl vom Terminal aus, um das Betriebssystem der Anwendung zurückzugeben:

   ```
   cat /etc/os-release
   ```

1. Laden Sie die erforderlichen Docker–`.deb`-Dateien auf Ihren lokalen Rechner herunter. Anweisungen zum Herunterladen der erforderlichen Dateien für das Betriebssystem der Studio-Anwendung finden Sie unter [Installieren von Docker Engine](https://docs.docker.com/engine/install/).

   Installieren Sie beispielsweise Docker aus einem Paket auf Ubuntu und folgen Sie dabei den Schritten 1–4 unter [Aus einem Paket installieren](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package). Beachten Sie dabei die folgenden Überlegungen:
   + Installieren Sie Docker aus einem Paket. Die Verwendung anderer Methoden zur Installation von Docker schlägt fehl.
   + Installieren Sie die neuesten Pakete, die der Docker-Version `20.10.X` entsprechen.
   + Die folgenden Pakete sind nicht erforderlich, um die Docker-CLI in Studio zu verwenden. Sie müssen Folgendes nicht installieren:
     + `containerd.io`
     + `docker-ce`
     + `docker-buildx-plugin`
**Anmerkung**  
Sie müssen den Docker-Service in Ihren Anwendungen nicht starten. Die Instance, die die Studio-Anwendung hostet, führt den Docker-Service standardmäßig aus. Alle Docker-API-Aufrufe werden automatisch über den Docker-Service weitergeleitet.

1. Laden Sie die `.deb`-Dateien in das Amazon-EFS-Dateisystem oder in das Amazon-EBS-Dateisystem der Anwendung hoch.

1. Installieren Sie die `.deb`-Pakete `docker-ce-cli` und `docker-compose-plugin` manuell vom Studio-Anwendungsterminal aus. Weitere Informationen und Anweisungen finden Sie in Schritt 5 unter [Aus einem Paket installieren](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package) auf der Docker-Docs-Website.

1. Verwenden Sie den exponierten Docker-Socket für Docker-Interaktionen innerhalb von Studio-Anwendungen. Standardmäßig ist der folgende Socket verfügbar:

   ```
   unix:///docker/proxy.sock
   ```

   Die folgende Umgebungsvariable der Studio-Anwendung `USER` verwendet standardmäßig diesen exponierten Socket:

   ```
   DOCKER_HOST
   ```

# Anzeigen Ihrer laufenden Studio-Instances, -Anwendungen und -Bereiche
<a name="studio-updated-running"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

Die folgenden Themen enthalten Informationen und Anweisungen dazu, wie Sie Ihre laufenden Studio-Instances, -Anwendungen und -Bereiche anzeigen können. Weitere Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).

## Anzeigen Ihrer laufenden Studio-Instances und -Anwendungen
<a name="studio-updated-running-view-app"></a>

Die Seite **Running Instances** enthält Informationen über alle laufenden Anwendungsinstanzen, die vom Benutzer in Amazon SageMaker Studio erstellt oder mit dem Benutzer geteilt wurden. 

Sie können laufende Instances für all Ihre Anwendungen und Bereiche anzeigen und beenden. Wenn eine Instance gestoppt wurde, wird sie nicht auf dieser Seite angezeigt. Gestoppte Instances können auf der Landingpage für ihre jeweiligen Anwendungstypen eingesehen werden. 

Sie können eine Liste der laufenden Anwendungen und deren Details in Studio einsehen.

**So zeigen Sie laufende Instances an**

1. Starten Sie Studio, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) befolgen. 

1. Wählen Sie im linken Navigationsbereich die Option **Laufende Instances** aus. 

1. Auf der Seite **Laufende Instances** können Sie eine Liste der laufenden Anwendungen und Details zu diesen Anwendungen einsehen. 

   Um nicht ausgeführte Instances anzuzeigen, wählen Sie im linken Navigationsbereich unter **Anwendungen** die entsprechende Anwendung aus. Für die nicht ausgeführten Anwendungen wird in der Spalte **Status** der Status **Angehalten** angezeigt.

## Anzeigen Ihrer Studio-Bereiche
<a name="studio-updated-running-view-space"></a>

Der Abschnitt **Bereiche** auf Ihrer Seite mit den **Domaindetails** enthält Informationen zu Studio-Bereichen innerhalb Ihrer Domain. Auf dieser Seite können Sie Bereiche anzeigen, erstellen und löschen. 

Bei den Bereichen, die Sie im Abschnitt **Bereiche** einsehen können, handelt es sich um laufende Bereiche für Folgendes:
+ JupyterLab privater Bereich. Informationen zu finden JupyterLab Sie unter[SageMaker JupyterLab](studio-updated-jl.md).
+ Privater Bereich von Code Editor. Weitere Informationen zu Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Code-Editor in Amazon SageMaker Studio](code-editor.md).
+ Gemeinsam genutzter Bereich von Studio Classic. Weitere Informationen über den gemeinsam genutzten Bereich von Studio Classic finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md).

Es gibt keine Leerzeichen für SageMaker Canvas, Studio Classic (privat) oder RStudio. 

**Sehen Sie sich Ihre Studio-Bereiche in einer Domain an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus.

1. Wählen Sie die Domain aus, in der Sie die Bereiche anzeigen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Bereichsverwaltung** aus, um den Abschnitt **Bereiche** zu öffnen.

**Sehen Sie sich Ihre Studio-Bereiche mit dem an AWS CLI**

Verwenden Sie den folgenden Befehl, um alle Bereiche in Ihrer Domain aufzulisten:

```
aws sagemaker list-spaces --region us-east-1 --domain-id domain-id
```
+ `us-east-1`ist dein AWS-Region.
+ *domain-id* ist Ihre Domain-ID. Weitere Informationen finden Sie unter [Anzeigen von Domains](domain-view.md).

# Stoppen und Löschen Ihrer laufenden Studio-Anwendungen und -Bereiche
<a name="studio-updated-running-stop"></a>

Die folgende Seite enthält Informationen und Anweisungen zum Stoppen und Löschen ungenutzter Amazon SageMaker Studio-Ressourcen, um unerwünschte zusätzliche Kosten zu vermeiden. Für die Studio-Ressourcen, die Sie nicht mehr verwenden möchten, müssen Sie beides tun:
+ Anwendung beenden: Dadurch wird sowohl die Anwendung beendet als auch die Instance gelöscht, auf der die Anwendung ausgeführt wird. Sobald Sie eine Anwendung beendet haben, können Sie sie erneut starten.
+ Bereich löschen: Dadurch wird das Amazon-EBS-Volume gelöscht, das für die Anwendung und die Instance erstellt wurde.
**Wichtig**  
Wenn Sie den Bereich löschen, verlieren Sie den Zugriff auf die Daten in diesem Bereich. Löschen Sie den Bereich nicht, es sei denn, Sie sind sich sicher, dass Sie dies möchten.

Weitere Informationen zu den Unterschieden zwischen Studio-Bereichen und -Anwendungen finden Sie unter [Anzeigen Ihrer laufenden Studio-Instances, -Anwendungen und -Bereiche](studio-updated-running.md).

**Topics**
+ [Beenden Sie Ihre Amazon SageMaker Studio-Anwendung](#studio-updated-running-stop-app)
+ [Löschen eines Studio-Bereichs](#studio-updated-running-stop-space)

## Beenden Sie Ihre Amazon SageMaker Studio-Anwendung
<a name="studio-updated-running-stop-app"></a>

Um zusätzliche Kosten durch ungenutzte laufende Anwendungen zu vermeiden, müssen Sie diese beenden. Im Folgenden finden Sie Informationen darüber, was das Beenden einer Anwendung bewirkt und wie das geht.
+ Die folgenden Anweisungen verwenden die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)-API, um die Anwendung zu beenden. Dadurch wird auch die Instance gestoppt, auf der die Anwendung ausgeführt wird.
+ Nachdem Sie eine Anwendung beendet haben, können Sie sie später erneut starten.
  + Wenn Sie eine Anwendung beenden, bleiben die Dateien im Bereich erhalten. Sie können die Anwendung erneut ausführen und davon ausgehen, dass Sie Zugriff auf dieselben Dateien haben, die im Speicherbereich gespeichert sind, wie vor dem Löschen der Anwendung.

    
  + Wenn Sie eine Anwendung beenden, werden die *Metadaten* für die Anwendung innerhalb von 24 Stunden gelöscht. Weitere Informationen finden Sie im Hinweis im `CreationTime` Antwortelement für die [DescribeApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html#sagemaker-DescribeApp-response-CreationTime)API.

**Anmerkung**  
Wenn der Service feststellt, dass eine Anwendung nicht ordnungsgemäß funktioniert, übernimmt er die mit dem [AmazonSageMakerNotebooksServiceRolePolicy](security-iam-awsmanpol-notebooks.md#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy)-Service verknüpfte Rolle und löscht die Anwendung mithilfe der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)-API.

Die folgenden Registerkarten enthalten Anweisungen zum Stoppen einer Anwendung von Ihrer Domain aus mithilfe der Studio-Benutzeroberfläche, der SageMaker AI-Konsole oder der AWS CLI.

**Anmerkung**  
Um all Ihre laufenden Studio-Instances an einem Ort anzuzeigen und zu beenden, empfehlen wir den [Beenden der Anwendungen unter Verwendung der Studio-Benutzeroberfläche](#studio-updated-running-stop-app-using-studio-updated-ui)-Workflow mit den folgenden Optionen.

### Beenden der Anwendungen unter Verwendung der Studio-Benutzeroberfläche
<a name="studio-updated-running-stop-app-using-studio-updated-ui"></a>

Gehen Sie wie folgt vor, um Ihre Studio-Anwendungen über die Studio-Benutzeroberfläche zu beenden.

**So löschen Sie Ihre Anwendungen (Studio-Benutzeroberfläche)**

1. Studio starten. Dieser Vorgang kann je nach Einrichtung unterschiedlich sein. Weitere Informationen zum Starten von Studio finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md). 

1. Wählen Sie im linken Navigationsbereich **Laufende Instances** aus. 

   Wenn die Tabelle auf der Seite leer ist, haben Sie keine laufenden Instances oder Anwendungen in Ihren Bereiche.

1. Suchen Sie in der Tabelle unter den Spalten **Name** und **Anwendung** nach dem Namen des Bereichs und der Anwendung, die Sie beenden möchten.

1. Wählen Sie die entsprechende **Beenden**-Schaltfläche aus, um die Anwendung zu beenden.

### Beenden Sie Anwendungen mithilfe der SageMaker AI-Konsole
<a name="studio-updated-running-stop-app-using-sagemaker-console"></a>

Informationen zum Anzeigen oder Beenden von laufenden Studio-Instances von einem zentralen Ort aus finden Sie unter [Beenden der Anwendungen unter Verwendung der Studio-Benutzeroberfläche](#studio-updated-running-stop-app-using-studio-updated-ui). Befolgen Sie andernfalls die folgenden Anweisungen.

In der SageMaker AI-Konsole können Sie die laufenden Studio-Anwendungen nur für die Bereiche beenden, die Sie im Bereich **Spaces** der Konsole anzeigen können. Eine Liste der sichtbaren Bereiche finden Sie unter [Anzeigen Ihrer Studio-Bereiche](studio-updated-running.md#studio-updated-running-view-space).

Diese Schritte zeigen, wie Sie Ihre Studio-Anwendungen mithilfe der SageMaker AI-Konsole beenden können.

**Um Ihre Anwendungen zu stoppen (SageMaker AI-Konsole)**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

1. Wählen Sie die Domain aus, die Sie zurücksetzen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** **Speicherverwaltung** aus.

1. 
**Wichtig**  
Auf der Registerkarte **Bereichsverwaltung** haben Sie die Möglichkeit, den Bereich zu löschen. Es gibt einen Unterschied zwischen dem Löschen des Bereichs und dem Löschen einer Anwendung. Wenn Sie den Bereich löschen, verlieren Sie den Zugriff auf die Daten in diesem Bereich. Löschen Sie den Bereich nicht, es sei denn, Sie sind sich sicher, dass Sie dies möchten.

   Um die Anwendung zu beenden, wählen Sie auf der Registerkarte **Bereichsverwaltung** in der Spalte **Name** den Bereich für die Anwendung aus.

1. Suchen Sie im Bereich **Apps** und in der Spalte **App-Typ** nach der App, die beendet werden soll.

1. Wählen Sie in der Spalte **Aktion** die entsprechende Schaltfläche **App löschen** aus.

1. Wählen Sie im Popup-Feld **Ja, App löschen** aus. Nachdem Sie dies getan haben, wird das Eingabefeld „Löschen“ verfügbar.

1. Geben Sie **delete** in das Feld ein, um den Löschvorgang zu bestätigen.

1. Wählen Sie **Löschen** aus.

### Stoppen Sie Ihre Domain-Anwendungen mit dem AWS CLI
<a name="studio-updated-running-stop-app-using-cli"></a>

Informationen zum Anzeigen oder Beenden Ihrer laufenden Studio-Instances von einem zentralen Ort aus finden Sie unter [Beenden der Anwendungen unter Verwendung der Studio-Benutzeroberfläche](#studio-updated-running-stop-app-using-studio-updated-ui). Befolgen Sie andernfalls die folgenden Anweisungen.

In den folgenden Codebeispielen wird die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)-API verwendet, um eine Anwendung in einer Beispieldomain zu beenden. 

Verwenden Sie das folgende **Codebeispiel, um Ihre laufenden Instanzen **JupyterLab**oder Code-Editor-Instanzen** zu beenden:

```
aws sagemaker delete-app \
--domain-id example-domain-id \
--region AWS-Region \
--app-name default \
--app-type example-app-type \
--space-name example-space-name
```
+ Verwenden Sie folgende Anweisungen, um Ihre `example-domain-id` abzurufen:

**So rufen Sie `example-domain-id` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Wählen Sie auf der Seite mit den **Domain-Details** **Domain-Einstellungen** aus.

  1. Kopieren Sie die **Domain-ID**.
+ Um Ihre `AWS-Region` abzurufen, befolgen Sie die folgenden Anweisungen, um sicherzustellen, dass Sie die richtige AWS-Region für Ihre Domain verwenden: 

**So rufen Sie `AWS-Region` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Vergewissern Sie sich auf der Seite mit den **Domaindetails**, dass es sich um die entsprechende Domain handelt.

  1. Erweitern Sie die Dropdownliste für die Region oben rechts in der SageMaker AI-Konsole und verwenden Sie die entsprechende AWS-Region ID rechts neben Ihrem AWS-Region Namen. Beispiel, `us-west-1`.
+ Verwenden Sie für `example-app-type` den Anwendungstyp, der für die Anwendung relevant ist, die Sie beenden möchten. Ersetzen Sie beispielsweise `example-app-type` durch einen der folgenden Anwendungstypen:
  + JupyterLab Art der Anwendung:`JupyterLab`. Informationen zu finden JupyterLab Sie unter[SageMaker JupyterLab](studio-updated-jl.md).
  + Anwendungstyp von Code Editor: `CodeEditor`. Weitere Informationen zu Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Code-Editor in Amazon SageMaker Studio](code-editor.md).
+ Gehen Sie wie folgt vor, um Ihren `example-space-name` abzurufen: 

**So rufen Sie `example-space-name` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Wählen Sie auf der Seite mit den **Domaindetails** **Speicherverwaltung** aus.

  1. Kopieren Sie den entsprechenden Bereichsnamen.

Verwenden Sie das folgende Codebeispiel, um die Ausführung von Instances für **SageMaker Canvas **RStudio****, **Studio Classic** oder zu beenden:

```
aws sagemaker delete-app \
--domain-id example-domain-id \
--region AWS-Region \
--app-name default \
--app-type example-app-type \
--user-profile example-user-name
```
+ Verwenden Sie für `example-app-type` den Anwendungstyp, der für die Anwendung relevant ist, die Sie beenden möchten. Ersetzen Sie beispielsweise `example-app-type` durch einen der folgenden Anwendungstypen:
  + SageMaker Canvas-Anwendungstyp:`Canvas`. Informationen zu SageMaker Canvas finden Sie unter[Amazon SageMaker Leinwand](canvas.md).
  + Studio-Classic-Anwendungstyp: `JupyterServer`. Weitere Informationen zu Studio Classic finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).
  + RStudio Art der Anwendung:`RStudioServerPro`. Informationen zu finden RStudio Sie unter[RStudio auf Amazon SageMaker AI](rstudio.md).
+ Um Ihren `example-user-name` abzurufen, navigieren Sie zur Seite mit den **Domaindetails**. 
  + Wählen Sie als Nächstes die Registerkarte **Benutzerprofile** aus und kopieren Sie den entsprechenden Bereichsnamen.

Alternative Anweisungen zum Beenden Ihrer laufenden Studio-Anwendungen finden Sie unter: 
+ JupyterLab: [Löschen von nicht genutzten Ressourcen](studio-updated-jl-admin-guide-clean-up.md).
+ Code Editor: [Herunterfahren der Code-Editor-Ressourcen](code-editor-use-log-out.md).
+ SageMaker Leinwand:[Von Amazon SageMaker Canvas abmelden](canvas-log-out.md).
+ Studio Classic: [Amazon SageMaker Studio Classic und Apps herunterfahren und aktualisieren](studio-tasks-update.md).
+ RStudio: [Herunterfahren RStudio](rstudio-shutdown.md).

## Löschen eines Studio-Bereichs
<a name="studio-updated-running-stop-space"></a>

**Wichtig**  
Nachdem Sie Ihren Bereich gelöscht haben, gehen alle darin gespeicherten Daten verloren. Wir empfehlen Ihnen, Ihre Daten zu sichern, bevor Sie Ihren Bereich löschen.

Sie benötigen Administratorrechte oder zumindest die Berechtigung, Domain, IAM und Amazon S3 zu aktualisieren, um einen Studio-Bereich zu löschen.
+ Bereiche werden verwendet, um den Speicher- und Ressourcenbedarf der jeweiligen Anwendung zu verwalten. Wenn Sie einen Bereich löschen, wird auch das Speichervolume gelöscht. Dadurch verlieren Sie den Zugriff auf die in diesem Bereich gespeicherten Dateien. Weitere Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).

  Es wird empfohlen, Ihre Daten zu sichern, wenn Sie einen Bereich löschen möchten.
+ Nachdem Sie einen Bereich gelöscht haben, können Sie nicht mehr auf diesen zugreifen.

Sie können die Studio-Bereiche löschen, die im Abschnitt **Bereiche** der Konsole sichtbar sind. Eine Liste der sichtbaren Bereiche finden Sie unter [Anzeigen Ihrer Studio-Bereiche](studio-updated-running.md#studio-updated-running-view-space). 

Es gibt keine Leerzeichen für SageMaker Canvas, Studio Classic (privat) und RStudio. Informationen zum Beenden und Löschen von SageMaker Canvas-, Studio Classic- (privat) oder RStudio Anwendungen finden Sie unter[Beenden Sie Ihre Amazon SageMaker Studio-Anwendung](#studio-updated-running-stop-app).

### Löschen Sie einen Bereich mithilfe der SageMaker AI-Konsole
<a name="studio-updated-running-stop-space-using-sagemaker-console"></a>

Der Abschnitt **Bereiche** auf Ihrer Seite mit den **Domaindetails** enthält Informationen zu Studio-Bereichen innerhalb Ihrer Domain. Auf dieser Seite können Sie Bereiche anzeigen, erstellen und löschen. 

**So zeigen Sie Studio-Bereiche in einer Domain an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

1. Wählen Sie die Domain aus, in der Sie die Bereiche anzeigen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Bereichsverwaltung** aus, um den Abschnitt **Bereiche** zu öffnen.

1. Wählen Sie den Bereich aus, der gelöscht werden soll.

1. Wählen Sie **Löschen** aus. 

1. Im Popup-Feld mit dem Titel **Bereich löschen** haben Sie zwei Optionen: 
   + Wenn Sie bereits alle Anwendungen in dem Bereich heruntergefahren haben, wählen Sie **Ja, Bereich löschen** aus.
   + Wenn noch Anwendungen im Bereich ausgeführt werden, wählen Sie **Ja, alle Apps herunterfahren und Bereich löschen** aus.

1. Geben Sie **delete** in das Feld ein, um den Löschvorgang zu bestätigen.

1. Es gibt zwei Möglichkeiten zum Löschen des Bereichs:
   + Wenn Sie bereits alle Anwendungen in dem Bereich heruntergefahren haben, wählen Sie **Bereich löschen** aus.
   + Wenn noch Anwendungen im Bereich ausgeführt werden, wählen Sie **Alle Apps herunterfahren und Bereich löschen** aus.

### Löschen Sie einen Bereich mit dem AWS CLI
<a name="studio-updated-running-stop-space-using-cli"></a>

Bevor Sie einen Bereich mit dem löschen können AWS CLI, müssen Sie die zugehörige Anwendung löschen. Weitere Informationen über das Beenden eines Studio-Anwendung finden Sie unter [Beenden Sie Ihre Amazon SageMaker Studio-Anwendung](#studio-updated-running-stop-app).

Verwenden Sie den folgenden AWS CLI Befehl, um ein Leerzeichen innerhalb einer Domain zu löschen:

```
aws sagemaker delete-space \
--domain-id example-domain-id \
--region AWS-Region \
--space-name example-space-name
```
+ Verwenden Sie folgende Anweisungen, um Ihre `example-domain-id` abzurufen:

**So rufen Sie `example-domain-id` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Wählen Sie auf der Seite mit den **Domain-Details** **Domain-Einstellungen** aus.

  1. Kopieren Sie die **Domain-ID**.
+ Um Ihre `AWS-Region` abzurufen, befolgen Sie die folgenden Anweisungen, um sicherzustellen, dass Sie die richtige AWS-Region für Ihre Domain verwenden: 

**So rufen Sie `AWS-Region` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Vergewissern Sie sich auf der Seite mit den **Domaindetails**, dass es sich um die entsprechende Domain handelt.

  1. Erweitern Sie die Dropdownliste für die Region oben rechts in der SageMaker AI-Konsole und verwenden Sie die entsprechende AWS-Region ID rechts neben Ihrem AWS-Region Namen. Beispiel, `us-west-1`.
+ Gehen Sie wie folgt vor, um Ihren `example-space-name` abzurufen: 

**So rufen Sie `example-space-name` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die entsprechende Domain aus.

  1. Wählen Sie auf der Seite mit den **Domaindetails** **Speicherverwaltung** aus.

  1. Kopieren Sie den entsprechenden Bereichsnamen.

# SageMaker Richtlinie zur Unterstützung von Studio-Images
<a name="sagemaker-distribution"></a>

**Wichtig**  
Derzeit sind alle Pakete in SageMaker Distribution-Images für die Verwendung mit Amazon SageMaker AI lizenziert und erfordern keine zusätzlichen kommerziellen Lizenzen. Dies könnte sich jedoch in Zukunft ändern und wir empfehlen, die Lizenzbedingungen regelmäßig auf Aktualisierungen zu überprüfen.

Amazon SageMaker Distribution ist eine Reihe von Docker-Images, die auf SageMaker Studio verfügbar sind und beliebte Frameworks für maschinelles Lernen, Datenwissenschaft und Visualisierung enthalten.

Die Bilder enthalten Deep-Learning-Frameworks wie Keras PyTorch, TensorFlow beliebte Python-Pakete wie numpy, scikit-learn und pandas sowie IDEs like JupyterLab und Code Editor, basierend auf Code-OSS, Visual Studio Code — Open Source. Die Distribution enthält die neuesten Versionen all dieser Pakete, sodass sie miteinander kompatibel sind.

Auf dieser Seite werden die Support-Richtlinien und die Verfügbarkeit für Distribution Images on Studio beschrieben. SageMaker SageMaker

## Versionsverwaltung, Veröffentlichungsrhythmus und Support-Richtlinien
<a name="sm-distribution-versioning"></a>

In der folgenden Tabelle sind der Veröffentlichungszeitplan für SageMaker Distribution Image-Versionen und deren geplante Unterstützung aufgeführt. AWS bietet fortlaufende Funktions- und Sicherheitsupdates für unterstützte Image-Versionen. Neue Nebenversionen werden für Hauptversionen 12 Monate lang veröffentlicht und unterstützte Nebenversionen erhalten fortlaufend Funktions- und Sicherheitspatches. In einigen Fällen muss der Support für eine Image-Version möglicherweise früher als ursprünglich geplant eingestellt werden, wenn (a) Sicherheitsprobleme nicht behoben werden können, während die Richtlinien für die semantische Versionierung beibehalten werden, oder (b) eine unserer Hauptabhängigkeiten, wie Python, erreicht wird. end-of-life AWS veröffentlicht Ad-hoc-Haupt- oder Nebenversionen nach Bedarf.


| Version | Description | Release-Taktfrequenz | Geplante Unterstützung | 
| --- | --- | --- | --- | 
| Hauptversion | Die Hauptversionsversionen von Amazon SageMaker Distribution beinhalten das Upgrade aller Kernabhängigkeiten auf die neuesten kompatiblen Versionen. Diese Hauptversionen können im Rahmen des Updates auch Pakete hinzufügen oder entfernen. Hauptversionen werden durch die erste Zahl in der Versionszeichenfolge gekennzeichnet, beispielsweise 1.0, 2.0 oder 3.0. | 6 Monate | 18 Monate | 
| Nebenversion | Zu den Nebenversionsversionen von Amazon SageMaker Distribution gehört das Upgrade aller Kernabhängigkeiten auf die neuesten kompatiblen Nebenversionen innerhalb derselben Hauptversion. SageMaker Distribution kann während der Veröffentlichung einer Nebenversion neue Pakete hinzufügen. Nebenversionen werden durch die zweite Zahl in der Versionszeichenfolge angegeben, beispielsweise 1.1, 1.2 oder 2.1. | 1 Monat | 6 Monate | 
| Patch | Die Patch-Versionen von Amazon SageMaker Distribution beinhalten die Aktualisierung aller Kernabhängigkeiten auf die neuesten kompatiblen Patch-Versionen innerhalb derselben Nebenversion. SageMaker Distribution fügt während der Veröffentlichung einer Patch-Version keine Pakete hinzu oder entfernt sie. Patch-Versionen werden durch die dritte Zahl in der Versionszeichenfolge angegeben, beispielsweise 1.1.1, 1.2.1 oder 2.1.3. Da Patch-Versionen in der Regel zur Behebung von Sicherheitslücken veröffentlicht werden, empfehlen wir, stets auf die neueste Patch-Version zu aktualisieren, sobald diese verfügbar ist. | Soweit erforderlich, um Sicherheitslücken zu beheben | Bis eine neue Patch-Version veröffentlicht wird | 

Jede Hauptversion der Amazon SageMaker Distribution ist 18 Monate lang verfügbar. In den ersten 12 Monaten werden monatlich neue Nebenversionen veröffentlicht. In den verbleibenden 6 Monaten werden die vorhandenen Nebenversionen weiterhin unterstützt.

## Unterstützte Image-Versionen
<a name="sagemaker-distribution-supported-packages"></a>

In den folgenden Tabellen sind die unterstützten SageMaker Distributions-Image-Versionen, ihre geplanten Termine für das Ende des Supports und ihre Verfügbarkeit in SageMaker Studio aufgeführt. Bei Image-Versionen, deren Support vor dem geplanten Support-Enddatum endet, bleiben die Versionen bis zum angegebenen Verfügbarkeitsdatum in Studio verfügbar. Sie können das Image bis zu 90 Tage lang oder bis zum Verfügbarkeitsdatum auf Studio, je nachdem, was zuerst eintritt, weiterhin zum Starten von Anwendungen verwenden. Weitere Informationen zu solchen Fällen erhalten Sie unter Support.

Wir empfehlen Ihnen, so bald wie möglich auf eine neuere unterstützte Version umzusteigen, um sicherzustellen, dass Sie weiterhin Funktions- und Sicherheitsupdates erhalten. Bei der Auswahl einer Image-Version in SageMaker Studio empfehlen wir Ihnen, eine unterstützte Image-Version aus den folgenden Tabellen auszuwählen.

### Unterstützte Hauptversionen
<a name="sm-distribution-major-versions"></a>

In der folgenden Tabelle sind die unterstützten Haupt-Image-Versionen der SageMaker Distribution aufgeführt.


| Image-Version | Letzte Nebenversion-Veröffentlichung | Unterstützt bis | Description | 
| --- | --- | --- | --- | 
| 1.x.x | 30. April 2025 | 30. Oktober 2025 | SageMaker Die Hauptversion 1 der Distribution wurde mit Python 3.10 erstellt. | 
| 2.x.x | 25. August 2025 | 25. Februar 2026 | SageMaker Die Hauptversion 2 der Distribution wurde mit Python 3.11 erstellt. | 
|  3.x.x  | 29. März 2026 | 29. September 2026 |  SageMaker Die Hauptversion 3 der Distribution wurde mit Python 3.12 erstellt.  | 

### Nebenversionen des CPU-Images
<a name="sm-distribution-cpu-versions"></a>

In der folgenden Tabelle sind die unterstützten Neben-Image-Versionen der SageMaker Distribution für CPUs aufgeführt.


| Image-Version | Image-URL von Amazon ECR | Geplantes Datum für das Ende des Supports | Verfügbarkeit auf Studio bis | Versionshinweise | 
| --- | --- | --- | --- | --- | 
| 3.1.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 3.1-CPU | 19. November 2025 | 19. November 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v3/v3.1) | 
| 3.0.x  | public.ecr. aws/sagemaker/sagemaker-Verteilung: 3.0-CPU  | 30. Juni 2025 | 29. September 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v3/v3.0) | 
| 2.6.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.6-cpu | 30. Juni 2025 | 28. Oktober 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v2/v2.6) | 

### Nebenversionen des GPU-Images
<a name="sm-distribution-gpu-versions"></a>

In der folgenden Tabelle sind die unterstützten SageMaker Distribution-Neben-Image-Versionen für aufgeführt. GPUs


| Image-Version | Image-URL von Amazon ECR | Geplantes Datum für das Ende des Supports | Verfügbarkeit auf Studio bis | Versionshinweise für den neuesten Patch | 
| --- | --- | --- | --- | --- | 
| 3.1.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 3.1-GPU | 19. November 2025 | 19. November 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v3/v3.1) | 
| 3.0.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 3.0-GPU | 30. Juni 2025 | 29. September 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v3/v3.0) | 
| 2.6.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.6-GPU | 30. Juni 2025 | 28. Oktober 2025 | [Versionshinweise](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v2/v2.6) | 

### Nicht unterstützte Images
<a name="sm-distribution-unsupported-images"></a>

In der folgenden Tabelle sind die nicht unterstützten Distributions-Image-Versionen aufgeführt. SageMaker 


| Image-Version | Image-URL von Amazon ECR | Datum des Endes des Supports | Verfügbarkeit auf Studio bis | 
| --- | --- | --- | --- | 
| 2.4.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.4-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.4-CPU  | 7. September 2025 | 7. September 2025 | 
| 2.3.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.3-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.3-CPU  | 27. Juli 2025 | 27. Juli 2025 | 
| 2.2.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.2-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.2-GPU  | 15. Mai 2025 | 15. Mai 2025 | 
| 2.1.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.1-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.1-GPU  | 25. April 2025 | 12. Mai 2025 | 
| 2.0.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.0-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 2.0-GPU  | 25. Februar 2025 | 21. April 2025 | 
| 1.13.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.13-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.13-GPU  | 15. Mai 2025 | 20. September 2025 | 
| 1.12.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.12-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.12-gpu  | 23. Juli 2025 | 23. Juli 2025 | 
| 1.11.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.11-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.11-gpu  | 1. April 2025 | 12. Mai 2025 | 
| 1.10.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.10-cpu public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.10-gpu  | 5. Februar 2025 | 10. April 2025 | 
| 1.9.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.9-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.9-GPU  | 15. Januar 2025 | 10. April 2025 | 
| 1.8.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.8-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.8-GPU  | 31. Dezember 2024 | 10. April 2025 | 
| 1.7.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.7-cpu public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.7-GPU  | 15. Dezember 2024 | 10. April 2025 | 
| 1.6.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.6-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.6-GPU  | 15. Dezember 2024 | 10. April 2025 | 
| 1.5.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.5-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.5-GPU  | 31. Oktober 2024 | 1. November 2024 | 
| 1.4.x |  public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.4-CPU public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.4-GPU  | 31. Oktober 2024 | 1. November 2024 | 
| 1.3.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.3-CPU | 28. Juni 2024 | 18. Oktober 2024 | 
| 1.2.x | public.ecr. aws/sagemaker/sagemaker-Verteilung: 1.2-CPU | 28. Juni 2024 | 18. Oktober 2024 | 

### Häufig gestellte Fragen
<a name="sm-distribution-faqs"></a>

**Was macht die Veröffentlichung einer Image-Hauptversion aus?**

Wichtige Image-Versionen werden alle 6 Monate veröffentlicht. Eine größere Image-Version für Amazon SageMaker Distribution beinhaltet das Upgrade aller Kernabhängigkeiten auf die neuesten kompatiblen Versionen und kann das Hinzufügen oder Entfernen von Paketen beinhalten. Das Python-Framework wird nur mit neuen Hauptversionen aktualisiert. Mit der Hauptversion 2 wurde das Python-Framework beispielsweise von 3.10 auf 3.11 aktualisiert, PyTorch von 2.0 auf 2.3 aktualisiert, TensorFlow von 2.14 auf 2.17 aktualisiert, Autogluon wurde von 0.8 auf 1.1 aktualisiert und dem Image wurden 4 Pakete hinzugefügt.

**Was macht die Veröffentlichung einer Image-Nebenversion aus?**

Für alle unterstützten Hauptversionen werden monatlich Image-Nebenversionen veröffentlicht. Eine kleinere Image-Version für Amazon SageMaker Distribution beinhaltet das Upgrade aller Kernabhängigkeiten außer Python und CUDA auf die neuesten kompatiblen Nebenversionen innerhalb derselben Hauptversion und kann das Hinzufügen neuer Pakete beinhalten. Bei einer Nebenversion könnte beispielsweise Langchain von 0.1 auf 0.2 und Jupyter-ai von 2.18 auf 2.20 aktualisiert werden.

**Was macht die Veröffentlichung einer Patch-Image-Version aus?**

Patch-Image-Versionen werden nach Bedarf veröffentlicht, um Sicherheitslücken zu beheben. Eine Patch-Image-Version für Amazon SageMaker Distribution beinhaltet die Aktualisierung aller Kernabhängigkeiten auf die neuesten kompatiblen Patch-Versionen innerhalb derselben Nebenversion. SageMaker Bei der Distribution werden während der Veröffentlichung einer Patch-Version keine Pakete hinzugefügt oder entfernt. Bei der Veröffentlichung einer Patch-Version könnte beispielsweise matplotlib von 3.9.1 auf 3.9.2 und boto3 von 1.34.131 auf 1.34.162 aktualisiert werden.

**Wo finde ich die Pakete, die in einer bestimmten Image-Version verfügbar sind?**

Jede Image-Version hat eine `release.md` Datei im `build_artifacts` Ordner [des GitHub Repositorys](https://github.com/aws/sagemaker-distribution), in der alle Pakete und Paketversionen für CPU- und GPU-Images angezeigt werden. Separate Änderungsprotokoll-Dateien für CPU- und GPU-Versionen enthalten detaillierte Informationen zu Paket-Upgrades. In den Änderungsprotokollen wird die neue Image-Version mit der vorherigen verglichen. Beispielsweise wird Version 1.9.0 mit der neuesten Patch-Version von 1.8 verglichen, Version 1.9.1 mit 1.9.0 und Version 2.0.0 mit der neuesten Patch-Version der zu diesem Zeitpunkt verfügbaren neuesten Nebenversion.

**Wie werden Bilder nach häufigen Sicherheitslücken und Sicherheitslücken gescannt (CVEs)?**

Amazon SageMaker AI nutzt das [erweiterte Scannen von Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning-enhanced.html), um Sicherheitslücken automatisch zu erkennen und Lösungen für SageMaker Distribution-Images zu finden. AWS führt kontinuierlich erweiterte ECR-Scans für die neueste Patch-Version aller unterstützten Image-Versionen durch. Wenn Sicherheitslücken erkannt werden und ein Fix verfügbar ist, AWS veröffentlicht er eine aktualisierte Image-Version, um das Problem zu beheben.

**Kann ich ältere Images weiterhin verwenden, wenn ein Image nicht mehr unterstützt wird?**

Bilder sind bis zum angegebenen Verfügbarkeitsdatum in SageMaker Studio verfügbar. Ältere Images bleiben auch nach Ablauf des Supports in ECR verfügbar und werden aus Studio entfernt. Sie können ältere Image-Versionen von ECR herunterladen und [ein benutzerdefiniertes SageMaker Image erstellen](studio-byoi-create.md). Wir empfehlen jedoch dringend, auf eine unterstützte Image-Version zu aktualisieren, die kontinuierlich Sicherheitsupdates und Bugfixes erhält. Kunden, die ihre eigenen benutzerdefinierten Images erstellen, sind für das Scannen und Patchen ihrer Images verantwortlich. Weitere Informationen finden Sie unter [AWS -Modell der geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/).

**Wichtig**  
SageMaker Distribution v0.x.y wird nur in Studio Classic verwendet. SageMaker Die Distribution v1.x.y wird nur in verwendet. JupyterLab

# Amazon SageMaker Studio-Preise
<a name="studio-updated-cost"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

Für die Nutzung der Amazon SageMaker Studio-Benutzeroberfläche fallen keine zusätzlichen Gebühren an.  

Für Folgendes fallen Kosten an:
+ Volumes von Amazon Elastic Block Store oder Amazon Elastic File System, die mit Ihren Anwendungen verbunden sind.
+ Alle Aufträge und Ressourcen, die Benutzer über Studio-Anwendungen starten.
+ Eine JupyterLab Anwendung starten, auch wenn in der Anwendung keine Ressourcen oder Jobs gestartet wurden. 

Informationen zur Abrechnung von Amazon SageMaker Studio Classic finden Sie unter[Amazon SageMaker Studio Classic — Preise](studio-pricing.md). 

Weitere Informationen zur Abrechnung sowie Preisbeispiele finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com//sagemaker/pricing/). 

# Fehlerbehebung
<a name="studio-updated-troubleshooting"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

**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.

In diesem Abschnitt wird gezeigt, wie Sie häufig auftretende Probleme in Amazon SageMaker Studio beheben können.

## Wiederherstellungsmodus
<a name="studio-updated-troubleshooting-recovery-mode"></a>

Im Wiederherstellungsmodus können Sie auf Ihre Studio-Anwendung zugreifen, wenn ein Konfigurationsproblem den normalen Start verhindert. Es bietet eine vereinfachte Umgebung mit grundlegenden Funktionen, die Ihnen bei der Diagnose und Behebung des Problems behilflich sind.

Wenn eine Anwendung nicht gestartet werden kann, wird möglicherweise eine Fehlermeldung angezeigt, die Sie auffordert, den Wiederherstellungsmodus aufzurufen, um eines der folgenden Konfigurationsprobleme zu beheben.
+ Die [https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html](https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)-Datei ist beschädigt.

  Informationen zur Problembehebung Ihrer `.condarc`-Datei finden Sie auf der Seite zur [Fehlerbehebung](https://docs.conda.io/projects/conda/en/latest/user-guide/troubleshooting.html) im *Conda-Benutzerhandbuch*.
+ Es ist nicht genügend Speicher-Volume verfügbar. 

  Sie können den für die Anwendung verfügbaren Amazon EBS-Speicherplatz erhöhen oder den Wiederherstellungsmodus aufrufen, um nicht mehr benötigte Daten zu entfernen.

  Informationen zur Erhöhung der Größe des Amazon-EBS-Volumes finden Sie unter [Kontingentgröße anfordern](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Entwicklerhandbuch für Service Quotas*.

Im Wiederherstellungsmodus:
+ Ihr Home-Verzeichnis unterscheidet sich von Ihrem normalen Startverzeichnis. Dieses Verzeichnis ist temporär und stellt sicher, dass beschädigte Konfigurationen in Ihrem Standard-Home-Verzeichnis keinen Einfluss auf Ihre Vorgänge im Wiederherstellungsmodus haben. Sie können mit dem Befehl `cd /home/sagemaker-user` zu Ihrem Standard-Home-Verzeichnis navigieren.
  + Standardmodus: `/home/sagemaker-user`
  + Wiederherstellungsmodus: `/tmp/sagemaker-recovery-mode-home`
+ Die Conda-Umgebung verwendet eine minimale Basis-Conda-Umgebung, die nur die wesentlichen Pakete enthält. Die vereinfachte Conda-Einrichtung unterstützt die Isolierung von umgebungsbezogenen Problemen und bietet grundlegende Funktionen zur Fehlerbehebung.

Sie können die Studio-Benutzeroberfläche oder die verwenden AWS CLI , um im Wiederherstellungsmodus auf die Anwendung zuzugreifen.

### Verwenden der Studio-Benutzeroberfläche, um im Wiederherstellungsmodus auf die Anwendung zuzugreifen
<a name="studio-updated-troubleshooting-recovery-mode-console"></a>

Im Folgenden finden Sie Anweisungen für den Zugriff auf Ihre Anwendung im Wiederherstellungsmodus.

1. Sofern noch nicht geschehen, starten Sie die Studio-Benutzeroberfläche, indem Sie den Anweisungen unter [Von der Amazon SageMaker AI-Konsole aus starten](studio-updated-launch.md#studio-updated-launch-console) folgen.

1. Wählen Sie im linken Navigationsmenü unter **Anwendungen** die Anwendung aus.

1. Wählen Sie den Bereich aus, bei dem Sie Konfigurationsprobleme haben.

   Die folgenden Schritte stehen Ihnen zur Verfügung, wenn Sie eines oder mehrere der zuvor genannten Konfigurationsprobleme haben. In diesem Fall werden ein Warnbanner und eine Meldung zum **Wiederherstellungsmodus** angezeigt. 
**Anmerkung**  
Das Warnbanner sollte eine empfohlene Lösung für das Problem enthalten. Nehmen Sie es zur Kenntnis, bevor Sie fortfahren.

1. Wählen Sie **Bereich ausführen (Wiederherstellungsmodus)** aus. 

1. Um im Wiederherstellungsmodus auf Ihre Anwendung zuzugreifen, wählen Sie **Öffnen *application* (Wiederherstellungsmodus)**.

### Verwenden Sie den AWS CLI , um im Wiederherstellungsmodus auf die Anwendung zuzugreifen
<a name="studio-updated-troubleshooting-recovery-mode-cli"></a>

Um im Wiederherstellungsmodus auf Ihre Anwendung zuzugreifen, müssen Sie den Befehl `--recovery-mode` an Ihren Befehl [AWS CLI create-app](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-app.html) anhängen. Im Folgenden finden Sie ein Beispiel dafür, wie Sie auf Ihre Anwendung im Wiederherstellungsmodus zugreifen. 

Für das folgende Beispiel benötigen Sie:
+ *domain-id*

  Informationen zu Ihren Domaindetails finden Sie unter [Anzeigen von Domains](domain-view.md).
+ *space-name*

  Um die mit Ihrer Domain verbundenen Bereichsnamen zu erhalten, besuchen Sie [Verwenden Sie den AWS CLI , um die SageMaker KI-Bereiche in Ihrer Domain einzusehen](sm-console-domain-resources-view.md#sm-console-domain-resources-view-spaces-cli).
+ *app-name*

  Der Name Ihrer -Anwendung. Informationen zum Anzeigen Ihrer Anwendungen finden Sie unter [Verwenden Sie die AWS CLI , um die SageMaker KI-Anwendungen in Ihrer Domain anzuzeigen](sm-console-domain-resources-view.md#sm-console-domain-resources-view-apps-cli).

------
#### [ Access Code Editor application in recovery mode ]

```
aws sagemaker create-app \
    --app-name app-name \
    --app-type CodeEditor \
    --domain-id domain-id \
    --space-name space-name \
    --recovery-mode
```

------
#### [ Access JupyterLab application in recovery mode ]

```
aws sagemaker create-app \
    --app-name app-name \
    --app-type JupyterLab \
    --domain-id domain-id \
    --space-name space-name \
    --recovery-mode
```

------

## Der Code-Editor oder die Anwendung können nicht gelöscht werden JupyterLab
<a name="studio-updated-troubleshooting-cannot-delete-application"></a>

Dieses Problem tritt auf, wenn ein Benutzer eine Anwendung in Amazon SageMaker Studio erstellt, die nur in Studio verfügbar ist, und dann seine Standarderfahrung auf Studio Classic zurücksetzt. Daher kann der Benutzer keine Anwendung für den Code-Editor löschen, die auf Code-OSS, Visual Studio Code — Open Source oder, weil er nicht auf die Studio-Benutzeroberfläche zugreifen kann JupyterLab, basiert.

Um dieses Problem zu beheben, benachrichtigen Sie Ihren Administrator, damit er die Anwendung manuell mit dem AWS Command Line Interface ()AWS CLI löschen kann. 

## EC2InsufficientCapacityError
<a name="studio-updated-troubleshooting-ec2-capacity"></a>

Dieses Problem tritt auf, wenn Sie versuchen, einen Space zu betreiben und derzeit AWS nicht genügend On-Demand-Kapazität verfügbar ist, um Ihre Anfrage zu bearbeiten. 

Gehen Sie wie folgt vor, um dieses Problem zu beheben. 
+ Warten Sie einige Minuten und senden Sie Ihre Anfrage erneut. Die Kapazität kann häufig wechseln.
+ Führen Sie den Bereich mit einer anderen Instance-Größe oder einem anderen Instance-Typ aus.

**Anmerkung**  
Kapazität ist in verschiedenen Availability Zones verfügbar. Um die Kapazitätsverfügbarkeit für Benutzer zu maximieren, empfehlen wir, Subnetze in allen Availability Zones einzurichten. Studio versucht erneut, alle verfügbaren Availability Zones für die Domain zu überprüfen.   
Die Verfügbarkeit des Instance-Typs ist je nach Region unterschiedlich. Eine Liste der unterstützten Instance-Typen pro Region finden Sie unter [Amazon SageMaker AI (Preise](https://aws.amazon.com/sagemaker/pricing/))

In der folgenden Tabelle sind Instance-Familien und ihre empfohlenen Alternativen aufgeführt.


| Instance-Familie | CPU-Typ | v CPUs | Arbeitsspeicher (GiB) | GPU-Typ | GPUs | GPU-Speicher (GiB) | Empfohlene Alternative | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| G4dn | Skalierbare Intel Xeon-Prozessoren der 2. Generation | 4 bis 96 | 16 bis 384 | NVIDIA T4 Tensor Core | 1 bis 8 | 16 pro GPU | G6 | 
| G5 | AMD-EPYC-Prozessoren der 2. Generation | 4 bis 192 | 16 bis 768 | NVIDIA A10G Tensor Core | 1 bis 8 | 24 pro GPU | G6e | 
| G6 | AMD-EPYC-Prozessoren der 3. Generation | 4 bis 192 | 16 bis 768 | NVIDIA L4 Tensor Core | 1 bis 8 | 24 pro GPU | G4dn | 
| G6e | AMD-EPYC-Prozessoren der 3. Generation | 4 bis 192 | 32 bis 1 536 | NVIDIA L40S Tensor Core | 1 bis 8 | 48 pro GPU | G5, P4 | 
| P3 | Skalierbare Intel-Xeon-Prozessoren | 8 bis 96 | 61 bis 768 | NVIDIA Tesla V100 | 1 bis 8 | 16 pro GPU (32 pro GPU für P3dn) | G6e, P4 | 
| P4 | Skalierbare Intel Xeon-Prozessoren der 2. Generation | 96 | 1 152 | NVIDIA A100 Tensor Core | 8 | 320 (640 für P4de) | G6e | 
| P5 | AMD-EPYC-Prozessoren der 3. Generation | 192 | 2000 | NVIDIA H100 Tensor Core | 8 | 640 | P4de | 

## Unzureichendes Limit (Erhöhung des Kontingents erforderlich)
<a name="studio-updated-troubleshooting-insufficient-limit"></a>

Dieses Problem tritt auf, wenn Sie beim Versuch, einen Bereich auszuführen, die folgende Fehlermeldung erhalten. 

```
Error when creating application for space: ... : The account-level service limit is X Apps, with current utilization Y Apps and a request delta of 1 Apps. Please use Service Quotas to request an increase for this quota.
```

Für jeden Instance-Typ gibt es ein Standardlimit für die Anzahl der Instances, die Sie in jeder AWS-Region ausführen können. Dieser Fehler bedeutet, dass Sie dieses Limit erreicht haben. 

Um dieses Problem zu beheben, fordern Sie eine Erhöhung des Instance-Limits für den Space an AWS-Region , in dem Sie den Space starten. Weitere Informationen finden Sie unter [Anfordern einer Kontingenterhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html).

## Benutzerdefiniertes Image konnte nicht geladen werden
<a name="studio-updated-troubleshooting-custom-image"></a>

Dieses Problem tritt auf, wenn ein SageMaker AI-Image gelöscht wird, bevor das Bild von Ihrer Domain getrennt wird. Dies wird angezeigt, wenn Sie die Registerkarte **Umgebung** für Ihre Domain aufrufen.

Um dieses Problem zu beheben, müssen Sie ein temporäres neues Image mit demselben Namen wie das gelöschte Image erstellen, das Image trennen und dann das temporäre Image löschen. Befolgen Sie die folgenden Anweisungen für eine Schritt-für-Schritt-Anleitung.

1. Starten Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker), falls Sie dies noch nicht getan haben.

1. Wählen Sie im linken Navigationsmenü unter **Admin-Konfigurationen** die Option **Domains** aus.

1. Wählen Sie Ihre Domain aus.

1. Wählen Sie die Registerkarte **Umgebung** aus. Auf dieser Seite wird die Fehlermeldung angezeigt.

1. Kopieren Sie den Image-Namen aus dem Image-ARN.

1. Wählen Sie im linken Navigationsmenü unter **Admin-Konfigurationen** die Option **Images** aus.

1. Wählen Sie **Create Image (Image erstellen)** aus.

1. Folgen Sie den Schritten im Verfahren, stellen Sie jedoch sicher, dass Ihr Image-Name mit dem Image-Namen von oben übereinstimmt. 

   Wenn Sie kein Image in einem Amazon-ECR-Verzeichnis haben, lesen Sie die Anweisungen unter [Erstellen eines benutzerdefinierten Images und Übertragen auf Amazon ECR](studio-updated-byoi-how-to-prepare-image.md).

1. Sobald Sie Ihr SageMaker KI-Image erstellt haben, kehren Sie zur Registerkarte **Umgebung** Ihrer Domain zurück. Sie werden sehen, dass das Bild an Ihre Domain angefügt ist.

1. Wählen Sie das Image und dann die Option **Trennen** aus.

1. Folgen Sie den Anweisungen, um das temporäre SageMaker AI-Image zu trennen und zu löschen.

# Migration von Amazon SageMaker Studio Classic
<a name="studio-updated-migrate"></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.

Wenn Sie Amazon SageMaker Studio öffnen, basiert die webbasierte Benutzeroberfläche auf der ausgewählten Standarderfahrung. Amazon SageMaker AI unterstützt derzeit zwei verschiedene Standarderlebnisse: das Amazon SageMaker Studio-Erlebnis und das Amazon SageMaker Studio Classic-Erlebnis. Um auf die neuesten Amazon SageMaker Studio-Funktionen zugreifen zu können, müssen Sie bestehende Domains aus dem Amazon SageMaker Studio Classic-Erlebnis migrieren. Wenn Sie Ihre Standardumgebung von Studio Classic zu Studio migrieren, gehen keine Features verloren, und Sie können weiterhin innerhalb von Studio auf die Studio-Classic-IDE zugreifen. Informationen zu den zusätzlichen Vorteilen des Studio-Konfiguration finden Sie unter [Amazon SageMaker Studio](studio-updated.md).

**Anmerkung**  
Für bestehende Kunden, die ihr Konto vor dem 30. November 2023 erstellt haben, kann Studio Classic die Standardumgebung sein. Sie können Studio mit der AWS Command Line Interface (AWS CLI) oder der Amazon SageMaker AI-Konsole als Standarderlebnis aktivieren. Weitere Informationen über Studio Classic finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md). 
Für Kunden, die ihre Konten nach dem 30. November 2023 erstellt haben, empfehlen wir, Studio als Standarderlebnis zu verwenden, da es verschiedene integrierte Entwicklungsumgebungen (IDEs), einschließlich der Studio Classic IDE, und andere neue Funktionen enthält.  
JupyterLab 3 hat das Ende der Wartungsarbeiten am 15. Mai 2024 erreicht. Nach dem 31. Dezember 2024 können Sie nur für einen begrenzten Zeitraum neue Studio Classic-Notizbücher auf JupyterLab 3 erstellen. Nach dem 31. Dezember 2024 wird SageMaker KI jedoch keine Lösungen mehr für kritische Probleme auf Studio Classic-Notebooks on JupyterLab 3 bereitstellen. Wir empfehlen Ihnen, Ihre Workloads auf das neue Studio-Erlebnis zu migrieren, das JupyterLab 4 unterstützt.
+ Wenn Studio Ihre Standardkonfiguration ist, ähnelt die Benutzeroberfläche den Images in [Überblick über die Amazon SageMaker Studio-Benutzeroberfläche](studio-updated-ui.md).
+ Wenn Studio Classic Ihre Standardkonfiguration ist, ähnelt die Benutzeroberfläche den Images in [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md).

Zum Migrieren müssen Sie eine vorhandene Domain aktualisieren. Die Migration einer bestehenden Domain von Studio Classic zu Studio erfolgt in drei Phasen:

1. **Migrieren der Benutzeroberfläche von Studio Classic zu Studio**: Eine einmalige Aufgabe mit geringem Aufwand, bei der eine Testdomain erstellt werden muss, um sicherzustellen, dass Studio mit den Netzwerkkonfigurationen Ihres Unternehmens kompatibel ist, bevor die Benutzeroberfläche der bestehenden Domain von Studio Classic zu Studio migriert wird.

1. **(Optional) Migrieren von benutzerdefinierten Images und Lebenszyklus-Konfigurationsskripten**: Mittlere Aufgabe zur Migration Ihrer benutzerdefinierten Images und LCC-Skripte von Studio Classic zu Studio.

1. **(Optional) Migrieren von Studio Classic nach Studio**: Eine anspruchsvolle Aufgabe, die die Migration von Daten vom Volume von Studio Classic Amazon Elastic File System entweder zu einem Ziel-Volume von Amazon EFS oder einem Amazon Elastic Block Store erfordert.

   1. **(Optional) Datenflüsse von Data Wrangler in Studio Classic migrieren**: Einmalige, einfache Aufgabe für die Migration Ihrer Datenflüsse von Data Wrangler in Studio Classic zu Studio, auf die Sie dann in der neuesten Version von Studio über Canvas zugreifen können. SageMaker Weitere Informationen finden Sie unter [Migrieren von Datenflüssen aus Data Wrangler](studio-updated-migrate-data.md#studio-updated-migrate-flows).

 Die folgenden Themen beschreiben, wie Sie diese Phasen durchführen, um eine bestehende Domain von Studio Classic zu Studio zu migrieren.

## Automatische Migration
<a name="studio-updated-migrate-auto"></a>

Zwischen Juli 2024 und August 2024 werden wir die Standard-Landingpage für Benutzer automatisch auf die neue Studio-Konfiguration aktualisieren. Dies bewirkt lediglich eine Änderung der Standard-Benutzeroberfläche auf die aktualisierte Studio-Benutzeroberfläche. Die Anwendung „Studio Classic“ ist weiterhin über die neue Studio-Benutzeroberfläche zugänglich.

Informationen dazu, wie Sie sicherstellen können, dass die Migration für Ihre Benutzer erfolgreich funktioniert, finden Sie unter [Migrieren der Benutzeroberfläche von Studio Classic zu Studio](studio-updated-migrate-ui.md). Bitte stellen Sie insbesondere Folgendes sicher:
+ Die Ausführungsrolle der Domain verfügt über die erforderlichen Berechtigungen.
+ Die Standard-Landingpage ist auf Studio eingestellt.
+ Die Amazon VPC der Domain ist, falls zutreffend, über den Studio-VPC-Endpunkt für Studio konfiguriert.

Sollten Sie jedoch Studio Classic für einen begrenzten Zeitraum weiterhin als Standard-Benutzeroberfläche verwenden müssen, stellen Sie die Landingpage explizit auf Studio Classic ein. Weitere Informationen finden Sie unter [Festlegen von Studio Classic als Standardkonfiguration](studio-updated-migrate-ui.md#studio-updated-migrate-revert).

**Topics**
+ [Automatische Migration](#studio-updated-migrate-auto)
+ [Erfüllen der Voraussetzungen für die Migration der Studio-Konfiguration](studio-updated-migrate-prereq.md)
+ [Migrieren der Benutzeroberfläche von Studio Classic zu Studio](studio-updated-migrate-ui.md)
+ [(Optional) Migrieren von benutzerdefinierten Images und Lebenszykluskonfigurationen](studio-updated-migrate-lcc.md)
+ [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md)

# Erfüllen der Voraussetzungen für die Migration der Studio-Konfiguration
<a name="studio-updated-migrate-prereq"></a>

Die Migration der Standardkonfiguration von Studio Classic zu Studio wird vom Administrator der bestehenden Domain verwaltet. Sollten Sie nicht über die erforderlichen Berechtigungen verfügen, um Studio als Standardkonfiguration für die vorhandene Domain festzulegen, wenden Sie sich bitte an Ihren Administrator. Um Ihr Standarderlebnis zu migrieren, benötigen Sie Administratorrechte oder zumindest die Rechte, die bestehende Domain AWS Identity and Access Management (IAM) und Amazon Simple Storage Service (Amazon S3) zu aktualisieren. Bitte erfüllen Sie die folgenden Voraussetzungen, bevor Sie eine bestehende Domain von Studio Classic zu Studio migrieren.
+ Der AWS Identity and Access Management Rolle, die für den Abschluss der Migration verwendet wurde, muss eine Richtlinie mit mindestens den folgenden Berechtigungen zugeordnet sein. Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html).
**Anmerkung**  
Die Version von Studio beinhaltet Aktualisierungen der AWS verwalteten Richtlinien. Weitere Informationen finden Sie unter [SageMaker KI-Updates für AWS verwaltete Richtlinien](security-iam-awsmanpol.md#security-iam-awsmanpol-updates).
  + Phase 1 erforderte Berechtigungen:
    + `iam:CreateServiceLinkedRole`
    + `iam:PassRole`
    + `sagemaker:DescribeDomain`
    + `sagemaker:UpdateDomain`
    + `sagemaker:CreateDomain`
    + `sagemaker:CreateUserProfile`
    + `sagemaker:ListApps`
    + `sagemaker:AddTags`
    + `sagemaker:DeleteApp`
    + `sagemaker:DeleteSpace`
    + `sagemaker:UpdateSpace`
    + `sagemaker:DeleteUserProfile`
    + `sagemaker:DeleteDomain`
    + `s3:PutBucketCORS`
  + Für Phase 2 erforderliche Berechtigungen (optional, nur bei Verwendung von Skripten zur Lebenszykluskonfiguration):

    Weitere Berechtigungen sind nicht erforderlich. Wenn die vorhandene Domain über Lebenszykluskonfigurationen und benutzerdefinierte Images verfügt, verfügt der Administrator bereits über die erforderlichen Berechtigungen.
  + Phase 3 unter Verwendung benutzerdefinierter Berechtigungen für das Amazon Elastic File System (optional, nur bei Datenübertragung):
    + `efs:CreateFileSystem`
    + `efs:CreateMountTarget`
    + `efs:DescribeFileSystems`
    + `efs:DescribeMountTargets`
    + `efs:DescribeMountTargetSecurityGroups`
    + `efs:ModifyMountTargetSecurityGroups`
    + `ec2:DescribeSubnets`
    + `ec2:DescribeSecurityGroups`
    + `ec2:DescribeNetworkInterfaceAttribute`
    + `ec2:DescribeNetworkInterfaces`
    + `ec2:AuthorizeSecurityGroupEgress`
    + `ec2:AuthorizeSecurityGroupIngress`
    + `ec2:CreateNetworkInterface`
    + `ec2:CreateNetworkInterfacePermission`
    + `ec2:RevokeSecurityGroupIngress`
    + `ec2:RevokeSecurityGroupEgress`
    + `ec2:DeleteSecurityGroup`
    + `datasync:CreateLocationEfs`
    + `datasync:CreateTask`
    + `datasync:StartTaskExecution`
    + `datasync:DeleteTask`
    + `datasync:DeleteLocation`
    + `sagemaker:ListUserProfiles`
    + `sagemaker:DescribeUserProfile`
    + `sagemaker:UpdateDomain`
    + `sagemaker:UpdateUserProfile`
  + Phase 3 unter Verwendung von Amazon Simple Storage Service erfordert Berechtigungen (optional, nur bei Datenübertragung):
    + `iam:CreateRole`
    + `iam:GetRole`
    + `iam:AttachRolePolicy`
    + `iam:DetachRolePolicy`
    + `iam:DeleteRole`
    + `efs:DescribeFileSystems`
    + `efs:DescribeMountTargets`
    + `efs:DescribeMountTargetSecurityGroups`
    + `ec2:DescribeSubnets`
    + `ec2:CreateSecurityGroup`
    + `ec2:DescribeSecurityGroups`
    + `ec2:DescribeNetworkInterfaces`
    + `ec2:CreateNetworkInterface`
    + `ec2:CreateNetworkInterfacePermission`
    + `ec2:DetachNetworkInterfaces`
    + `ec2:DeleteNetworkInterface`
    + `ec2:DeleteNetworkInterfacePermission`
    + `ec2:CreateTags`
    + `ec2:AuthorizeSecurityGroupEgress`
    + `ec2:AuthorizeSecurityGroupIngress`
    + `ec2:RevokeSecurityGroupIngress`
    + `ec2:RevokeSecurityGroupEgress`
    + `ec2:DeleteSecurityGroup`
    + `datasync:CreateLocationEfs`
    + `datasync:CreateLocationS3`
    + `datasync:CreateTask`
    + `datasync:StartTaskExecution`
    + `datasync:DescribeTaskExecution`
    + `datasync:DeleteTask`
    + `datasync:DeleteLocation`
    + `sagemaker:CreateStudioLifecycleConfig`
    + `sagemaker:UpdateDomain`
    + `s3:ListBucket`
    + `s3:GetObject`
+ Zugriff auf AWS Dienste von einer Terminalumgebung aus auf einer der folgenden Plattformen:
  + Ihr lokaler Computer, der die AWS CLI Version verwendet`2.13+`. Verwenden Sie den folgenden Befehl, um die AWS CLI Version zu überprüfen.

    ```
    aws --version
    ```
  + AWS CloudShell. Weitere Informationen finden Sie unter [Was ist AWS CloudShell?](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)
+ Führen Sie auf Ihrem lokalen Computer oder AWS CloudShell den folgenden Befehl aus und geben Sie Ihre AWS Anmeldeinformationen ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [Grundlegendes zu Ihren AWS Anmeldeinformationen und deren Abruf](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html).

  ```
  aws configure
  ```
+ Stellen Sie sicher, dass der Lightweight-JSON-Prozessorjq,, in der Terminalumgebung installiert ist. jqist erforderlich, um AWS CLI Antworten zu analysieren.

  ```
  jq --version
  ```

  Wenn jq nicht installiert ist, installieren Sie es mit dem folgenden Befehl.
  + 

    ```
    sudo apt-get install -y jq
    ```
  + 

    ```
    sudo yum install -y jq
    ```

# Migrieren der Benutzeroberfläche von Studio Classic zu Studio
<a name="studio-updated-migrate-ui"></a>

Die erste Phase der Migration einer vorhandenen Domain beinhaltet die Migration der Benutzeroberfläche von Amazon SageMaker Studio Classic zu Amazon SageMaker Studio. Diese Phase beinhaltet nicht die Migration von Daten. Benutzer können mit ihren Daten auf dieselbe Weise wie vor der Migration weiterarbeiten. Informationen zur Migration von Daten finden Sie unter [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md).

Phase 1 besteht aus folgenden Schritten:

1. Aktualisieren Sie die Berechtigungen zur Erstellung neuer Anwendungen, die in Studio verfügbar sind.

1. Aktualisieren Sie die VPC-Konfiguration für die Domain.

1. Führen Sie ein Upgrade der Domain durch, um die Studio-Benutzeroberfläche zu verwenden.

## Voraussetzungen
<a name="studio-updated-migrate-ui-prereq"></a>

Bevor Sie diese Schritte ausführen, erfüllen Sie die Voraussetzungen in [Erfüllen der Voraussetzungen für die Migration der Studio-Konfiguration](studio-updated-migrate-prereq.md).

## Schritt 1: Aktualisieren der Anwendungserstellungsberechtigungen
<a name="studio-updated-migrate-limit-apps"></a>

Bevor Sie die Domain migrieren, aktualisieren Sie die Ausführungsrolle der Domain, um Benutzern Berechtigungen zum Erstellen von Anwendungen zu gewähren.

1. Erstellen Sie eine AWS Identity and Access Management Richtlinie mit einem der folgenden Inhalte, indem Sie den Schritten unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html) folgen: 
   + Verwenden Sie die folgende Richtlinie, um Berechtigungen für alle Anwendungstypen und Bereiche zu gewähren.
**Anmerkung**  
Wenn die Domain die `SageMakerFullAccess`-Richtlinie verwendet, müssen Sie diese Aktion nicht ausführen. `SageMakerFullAccess` gewährt Berechtigungen zum Erstellen aller Anwendungen.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "SMStudioUserProfileAppPermissionsCreateAndDelete",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreateApp",
                     "sagemaker:DeleteApp"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/*",
                 "Condition": {
                     "Null": {
                         "sagemaker:OwnerUserProfileArn": "true"
                     }
                 }
             },
             {
                 "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreatePresignedDomainUrl"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
             },
             {
                 "Sid": "SMStudioAppPermissionsListAndDescribe",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:ListApps",
                     "sagemaker:ListDomains",
                     "sagemaker:ListUserProfiles",
                     "sagemaker:ListSpaces",
                     "sagemaker:DescribeApp",
                     "sagemaker:DescribeDomain",
                     "sagemaker:DescribeUserProfile",
                     "sagemaker:DescribeSpace"
                 ],
                 "Resource": "*"
             },
             {
                 "Sid": "SMStudioAppPermissionsTagOnCreate",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:AddTags"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:*/*",
                 "Condition": {
                     "Null": {
                         "sagemaker:TaggingAction": "false"
                     }
                 }
             },
             {
                 "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreateSpace",
                     "sagemaker:UpdateSpace",
                     "sagemaker:DeleteSpace"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/${sagemaker:DomainId}/*",
                 "Condition": {
                     "Null": {
                         "sagemaker:OwnerUserProfileArn": "true"
                     }
                 }
             },
             {
                 "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreateSpace",
                     "sagemaker:UpdateSpace",
                     "sagemaker:DeleteSpace"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/${sagemaker:DomainId}/*",
                 "Condition": {
                     "ArnLike": {
                         "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
                     },
                     "StringEquals": {
                         "sagemaker:SpaceSharingType": [
                             "Private",
                             "Shared"
                         ]
                     }
                 }
             },
             {
                 "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreateApp",
                     "sagemaker:DeleteApp"
                 ],
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/${sagemaker:DomainId}/*",
                 "Condition": {
                     "ArnLike": {
                         "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
                     },
                     "StringEquals": {
                         "sagemaker:SpaceSharingType": [
                             "Private"
                         ]
                     }
                 }
             },
             {
                 "Sid": "AllowAppActionsForSharedSpaces",
                 "Effect": "Allow",
                 "Action": [
                     "sagemaker:CreateApp",
                     "sagemaker:DeleteApp"
                 ],
                 "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*",
                 "Condition": {
                     "StringEquals": {
                         "sagemaker:SpaceSharingType": [
                             "Shared"
                         ]
                     }
                 }
             }
         ]
     }
     ```

------
   + Da Studio eine erweiterte Anzahl von Anwendungen anzeigt, haben Benutzer möglicherweise Zugriff auf Anwendungen, die zuvor nicht angezeigt wurden. Administratoren können den Zugriff auf diese Standardanwendungen einschränken, indem sie eine AWS Identity and Access Management (IAM-) Richtlinie erstellen, die bestimmten Benutzern Berechtigungen für einige Anwendungen verweigert.
**Anmerkung**  
Der Anwendungstyp kann entweder `jupyterlab` oder `codeeditor` sein.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "DenySageMakerCreateAppForSpecificAppTypes",
                 "Effect": "Deny",
                 "Action": "sagemaker:CreateApp",
                 "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/domain-id/*/app-type/*"
             }
         ]
     }
     ```

------

1. Ordnen Sie die Richtlinie der Ausführungsrolle der Domain zu. Anweisungen finden Sie unter [Hinzufügen von IAM-Identitätsberechtigungen (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

## Schritt 2: Aktualisieren der VPC-Konfiguration
<a name="studio-updated-migrate-vpc"></a>

Wenn Sie Ihre Domain im `VPC-Only`-Modus verwenden, stellen Sie sicher, dass Ihre VPC-Konfiguration die Anforderungen für die Verwendung von Studio im `VPC-Only`-Modus erfüllt. Weitere Informationen finden Sie unter [Amazon SageMaker Studio in einer VPC mit externen Ressourcen Connect](studio-updated-and-internet-access.md).

## Schritt 3: Aktualisieren auf die Studio-Benutzeroberfläche
<a name="studio-updated-migrate-set-studio-updated"></a>

Bevor Sie Ihre bestehende Domain von Studio Classic zu Studio migrieren, empfehlen wir, mit Studio eine Testdomain mit denselben Konfigurationen wie Ihre bestehende Domain zu erstellen.

### (Optional) Erstellen einer Testdomain
<a name="studio-updated-migrate-ui-create-test"></a>

Verwenden Sie diese Testdomain, um mit Studio zu interagieren, Netzwerkkonfigurationen zu testen und Anwendungen zu starten, bevor Sie die bestehende Domain migrieren.

1. Rufen Sie die Domain-ID Ihrer vorhandenen Domain ab.

   1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

   1. Wählen Sie die bestehende Domain aus.

   1. Wählen Sie auf der Seite mit den **Domain-Details** **Domain-Einstellungen** aus.

   1. Kopieren Sie die **Domain-ID**.

1. Fügen Sie die Domain-ID Ihrer vorhandenen Domain hinzu.

   ```
   export REF_DOMAIN_ID="domain-id"
   export SM_REGION="region"
   ```

1. Verwenden Sie `describe-domain`, um wichtige Informationen über die bestehende Domain zu erhalten.

   ```
   export REF_EXECROLE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.ExecutionRole')
   export REF_VPC=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.VpcId')
   export REF_SIDS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.SubnetIds | join(",")')
   export REF_SGS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.SecurityGroups | join(",")')
   export AUTHMODE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.AuthMode')
   ```

1. Überprüfen Sie die Parameter.

   ```
   echo "Execution Role: $REF_EXECROLE || VPCID: $REF_VPC || SubnetIDs: $REF_SIDS || Security GroupIDs: $REF_SGS || AuthMode: $AUTHMODE"
   ```

1. Erstellen Sie eine Testdomain mit den Konfigurationen der vorhandenen Domain.

   ```
   IFS=',' read -r -a subnet_ids <<< "$REF_SIDS"
   IFS=',' read -r -a security_groups <<< "$REF_SGS"
   security_groups_json=$(printf '%s\n' "${security_groups[@]}" | jq -R . | jq -s .)
   
   aws sagemaker create-domain \
   --domain-name "TestV2Config" \
   --vpc-id $REF_VPC \
   --auth-mode $AUTHMODE \
   --subnet-ids "${subnet_ids[@]}" \
   --app-network-access-type VpcOnly \
   --default-user-settings "
   {
       \"ExecutionRole\": \"$REF_EXECROLE\",
       \"StudioWebPortal\": \"ENABLED\",
       \"DefaultLandingUri\": \"studio::\",
       \"SecurityGroups\": $security_groups_json
   }
   "
   ```

1. Nachdem die Testdomain `In Service` ist, verwenden Sie die ID der Testdomain, um ein Benutzerprofil zu erstellen. Dieses Benutzerprofil wird zum Starten und Testen von Anwendungen verwendet.

   ```
   aws sagemaker create-user-profile \
   --region="$SM_REGION" --domain-id=test-domain-id \
   --user-profile-name test-network-user
   ```

#### Testen der Studio-Funktionalität
<a name="studio-updated-migrate-ui-testing"></a>

Starten Sie die Testdomain mithilfe des `test-network-user`-Benutzerprofils. Wir empfehlen Ihnen, die Studio-Benutzeroberfläche gründlich zu testen und Anwendungen zu erstellen, um die Studio-Funktionalität im `VPCOnly`-Modus zu testen. Testen Sie die folgenden Workflows:
+ Erstellen Sie einen neuen JupyterLab Space, eine neue Testumgebung und Konnektivität.
+ Erstellen Sie einen neuen Code Editor, der auf Code-OSS, Visual Studio Code – Open Source Space, Testumgebung und Konnektivität basiert.
+ Starten Sie eine neue Studio-Classic-App, Testumgebung und Konnektivität.
+ Testen Sie die Konnektivität von Amazon Simple Storage Service mit Test-Lese- und Schreibaktionen.

Wenn diese Tests erfolgreich sind, führen Sie ein Upgrade der vorhandenen Domain durch. Wenn Sie auf Fehler stoßen, empfehlen wir, Ihre Umgebungs- und Verbindungsprobleme zu beheben, bevor Sie die bestehende Domain aktualisieren.

#### Bereinigen der Ressourcen der Testdomain
<a name="studio-updated-migrate-ui-clean"></a>

Nachdem Sie die bestehende Domain migriert haben, bereinigen Sie die Ressourcen der Testdomain.

1. Fügen Sie die ID der Testdomain hinzu.

   ```
   export TEST_DOMAIN="test-domain-id"
   export SM_REGION="region"
   ```

1. Listet alle Anwendungen in der Domain auf, die gerade ausgeführt werden.

   ```
   active_apps_json=$(aws sagemaker list-apps --region=$SM_REGION --domain-id=$TEST_DOMAIN)
   echo $active_apps_json
   ```

1. Analysieren Sie die JSON-Liste der laufenden Anwendungen und löschen Sie sie. Wenn Benutzer versucht haben, eine Anwendung zu erstellen, für die sie keine Berechtigungen haben, sind möglicherweise Umgebungen vorhanden, die im folgenden Skript nicht erfasst werden. Sie müssen diese Umgebungen manuell löschen.

   ```
   echo "$active_apps_json" | jq -c '.Apps[]' | while read -r app;
   do
       if echo "$app" | jq -e '. | has("SpaceName")' > /dev/null;
       then
           app_type=$(echo "$app" | jq -r '.AppType')
           app_name=$(echo "$app" | jq -r '.AppName')
           domain_id=$(echo "$app" | jq -r '.DomainId')
           space_name=$(echo "$app" | jq -r '.SpaceName')
   
           echo "Deleting App - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name"
           aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \
           --app-type $app_type --app-name $app_name --space-name $space_name
   
           echo "Deleting Space - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name"
           aws sagemaker delete-space --region=$SM_REGION --domain-id=$domain_id \
           --space-name $space_name
       else
   
           app_type=$(echo "$app" | jq -r '.AppType')
           app_name=$(echo "$app" | jq -r '.AppName')
           domain_id=$(echo "$app" | jq -r '.DomainId')
           user_profile_name=$(echo "$app" | jq -r '.UserProfileName')
   
           echo "Deleting Studio Classic - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || UserProfileName: $user_profile_name"
           aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \
           --app-type $app_type --app-name $app_name --user-profile-name $user_profile_name
   
       fi
   
   done
   ```

1. Löschen Sie das Testbenutzerprofil.

   ```
   aws sagemaker delete-user-profile \
   --region=$SM_REGION --domain-id=$TEST_DOMAIN \
   --user-profile-name "test-network-user"
   ```

1. Löschen Sie die Testdomain.

   ```
   aws sagemaker delete-domain \
   --region=$SM_REGION --domain-id=$TEST_DOMAIN
   ```

Nachdem Sie die Studio-Funktionalität mit den Konfigurationen in Ihrer Testdomain getestet haben, migrieren Sie die vorhandene Domain. Wenn Studio die Standardkonfiguration für eine Domain ist, ist Studio die Standardkonfiguration für alle Benutzer in der Domain. Die Benutzereinstellungen haben jedoch Vorrang vor den Domaineinstellungen. Wenn also die Standardkonfiguration eines Benutzers in seinen Benutzereinstellungen auf Studio Classic festgelegt ist, hat dieser Benutzer Studio Classic als Standardkonfiguration. 

Sie können die bestehende Domain migrieren, indem Sie sie über die SageMaker AI-Konsole, das oder AWS CLI, aktualisieren AWS CloudFormation. Wählen Sie eine der folgenden Registerkarten, um die entsprechenden Anweisungen anzuzeigen.

### Legen Sie Studio mithilfe der SageMaker AI-Konsole als Standarderlebnis für die bestehende Domain fest
<a name="studio-updated-migrate-set-studio-updated-console"></a>

Sie können Studio mithilfe der SageMaker AI-Konsole als Standarderlebnis für die vorhandene Domain festlegen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

1. Wählen Sie die vorhandene Domain aus, für die Sie Studio als Standardkonfiguration aktivieren möchten.

1. Erweitern Sie auf der Seite mit den **Domaindetails** die Option **Neues Studio aktivieren**.

1. (Optional) Um die Details zu den Schritten anzuzeigen, die zur Aktivierung von Studio als Standardkonfiguration erforderlich sind, wählen Sie **Details anzeigen** aus. Auf der Seite wird Folgendes angezeigt.
   + Im Bereich **SageMaker Studio-Übersicht** können Sie sich die Anwendungen ansehen, die in der webbasierten Studio-Oberfläche enthalten oder verfügbar sind. 
   + Im Abschnitt **Aktivierungsprozess** finden Sie Beschreibungen der Workflow-Aufgaben zur Aktivierung von Studio.
**Anmerkung**  
Sie müssen Ihre Daten manuell migrieren. Anweisungen zur Migration Ihrer Daten finden Sie unter [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md).
   + Im Abschnitt **Zur Studio-Classic-Konfiguration zurückkehren** können Sie nachlesen, wie Sie nach der Aktivierung von Studio als Standardkonfiguration zu Studio Classic zurückkehren können.

1. Um mit der Aktivierung von Studio als Standardkonfiguration zu beginnen, wählen Sie **Neues Studio aktivieren** aus.

1. Im Abschnitt **Rolle angeben und konfigurieren** können Sie sich die Standardanwendungen ansehen, die automatisch in Studio enthalten sind.

   Um zu verhindern, dass Benutzer diese Anwendungen ausführen, wählen Sie die AWS Identity and Access Management -Rolle (IAM) aus, deren IAM-Richtlinie den Zugriff verweigert. Informationen zum Erstellen einer Richtlinien für die Beschränkung des Zugriffs finden Sie unter [Schritt 1: Aktualisieren der Anwendungserstellungsberechtigungen](#studio-updated-migrate-limit-apps).

1. Im Abschnitt **Standard-S3-Bucket zum Anhängen der CORS-Richtlinie auswählen** können Sie Studio-Zugriff auf Amazon-S3-Buckets gewähren. Der standardmäßige Amazon-S3-Bucket ist in diesem Fall der standardmäßige Amazon-S3-Bucket für Ihr Studio Classic. In diesem Schritt können Sie Folgendes tun:
   + Überprüfen Sie den standardmäßigen Amazon-S3-Bucket der Domain, an den die CORS-Richtlinie angehängt werden soll. Wenn Ihre Domain keinen standardmäßigen Amazon S3 S3-Bucket hat, erstellt SageMaker AI einen Amazon S3 S3-Bucket mit der korrekten CORS-Richtlinie.
   + Sie können 10 zusätzliche Amazon-S3-Buckets hinzufügen, an die Sie die CORS-Richtlinie anhängen können.

     Wenn Sie mehr als 10 Buckets hinzufügen möchten, können Sie dies manuell tun. Weitere Informationen zum manuellen Anfügen der CORS-Richtlinie an Ihre Amazon-S3-Buckets finden Sie unter [(Optional) Aktualisieren der CORS-Richtlinie für den Zugriff auf Amazon-S3-Buckets](#studio-updated-migrate-cors).

   Um fortzufahren, aktivieren Sie das Kontrollkästchen neben **Sind Sie damit einverstanden, bestehende CORS-Richtlinien für die ausgewählten Amazon-S3-Buckets zu überschreiben?**.

1. Der Abschnitt **Daten migrieren** enthält Informationen zu den verschiedenen Datenspeichervolumes für Studio Classic und Studio. Ihre Daten werden bei diesem Vorgang nicht automatisch migriert. Anweisungen zur Migration Ihrer Daten, Lebenszykluskonfigurationen und JupyterLab Erweiterungen finden Sie unter. [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md)

1. Wenn Sie die Aufgaben auf der Seite abgeschlossen und Ihre Konfiguration verifiziert haben, wählen Sie **Neues Studio aktivieren** aus.

### Legen Sie Studio als Standarderfahrung für die bestehende Domain fest, indem Sie AWS CLI
<a name="studio-updated-migrate-set-studio-updated-cli"></a>

Um Studio mithilfe der AWS CLI als Standardkonfiguration für die bestehende Domain festzulegen, verwenden Sie den Aufruf [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html). Sie müssen `ENABLED` als Wert für `StudioWebPortal` und `studio::` als Wert für `DefaultLandingUri` als Teil des `default-user-settings`-Parameters festlegen. 

`StudioWebPortal` gibt an, ob die Studio-Konfiguration die Standardkonfiguration ist, und `DefaultLandingUri` bezeichnet die Standardkonfiguration, zu der der Benutzer beim Zugriff auf die Domain weitergeleitet wird. In diesem Beispiel wird Studio durch die Festlegung dieser Werte auf Domainebene (in `default-user-settings`) zur Standardkonfiguration für Benutzer innerhalb der Domain.

Wenn ein Benutzer innerhalb der Domain seinen `StudioWebPortal` auf `DISABLED` und `DefaultLandingUri` auf `app:JupyterServer:` auf Benutzerebene (in `UserSettings`) festgelegt hat, hat dies Vorrang vor den Domaineinstellungen. Mit anderen Worten, für diesen Benutzer ist Studio Classic die Standardkonfiguration, unabhängig von den Domaineinstellungen. 

Das folgende Codebeispiel zeigt, wie Studio als Standardkonfiguration für Benutzer innerhalb der Domain festgelegt wird:

```
aws sagemaker update-domain \
--domain-id existing-domain-id \
--region AWS-Region \
--default-user-settings '
{
    "StudioWebPortal": "ENABLED",
    "DefaultLandingUri": "studio::"
}
'
```
+ Verwenden Sie folgende Anweisungen, um Ihre `existing-domain-id` abzurufen:

**So rufen Sie `existing-domain-id` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die bestehende Domain aus.

  1. Wählen Sie auf der Seite mit den **Domain-Details** **Domain-Einstellungen** aus.

  1. Kopieren Sie die **Domain-ID**.
+ Gehen Sie wie folgt vor, um sicherzustellen, dass Sie das Richtige AWS-Region für Ihre Domain verwenden: 

**So rufen Sie `AWS-Region` ab**

  1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

  1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

  1. Wählen Sie die bestehende Domain aus.

  1. Vergewissern Sie sich auf der Seite mit den **Domaindetails**, dass es sich um die bestehende Domain handelt.

  1. Erweitern Sie die AWS-Region Dropdownliste oben rechts in der SageMaker AI-Konsole und verwenden Sie die entsprechende AWS-Region ID rechts neben Ihrem AWS-Region Namen. Beispiel, `us-west-1`.

Nachdem Sie Ihre Standardkonfiguration zu Studio migriert haben, können Sie Studio Zugriff auf Amazon-S3-Buckets gewähren. Sie können beispielsweise den Zugriff auf Ihren standardmäßigen Amazon-S3-Bucket in Studio Classic und zusätzliche Amazon-S3-Buckets einbeziehen. Dazu müssen Sie manuell eine CORS-Konfiguration ([Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)) an die Amazon-S3-Buckets anhängen. Weitere Informationen zum manuellen Anfügen der CORS-Richtlinie an Ihre Amazon-S3-Buckets finden Sie unter [(Optional) Aktualisieren der CORS-Richtlinie für den Zugriff auf Amazon-S3-Buckets](#studio-updated-migrate-cors).

Ebenso können Sie Studio als Standarderlebnis festlegen, wenn Sie eine Domain AWS CLI mithilfe des Aufrufs [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html) erstellen. 

### Legen Sie Studio als Standarderfahrung für die bestehende Domain fest, indem Sie den AWS CloudFormation
<a name="studio-updated-migrate-set-studio-updated-cloud-formation"></a>

Sie können die Standardkonfiguration beim Erstellen einer Domain mithilfe der AWS CloudFormation festlegen. Eine CloudFormation Migrationsvorlage finden Sie unter [SageMaker Studio Administrator IaC-Vorlagen](https://github.com/aws-samples/sagemaker-studio-admin-iac-templates/tree/main?tab=readme-ov-file#phase-1-migration). Weitere Informationen zum Erstellen einer Domain mit CloudFormation finden Sie unter [Amazon SageMaker AI-Domain erstellen mit CloudFormation](https://github.com/aws-samples/cloudformation-studio-domain?tab=readme-ov-file#creating-sagemaker-studio-domains-using-cloudformation).

Informationen zur Domain-Ressource, die von unterstützt wird AWS CloudFormation, finden Sie unter [AWS:: SageMaker AI: :Domain](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html#cfn-sagemaker-domain-defaultusersettings).

Nachdem Sie Ihre Standardkonfiguration zu Studio migriert haben, können Sie Studio Zugriff auf Amazon-S3-Buckets gewähren. Sie können beispielsweise den Zugriff auf Ihren standardmäßigen Amazon-S3-Bucket in Studio Classic und zusätzliche Amazon-S3-Buckets einbeziehen. Dazu müssen Sie manuell eine CORS-Konfiguration ([Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)) an die Amazon-S3-Buckets anhängen. Informationen zum manuellen Anfügen der CORS-Richtlinie an Ihre Amazon-S3-Buckets finden Sie unter [(Optional) Aktualisieren der CORS-Richtlinie für den Zugriff auf Amazon-S3-Buckets](#studio-updated-migrate-cors).

### (Optional) Aktualisieren der CORS-Richtlinie für den Zugriff auf Amazon-S3-Buckets
<a name="studio-updated-migrate-cors"></a>

In Studio Classic können Benutzer Dateien erstellen, auflisten und in Buckets von Amazon Simple Storage Service (Amazon S3) hochladen. Um dieselbe Konfiguration in Studio zu unterstützen, müssen Administratoren eine CORS-Konfiguration ([Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)) an die Amazon-S3-Buckets anhängen. Dies ist erforderlich, da Studio Amazon-S3-Aufrufe vom Internetbrowser aus tätigt. Der Browser ruft CORS im Namen von Benutzern auf. Infolgedessen schlagen alle Anfragen an Amazon-S3-Buckets fehl, es sei denn, die CORS-Richtlinie ist an die Amazon-S3-Buckets angehängt.

Möglicherweise müssen Sie die CORS-Richtlinie aus den folgenden Gründen manuell an Amazon-S3-Buckets anhängen.
+ Wenn bereits ein Standard-Bucket von Amazon S3 vorhanden ist, an den nicht die richtige CORS-Richtlinie angehängt ist, wenn Sie die Standardkonfiguration der vorhandenen Domain zu Studio migrieren.
+ Wenn Sie das verwenden AWS CLI , um die Standarderfahrung der vorhandenen Domain zu Studio zu migrieren. Informationen zur Verwendung von für AWS CLI die Migration finden Sie unter[Legen Sie Studio als Standarderfahrung für die bestehende Domain fest, indem Sie AWS CLI](#studio-updated-migrate-set-studio-updated-cli).
+ Wenn Sie die CORS-Richtlinie an zusätzliche Amazon-S3-Buckets anhängen möchten.

**Anmerkung**  
Wenn Sie die SageMaker KI-Konsole verwenden möchten, um Studio als Standarderlebnis zu aktivieren, werden die vorhandenen CORS-Richtlinien der Amazon S3 S3-Buckets, an die Sie die CORS-Richtlinie anhängen, während der Migration überschrieben. Aus diesem Grund können Sie die folgenden manuellen Anweisungen ignorieren.  
Wenn Sie die SageMaker AI-Konsole jedoch bereits für die Migration verwendet haben und weitere Amazon S3 S3-Buckets hinzufügen möchten, an die Sie die CORS-Richtlinie anhängen möchten, fahren Sie mit den folgenden manuellen Anweisungen fort.

Das folgende Verfahren zeigt, wie Sie manuell eine CORS-Konfiguration zu einem Amazon-S3-Bucket hinzufügen können.

**So fügen Sie eine CORS-Konfiguration einem Amazon-S3-Bucket hinzu**

1. Stellen Sie sicher, dass sich in derselben Domain AWS-Region wie die bestehende Domain ein Amazon S3 S3-Bucket mit dem folgenden Namen befindet. Anweisungen finden Sie unter [Anzeigen der Eigenschaften für einen Amazon-S3-Bucket](https://docs.aws.amazon.com//AmazonS3/latest/userguide/view-bucket-properties.html). 

   ```
   sagemaker-region-account-id
   ```

1. Fügen Sie dem standardmäßigen Amazon-S3-Bucket eine CORS-Konfiguration mit dem folgenden Inhalt hinzu. Anweisungen finden Sie unter [Konfigurieren von Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/enabling-cors-examples.html).

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST",
               "PUT",
               "GET",
               "HEAD",
               "DELETE"
           ],
           "AllowedOrigins": [
               "https://*.sagemaker.aws"
           ],
           "ExposeHeaders": [
               "ETag",
               "x-amz-delete-marker",
               "x-amz-id-2",
               "x-amz-request-id",
               "x-amz-server-side-encryption",
               "x-amz-version-id"
           ]
       }
   ]
   ```

### (Optional) Migrieren Sie von Data Wrangler in Studio Classic zu Canvas SageMaker
<a name="studio-updated-migrate-dw"></a>

Amazon SageMaker Data Wrangler ist als eigene Funktion in der Studio Classic-Erfahrung enthalten. Wenn Sie Studio als Standarderlebnis aktivieren, verwenden Sie die [Amazon SageMaker Canvas-Anwendung](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html), um auf die Data Wrangler-Funktionalität zuzugreifen. SageMaker Canvas ist eine Anwendung, mit der Sie Modelle für maschinelles Lernen trainieren und einsetzen können, ohne Code schreiben zu müssen. Canvas bietet Funktionen zur Datenvorbereitung, die von Data Wrangler unterstützt werden.

Die neue Studio-Konfiguration unterstützt die klassische Data-Wrangler-Benutzeroberfläche nicht. Wenn Sie Data Wrangler weiterhin verwenden möchten, müssen Sie eine Canvas-Anwendung erstellen. Sie müssen jedoch über die erforderlichen Berechtigungen verfügen, um Canvas-Anwendungen zu erstellen und zu verwenden.

Gehen Sie wie folgt vor, um der AWS IAM-Rolle Ihrer SageMaker AI-Domain oder Ihres Benutzers die erforderlichen Berechtigungsrichtlinien zuzuweisen.

**So gewähren Sie Berechtigungen für die Data-Wrangler-Funktionalität in Canvas**

1. Ordnen Sie die AWS verwaltete Richtlinie der IAM-Rolle Ihres Benutzers [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)zu. Eine Anleitung zum Hinzufügen von IAM-Richtlinien zu einer Rolle finden Sie unter [Hinzufügen von IAM-Identitätsberechtigungen (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) im *AWS -IAM-Benutzerhandbuch.*

   Sollte diese Berechtigungsrichtlinie für Ihren Anwendungsfall zu freizügig sein, können Sie eingeschränkte Richtlinien erstellen, die mindestens die folgenden Berechtigungen enthalten:

   ```
   {
       "Sid": "AllowStudioActions",
       "Effect": "Allow",
       "Action": [
           "sagemaker:CreatePresignedDomainUrl",
           "sagemaker:DescribeDomain",
           "sagemaker:ListDomains",
           "sagemaker:DescribeUserProfile",
           "sagemaker:ListUserProfiles",
           "sagemaker:DescribeSpace",
           "sagemaker:ListSpaces",
           "sagemaker:DescribeApp",
           "sagemaker:ListApps"
       ],
       "Resource": "*"
   },
   {
       "Sid": "AllowAppActionsForUserProfile",
       "Effect": "Allow",
       "Action": [
           "sagemaker:CreateApp",
           "sagemaker:DeleteApp"
       ],
       "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*",
       "Condition": {
           "Null": {
               "sagemaker:OwnerUserProfileArn": "true"
           }
       }
   }
   ```

1. Ordnen Sie die AWS verwaltete Richtlinie der IAM-Rolle Ihres Benutzers [AmazonSageMakerCanvasDataPrepFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)zu.

Nachdem Sie die erforderlichen Berechtigungen hinzugefügt haben, können Sie eine Canvas-Anwendung erstellen und sich anmelden. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

Wenn Sie sich bei Canvas angemeldet haben, können Sie direkt auf Data Wrangler zugreifen und mit der Erstellung von Datenflüssen beginnen. Weitere Informationen finden Sie unter [Datenaufbereitung](canvas-data-prep.md) in der Canvas-Dokumentation.

### (Optional) Migrieren Sie von Autopilot in Studio Classic zu Canvas SageMaker
<a name="studio-updated-migrate-autopilot"></a>

[Amazon SageMaker Autopilot](https://docs.aws.amazon.com/sagemaker/AWSIronmanApiDoc/integ/npepin-studio-migration-autopilot-to-canvas/latest/dg/autopilot-automate-model-development.html) ist als eigene Funktion in der Studio Classic-Erfahrung enthalten. Wenn Sie zur aktualisierten Studio-Oberfläche migrieren, verwenden Sie die [Amazon SageMaker Canvas-Anwendung](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html), um weiterhin dieselben Funktionen für automatisiertes maschinelles Lernen (AutoML) über eine Benutzeroberfläche (UI) zu verwenden. SageMaker Canvas ist eine Anwendung, in der Sie Modelle für maschinelles Lernen trainieren und bereitstellen können, ohne Code schreiben zu müssen, und Canvas bietet eine Benutzeroberfläche zum Ausführen Ihrer AutoML-Aufgaben.

Die neue Studio-Konfiguration unterstützt die klassische Autopilot-Benutzeroberfläche nicht. Erstellen Sie eine Canvas-Anwendung, wenn Sie die AutoML-Features von Autopilot weiterhin über eine Benutzeroberfläche nutzen möchten. 

Sie müssen jedoch über die erforderlichen Berechtigungen verfügen, um Canvas-Anwendungen zu erstellen und zu verwenden.
+ Wenn Sie von Studio aus auf SageMaker Canvas zugreifen, fügen Sie diese Berechtigungen der Ausführungsrolle Ihrer SageMaker AI-Domäne oder Ihres Benutzerprofils hinzu.
+ Wenn Sie von der Konsole aus auf SageMaker Canvas zugreifen, fügen Sie diese Berechtigungen der AWS IAM-Rolle Ihres Benutzers hinzu.
+ Wenn Sie über eine [vorsignierte URL](https://docs.aws.amazon.com/sagemaker/latest/dg/setting-up-canvas-sso.html#canvas-optional-access) auf SageMaker Canvas zugreifen, fügen Sie diese Berechtigungen der IAM-Rolle hinzu, die Sie für den Okta-SSO-Zugriff verwenden.

Um AutoML-Funktionen in Canvas zu aktivieren, fügen Sie die folgenden Richtlinien zu Ihrer Ausführungsrolle oder Ihrer IAM-Benutzerrolle hinzu.
+ AWS [verwaltete Richtlinie:. `CanvasFullAccess`](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 
+ Inline-Richtlinie:

  ```
  {
      "Sid": "AllowAppActionsForUserProfile",
      "Effect": "Allow",
      "Action": [
          "sagemaker:CreateApp",
          "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*",
      "Condition": {
          "Null": {
              "sagemaker:OwnerUserProfileArn": "true"
          }
      }
  }
  ```

**So fügen Sie IAM-Richtlinien an eine Ausführungsrolle an**

1. 

**Suchen Sie nach der Ausführungsrolle, die Ihrem SageMaker KI-Benutzerprofil zugeordnet ist**

   1. Navigieren Sie in der SageMaker AI-Konsole [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) zu **Domains** und wählen Sie dann Ihre SageMaker AI-Domain aus.

   1. Die Ausführungsrolle ARN ist unter *Ausführungsrolle* auf der Seite **Benutzerdetails** Ihres Benutzerprofils aufgeführt. Notieren Sie sich den Namen der Ausführungsrolle in der ARN.

   1. Wählen Sie in der IAM-Konsole [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)**Rollen** aus.

   1. Suchen Sie Ihre Rolle anhand des Namens im Suchfeld.

   1. Wählen Sie die Rolle aus.

1. Hinzufügen von Richtlinien zur Rolle

   1. **Wählen Sie in der IAM-Konsole [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)Rollen aus.**

   1. Suchen Sie Ihre Rolle anhand des Namens im Suchfeld.

   1. Wählen Sie die Rolle aus.

   1. Navigieren Sie auf der Registerkarte **Berechtigungen** zum Dropdown-Menü **Berechtigungen hinzufügen**.

   1. 
      + Für verwaltete Richtlinien: Wählen Sie **Richtlinien anhängen** aus und suchen Sie nach dem Namen der Verwaltungsrichtlinie, die Sie anhängen möchten.

        Wählen Sie die Richtlinie und dann **Berechtigungen hinzufügen** aus.
      + Für Inline-Richtlinien: Wählen Sie **Inline-Richtlinie erstellen** aus, fügen Sie Ihre Richtlinie in die JSON-Registerkarte ein, wählen Sie „Weiter“ aus, geben Sie Ihrer Richtlinie einen Namen und wählen Sie **Erstellen** aus.

Eine Anleitung zum Hinzufügen von IAM-Richtlinien zu einer Rolle finden Sie unter [Hinzufügen von IAM-Identitätsberechtigungen (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) im *AWS -IAM-Benutzerhandbuch.*

Nachdem Sie die erforderlichen Berechtigungen hinzugefügt haben, können Sie eine Canvas-Anwendung erstellen und sich anmelden. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

## Festlegen von Studio Classic als Standardkonfiguration
<a name="studio-updated-migrate-revert"></a>

Administratoren können zu Studio Classic als Standardkonfiguration für eine bestehende Domain zurückkehren. Dies kann nicht über die AWS CLI erfolgen.

**Anmerkung**  
Wenn Studio Classic als Standardkonfiguration auf Domainebene festgelegt ist, ist Studio Classic die Standardkonfiguration für alle Benutzer in der Domain. Einstellungen auf Benutzerebene haben jedoch Vorrang vor den Einstellungen auf Domainebene. Wenn also die Standardkonfiguration eines Benutzers auf Studio festgelegt ist, hat dieser Benutzer Studio als Standardkonfiguration. 

Verwenden Sie den Aufruf [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html), um mithilfe von zu Studio Classic als Standarderfahrung für die AWS CLI bestehende Domain zurückzukehren. Als Teil des`default-user-settings`-Feldes müssen Sie Folgendes festlegen:
+ `StudioWebPortal`-Wert auf `DISABLED`.
+ `DefaultLandingUri`-Wert auf `app:JupyterServer:`

`StudioWebPortal` gibt an, ob die Studio-Konfiguration die Standardkonfiguration ist, und `DefaultLandingUri` bezeichnet die Standardkonfiguration, zu der der Benutzer beim Zugriff auf die Domain weitergeleitet wird. In diesem Beispiel wird Studio Classic durch die Festlegung dieser Werte auf Domainebene (in `default-user-settings`) zur Standardkonfiguration für Benutzer innerhalb der Domain.

Wenn ein Benutzer innerhalb der Domain seinen `StudioWebPortal` auf `ENABLED` und `DefaultLandingUri` auf `studio::` auf Benutzerebene (in `UserSettings`) festgelegt hat, hat dies Vorrang vor den Einstellungen auf Domainebene. Mit anderen Worten, für diesen Benutzer ist Studio die Standardkonfiguration, unabhängig von den Einstellungen auf Domainebene. 

Das folgende Codebeispiel zeigt, wie Studio Classic als Standardkonfiguration für Benutzer innerhalb der Domain festgelegt wird:

```
aws sagemaker update-domain \
--domain-id existing-domain-id \
--region AWS-Region \
--default-user-settings '
{
    "StudioWebPortal": "DISABLED",
    "DefaultLandingUri": "app:JupyterServer:"
}
'
```

Verwenden Sie folgende Anweisungen, um Ihre `existing-domain-id` abzurufen:

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

1. Wählen Sie die bestehende Domain aus.

1. Wählen Sie auf der Seite mit den **Domain-Details** **Domain-Einstellungen** aus.

1. Kopieren Sie die **Domain-ID**.

Um Ihre zu erhalten`AWS-Region`, folgen Sie den folgenden Anweisungen, um sicherzustellen, dass Sie die richtige AWS-Region für Ihre Domain verwenden.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie im linken Navigationsbereich **Admin-Konfigurationen** und wählen Sie **Domains** aus. 

1. Wählen Sie die bestehende Domain aus.

1. Vergewissern Sie sich auf der Seite mit den **Domaindetails**, dass es sich um die bestehende Domain handelt.

1. Erweitern Sie die AWS-Region Dropdownliste oben rechts in der SageMaker AI-Konsole und verwenden Sie die entsprechende AWS-Region ID rechts neben Ihrem AWS-Region Namen. Beispiel, `us-west-1`.

# (Optional) Migrieren von benutzerdefinierten Images und Lebenszykluskonfigurationen
<a name="studio-updated-migrate-lcc"></a>

Sie müssen Ihre benutzerdefinierten Images und LCC-Skripts (Lifecycle Configuration) aktualisieren, damit sie mit dem vereinfachten lokalen Ausführungsmodell in Amazon SageMaker Studio funktionieren. Wenn Sie in Ihrer Domain keine benutzerdefinierten Images oder Lebenszykluskonfigurationen erstellt haben, überspringen Sie diese Phase.

Amazon SageMaker Studio Classic arbeitet in einer geteilten Umgebung mit:
+ einer `JupyterServer`-Anwendung, auf der der Jupyter Server ausgeführt wird. 
+ Studio-Classic-Notebooks, die auf einer oder mehreren `KernelGateway`-Anwendungen ausgeführt werden. 

Studio hat keine geteilte Umgebung mehr. Studio führt den JupyterLab und Code-Editor auf der Grundlage von Code-OSS, Visual Studio Code — Open-Source-Anwendungen in einem lokalen Laufzeitmodell aus. Weitere Informationen zur Änderung der Architektur finden Sie unter [Steigern Sie die Produktivität in Amazon SageMaker Studio](https://aws.amazon.com/blogs//machine-learning/boost-productivity-on-amazon-sagemaker-studio-introducing-jupyterlab-spaces-and-generative-ai-tools/). 

## Migrieren von benutzerdefinierten Images
<a name="studio-updated-migrate-lcc-custom"></a>

Ihre vorhandenen benutzerdefinierten Studio-Classic-Images funktionieren möglicherweise nicht in Studio. Wir empfehlen, ein neues benutzerdefiniertes Image zu erstellen, das die Anforderungen für die Verwendung in Studio erfüllt. Die Version von Studio vereinfacht den Prozess zur Erstellung benutzerdefinierter Images durch die Bereitstellung von[SageMaker Richtlinie zur Unterstützung von Studio-Images](sagemaker-distribution.md). SageMaker Zu den Images von AI Distribution gehören beliebte Bibliotheken und Pakete für maschinelles Lernen, Datenwissenschaft und Datenanalyse-Visualisierung. Eine Liste der SageMaker Basis-Distribution-Images und Kontoinformationen der Amazon Elastic Container Registry finden Sie unter[SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md).

Um ein benutzerdefiniertes Image zu erstellen, führen Sie einen der folgenden Schritte aus.
+ Erweitern Sie ein SageMaker Distribution-Image mit benutzerdefinierten Paketen und Modulen. Diese Images sind mit einem JupyterLab Code-Editor vorkonfiguriert, der auf Code-OSS, Visual Studio Code - Open Source, basiert.
+ Erstellen Sie eine benutzerdefinierte Dockerfile-Datei, indem Sie den Anweisungen unter [Bring Your Own Image (BYOI)](studio-updated-byoi.md) folgen. Sie müssen JupyterLab und den Open-Source-CodeServer auf dem Image installieren, damit es mit Studio kompatibel ist.

## Migrieren von Lebenszykluskonfigurationen
<a name="studio-updated-migrate-lcc-lcc"></a>

Aufgrund des vereinfachten lokalen Laufzeitmodells in Studio empfehlen wir, die Struktur Ihres vorhandenen Studio Classic zu migrieren. LCCs In Studio Classic ist es häufig erforderlich, separate Lebenszykluskonfigurationen für beide Anwendungen KernelGateway und JupyterServer zu erstellen. Da die JupyterServer und KernelGateway -Anwendungen auf separaten Rechenressourcen in Studio Classic ausgeführt werden, LCCs kann Studio Classic von beiden Typen sein: 
+ JupyterServerLCC: Diese regeln LCCs hauptsächlich die Home-Aktionen eines Benutzers, einschließlich der Einstellung eines Proxys, der Erstellung von Umgebungsvariablen und des automatischen Herunterfahrens von Ressourcen.
+ KernelGatewayLCC: Diese LCCs regeln die Optimierung der Studio Classic-Notebook-Umgebung. Dies umfasst die Aktualisierung der Numpy-Paketversionen im `Data Science 3.0`-Kernel und die Installation des Snowflake-Pakets im `Pytorch 2.0 GPU`-Kernel.

In der vereinfachten Studio-Architektur benötigen Sie nur ein LCC-Skript, das beim Start der Anwendung ausgeführt wird. Obwohl die Migration Ihrer LCC-Skripte je nach Entwicklungsumgebung unterschiedlich ist, empfehlen wir, ein kombiniertes LCC zu kombinieren JupyterServer und KernelGateway LCCs zu erstellen.

LCCs in Studio kann mit einer der folgenden Anwendungen verknüpft werden: 
+ JupyterLab 
+ Code-Editor

Benutzer können bei der Erstellung eines Raums die LCC für den jeweiligen Anwendungstyp auswählen oder die vom Administrator festgelegte Standard-LCC verwenden.

**Anmerkung**  
Die vorhandenen Skripte zum automatischen Herunterfahren von Studio Classic sind mit Studio nicht kompatibel. Ein Beispiel für ein Studio-Skript zum automatischen Herunterfahren finden Sie unter [Beispiele für die SageMaker Studio-Lebenszykluskonfiguration](https://github.com/aws-samples/sagemaker-studio-apps-lifecycle-config-examples).

### Überlegungen beim Refactoring LCCs
<a name="studio-updated-migrate-lcc-considerations"></a>

Beachten Sie beim Refactoring Ihres die folgenden Unterschiede zwischen Studio Classic und Studio. LCCs
+ JupyterLab und Code-Editor-Anwendungen werden, wenn sie erstellt wurden, wie `sagemaker-user` mit `UID:1001` und ausgeführt. `GID:101` `sagemaker-user`Hat standardmäßig die Berechtigung, sudo/root Berechtigungen anzunehmen. KernelGatewayAnwendungen werden `root` standardmäßig ausgeführt.
+ SageMaker Distributions-Images, die innerhalb JupyterLab von Code Editor-Apps ausgeführt werden, verwenden den Debian basierten Paketmanager,`apt-get`.
+ Studio JupyterLab - und Code Editor-Anwendungen verwenden den Conda Paketmanager. SageMaker AI erstellt eine einzige Python3 Conda Basisumgebung, wenn eine Studio-Anwendung gestartet wird. Informationen zum Aktualisieren von Paketen in der Conda-Basisumgebung und zum Erstellen neuer Conda-Umgebungen finden Sie unter [JupyterLab Benutzerleitfaden](studio-updated-jl-user-guide.md). Im Gegensatz dazu verwenden nicht alle KernelGateway-Anwendungen Conda als Paketmanager.
+ Die JupyterLab Studio-Anwendung verwendet`JupyterLab 4.0`, während Studio Classic verwendet`JupyterLab 3.0`. Stellen Sie sicher, dass alle von Ihnen verwendeten JupyterLab-Erweiterungen mit `JupyterLab 4.0` kompatibel sind. Weitere Informationen zu Erweiterungen finden Sie unter [Erweiterungskompatibilität mit JupyterLab 4.0](https://github.com/jupyterlab/jupyterlab/issues/14590).

# (Optional) Migrieren von Daten von Studio Classic zu Studio
<a name="studio-updated-migrate-data"></a>

Studio Classic und Studio verwenden zwei verschiedene Arten von Speicher-Volumes. Studio Classic verwendet ein einziges Volume von Amazon Elastic File System (Amazon EFS), um Daten aller Benutzer und gemeinsam genutzter Bereiche in der Domain zu speichern. In Studio erhält jeder Bereich sein eigenes Volume von Amazon Elastic Block Store (Amazon EBS). Wenn Sie die Standarderfahrung einer vorhandenen Domain aktualisieren, hängt SageMaker AI automatisch einen Ordner in einem Amazon EFS-Volume für jeden Benutzer in einer Domain ein. Dadurch können Benutzer in ihren Studio-Anwendungen auf Dateien aus Studio Classic zugreifen. Weitere Informationen finden Sie unter [Automatisches Mounten von Amazon EFS in Studio](studio-updated-automount.md). 

Sie können auch das automatische Mounting von Amazon EFS deaktivieren und die Daten manuell migrieren, um Benutzern Zugriff auf Dateien aus Studio Classic in Studio-Anwendungen zu gewähren. Um dies zu erreichen, müssen Sie die Dateien aus den Home-Verzeichnissen der Benutzer auf die Amazon-EBS-Volumes übertragen, die diesen Bereichen zugeordnet sind. Der folgende Abschnitt enthält Informationen zu diesem Workflow. Weitere Informationen zum Abmelden vom automatischen Mounting von Amazon EFS finden Sie unter [Deaktivieren des automatischen Mountings von Amazon EFS](studio-updated-automount-optout.md).

## Manuelles Migrieren all Ihrer Daten aus Studio Classic
<a name="studio-updated-migrate-data-all"></a>

Im folgenden Abschnitt wird beschrieben, wie Sie alle Daten von Ihrem Studio-Classic-Speichervolume auf die neue Studio-Konfiguration migrieren.

Bei der manuellen Migration der Daten, des Codes und der Artefakte eines Benutzers von Studio Classic nach Studio empfehlen wir einen der folgenden Ansätze:

1. Verwenden eines benutzerdefinierten Amazon-EFS-Volumes

1. Verwenden von Amazon Simple Storage Service (Amazon S3)

Wenn Sie Amazon SageMaker Data Wrangler in Studio Classic verwendet haben und Ihre Datenflussdateien migrieren möchten, wählen Sie eine der folgenden Migrationsoptionen:
+ Wenn Sie alle Daten von Ihrem Studio-Classic-Speichervolume migrieren möchten, einschließlich Ihrer Datenflussdateien, gehen Sie zu [Manuelles Migrieren all Ihrer Daten aus Studio Classic](#studio-updated-migrate-data-all) und vervollständigen Sie den Abschnitt **Verwenden von Amazon S3 zum Migrieren von Daten**. Fahren Sie dann mit dem Abschnitt [Importieren der Flow-Dateien in Canvas](#studio-updated-migrate-flows-import) fort.
+ Wenn Sie nur Ihre Datenflussdateien und keine anderen Daten von Ihrem Studio-Classic-Speichervolume migrieren möchten, fahren Sie mit dem Abschnitt [Migrieren von Datenflüssen aus Data Wrangler](#studio-updated-migrate-flows) fort.

### Voraussetzungen
<a name="studio-updated-migrate-data-prereq"></a>

Bevor Sie diese Schritte ausführen, erfüllen Sie die Voraussetzungen in [Erfüllen der Voraussetzungen für die Migration der Studio-Konfiguration](studio-updated-migrate-prereq.md). Sie müssen auch die Schritte unter [Migrieren der Benutzeroberfläche von Studio Classic zu Studio](studio-updated-migrate-ui.md) ausführen.

### Auswahl des Ansatzes
<a name="studio-updated-migrate-data-choose"></a>

Beachten Sie bei der Auswahl eines Ansatzes für die Migration Ihrer Studio-Classic-Daten Folgendes.

**Vor- und Nachteile der Verwendung eines benutzerdefinierten Amazon-EFS-Volumes**

Bei diesem Ansatz verwenden Sie eine Amazon EFS-to-Amazon AWS DataSync EFS-Aufgabe (einmalig oder in regelmäßigen Abständen), um Daten zu kopieren und anschließend das Amazon EFS-Zielvolume in die Bereiche eines Benutzers einzubinden. Dadurch erhalten Benutzer Zugriff auf Daten aus Studio Classic in ihren Studio-Datenverarbeitungsumgebungen.

Vorteile:
+ In den Bereichen des Benutzers sind nur die Stammverzeichnisdaten des Benutzers sichtbar. Es findet keine Cross-Pollination der Daten statt.
+ Die Synchronisierung vom Amazon EFS-Quellvolume mit einem Amazon EFS-Zielvolume ist sicherer, als das von SageMaker KI verwaltete Amazon EFS-Quellvolume direkt in Spaces einzubinden. Dadurch wird die Gefahr einer Beeinträchtigung der Benutzerdateien im Stammverzeichnis vermieden.
+ Benutzer haben die Flexibilität, weiterhin in Studio-Classic- und Studio-Anwendungen zu arbeiten und gleichzeitig ihre Daten in beiden Anwendungen verfügbar zu haben, wenn AWS DataSync in regelmäßigen Abständen eingerichtet ist.
+ Mit Amazon S3 ist kein wiederholtes Übertragen und Abrufen erforderlich.

Nachteile:
+ Kein Schreibzugriff auf das Amazon-EFS-Zielvolume, das in die Bereiche des Benutzers eingebunden ist. Um Schreibzugriff auf das Ziel-Amazon-EFS-Volume zu erhalten, müssen Kunden das Ziel-Amazon-EFS-Volume in einer Instance von Amazon Elastic Compute Cloud mounten und den Benutzern die entsprechenden Berechtigungen zum Schreiben in das Amazon-EFS-Präfix erteilen.
+ Erfordert eine Änderung der von SageMaker KI verwalteten Sicherheitsgruppen, um eingehenden und ausgehenden Datenfluss über das Netzwerkdateisystem (NFS) zu ermöglichen.
+ Kostet mehr als die Nutzung von Amazon S3.
+ Wenn Sie [Datenflüsse aus Data Wrangler in Studio Classic migrieren](#studio-updated-migrate-flows), müssen Sie die Schritte zum manuellen Exportieren von Flow-Dateien befolgen.

**Vor- und Nachteile der Verwendung von Amazon S3**

Bei diesem Ansatz verwenden Sie eine Amazon EFS-to-Amazon AWS DataSync S3-Aufgabe (einmalig oder in regelmäßigen Abständen), um Daten zu kopieren, und erstellen dann eine Lebenszykluskonfiguration, um die Daten des Benutzers von Amazon S3 auf das Amazon EBS-Volume seines privaten Bereichs zu kopieren.

Vorteile:
+ Wenn das LCC mit der Domain verbunden ist, können Benutzer wählen, ob sie das LCC zum Kopieren von Daten in ihren Bereich verwenden oder den Bereich ohne LCC-Skript ausführen möchten. Dadurch haben Benutzer die Wahl, ihre Dateien nur in die Bereiche zu kopieren, die sie benötigen.
+ Wenn eine AWS DataSync Aufgabe in regelmäßigen Abständen eingerichtet wird, können Benutzer ihre Studio-Anwendung neu starten, um die neuesten Dateien abzurufen.
+ Da die Daten nach Amazon EBS kopiert werden, haben Benutzer Schreibberechtigungen für die Dateien.
+ Der Amazon-S3-Speicher ist günstiger als Amazon EFS.
+ Wenn Sie [Datenflüsse aus Data Wrangler in Studio Classic migrieren](#studio-updated-migrate-flows), können Sie die manuellen Exportschritte überspringen und die Datenflüsse direkt von Amazon S3 in SageMaker Canvas importieren.

Nachteile:
+ Wenn Administratoren Cross-Pollination verhindern müssen, müssen sie AWS Identity and Access Management -Richtlinien auf Benutzerebene erstellen, um sicherzustellen, dass Benutzer nur auf das Amazon-S3-Präfix zugreifen können, das ihre Dateien enthält.

### Verwenden des benutzerdefinierten Amazon-EFS-Volumes, um Daten zu migrieren
<a name="studio-updated-migrate-data-approach1"></a>

Bei diesem Ansatz verwenden Sie ein Amazon EFS-to-Amazon EFS, AWS DataSync um den Inhalt eines Studio Classic Amazon EFS-Volumes einmal oder in regelmäßigen Abständen auf ein Amazon EFS-Zielvolume zu kopieren und dann das Amazon EFS-Zielvolume in die Spaces eines Benutzers einzubinden. Dadurch erhalten Benutzer Zugriff auf Daten aus Studio Classic in ihren Studio-Datenverarbeitungsumgebungen.

1. Erstellen Sie ein Amazon-EFS-Zielvolume. Sie übertragen Daten in dieses Amazon-EFS-Volume und binden es mithilfe der Präfix-Ebene in den Bereichs eines entsprechenden Benutzers ein.

   ```
   export SOURCE_DOMAIN_ID="domain-id"
   export AWS_REGION="region"
   
   export TARGET_EFS=$(aws efs create-file-system --performance-mode generalPurpose --throughput-mode bursting --encrypted --region $REGION | jq -r '.FileSystemId')
   
   echo "Target EFS volume Created: $TARGET_EFS"
   ```

1. Fügen Sie Variablen für das Amazon-EFS-Quellvolume hinzu, das derzeit an die Domain angehängt und von allen Benutzern verwendet wird. Die Informationen von Amazon Virtual Private Cloud der Domain sind erforderlich, um sicherzustellen, dass das Ziel-Amazon-EFS in derselben Amazon VPC und demselben Subnetz mit derselben Sicherheitsgruppenkonfiguration erstellt wird.

   ```
   export SOURCE_EFS=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.HomeEfsFileSystemId')
   export VPC_ID=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.VpcId')
   
   echo "EFS managed by SageMaker: $SOURCE_EFS | VPC: $VPC_ID"
   ```

1. Erstellen Sie ein Amazon-EFS-Mount-Ziel in derselben Amazon VPC und demselben Subnetz wie das Amazon-EFS-Quellvolume mit derselben Sicherheitsgruppenkonfiguration. Es kann einige Minuten dauern, bis das Mount-Ziel verfügbar ist.

   ```
   export EFS_VPC_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].VpcId")
   export EFS_AZ_NAME=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].AvailabilityZoneName")
   export EFS_AZ_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].AvailabilityZoneId")
   export EFS_SUBNET_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].SubnetId")
   export EFS_MOUNT_TARG_ID=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].MountTargetId")
   export EFS_SG_IDS=$(aws efs describe-mount-target-security-groups --mount-target-id $EFS_MOUNT_TARG_ID | jq -r '.SecurityGroups[]')
   
   aws efs create-mount-target \
   --file-system-id $TARGET_EFS \
   --subnet-id $EFS_SUBNET_ID \
   --security-groups $EFS_SG_IDS
   ```

1. Erstellen Sie Amazon EFS-Quell- und Zielorte für die AWS DataSync Aufgabe.

   ```
   export SOURCE_EFS_ARN=$(aws efs describe-file-systems --file-system-id $SOURCE_EFS | jq -r ".FileSystems[0].FileSystemArn")
   export TARGET_EFS_ARN=$(aws efs describe-file-systems --file-system-id $TARGET_EFS | jq -r ".FileSystems[0].FileSystemArn")
   export EFS_SUBNET_ID_ARN=$(aws ec2 describe-subnets --subnet-ids $EFS_SUBNET_ID | jq -r ".Subnets[0].SubnetArn")
   export ACCOUNT_ID=$(aws ec2 describe-security-groups --group-id $EFS_SG_IDS | jq -r ".SecurityGroups[0].OwnerId")
   export EFS_SG_ID_ARN=arn:aws:ec2:$REGION:$ACCOUNT_ID:security-group/$EFS_SG_IDS
   
   export SOURCE_LOCATION_ARN=$(aws datasync create-location-efs --subdirectory "/" --efs-filesystem-arn $SOURCE_EFS_ARN --ec2-config SubnetArn=$EFS_SUBNET_ID_ARN,SecurityGroupArns=$EFS_SG_ID_ARN --region $REGION | jq -r ".LocationArn")
   export DESTINATION_LOCATION_ARN=$(aws datasync create-location-efs --subdirectory "/" --efs-filesystem-arn $TARGET_EFS_ARN --ec2-config SubnetArn=$EFS_SUBNET_ID_ARN,SecurityGroupArns=$EFS_SG_ID_ARN --region $REGION | jq -r ".LocationArn")
   ```

1. Lassen Sie den Datenverkehr zwischen den Quell- und Ziel-Mounts des Netzwerkdateisystems (NFS) zu. Wenn eine neue Domain erstellt wird, erstellt SageMaker AI zwei Sicherheitsgruppen.
   + Eingehende NFS-Sicherheitsgruppe mit ausschließlich eingehendem Datenverkehr.
   + Ausgehende NFS-Sicherheitsgruppe mit ausschließlich ausgehendem Datenverkehr.

   Das Quell- und das Ziel-NFS befinden sich in denselben Sicherheitsgruppen. Sie können den Verkehr zwischen diesen Mounts vom AWS-Managementkonsole oder AWS CLI aus zulassen.
   + Erlaube Verkehr von AWS-Managementkonsole

     1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

     1. Wählen Sie **Security Groups**.

     1. Suchen Sie auf der Seite **Sicherheitsgruppen** nach der ID der vorhandenen Domain.

        ```
        d-xxxxxxx
        ```

        Die Ergebnisse sollten zwei Sicherheitsgruppen zurückgeben, deren Name die Domain-ID enthält.
        + `security-group-for-inbound-nfs-domain-id`
        + `security-group-for-outbound-nfs-domain-id`

     1. Wählen Sie die eingehende Sicherheitsgruppen-ID aus. Dadurch wird eine neue Seite mit Details zur Sicherheitsgruppe geöffnet.

     1. Wählen Sie die Registerkarte **Ausgehende Regeln** aus.

     1. Wählen Sie **Ausgehende Regeln bearbeiten** aus.

     1. Aktualisieren Sie die vorhandenen Regeln für ausgehenden Datenverkehr oder fügen Sie eine neue Regel für ausgehenden Datenverkehr mit den folgenden Werten hinzu:
        + **Typ**: NFS
        + **Protocol (Protokoll)**: TCP
        + **Portbereich: 2049**
        + **Ziel**: security-group-for-outbound -nfs- \$1 *domain-id* *security-group-id*

     1. Wählen Sie **Regeln speichern** aus.

     1. Wählen Sie die Registerkarte **Regeln für eingehenden Datenverkehr** aus.

     1. Wählen Sie **Regeln für ausgehenden Datenverkehr bearbeiten** aus.

     1. Aktualisieren Sie die vorhandenen Regeln für eingehenden Datenverkehr oder fügen Sie eine neue Regel für ausgehenden Datenverkehr mit den folgenden Werten hinzu:
        + **Typ**: NFS
        + **Protocol (Protokoll)**: TCP
        + **Portbereich**: 2049
        + **Ziel**: security-group-for-outbound -nfs- \$1 *domain-id* *security-group-id*

     1. Wählen Sie **Regeln speichern** aus.
   + Erlaube Verkehr von AWS CLI

     1.  Aktualisieren Sie die Regeln für eingehenden und ausgehenden Datenverkehr der Sicherheitsgruppe mit den folgenden Werten:
        + **Protocol (Protokoll)**: TCP
        + **Portbereich**: 2049
        + **Gruppen-ID**: Sicherheitsgruppen-ID für eingehenden Datenverkehr oder Sicherheitsgruppen-ID für ausgehenden Datenverkehr

        ```
        export INBOUND_SG_ID=$(aws ec2 describe-security-groups --filters "Name=group-name,Values=security-group-for-inbound-nfs-$SOURCE_DOMAIN_ID" | jq -r ".SecurityGroups[0].GroupId")
        export OUTBOUND_SG_ID=$(aws ec2 describe-security-groups --filters "Name=group-name,Values=security-group-for-outbound-nfs-$SOURCE_DOMAIN_ID" | jq -r ".SecurityGroups[0].GroupId")
        
        echo "Outbound SG ID: $OUTBOUND_SG_ID | Inbound SG ID: $INBOUND_SG_ID"
        aws ec2 authorize-security-group-egress \
        --group-id $INBOUND_SG_ID \
        --protocol tcp --port 2049 \
        --source-group $OUTBOUND_SG_ID
        
        aws ec2 authorize-security-group-ingress \
        --group-id $OUTBOUND_SG_ID \
        --protocol tcp --port 2049 \
        --source-group $INBOUND_SG_ID
        ```

     1.  Fügen Sie sowohl die eingehenden als auch die ausgehenden Sicherheitsgruppen zu den Quell- und Ziel-Mount-Zielen von Amazon EFS hinzu. Dies ermöglicht den Datenverkehr zwischen den beiden Amazon-EFS-Mounts.

        ```
        export SOURCE_EFS_MOUNT_TARGET=$(aws efs describe-mount-targets --file-system-id $SOURCE_EFS | jq -r ".MountTargets[0].MountTargetId")
        export TARGET_EFS_MOUNT_TARGET=$(aws efs describe-mount-targets --file-system-id $TARGET_EFS | jq -r ".MountTargets[0].MountTargetId")
        
        aws efs modify-mount-target-security-groups \
        --mount-target-id $SOURCE_EFS_MOUNT_TARGET \
        --security-groups $INBOUND_SG_ID $OUTBOUND_SG_ID
        
        aws efs modify-mount-target-security-groups \
        --mount-target-id $TARGET_EFS_MOUNT_TARGET \
        --security-groups $INBOUND_SG_ID $OUTBOUND_SG_ID
        ```

1. Erstellen Sie eine AWS DataSync Aufgabe. Dadurch wird eine Aufgaben-ARN zurückgegeben, die verwendet werden kann, um die Aufgabe bei Bedarf oder als Teil eines regelmäßigen Rhythmus auszuführen.

   ```
   export EXTRA_XFER_OPTIONS='VerifyMode=ONLY_FILES_TRANSFERRED,OverwriteMode=ALWAYS,Atime=NONE,Mtime=NONE,Uid=NONE,Gid=NONE,PreserveDeletedFiles=REMOVE,PreserveDevices=NONE,PosixPermissions=NONE,TaskQueueing=ENABLED,TransferMode=CHANGED,SecurityDescriptorCopyFlags=NONE,ObjectTags=NONE'
   export DATASYNC_TASK_ARN=$(aws datasync create-task --source-location-arn $SOURCE_LOCATION_ARN --destination-location-arn $DESTINATION_LOCATION_ARN --name "SMEFS_to_CustomEFS_Sync" --region $REGION --options $EXTRA_XFER_OPTIONS | jq -r ".TaskArn")
   ```

1. Starten Sie eine AWS DataSync Aufgabe, um Daten automatisch vom Amazon EFS-Quell-Mount in den Amazon EFS-Ziel-Mount zu kopieren. Dadurch bleiben die POSIX-Berechtigungen der Datei nicht erhalten, sodass Benutzer zwar aus dem Amazon-EFS-Ziel-Mount lesen, aber nicht in diesen schreiben können.

   ```
   aws datasync start-task-execution --task-arn $DATASYNC_TASK_ARN
   ```

1. Mounten Sie das Amazon-EFS-Zielvolume auf der Root-Ebene auf der Domain.

   ```
   aws sagemaker update-domain --domain-id $SOURCE_DOMAIN_ID \
   --default-user-settings '{"CustomFileSystemConfigs": [{"EFSFileSystemConfig": {"FileSystemId": "'"$TARGET_EFS"'", "FileSystemPath": "/"}}]}'
   ```

1. Überschreiben Sie jedes Benutzerprofil mit einem `FileSystemPath`-Präfix. Das Präfix beinhaltet die UID des Benutzers, die von SageMaker AI erstellt wird. Dadurch wird sichergestellt, dass Benutzer nur Zugriff auf ihre Daten haben, und Cross-Pollination wird verhindert. Wenn ein Bereich in der Domain erstellt und das Amazon-EFS-Zielvolume in die Anwendung eingebunden wird, überschreibt das Präfix des Benutzers das Domainpräfix. Daher hängt SageMaker AI das `/user-id` Verzeichnis nur in der Anwendung des Benutzers ein.

   ```
   aws sagemaker list-user-profiles --domain-id $SOURCE_DOMAIN_ID | jq -r '.UserProfiles[] | "\(.UserProfileName)"' | while read user; do
   export uid=$(aws sagemaker describe-user-profile --domain-id $SOURCE_DOMAIN_ID --user-profile-name $user | jq -r ".HomeEfsFileSystemUid")
   echo "$user $uid"
   aws sagemaker update-user-profile --domain-id $SOURCE_DOMAIN_ID --user-profile-name $user --user-settings '{"CustomFileSystemConfigs": [{"EFSFileSystemConfig":{"FileSystemId": "'"$TARGET_EFS"'", "FileSystemPath": "'"/$uid/"'"}}]}'
   done
   ```

1. Benutzer können dann beim Starten einer Anwendung das benutzerdefinierte Amazon-EFS-Dateisystem auswählen. Für weitere Informationen siehe [JupyterLab Benutzerleitfaden](studio-updated-jl-user-guide.md) oder [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

### Verwenden von Amazon S3, um Daten zu migrieren
<a name="studio-updated-migrate-data-approach2"></a>

Bei diesem Ansatz verwenden Sie eine Amazon EFS-to-Amazon AWS DataSync S3-Aufgabe, um den Inhalt eines Studio Classic Amazon EFS-Volumes einmal oder in regelmäßigen Abständen in einen Amazon S3 S3-Bucket zu kopieren. Anschließend erstellen Sie eine Lebenszykluskonfiguration, um die Daten des Benutzers von Amazon S3 auf das Amazon EBS-Volume seines privaten Bereichs zu kopieren.

**Anmerkung**  
Dieser Ansatz funktioniert nur für Domains mit Internetzugang.

1. Geben Sie die Quellvolume-ID von Amazon EFS der Domain ein, die die Daten enthält, die Sie migrieren.

   ```
   timestamp=$(date +%Y%m%d%H%M%S)
   export SOURCE_DOMAIN_ID="domain-id"
   export AWS_REGION="region"
   export ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
   export EFS_ID=$(aws sagemaker describe-domain --domain-id $SOURCE_DOMAIN_ID | jq -r '.HomeEfsFileSystemId')
   ```

1. Legen Sie den Namen des Amazon-S3-Ziel-Buckets fest. Informationen zum Erstellen eines Amazon-S3-Buckets finden Sie unter [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). Der verwendete Bucket muss über eine CORS-Richtlinie verfügen, wie unter [(Optional) Aktualisieren der CORS-Richtlinie für den Zugriff auf Amazon-S3-Buckets](studio-updated-migrate-ui.md#studio-updated-migrate-cors) beschrieben. Benutzer in der Domain müssen auch über Berechtigungen für den Zugriff auf den Amazon-S3-Bucket verfügen.

   In diesem Beispiel kopieren wir Dateien in ein Präfix mit dem Namen `studio-new`. Wenn Sie einen einzelnen Amazon-S3-Bucket verwenden, um mehrere Domains zu migrieren, verwenden Sie das `studio-new/<domain-id>`-Präfix, um die Berechtigungen für die Dateien mithilfe von IAM einzuschränken.

   ```
   export BUCKET_NAME=s3-bucket-name
   export S3_DESTINATION_PATH=studio-new
   ```

1. Erstellen Sie eine Vertrauensrichtlinie, die Ihnen die AWS DataSync Erlaubnis erteilt, die Ausführungsrolle Ihres Kontos zu übernehmen. 

   ```
   export TRUST_POLICY=$(cat <<EOF
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "datasync.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "$ACCOUNT_ID"
                   },
                   "ArnLike": {
                       "aws:SourceArn": "arn:aws:datasync:$REGION:$ACCOUNT_ID:*"
                   }
               }
           }
       ]
   }
   EOF
   )
   ```

1. Erstellen Sie eine IAM-Rolle und fügen Sie die Vertrauensrichtlinie an.

   ```
   export timestamp=$(date +%Y%m%d%H%M%S)
   export ROLE_NAME="DataSyncS3Role-$timestamp"
   
   aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document "$TRUST_POLICY"
   aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
   echo "Attached IAM Policy AmazonS3FullAccess"
   aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
   echo "Attached IAM Policy AmazonSageMakerFullAccess"
   export ROLE_ARN=$(aws iam get-role --role-name $ROLE_NAME --query 'Role.Arn' --output text)
   echo "Created IAM Role $ROLE_ARN"
   ```

1. Erstellen Sie eine Sicherheitsgruppe, um Zugriff auf den Amazon-EFS-Speicherort zu gewähren.

   ```
   export EFS_ARN=$(aws efs describe-file-systems --file-system-id $EFS_ID | jq -r '.FileSystems[0].FileSystemArn' )
   export EFS_SUBNET_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].SubnetId')
   export EFS_VPC_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].VpcId')
   export MOUNT_TARGET_ID=$(aws efs describe-mount-targets --file-system-id $EFS_ID | jq -r '.MountTargets[0].MountTargetId ')
   export EFS_SECURITY_GROUP_ID=$(aws efs describe-mount-target-security-groups --mount-target-id $MOUNT_TARGET_ID | jq -r '.SecurityGroups[0]')
   export EFS_SUBNET_ARN=$(aws ec2 describe-subnets --subnet-ids $EFS_SUBNET_ID | jq -r '.Subnets[0].SubnetArn')
   echo "Subnet ID: $EFS_SUBNET_ID"
   echo "Security Group ID: $EFS_SECURITY_GROUP_ID"
   echo "Subnet ARN: $EFS_SUBNET_ARN"
   
   timestamp=$(date +%Y%m%d%H%M%S)
   sg_name="datasync-sg-$timestamp"
   export DATASYNC_SG_ID=$(aws ec2 create-security-group --vpc-id $EFS_VPC_ID --group-name $sg_name --description "DataSync SG" --output text --query 'GroupId')
   aws ec2 authorize-security-group-egress --group-id $DATASYNC_SG_ID --protocol tcp --port 2049 --source-group $EFS_SECURITY_GROUP_ID
   aws ec2 authorize-security-group-ingress --group-id $EFS_SECURITY_GROUP_ID --protocol tcp --port 2049 --source-group $DATASYNC_SG_ID
   export DATASYNC_SG_ARN="arn:aws:ec2:$REGION:$ACCOUNT_ID:security-group/$DATASYNC_SG_ID"
   echo "Security Group ARN: $DATASYNC_SG_ARN"
   ```

1. Erstellen Sie einen Amazon EFS-Quellspeicherort für die AWS DataSync Aufgabe.

   ```
   export SOURCE_ARN=$(aws datasync create-location-efs --efs-filesystem-arn $EFS_ARN --ec2-config "{\"SubnetArn\": \"$EFS_SUBNET_ARN\", \"SecurityGroupArns\": [\"$DATASYNC_SG_ARN\"]}" | jq -r '.LocationArn')
   echo "Source Location ARN: $SOURCE_ARN"
   ```

1. Erstellen Sie einen Amazon S3 S3-Zielstandort für die AWS DataSync Aufgabe.

   ```
   export BUCKET_ARN="arn:aws:s3:::$BUCKET_NAME"
   export DESTINATION_ARN=$(aws datasync create-location-s3 --s3-bucket-arn $BUCKET_ARN --s3-config "{\"BucketAccessRoleArn\": \"$ROLE_ARN\"}" --subdirectory $S3_DESTINATION_PATH | jq -r '.LocationArn')
   echo "Destination Location ARN: $DESTINATION_ARN"
   ```

1. Erstellen Sie eine AWS DataSync Aufgabe.

   ```
   export TASK_ARN=$(aws datasync create-task --source-location-arn $SOURCE_ARN --destination-location-arn $DESTINATION_ARN | jq -r '.TaskArn')
   echo "DataSync Task: $TASK_ARN"
   ```

1. Starte die AWS DataSync Aufgabe. Diese Aufgabe kopiert automatisch Daten vom Amazon-EFS-Quellvolume in den Ziel-Bucket von Amazon S3. Warten Sie, bis die Aufgabe abgeschlossen wurde.

   ```
   aws datasync start-task-execution --task-arn $TASK_ARN
   ```

1. Überprüfen Sie den Status der AWS DataSync Aufgabe, um sicherzustellen, dass sie abgeschlossen ist. Übergeben Sie den im vorherigen Schritt zurückgegebenen ARN.

   ```
   export TASK_EXEC_ARN=datasync-task-arn
   echo "Task execution ARN: $TASK_EXEC_ARN"
   export STATUS=$(aws datasync describe-task-execution --task-execution-arn $TASK_EXEC_ARN | jq -r '.Status')
   echo "Execution status: $STATUS"
   while [ "$STATUS" = "QUEUED" ] || [ "$STATUS" = "LAUNCHING" ] || [ "$STATUS" = "PREPARING" ] || [ "$STATUS" = "TRANSFERRING" ] || [ "$STATUS" = "VERIFYING" ]; do
       STATUS=$(aws datasync describe-task-execution --task-execution-arn $TASK_EXEC_ARN | jq -r '.Status')
       if [ $? -ne 0 ]; then
           echo "Error Running DataSync Task"
           exit 1
       fi
       echo "Execution status: $STATUS"
       sleep 30
   done
   ```

1. Nachdem die AWS DataSync Aufgabe abgeschlossen ist, bereinigen Sie die zuvor erstellten Ressourcen.

   ```
   aws datasync delete-task --task-arn $TASK_ARN
   echo "Deleted task $TASK_ARN"
   aws datasync delete-location --location-arn $SOURCE_ARN
   echo "Deleted location source $SOURCE_ARN"
   aws datasync delete-location --location-arn $DESTINATION_ARN
   echo "Deleted location source $DESTINATION_ARN"
   aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
   aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
   aws iam delete-role --role-name $ROLE_NAME
   echo "Deleted IAM Role $ROLE_NAME"
   echo "Wait 5 minutes for the elastic network interface to detach..."
   start_time=$(date +%s)
   while [[ $(($(date +%s) - start_time)) -lt 300 ]]; do
       sleep 1
   done
   aws ec2 revoke-security-group-ingress --group-id $EFS_SECURITY_GROUP_ID --protocol tcp --port 2049 --source-group $DATASYNC_SG_ID
   echo "Revoked Ingress from $EFS_SECURITY_GROUP_ID"
   aws ec2 revoke-security-group-egress --group-id $DATASYNC_SG_ID --protocol tcp --port 2049 --source-group $EFS_SECURITY_GROUP_ID
   echo "Revoked Egress from $DATASYNC_SG_ID"
   aws ec2 delete-security-group --group-id $DATASYNC_SG_ID
   echo "Deleted DataSync SG $DATASYNC_SG_ID"
   ```

1. Erstellen Sie auf Ihrem lokalen Rechner eine Datei namens `on-start.sh` mit folgendem Inhalt. Dieses Skript kopiert das Amazon-EFS-Stammverzeichnis des Benutzers in Amazon S3 in das Amazon-EBS-Volume des Benutzers in Studio und erstellt ein Präfix für jedes Benutzerprofil.

   ```
   #!/bin/bash
   set -eo pipefail
   
   sudo apt-get install -y jq
   
   # Studio Variables
   DOMAIN_ID=$(cat /opt/ml/metadata/resource-metadata.json | jq -r '.DomainId')
   SPACE_NAME=$(cat /opt/ml/metadata/resource-metadata.json | jq -r '.SpaceName')
   USER_PROFILE_NAME=$(aws sagemaker describe-space --domain-id=$DOMAIN_ID --space-name=$SPACE_NAME | jq -r '.OwnershipSettings.OwnerUserProfileName')
   
   # S3 bucket to copy from
   BUCKET=s3-bucket-name
   # Subfolder in bucket to copy
   PREFIX=studio-new
   
   # Getting HomeEfsFileSystemUid for the current user-profile
   EFS_FOLDER_ID=$(aws sagemaker describe-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME | jq -r '.HomeEfsFileSystemUid')
   
   # Local destination directory
   DEST=./studio-classic-efs-backup
   mkdir -p $DEST
   
   echo "Bucket: s3://$BUCKET/$PREFIX/$EFS_FOLDER_ID/"
   echo "Destination $DEST/"
   echo "Excluding .*"
   echo "Excluding .*/*"
   
   aws s3 cp s3://$BUCKET/$PREFIX/$EFS_FOLDER_ID/ $DEST/ \
       --exclude ".*" \
       --exclude "**/.*" \
       --recursive
   ```

1. Konvertieren Sie Ihr Skript in das base64-Format. Diese Anforderung verhindert Fehler, die bei der Kodierung von Leerzeichen und Zeilenumbrüchen auftreten. Der Skripttyp kann entweder `JupyterLab` oder `CodeEditor` sein.

   ```
   export LCC_SCRIPT_NAME='studio-classic-sync'
   export SCRIPT_FILE_NAME='on-start.sh'
   export SCRIPT_TYPE='JupyterLab-or-CodeEditor'
   LCC_CONTENT=`openssl base64 -A -in ${SCRIPT_FILE_NAME}`
   ```

1. Überprüfen Sie Folgendes, bevor Sie das Skript verwenden: 
   + Das Amazon-EBS-Volume ist groß genug, um die Objekte zu speichern, die Sie exportieren.
   + Sie migrieren keine ausgeblendeten Dateien und Ordner, z. B. `.bashrc` und `.condarc`, wenn Sie dies nicht beabsichtigen.
   + Für die Ausführungsrolle AWS Identity and Access Management (IAM), die mit Studio-Benutzerprofilen verknüpft ist, sind die Richtlinien so konfiguriert, dass sie nur auf das jeweilige Home-Verzeichnis in Amazon S3 zugreifen.

1. Erstellen Sie mit Ihrem Skript eine Lebenszykluskonfiguration.

   ```
   aws sagemaker create-studio-lifecycle-config \
       --studio-lifecycle-config-name $LCC_SCRIPT_NAME \
       --studio-lifecycle-config-content $LCC_CONTENT \
       --studio-lifecycle-config-app-type $SCRIPT_TYPE
   ```

1. Hängen Sie das LCC an Ihre Domain an.

   ```
   aws sagemaker update-domain \
       --domain-id $SOURCE_DOMAIN_ID \
       --default-user-settings '
           {"JupyterLabAppSettings":
               {"LifecycleConfigArns":
                   [
                       "lifecycle-config-arn"
                   ]
               }
           }'
   ```

1. Benutzer können dann das LCC-Skript auswählen, wenn sie eine Anwendung starten. Für weitere Informationen siehe [JupyterLab Benutzerleitfaden](studio-updated-jl-user-guide.md) oder [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md). Dadurch werden die Dateien von Amazon S3 automatisch mit dem Amazon-EBS-Speicher für den Bereich des Benutzers synchronisiert.

## Migrieren von Datenflüssen aus Data Wrangler
<a name="studio-updated-migrate-flows"></a>

Wenn Sie Amazon SageMaker Data Wrangler zuvor in Amazon SageMaker Studio Classic für Datenvorbereitungsaufgaben verwendet haben, können Sie auf das neue Amazon SageMaker Studio migrieren und auf die neueste Version von Data Wrangler in Amazon Canvas zugreifen. SageMaker Data Wrangler in SageMaker Canvas bietet Ihnen eine verbesserte Benutzererfahrung und Zugriff auf die neuesten Funktionen, wie z. B. eine Benutzeroberfläche in natürlicher Sprache und eine schnellere Leistung.

Sie können SageMaker Canvas jederzeit nutzen, um mit der Nutzung des neuen Data Wrangler-Erlebnisses zu beginnen. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

Wenn Sie Datenflussdateien in Studio Classic gespeichert haben, an denen Sie zuvor gearbeitet haben, können Sie sie in Studio integrieren und die Flow-Dateien dann in Canvas importieren. Sie haben folgende Möglichkeiten für die Migration:
+ Migration mit einem Klick: Wenn Sie sich bei Canvas anmelden, können Sie eine einmalige Importoption verwenden, mit der alle Ihre Flow-Dateien in Ihrem Namen migriert werden.
+ Manuelle Migration: Sie können Ihre Flow-Dateien manuell in Canvas importieren. Exportieren Sie die Dateien von Studio Classic aus entweder nach Amazon S3 oder laden Sie sie auf Ihren lokalen Computer herunter. Anschließend melden Sie sich bei der SageMaker Canvas-Anwendung an, importieren die Flow-Dateien und setzen Ihre Datenvorbereitungsaufgaben fort.

Das folgende Handbuch beschreibt die Voraussetzungen für die Migration und wie Sie Ihre Datenflussdateien entweder mit der Ein-Klick-Option oder manuell migrieren können.

### Voraussetzungen
<a name="studio-updated-migrate-flows-prereqs"></a>

Überprüfen Sie die folgenden Voraussetzungen, bevor Sie mit der Migration Ihrer Flow-Dateien beginnen.

**Schritt 1. Migrieren der Domain und Gewähren von Berechtigungen**

Bevor Sie Datenflussdateien migrieren, müssen Sie bestimmte Schritte des [Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md) Handbuchs befolgen, um sicherzustellen, dass die AWS IAM-Ausführungsrolle Ihres Benutzerprofils über die erforderlichen Berechtigungen verfügt. Befolgen Sie die [Voraussetzungen](studio-updated-migrate-prereq.md) und [Migrieren der Benutzeroberfläche von Studio Classic zu Studio](studio-updated-migrate-ui.md) und konfigurieren Sie Studio als neue Umgebung, bevor Sie fortfahren. Dort wird beschrieben, wie Sie die erforderlichen Berechtigungen erteilen und Ihre bestehende Domain migrieren können.

Insbesondere benötigen Sie Berechtigungen, um eine SageMaker Canvas-Anwendung zu erstellen und die SageMaker Canvas-Datenvorbereitungsfunktionen zu verwenden. Um diese Berechtigungen zu erhalten, können Sie entweder:
+ Fügen Sie die [ AmazonSageMakerCanvasDataPrepFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)Richtlinie zu Ihrer IAM-Rolle hinzu, oder
+ Fügen Sie eine Richtlinie mit den geringsten Berechtigungen hinzu, wie im Abschnitt **(optional) Von Data Wrangler in Studio Classic zu SageMaker Canvas migrieren** auf der Seite gezeigt. [Migrieren der Benutzeroberfläche von Studio Classic zu Studio](studio-updated-migrate-ui.md)

Stellen Sie sicher, dass Sie dasselbe Benutzerprofil für Studio und Canvas verwenden. SageMaker 

Nachdem Sie die im Migrationsleitfaden beschriebenen Voraussetzungen erfüllt haben, sollten Sie über eine neue Domain mit den erforderlichen Berechtigungen für den Zugriff auf SageMaker Canvas über Studio verfügen.

**Schritt 2. (Optional) Vorbereiten eines Amazon-S3-Speicherorts**

Wenn Sie eine manuelle Migration durchführen und Amazon S3 zum Übertragen Ihrer Flow-Dateien anstelle der lokalen Download-Option verwenden möchten, sollten Sie in Ihrem Konto über einen Amazon-S3-Bucket verfügen, den Sie zum Speichern der Flow-Dateien verwenden möchten.

### Migrationsmethode mit einem Klick
<a name="studio-updated-migrate-flows-auto"></a>

SageMaker Canvas bietet eine einmalige Importoption für die Migration Ihrer Datenflüsse von Data Wrangler in Studio Classic zu Data Wrangler in Canvas. SageMaker Solange Ihre Studio-Classic- und Canvas-Anwendungen dasselbe Amazon-EFS-Speichervolume verwenden, können Sie mit einem Klick von Canvas migrieren. Dieser optimierte Prozess macht manuelle Export- und Importschritte überflüssig und Sie können alle Ihre Flows auf einmal importieren.

Gehen Sie wie folgt vor, um alle Ihre Flow-Dateien zu migrieren:

1. Öffnen Sie die neueste Version von Studio.

1. Wählen Sie in Studio im linken Navigationsbereich das Dropdown-Menü **Daten** aus.

1. Wählen Sie in den Navigationsoptionen **Data Wrangler** aus.

1. Wählen Sie auf der Seite **Data Wrangler** die Option **In Canvas ausführen** aus. Wenn Sie die Berechtigungen erfolgreich eingerichtet haben, wird eine Canvas-Anwendung für Sie erstellt. Es kann einige Minuten dauern, bis die Canvas-Anwendung fertig ist. 

1. Wenn Canvas bereit ist, wählen Sie **In Canvas öffnen** aus.

1. Canvas öffnet die Seite **Data Wrangler** und oben auf der Seite erscheint ein Banner mit der Aufforderung Importieren Ihrer Datenflüsse aus Data Wrangler in Studio Classic nach Canvas. Dies ist ein einmaliger Import. Weitere Informationen. Wählen Sie im Banner die Option **Alle importieren** aus.
**Warnung**  
Wenn Sie die Banner-Benachrichtigung schließen, können Sie sie nicht mehr erneut öffnen und die Migrationsmethode mit einem Klick nicht mehr verwenden. 

Eine Popup-Benachrichtigung wird angezeigt, die darauf hinweist, dass Canvas Ihre Flow-Dateien aus Studio Classic importiert. Wenn der Import vollständig erfolgreich war, erhalten Sie eine weitere Benachrichtigung, dass die `X`-Anzahl der Flow-Dateien importiert wurde, und Sie können Ihre Flow-Dateien auf der Seite **Data Wrangler** der Canvas-Anwendung sehen. Alle importierten Flow-Dateien, die denselben Namen wie bestehende Datenflüsse in Ihrer Canvas-Anwendung haben, werden mit einem Postfix umbenannt. Sie können einen Datenfluss öffnen, um zu überprüfen, ob er wie erwartet aussieht.

Falls eine Ihrer Schemadateien nicht erfolgreich importiert werden kann, erhalten Sie eine Benachrichtigung, dass der Import entweder teilweise erfolgreich war oder fehlgeschlagen ist. Wählen Sie in der Benachrichtigung die Option **Fehler anzeigen** aus, um in den einzelnen Fehlermeldungen nach Anleitungen zur Neuformatierung falsch formatierter Flow-Dateien zu suchen.

Nach dem Import Ihrer Flow-Dateien sollten Sie Data Wrangler nun weiterhin verwenden können, um Daten in Canvas vorzubereiten. SageMaker 

### Manuelle Migrationsmethode
<a name="studio-updated-migrate-flows-manual"></a>

In den folgenden Abschnitten wird beschrieben, wie Sie Ihre Flow-Dateien manuell in Canvas importieren, falls die Migrationsmethode mit einem Klick nicht funktioniert hat.

#### Exportieren der Flow-Dateien aus Studio Classic
<a name="studio-updated-migrate-flows-export"></a>

**Anmerkung**  
Wenn Sie Ihre Studio-Classic-Daten bereits gemäß den Anweisungen in [(Optional) Migrieren von Daten von Studio Classic zu Studio](#studio-updated-migrate-data) zu Amazon S3 migriert haben, können Sie diesen Schritt überspringen und direkt zum [Importieren der Flow-Dateien in Canvas](#studio-updated-migrate-flows-import)-Abschnitt übergehen, in dem Sie Ihre Flow-Dateien aus dem Amazon-S3-Speicherort importieren, an dem Ihre Studio-Classic-Daten gespeichert sind.

Sie können Ihre Flow-Dateien exportieren, indem Sie sie entweder in Amazon S3 speichern oder auf Ihren lokalen Computer herunterladen. Wenn Sie im nächsten Schritt Ihre Flow-Dateien in SageMaker Canvas importieren und die lokale Upload-Option wählen, können Sie nur 20 Flow-Dateien gleichzeitig hochladen. Wenn Sie eine große Anzahl von Flow-Dateien importieren möchten, empfehlen wir Ihnen, stattdessen Amazon S3 zu verwenden.

Folgen Sie den Anweisungen unter [Methode 1: Verwenden von Amazon S3, um Flow-Dateien zu übertragen](#studio-updated-migrate-flows-export-s3) oder [Methode 2: Verwenden Ihres lokalen Computers, um Flow-Dateien zu übertragen](#studio-updated-migrate-flows-export-local), um fortzufahren.

##### Methode 1: Verwenden von Amazon S3, um Flow-Dateien zu übertragen
<a name="studio-updated-migrate-flows-export-s3"></a>

Mit dieser Methode verwenden Sie Amazon S3 als Vermittler zwischen Data Wrangler in Studio Classic und Data Wrangler in SageMaker Canvas (Zugriff über die neueste Version von Studio). Sie exportieren die Flow-Dateien von Studio Classic nach Amazon S3 und greifen dann im nächsten Schritt über Studio auf Canvas zu und importieren die Flow-Dateien aus Amazon S3.

Stellen Sie sicher, dass ein Amazon-S3-Bucket als Speicherort für die Flow-Dateien vorbereitet ist.

Gehen Sie wie folgt vor, um Ihre Flow-Dateien von Studio Classic nach Amazon S3 zu exportieren:

1. Öffnen Sie Studio Classic

1. Öffnen Sie ein neues Terminal, indem Sie wie folgt vorgehen:

   1. Wählen Sie in der Navigationsleiste oben die Option **Datei** aus.

   1. Fahren Sie im Kontextmenü mit der Maus über **Neu** und wählen Sie dann **Terminal** aus.

1. Standardmäßig sollte das Terminal in Ihrem Stammverzeichnis geöffnet sein. Navigieren Sie zu dem Ordner, der alle Flow-Dateien enthält, die Sie migrieren möchten.

1. Verwenden Sie folgenden Befehl, um alle Flow-Dateien mit dem angegebenen Amazon-S3-Speicherort zu synchronisieren. Ersetzen Sie `{bucket-name}` und `{folder}` durch den Pfad zu Ihrem gewünschten Amazon-S3-Speicherort. Weitere Informationen zu dem Befehl und den Parametern finden Sie unter dem Befehl [sync in der Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html). AWS AWS CLI 

   ```
   aws s3 sync . s3://{bucket-name}/{folder}/ --exclude "*.*" --include "*.flow"
   ```

   Wenn Sie Ihren eigenen Befehl verwenden AWS KMS key, verwenden Sie stattdessen den folgenden Befehl, um die Dateien zu synchronisieren, und geben Sie Ihre KMS-Schlüssel-ID an. Stellen Sie sicher, dass der IAM-Ausführungsrolle des Benutzers (bei der es sich um dieselbe Rolle handeln sollte, die in **Schritt 1. Migrieren der Domain und Gewähren von Berechtigungen** der vorstehenden ([Voraussetzungen](#studio-updated-migrate-flows-prereqs) verwendet wurde), der Zugriff zur Verwendung des KMS-Schlüssels gewährt wurde.

   ```
   aws s3 sync . s3://{bucket-name}/{folder}/ --exclude "*.*" --include "*.flow" --sse-kms-key-id {your-key-id}
   ```

Ihre Flow-Dateien sollten jetzt exportiert werden. Sie können Ihren Amazon-S3-Bucket überprüfen, um sicherzustellen, dass die Flow-Dateien erfolgreich synchronisiert wurden.

Um diese Dateien in die neueste Version von Data Wrangler zu importieren, folgen Sie den Schritten unter [Importieren der Flow-Dateien in Canvas](#studio-updated-migrate-flows-import).

##### Methode 2: Verwenden Ihres lokalen Computers, um Flow-Dateien zu übertragen
<a name="studio-updated-migrate-flows-export-local"></a>

Mit dieser Methode laden Sie die Flow-Dateien von Studio Classic auf Ihren lokalen Computer herunter. Sie können die Dateien direkt herunterladen oder sie als ZIP-Archiv komprimieren. Anschließend entpacken Sie die ZIP-Datei lokal (falls zutreffend), melden sich bei Canvas an und importieren die Flow-Dateien, indem Sie sie von Ihrem lokalen Computer hochladen.

Gehen Sie wie folgt vor, um Ihre Flow-Dateien von Studio Classic nach Amazon S3 herunterzuladen:

1. Öffnen Sie Studio Classic

1. (Optional) Wenn Sie mehrere Flow-Dateien in ein ZIP-Archiv komprimieren und alle auf einmal herunterladen möchten, gehen Sie wie folgt vor:

   1. Wählen Sie in Studio Classic in der Navigationsleiste oben die Option **Datei** aus.

   1. Fahren Sie im Kontextmenü mit der Maus über **Neu** und wählen Sie dann **Terminal** aus.

   1. Standardmäßig wird das Terminal in Ihrem Stammverzeichnis geöffnet. Navigieren Sie zu dem Ordner, der alle Flow-Dateien enthält, die Sie migrieren möchten.

   1. Verwenden Sie den folgenden Befehl, um die Flow-Dateien im aktuellen Verzeichnis als ZIP-Datei zu packen. Der Befehl schließt alle ausgeblendeten Dateien aus:

      ```
      find . -not -path "*/.*" -name "*.flow" -print0 | xargs -0 zip my_archive.zip
      ```

1. Laden Sie das ZIP-Archiv oder einzelne Flow-Dateien wie folgt auf Ihren lokalen Computer herunter:

   1. Wählen Sie im linken Navigationsbereich von Studio Classic die Option **Dateibrowser** aus.

   1. Suchen Sie im Dateibrowser nach der Datei, die Sie herunterladen möchten.

   1. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie im Kontextmenü die Option **Herunterladen** aus.

Die Datei sollte auf Ihren lokalen Computer heruntergeladen werden. Wenn Sie sie als ZIP-Archiv gepackt haben, extrahieren Sie die Dateien lokal. Nach dem Extrahieren der Dateien folgen Sie den Schritten unter [Importieren der Flow-Dateien in Canvas](#studio-updated-migrate-flows-import), um diese Dateien in die neueste Version von Data Wrangler zu importieren. 

#### Importieren der Flow-Dateien in Canvas
<a name="studio-updated-migrate-flows-import"></a>

Nachdem Sie Ihre Flow-Dateien exportiert haben, greifen Sie über Studio auf Canvas zu und importieren Sie die Dateien.

Gehen Sie wie folgt vor, um Flow-Dateien in Canvas zu importieren:

1. Öffnen Sie die neueste Version von Studio.

1. Wählen Sie in Studio im linken Navigationsbereich das Dropdown-Menü **Daten** aus.

1. Wählen Sie in den Navigationsoptionen **Data Wrangler** aus.

1. Wählen Sie auf der Seite **Data Wrangler** die Option **In Canvas ausführen** aus. Wenn Sie die Berechtigungen erfolgreich eingerichtet haben, wird eine Canvas-Anwendung für Sie erstellt. Es kann einige Minuten dauern, bis die Canvas-Anwendung fertig ist. 

1. Wenn Canvas bereit ist, wählen Sie **In Canvas öffnen** aus.

1. Canvas öffnet die Seite **Data Wrangler**. Wählen Sie im oberen Bereich die Option **Datenflüsse importieren** aus.

1. Wählen Sie für **Datenquelle** entweder **Amazon S3** oder **Lokaler Upload** aus.

1. Wählen Sie Ihre Flow-Dateien aus Ihrem Amazon-S3-Bucket aus oder laden Sie die Dateien von Ihrem lokalen Computer hoch.
**Anmerkung**  
Für den lokalen Upload können Sie maximal 20 Flow-Dateien gleichzeitig hochladen. Verwenden Sie für größere Importe Amazon S3. Wenn Sie einen Ordner für den Import auswählen, werden alle Flow-Dateien in Unterordnern ebenfalls importiert.

1. Wählen Sie **Daten importieren**.

Wenn der Import erfolgreich war, erhalten Sie eine Benachrichtigung, das `X` Anzahl der Flow-Dateien erfolgreich importiert wurde.

Falls Ihre Flow-Dateien nicht erfolgreich importiert werden können, erhalten Sie in der SageMaker Canvas-Anwendung eine Benachrichtigung. Wählen Sie in der Benachrichtigung die Option **Fehler anzeigen** aus, um in den einzelnen Fehlermeldungen nach Anleitungen zur Neuformatierung falsch formatierter Flow-Dateien zu suchen.

Rufen Sie nach dem Import Ihrer Flow-Dateien die **Data Wrangler-Seite** der SageMaker Canvas-Anwendung auf, um Ihre Datenflüsse anzusehen. Sie können einen Datenfluss öffnen, um zu überprüfen, ob er wie erwartet aussieht.

# Amazon SageMaker Studio Klassisch
<a name="studio"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic ist eine webbasierte integrierte Entwicklungsumgebung (IDE) für maschinelles Lernen (ML). Studio Classic ermöglicht das Erstellen, Schulen, Debuggen, Bereitstellen und Überwachen Ihrer ML-Modelle. Studio Classic enthält alle Tools, die Sie benötigen, um Ihre Modelle produktiver zu machen – von der Datenaufbereitung über Experimente bis zur Produktion. In einer einzigen visuellen Oberfläche können Sie die folgenden Aufgaben ausführen:
+ Schreiben und Ausführen von Code in Jupyter Notebooks
+ Bereitstellen von Daten für Machine-Learning-Systeme
+ Erstellen und Trainieren von ML-Modellen
+ Bereitstellen der Modelle und Überwachen der Leistung ihrer Vorhersagen
+ Verfolgen und Debuggen von ML-Experimenten
+ Zusammenarbeiten mit anderen in Echtzeit

Informationen zu den Onboarding-Schritten für Studio Classic finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

Informationen zur Zusammenarbeit mit anderen Benutzern in Echtzeit finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md).

Informationen zu den von Studio Classic unterstützten AWS Regionen finden Sie unter[Unterstützte Regionen und Kontingente](regions-quotas.md).

## Amazon SageMaker Studio Classic-Wartungsphasenplan
<a name="studio-deprecation"></a>

Die folgende Tabelle enthält Informationen zum Zeitplan für den Beginn der erweiterten Wartungsphase von Amazon SageMaker Studio Classic.




| Date | Description | 
| --- | --- | 
|  31.12.2024  |  Ab dem 31. Dezember wird die Wartung von Studio Classic eingestellt. Ab dann werden für Studio Classic keine Updates und Sicherheitspatches mehr bereitgestellt. Alle neuen Domains werden standardmäßig mit Amazon SageMaker Studio erstellt.  | 
|  31.1.2025  |  Ab dem 31. Januar können Benutzer in Studio Classic keine JupyterLab 3 neuen Notizbücher mehr erstellen. Benutzer können auch keine vorhandenen Notebooks neu starten oder aktualisieren. Benutzer können über Studio auf vorhandene Studio-Classic-Anwendungen zugreifen, jedoch ausschließlich zum Löschen oder Beenden bestehender Notebooks.  | 

**Anmerkung**  
Ihre bestehende Studio-Classic-Domain wird nicht automatisch zu Studio migriert. Informationen zum Migrieren finden Sie unter [Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md).

**Topics**
+ [Amazon SageMaker Studio Classic-Wartungsphasenplan](#studio-deprecation)
+ [Funktionen von Amazon SageMaker Studio Classic](#studio-features)
+ [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md)
+ [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md)
+ [JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md)
+ [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md)
+ [Verwenden Sie Amazon SageMaker Studio Classic-Notizbücher](notebooks.md)
+ [Amazon SageMaker Studio Classic anpassen](studio-customize.md)
+ [Allgemeine Aufgaben in Amazon SageMaker Studio Classic ausführen](studio-tasks.md)
+ [Amazon SageMaker Studio Classic — Preise](studio-pricing.md)
+ [Problembehebung bei Amazon SageMaker Studio Classic](studio-troubleshooting.md)

## Funktionen von Amazon SageMaker Studio Classic
<a name="studio-features"></a>

Studio Classic umfasst die folgenden Features:
+ [SageMaker Autopilot](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development.html)
+ [SageMaker Klären](https://docs.aws.amazon.com/sagemaker/latest/dg/model-explainability.html)
+ [SageMaker Daten Wrangler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html)
+ [SageMaker Debugger](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-on-studio.html)
+ [SageMaker Experimente](https://docs.aws.amazon.com/sagemaker/latest/dg/experiments.html)
+ [SageMaker Feature-Shop](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-use-with-studio.html)
+ [SageMaker JumpStart](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-jumpstart.html)
+ [ SageMaker Amazon-Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-studio.html)
+ [SageMaker Modellregistrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)
+ [SageMaker Projekte](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects.html)
+ [SageMakerStudio Classic-Notizbücher](https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks.html)
+ [SageMaker Universelles Notizbuch von Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-cluster.html)

# Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche
<a name="studio-ui"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic erweitert die Funktionen von JupyterLab um benutzerdefinierte Ressourcen, die Ihren Machine Learning Lernprozess (ML) beschleunigen können, indem sie die Rechenleistung nutzen. AWS Frühere Benutzer von JupyterLab werden die Ähnlichkeit der Benutzeroberfläche bemerken. Die wichtigsten Ergänzungen werden in den folgenden Abschnitten detailliert beschrieben. Einen Überblick über die ursprüngliche JupyterLab Benutzeroberfläche finden Sie unter [Die JupyterLab Benutzeroberfläche](https://jupyterlab.readthedocs.io/en/latest/user/interface.html). 

Die folgende Abbildung zeigt die Standardansicht beim Start von Amazon SageMaker Studio Classic. Im *linken Navigationsbereich* werden alle Funktionskategorien der obersten Ebene angezeigt, und a *[Amazon SageMaker Studio Classic-Startseite](#studio-ui-home)* ist im *Hauptarbeitsbereich* geöffnet. Kehren Sie zu diesem zentralen Orientierungspunkt zurück, indem Sie zu einem beliebigen Zeitpunkt das **Startseite**-Symbol (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/house.png)) und anschließend im Navigationsmenü den **Startseite**-Knoten auswählen.

Im **Notizbuch Erste Schritte** finden Sie eine praktische Anleitung zum Einrichten und Kennenlernen der Funktionen von Amazon SageMaker Studio Classic. Wählen Sie auf der Studio-Classic-Startseite im Bereich **Schnellaktionen** die Option **Erste Schritte mit Notebook öffnen** aus.

![\[SageMaker Studio Classic-Startseite.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-home.png)


**Anmerkung**  
Dieses Kapitel basiert auf der aktualisierten Benutzeroberfläche (UI) von Studio Classic, die ab Version `v5.38.x` JupyterLab 3 verfügbar ist.  
Um Ihre Version der Studio-Benutzeroberfläche abzurufen, öffnen Sie im [Studio Classic Launcher](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launcher.html) ein System-Terminal und dann  
Führen Sie Folgendes aus:`conda activate studio`
Führen Sie Folgendes aus:`jupyter labextension list`
Suchen Sie in der Ausgabe nach der Version, die danach in `@amzn/sagemaker-ui version` angezeigt wird.
Informationen zur Aktualisierung von Amazon SageMaker Studio Classic finden Sie unter[Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md).

**Topics**
+ [Amazon SageMaker Studio Classic-Startseite](#studio-ui-home)
+ [Klassisches Amazon SageMaker Studio-Layout](#studio-ui-layout)

## Amazon SageMaker Studio Classic-Startseite
<a name="studio-ui-home"></a>

Die Startseite bietet Zugriff auf allgemeine Aufgaben und Workflows. Insbesondere enthält sie eine Liste mit **Schnellaktionen** für allgemeine Aufgaben wie das **Öffnen von Launcher** zum Erstellen von Notebooks und anderen Ressourcen und das **visuelle Importieren und Aufbereiten von Daten**, um einen neuen Flow in Data Wrangler zu erstellen. Die **Startseite** bietet auch Tooltips zu den wichtigsten Steuerelementen in der Benutzeroberfläche.

Die **vorgefertigten und automatisierten Lösungen** helfen Ihnen dabei, schnell mit den Low-Code-Lösungen von SageMaker AI wie Amazon SageMaker JumpStart und Autopilot loszulegen.

Unter **Workflows und Aufgaben** finden Sie eine Liste relevanter Aufgaben für jeden Schritt Ihres ML-Workflows, die Sie zum richtigen Tool für die jeweilige Aufgabe führt. Mit **Daten transformieren, analysieren und exportieren** gelangen Sie beispielsweise zu Amazon SageMaker Data Wrangler und öffnen den Workflow, um einen neuen Datenfluss zu erstellen, oder **Alle Experimente anzeigen führt Sie zu SageMaker Experimenten und öffnet die Listenansicht** der Experimente.

Beim Start von Studio Classic ist die **Startseite** im Hauptarbeitsbereich geöffnet. Sie können Ihre SageMaker **KI-Startseite** anpassen, indem Sie oben rechts auf der Registerkarte **Startseite** auf das Symbol „**Layout anpassen**“ (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/layout.png)) klicken.

## Klassisches Amazon SageMaker Studio-Layout
<a name="studio-ui-layout"></a>

Die Amazon SageMaker Studio Classic-Oberfläche besteht aus einer *Menüleiste* oben, einer zusammenklappbaren *linken Seitenleiste* mit einer Vielzahl von Symbolen wie dem **Home-Symbol** und dem **Dateibrowser**, einer *Statusleiste* am unteren Bildschirmrand und einem *zentralen Bereich*, der horizontal in zwei Bereiche unterteilt ist. Der linke Bereich ist ein zusammenklappbares *Navigationsfenster*. Der rechte Bereich, also der Hauptarbeitsbereich, enthält eine oder mehrere Registerkarten für Ressourcen wie Startprogramme, Notebooks, Terminals, Metriken und Diagramme und kann weiter unterteilt werden.

**Melden Sie einen Fehler** in Studio Classic oder wählen Sie das Benachrichtigungssymbol (![\[Red circle icon with white exclamation mark, indicating an alert or warning.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Notification.png)), um Benachrichtigungen von Studio Classic, z. B. neue Studio Classic-Versionen und neue SageMaker KI-Funktionen, in der rechten Ecke der Menüleiste anzuzeigen. Informationen zum Update auf eine neue Version von Studio Classic finden Sie unter [Amazon SageMaker Studio Classic und Apps herunterfahren und aktualisieren](studio-tasks-update.md).

In den folgenden Abschnitten werden die Hauptbereiche der Studio-Classic-Benutzeroberfläche beschrieben.

### Linke Seitenleiste
<a name="studio-ui-nav-bar"></a>

Die *linke Seitenleiste* enthält die folgenden Symbole. Wenn Sie den Mauszeiger über ein Symbol bewegen, zeigt ein Tooltip den Namen des Symbols an. Ein einziger Klick auf ein Symbol öffnet den linken Navigationsbereich mit den beschriebenen Funktionen. Ein Doppelklick minimiert den linken Navigationsbereich.


| Symbol | Description | 
| --- | --- | 
|  ![\[Das Startseite-Symbol.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/house@2x.png)  | **Home** Wählen Sie das **Home** Symbol, um ein Navigationsmenü auf oberster Ebene im *linken Navigationsbereich* zu öffnen. Mithilfe des **Start**-Navigationsmenüs können Sie die richtigen Tools für jeden Schritt Ihres ML-Workflows finden und zu ihnen navigieren. Das Menü bietet auch Verknüpfungen zu Schnellstartlösungen und Lernressourcen wie Dokumentation und geführten Tutorials. In den Menükategorien sind relevante Funktionen zusammengefasst. Wenn Sie beispielsweise **Daten** auswählen, werden die relevanten SageMaker KI-Funktionen für Ihre Datenvorbereitungsaufgaben erweitert. Von hier aus können Sie Ihre Daten mit Data Wrangler vorbereiten, ML-Funktionen mit Amazon SageMaker Feature Store erstellen und speichern und Amazon EMR-Cluster für die umfangreiche Datenverarbeitung verwalten. Die Kategorien sind nach einem typischen ML-Workflow angeordnet, von der Datenvorbereitung bis hin zur Erstellung, Training und Bereitstellung von ML-Modellen (Daten, Pipelines, Modelle und Bereitstellungen). Wenn Sie einen bestimmten Knoten (z. B. Data Wrangler) auswählen, wird eine entsprechende Seite im Hauptarbeitsbereich geöffnet. Wählen Sie **Home** im Navigationsmenü, um [Amazon SageMaker Studio Classic-Startseite](#studio-ui-home) zu öffnen | 
|  ![\[Das Symbol Dateibrowser.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder@2x.png)  |  **Dateibrowser** Der **Dateibrowser** und Ressourcenbrowser zeigt Listen Ihrer Notebooks, Experimente, Testversionen, Tetstkomponenten und Endpunkte an. Ob Sie sich in einem persönlichen oder einem gemeinsam genutzten Bereich befinden, bestimmt, wer Zugriff auf Ihre Dateien hat. Anhand der oberen rechten Ecke können Sie feststellen, in welcher Art von Bereich Sie sich befinden. **Wenn Sie sich in einer persönlichen App befinden, sehen Sie ein Benutzersymbol gefolgt von *[user\$1name]***/Personal Studio**, und wenn Sie sich in einem kollaborativen Bereich befinden, sehen Sie ein Globussymbol gefolgt von "/“ *[user\$1name] *** *[space\$1name].* [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-ui.html) Bei hierarchischen Einträgen zeigt ein auswählbarer Breadcrumb am oberen Rand des Browsers Ihre Postion in der Hierarchie an.  | 
|  ![\[Das Symbol Eigenschafteninspektor.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/gears@2x.png)  |  **Immobilieninspektor** Der Eigenschafteninspektor ist ein Notebookinspektor für Zellenwerkzeuge, der beim Öffnen kontextbezogene Eigenschaftseinstellungen anzeigt.  | 
|  ![\[Das Symbol Ausführen von Terminals und Kernel.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/running-terminals-kernels@2x.png)  |  **Ausführen von Terminals und Kernel** Sie können die Liste aller *Kernel* und *Terminals* überprüfen, die derzeit auf allen Notebooks, Codekonsolen und Verzeichnissen ausgeführt werden. Sie können einzelne Ressourcen herunterfahren, darunter Notebooks, Terminals, Kernel, Apps und Instances. Sie können auch alle Ressourcen in einer dieser Kategorien gleichzeitig herunterfahren. Weitere Informationen finden Sie unter [Ressourcen von Amazon SageMaker Studio Classic herunterfahren](notebooks-run-and-manage-shut-down.md).  | 
|  ![\[Das Symbol Git.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git@2x.png)  |  **Git** Sie können eine Verbindung zu einem Git-Repository herstellen und dann auf eine vollständige Palette von Git-Tools und Operationen zugreifen. Weitere Informationen finden Sie unter [Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic](studio-tasks-git.md).  | 
|  ![\[Das Symbol Inhaltsverzeichnis.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/table-of-contents@2x.png)  | **Inhaltsübersicht**Sie können in der Struktur eines Dokuments navigieren, wenn ein Notebook oder Python-Dateien geöffnet sind. Ein Inhaltsverzeichnis wird im linken Navigationsbereich automatisch generiert, wenn Sie ein Notebook, Markdown-Dateien oder Python-Dateien geöffnet haben. Die Einträge sind anklickbar und das Dokument wird zur betreffenden Überschrift gescrollt. | 
|  ![\[Das Symbol Erweiterungen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/extensions@2x.png)  |  **Erweiterungen** Sie können JupyterLab Erweiterungen von Drittanbietern aktivieren und verwalten. Sie können die bereits installierten Erweiterungen überprüfen und nach Erweiterungen suchen, indem Sie den Namen in die Suchleiste eingeben. Wenn Sie die Erweiterung gefunden haben, die Sie installieren möchten, wählen Sie **Installieren**. Stellen Sie nach der Installation Ihrer neuen Erweiterungen sicher, dass Sie Ihren Browser neu starten, JupyterLab indem Sie Ihren Browser aktualisieren. Weitere Informationen finden Sie in der [Dokumentation zu JupyterLab Erweiterungen](https://jupyterlab.readthedocs.io/en/stable/user/extensions.html).  | 

### Linkes Navigationsfeld
<a name="studio-ui-browser"></a>

Der Inhalt des linken Navigationsfensters variiert je nach dem in der linken Seitenleiste ausgewählten Symbol.

Wenn Sie beispielsweise das **Home** Symbol auswählen, wird das Navigationsmenü angezeigt. Wenn Sie **Dateibrowser** wählen, werden alle Dateien und Verzeichnisse aufgelistet, die in Ihrem Workspace verfügbar sind (Notebooks, Experimente, Datenflüsse, Versuche, Testkomponenten, Endgeräte oder Low-Code-Lösungen).

Wenn Sie im Navigationsmenü einen Knoten auswählen, wird die entsprechende Feature-Seite im Hauptarbeitsbereich angezeigt. Wenn Sie beispielsweise **Data Wrangler** im Menü Daten auswählen, wird die Registerkarte **Data** **Data Wrangler** geöffnet, auf der alle vorhandenen Flows aufgelistet sind.

### Hauptarbeitsbereich
<a name="studio-ui-work"></a>

Der Hauptarbeitsbereich besteht aus mehreren Registerkarten, die Ihre offenen Notebooks, Terminals und detaillierte Informationen über Ihre Experimente und Endpunkte enthalten. Im Hauptarbeitsbereich können Sie Dokumente (wie Notebooks und Textdateien) und andere Aktivitäten (wie Terminals und Codekonsolen) in Registerkarten anordnen, deren Größe Sie ändern oder unterteilen können. Ziehen Sie eine Registerkarte in die Mitte eines Registerbereichs, um den Tab in den Bereich zu verschieben. Unterteilen Sie einen Registerbereich, indem Sie einen Tab an den linken, rechten, oberen oder unteren Rand des Bedienfelds ziehen. Die Registerkarte für die aktuelle Aktivität ist mit einem farbigen oberen Rand gekennzeichnet (standardmäßig blau).

**Anmerkung**  
Alle Feature-Seiten bieten produktinterne Kontexthilfe. Um auf die Hilfe zuzugreifen, wählen Sie **Informationen anzeigen**. Die Hilfeschnittstelle bietet eine kurze Einführung in das Tool und Links zu zusätzlichen Ressourcen wie Videos, Tutorials oder Blogs.

# Starten Sie Amazon SageMaker Studio Classic
<a name="studio-launch"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Nachdem Sie sich bei einer Amazon SageMaker AI-Domain angemeldet haben, können Sie eine Amazon SageMaker Studio Classic-Anwendung entweder über die SageMaker AI-Konsole oder über starten. AWS CLI Weitere Informationen zum Onboarding zu einer Domain finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

**Topics**
+ [Starten Sie Amazon SageMaker Studio Classic mit der Amazon SageMaker AI-Konsole](#studio-launch-console)
+ [Starten Sie Amazon SageMaker Studio Classic mit dem AWS CLI](#studio-launch-cli)

## Starten Sie Amazon SageMaker Studio Classic mit der Amazon SageMaker AI-Konsole
<a name="studio-launch-console"></a>

Der Vorgang, um von der Amazon SageMaker AI Console zu Studio Classic zu navigieren, unterscheidet sich je nachdem, ob Studio Classic oder Amazon SageMaker Studio als Standarderlebnis für Ihre Domain festgelegt sind. Weitere Informationen zum Festlegen des Standardkonfiguration für Ihre Domain finden Sie unter [Migration von Amazon SageMaker Studio Classic](studio-updated-migrate.md).

**Topics**
+ [Voraussetzung](#studio-launch-console-prerequisites)

### Voraussetzung
<a name="studio-launch-console-prerequisites"></a>

 Um dieses Verfahren abzuschließen, müssen Sie eine Domain abonnieren, indem Sie die Schritte unter [Onboard to Amazon SageMaker AI domain befolgen](https://docs.aws.amazon.com//sagemaker/latest/dg/gs-studio-onboard.html). 

### Starten von Studio Classic, wenn Studio Ihre Standardkonfiguration ist
<a name="studio-launch-console-updated"></a>

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich **Studio Classic** aus.

1. Wählen Sie auf der Studio-Classic-Landingpage die Studio-Classic-Instance aus, die Sie öffnen möchten.

1. Klicken Sie auf „Öffnen“.

## Starten Sie Amazon SageMaker Studio Classic mit dem AWS CLI
<a name="studio-launch-cli"></a>

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um Amazon SageMaker Studio Classic zu starten, indem Sie eine vorsignierte Domain-URL erstellen.

 **Voraussetzungen** 

 Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+  Integrieren Sie die Amazon SageMaker AI-Domain. Weitere Informationen finden Sie unter [Onboard to Amazon SageMaker AI domain](https://docs.aws.amazon.com//sagemaker/latest/dg/gs-studio-onboard.html). 
+  Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com//cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen. 
+  Führen Sie das Programm von Ihrem lokalen Computer aus `aws configure` und geben Sie Ihre AWS Anmeldeinformationen ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [Ihre AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com//general/latest/gr/aws-sec-cred-types.html). 

Der folgende Codeausschnitt zeigt, wie Amazon SageMaker Studio Classic AWS CLI mithilfe einer vorsignierten Domain-URL gestartet wird. Weitere Informationen finden Sie unter [create-presigned-domain-url](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-presigned-domain-url.html).

```
aws sagemaker create-presigned-domain-url \
--region region \
--domain-id domain-id \
--space-name space-name \
--user-profile-name user-profile-name \
--session-expiration-duration-in-seconds 43200
```

# JupyterLab Versionierung in Amazon SageMaker Studio Classic
<a name="studio-jl"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Die Amazon SageMaker Studio Classic-Oberfläche basiert auf JupyterLab einer webbasierten interaktiven Entwicklungsumgebung für Notebooks, Code und Daten. Studio Classic unterstützt nur die Verwendung von JupyterLab 3.

Wenn Sie Ihre Domain und Ihr Benutzerprofil AWS-Managementkonsole vor dem 31.08.2022 oder vor dem 22.02.23 erstellt haben, wurde Ihre Studio Classic-Instanz standardmäßig auf 1 gesetzt. AWS Command Line Interface JupyterLab Nach dem 01.07.2024 können Sie keine Studio Classic-Anwendungen mehr erstellen, auf denen 1 ausgeführt wird. JupyterLab 

## JupyterLab 3
<a name="jl3"></a>

JupyterLab 3 umfasst die folgenden Funktionen, die in früheren Versionen nicht verfügbar waren. Weitere Informationen zu diesen Funktionen finden Sie unter [JupyterLab 3.0 ist veröffentlicht\$1](https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb) . 
+ Visueller Debugger bei Verwendung der Basis-Kernel Python 2.0 und Data Science 2.0.
+ Dateibrowserfilter 
+ Inhaltsverzeichnis (TOC) 
+ Mehrsprachige Unterstützung 
+ Einfacher Modus 
+ Einzelbenutzermodus 

### Wichtige Änderungen an JupyterLab 3
<a name="jl3-changes"></a>

 Beachten Sie bei der Verwendung von JupyterLab 3 Folgendes: 
+ Wenn Sie die JupyterLab Version mithilfe von einstellen AWS CLI, wählen Sie das entsprechende Bild für Ihre Region und JupyterLab Version aus der Bilderliste unter aus[Aus dem AWS CLI](#studio-jl-set-cli).
+ In JupyterLab 3 müssen Sie die `studio` Conda-Umgebung aktivieren, bevor Sie Erweiterungen installieren. Weitere Informationen finden Sie unter [Installation JupyterLab und Jupyter Server-Erweiterungen](#studio-jl-install).
+ Der Debugger wird nur unterstützt, wenn die folgenden Images verwendet werden: 
  + Python 2.0 als Basis
  + Datenwissenschaft 2.0
  + Python 3.0 als Basis
  + Datenwissenschaft 3.0

## Einschränken der JupyterLab Standardversion mithilfe eines IAM-Richtlinienbedingungsschlüssels
<a name="iam-policy"></a>

Sie können die Bedingungsschlüssel für IAM-Richtlinien verwenden, um die Version einzuschränken JupyterLab , die Ihre Benutzer starten können.

Die folgende Richtlinie zeigt, wie Sie die JupyterLab Version auf Domänenebene einschränken können. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockJupyterLab3DomainLevelAppCreation",
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateDomain",
                "sagemaker:UpdateDomain"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

Die folgende Richtlinie zeigt, wie die JupyterLab Version auf Benutzerprofilebene begrenzt werden kann. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockUsersFromCreatingJupyterLab3Apps",
            "Effect": "Deny",
            "Action": [
                "sagemaker:CreateUserProfile",
                "sagemaker:UpdateUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

Die folgende Richtlinie zeigt, wie die JupyterLab Version auf Anwendungsebene begrenzt werden kann. Die `CreateApp`-Anfrage muss den Image-ARN enthalten, damit diese Richtlinie gilt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BlockJupyterLab3AppLevelAppCreation",
            "Effect": "Deny",
            "Action": "sagemaker:CreateApp",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:ArnLike": {
                    "sagemaker:ImageArns": "arn:aws:sagemaker:us-east-1:111122223333:image/jupyter-server-3"
                }
            }
        }
    ]
}
```

------

## Eine JupyterLab Standardversion festlegen
<a name="studio-jl-set"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie mit der Konsole oder dem eine JupyterLab Standardversion für Studio Classic festlegen AWS CLI.  

### Über die Konsole
<a name="studio-jl-set-console"></a>

 Sie können die JupyterLab Standardversion auswählen, die bei der Ressourcenerstellung entweder auf Domänen- oder Benutzerprofilebene verwendet werden soll. Informationen zum Einstellen der JupyterLab Standardversion mithilfe der Konsole finden Sie unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).  

### Aus dem AWS CLI
<a name="studio-jl-set-cli"></a>

 Mit dem können Sie die JupyterLab Standardversion auswählen, die entweder auf Domänen- oder Benutzerprofilebene verwendet werden soll AWS CLI.  

 Um die JupyterLab Standardversion mit dem festzulegen AWS CLI, müssen Sie den ARN der gewünschten JupyterLab Standardversion als Teil eines AWS CLI Befehls angeben. Dieser ARN unterscheidet sich je nach Version und Region der SageMaker AI-Domain.  

In der folgenden Tabelle sind ARNs die verfügbaren JupyterLab Versionen für jede Region aufgeführt:


|  Region  |  JL3  | 
| --- | --- | 
|  us-east-1  |  arn:aws:sagemaker:us-east-1:081325390199:image/jupyter-server-3  | 
|  us-east-2  |  arn:aws:sagemaker:us-east-2:429704687514:image/jupyter-server-3  | 
|  us-west-1  |  arn:aws:sagemaker:us-west-1:742091327244:image/jupyter-server-3  | 
|  us-west-2  |  arn:aws:sagemaker:us-west-2:236514542706:image/jupyter-server-3  | 
|  af-south-1  |  arn:aws:sagemaker:af-south-1:559312083959:image/jupyter-server-3  | 
|  ap-east-1  |  arn:aws:sagemaker:ap-east-1:493642496378:image/jupyter-server-3  | 
|  ap-south-1  |  arn:aws:sagemaker:ap-south-1:394103062818:image/jupyter-server-3  | 
|  ap-northeast-2  |  arn:aws:sagemaker:ap-northeast-2:806072073708:image/jupyter-server-3  | 
|  ap-southeast-1  |  arn:aws:sagemaker:ap-southeast-1:492261229750:image/jupyter-server-3  | 
|  ap-southeast-2  |  arn:aws:sagemaker:ap-southeast-2:452832661640:image/jupyter-server-3  | 
|  ap-northeast-1  |  arn:aws:sagemaker:ap-northeast-1:102112518831:image/jupyter-server-3  | 
|  ca-central-1  |  arn:aws:sagemaker:ca-central-1:310906938811:image/jupyter-server-3  | 
|  eu-central-1  |  arn:aws:sagemaker:eu-central-1:936697816551:image/jupyter-server-3  | 
|  eu-west-1  |  arn:aws:sagemaker:eu-west-1:470317259841:image/jupyter-server-3  | 
|  eu-west-2  |  arn:aws:sagemaker:eu-west-2:712779665605:image/jupyter-server-3  | 
|  eu-west-3  |  arn:aws:sagemaker:eu-west-3:615547856133:image/jupyter-server-3  | 
|  eu-north-1  |  arn:aws:sagemaker:eu-north-1:243637512696:image/jupyter-server-3  | 
|  eu-south-1  |  arn:aws:sagemaker:eu-south-1:592751261982:image/jupyter-server-3  | 
|  eu-south-2  |  arn:aws:sagemaker:eu-south-2:127363102723:image/jupyter-server-3  | 
|  sa-east-1  |  arn:aws:sagemaker:sa-east-1:782484402741:image/jupyter-server-3  | 
|  cn-north-1  |  arn:aws-cn:sagemaker:cn-north-1:390048526115:image/jupyter-server-3  | 
|  cn-northwest-1  |  arn:aws-cn:sagemaker:cn-northwest-1:390780980154:image/jupyter-server-3  | 

#### Erstellen oder Aktualisieren der Domain
<a name="studio-jl-set-cli-domain"></a>

 Sie können eine JupyterServer Standardversion auf Domänenebene festlegen, indem Sie [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)oder aufrufen [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)und das `UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn` Feld übergeben. 

 Im Folgenden wird gezeigt, wie Sie eine Domäne mit JupyterLab 3 als Standard erstellen, indem Sie Folgendes AWS CLI verwenden: 

```
aws --region <REGION> \
sagemaker create-domain \
--domain-name <NEW_DOMAIN_NAME> \
--auth-mode <AUTHENTICATION_MODE> \
--subnet-ids <SUBNET-IDS> \
--vpc-id <VPC-ID> \
--default-user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

 Im Folgenden wird gezeigt, wie Sie eine Domain so aktualisieren, dass sie JupyterLab 3 als Standard verwendet, und zwar mithilfe von AWS CLI: 

```
aws --region <REGION> \
sagemaker update-domain \
--domain-id <YOUR_DOMAIN_ID> \
--default-user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

#### Benutzerprofil erstellen oder aktualisieren
<a name="studio-jl-set-cli-user"></a>

 Sie können eine JupyterServer Standardversion auf Benutzerprofilebene festlegen, indem Sie [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)oder aufrufen [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html)und das `UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn` Feld übergeben. 

 Im Folgenden wird gezeigt, wie Sie ein Benutzerprofil mit JupyterLab 3 als Standard in einer vorhandenen Domäne erstellen, indem Sie Folgendes AWS CLI verwenden: 

```
aws --region <REGION> \
sagemaker create-user-profile \
--domain-id <YOUR_DOMAIN_ID> \
--user-profile-name <NEW_USERPROFILE_NAME> \
--query UserProfileArn --output text \
--user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

 Im Folgenden wird gezeigt, wie Sie ein Benutzerprofil so aktualisieren, dass es JupyterLab 3 als Standard verwendet. Dabei wird Folgendes verwendet AWS CLI: 

```
aws --region <REGION> \
sagemaker update-user-profile \
 --domain-id <YOUR_DOMAIN_ID> \
 --user-profile-name <EXISTING_USERPROFILE_NAME> \
--user-settings '{
  "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
      "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",
      "InstanceType": "system"
    }
  }
}'
```

## Die JupyterLab Version einer Anwendung von der Konsole aus anzeigen und aktualisieren
<a name="studio-jl-view"></a>

 Im Folgenden wird gezeigt, wie Sie die JupyterLab Version einer Anwendung anzeigen und aktualisieren können. 

1.  Navigieren Sie zur Seite mit den SageMaker **AI-Domänen**. 

1.  Wählen Sie eine Domain aus, um ihre Benutzerprofile anzuzeigen. 

1.  Wählen Sie einen Benutzer aus, um seine Anwendungen anzusehen. 

1.  Um die JupyterLab Version einer Anwendung anzuzeigen, wählen Sie den Namen der Anwendung aus. 

1.  Um die JupyterLab Version zu aktualisieren, wählen Sie **Aktion** aus. 

1.  Wählen Sie im Dropdownmenü die Option ** JupyterLab Version ändern** aus. 

1.  Wählen Sie auf der **Einstellungsseite von Studio Classic** die JupyterLab Version aus dem Dropdownmenü aus. 

1.  Nachdem die JupyterLab Version für das Benutzerprofil erfolgreich aktualisiert wurde, starten Sie die JupyterServer Anwendung neu, damit die Versionsänderungen wirksam werden. Weitere Hinweise zum Neustarten einer JupyterServer Anwendung finden Sie unter[Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md).

## Installation JupyterLab und Jupyter Server-Erweiterungen
<a name="studio-jl-install"></a>

In JupyterLab 3 müssen Sie die `studio` Conda-Umgebung aktivieren, bevor Sie Erweiterungen installieren. Die Methode hierfür unterscheidet sich, wenn Sie die Erweiterungen von Studio Classic aus installieren oder ein Lebenszyklus-Konfigurationsskript verwenden.

### Installieren der Erweiterung von Studio Classic aus
<a name="studio-jl-install-studio"></a>

Um Erweiterungen von Studio Classic aus zu installieren, müssen Sie die `studio`-Umgebung aktivieren, bevor Sie Erweiterungen installieren. 

```
# Before installing extensions
conda activate studio

# Install your extensions
pip install <JUPYTER_EXTENSION>

# After installing extensions
conda deactivate
```

### Installieren von Erweiterungen mithilfe eines Lebenszyklus-Konfigurationsskripts
<a name="studio-jl-install-lcc"></a>

Wenn Sie Jupyter Server-Erweiterungen in Ihrem Lifecycle-Konfigurationsskript installieren JupyterLab , müssen Sie Ihr Skript so ändern, dass es mit 3 funktioniert. JupyterLab Die folgenden Abschnitte zeigen den Code, der für bestehende und neue Skripte zur Lebenszykluskonfiguration benötigt wird.

#### Bestehendes Lebenszyklus-Konfigurationsskript
<a name="studio-jl-install-lcc-existing"></a>

Wenn Sie ein vorhandenes Lebenszyklus-Konfigurationsskript wiederverwenden, das mit beiden Versionen von funktionieren muss JupyterLab, verwenden Sie den folgenden Code in Ihrem Skript:

```
# Before installing extension
export AWS_SAGEMAKER_JUPYTERSERVER_IMAGE="${AWS_SAGEMAKER_JUPYTERSERVER_IMAGE:-'jupyter-server'}"
if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ] ; then
   eval "$(conda shell.bash hook)"
   conda activate studio
fi;

# Install your extensions
pip install <JUPYTER_EXTENSION>


# After installing extension
if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ]; then
   conda deactivate
fi;
```

#### Neues Skript für die Lebenszykluskonfiguration
<a name="studio-jl-install-lcc-new"></a>

Wenn Sie ein neues Lebenszykluskonfigurationsskript schreiben, das nur JupyterLab 3 verwendet, können Sie den folgenden Code in Ihrem Skript verwenden:

```
# Before installing extension
eval "$(conda shell.bash hook)"
conda activate studio


# Install your extensions
pip install <JUPYTER_EXTENSION>


conda deactivate
```

# Verwenden Sie den Amazon SageMaker Studio Classic Launcher
<a name="studio-launcher"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können den Amazon SageMaker Studio Classic Launcher verwenden, um Notizbücher und Textdateien zu erstellen und Terminals und interaktive Python-Shells zu starten.

Sie können den Studio Classic Launcher auf folgende Weise öffnen:
+ Wählen Sie oben links auf der ** SageMaker Studio Classic-Benutzeroberfläche Amazon** Studio Classic aus.
+ Verwenden Sie die Tastenkombination `Ctrl + Shift + L`.
+ Wählen Sie im Studio-Classic-Menü **Datei** und dann **Neuer Launcher** aus.
+ Wenn der SageMaker AI-Dateibrowser geöffnet ist, wählen Sie das Pluszeichen (**\$1**) im Dateibrowser-Menü von Studio Classic.
+ Wählen Sie auf der Registerkarte **Start** im Bereich **Schnellaktionen** die Option **Launcher öffnen**. Der Launcher wird in einer neuen Registerkarte geöffnet. Der Bereich **Schnellaktionen** ist standardmäßig sichtbar, kann aber ausgeschaltet werden. Wählen Sie **Layout anpassen**, um diesen Bereich wieder zu aktivieren.

![\[SageMaker Studio Classic-Launcher.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-new-launcher.png)


Der Launcher besteht aus den folgenden zwei Abschnitten:

**Topics**
+ [Notebooks und Rechenressourcen](#studio-launcher-launch)
+ [Dienstprogramme und Dateien](#studio-launcher-other)

## Notebooks und Rechenressourcen
<a name="studio-launcher-launch"></a>

In diesem Abschnitt können Sie ein Notebook erstellen, ein Image-Terminal öffnen oder eine Python-Konsole öffnen.

Um eines dieser Elemente zu erstellen oder zu starten:

1. Wählen Sie **Umgebung ändern**, um ein SageMaker Image, einen Kernel und einen Instance-Typ auszuwählen und optional ein Lifecycle-Konfigurationsskript hinzuzufügen, das beim Start des Images ausgeführt wird. Weitere Informationen zu Skripten zur Lebenszykluskonfiguration finden Sie unter [Verwenden Sie Lebenszykluskonfigurationen, um Amazon SageMaker Studio Classic anzupassen](studio-lcc.md). Weitere Informationen zu Betriebssystem-Aktualisierungen finden Sie unter [Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-change-image.md).

1. Wählen Sie einen Artikel aus.

**Anmerkung**  
Wenn Sie einen Artikel aus diesem Abschnitt auswählen, fallen möglicherweise zusätzliche Nutzungsgebühren an. Weitere Informationen finden Sie unter [Nutzungsmessung für Amazon SageMaker Studio Classic-Notebooks](notebooks-usage-metering.md).

Die folgenden Artikel sind verfügbar:
+ **Notebook**

  Startet das Notebook in einer Kernel-Sitzung auf dem ausgewählten SageMaker Image.

  Erstellt das Notebook in dem Ordner, den Sie aktuell im Dateibrowser ausgewählt haben. Um den Dateibrowser anzuzeigen, wählen Sie in der linken Seitenleiste von Studio Classic das Symbol **Dateibrowser** aus.
+ **Konsole**

  Startet die Shell in einer Kernel-Sitzung auf dem ausgewählten SageMaker Image.

  Öffnet die Shell in dem Ordner, den Sie aktuell im Dateibrowser ausgewählt haben.
+ **Image terminal**

  Startet das Terminal in einer Terminalsitzung auf dem ausgewählten SageMaker Image.

  Öffnet das Terminal im Stammordner für den Benutzer (wie im **Home** Ordner im Dateibrowser angezeigt).

**Anmerkung**  
Standardmäßig werden CPU-Instances auf einer `ml.t3.medium` Instance gestartet, während GPU-Instances auf einer `ml.g4dn.xlarge` Instance gestartet werden.

## Dienstprogramme und Dateien
<a name="studio-launcher-other"></a>

In diesem Abschnitt können Sie einem Notebook kontextuelle Hilfe hinzufügen, Python-, Markdown- und Textdateien erstellen und ein Systemterminal öffnen.

**Anmerkung**  
Artikel in diesem Abschnitt werden im Kontext von Amazon SageMaker Studio Classic ausgeführt und es fallen keine Nutzungsgebühren an.

Die folgenden Artikel sind verfügbar:
+ **Kontextuelle Hilfe anzeigen**

  Öffnet eine neue Registerkarte, die kontextuelle Hilfe zu Funktionen in einem Studio-Classic-Notebook anzeigt. Um die Hilfe anzuzeigen, wählen Sie eine Funktion in einem aktiven Notebook aus. Damit die Hilfe im Kontext leichter zu sehen ist, ziehen Sie die Registerkarte Hilfe so, dass sie sich neben der Registerkarte Notebook befindet. Um die Registerkarte Hilfe in einem Notebook zu öffnen, drücken Sie auf `Ctrl + I`.

  Das folgende Bildschirmfoto zeigt die kontextuelle Hilfe für die `Experiment.create` Methode.  
![\[SageMaker Kontextuelle Hilfe zu Studio Classic.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-context-help.png)
+ **Systemterminal**

  Öffnet eine `bash` Shell im Stammordner für den Benutzer (wie im **Home** Ordner im Dateibrowser angezeigt).
+ **Textdatei** und **Markdown-Datei**

  Erstellt eine Datei des zugehörigen Typs in dem Ordner, den Sie aktuell im Dateibrowser ausgewählt haben. Wählen Sie in der linken Seitenleiste das Symbol **File Browser** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)), um den Dateibrowser anzuzeigen.

# Verwenden Sie Amazon SageMaker Studio Classic-Notizbücher
<a name="notebooks"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic-Notebooks sind kollaborative Notizbücher, die Sie schnell starten können, da Sie zuvor keine Recheninstanzen und Dateispeicher einrichten müssen. Studio-Classic-Notebooks bieten persistenten Speicherplatz, sodass Sie Notebooks auch dann anzeigen und freigeben können, wenn die Instances, auf denen die Notebooks ausgeführt werden, heruntergefahren sind.

Sie können Ihre Notebooks für andere Personen freigeben, sodass sie Ihre Ergebnisse leicht reproduzieren und mit Ihnen zusammenarbeiten können, während sie Modelle erstellen und Ihre Daten untersuchen. Sie gewähren Zugriff auf eine schreibgeschützte Kopie des Notebooks über eine sichere URL. Abhängigkeiten für Ihr Notebook sind in den Metadaten des Notebooks enthalten. Wenn Ihre Kollegen das Notebook kopieren, wird es in derselben Umgebung wie das ursprüngliche Notebook geöffnet.

Ein Studio-Classic-Notebook läuft in einer Umgebung, die durch folgende Merkmale definiert ist:
+ Amazon-EC2-Instance-Typ – Die Hardwarekonfiguration, auf der das Notebook ausgeführt wird. Die Konfiguration umfasst die Anzahl und den Typ der Prozessoren (vCPU und GPU) sowie die Menge und den Typ des Arbeitsspeichers. Der Instance-Typ bestimmt den Preissatz.
+ SageMaker image — Ein Container-Image, das mit SageMaker Studio Classic kompatibel ist. Das Image besteht aus den Kernel, Sprachpaketen und anderen Dateien, die zum Ausführen eines Notebooks in Studio Classic erforderlich sind. Eine Instance kann mehrere Images enthalten. Weitere Informationen finden Sie unter [Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic](studio-byoi.md).
+ KernelGateway App — Ein SageMaker Image wird als KernelGateway App ausgeführt. Die App bietet Zugriff auf die Kernel im Image. Es besteht eine one-to-one Entsprechung zwischen einem SageMaker KI-Bild und einer KernelGateway App.
+ Kernel – Der Prozess, der den im Notebook enthaltenen Code ausführt. Ein Kernel wird durch eine *Kernel-Spezifikation* im Image definiert. Ein Image kann mehrere Kernel enthalten.

Sie können jede dieser Ressourcen innerhalb des Notebooks ändern.

Das folgende Diagramm zeigt, wie ein Notebook-Kernel in Bezug auf die KernelGateway App, den Benutzer und die Domäne ausgeführt wird.

![\[Wie ein Notebook-Kernel im Verhältnis zur KernelGateway App, zum Benutzer und zur Domäne ausgeführt wird.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-components.png)


[Beispiele für SageMaker Studio Classic-Notizbücher sind im Ordner [aws\$1sagemaker\$1studio](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_sagemaker_studio) des Amazon-Beispiel-Repositorys verfügbar. SageMaker GitHub ](https://github.com/awslabs/amazon-sagemaker-examples) Jedes Notizbuch wird mit dem erforderlichen SageMaker Image geliefert, das das Notizbuch mit dem entsprechenden Kernel öffnet.

Wir empfehlen Ihnen, sich mit der SageMaker Studio Classic-Oberfläche und der Studio Classic-Notizbuch-Symbolleiste vertraut zu machen, bevor Sie ein Studio Classic-Notizbuch erstellen oder verwenden. Weitere Informationen erhalten Sie unter [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md) und [Verwenden der Symbolleiste von Studio Classic Notebook](notebooks-menu.md).

**Topics**
+ [Wie unterscheiden sich Amazon SageMaker Studio Classic-Notebooks von Notebook-Instances?](notebooks-comparison.md)
+ [Erste Schritte mit Amazon SageMaker Studio Classic-Notizbüchern](notebooks-get-started.md)
+ [Klassische Tour durch Amazon SageMaker Studio](gs-studio-end-to-end.md)
+ [Erstellen oder öffnen Sie ein Amazon SageMaker Studio Classic-Notizbuch](notebooks-create-open.md)
+ [Verwenden der Symbolleiste von Studio Classic Notebook](notebooks-menu.md)
+ [Installieren Sie externe Bibliotheken und Kernel in Amazon SageMaker Studio Classic](studio-notebooks-add-external.md)
+ [Teilen und verwenden Sie ein Amazon SageMaker Studio Classic-Notizbuch](notebooks-sharing.md)
+ [Holen Sie sich Amazon SageMaker Studio Classic-Notizbuch- und App-Metadaten](notebooks-run-and-manage-metadata.md)
+ [Holen Sie sich die Notebook-Unterschiede in Amazon SageMaker Studio Classic](notebooks-diff.md)
+ [Ressourcen für Amazon SageMaker Studio Classic-Notebooks verwalten](notebooks-run-and-manage.md)
+ [Nutzungsmessung für Amazon SageMaker Studio Classic-Notebooks](notebooks-usage-metering.md)
+ [Verfügbare Ressourcen für Amazon SageMaker Studio Classic-Notebooks](notebooks-resources.md)

# Wie unterscheiden sich Amazon SageMaker Studio Classic-Notebooks von Notebook-Instances?
<a name="notebooks-comparison"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Wenn Sie ein neues Notizbuch starten, empfehlen wir, das Notizbuch in Amazon SageMaker Studio Classic zu erstellen, anstatt eine Notebook-Instance von der Amazon SageMaker AI-Konsole aus zu starten. Die Verwendung eines Studio-Classic-Notebooks bietet viele Vorteile, darunter die folgenden:
+ **Schneller: **Ein Studio-Classic-Notebook wird schneller als ein Instance-basiertes Notebook gestartet. In der Regel ist es 5-10 mal schneller als Instance-basierte Notebooks.
+ **Einfache gemeinsame Nutzung von Notebooks: **Die gemeinsame Nutzung von Notebooks ist ein integriertes Feature in Studio Classic. Benutzer können mit nur wenigen Klicks einen gemeinsam nutzbaren Link generieren, der den Notebookcode und auch das für die Ausführung erforderliche SageMaker Bild reproduziert.
+ **Neuestes Python-SDK:** Studio Classic-Notebooks sind mit dem neuesten [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) vorinstalliert.
+ **Zugriff auf alle Studio-Classic-Features: **Auf Studio-Classic-Notebooks kann von Studio Classic aus zugegriffen werden. Auf diese Weise können Sie Ihre Modelle erstellen, trainieren, debuggen, verfolgen und überwachen, ohne Studio Classic zu verlassen.
+ **Dauerhafte Benutzerverzeichnisse:** Jedes Mitglied eines Studio-Teams erhält ein eigenes Stammverzeichnis zum Speichern seiner Notebooks und anderen Dateien. Das Verzeichnis wird beim Start automatisch auf allen Instances und Kerneln gemountet, sodass seine Notebooks und andere Dateien immer verfügbar sind. Die Home-Verzeichnisse werden im Amazon Elastic File System (Amazon EFS) gespeichert, so dass Sie von anderen Diensten aus darauf zugreifen können.
+ **Direkter Zugriff:** Wenn Sie IAM Identity Center verwenden, verwenden Sie die Anmeldeinformationen von IAM Identity Center über eine eindeutige URL, um direkt auf Studio Classic zuzugreifen. Sie müssen nicht mit dem interagieren, AWS-Managementkonsole um Ihre Notebooks auszuführen.
+ **Optimierte Bilder:** Studio Classic-Notizbücher sind mit einer Reihe vordefinierter SageMaker Bildeinstellungen ausgestattet, damit Sie schneller loslegen können.

**Anmerkung**  
Studio-Classic-Notebooks unterstützen den *lokalen Modus* nicht. Sie können jedoch eine Notebook-Instance verwenden, um eine Stichprobe Ihres Datensatzes lokal zu trainieren, und anschließend denselben Code in einem Studio-Classic-Notebook verwenden, um den gesamten Datensatz zu trainieren.

Wenn Sie ein Notizbuch in SageMaker Studio Classic öffnen, ist die Ansicht eine Erweiterung der JupyterLab Benutzeroberfläche. Die Hauptfunktionen sind dieselben, Sie finden also die typischen Funktionen eines Jupyter-Notebooks und. JupyterLab Weitere Informationen über die Studio-Classic-Benutzeroberfläche finden Sie unter [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md).

# Erste Schritte mit Amazon SageMaker Studio Classic-Notizbüchern
<a name="notebooks-get-started"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Um loszulegen, müssen Sie oder der Administrator Ihrer Organisation den Onboarding-Prozess für die SageMaker KI-Domäne abschließen. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

Sie können auf ein Studio-Classic-Notebook auf eine der folgenden Arten zugreifen:
+ Sie erhalten eine E-Mail-Einladung zum Zugriff auf Studio Classic über das IAM Identity Center Ihrer Organisation, die einen direkten Link zur Anmeldung bei Studio Classic enthält, ohne die Amazon SageMaker AI-Konsole verwenden zu müssen. Sie können mit dem [Nächste Schritte](#notebooks-get-started-next-steps) fortfahren.
+ Sie erhalten einen Link zu einem geteilten Studio Classic-Notizbuch, das einen direkten Link enthält, über den Sie sich bei Studio Classic anmelden können, ohne die SageMaker AI-Konsole verwenden zu müssen. Sie können mit dem [Nächste Schritte](#notebooks-get-started-next-steps) fortfahren. 
+ Sie melden sich bei einer Domain an und melden sich dann bei der SageMaker AI-Konsole an. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Starten Sie Amazon SageMaker AI
<a name="notebooks-get-started-log-in"></a>

Führen Sie die Schritte unter aus [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md), um Studio Classic zu starten.

## Nächste Schritte
<a name="notebooks-get-started-next-steps"></a>

Jetzt, da Sie sich in Studio Classic befinden, können Sie eine beliebige der folgenden Optionen ausprobieren:
+ Informationen zum Erstellen eines Studio Classic-Notizbuchs oder zum Erkunden von Studio Classic-Notizbüchern mit end-to-end Tutorials finden Sie [Klassische Tour durch Amazon SageMaker Studio](gs-studio-end-to-end.md) im nächsten Abschnitt.
+ Um sich mit der Benutzeroberfläche von Studio Classic vertraut zu machen, sehen Sie sich [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md) an oder probieren Sie **Erste Schritte mit Notebooks** aus, indem Sie im Abschnitt **Schnellaktionen** auf der Startseite von Studio Classic die Option **Erste Schritte mit Notebooks öffnen** auswählen.

# Klassische Tour durch Amazon SageMaker Studio
<a name="gs-studio-end-to-end"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

[Eine Komplettlösung, die Sie auf eine Tour durch die wichtigsten Funktionen von Amazon SageMaker Studio Classic mitnimmt, finden Sie im Beispielnotizbuch [xgboost\$1customer\$1churn\$1studio.ipynb](https://sagemaker-examples.readthedocs.io/en/latest/aws_sagemaker_studio/getting_started/xgboost_customer_churn_studio.html) aus dem aws/-Repository. amazon-sagemaker-examples](https://github.com/aws/amazon-sagemaker-examples) GitHub Der Code im Notizbuch trainiert mehrere Modelle und richtet den Debugger und den Modellmonitor ein. SageMaker SageMaker Die Anleitung zeigt Ihnen, wie Sie die Tests anzeigen, die resultierenden Modelle vergleichen, die Debugger-Ergebnisse anzeigen und das beste Modell mithilfe der Studio-Classic-Benutzeroberfläche bereitstellen können. Sie müssen den Code nicht verstehen, um diesen Walkthrough durchzuführen.

**Voraussetzungen**

Um das Notebook für diese Tour auszuführen, benötigen Sie:
+ Ein IAM-Konto, um sich bei Studio anzumelden. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).
+ Grundlegende Vertrautheit mit der Studio-Benutzeroberfläche und Jupyter Notebooks. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md).
+ Eine Kopie des [amazon-sagemaker-examplesaws/-Repositorys](https://github.com/aws/amazon-sagemaker-examples) in Ihrer Studio-Umgebung.

**So klonen Sie das Repository**

1. Starten Sie Studio Classic gemäß den Schritten unter [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md). Für Benutzer von IAM Identity Center melden Sie sich über die URL aus Ihrer Einladungs-E-Mail an.

1. Wählen Sie im oberen Menü **Datei**, **Neu** und **Terminal** aus.

1. Führen Sie in der Befehlszeile den folgenden Befehl aus, um das [amazon-sagemaker-examples GitHub aws/-Repository](https://github.com/aws/amazon-sagemaker-examples) zu klonen.

   ```
   $ git clone https://github.com/aws/amazon-sagemaker-examples.git
   ```

**Um zum Beispiel-Notebook zu navigieren**

1. Wählen Sie im **Dateibrowser** im linken Menü die Option. **amazon-sagemaker-examples**

1. Navigieren Sie zum Beispiel-Notebook mit dem folgenden Pfad.

   `~/amazon-sagemaker-examples/aws_sagemaker_studio/getting_started/xgboost_customer_churn_studio.ipynb`

1. Beachten Sie das Notebook, um sich über die Haupt-Features von Studio Classic zu informieren.

**Anmerkung**  
Wenn beim Ausführen des Beispiel-Notebooks ein Fehler auftritt und seit dem Klonen des Repositorys einige Zeit vergangen ist, überprüfen Sie das Notebook im Remote-Repository auf Aktualisierungen.

# Erstellen oder öffnen Sie ein Amazon SageMaker Studio Classic-Notizbuch
<a name="notebooks-create-open"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Wenn Sie [Erstellen eines Notebooks über das Dateimenü](#notebooks-create-file-menu) Amazon SageMaker Studio Classic oder [Öffnen eines Notebooks in Studio Classic](#notebooks-open) zum ersten Mal verwenden, werden Sie aufgefordert, Ihre Umgebung einzurichten, indem Sie ein SageMaker Image, einen Kernel, einen Instance-Typ und optional ein Lifecycle-Konfigurationsskript auswählen, das beim Start des Images ausgeführt wird. SageMaker AI startet das Notebook auf einer Instance des ausgewählten Typs. Standardmäßig ist der Instance-Typ für CPU-basierte Images auf `ml.t3.medium` (verfügbar als Teil des [AWS Free Tier](https://aws.amazon.com/free)) eingestellt. Für GPU-basierte Images ist der Standard-Instance-Typ `ml.g4dn.xlarge`.

Wenn Sie zusätzliche Notebooks erstellen oder öffnen, die denselben Instance-Typ verwenden, unabhängig davon, ob die Notebooks denselben Kernel verwenden oder nicht, werden die Notebooks auf derselben Instance dieses Instance-Typs ausgeführt.

Nachdem Sie ein Notebook gestartet haben, können Sie dessen Instance-Typ, SageMaker Image und Kernel vom Notebook aus ändern. Weitere Informationen erhalten Sie unter [Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-switch-instance-type.md) und [Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-change-image.md).

**Anmerkung**  
Sie können nur eine Instance von jedem Instance-Typ haben. Auf jeder Instance können mehrere SageMaker Images ausgeführt werden. Auf jedem SageMaker Image können mehrere Kernel oder Terminalinstanzen ausgeführt werden. 

Die Abrechnung erfolgt pro Instance und beginnt, wenn die erste Instance eines bestimmten Instance-Typs gestartet wird. Wenn Sie ein Notebook erstellen oder öffnen möchten, ohne dass Kosten entstehen, öffnen Sie das Notebook über das Menü **Datei** und wählen Sie **Kein Kernel** im Dialogfeld **Kernel auswählen** aus. Sie können ein Notebook ohne Kernel lesen und bearbeiten, ohne einen Kernel auszuführen, können dann jedoch keine Codezellen ausführen.

Die Abrechnung endet, wenn das SageMaker Image für die Instanz heruntergefahren wird. Weitere Informationen finden Sie unter [Nutzungsmessung für Amazon SageMaker Studio Classic-Notebooks](notebooks-usage-metering.md).

Informationen zum Herunterfahren des Notebooks finden Sie unter [Herunterfahren von Ressourcen](notebooks-run-and-manage-shut-down.md#notebooks-run-and-manage-shut-down-sessions).

**Topics**
+ [Öffnen eines Notebooks in Studio Classic](#notebooks-open)
+ [Erstellen eines Notebooks über das Dateimenü](#notebooks-create-file-menu)
+ [Erstellen eines Notebooks über den Launcher](#notebooks-create-launcher)
+ [Liste der verfügbaren Instance-Typen, Images und Kernel](#notebooks-instance-image-kernels)

## Öffnen eines Notebooks in Studio Classic
<a name="notebooks-open"></a>

Amazon SageMaker Studio Classic kann nur Notizbücher öffnen, die im Studio Classic-Dateibrowser aufgeführt sind. Eine Anleitung zum Hochladen eines Notebooks in den Dateibrowser finden Sie unter [Dateien auf Amazon SageMaker Studio Classic hochladen](studio-tasks-files.md) oder [Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic](studio-tasks-git.md).

**Ein Notebook öffnen**

1. Wählen Sie in der linken Seitenleiste das Symbol **File Browser (Dateibrowser)** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)), um den Dateibrowser anzuzeigen.

1. Wechseln Sie zu einer Notebookdatei und doppelklicken Sie darauf, um das Notebook in einer neuen Registerkarte zu öffnen.

## Erstellen eines Notebooks über das Dateimenü
<a name="notebooks-create-file-menu"></a>

**So erstellen Sie ein Notebook über das Dateimenü**

1. Wählen Sie im Menü von Studio Classic die Option **Datei**, **Neu** und dann **Notebook** aus.

1. Verwenden Sie im Dialogfeld **Umgebung ändern** die Dropdown-Menüs, um Ihr **Image**, den **Kernel**, den **Instance-Typ** und das **Startup-Skript** auszuwählen, und wählen Sie dann **Auswählen** aus. Ihr Notebook wird gestartet und auf einer neuen Studio-Classic-Registerkarte geöffnet.  
![\[Einrichtung der Notebook-Umgebung von Studio Classic.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-environment-setup.png)

## Erstellen eines Notebooks über den Launcher
<a name="notebooks-create-launcher"></a>

**So erstellen Sie ein Notebook über den Launcher**

1. Um den Launcher zu öffnen, wählen Sie **Amazon SageMaker Studio Classic** oben links auf der Studio Classic-Oberfläche oder verwenden Sie die Tastenkombination`Ctrl + Shift + L`.

   Weitere Informationen zu allen verfügbaren Möglichkeiten, den Launcher zu öffnen, finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md)

1. Wählen Sie im Launcher im Bereich **Notebooks und Rechenressourcen** die Option **Umgebung ändern** aus.  
![\[SageMaker Studio Classic stellt die Notebook-Umgebung ein.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-launcher-notebook-creation.png)

1. Verwenden Sie im Dialogfeld **Umgebung ändern** die Dropdown-Menüs, um Ihr **Image**, den **Kernel**, den **Instance-Typ** und das **Startup-Skript** auszuwählen, und wählen Sie dann **Auswählen** aus.

1. Wählen Sie im Launcher **Notebook erstellen**. Ihr Notebook wird gestartet und auf einer neuen Studio-Classic-Registerkarte geöffnet.

Um die Kernelsitzung des Notebooks anzuzeigen, wählen Sie in der linken Seitenleiste das Symbol **Ausführen von Terminals und Kernel** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/running-terminals-kernels.png)) aus. Sie können die Kernel-Sitzung des Notebooks von dieser Ansicht aus stoppen.

## Liste der verfügbaren Instance-Typen, Images und Kernel
<a name="notebooks-instance-image-kernels"></a>

Eine Liste aller verfügbaren Ressourcen finden Sie unter:
+ [Instance-Typen, die für die Verwendung mit Amazon SageMaker Studio Classic-Notebooks verfügbar sind](notebooks-available-instance-types.md)
+ [SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md)

# Verwenden der Symbolleiste von Studio Classic Notebook
<a name="notebooks-menu"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic-Notebooks erweitern die JupyterLab Benutzeroberfläche. Einen Überblick über die ursprüngliche JupyterLab Benutzeroberfläche finden Sie unter [Die JupyterLab Benutzeroberfläche](https://jupyterlab.readthedocs.io/en/latest/user/interface.html).

Das folgende Bild zeigt die Symbolleiste und eine leere Zelle aus einem Studio-Classic-Notebook.

![\[SageMaker Studio Classic-Notebook-Menü.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-menu.png)


Wenn Sie auf einem Symbol in der Werkzeugleiste pausieren, zeigt ein Tooltip die Funktion des Symbols an. Weitere Befehle für das Notebook finden Sie im Hauptmenü von Studio Classic. Die Symbolleiste enthält die folgenden Symbole:


| Symbol | Description | 
| --- | --- | 
|  ![\[Das Symbol Speichern und Checkpoint.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-save-and-checkpoint.png)  |  **Speichern und Checkpoint** Speichert das Notebook und aktualisiert die Checkpoint-Datei. Weitere Informationen finden Sie unter [Abrufen der Differenz zum letzten Checkpoint](notebooks-diff.md#notebooks-diff-checkpoint).  | 
|  ![\[Das Symbol Zelle einfügen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-insert-cell.png)  |  **Zelle einfügen** Fügt unterhalb der aktuellen Zelle eine Codezelle ein. Die aktuelle Zelle wird durch die blaue vertikale Markierung am linken Rand gekennzeichnet.  | 
|  ![\[Die Symbole Ausschneiden, Kopieren und Einfügen von Zellen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-cut-copy-paste.png)  |  **Zellen ausschneiden, kopieren und einfügen** Schneidet die ausgewählten Zellen aus, kopiert sie und fügt sie ein.  | 
|  ![\[Das Symbol Zellen ausführen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-run.png)  |  **Zellen ausführen** Führt die ausgewählten Zellen aus und macht dann die Zelle, die der zuletzt ausgewählten Zelle folgt, zur neuen ausgewählten Zelle.  | 
|  ![\[Das Symbol Kernel unterbrechen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-interrupt-kernel.png)  |  **Kernel unterbrechen** Unterbricht den Kernel. Hierdurch wird die aktuell ausgeführte Operation abgebrochen. Der Kernel bleibt aktiv.  | 
|  ![\[Das Symbol Kernel neu starten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-restart-kernel.png)  |  **Kernel neu starten** Startet den Kernel neu. Variablen werden zurückgesetzt. Nicht gespeicherte Informationen sind davon nicht betroffen.  | 
|  ![\[Das Symbol Kernel neu starten und alle Zellen ausführen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-restart-kernel-run-all-cells.png)  |  **Starten Sie den Kernel neu und führen Sie alle Zellen aus** Startet den Kernel neu und führt dann alle Zellen des Notebooks aus.  | 
|  ![\[Das Symbol Zellentyp.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-cell-type.png)  |  **Zelltyp** Zeigt den aktuellen Zelltyp an oder ändert ihn. Die Zelltypen sind: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-menu.html)  | 
|  ![\[Das Symbol Terminal starten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-launch-terminal.png)  |  **Terminal starten** Startet ein Terminal in dem SageMaker Image, das das Notizbuch hostet. Ein Beispiel finden Sie unter [Abrufen von App-Metadaten](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app).  | 
|  ![\[Das Symbol Checkpoint-Diff.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-checkpoint-diff.png)  |  **Checkpoint-Differenz** Öffnet eine neue Registerkarte, auf der die Differenz zwischen dem Notebook und der Checkpoint-Datei angezeigt wird. Weitere Informationen finden Sie unter [Abrufen der Differenz zum letzten Checkpoint](notebooks-diff.md#notebooks-diff-checkpoint).  | 
|  ![\[Das Symbol Git-Diff.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-git-diff.png)  |  **Git-Differenz** Ist nur aktiviert, wenn das Notebook aus einem Git-Repository geöffnet wird. Öffnet eine neue Registerkarte, auf der die Differenz zwischen dem Notebook und dem letzten Git-Commit angezeigt wird. Weitere Informationen finden Sie unter [Abrufen der Differenz zum letzten Commit](notebooks-diff.md#notebooks-diff-git).  | 
|  **2 vCPU \$1 4 GiB**  |  **Instance-Typ** Zeigt den Instance-Typ an, in dem das Notebook ausgeführt wird, oder ändert ihn. Das Format ist wie folgt: `number of vCPUs + amount of memory + number of GPUs` `Unknown` zeigt an, dass das Notebook geöffnet wurde, ohne einen Kernel anzugeben. Das Notebook wird auf der SageMaker Studio-Instanz ausgeführt und es fallen keine Laufzeitgebühren an. Sie können das Notebook keinem Instance-Typ zuweisen. Sie müssen einen Kernel angeben. Anschließend weist Studio das Notebook einem Standardtyp zu. Weitere Informationen erhalten Sie unter [Erstellen oder öffnen Sie ein Amazon SageMaker Studio Classic-Notizbuch](notebooks-create-open.md) und [Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-switch-instance-type.md).  | 
|  ![\[Das Symbol Cluster.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-cluster.png)  |  **Cluster** Connect Ihr Notebook mit einem Amazon EMR-Cluster und skalieren Sie Ihre ETL-Jobs oder führen Sie umfangreiche Modelltrainings mit Apache Spark, Hive oder Presto durch. Weitere Informationen finden Sie unter [Datenaufbereitung mit Amazon EMR](studio-notebooks-emr-cluster.md).  | 
|  **Python 3 (Data Science)**  |  **Kernel und Image SageMaker ** Zeigt den Kernel an, der die Zellen im Notebook verarbeitet, oder ändert ihn. Das Format ist wie folgt: `Kernel (SageMaker Image)` `No Kernel` zeigt an, dass das Notebook geöffnet wurde, ohne einen Kernel anzugeben. Sie können das Notebook bearbeiten, jedoch keine Zellen ausführen. Weitere Informationen finden Sie unter [Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-change-image.md).  | 
|  ![\[Das Symbol Kernel ausgelastet.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-kernel-status.png)  |  **Kernel ausgelastet** Zeigt den Status „Ausgelastet“ des Kernels an. Wenn der Rand des Kreises und sein Inneres die gleiche Farbe haben, ist der Kernel besetzt. Der Kernel ist ausgelastet, wenn er gestartet wird und wenn er Zellen verarbeitet. Zusätzliche Kernel-Status werden in der Statusleiste in der unteren linken Ecke von SageMaker Studio angezeigt.  | 
|  ![\[Das Symbol Notebook teilen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-share.png)  |  **Notebook freigeben** Das Notebook wird freigegeben. Weitere Informationen finden Sie unter [Teilen und verwenden Sie ein Amazon SageMaker Studio Classic-Notizbuch](notebooks-sharing.md).  | 

Um mehrere Zellen auszuwählen, klicken Sie auf den linken Rand außerhalb einer Zelle. Halten Sie die Taste `Shift` gedrückt und verwenden Sie die Tasten `K` oder `Up`, um vorherige Zellen auszuwählen. Sie können auch die Tasten `J` oder `Down` verwenden, um folgende Zellen auszuwählen.

# Installieren Sie externe Bibliotheken und Kernel in Amazon SageMaker Studio Classic
<a name="studio-notebooks-add-external"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Bei Amazon SageMaker Studio Classic-Notebooks sind bereits mehrere Images installiert. Diese Images enthalten Kernel und Python-Pakete, darunter scikit-learn, Pandas,,, und NumPy. TensorFlow PyTorch MXNet Sie können auch Ihre eigenen Images installieren, die Pakete und Kernel Ihrer Wahl enthalten. Weitere Informationen zum Installieren Ihres eigenen Images finden Sie unter [Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic](studio-byoi.md).

Die verschiedenen Jupyter-Kernel in Amazon SageMaker Studio Classic-Notebooks sind separate Conda-Umgebungen. Informationen zu conda-Umgebungen finden Sie unter [Verwalten von Umgebungen](https://conda.io/docs/user-guide/tasks/manage-environments.html).

## Tools zur Installation von Paketen
<a name="studio-notebooks-external-tools"></a>

**Wichtig**  
Derzeit sind alle Pakete in SageMaker Amazon-Notebooks für die Verwendung mit Amazon SageMaker AI lizenziert und erfordern keine zusätzlichen kommerziellen Lizenzen. Dies könnte sich jedoch in Zukunft ändern und wir empfehlen, die Lizenzbedingungen regelmäßig auf Aktualisierungen zu überprüfen.

Die Methode, mit der Sie Python-Pakete vom Terminal aus installieren, unterscheidet sich je nach Image. Studio Classic unterstützt die folgenden Tools zur Paketinstallation:
+ **Notebooks** – Die folgenden Befehle werden unterstützt. Wenn eine der folgenden Optionen bei Ihrem Image nicht funktioniert, versuchen Sie es mit der anderen.
  + `%conda install`
  + `%pip install`
+ **Das Jupyter-Terminal** – Sie können Pakete direkt mit pip und conda installieren. Sie können auch `apt-get install` verwenden, um Systempakete über das Terminal zu installieren.

**Anmerkung**  
Wir empfehlen nicht`pip install --user`, `pip install -u` oder zu verwenden, da diese Befehle Pakete auf dem Amazon EFS-Volume des Benutzers installieren und möglicherweise JupyterServer App-Neustarts blockieren können. Verwenden Sie stattdessen eine Lebenszykluskonfiguration, um die erforderlichen Pakete bei App-Neustarts neu zu installieren, wie unter [Installieren Sie Pakete mithilfe von Lebenszykluskonfigurationen](#nbi-add-external-lcc) gezeigt.

Wir empfehlen die Verwendung von `%pip` und `%conda` zur Installation von Paketen aus einem Notebook heraus, da sie die aktive Umgebung oder den verwendeten Interpreter korrekt berücksichtigen. Weitere Informationen finden [Sie unter Hinzufügen der magischen Funktionen %pip und %conda](https://github.com/ipython/ipython/pull/11524). Sie können auch die Systembefehlssyntax verwenden (Zeilen, die mit\$1 beginnen) um Pakete zu installieren. Beispiel: `!pip install` und `!conda install`. 

### Conda
<a name="studio-notebooks-add-external-tools-conda"></a>

Conda ist ein Open-Source-Paketverwaltungs- und Umgebungsverwaltungssystem, das Pakete und ihre Abhängigkeiten installieren kann. SageMaker AI unterstützt die Verwendung von Conda mit dem Conda-Forge-Kanal. Weitere Informationen finden Sie unter [Konfigurieren Conda-Kanals](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html). Der Conda-Forge-Kanal ist ein Community-Kanal, in dem Mitwirkende Pakete hochladen können.

**Anmerkung**  
Die Installation von Paketen aus Conda-Forge kann bis zu 10 Minuten dauern. Das Timing bezieht sich darauf, wie Conda den Abhängigkeitsgraphen auflöst.

Alle von SageMaker KI bereitgestellten Umgebungen sind funktionsfähig. Vom Benutzer installierte Pakete funktionieren möglicherweise nicht richtig.

Conda hat zwei Methoden zur Aktivierung von Umgebungen: `conda activate`, und `source activate`. Weitere Informationen finden Sie unter [Verwalten der Umgebung](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html).

**Unterstützte conda-Operationen**
+ `conda install` eines Pakets in einer einzigen Umgebung
+ `conda install` eines Pakets in allen Umgebungen
+ Installation eines Pakets aus dem Conda-Hauptrepositorium
+ Ein Paket von Conda-Forge installieren
+ Ändern des Conda-Installationsverzeichnisses zur Verwendung von Amazon EBS
+ Unterstützt sowohl `conda activate` als auch `source activate`

### Pip
<a name="studio-notebooks-add-external-tools-pip"></a>

Pip ist das Tool zur Installation und Verwaltung von Python-Paketen. Pip sucht standardmäßig nach Paketen im Python-Paketindex (PyPI). Im Gegensatz zu Conda hat Pip keine integrierte Umgebungsunterstützung. Daher ist Pip nicht so gründlich wie Conda, wenn es um Pakete mit systemeigenen Abhängigkeiten oder Systembibliotheksabhängigkeiten geht. Pip kann verwendet werden, um Pakete in Conda-Umgebungen zu installieren. Sie können alternative Paket-Repositorys mit pip anstelle von PyPI verwenden.

**Unterstützte pip-Vorgänge**
+ Verwenden Sie Pip, um ein Paket ohne aktive Conda-Umgebung zu installieren
+ Verwenden von Pip, um ein Paket in einer Conda-Umgebung zu installieren
+ Verwenden Sie Pip, um ein Paket in allen Conda-Umgebungen zu installieren
+ Ändern des Pip-Installationsverzeichnisses zur Verwendung von Amazon EBS
+ Verwenden eines alternativen Repositorys zur Installation von Paketen mit Pip

### Nicht unterstützt
<a name="studio-notebooks-add-external-tools-misc"></a>

SageMaker KI zielt darauf ab, so viele Paketinstallationsvorgänge wie möglich zu unterstützen. Wenn die Pakete jedoch von SageMaker AI installiert wurden und Sie die folgenden Operationen für diese Pakete ausführen, kann Ihre Umgebung dadurch instabil werden:
+ Deinstallieren
+ Herabstufung
+ Wird geupgradet

Aufgrund potenzieller Probleme mit den Netzwerkbedingungen oder -konfigurationen oder der Verfügbarkeit von Conda oder PyPi werden Pakete möglicherweise nicht in einem festen oder deterministischen Zeitraum installiert.

**Anmerkung**  
Der Versuch, ein Paket in einer Umgebung mit inkompatiblen Abhängigkeiten zu installieren, kann zu einem Fehler führen. Wenn Probleme auftreten, können Sie sich an den Bibliotheksbetreuer wenden, um die Paketabhängigkeiten zu aktualisieren. Wenn Sie die Umgebung ändern, z. B. bestehende Pakete entfernen oder aktualisieren, kann dies zu einer Instabilität dieser Umgebung führen.

## Installieren Sie Pakete mithilfe von Lebenszykluskonfigurationen
<a name="nbi-add-external-lcc"></a>

Installieren Sie benutzerdefinierte Images und Kernel auf dem Amazon EBS-Volume der Studio Classic-Instance, sodass sie bestehen bleiben, wenn Sie das Notebook beenden und neu starten, und dass alle externen Bibliotheken, die Sie installieren, nicht von AI aktualisiert werden. SageMaker Verwenden Sie dazu eine Lebenszykluskonfiguration, die sowohl ein Skript enthält, das beim Erstellen des Notebooks ausgeführt wird (`on-create)`, als auch ein Skript, das bei jedem Neustart des Notebooks ausgeführt wird (`on-start`). Weitere Informationen zur Verwendung von Lebenszykluskonfigurationen mit Studio Classic finden Sie unter [Verwenden Sie Lebenszykluskonfigurationen, um Amazon SageMaker Studio Classic anzupassen](studio-lcc.md). Beispiele für Lebenszykluskonfigurationsskripte finden Sie unter Beispiele für die [Lebenszykluskonfiguration von SageMaker AI Studio Classic](https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples).

# Teilen und verwenden Sie ein Amazon SageMaker Studio Classic-Notizbuch
<a name="notebooks-sharing"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können Ihre Amazon SageMaker Studio Classic-Notizbücher mit Ihren Kollegen teilen. Das freigegebene Notebook ist eine Kopie. Nachdem Sie Ihr Notebook freigegeben haben, schlagen sich alle Änderungen, die Sie am ursprünglichen Notebook vornehmen, nicht im freigegebenen Notebook nieder, und alle Änderungen, die Ihr Kollege an den freigegebenen Kopien des Notebooks vornimmt, schlagen sich nicht in Ihrem ursprünglichen Notebook nieder. Wenn Sie Ihre neueste Version freigeben möchten, müssen Sie einen neuen Snapshot erstellen und ihn dann freigeben.

**Topics**
+ [Freigeben eines Notebooks](#notebooks-sharing-share)
+ [Verwenden eines freigegebenen Notebooks](#notebooks-sharing-using)
+ [Gemeinsame Bereiche und Zusammenarbeit in Echtzeit](#notebooks-sharing-rtc)

## Freigeben eines Notebooks
<a name="notebooks-sharing-share"></a>

Der folgende Screenshot zeigt das Menü eines Studio-Classic-Notebooks.

![\[Die Position des Symbols Teilen in einem Studio-Classic-Notebook.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-menu-share.png)


**So geben Sie ein Notebook frei**

1. Wählen Sie in der rechten oberen Ecke des Notebooks die Option **Share (Freigeben)** aus.

1. (Optional) Wählen Sie unter **Create shareable snapshot (Freigabefähigen Snapshot erstellen)** eines der folgenden Elemente aus:
   + **Git-Repository-Informationen einfügen** – Fügt einen Link zum Git-Repository ein, das das Notebook enthält. Auf diese Weise können Sie und Ihr Kollege zusammenarbeiten und zum selben Git-Repository beitragen.
   + **Ausgabe einschließen** – Schließt alle gespeicherten Notebook-Ausgaben ein.
**Anmerkung**  
Wenn Sie ein Benutzer im IAM Identity Center sind und diese Optionen nicht sehen, hat Ihr IAM Identity Center-Administrator die Funktion wahrscheinlich deaktiviert. Wenden Sie sich an Ihren Administrator.

1. Wählen Sie **Erstellen** aus.

1. Nachdem der Snapshot erstellt wurde, wählen Sie **Copy link (Link kopieren)** und dann **Close (Schließen)**.

1. Teilen Sie den Link mit Ihrem Kollegen.

Nachdem Sie Ihre Freigabeoptionen ausgewählt haben, erhalten Sie eine URL. Sie können diesen Link mit Benutzern teilen, die Zugriff auf Amazon SageMaker Studio Classic haben. Wenn der Benutzer die URL öffnet, wird er aufgefordert, sich mit IAM Identity Center oder IAM-Authentifizierung anzumelden. Da dieses freigegebene Notebook zu einer Kopie wird, werden die vom Empfänger vorgenommenen Änderungen in Ihrem ursprünglichen Notebook nicht reproduziert.

## Verwenden eines freigegebenen Notebooks
<a name="notebooks-sharing-using"></a>

Sie verwenden ein freigegebenes Notebook auf die gleiche Weise wie jedes andere Notebook, das Sie selbst erstellt haben. Sie müssen sich zuerst mit Ihrem Konto anmelden und dann den geteilten Link öffnen. Wenn Sie keine aktive Sitzung haben, erhalten Sie einen Fehler.

Wenn Sie zum ersten Mal einen Link zu einem freigegebenen Notebook auswählen, wird eine schreibgeschützte Version des Notebooks geöffnet. Um das freigegebene Notebook zu bearbeiten, wählen Sie **Create a Copy (Eine Kopie erstellen)** aus. Dadurch wird das freigegebene Notebook in Ihren persönlichen Speicher kopiert.

Das kopierte Notizbuch wird auf einer Instance des Instance-Typs und des SageMaker Images gestartet, die das Notizbuch verwendet hat, als der Absender es geteilt hat. Wenn Sie derzeit keine Instance dieses Instance-Typs ausführen, wird eine neue Instance gestartet. Die Anpassung an das SageMaker Bild wird nicht geteilt. Sie können den Notebook-Snapshot auch überprüfen, indem Sie **Snapshot Details (Snapshot-Details)** auswählen.

Es folgen einige wichtige Überlegungen zur Freigabe und Authentifizierung:
+ Wenn Sie eine aktive Sitzung haben, wird eine schreibgeschützte Ansicht des Notebooks angezeigt, bis Sie **Create a Copy (Kopie erstellen)** auswählen.
+ Wenn Sie über keine aktive Sitzung verfügen, müssen Sie sich anmelden.
+ Wenn Sie IAM für die Anmeldung verwenden, wählen Sie nach der Anmeldung Ihr Benutzerprofil und dann **Studio Classic öffnen** aus. Dann müssen Sie den Link auswählen, der an Sie gesendet wurde.
+ Wenn Sie sich über das IAM Identity Center anmelden, wird das gemeinsame Notebook nach der Anmeldung automatisch in Studio geöffnet.

## Gemeinsame Bereiche und Zusammenarbeit in Echtzeit
<a name="notebooks-sharing-rtc"></a>

Ein gemeinsam genutzter Bereich besteht aus einer gemeinsam genutzten JupyterServer Anwendung und einem gemeinsam genutzten Verzeichnis. Ein wesentlicher Vorteil eines gemeinsamen Raums besteht darin, dass er die Zusammenarbeit zwischen Mitgliedern des gemeinsam genutzten Raums in Echtzeit erleichtert. Benutzer, die in einem Workspace zusammenarbeiten, erhalten Zugriff auf eine gemeinsam genutzte Studio-Classic-Anwendung, mit der sie in Echtzeit auf ihre Notebooks zugreifen, sie lesen und bearbeiten können. Die Zusammenarbeit in Echtzeit wird nur für JupyterServer Anwendungen in einem gemeinsam genutzten Bereich unterstützt. Benutzer mit Zugriff auf einen gemeinsam genutzten Bereich können Jupyter Notebooks in der gemeinsam genutzten Studio-Classic-Anwendung in diesem Bereich gleichzeitig öffnen, anzeigen, bearbeiten und ausführen. Weitere Informationen zur Zusammenarbeit in gemeinsamen Räumen und zur Zusammenarbeit in Echtzeit finden Sie unter. [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md)

# Holen Sie sich Amazon SageMaker Studio Classic-Notizbuch- und App-Metadaten
<a name="notebooks-run-and-manage-metadata"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können über die Amazon SageMaker Studio Classic-Benutzeroberfläche auf Notizbuch-Metadaten und App-Metadaten zugreifen.

**Topics**
+ [Abrufen von Metadaten von Studio Classic Notebook](#notebooks-run-and-manage-metadata-notebook)
+ [Abrufen von App-Metadaten](#notebooks-run-and-manage-metadata-app)

## Abrufen von Metadaten von Studio Classic Notebook
<a name="notebooks-run-and-manage-metadata-notebook"></a>

Jupyter-Notizbücher enthalten optionale Metadaten, auf die Sie über die Amazon SageMaker Studio Classic-Benutzeroberfläche zugreifen können.

**Um die Metadaten des Notebooks anzuzeigen:**

1. Wählen Sie in der rechten Seitenleiste das Symbol **Eigenschafteninspektor** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/gears.png)) aus. 

1. Öffnen Sie den Bereich **Erweiterte Tools**.

Die Metadaten sollten in etwa wie die folgenden aussehen.

```
{
    "instance_type": "ml.t3.medium",
    "kernelspec": {
        "display_name": "Python 3 (Data Science)",
        "language": "python",
        "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-west-2:<acct-id>:image/datascience-1.0"
    },
    "language_info": {
        "codemirror_mode": {
            "name": "ipython",
            "version": 3
        },
        "file_extension": ".py",
        "mimetype": "text/x-python",
        "name": "python",
        "nbconvert_exporter": "python",
        "pygments_lexer": "ipython3",
        "version": "3.7.10"
    }
}
```

## Abrufen von App-Metadaten
<a name="notebooks-run-and-manage-metadata-app"></a>

Wenn Sie ein Notizbuch in Amazon SageMaker Studio Classic erstellen, werden die App-Metadaten in eine Datei mit dem Namen `resource-metadata.json` im Ordner geschrieben`/opt/ml/metadata/`. Sie können die App-Metadaten abrufen, indem Sie ein Iamge-Terminal aus dem Notebook heraus öffnen. Die Metadaten geben Ihnen die folgenden Informationen, darunter das SageMaker Image und den Instance-Typ, in dem das Notebook ausgeführt wird:
+ **AppType** – `KernelGateway` 
+ **DomainId**— Wie bei Studio ClassicID
+ **UserProfileName**— Der Profilname des aktuellen Benutzers
+ **ResourceArn**— Der Amazon-Ressourcenname (ARN) der App, der den Instance-Typ beinhaltet
+ **ResourceName**— Der Name des SageMaker Images

Zusätzliche Metadaten können für den internen Gebrauch von Studio Classic enthalten sein und können sich ändern.

**So rufen Sie die App-Metadaten ab:**

1. Wählen Sie in der Mitte des Notebook-Menüs das Symbol **Terminal starten** (![\[Dollar sign icon representing currency or financial transactions.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-launch-terminal.png)) aus. Dadurch wird ein Terminal in dem SageMaker Image geöffnet, in dem das Notebook ausgeführt wird.

1. Führen Sie die folgenden Befehle aus, um den Inhalt der `resource-metadata.json`-Datei anzuzeigen.

   ```
   $ cd /opt/ml/metadata/
   cat resource-metadata.json
   ```

   Die Datei sollte in etwa so aussehen:

   ```
   {
       "AppType": "KernelGateway",
       "DomainId": "d-xxxxxxxxxxxx",
       "UserProfileName": "profile-name",
       "ResourceArn": "arn:aws:sagemaker:us-east-2:account-id:app/d-xxxxxxxxxxxx/profile-name/KernelGateway/datascience--1-0-ml-t3-medium",
       "ResourceName": "datascience--1-0-ml",
       "AppImageVersion":""
   }
   ```

# Holen Sie sich die Notebook-Unterschiede in Amazon SageMaker Studio Classic
<a name="notebooks-diff"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können den Unterschied zwischen dem aktuellen Notizbuch und dem letzten Checkpoint oder dem letzten Git-Commit mithilfe der Amazon SageMaker AI-Benutzeroberfläche anzeigen.

Der folgende Screenshot zeigt das Menü eines Studio-Classic-Notebooks.

![\[Die Position des relevanten Menüs in einem Studio-Classic-Notebook.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-menu-diffs.png)


**Topics**
+ [Abrufen der Differenz zum letzten Checkpoint](#notebooks-diff-checkpoint)
+ [Abrufen der Differenz zum letzten Commit](#notebooks-diff-git)

## Abrufen der Differenz zum letzten Checkpoint
<a name="notebooks-diff-checkpoint"></a>

Bei der Erstellung eines Notebooks wird eine versteckte Checkpoint-Datei erstellt, die mit dem erstellten Notebook übereinstimmt. Sie können Änderungen zwischen dem Notebook und der Checkpoint-Datei anzeigen oder das Notebook so zurücksetzen, dass es mit der Checkpoint-Datei übereinstimmt.

Standardmäßig wird ein Notebook alle 120 Sekunden und beim Schließen des Notebooks automatisch gespeichert. Die Checkpoint-Datei wird jedoch nicht so aktualisiert, dass sie mit dem Notebook übereinstimmt. Um das Notebook zu speichern und die Checkpoint-Datei so zu aktualisieren, dass sie übereinstimmt, müssen Sie das Symbol **Save notebook and create checkpoint (Notebook speichern und Checkpoint erstellen)** (![\[Padlock icon representing security or access control in cloud services.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-save-and-checkpoint.png)) links im Notebook-Menü auswählen oder die Tastenkombination `Ctrl + S` verwenden.

Um die Änderungen zwischen dem Notebook und der Checkpoint-Datei anzuzeigen, wählen Sie das Symbol **Checkpoint-Diff** (![\[Clock icon representing time or duration in a user interface.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-checkpoint-diff.png)) in der Mitte des Notebook-Menüs aus.

Um das Notebook auf die Checkpoint-Datei zurückzusetzen, wählen Sie im Studio-Classic-Hauptmenü **Datei** und dann **Notebook auf Checkpoint zurücksetzen** aus.

## Abrufen der Differenz zum letzten Commit
<a name="notebooks-diff-git"></a>

Wenn ein Notebook aus einem Git-Repository geöffnet wird, können Sie die Differenz zwischen dem Notebook und dem letzten Git-Commit anzeigen.

Um die Änderungen im Notebook im Vergleich zum letzten Git-Commit anzuzeigen, wählen Sie das Symbol **Git-Diff** (![\[Dark button with white text displaying "git" in lowercase letters.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/notebook-git-diff.png)) in der Mitte des Notebook-Menüs aus.

# Ressourcen für Amazon SageMaker Studio Classic-Notebooks verwalten
<a name="notebooks-run-and-manage"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können den Instance-Typ, das SageMaker Image und den Kernel in einem Amazon SageMaker Studio Classic-Notizbuch ändern. Wie Sie einen eigenen Kernel für Ihre Notebooks erstellen können, erfahren Sie unter [Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic](studio-byoi.md).

**Topics**
+ [Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-switch-instance-type.md)
+ [Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-change-image.md)
+ [Ressourcen von Amazon SageMaker Studio Classic herunterfahren](notebooks-run-and-manage-shut-down.md)

# Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook
<a name="notebooks-run-and-manage-switch-instance-type"></a>

Wenn Sie ein neues Studio-Classic-Notebook zum ersten Mal öffnen, wird Ihnen ein Standard-Instance-Typ der Amazon Elastic Compute Cloud (Amazon EC2) zugewiesen, um das Notebook auszuführen. Wenn Sie zusätzliche Notebooks auf dem gleichen Instance-Typ öffnen, werden die Notebooks mit derselben Instance wie das erste Notebook ausgeführt, auch wenn die Notebooks unterschiedliche Kernel verwenden. 

Sie können den Instance-Typ, auf dem Ihr Studio-Classic-Notebook läuft, innerhalb des Notebooks ändern. 

Die folgenden Informationen gelten nur für Studio-Classic-Notebooks. Informationen darüber, wie Sie den Instance-Typ einer SageMaker Amazon-Notebook-Instance ändern können, finden Sie unter[Aktualisiert eine Notebook-Instance](nbi-update.md).

**Wichtig**  
Wenn Sie den Instance-Typ ändern, gehen nicht gespeicherte Informationen und die vorhandenen Einstellungen für das Notebook verloren und installierte Pakete müssen neu installiert werden.  
Der vorherige Instance-Typ wird auch dann weiter ausgeführt, wenn keine Kernel-Sitzungen oder Apps aktiv sind. Sie müssen die Instance explizit beenden, damit keine Gebühren mehr anfallen. Informationen zum Stoppen der Instance finden Sie unter [Herunterfahren von Ressourcen](notebooks-run-and-manage-shut-down.md#notebooks-run-and-manage-shut-down-sessions).

Der folgende Screenshot zeigt das Menü eines Studio-Classic-Notebooks. Der Prozessor und der Arbeitsspeicher des Instance-Typs, der für das Notebook verwendet wird, werden als **2 vCPU \$1 4 GiB** angezeigt.

![\[Der Standort des Prozessors und des Speichers des Instance-Typs für das Studio-Classic-Notebook.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-menu-instance.png)


**So ändern Sie den Instance-Typ**

1. Wählen Sie den Prozessor und den Speicher des Instance-Typs, der das Notebook antreibt. Dadurch wird ein Popup-Fenster geöffnet.

1. Wählen Sie im Popupfenster **Notebook-Umgebung einrichten** das Dropdown-Menü **Instance-Typ** aus.

1. Wählen Sie aus der Dropdown-Liste **Instance-Typ** einen der aufgelisteten Instance-Typen aus.

1. Nachdem Sie einen Typ ausgewählt haben, wählen Sie **Auswählen** aus.

1. Warten Sie, bis die neue Instance aktiviert wurde. Dann werden die Informationen zum neuen Instance-Typ angezeigt.

Eine Liste der verfügbaren Instance-Typen finden Sie unter [Instance-Typen, die für die Verwendung mit Amazon SageMaker Studio Classic-Notebooks verfügbar sind](notebooks-available-instance-types.md). 

# Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook
<a name="notebooks-run-and-manage-change-image"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Bei Amazon SageMaker Studio Classic-Notizbüchern können Sie das Image oder den Kernel des Notebooks vom Notizbuch aus ändern.

Der folgende Screenshot zeigt das Menü eines Studio-Classic-Notebooks. Der aktuelle SageMaker AI-Kernel und das aktuelle Bild werden als **Python 3 (Data Science)** angezeigt, wobei `Python 3` der Kernel und das SageMaker KI-Image `Data Science` bezeichnet werden, das den Kernel enthält. Die Farbe des Kreises auf der rechten Seite zeigt an, ob der Kernel im Leerlauf oder beschäftigt ist. Der Kern ist besetzt, wenn der Mittelpunkt und der Rand des Kreises die gleiche Farbe haben.

![\[Die Position des aktuellen Kernels und Images in der Menüleiste eines Studio-Classic-Notebooks.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-notebook-menu-kernel.png)


**So ändern Sie das Image oder den Kernel eines Notebooks**

1. Wählen Sie den image/kernel Namen im Notebook-Menü.

1. Wählen Sie im Popup-Fenster **Notebook-Umgebung einrichten** das Dropdown-Menü **Image** oder **Kernel** aus.

1. Wählen Sie aus dem Dropdown-Menü eines der aufgelisteten Images oder Kernel aus.

1. Nachdem Sie ein Image oder einen Kernel ausgewählt haben, wählen Sie **Auswählen**.

1. Warten Sie, bis der Status des Kernels als inaktiv angezeigt wird, was darauf hinweist, dass der Kernel gestartet wurde.

Eine Liste der verfügbaren SageMaker Images und Kernel finden Sie unter[SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md).

# Ressourcen von Amazon SageMaker Studio Classic herunterfahren
<a name="notebooks-run-and-manage-shut-down"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können einzelne Amazon SageMaker AI-Ressourcen, einschließlich Notebooks, Terminals, Kernel, Apps und Instances, aus Studio Classic herunterfahren. Sie können auch alle Ressourcen in einer dieser Kategorien gleichzeitig herunterfahren. Amazon SageMaker Studio Classic unterstützt nicht das Herunterfahren von Ressourcen innerhalb eines Notebooks.

**Anmerkung**  
Wenn Sie eine Notebook-Instance von Studio-Classic herunterfahren, werden die zusätzlichen Ressourcen, die Sie in Studio Classic erstellt haben, nicht gelöscht. Zusätzliche Ressourcen können beispielsweise SageMaker KI-Endpunkte, Amazon EMR-Cluster und Amazon S3 S3-Buckets umfassen. Um die Entstehung von Kosten zu verhindern, müssen Sie diese Ressourcen manuell löschen. Informationen zum Auffinden von Ressourcen, für die Gebühren anfallen, finden Sie unter [Analysieren Ihrer Kosten mit AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html).

In den folgenden Themen wird gezeigt, wie Sie diese SageMaker KI-Ressourcen löschen können.

**Topics**
+ [Herunterfahren eines geöffneten Notebooks](#notebooks-run-and-manage-shut-down-notebook)
+ [Herunterfahren von Ressourcen](#notebooks-run-and-manage-shut-down-sessions)

## Herunterfahren eines geöffneten Notebooks
<a name="notebooks-run-and-manage-shut-down-notebook"></a>

Wenn Sie ein Studio-Classic-Notebook herunterfahren, wird das Notebook nicht gelöscht. Der Kernel, auf dem das Notebook läuft, wird heruntergefahren, und alle nicht gespeicherten Informationen im Notebook gehen verloren. Sie können ein geöffnetes Notebook über das Menü **Datei** in Studio Classic oder über den Bereich „Ausgeführte Terminals und Kernel“ schließen. Das folgende Verfahren zeigt, wie Sie ein geöffnetes Notebook über das Menü **Datei** von Studio Classic herunterfahren.

**So fahren Sie ein geöffnetes Notebook über das Dateimenü herunter**

1. Starten Sie Studio Classic, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md) befolgen.

1. (Optional) Speichern Sie den Inhalt des Notebooks, indem Sie **Datei** und dann **Notebook speichern** auswählen.

1. Wählen Sie **Datei** aus.

1. Wählen Sie **Notebook schließen und herunterfahren** aus. Dadurch wird ein Popup-Fenster geöffnet.

1. Wählen Sie im Popup-Fenster die Option **OK** aus.

## Herunterfahren von Ressourcen
<a name="notebooks-run-and-manage-shut-down-sessions"></a>

Sie erreichen den Bereich **Running Terminals and Kernels** von Amazon SageMaker Studio Classic, indem Sie das Symbol **Running Terminals and Kernels** () ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/running-terminals-kernels.png) auswählen. Der Bereich **Running Terminals and Kernels** besteht aus vier Abschnitten. In jedem Abschnitt sind alle Ressourcen des jeweiligen Typs aufgeführt. Sie können jede Ressource einzeln oder alle Ressourcen in einem Abschnitt gleichzeitig abschalten.

Wenn Sie sich dafür entscheiden, alle Ressourcen in einem Abschnitt herunterzufahren, passiert Folgendes:
+ ** INSTANCES/RUNNING APPS AUSFÜHREN** — Alle Instances, Apps, Notebooks, Kernel-Sitzungen, Konsolen/Shells und Image-Terminals werden heruntergefahren. Systemterminals werden nicht heruntergefahren.
+ **KERNEL-SESSIONS** — Alle Kernel, Notebooks und consoles/shells werden heruntergefahren.
+ **TERMINAL-SITZUNGEN** – Alle Image-Terminals und Systemterminals sind heruntergefahren.

**Herunterfahren von Ressourcen**

1. Starten Sie Studio Classic, indem Sie die Schritte in [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md) befolgen.

1. Wählen Sie das Symbol **Ausführen von Terminals und Kernel** aus.

1. Führen Sie eine der folgenden Aufgaben aus:
   + Um eine bestimmte Ressource abzuschalten, wählen Sie das Symbol **Herunterfahren** in der gleichen Zeile wie die Ressource aus.

     Bei laufenden Instances werden in einem Bestätigungsdialogfeld alle Ressourcen aufgeführt, die SageMaker AI herunterfahren wird. In einem Bestätigungsdialogfeld werden alle laufenden Apps angezeigt. Wählen Sie **Alle herunterfahren** aus, um fortzufahren.
**Anmerkung**  
Für Kernelsitzungen oder Terminalsitzungen wird kein Bestätigungsdialogfeld angezeigt.
   + Um alle Ressourcen in einem Abschnitt herunterzufahren, wählen Sie das **X** rechts neben der Abschnittsbeschriftung. Es wird ein Bestätigungsdialogfeld angezeigt. Wählen Sie **Shut down all (Alle herunterfahren)**, um fortzufahren.
**Anmerkung**  
Wenn Sie diese Studio Classic-Ressourcen herunterfahren, werden alle zusätzlichen Ressourcen, die mit Studio Classic erstellt wurden, wie SageMaker KI-Endpunkte, Amazon EMR-Cluster und Amazon S3 S3-Buckets, nicht gelöscht. Löschen Sie diese Ressourcen manuell, um die Entstehung weiterer Kosten zu verhindern. [Informationen zur Suche nach Ressourcen, für die Gebühren anfallen, finden Sie unter Analysieren Ihrer Kosten mit. AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)

# Nutzungsmessung für Amazon SageMaker Studio Classic-Notebooks
<a name="notebooks-usage-metering"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Für die Nutzung von Amazon SageMaker Studio Classic fallen keine zusätzlichen Gebühren an. Die Kosten für den Betrieb von Amazon SageMaker Studio Classic-Notebooks, interaktiven Shells, Konsolen und Terminals basieren auf der Nutzung der Amazon Elastic Compute Cloud (Amazon EC2) -Instances.

Wenn Sie die folgenden Ressourcen ausführen, müssen Sie ein SageMaker Image und einen Kernel auswählen:

**Über den Studio Classic Launcher**
+ Notebook
+ Interaktive Shell
+ Image-Terminal

**Über das Menü **File (Datei)****
+ Notebook
+ Konsole

Beim Start wird die Ressource auf einer Amazon-EC2-Instance des gewählten Instance-Typs ausgeführt. Wenn eine Instance dieses Typs zuvor gestartet wurde und verfügbar ist, wird die Ressource auf dieser Instance ausgeführt.

Für CPU-basierte Images ist der standardmäßig vorgeschlagene Instance-Typ `ml.t3.medium`. Für GPU-basierte Images ist der standardmäßig vorgeschlagene Instance-Typ `ml.g4dn.xlarge`.

Die anfallenden Kosten basieren auf dem Instance-Typ. Jede Instance wird Ihnen separat in Rechnung gestellt.

Die Messung beginnt, wenn eine Instance erstellt wird. Die Messung endet, wenn alle Apps auf der Instance heruntergefahren werden oder die Instance heruntergefahren wird. Informationen darüber, wie man eine Instance herunterfährt, finden Sie unter [Ressourcen von Amazon SageMaker Studio Classic herunterfahren](notebooks-run-and-manage-shut-down.md).

**Wichtig**  
Sie müssen die Instance herunterfahren, damit keine Gebühren mehr anfallen. Wenn Sie das Notebook, das auf der Instance läuft, herunterfahren, aber die Instance nicht herunterfahren, fallen trotzdem Gebühren an. Wenn Sie die Studio Classic-Notebook-Instances herunterfahren, werden alle zusätzlichen Ressourcen wie SageMaker KI-Endpunkte, Amazon EMR-Cluster und Amazon S3 S3-Buckets, die mit Studio Classic erstellt wurden, nicht gelöscht. Löschen Sie diese Ressourcen, um das Entstehen von Gebühren zu verhindern.

Wenn Sie mehrere Notebooks auf demselben Instance-Typ öffnen, werden die Notebooks auf derselben Instance ausgeführt, auch wenn sie unterschiedliche Kernel verwenden. Ihnen wird nur die Zeit in Rechnung gestellt, während der eine Instance ausgeführt wird.

Sie können den Instance-Typ innerhalb des Notebooks ändern, nachdem Sie es geöffnet haben. Weitere Informationen finden Sie unter [Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-switch-instance-type.md).

Informationen zur Abrechnung sowie Preisbeispiele finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

# Verfügbare Ressourcen für Amazon SageMaker Studio Classic-Notebooks
<a name="notebooks-resources"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In den folgenden Abschnitten sind die verfügbaren Ressourcen für Amazon SageMaker Studio Classic-Notizbücher aufgeführt.

**Topics**
+ [Instance-Typen, die für die Verwendung mit Amazon SageMaker Studio Classic-Notebooks verfügbar sind](notebooks-available-instance-types.md)
+ [SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md)

# Instance-Typen, die für die Verwendung mit Amazon SageMaker Studio Classic-Notebooks verfügbar sind
<a name="notebooks-available-instance-types"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic-Notebooks werden auf Amazon Elastic Compute Cloud (Amazon EC2) -Instances ausgeführt. Die folgenden Instance-Typen von Amazon EC2 sind für die Verwendung mit Studio-Classic-Notebooks verfügbar. Detaillierte Informationen darüber, welche Instance-Typen zu Ihrem Anwendungsfall passen und welche Leistungsmerkmale sie haben, finden Sie unter [Amazon Elastic Compute Cloud-Instance-Typen](https://aws.amazon.com/ec2/instance-types/). Informationen zu den Preisen für diese Instance-Typen finden Sie unter [Amazon EC2-Preise](https://aws.amazon.com/ec2/pricing/).

Informationen zu verfügbaren Amazon SageMaker Notebook-Instance-Typen finden Sie unter [CreateNotebookInstance](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html#sagemaker-CreateNotebookInstance-request-InstanceType).

**Anmerkung**  
Für die meisten Anwendungsfälle sollten Sie ein `ml.t3.medium` verwenden. Dies ist der Standard-Instance-Typ für CPU-basierte SageMaker Images und ist im Rahmen des [AWS kostenlosen](https://aws.amazon.com/free) Kontingents verfügbar.

**Topics**
+ [CPU-Instances](#notebooks-resources-no-gpu)
+ [Instanzen mit 1 oder mehr GPUs](#notebooks-resources-gpu)

## CPU-Instances
<a name="notebooks-resources-no-gpu"></a>

In der folgenden Tabelle sind die CPU-Instance-Typen von Amazon EC2 ohne angeschlossene GPU aufgeführt, die für die Verwendung mit Studio-Classic-Notebooks verfügbar sind. Sie enthält auch Informationen zu den Spezifikationen der einzelnen Instance-Typen. Der Standard-Instance-Typ für CPU-basierte Images ist `ml.t3.medium`. 

Detaillierte Informationen darüber, welche Instance-Typen zu Ihrem Anwendungsfall passen und welche Leistungsmerkmale sie haben, finden Sie unter [Amazon Elastic Compute Cloud-Instance-Typen](https://aws.amazon.com/ec2/instance-types/). Informationen zu den Preisen für diese Instance-Typen finden Sie unter [Amazon EC2-Preise](https://aws.amazon.com/ec2/pricing/).

CPU-Instances


| Instance | Anwendungsfall | Schneller Start | vCPU | Arbeitsspeicher (GiB) | Instance-Speicher (GB) | 
| --- | --- | --- | --- | --- | --- | 
| ml.t3.medium | Allgemeine Zwecke | Ja | 2 | 4 | Nur Amazon EBS | 
| ml.t3.large | Allgemeine Zwecke | Nein | 2 | 8 | Nur Amazon EBS | 
| ml.t3.xlarge | Allgemeine Zwecke | Nein | 4 | 16 | Nur Amazon EBS | 
| ml.t3.2xlarge | Allgemeine Zwecke | Nein | 8 | 32 | Nur Amazon EBS | 
| ml.m5.large | Allgemeine Zwecke | Ja | 2 | 8 | Nur Amazon EBS | 
| ml.m5.xlarge | Allgemeine Zwecke | Nein | 4 | 16 | Nur Amazon EBS | 
| ml.m5.2xlarge | Allgemeine Zwecke | Nein | 8 | 32 | Nur Amazon EBS | 
| ml.m5.4xlarge | Allgemeine Zwecke | Nein | 16 | 64 | Nur Amazon EBS | 
| ml.m5.8xlarge | Allgemeine Zwecke | Nein | 32 | 128 | Nur Amazon EBS | 
| ml.m5.12xlarge | Allgemeine Zwecke | Nein | 48 | 192 | Nur Amazon EBS | 
| ml.m5.16xlarge | Allgemeine Zwecke | Nein | 64 | 256 | Nur Amazon EBS | 
| ml.m5.24xlarge | Allgemeine Zwecke | Nein | 96 | 384 | Nur Amazon EBS | 
| ml.m5d.large | Allgemeine Zwecke | Nein | 2 | 8 | 1 x 75 SSD NVMe  | 
| ml.m5d.xlarge | Allgemeine Zwecke | Nein | 4 | 16 | 1 x 150 NVMe SSD | 
| db.m5d.2xlarge | Allgemeine Zwecke | Nein | 8 | 32 | 1 x 300 NVMe SSD | 
| db.m5d.4xlarge | Allgemeine Zwecke | Nein | 16 | 64 | 2 x 300 NVMe SSD | 
| db.m5d.8xlarge | Allgemeine Zwecke | Nein | 32 | 128 | 2 x 600 NVMe SSD | 
| db.m5d.12xlarge | Allgemeine Zwecke | Nein | 48 | 192 | 2 x 900 NVMe SSD | 
| db.m5d.16xlarge | Allgemeine Zwecke | Nein | 64 | 256 | 4 x 600 NVMe SSD | 
| db.m5d.24xlarge | Allgemeine Zwecke | Nein | 96 | 384 | 4 x 900 NVMe SSD | 
| ml.c5.large | Für Datenverarbeitung optimiert | Ja | 2 | 4 | Nur Amazon EBS | 
| ml.c5.xlarge | Für Datenverarbeitung optimiert | Nein | 4 | 8 | Nur Amazon EBS | 
| ml.c5.2xlarge | Für Datenverarbeitung optimiert | Nein | 8 | 16 | Nur Amazon EBS | 
| ml.c5.4xlarge | Für Datenverarbeitung optimiert | Nein | 16 | 32 | Nur Amazon EBS | 
| ml.c5.9xlarge | Für Datenverarbeitung optimiert | Nein | 36 | 72 | Nur Amazon EBS | 
| ml.c5.12xlarge | Für Datenverarbeitung optimiert | Nein | 48 | 96 | Nur Amazon EBS | 
| ml.c5.18xlarge | Für Datenverarbeitung optimiert | Nein | 72 | 144 | Nur Amazon EBS | 
| ml.c5.24xlarge | Für Datenverarbeitung optimiert | Nein | 96 | 192 | Nur Amazon EBS | 
| ml.r5.large | Arbeitsspeicher optimiert | Nein | 2 | 16 | Nur Amazon EBS | 
| ml.r5.xlarge | Arbeitsspeicher optimiert | Nein | 4 | 32 | Nur Amazon EBS | 
| ml.r5.2xlarge | Arbeitsspeicher optimiert | Nein | 8 | 64 | Nur Amazon EBS | 
| ml.r5.4xlarge | Arbeitsspeicher optimiert | Nein | 16 | 128 | Nur Amazon EBS | 
| ml.r5.8xlarge | Arbeitsspeicher optimiert | Nein | 32 | 256 | Nur Amazon EBS | 
| ml.r5.12xlarge | Arbeitsspeicher optimiert | Nein | 48 | 384 | Nur Amazon EBS | 
| ml.r5.16xlarge | Arbeitsspeicher optimiert | Nein | 64 | 512 | Nur Amazon EBS | 
| ml.r5.24xlarge | Arbeitsspeicher optimiert | Nein | 96 | 768 | Nur Amazon EBS | 

## Instanzen mit 1 oder mehr GPUs
<a name="notebooks-resources-gpu"></a>

In der folgenden Tabelle sind die Amazon EC2 EC2-Instance-Typen mit einem oder mehreren GPUs angehängten Instance-Typen aufgeführt, die für die Verwendung mit Studio Classic-Notebooks verfügbar sind. Sie enthält auch Informationen zu den Spezifikationen der einzelnen Instance-Typen. Der Standard-Instance-Typ für GPU-basierte Images ist `ml.g4dn.xlarge`. 

Detaillierte Informationen darüber, welche Instance-Typen zu Ihrem Anwendungsfall passen und welche Leistungsmerkmale sie haben, finden Sie unter [Amazon Elastic Compute Cloud-Instance-Typen](https://aws.amazon.com/ec2/instance-types/). Informationen zu den Preisen für diese Instance-Typen finden Sie unter [Amazon EC2-Preise](https://aws.amazon.com/ec2/pricing/).

Instances mit einer oder mehreren GPUs


| Instance | Anwendungsfall | Schneller Start | GPUs | vCPU | Arbeitsspeicher (GiB) | GPU-Speicher (GiB) | Instance-Speicher (GB) | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| ml.p3.2xlarge | Beschleunigtes Computing | Nein | 1 | 8 | 61 | 16 | Nur Amazon EBS | 
| ml.p3.8xlarge | Beschleunigtes Computing | Nein | 4 | 32 | 244 | 64 | Nur Amazon EBS | 
| ml.p3.16xlarge | Beschleunigtes Computing | Nein | 8 | 64 | 488 | 128 | Nur Amazon EBS | 
| ml.p3dn.24xlarge | Beschleunigtes Computing | Nein | 8 | 96 | 768 | 256 | 2 x 900 NVMe SSD | 
| ml.p4d.24xlarge | Beschleunigtes Computing | Nein | 8 | 96 | 1 152 | 320 GB HBM2 | 8 x 1000 NVMe SSD | 
| ml.p4de.24xlarge | Beschleunigtes Computing | Nein | 8 | 96 | 1 152 | 640 GB HBM2e | 8 x 1000 NVMe SSD | 
| ml.g4dn.xlarge | Beschleunigtes Computing | Ja | 1 | 4 | 16 | 16 | 1 x 125 NVMe SSD | 
| ml.g4dn.2xlarge | Beschleunigtes Computing | Nein | 1 | 8 | 32 | 16 | 1 x 225 NVMe SSD | 
| ml.g4dn.4xlarge | Beschleunigtes Computing | Nein | 1 | 16 | 64 | 16 | 1 x 225 NVMe SSD | 
| ml.g4dn.8xlarge | Beschleunigtes Computing | Nein | 1 | 32 | 128 | 16 | 1 x 900 NVMe SSD | 
| ml.g4dn.12xlarge | Beschleunigtes Computing | Nein | 4 | 48 | 192 | 64 | 1 x 900 NVMe SSD | 
| ml.g4dn.16xlarge | Beschleunigtes Computing | Nein | 1 | 64 | 256 | 16 | 1 x 900 NVMe SSD | 
| ml.c5.xlarge | Beschleunigtes Computing | Nein | 1 | 4 | 16 | 24 | 1 x 250 NVMe SSD | 
| ml.g5.2xlarge | Beschleunigtes Computing | Nein | 1 | 8 | 32 | 24 | 1 x 450 NVMe SSD | 
| ml.g5.4xlarge | Beschleunigtes Computing | Nein | 1 | 16 | 64 | 24 | 1 x 600 NVMe SSD | 
| ml.g5.8xlarge | Beschleunigtes Computing | Nein | 1 | 32 | 128 | 24 | 1 x 900 NVMe SSD | 
| ml.g5.12xlarge | Beschleunigtes Computing | Nein | 4 | 48 | 192 | 96 | 1 x 3800 SSD NVMe  | 
| ml.g5.16xlarge | Beschleunigtes Computing | Nein | 1 | 64 | 256 | 24 | 1 x 1900 SSD NVMe  | 
| ml.g5.24xlarge | Beschleunigtes Computing | Nein | 4 | 96 | 384 | 96 | 1 x 3800 SSD NVMe  | 
| ml.g5.48xlarge | Beschleunigtes Computing | Nein | 8 | 192 | 768 | 192 | 2 x 3800 SSD NVMe  | 

# SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar
<a name="notebooks-available-images"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Diese Seite listet die SageMaker Images und zugehörigen Kernel auf, die in Amazon SageMaker Studio Classic verfügbar sind. Diese Seite enthält auch Informationen über das Format, das zur Erstellung des ARN für jedes Bild benötigt wird. SageMaker Images enthalten das neueste [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) und die neueste Version des Kernels. Weitere Informationen finden Sie unter [Deep Learning Containers Images](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/deep-learning-containers-images.html).

**Topics**
+ [Image-Format des Image-ARN](#notebooks-available-images-arn)
+ [Unterstützte URI-Tags](#notebooks-available-uri-tag)
+ [Unterstützte Images](#notebooks-available-images-supported)
+ [Images, die zur Vernachlässigung vorgesehen sind](#notebooks-available-images-deprecation)
+ [Veraltete Images](#notebooks-available-images-deprecated)

## Image-Format des Image-ARN
<a name="notebooks-available-images-arn"></a>

In der folgenden Tabelle ist das Image-ARN- und -URI-Format für jede Region aufgeführt. Um den vollständigen ARN für ein Bild zu erstellen, ersetzen Sie den *resource-identifier* Platzhalter durch die entsprechende Ressourcen-ID für das Bild. Die Ressourcen-ID befindet sich in der SageMaker Bild- und Kerneltabelle. Um den vollständigen URI für ein Bild zu erstellen, ersetzen Sie den *tag* Platzhalter durch das entsprechende CPU- oder GPU-Tag. Eine Liste der Tags, die Sie verwenden können, finden Sie unter [Unterstützte URI-Tags](#notebooks-available-uri-tag).

**Anmerkung**  
SageMaker Für Distributionsbilder wird ein bestimmter Satz von Bildern verwendet ARNs, die in der folgenden Tabelle aufgeführt sind.


| Region | Image ARN Format | SageMaker ARN-Format für das Verteilungsbild | SageMaker URI-Format für das Vertriebsbild | 
| --- | --- | --- | --- | 
|  us-east-1  | arn:aws:sagemaker:us-east-1:081325390199:image/resource-identifier | arn:aws:sagemaker:us-east-1:885854791233:image/resource-identifier | 885854791233.dkr. ecr.us-east-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  us-east-2  | arn:aws:sagemaker:us-east-2:429704687514:image/resource-identifier | arn:aws:sagemaker:us-east-2:137914896644:image/resource-identifier | 137914896644.dkr. ecr.us-east-2.amazonaws.com/: sagemaker-distribution-prod tag | 
|  us-west-1  | arn:aws:sagemaker:us-west-1:742091327244:image/resource-identifier | arn:aws:sagemaker:us-west-1:053634841547:image/resource-identifier | 053634841547.dkr. ecr.us-west-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  us-west-2  | arn:aws:sagemaker:us-west-2:236514542706:image/resource-identifier | arn:aws:sagemaker:us-west-2:542918446943:image/resource-identifier | 542918446943.dkr. ecr.us-west-2.amazonaws.com/: sagemaker-distribution-prod tag | 
|  af-south-1  | arn:aws:sagemaker:af-south-1:559312083959:image/resource-identifier | arn:aws:sagemaker:af-south-1:238384257742:image/resource-identifier | 238384257742.dkr. ecr.af-south-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  ap-east-1  | arn:aws:sagemaker:ap-east-1:493642496378:image/resource-identifier | arn:aws:sagemaker:ap-east-1:523751269255:image/resource-identifier | 523751269255.dkr. ecr.ap-east-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  ap-south-1  | arn:aws:sagemaker:ap-south-1:394103062818:image/resource-identifier | arn:aws:sagemaker:ap-south-1:245090515133:image/resource-identifier | 245090515133.dkr. ecr.ap-south-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  ap-northeast-2  | arn:aws:sagemaker:ap-northeast-2:806072073708:image/resource-identifier | arn:aws:sagemaker:ap-northeast-2:064688005998:image/resource-identifier | 064688005998.dkr. ecr.ap-northeast-2.amazonaws.com/: sagemaker-distribution-prod tag | 
|  ap-southeast-1  | arn:aws:sagemaker:ap-southeast-1:492261229750:image/resource-identifier | arn:aws:sagemaker:ap-southeast-1:022667117163:image/resource-identifier | 022667117163.dkr. ecr.ap-southeast-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  ap-southeast-2  | arn:aws:sagemaker:ap-southeast-2:452832661640:image/resource-identifier | arn:aws:sagemaker:ap-southeast-2:648430277019:image/resource-identifier | 648430277019.dkr. ecr.ap-southeast-2.amazonaws.com/sagemaker-distribution-prod: tag | 
|  ap-northeast-1  |  arn:aws:sagemaker:ap-northeast-1:102112518831:image/resource-identifier |  arn:aws:sagemaker:ap-northeast-1:010972774902:image/resource-identifier | 010972774902.dkr. ecr.ap-northeast-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  ca-central-1  | arn:aws:sagemaker:ca-central-1:310906938811:image/resource-identifier | arn:aws:sagemaker:ca-central-1:481561238223:image/resource-identifier | 481561238223.dkr. ecr.ca-central-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  eu-central-1  | arn:aws:sagemaker:eu-central-1:936697816551:image/resource-identifier | arn:aws:sagemaker:eu-central-1:545423591354:image/resource-identifier | 545423591354.dkr. ecr.eu-central-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  eu-west-1  | arn:aws:sagemaker:eu-west-1:470317259841:image/resource-identifier | arn:aws:sagemaker:eu-west-1:819792524951:image/resource-identifier | 819792524951.dkr. ecr.eu-west-1.amazonaws.com/: sagemaker-distribution-prod tag | 
|  eu-west-2  | arn:aws:sagemaker:eu-west-2:712779665605:image/resource-identifier | arn:aws:sagemaker:eu-west-2:021081402939:image/resource-identifier | 021081402939.dkr. ecr.eu-west-2.amazonaws.com/: sagemaker-distribution-prod tag | 
|  eu-west-3  | arn:aws:sagemaker:eu-west-3:615547856133:image/resource-identifier | arn:aws:sagemaker:eu-west-3:856416204555:image/resource-identifier | 856416204555.dkr. ecr.eu-west-3.amazonaws.com/sagemaker-distribution-prod: tag | 
|  eu-north-1  | arn:aws:sagemaker:eu-north-1:243637512696:image/resource-identifier | arn:aws:sagemaker:eu-north-1:175620155138:image/resource-identifier | 175620155138.dkr. ecr.eu-north-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  eu-south-1  | arn:aws:sagemaker:eu-south-1:592751261982:image/resource-identifier | arn:aws:sagemaker:eu-south-1:810671768855:image/resource-identifier | 810671768855.dkr. ecr.eu-south-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  sa-east-1  | arn:aws:sagemaker:sa-east-1:782484402741:image/resource-identifier | arn:aws:sagemaker:sa-east-1:567556641782:image/resource-identifier | 567556641782.dkr. ecr.sa-east-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  ap-northeast-3  | arn:aws:sagemaker:ap-northeast-3:792733760839:image/resource-identifier | arn:aws:sagemaker:ap-northeast-3:564864627153:image/resource-identifier | 564864627153.dkr. ecr.ap-northeast-3.amazonaws.com/: sagemaker-distribution-prod tag | 
|  ap-southeast-3  | arn:aws:sagemaker:ap-southeast-3:276181064229:image/resource-identifier | arn:aws:sagemaker:ap-southeast-3:370607712162:image/resource-identifier | 370607712162.dkr. ecr.ap-southeast-3.amazonaws.com/: sagemaker-distribution-prod tag | 
|  me-south-1  | arn:aws:sagemaker:me-south-1:117516905037:image/resource-identifier | arn:aws:sagemaker:me-south-1:523774347010:image/resource-identifier | 523774347010.dkr. ecr.me-south-1.amazonaws.com/sagemaker-distribution-prod: tag | 
|  me-central-1  | arn:aws:sagemaker:me-central-1:103105715889:image/resource-identifier | arn:aws:sagemaker:me-central-1:358593528301:image/resource-identifier | 358593528301.dkr. ecr.me-central-1.amazonaws.com/: sagemaker-distribution-prod tag | 

## Unterstützte URI-Tags
<a name="notebooks-available-uri-tag"></a>

Die folgende Liste zeigt die Tags, die Sie in Ihre Image-URI aufnehmen können.
+ 1-cpu
+ 1-gpu
+ 0-cpu
+ 0-gpu

**Die folgenden Beispiele zeigen mit verschiedenen Tag-Formaten: URIs **
+ 542918446943.dkr. ecr.us-west-2.amazonaws.com /:1-cpu sagemaker-distribution-prod
+ 542918446943.dkr. ecr.us-west-2.amazonaws.com /:0-gpu sagemaker-distribution-prod

## Unterstützte Images
<a name="notebooks-available-images-supported"></a>

Die folgende Tabelle enthält Informationen über die SageMaker Images und die zugehörigen Kernel, die in Amazon SageMaker Studio Classic verfügbar sind. Außerdem finden Sie hier Informationen zur Ressourcen-ID und zur Python-Version, die im Image enthalten sind.

SageMaker Bilder und Kernel


| SageMaker Bild | Description | Ressourcen-ID | Kernel (und Kennung) | Python-Version | 
| --- | --- | --- | --- | --- | 
| Base Python 4.3 | Offizielles Python 3.11-Image von DockerHub mit Boto3 und enthalten. AWS CLI  | sagemaker-base-python-v4 | Python 3 (Python3) | Python 3.11 | 
| Base Python 4.2 | Offizielles Python 3.11-Image von DockerHub mit Boto3 und enthalten. AWS CLI  | sagemaker-base-python-v4 | Python 3 (Python3) | Python 3.11 | 
| Base Python 4.1 | Offizielles Python 3.11-Image von DockerHub mit Boto3 und enthalten. AWS CLI  | sagemaker-base-python-v4 | Python 3 (Python3) | Python 3.11 | 
| Base Python 4.0 | Offizielles Python 3.11-Image von DockerHub mit Boto3 und enthalten. AWS CLI  | sagemaker-base-python-v4 | Python 3 (Python3) | Python 3.11 | 
| Base Python 3.0 | Offizielles Python 3.10-Image von DockerHub mit Boto3 und enthalten. AWS CLI  | sagemaker-base-python-310-v1 | Python 3 (Python3) | Python 3.10 | 
| Data Science 5.3 | Data Science 5.3 ist ein Python 3.11 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version jammy-20240212 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-v5 | Python 3 (Python3) | Python 3.11 | 
| Data Science 5.2 | Data Science 5.2 ist ein Python 3.11 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version jammy-20240212 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-v5 | Python 3 (Python3) | Python 3.11 | 
| Data Science 5.1 | Data Science 5.1 ist ein Python 3.11 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version jammy-20240212 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-v5 | Python 3 (Python3) | Python 3.11 | 
| Data Science 5.0 | Data Science 5.0 ist ein Python 3.11 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version jammy-20240212 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-v5 | Python 3 (Python3) | Python 3.11 | 
| Data Science 4.0 | Data Science 4.0 ist ein Python 3.11 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version 22.04 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-311-v1 | Python 3 (Python3) | Python 3.11 | 
| Data Science 3.0 | Data Science 3.0 ist ein Python 3.10 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image, das auf der Ubuntu-Version 22.04 basiert. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-310-v1 | Python 3 (Python3) | Python 3.10 | 
| Geospatial 1.0 | Amazon SageMaker Geospatial ist ein Python-Image, das aus häufig verwendeten Geodatenbibliotheken wie GDAL, Fiona GeoPandas, Shapley und Rasterio besteht. Es ermöglicht Ihnen, Geodaten innerhalb von KI zu visualisieren. SageMaker Weitere Informationen finden Sie unter [Amazon SageMaker Geospatial Notebook SDK](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-notebook-sdk.html) | Sagemaker-Geospatial-1.0 | Python 3 (Python3) | Python 3.10 | 
| SparkAnalytics 4.3 | Das SparkAnalytics 4.3-Image bietet Spark- und PySpark Kernel-Optionen für Amazon SageMaker Studio Classic, einschließlich SparkMagic Spark SparkMagic PySpark, Glue, Spark und Glue PySpark, die eine flexible verteilte Datenverarbeitung ermöglichen. | sagemaker-spark-analytics-v4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.11 | 
| SparkAnalytics 4.2 | Das SparkAnalytics 4.2-Image bietet Spark- und PySpark Kernel-Optionen für Amazon SageMaker Studio Classic, einschließlich SparkMagic Spark SparkMagic PySpark, Glue, Spark und Glue PySpark, die eine flexible verteilte Datenverarbeitung ermöglichen. | sagemaker-spark-analytics-v4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.11 | 
| SparkAnalytics 4.1 | Das SparkAnalytics 4.1-Image bietet Spark- und PySpark Kernel-Optionen für Amazon SageMaker Studio Classic, einschließlich SparkMagic Spark SparkMagic PySpark, Glue, Spark und Glue PySpark, die eine flexible verteilte Datenverarbeitung ermöglichen. | sagemaker-spark-analytics-v4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.11 | 
| SparkAnalytics 4.0 | Das SparkAnalytics 4.0-Image bietet Spark- und PySpark Kernel-Optionen auf Amazon SageMaker Studio Classic, einschließlich SparkMagic Spark SparkMagic PySpark, Glue, Spark und Glue PySpark, die eine flexible verteilte Datenverarbeitung ermöglichen. | sagemaker-spark-analytics-v4 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.11 | 
| SparkAnalytics 3.0 | Das SparkAnalytics 3.0-Image bietet Spark- und PySpark Kernel-Optionen für Amazon SageMaker Studio Classic, einschließlich SparkMagic Spark, Glue SparkMagic PySpark, Spark und Glue PySpark, und ermöglicht so eine flexible verteilte Datenverarbeitung. | Sagemaker-SparkAnalytics-311-v1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html) | Python 3.11 | 
| SparkAnalytics 2.0 | Anaconda Individual Edition mit PySpark und Spark-Kerneln. Weitere Informationen finden Sie unter [sparkmagic](https://github.com/jupyter-incubator/sparkmagic). | sagemaker-sparkanalytics-310-v1 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html) | Python 3.10 | 
| PyTorch 2.4.0 Python 3.11 CPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.4.0 mit CUDA 12.4 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.4.0-cpu-py311 | Python 3 (Python3) | Python 3.11 | 
| PyTorch 2.4.0 Python 3.11 GPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.4.0 mit CUDA 12.4 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.4.0-gpu-py311 | Python 3 (Python3) | Python 3.11 | 
| PyTorch 2.3.0 Python 3.11 CPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.3.0 mit CUDA 12.1 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.3.0-cpu-py311 | Python 3 (Python3) | Python 3.11 | 
| PyTorch 2.3.0 Python 3.11 GPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.3.0 mit CUDA 12.1 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.3.0-gpu-py311 | Python 3 (Python3) | Python 3.11 | 
| PyTorch 2.2.0 Python 3.10 CPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.2 mit CUDA 12.1 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.2.0-cpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.2.0 Python 3.10 GPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.2 mit CUDA 12.1 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.2.0-gpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.1.0 Python 3.10 CPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.1 mit CUDA 12.1 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.1.0-cpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.1.0 Python 3.10 GPU-optimiert | Die AWS Deep Learning Containers für PyTorch 2.1 mit CUDA 12.1 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.1.0-gpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 1.13 HuggingFace Python 3.10 Neuron Optimiert | PyTorch 1.13 Image mit installierten Neuron-Paketen für das Training auf Trainium-Instanzen, die für Leistung HuggingFace und Skalierung optimiert sind. AWS | hf-neuron-pypytorch-1.13-310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 1.13 Python 3.10 Neuron Optimiert | PyTorch 1.13-Image mit installierten Neuron-Paketen für das Training auf Trainium-Instanzen, die für Leistung und Skalierung optimiert sind. AWS | pytorch-1.13-neuron-py310 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.14.0 Python 3.10 CPU-optimiert | Die AWS Deep Learning Containers für TensorFlow 2.14 mit CUDA 11.8 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.14.1-cpu-py310-ubuntu20.04-sagemaker-v1.0 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.14.0 Python 3.10 GPU-optimiert | Die AWS Deep Learning Containers für TensorFlow 2.14 mit CUDA 11.8 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.14.1-gpu-py310-cu118-ubuntu20.04-sagemaker-v1.0 | Python 3 (Python3) | Python 3.10 | 

## Images, die zur Vernachlässigung vorgesehen sind
<a name="notebooks-available-images-deprecation"></a>

SageMaker KI beendet die Unterstützung für Bilder am Tag, nachdem eines der Pakete im Image vom Herausgeber das Ende der Nutzungsdauer erreicht hat. Die folgenden SageMaker Bilder werden voraussichtlich nicht mehr unterstützt. 

Bilder, die auf Python 3.8 basieren, [end-of-life](https://endoflife.date/python)wurden am 31. Oktober 2024 erreicht. Ab dem 1. November 2024 wird SageMaker KI die Unterstützung für diese Bilder einstellen und sie werden nicht mehr in der Studio Classic-Benutzeroberfläche auswählbar sein. Wenn Sie eines dieser Images verwenden, empfehlen wir Ihnen, zu einem Image mit einer neueren Version zu wechseln, um Verstöße gegen die Vorschriften zu vermeiden.

SageMaker Bilder, die als veraltet gelten sollen


| SageMaker Bild | Datum der Veraltung | Description | Ressourcen-ID | Kernel | Python-Version | 
| --- | --- | --- | --- | --- | --- | 
| SageMaker Verteilung v0.12 CPU | 1. November 2024 | SageMaker Distribution v0 CPU ist ein Python 3.8-Image, das beliebte Frameworks für Machine Learning, Datenwissenschaft und Visualisierung auf der CPU enthält. Dazu gehören Deep-Learning-Frameworks wie Keras PyTorch, TensorFlow beliebte Python-Pakete wie numpy, scikit-learn und pandas sowie Jupyter Lab. IDEs Weitere Informationen finden Sie im [Amazon SageMaker AI Distribution-Repo](https://github.com/aws/sagemaker-distribution).  | sagemaker-distribution-cpu-v0 | Python 3 (Python3) | Python 3.8 | 
| SageMaker Distribution v0.12 GPU | 1. November 2024 | SageMaker Distribution v0 GPU ist ein Python 3.8-Image, das beliebte Frameworks für Machine Learning, Datenwissenschaft und Visualisierung auf GPU enthält. Dazu gehören Deep-Learning-Frameworks wie Keras PyTorch, TensorFlow beliebte Python-Pakete wie numpy, scikit-learn und pandas sowie Jupyter Lab. IDEs Weitere Informationen finden Sie im [Amazon SageMaker AI Distribution-Repo](https://github.com/aws/sagemaker-distribution).  | sagemaker-distribution-gpu-v0 | Python 3 (Python3) | Python 3.8 | 
| Base Python 2.0 | 1. November 2024 | Offizielles Python 3.8-Image von DockerHub mit boto3 und AWS CLI enthalten. | sagemaker-base-python-38 | Python 3 (Python3) | Python 3.8 | 
| Datenwissenschaft 2.0 | 1. November 2024 | Data Science 2.0 ist ein Python 3.8 [Conda](https://docs.conda.io/projects/conda/en/latest/index.html)-Image basierend auf Ubuntu Version 22.04. Es enthält die am häufigsten verwendeten Python-Pakete und -Bibliotheken wie NumPy and SciKit Learn. | sagemaker-data-science-38 | Python 3 (Python3) | Python 3.8 | 
| PyTorch 1.13 Python 3.9 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.13 mit CUDA 11.3 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-1.13-cpu-py39 | Python 3 (Python3) | Python 3.9 | 
| PyTorch 1.13 Python 3.9 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.13 mit CUDA 11.7 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-1.13-gpu-py39 | Python 3 (Python3) | Python 3.9 | 
| PyTorch 1.12 Python 3.8 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.12 mit CUDA 11.3 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers for PyTorch 1.12.0](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-pytorch-1-12-0-on-sagemaker/). | pytorch-1.12-cpu-py38 | Python 3 (Python3) | Python 3.8 | 
| PyTorch 1.12 Python 3.8 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.12 mit CUDA 11.3 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers for PyTorch 1.12.0](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-pytorch-1-12-0-on-sagemaker/). | pytorch-1.12-gpu-py38 | Python 3 (Python3) | Python 3.8 | 
| PyTorch 1.10 Python 3.8 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.10 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers for PyTorch 1.10.2 auf SageMaker KI](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-pytorch-1-10-2-on-sagemaker/). | pytorch-1.10-cpu-py38 | Python 3 (Python3) | Python 3.8 | 
| PyTorch 1.10 Python 3.8 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 1.10 mit CUDA 11.3 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers for PyTorch 1.10.2 auf SageMaker KI](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-pytorch-1-10-2-on-sagemaker/). | pytorch-1.10-gpu-py38 | Python 3 (Python3) | Python 3.8 | 
| SparkAnalytics 1.0 | 1. November 2024 | Anaconda Individual Edition mit PySpark und Spark-Kerneln. Weitere Informationen finden Sie unter [sparkmagic](https://github.com/jupyter-incubator/sparkmagic). | sagemaker-sparkanalytics-v1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.8 | 
| TensorFlow 2.13.0 Python 3.10 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.13 mit CUDA 11.8 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.13.0-cpu-py310-ubuntu20.04-sagemaker-v1.0 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.13.0 Python 3.10 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.13 mit CUDA 11.8 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.13.0-gpu-py310-cu118-ubuntu20.04-sagemaker-v1.0 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.6 Python 3.8 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.6 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind AWS. Weitere Informationen finden Sie unter [AWS Deep Learning Containers for TensorFlow 2.6](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-tensorflow-2-6/). | tensorflow-2.6-cpu-py38-ubuntu20.04-v1 | Python 3 (Python3) | Python 3.8 | 
| TensorFlow 2.6 Python 3.8 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.6 mit CUDA 11.2 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers for TensorFlow 2.6](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-tensorflow-2-6/). | tensorflow-2.6-gpu-py38-cu112-ubuntu20.04-v1 | Python 3 (Python3) | Python 3.8 | 
| PyTorch 2.0.1 Python 3.10 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 2.0.1 mit CUDA 12.1 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.0.1-cpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.0.1 Python 3.10 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 2.0.1 mit CUDA 12.1 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.0.1-gpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.0.0 Python 3.10 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 2.0.0 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.0.0-cpu-py310 | Python 3 (Python3) | Python 3.10 | 
| PyTorch 2.0.0 Python 3.10 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für PyTorch 2.0.0 mit CUDA 11.8 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | pytorch-2.0.0-gpu-py310 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.12.0 Python 3.10 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.12.0 mit CUDA 11.2 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.12.0-cpu-py310-ubuntu20.04-sagemaker-v1.0 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.12.0 Python 3.10 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.12.0 mit CUDA 11.8 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.12.0-gpu-py310-cu118-ubuntu20.04-sagemaker-v1 | Python 3 (Python3) | Python 3.10 | 
| TensorFlow 2.11.0 Python 3.9 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.11.0 mit CUDA 11.2 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.11.0-cpu-py39-ubuntu20.04-sagemaker-v1.1 | Python 3 (Python3) | Python 3.9 | 
| TensorFlow 2.11.0 Python 3.9 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.11.0 mit CUDA 11.2 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.11.0-gpu-py39-cu112-ubuntu20.04-sagemaker-v1.1 | Python 3 (Python3) | Python 3.9 | 
| TensorFlow 2.10 Python 3.9 CPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.10 mit CUDA 11.2 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.10.1-cpu-py39-ubuntu20.04-sagemaker-v1.2 | Python 3 (Python3) | Python 3.9 | 
| TensorFlow 2.10 Python 3.9 GPU-optimiert | 1. November 2024 | Die AWS Deep Learning Containers für TensorFlow 2.10 mit CUDA 11.2 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie in den [Versionshinweisen für Deep Learning Containers](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/dlc-release-notes.html). | tensorflow-2.10.1-gpu-py39-ubuntu20.04-sagemaker-v1.2 | Python 3 (Python3) | Python 3.9 | 

## Veraltete Images
<a name="notebooks-available-images-deprecated"></a>

SageMaker AI hat die Unterstützung für die folgenden Bilder eingestellt. Die Abkündigung erfolgt am Tag, nachdem eines der Pakete im Image das Ende seiner Lebensdauer durch den Publisher erreicht hat.

SageMaker Bilder, die als veraltet gelten


| SageMaker Bild | Datum der Veraltung | Description | Ressourcen-ID | Kernel | Python-Version | 
| --- | --- | --- | --- | --- | --- | 
| Datenwissenschaft | 30. Oktober 2023 | Data Science ist ein Python [3.7-Conda-Image](https://docs.conda.io/projects/conda/en/latest/index.html) mit den am häufigsten verwendeten Python-Paketen und -Bibliotheken wie NumPy and SciKit Learn. | Datenwissenschaft-1.0 | Python 3 | Python 3.7 | 
| SageMaker JumpStart Datenwissenschaft 1.0 | 30. Oktober 2023 | SageMaker JumpStart Data Science 1.0 ist ein JumpStart Image, das häufig verwendete Pakete und Bibliotheken enthält. | sagemaker-jumpstart-data-science-1.0 | Python 3 | Python 3.7 | 
| SageMaker JumpStart MXNet 1,0 | 30. Oktober 2023 | SageMaker JumpStart MXNet 1.0 ist ein JumpStart Bild, das beinhaltet MXNet. | sagemaker-jumpstart-mxnet-1.0 | Python 3 | Python 3.7 | 
| SageMaker JumpStart PyTorch 1,0 | 30. Oktober 2023 | SageMaker JumpStart PyTorch 1.0 ist ein JumpStart Bild, das beinhaltet PyTorch. | sagemaker-jumpstart-pytorch-1.0 | Python 3 | Python 3.7 | 
| SageMaker JumpStart TensorFlow 1,0 | 30. Oktober 2023 | SageMaker JumpStart TensorFlow 1.0 ist ein JumpStart Bild, das beinhaltet TensorFlow. | sagemaker-jumpstart-tensorflow-1.0 | Python 3 | Python 3.7 | 
| SparkMagic | 30. Oktober 2023 | Anaconda Individual Edition mit PySpark und Spark-Kerneln. Weitere Informationen finden Sie unter [sparkmagic](https://github.com/jupyter-incubator/sparkmagic). | Sagemaker-Sparkmagic |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/notebooks-available-images.html)  | Python 3.7 | 
| TensorFlow 2.3 Python 3.7 CPU-optimiert | 30. Oktober 2023 | Die AWS Deep Learning Containers für TensorFlow 2.3 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind AWS. Weitere Informationen finden Sie unter [AWS Deep Learning Containers with TensorFlow 2.3.0](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-with-tensorflow-2-3-0/). | tensorflow-2.3-cpu-py37-ubuntu18.04-v1 | Python 3 | Python 3.7 | 
| TensorFlow 2.3 Python 3.7 GPU-optimiert | 30. Oktober 2023 | Die AWS Deep Learning Containers für TensorFlow 2.3 mit CUDA 11.0 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers für TensorFlow 2.3.1 mit CUDA](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-for-tensorflow-2-3-1-with-cuda-11-0/) 11.0. | tensorflow-2.3-gpu-py37-cu110-ubuntu18.04-v3 | Python 3 | Python 3.7 | 
| TensorFlow 1.15 Python 3.7 CPU-optimiert | 30. Oktober 2023 | Die AWS Deep Learning Containers für TensorFlow 1.15 enthalten Container für CPU-Trainings, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers v7.0 für TensorFlow](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-v7-0-for-tensorflow/). | tensorflow-1.15-cpu-py37-ubuntu18.04-v7 | Python 3 | Python 3.7 | 
| TensorFlow 1.15 Python 3.7 GPU-optimiert | 30. Oktober 2023 | Die AWS Deep Learning Containers für TensorFlow 1.15 mit CUDA 11.0 enthalten Container für das Training auf der GPU, die für Leistung und Skalierung optimiert sind. AWS Weitere Informationen finden Sie unter [AWS Deep Learning Containers v7.0 für TensorFlow](https://aws.amazon.com/releasenotes/aws-deep-learning-containers-v7-0-for-tensorflow/). | tensorflow-1.15-gpu-py37-cu110-ubuntu18.04-v8 | Python 3 | Python 3.7 | 

# Amazon SageMaker Studio Classic anpassen
<a name="studio-customize"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Es gibt vier Optionen zum Anpassen Ihrer Amazon SageMaker Studio Classic-Umgebung. Sie bringen Ihr eigenes SageMaker Image mit, verwenden ein Lifecycle-Konfigurationsskript, hängen vorgeschlagene Git-Repos an Studio Classic an oder erstellen Kernel mithilfe persistenter Conda-Umgebungen in Amazon EFS. Verwenden Sie jede Option einzeln oder zusammen. 
+ **Bringen Sie Ihr eigenes SageMaker Bild mit:** Ein SageMaker Bild ist eine Datei, die die Kernel, Sprachpakete und andere Abhängigkeiten identifiziert, die für die Ausführung eines Jupyter-Notebooks in Amazon Studio Classic erforderlich sind. SageMaker Amazon SageMaker AI bietet viele integrierte Bilder, die Sie verwenden können. Wenn Sie andere Funktionen benötigen, können Sie Ihre eigenen benutzerdefinierten Images in Studio Classic verwenden.
+ **Verwenden Sie Lebenszykluskonfigurationen mit Amazon SageMaker Studio Classic:** Lebenszykluskonfigurationen sind Shell-Skripts, die durch Lebenszyklusereignisse von Amazon SageMaker Studio Classic ausgelöst werden, z. B. durch das Starten eines neuen Studio Classic-Notebooks. Sie können Lebenszykluskonfigurationen verwenden, um die Anpassung für Ihre Umgebung von Studio Classic zu automatisieren. Sie können beispielsweise benutzerdefinierte Pakete installieren, Notebook-Erweiterungen konfigurieren, Datensätze vorab laden und Quellcode-Repositorys einrichten.
+ **Vorgeschlagene Git-Repos an Studio Classic anhängen:** Sie können das vorgeschlagene Git-Repository URLs auf Amazon SageMaker AI-Domain- oder Benutzerprofilebene anhängen. Anschließend können Sie die Repo-URL aus der Liste der Vorschläge auswählen und sie mithilfe der Git-Erweiterung in Studio Classic in Ihre Umgebung klonen. 
+ **Conda-Umgebungen auf dem Volume von Studio Classic Amazon EFS beibehalten:** Studio verwendet ein Amazon-EFS-Volume als persistente Speicherebene. Sie können Ihre Conda-Umgebung auf diesem Amazon EFS-Volume speichern und dann die gespeicherte Umgebung verwenden, um Kernel zu erstellen. Studio Classic übernimmt automatisch alle gültigen Umgebungen, die in Amazon EFS als KernelGateway Kernel gespeichert sind. Diese Kernel bleiben auch nach einem Neustart von Kernel, App und Studio Classic bestehen. Weitere Informationen finden Sie im Abschnitt **Conda-Umgebungen auf dem Studio Classic EFS-Volume beibehalten** unter [Vier Ansätze zur Verwaltung von Python-Paketen in Amazon SageMaker Studio Classic-Notebooks](https://aws.amazon.com/blogs/machine-learning/four-approaches-to-manage-python-packages-in-amazon-sagemaker-studio-notebooks/).

Die folgenden Themen zeigen, wie Sie diese drei Optionen verwenden können, um Ihre Amazon SageMaker Studio Classic-Umgebung anzupassen.

**Topics**
+ [Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic](studio-byoi.md)
+ [Verwenden Sie Lebenszykluskonfigurationen, um Amazon SageMaker Studio Classic anzupassen](studio-lcc.md)
+ [Vorgeschlagene Git-Repos an Amazon SageMaker Studio Classic anhängen](studio-git-attach.md)

# Benutzerdefinierte Bilder in Amazon SageMaker Studio Classic
<a name="studio-byoi"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Ein SageMaker Bild ist eine Datei, die die Kernel, Sprachpakete und andere Abhängigkeiten identifiziert, die für die Ausführung eines Jupyter-Notebooks in Amazon Studio Classic erforderlich sind. SageMaker Diese Images werden verwendet, um eine Umgebung zu erstellen, in der Sie dann Jupyter Notebooks ausführen. Amazon SageMaker AI bietet viele integrierte Bilder, die Sie verwenden können. Eine Liste der integrierten Images finden Sie unter [SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md).

Wenn Sie andere Funktionen benötigen, können Sie Ihre eigenen benutzerdefinierten Images in Studio Classic verwenden. Sie können Bilder und Image-Versionen erstellen und Image-Versionen an Ihre Domain oder Ihren gemeinsamen Bereich anhängen, indem Sie das SageMaker AI-Kontrollpanel [AWS SDK für Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html), das und das [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/) verwenden. Sie können mit der SageMaker KI-Konsole auch Bilder und Bildversionen erstellen, auch wenn Sie noch nicht Mitglied einer SageMaker AI-Domain sind. SageMaker AI stellt Dockerfiles-Beispieldateien zur Verfügung, die Sie als Ausgangspunkt für Ihre benutzerdefinierten SageMaker Bilder im [SageMaker Studio Classic-Repository für benutzerdefinierte](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/) Bilder verwenden können.

In den folgenden Themen wird erklärt, wie Sie mithilfe der SageMaker AI-Konsole Ihr eigenes Bild hinzufügen oder AWS CLI das Image anschließend in Studio Classic starten können. Einen ähnlichen Blogartikel finden Sie unter [Bring your own R environment to Amazon SageMaker Studio Classic](https://aws.amazon.com/blogs/machine-learning/bringing-your-own-r-environment-to-amazon-sagemaker-studio/). Notizbücher, in denen gezeigt wird, wie Sie Ihr eigenes Bild für Schulungen und Inferenzen mitbringen, finden Sie unter [Amazon SageMaker Studio Classic Container Build CLI](https://github.com/aws/amazon-sagemaker-examples/tree/main/aws_sagemaker_studio/sagemaker_studio_image_build).

## Wichtige Begriffe
<a name="studio-byoi-basics"></a>

Im folgenden Abschnitt werden die wichtigsten Begriffe für die Verwendung Ihres eigenen Images mit Studio Classic definiert.
+ **Dockerfile:** Ein Dockerfile ist eine Datei, die die Sprachpakete und andere Abhängigkeiten für Ihr Docker-Image identifiziert.
+ **Docker-Image**: Das Docker-Image ist ein gebautes Dockerfile. Dieses Bild wird in Amazon ECR eingecheckt und dient als Grundlage für das SageMaker KI-Bild.
+ **SageMaker Bild:** Ein SageMaker Bild ist ein Halter für eine Reihe von SageMaker AI-Image-Versionen, die auf Docker-Images basieren. Jede Image-Version ist unveränderlich.
+ **Image-Version:** Eine Image-Version eines SageMaker Images stellt ein Docker-Image dar und wird in einem Amazon ECR-Repository gespeichert. Jede Image-Version ist unveränderlich. Diese Image-Versionen können an eine Domain oder einen gemeinsam genutzten Bereich angehängt und mit Studio Classic verwendet werden.

**Topics**
+ [Wichtige Begriffe](#studio-byoi-basics)
+ [Benutzerdefinierte SageMaker Bildspezifikationen für Amazon SageMaker Studio Classic](studio-byoi-specs.md)
+ [Voraussetzungen für benutzerdefinierte Images in Amazon SageMaker Studio Classic](studio-byoi-prereq.md)
+ [Fügen Sie ein mit Amazon SageMaker Studio Classic kompatibles Docker-Image zu Amazon ECR hinzu](studio-byoi-sdk-add-container-image.md)
+ [Erstellen Sie ein benutzerdefiniertes SageMaker Image für Amazon SageMaker Studio Classic](studio-byoi-create.md)
+ [Ein benutzerdefiniertes SageMaker Bild in Amazon SageMaker Studio Classic anhängen](studio-byoi-attach.md)
+ [Starten Sie ein benutzerdefiniertes SageMaker Image in Amazon SageMaker Studio Classic](studio-byoi-launch.md)
+ [Ressourcen für benutzerdefinierte Bilder in Amazon SageMaker Studio Classic bereinigen](studio-byoi-cleanup.md)

# Benutzerdefinierte SageMaker Bildspezifikationen für Amazon SageMaker Studio Classic
<a name="studio-byoi-specs"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Die folgenden Spezifikationen gelten für das Container-Image, das durch eine SageMaker AI-Image-Version dargestellt wird.

**Das Image wird ausgeführt**  
`ENTRYPOINT`und `CMD` Anweisungen werden außer Kraft gesetzt, damit das Image als App ausgeführt werden kann. KernelGateway   
Port 8888 im Image ist für den Betrieb des KernelGateway Webservers reserviert.

**Stoppen des Images**  
Die `DeleteApp`-API gibt das Äquivalent zu einem `docker stop`-Befehl aus. Andere Prozesse im Container erhalten die SIGKILL/SIGTERM Signale nicht.

**Kernel-Erkennung**  
SageMaker [KI erkennt Kernel so, wie sie in den Jupyter-Kernelspezifikationen definiert sind.](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)  
Sie können eine Liste von Kerneln angeben, die angezeigt werden sollen, bevor das Image ausgeführt wird. Wenn nicht angegeben, wird Python3 angezeigt. Verwenden Sie die [DescribeAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html)API, um die Liste der Kernel anzuzeigen.  
Conda-Umgebungen werden standardmäßig als Kernel-Spezifikationen erkannt. 

**Dateisystem**  
Die Verzeichnisse `/opt/.sagemakerinternal` und `/opt/ml` sind reserviert. Alle Daten in diesen Verzeichnissen sind zur Laufzeit möglicherweise nicht sichtbar.

**Benutzerdaten**  
Jeder Benutzer in einer Domain erhält ein Benutzerverzeichnis auf einem gemeinsam genutzten Amazon Elastic File System-Volume im Image. Der Speicherort des aktuellen Benutzerverzeichnisses auf dem Amazon EFS-Volume ist konfigurierbar. Standardmäßig ist der Speicherort des Verzeichnisses `/home/sagemaker-user`.  
SageMaker AI konfiguriert UID/GID POSIX-Zuordnungen zwischen dem Image und dem Host. Standardmäßig werden die des Root-Benutzers UID/GID (0/0) dem auf dem Host zugeordnet. UID/GID   
Sie können diese Werte mithilfe der [CreateAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html)API angeben.

**GID/UID-Grenzwerte**  
Amazon SageMaker Studio Classic unterstützt nur die folgenden `DefaultUID` und `DefaultGID` Kombinationen:   
+  defaultUID: 1000 und defaultGID: 100, was einem Benutzer ohne Privilegien entspricht.
+  defaultUID: 0 und defaultGID: 0, was dem Root-Zugriff entspricht.

**Metadaten**  
Eine Metadatendatei befindet sich unter. `/opt/ml/metadata/resource-metadata.json` Den im Image definierten Variablen werden keine zusätzlichen Umgebungsvariablen hinzugefügt. Weitere Informationen finden Sie unter [Abrufen von App-Metadaten](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app).

**GPU**  
Auf einer GPU-Instance wird das Image mit der `--gpus` Option ausgeführt. Nur das CUDA-Toolkit sollte im Image enthalten sein, nicht die NVIDIA-Treiber. Weitere Informationen finden Sie im [NVIDIA Benutzerhandbuch](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html).

**Metriken und Protokollierung**  
Protokolle des KernelGateway Prozesses werden CloudWatch im Kundenkonto an Amazon gesendet. Der Name der Protokollgruppe ist `/aws/sagemaker/studio`. Der Name des Protokollstream ist `$domainID/$userProfileName/KernelGateway/$appName`.

**Größe des Images**  
Limitiert auf 35 GB. Führen Sie den Befehl aus, um die Größe Ihres Images anzuzeigen`docker image ls`.  


## Beispiel-Dockerfile
<a name="studio-byoi-specs-sample"></a>

Die folgende Beispiel-Dockerfile erstellt ein Image, das auf Amazon Linux 2 basiert, installiert Pakete von Drittanbietern und den `python3` Kernel und legt den Bereich auf den Benutzer ohne Zugriffsrechte fest.

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2

ARG NB_USER="sagemaker-user"
ARG NB_UID="1000"
ARG NB_GID="100"

RUN \
    yum install --assumeyes python3 shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all && \
    jupyter-activity-monitor-extension \
    python3 -m pip install ipykernel && \
    python3 -m ipykernel install

USER ${NB_UID}
```

# Voraussetzungen für benutzerdefinierte Images in Amazon SageMaker Studio Classic
<a name="studio-byoi-prereq"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie müssen die folgenden Voraussetzungen erfüllen, um Ihren eigenen Container zur Verwendung mit Amazon SageMaker Studio Classic mitbringen zu können.
+ Die Docker-Anwendung. Informationen zum Einrichten von Docker finden Sie unter [Orientierung und Einrichtung](https://docs.docker.com/get-started/).
+ Installieren Sie den, AWS CLI indem Sie den Schritten unter [Erste Schritte mit dem](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) folgen AWS CLI.
+ Eine lokale Kopie einer beliebigen Dockerfile zum Erstellen eines mit Studio Classic kompatiblen Images. Beispiele für benutzerdefinierte Bilder finden Sie im [SageMaker AI Studio Classic-Repository mit Beispielen für benutzerdefinierte Bilder](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/).
+ Berechtigungen für den Zugriff auf den Service Amazon Elastic Container Registry (Amazon ECR). Weitere Informationen finden Sie unter [Amazon ECR-verwaltete Richtlinien](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html).
+ Eine AWS Identity and Access Management Ausführungsrolle, der die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt ist. Wenn Sie sich für die Amazon SageMaker AI-Domain angemeldet haben, können Sie die Rolle im Bereich **Domain-Zusammenfassung** des SageMaker AI-Kontrollpanels abrufen.
+ Installieren Sie die Studio Classic-Image-Build-CLI, indem Sie den Schritten unter [SageMaker Docker Build](https://github.com/aws-samples/sagemaker-studio-image-build-cli) folgen. Mit dieser CLI können Sie ein Dockerfile erstellen mit. AWS CodeBuild

# Fügen Sie ein mit Amazon SageMaker Studio Classic kompatibles Docker-Image zu Amazon ECR hinzu
<a name="studio-byoi-sdk-add-container-image"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie führen die folgenden Schritte aus, um ein Container-Image zu Amazon ECR hinzuzufügen:
+ Erstellen Sie ein Amazon-ECR-Repository.
+ Authentifizieren bei Amazon ECR.
+ Erstellen Sie ein Docker-Image, das mit Studio Classic kompatibel ist.
+ Übertragen Sie das Image in das Amazon-ECR-Repository.

**Anmerkung**  
Das Amazon ECR-Repository muss sich im selben Verzeichnis AWS-Region wie Studio Classic befinden.

**Um ein Container-Image zu erstellen und zu Amazon ECR hinzuzufügen**

1. Erstellen Sie ein Amazon ECR-Repository unter Verwendung des AWS CLI. Informationen zum Erstellen des Repositorys mithilfe der Amazon ECR-Konsole finden Sie unter [Erstellen eines Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --repository-name smstudio-custom \
       --image-scanning-configuration scanOnPush=true
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "repository": {
           "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/smstudio-custom",
           "registryId": "acct-id",
           "repositoryName": "smstudio-custom",
           "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/smstudio-custom",
           ...
       }
   }
   ```

1. Erstellen Sie das `Dockerfile` mit der Image-Build-CLI von Studio Classic. Der Punkt (.) gibt an, dass sich das Dockerfile im Kontext des Build-Befehls befinden sollte. Dieser Befehl erstellt das Image und lädt das erstellte Image in das ECR-Repo hoch. Anschließend wird der Image-URI ausgegeben.

   ```
   sm-docker build . --repository smstudio-custom:custom
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   Image URI: <acct-id>.dkr.ecr.<region>.amazonaws.com/<image_name>
   ```

# Erstellen Sie ein benutzerdefiniertes SageMaker Image für Amazon SageMaker Studio Classic
<a name="studio-byoi-create"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In diesem Thema wird beschrieben, wie Sie mit der SageMaker AI-Konsole oder ein benutzerdefiniertes SageMaker Image erstellen können AWS CLI.

Wenn Sie ein Image von der Konsole aus erstellen, erstellt SageMaker AI auch eine erste Image-Version. Die Image-Version repräsentiert ein Container-Image in [Amazon Elastic Container Registry (ECR)](https://console.aws.amazon.com/ecr/). Das Container-Image muss die Anforderungen erfüllen, um in Amazon SageMaker Studio Classic verwendet werden zu können. Weitere Informationen finden Sie unter [Benutzerdefinierte SageMaker Bildspezifikationen für Amazon SageMaker Studio Classic](studio-byoi-specs.md). Informationen zum lokalen Testen Ihres Images und zum Beheben häufig auftretender Probleme finden Sie im [SageMaker Studio Classic-Repo mit benutzerdefinierten Imagebeispielen](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md).

Nachdem Sie Ihr benutzerdefiniertes SageMaker Image erstellt haben, müssen Sie es an Ihre Domain oder Ihren gemeinsam genutzten Bereich anhängen, um es mit Studio Classic verwenden zu können. Weitere Informationen finden Sie unter [Ein benutzerdefiniertes SageMaker Bild in Amazon SageMaker Studio Classic anhängen](studio-byoi-attach.md).

## Erstellen Sie ein SageMaker Image von der Konsole aus
<a name="studio-byoi-create-console"></a>

Im folgenden Abschnitt wird gezeigt, wie Sie ein benutzerdefiniertes SageMaker Image von der SageMaker AI-Konsole aus erstellen.

**So erstellen Sie ein Image**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Images**. 

1. Wählen Sie auf der Seite **Benutzerdefinierte Images** die Option **Image erstellen** aus.

1. Geben Sie als **Image-Quelle** den Registry-Pfad zum Container-Image in Amazon ECR ein. Der Pfad hat das folgende Format:

   ` acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest] `

1. Wählen Sie **Next**.

1. Geben Sie unter **Image-Eigenschaften** Folgendes ein:
   + Image-Name – Der Name muss für Ihr Konto in der aktuellen AWS-Region eindeutig sein.
   + (Optional) Anzeigename – der Name, der auf der Studio-Classic-Benutzeroberfläche angezeigt wird. Wenn nicht angegeben, wird `Image name` angezeigt.
   + (Optional) Beschreibung – Eine Beschreibung des Images.
   + IAM-Rolle — Der Rolle muss die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt sein. Verwenden Sie das Dropdown-Menü, um eine der folgenden Optionen zu wählen:
     + Eine neue Rolle erstellen – Geben Sie alle zusätzlichen Amazon Simple Storage Service (Amazon S3)-Buckets an, auf die die Benutzer Ihrer Notebooks zugreifen können sollen. Wenn Sie den Zugriff auf zusätzliche Bereiche nicht zulassen möchten, wählen Sie **Keine**.

       SageMaker KI ordnet die `AmazonSageMakerFullAccess` Richtlinie der Rolle zu. Die Rolle ermöglicht Benutzern Ihrer Notebooks den Zugriff auf die S3-Buckets, die neben den Häkchen aufgeführt sind.
     + Geben Sie einen benutzerdefinierten IAM-Rollen-ARN ein – Geben Sie den Amazon-Ressourcennamen (ARN) Ihrer IAM-Rolle ein.
     + Bestehende Rolle verwenden – Wählen Sie eine Ihrer vorhandenen Rollen aus der Liste aus.
   + (Optional) Image-Tags – Wählen Sie **Neues Tag hinzufügen**. Sie können bis zu 50 Tags hinzufügen. Tags können über die Studio Classic-Benutzeroberfläche, die SageMaker AI-Konsole oder die SageMaker `Search` KI-API durchsucht werden.

1. Wählen Sie **Absenden** aus.

Das neue Image wird in der Liste **Benutzerdefinierte Images** angezeigt und kurz hervorgehoben. Nachdem das Image erfolgreich erstellt wurde, können Sie den Namen des Images wählen, um seine Eigenschaften anzuzeigen, oder **Version erstellen** wählen, um eine weitere Version zu erstellen.

**Um eine weitere Image-Version zu erstellen**

1. Wählen Sie **Version erstellen** in derselben Zeile wie das Image aus.

1. Geben Sie als **Image-Quelle** den Registry-Pfad zum Amazon ECR-Container-Image ein. Das Container-Image sollte nicht dasselbe Bild sein, das in einer früheren Version des SageMaker Images verwendet wurde.

## Erstellen Sie ein SageMaker Bild aus dem AWS CLI
<a name="studio-byoi-sdk-create-image"></a>

Sie führen die folgenden Schritte aus, um mit dem SageMaker Container-Image ein Image zu erstellen AWS CLI.
+ Erstellen einer `Image` VPC
+ Erstellen einer `ImageVersion` VPC
+ Erstellen einer Konfigurationsdatei
+ Erstellen einer `AppImageConfig`.

**Um die SageMaker Image-Entitäten zu erstellen**

1. Erstellen Sie ein SageMaker Bild.

   ```
   aws sagemaker create-image \
       --image-name custom-image \
       --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image"
   }
   ```

1. Erstellen Sie eine SageMaker Image-Version aus dem Container-Image.

   ```
   aws sagemaker create-image-version \
       --image-name custom-image \
       --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1"
   }
   ```

1. Überprüfen Sie, ob die Image-Version erfolgreich erstellt wurde.

   ```
   aws sagemaker describe-image-version \
       --image-name custom-image \
       --version-number 1
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1",
       "ImageVersionStatus": "CREATED"
   }
   ```
**Anmerkung**  
Wenn die Antwort lautet`"ImageVersionStatus": "CREATED_FAILED"`, enthält die Antwort auch den Grund für den Fehler. Ein Problem mit Berechtigungen ist eine häufige Fehlerursache. Sie können auch Ihre CloudWatch Amazon-Protokolle überprüfen, wenn beim Starten oder Ausführen der KernelGateway App für ein benutzerdefiniertes Image ein Fehler auftritt. Der Name der Protokollgruppe ist `/aws/sagemaker/studio`. Der Name des Protokollstroms ist `$domainID/$userProfileName/KernelGateway/$appName`.

1. Erstellen Sie eine Konfigurationsdatei mit dem Namen `app-image-config-input.json`. Der `Name` Wert von `KernelSpecs` muss mit dem Namen des KernelSpec übereinstimmen, der in dem mit diesem `AppImageConfig` verbundenen Image verfügbar ist. Bei diesem Wert ist die Groß- und Kleinschreibung zu beachten. Sie können die verfügbaren kernelSpecs in einem Image finden, indem Sie `jupyter-kernelspec list` von einer Shell innerhalb des Containers ausführen. `MountPath` ist der Pfad innerhalb des Images, um Ihr Amazon Elastic File System (Amazon EFS) Home-Verzeichnis zu mounten. Dieser muss sich von dem Pfad unterscheiden, den Sie innerhalb des Containers verwenden, da dieser Pfad überschrieben wird, wenn Ihr Amazon EFS-Home-Verzeichnis bereitgestellt wird.
**Anmerkung**  
Die folgenden `DefaultUID` und `DefaultGID` Kombinationen sind die einzigen akzeptierten Werte:   
 defaultUID: 1000 und defaultGID: 100 
 defaultUID: 0 und defaultGID: 0 

   ```
   {
       "AppImageConfigName": "custom-image-config",
       "KernelGatewayImageConfig": {
           "KernelSpecs": [
               {
                   "Name": "python3",
                   "DisplayName": "Python 3 (ipykernel)"
               }
           ],
           "FileSystemConfig": {
               "MountPath": "/home/sagemaker-user",
               "DefaultUid": 1000,
               "DefaultGid": 100
           }
       }
   }
   ```

1. Erstellen Sie das AppImageConfig mit der im vorherigen Schritt erstellten Datei.

   ```
   aws sagemaker create-app-image-config \
       --cli-input-json file://app-image-config-input.json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config"
   }
   ```

# Ein benutzerdefiniertes SageMaker Bild in Amazon SageMaker Studio Classic anhängen
<a name="studio-byoi-attach"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Um ein benutzerdefiniertes SageMaker Image zu verwenden, müssen Sie eine Version des Images an Ihre Domain oder Ihren gemeinsam genutzten Bereich anhängen. Wenn Sie eine Image-Version anhängen, wird sie im SageMaker Studio Classic Launcher angezeigt und ist in der Dropdownliste **Bild auswählen** verfügbar, mit der Benutzer eine Aktivität starten oder das von einem Notizbuch verwendete Bild ändern können.

Um ein benutzerdefiniertes SageMaker Bild für alle Benutzer innerhalb einer Domain verfügbar zu machen, hängen Sie das Bild an die Domain an. Um ein Image für alle Benutzer in einem gemeinsam genutzten Bereich verfügbar zu machen, können Sie das Image an den gemeinsam genutzten Bereich anhängen. Um ein Image für einen einzelnen Benutzer verfügbar zu machen, hängen Sie das Image an das Profil des Benutzers an. Wenn Sie ein Bild anhängen, verwendet SageMaker AI standardmäßig die neueste Image-Version. Sie können auch eine bestimmte Image-Version anhängen. Nachdem Sie die Version angehängt haben, können Sie die Version im SageMaker AI Launcher oder in der Bildauswahl auswählen, wenn Sie ein Notizbuch starten.

Die Anzahl der Image-Versionen, die zu einem bestimmten Zeitpunkt angehängt werden können, ist eingeschränkt. Wenn Sie das Limit erreicht haben, müssen Sie eine Version trennen, um eine weitere Version des Images anzuhängen.

In den folgenden Abschnitten wird gezeigt, wie Sie mithilfe der SageMaker AI-Konsole oder der ein benutzerdefiniertes SageMaker Bild an Ihre Domain anhängen. AWS CLI Sie können ein benutzerdefiniertes Image nur über AWS CLI an einen Freigabebereich anhängen.

## Hängen Sie das SageMaker Bild an eine Domain an
<a name="studio-byoi-attach-domain"></a>

### Hängen Sie das SageMaker Bild mithilfe der Konsole an
<a name="studio-byoi-attach-existing"></a>

In diesem Thema wird beschrieben, wie Sie über das SageMaker AI-Kontrollpanel eine vorhandene benutzerdefinierte SageMaker Image-Version an Ihre Domain anhängen können. Sie können auch ein benutzerdefiniertes SageMaker Bild und eine Imageversion erstellen und diese Version dann an Ihre Domain anhängen. Informationen zum Erstellen eines Images und einer Image-Version finden Sie unter [Erstellen Sie ein benutzerdefiniertes SageMaker Image für Amazon SageMaker Studio Classic](studio-byoi-create.md).

**Um ein vorhandenes Image anzuhängen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der **Domain**-Seite die Domain aus, an die das Image angefügt werden soll.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie auf der Registerkarte **Umgebung** unter **Custom SageMaker Studio Classic-Bilder, die an die Domain angehängt** sind, die Option **Bild anhängen** aus.

1. Wählen Sie als **Image-Quelle** die Option **Bestehendes Image** aus.

1. Wählen Sie einen vorhandenen Benutzer aus der Liste aus.

1. Wählen Sie eine Version des Images aus der Liste aus.

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie die Werte für **Image-Name**, **Image-Aanzeigename** und **Beschreibung**.

1. Wählen Sie die &IAM; -Rolle () Weitere Informationen finden Sie unter [Erstellen Sie ein benutzerdefiniertes SageMaker Image für Amazon SageMaker Studio Classic](studio-byoi-create.md).

1. (Optional) Fügen Sie Tags für das Image hinzu.

1. Geben Sie den EFS-Bereitstellungspfad an. Dies ist der Pfad innerhalb des Images zum Bereitstellen des Amazon Elastic File System (EFS) -Stammverzeichnisses des Benutzers.

1. Wählen Sie als **Bildtyp** die Option **SageMaker Studio-Image**

1. Geben Sie als **Kernelname** den Namen eines vorhandenen Kernels im Image ein. Informationen zum Abrufen der Kernel-Informationen aus dem Image finden Sie unter [ENTWICKLUNG](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md) im SageMaker Studio Classic Custom Image Samples-Repository. Weitere Informationen finden Sie in den Abschnitten **Kernel-Erkennung** und **Benutzerdaten** von [Benutzerdefinierte SageMaker Bildspezifikationen für Amazon SageMaker Studio Classic](studio-byoi-specs.md).

1. (Optional) Geben Sie unter **Kernel-Anzeigename** den Anzeigenamen für den Kernel ein.

1. Wählen Sie **Kernel hinzufügen**.

1. Wählen Sie **Absenden** aus. 

   1. Warten Sie, bis die Image-Version an die Domain angehängt ist. Wenn die Version angehängt ist, wird sie in der Liste der **benutzerdefinierten Images** angezeigt und kurz hervorgehoben.

### Hängen Sie das SageMaker Bild an, indem Sie AWS CLI
<a name="studio-byoi-sdk-attach"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie ein benutzerdefiniertes SageMaker Bild anhängen, wenn Sie eine neue Domain erstellen oder Ihre bestehende Domain mit dem aktualisieren AWS CLI.

#### Hängen Sie das SageMaker Bild an eine neue Domain an
<a name="studio-byoi-sdk-attach-new-domain"></a>

Der folgende Abschnitt zeigt, wie Sie eine neue Domain mit der angehängten Version erstellen. Für diese Schritte müssen Sie die Amazon Virtual Private Cloud (VPC) -Informationen und die Ausführungsrolle angeben, die für die Erstellung der Domain erforderlich sind. Sie führen die folgenden Schritte aus, um die Domain zu erstellen und das benutzerdefinierte SageMaker Bild anzuhängen:
+ Holen Sie sich Ihre Standard-VPC-ID und Ihr IDs Subnetz.
+ Erstellen Sie die Konfigurationsdatei für die Domain, die das Image spezifiziert.
+ Erstellen Sie die Domain mit der Konfigurationsdatei.

**Um das benutzerdefinierte SageMaker Image zu Ihrer Domain hinzuzufügen**

1. Holen Sie sich Ihre Standard-VPC-ID.

   ```
   aws ec2 describe-vpcs \
       --filters Name=isDefault,Values=true \
       --query "Vpcs[0].VpcId" --output text
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   vpc-xxxxxxxx
   ```

1. Rufen Sie Ihr Standardsubnetz IDs mit der VPC-ID aus dem vorherigen Schritt ab.

   ```
   aws ec2 describe-subnets \
       --filters Name=vpc-id,Values=<vpc-id> \
       --query "Subnets[*].SubnetId" --output json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   [
       "subnet-b55171dd",
       "subnet-8a5f99c6",
       "subnet-e88d1392"
   ]
   ```

1. Erstellen Sie eine Konfigurationsdatei namens `create-domain-input.json`. Fügen Sie die VPC-ID, das Subnetz IDs und `AppImageConfigName` aus den vorherigen Schritten ein. `ImageName` Da `ImageVersionNumber` nicht angegeben ist, wird die neueste Version des Images verwendet, was in diesem Fall die einzige Version ist.

   ```
   {
       "DomainName": "domain-with-custom-image",
       "VpcId": "<vpc-id>",
       "SubnetIds": [
           "<subnet-ids>"
       ],
       "DefaultUserSettings": {
           "ExecutionRole": "<execution-role>",
           "KernelGatewayAppSettings": {
               "CustomImages": [
                   {
                       "ImageName": "custom-image",
                       "AppImageConfigName": "custom-image-config"
                   }
               ]
           }
       },
       "AuthMode": "IAM"
   }
   ```

1. Erstellen Sie die Domain mit dem angehängten benutzerdefinierten SageMaker Image.

   ```
   aws sagemaker create-domain \
       --cli-input-json file://create-domain-input.json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx",
       "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..."
   }
   ```

#### Hängen Sie das SageMaker Bild an Ihre aktuelle Domain an
<a name="studio-byoi-sdk-attach-current-domain"></a>

Wenn Sie bei einer SageMaker AI-Domain angemeldet sind, können Sie das benutzerdefinierte Bild an Ihre aktuelle Domain anhängen. Weitere Informationen zum Onboarding in eine SageMaker AI-Domain finden Sie unter. [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md) Sie müssen die VPC-Informationen und die Ausführungsrolle nicht angeben, wenn Sie ein benutzerdefiniertes Image an Ihre aktuelle Domain anhängen. Nachdem Sie die Version angehängt haben, müssen Sie alle Apps in Ihrer Domain löschen und Studio Classic erneut öffnen. Informationen zum Löschen von Anwendungen finden Sie unter [Löschen Sie eine Amazon SageMaker AI-Domain](gs-studio-delete-domain.md).

Sie führen die folgenden Schritte aus, um das SageMaker Bild zu Ihrer aktuellen Domain hinzuzufügen.
+ Holen Sie sich Ihr `DomainID` aus dem SageMaker AI-Kontrollpanel.
+ Verwenden Sie das `DomainID`, um das `DefaultUserSettings` für die Domain abzurufen.
+ Fügen Sie das `ImageName` und `AppImageConfig` als ein `CustomImage` zum `DefaultUserSettings` hinzu.
+ Aktualisieren Sie Ihre Domain so, dass sie das benutzerdefinierte Image enthält.

**Um das benutzerdefinierte SageMaker Bild zu Ihrer Domain hinzuzufügen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der **Domain**-Seite die Domain aus, an die das Image angefügt werden soll.

1. Wählen Sie auf der Seite mit den **Domain-Details** den Tab **Domaineinstellungen** aus.

1. Auf der Registerkarte **Domaineinstellungen** finden Sie unter **Allgemeine Einstellungen** den Eintrag `DomainId`. Die ID hat das folgende Format: `d-xxxxxxxxxxxx`.

1. Verwenden Sie die Domain-ID, um die Beschreibung der Domain abzurufen.

   ```
   aws sagemaker describe-domain \
       --domain-id <d-xxxxxxxxxxxx>
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       "DefaultUserSettings": {
         "KernelGatewayAppSettings": {
           "CustomImages": [
           ],
           ...
         }
       }
   }
   ```

1. Speichern Sie den Abschnitt mit den Standardbenutzereinstellungen der Antwort in einer Datei mit dem Namen `default-user-settings.json`.

1. Fügen Sie das `ImageName` und `AppImageConfigName` aus den vorherigen Schritten als benutzerdefiniertes Image ein. Da `ImageVersionNumber` nicht angegeben ist, wird die neueste Version des Images verwendet, was in diesem Fall die einzige Version ist.

   ```
   {
       "DefaultUserSettings": {
           "KernelGatewayAppSettings": { 
              "CustomImages": [ 
                 { 
                    "ImageName": "string",
                    "AppImageConfigName": "string"
                 }
              ],
              ...
           }
       }
   }
   ```

1. Verwenden Sie die Domain-ID und die Datei mit den Standardbenutzereinstellungen, um Ihre Domain zu aktualisieren.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-user-settings.json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

## Hängen Sie das SageMaker Bild an einen gemeinsam genutzten Bereich an
<a name="studio-byoi-attach-shared-space"></a>

Sie können das SageMaker Bild nur mit dem an einen gemeinsam genutzten Bereich anhängen AWS CLI. Nachdem Sie die Version angehängt haben, müssen Sie alle Anwendungen in Ihrem gemeinsam genutzten Bereich löschen und Studio Classic erneut öffnen. Informationen zum Löschen von Anwendungen finden Sie unter [Löschen Sie eine Amazon SageMaker AI-Domain](gs-studio-delete-domain.md).

Sie führen die folgenden Schritte aus, um das SageMaker Bild einem gemeinsam genutzten Bereich hinzuzufügen.
+ Holen Sie sich Ihr `DomainID` vom SageMaker AI-Kontrollpanel aus.
+ Verwenden Sie das `DomainID`, um das `DefaultSpaceSettings` für die Domain abzurufen.
+ Fügen Sie das `ImageName` und `AppImageConfig` als ein `CustomImage` zum `DefaultSpaceSettings` hinzu.
+ Aktualisieren Sie Ihre Domain so, dass sie das benutzerdefinierte Image für den gemeinsam genutzten Bereich enthält.

**Um das benutzerdefinierte SageMaker Bild zu Ihrem gemeinsamen Bereich hinzuzufügen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der **Domain**-Seite die Domain aus, an die das Image angefügt werden soll.

1. Wählen Sie auf der Seite mit den **Domain-Details** den Tab **Domaineinstellungen** aus.

1. Auf der Registerkarte **Domaineinstellungen** finden Sie unter **Allgemeine Einstellungen** den Eintrag `DomainId`. Die ID hat das folgende Format: `d-xxxxxxxxxxxx`.

1. Verwenden Sie die Domain-ID, um die Beschreibung der Domain abzurufen.

   ```
   aws sagemaker describe-domain \
       --domain-id <d-xxxxxxxxxxxx>
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       ...
       "DefaultSpaceSettings": {
         "KernelGatewayAppSettings": {
           "CustomImages": [
           ],
           ...
         }
       }
   }
   ```

1. Speichern Sie den Abschnitt mit den standardmäßigen Speichereinstellungen der Antwort in einer Datei mit dem Namen `default-space-settings.json`.

1. Fügen Sie das `ImageName` und `AppImageConfigName` aus den vorherigen Schritten als benutzerdefiniertes Image ein. Da `ImageVersionNumber` nicht angegeben ist, wird die neueste Version des Images verwendet, was in diesem Fall die einzige Version ist.

   ```
   {
       "DefaultSpaceSettings": {
           "KernelGatewayAppSettings": { 
              "CustomImages": [ 
                 { 
                    "ImageName": "string",
                    "AppImageConfigName": "string"
                 }
              ],
              ...
           }
       }
   }
   ```

1. Verwenden Sie die Domain-ID und die Datei mit den Standardeinstellungen für den Speicherplatz, um Ihre Domain zu aktualisieren.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-space-settings.json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

## Sehen Sie sich das angehängte Bild in SageMaker AI an
<a name="studio-byoi-sdk-view"></a>

Nachdem Sie das benutzerdefinierte SageMaker Image erstellt und an Ihre Domain angehängt haben, wird das Bild auf der Registerkarte **Umgebung** der Domain angezeigt. Sie können die angehängten Bilder für gemeinsam genutzte Bereiche nur mit AWS CLI dem folgenden Befehl anzeigen.

```
aws sagemaker describe-domain \
    --domain-id <d-xxxxxxxxxxxx>
```

# Starten Sie ein benutzerdefiniertes SageMaker Image in Amazon SageMaker Studio Classic
<a name="studio-byoi-launch"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Nachdem Sie Ihr benutzerdefiniertes SageMaker Image erstellt und es an Ihre Domain oder Ihren Shared Space angehängt haben, werden das benutzerdefinierte Image und der Kernel in den Selektoren im Dialogfeld „**Umgebung ändern**“ des Studio Classic Launcher angezeigt.

**Um Ihr benutzerdefiniertes Image und Ihren eigenen Kernel zu starten und auszuwählen**

1. Öffnen Sie in Amazon SageMaker Studio Classic den Launcher. Um den Launcher zu öffnen, wählen Sie **Amazon SageMaker Studio Classic** oben links auf der Studio Classic-Oberfläche oder verwenden Sie die Tastenkombination`Ctrl + Shift + L`.

   Weitere Informationen zu allen verfügbaren Möglichkeiten, den Launcher zu öffnen, finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md)  
![\[SageMaker Studio Classic-Launcher.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-new-launcher.png)

1. Wählen Sie im Launcher im Bereich **Notebooks und Rechenressourcen** die Option **Umgebung ändern** aus.

1. Wählen Sie im Dialogfeld **Umgebung ändern** mithilfe der Dropdown-Menüs im Bereich **Benutzerdefiniertes Image** Ihr **Image** und Ihren **Kernel** aus und wählen Sie dann **Auswählen**.

1. Wähle im Launcher **Notebook erstellen** oder **Image-Terminal öffnen**. Ihr Notebook oder Terminal wird mit dem ausgewählten benutzerdefinierten Image und Kernel gestartet.

Informationen zum Ändern Ihres Images oder Kernels in einem geöffneten Notebook finden Sie unter [Ändern Sie das Image oder einen Kernel für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-change-image.md).

**Anmerkung**  
Wenn beim Starten des Images ein Fehler auftritt, überprüfen Sie Ihre CloudWatch Amazon-Protokolle. Der Name der Protokollgruppe ist `/aws/sagemaker/studio`. Der Name des Protokollstroms ist `$domainID/$userProfileName/KernelGateway/$appName`.

# Ressourcen für benutzerdefinierte Bilder in Amazon SageMaker Studio Classic bereinigen
<a name="studio-byoi-cleanup"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In den folgenden Abschnitten wird gezeigt, wie Sie die Ressourcen, die Sie in den vorherigen Abschnitten erstellt haben, von der SageMaker AI-Konsole oder aus bereinigen AWS CLI. Führen Sie die folgenden Schritte aus, um die Ressourcen zu bereinigen:
+ Trennen Sie das Image und die Image-Versionen von Ihrer Domain.
+ Löschen Sie das Image, die Image-Version und die App-Image-Konfiguration.
+ Löschen Sie das Container-Image und das Repository aus Amazon ECR. Weitere Informationen finden Sie unter [Löschen eines Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-delete.html).

## Bereinigen Sie Ressourcen von der SageMaker AI-Konsole aus
<a name="studio-byoi-detach"></a>

Der folgende Abschnitt zeigt, wie Sie Ressourcen von der SageMaker AI-Konsole aus bereinigen.

Wenn Sie ein Image von einer Domain trennen, werden alle Versionen des Images getrennt. Wenn ein Image getrennt wird, verlieren alle Benutzer der Domain den Zugriff auf die Image-Versionen. Ein laufendes Notebook, das eine Kernel-Sitzung auf einer Image-Version hat, wenn die Version getrennt wird, läuft weiter. Wenn das Notebook gestoppt oder der Kernel heruntergefahren wird, ist die Image-Version nicht mehr verfügbar.

**So lösen Sie ein Image**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Images**. 

1. Wählen Sie unter **Benutzerdefinierte SageMaker Studio Classic-Bilder, die an die Domain angehängt** sind, das Bild aus und wählen Sie dann **Trennen** aus.

1. (Optional) Um das Bild und alle Versionen aus SageMaker AI zu löschen, wählen Sie **Auch die ausgewählten Bilder löschen**... . Dadurch werden die zugehörigen Container-Images nicht aus Amazon ECR gelöscht.

1. Wählen Sie **Trennen** aus.

## Säubere Ressourcen aus dem AWS CLI
<a name="studio-byoi-sdk-cleanup"></a>

Im folgenden Abschnitt wird gezeigt, wie man die Ressourcen aus dem AWS CLI bereinigt.

**So bereinigen Sie Ressourcen**

1. Trennen Sie das Image und die Image-Versionen von Ihrer Domain, indem Sie eine leere benutzerdefinierte Image-Liste an die Domain übergeben. Öffnen Sie die `default-user-settings.json`-Datei, die Sie in [Hängen Sie das SageMaker Bild an Ihre aktuelle Domain an](studio-byoi-attach.md#studio-byoi-sdk-attach-current-domain) erstellt haben. Um das Image und die image-Version von einem gemeinsam genutzten Bereich zu trennen, öffnen Sie die `default-space-settings.json` Datei.

1. Löschen Sie die benutzerdefinierten Images und speichern Sie die Datei.

   ```
   "DefaultUserSettings": {
     "KernelGatewayAppSettings": {
        "CustomImages": [
        ],
        ...
     },
     ...
   }
   ```

1. Verwenden Sie die Domain-ID und die Datei mit den Standardbenutzereinstellungen, um Ihre Domain zu aktualisieren. Verwenden Sie die Datei mit den Standardeinstellungen für den Bereich, um Ihren gemeinsam genutzten Bereich zu aktualisieren.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://default-user-settings.json
   ```

   Die Antwort sollte in etwa so aussehen wie die folgende.

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

1. Löschen Sie die App-Image-Konfiguration.

   ```
   aws sagemaker delete-app-image-config \
       --app-image-config-name custom-image-config
   ```

1. Löschen Sie das SageMaker Bild, wodurch auch alle Image-Versionen gelöscht werden. Die Container-Images in ECR, die durch die Image-Versionen repräsentiert werden, werden nicht gelöscht.

   ```
   aws sagemaker delete-image \
       --image-name custom-image
   ```

# Verwenden Sie Lebenszykluskonfigurationen, um Amazon SageMaker Studio Classic anzupassen
<a name="studio-lcc"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic löst Shell-Skripts für Lebenszykluskonfigurationen bei wichtigen Lebenszyklusereignissen aus, z. B. beim Starten eines neuen Studio Classic-Notebooks. Sie können Lebenszykluskonfigurationen verwenden, um die Anpassung für Ihre Umgebung von Studio Classic zu automatisieren. Diese Anpassung umfasst die Installation benutzerdefinierter Pakete, die Konfiguration von Notebook-Erweiterungen, das Vorladen von Datensätzen und die Einrichtung von Quellcode-Repositorys.

Die Verwendung von Lebenszykluskonfigurationen bietet Ihnen Flexibilität und Kontrolle, Studio Classic so zu konfigurieren, dass sie Ihren speziellen Anforderungen entspricht. Beispielsweise können Sie angepasste Container-Images mit Skripten zur Lebenszykluskonfiguration verwenden, um Ihre Umgebung anzupassen. Erstellen Sie zunächst eine minimale Anzahl von Basis-Container-Images und installieren Sie anschließend die am häufigsten verwendeten Pakete und Bibliotheken in diesen Images. Nachdem Sie Ihre Images fertiggestellt haben, verwenden Sie Lebenszykluskonfigurationen, um zusätzliche Pakete für bestimmte Anwendungsfälle zu installieren. Dies bietet Ihnen die Flexibilität, Ihre Umgebung in Ihren Datenwissenschafts- und Machine-Learning-Teams je nach Bedarf anzupassen.

Benutzer können nur Skripte zur Lebenszykluskonfiguration auswählen, auf die sie Zugriff haben. Sie können Zugriff auf mehrere Skripte für die Lebenszykluskonfiguration gewähren, aber auch Standard-Skripte für die Lebenszykluskonfiguration für Ressourcen festlegen. Basierend auf der Ressource, für die die standardmäßige Lebenszykluskonfiguration festgelegt ist, wird die Standardkonfiguration entweder automatisch ausgeführt oder ist die erste angezeigte Option.

Beispiele für Lebenszykluskonfigurationsskripte finden Sie im [ GitHub Repository mit Beispielen für die Lebenszykluskonfiguration von Studio Classic](https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples). Einen Blog zur Implementierung der Lebenszykluskonfiguration finden Sie unter [Anpassen von Amazon SageMaker Studio Classic mithilfe von Lebenszykluskonfigurationen](https://aws.amazon.com/blogs/machine-learning/customize-amazon-sagemaker-studio-using-lifecycle-configurations/).

**Anmerkung**  
Jedes Skript hat ein Limit von **16384 Zeichen**.

**Topics**
+ [Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen](studio-lcc-create.md)
+ [Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md)
+ [Debuggen von Lebenszykluskonfigurationen in Amazon SageMaker Studio Classic](studio-lcc-debug.md)
+ [Lebenszykluskonfigurationen in Amazon SageMaker Studio Classic aktualisieren und trennen](studio-lcc-delete.md)

# Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen
<a name="studio-lcc-create"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker AI bietet interaktive Anwendungen, die die visuelle Oberfläche, die Codeerstellung und das Ausführungserlebnis von Studio Classic ermöglichen. In dieser Serie wird gezeigt, wie Sie eine Lebenszykluskonfiguration erstellen und sie einer SageMaker KI-Domain zuordnen.

Anwendungstypen können entweder `JupyterServer` oder `KernelGateway` sein. 
+ **`JupyterServer`-Anwendungen:** Dieser Anwendungstyp ermöglicht den Zugriff auf die visuelle Oberfläche von Studio Classic. Jeder Benutzer und jeder gemeinsam genutzte Bereich in Studio Classic erhält seine eigene JupyterServer Anwendung.
+ **`KernelGateway`-Anwendungen:** Dieser Anwendungstyp ermöglicht den Zugriff auf die Code-Run-Umgebung und die Kernel für Ihre Studio-Classic-Notebooks und -Terminals. Weitere Informationen finden Sie unter [Jupyter Kernel Gateway](https://jupyter-kernel-gateway.readthedocs.io/en/latest/).

Weitere Informationen zur Architektur von Studio Classic und zu den Studio Classic-Anwendungen finden Sie unter [Verwenden von Amazon SageMaker Studio Classic-Notebooks](https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks.html).

**Topics**
+ [Erstellen Sie eine Lebenszykluskonfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic](studio-lcc-create-cli.md)
+ [Erstellen Sie eine Lifecycle-Konfiguration über die SageMaker AI-Konsole für Amazon SageMaker Studio Classic](studio-lcc-create-console.md)

# Erstellen Sie eine Lebenszykluskonfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic
<a name="studio-lcc-create-cli"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

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

## Voraussetzungen
<a name="studio-lcc-create-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Gehen Sie wie unter beschrieben vor, um in die SageMaker AI-Domain einzusteigen[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Schritt 1: Erstellen einer Lebenszykluskonfiguration
<a name="studio-lcc-create-cli-step1"></a>

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!'
   ```

1. 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`
   ```

1. 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
<a name="studio-lcc-create-cli-step2"></a>

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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html) bzw. [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html) 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 werden soll. 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 Domänen- oder Benutzerprofil mit einer angehängten Lebenszykluskonfiguration aktualisieren, indem Sie den Befehl [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) oder [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)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 [Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md).

## Schritt 3: Starten der Anwendung mit Lebenszykluskonfiguration
<a name="studio-lcc-create-cli-step3"></a>

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 standardmäßigen Lebenszykluskonfiguration nach dem Start einer JupyterServer Anwendung finden Sie unter. [Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md)

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 als Teil des `resource-spec` Parameters übergebene ARN für die Lebenszykluskonfiguration muss Teil der Liste der Lebenszykluskonfigurationen sein, die in `UserSettings` für Ihre Domäne oder Ihr Benutzerprofil oder `SpaceSettings` für einen gemeinsam genutzten Bereich ARNs 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
  ```

# Erstellen Sie eine Lifecycle-Konfiguration über die SageMaker AI-Konsole für Amazon SageMaker Studio Classic
<a name="studio-lcc-create-console"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Das folgende Thema zeigt, wie Sie eine Lebenszykluskonfiguration von der Amazon SageMaker AI-Konsole aus erstellen, um die Anpassung für Ihre Studio Classic-Umgebung zu automatisieren.

## Voraussetzungen
<a name="studio-lcc-create-console-prerequisites"></a>

Bevor Sie mit diesem Lernprogramm beginnen können, müssen Sie die folgenden Voraussetzungen erfüllen:
+ An Bord von Amazon SageMaker Studio Classic. Weitere Informationen finden Sie unter [Integrieren in Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html).

## Schritt 1: Erstellen einer neuen Lebenszykluskonfiguration
<a name="studio-lcc-create-console-step1"></a>

Sie können eine Lebenszykluskonfiguration erstellen, indem Sie ein Skript von der Amazon SageMaker AI-Konsole aus eingeben.

**Anmerkung**  
Jedes Skript kann bis zu **16.384 Zeichen** enthalten.

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

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich die Option **Admin-Konfigurationen** aus.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Lifecycle-Konfigurationen** aus. 

1. Wählen Sie die Registerkarte **Studio**.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

1. Wählen Sie unter **Konfigurationstyp auswählen** den Anwendungstyp aus, an den die Lebenszykluskonfiguration angehängt werden soll. Weitere Informationen zur Auswahl der Anwendung, an die die Lebenszykluskonfiguration angehängt werden soll, finden Sie unter [Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md).

1. Wählen Sie **Weiter** aus.

1. Geben Sie im Abschnitt **Konfigurationseinstellungen** einen Namen für Ihre Lebenszykluskonfiguration ein.

1. Geben Sie im Abschnitt **Skripte** den folgenden Inhalt ein.

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. (Optional) Erstellen Sie ein Tag für Ihre Lebenszykluskonfiguration.

1. Wählen Sie **Absenden** aus.

## Schritt 2: Anfügen der Lebenszykluskonfiguration an eine Domain oder ein Benutzerprofil
<a name="studio-lcc-create-console-step2"></a>

Auf Domainebene zugeordnete Lebenszyklus-Konfigurationsskripten werden von allen Benutzern übernommen. Skripts, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. 

Sie können einer Domain oder einem Benutzerprofil mehrere Lebenszykluskonfigurationen JupyterServer sowohl für Anwendungen als auch für KernelGateway Anwendungen hinzufügen.

**Anmerkung**  
Um eine Lebenszykluskonfiguration an einen gemeinsam genutzten Bereich anzuhängen, müssen Sie den AWS CLI verwenden. Weitere Informationen finden Sie unter [Erstellen Sie eine Lebenszykluskonfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic](studio-lcc-create-cli.md).

In den folgenden Abschnitten wird gezeigt, wie Sie eine Lebenszykluskonfiguration an Ihre Domain oder Ihr Benutzerprofil anfügen.

### An eine Domain anhängen
<a name="studio-lcc-create-console-step2-domain"></a>

Im Folgenden wird gezeigt, wie Sie über die SageMaker AI-Konsole eine Lebenszykluskonfiguration an Ihre bestehende Domain anhängen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, an die die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie in den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie unter **Lebenszykluskonfigurationen für persönliche Studio-Apps** die Option **Anhängen** aus.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Domain anhängen** aus.

### An Ihr Benutzerprofil anhängen
<a name="studio-lcc-create-console-step2-userprofile"></a>

Im Folgenden wird gezeigt, wie Sie eine Lebenszykluskonfiguration an Ihr vorhandenes Benutzerprofil anhängen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, die das Benutzerprofil enthält, an das die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie unter **Benutzerprofile** das Benutzerprofil aus.

1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie in der linken Navigation **Studioeinstellungen**.

1. Wählen Sie unter **Lebenszykluskonfigurationen, die dem Benutzer** zugeordnet sind, die Option **Anhängen**.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Benutzerprofil anhängen**.

## Schritt 3: Starten einer Anwendung mit der Lebenszykluskonfiguration
<a name="studio-lcc-create-console-step3"></a>

Nachdem Sie einer Domain oder einem Benutzerprofil eine Lebenszykluskonfiguration angehängt haben, können Sie eine Anwendung mit dieser angehängten Lebenszykluskonfiguration starten. Die Auswahl, mit welcher Lebenszykluskonfiguration gestartet werden soll, hängt vom Anwendungstyp ab.
+ **JupyterServer**: Wenn eine JupyterServer Anwendung von der Konsole aus gestartet wird, verwendet SageMaker KI immer die standardmäßige Lebenszykluskonfiguration. Sie können keine andere Lebenszykluskonfiguration verwenden, wenn Sie von der Konsole aus starten. Informationen zum Ändern der standardmäßigen Lebenszykluskonfiguration nach dem Start einer JupyterServer Anwendung finden Sie unter[Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md).

  Um eine andere angehängte Lebenszykluskonfiguration auszuwählen, müssen Sie mit dem AWS CLI starten. Weitere Informationen zum Starten einer JupyterServer Anwendung mit einer angehängten Lebenszykluskonfiguration aus dem AWS CLI finden Sie unter[Erstellen Sie eine Lebenszykluskonfiguration aus dem AWS CLI für Amazon SageMaker Studio Classic](studio-lcc-create-cli.md).
+ **KernelGateway**: Sie können jede der angehängten Lebenszykluskonfigurationen auswählen, wenn Sie eine KernelGateway Anwendung mit dem Studio Classic Launcher starten.

Das folgende Verfahren beschreibt, wie Sie eine KernelGateway Anwendung mit einer angehängten Lebenszykluskonfiguration von der SageMaker AI-Konsole aus starten.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Starten Sie Studio Classic. Weitere Informationen finden Sie unter [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md).

1. Öffnen Sie in der Studio-Classic-Benutzeroberfläche den Studio Classic Launcher. Weitere Informationen finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md). 

1. Navigieren Sie im Studio Classic Launcher zum Abschnitt **Notebooks und Rechenressourcen**. 

1. Klicken Sie auf die Schaltfläche **Umgebung ändern**.

1. Wählen Sie im Dialogfeld **Umgebung ändern** in den Dropdown-Menüs das **Image**, den **Kernel**, den **Instance-Typ** und ein **Startskript** aus. Wenn es keine standardmäßige Lebenszykluskonfiguration gibt, ist der Wert für das **Startskript** standardmäßig auf `No script` festgelegt. Andernfalls ist der Wert für das **Startskript** Ihre standardmäßige Lebenszykluskonfiguration. Nachdem Sie eine Lebenszykluskonfiguration ausgewählt haben, können Sie das gesamte Skript anzeigen.

1. Klicken Sie auf **Auswählen**.

1. Kehren Sie zum Launcher zurück und klicken Sie auf **Notebook erstellen**, um einen neuen Notebook-Kernel mit dem ausgewählten Image und der Lebenszykluskonfiguration zu starten.

## Schritt 4: Anzeigen von Protokollen für eine Lebenszyklus-Konfiguration
<a name="studio-lcc-create-console-step4"></a>

Sie können die Protokolle für Ihre Lebenszykluskonfiguration anzeigen, nachdem sie an eine Domain oder ein Benutzerprofil angehängt wurde. 

1. Stellen Sie zunächst Zugriff auf CloudWatch für Ihre AWS Identity and Access Management (IAM-) Rolle bereit. Fügen Sie Leseberechtigungen für die folgende Protokollgruppe und den folgenden Protokollstream hinzu.
   + **Log-Gruppe:**`/aws/sagemaker/studio`
   + **Log-Stream:**`domain/user-profile/app-type/app-name/LifecycleConfigOnStart`

    Informationen zum Hinzufügen von Berechtigungen finden Sie unter [Aktivieren der Protokollierung für bestimmte AWS Dienste](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).

1. Navigieren Sie in Studio Classic zum Symbol **Laufende Terminals und Kernel** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/running-terminals-kernels.png)) aus, um Ihre Lebenszykluskonfiguration zu überwachen.

1. Wählen Sie eine Anwendung aus der Liste der laufenden Anwendungen aus. Anwendungen mit angehängten Lebenszykluskonfigurationen haben ein angehängtes Indikatorsymbol ![\[Code brackets symbol representing programming or markup languages.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/studio-lcc-indicator-icon.png).

1. Wählen Sie das Indikatorsymbol für Ihre Anwendung aus. Dadurch wird ein neues Fenster geöffnet, in dem die Lebenszykluskonfiguration aufgeführt ist.

1. Wählen Sie in dem neuen Panel `View logs`. Dadurch wird eine neue Registerkarte geöffnet, auf der die Protokolle angezeigt werden.

# Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen
<a name="studio-lcc-defaults"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können zwar mehrere Lebenszykluskonfigurationsskripts an eine einzelne Ressource anhängen, aber Sie können nur eine standardmäßige Lebenszykluskonfiguration für jede JupyterServer einzelne KernelGateway Anwendung festlegen. Das Verhalten der standardmäßigen Lebenszykluskonfiguration hängt davon ab, ob sie für JupyterServer oder KernelGateway Apps festgelegt ist. 
+ **JupyterServer Apps:** Wenn es als standardmäßiges Lebenszykluskonfigurationsskript für JupyterServer Apps festgelegt ist, wird das Lebenszykluskonfigurationsskript automatisch ausgeführt, wenn sich der Benutzer zum ersten Mal bei Studio Classic anmeldet oder Studio Classic neu startet. Verwenden Sie diese standardmäßige Lebenszykluskonfiguration, um einmalige Einrichtungsaktionen für die Studio Classic-Entwicklerumgebung zu automatisieren, z. B. die Installation von Notebook-Erweiterungen oder die Einrichtung eines GitHub Repos. Ein Beispiel hierfür finden Sie unter [Anpassen von Amazon SageMaker Studio mithilfe von Lebenszykluskonfigurationen](https://aws.amazon.com/blogs/machine-learning/customize-amazon-sagemaker-studio-using-lifecycle-configurations/).
+ **KernelGateway Apps:** Wenn sie als standardmäßiges Lifecycle-Konfigurationsskript für KernelGateway Apps festgelegt ist, wird die Lebenszykluskonfiguration standardmäßig im Studio Classic-Launcher ausgewählt. Benutzer können ein Notebook oder Terminal mit dem ausgewählten Standardskript starten oder sie können ein anderes Skript aus der Liste der Lebenszykluskonfigurationen auswählen.

SageMaker AI unterstützt das Festlegen einer standardmäßigen Lebenszykluskonfiguration für die folgenden Ressourcen:
+ Domains
+ Benutzerprofile
+ Geteilte Räume

Domains und Benutzerprofile unterstützen zwar die Einstellung einer standardmäßigen Lebenszykluskonfiguration sowohl über die Amazon SageMaker AI-Konsole als auch AWS Command Line Interface, Shared Spaces unterstützen jedoch nur die Einstellung einer standardmäßigen Lebenszykluskonfiguration über die AWS CLI.

Sie können eine Lebenszykluskonfiguration als Standard festlegen, wenn Sie eine neue Ressource erstellen oder eine bestehende Ressource aktualisieren. In den folgenden Themen wird gezeigt, wie Sie mithilfe der SageMaker AI-Konsole und eine standardmäßige Lebenszykluskonfiguration festlegen AWS CLI.

## Vererbung der Standard-Lebenszyklus-Konfiguration
<a name="studio-lcc-defaults-inheritance"></a>

Auf *Domains*-ebene festgelegte Standard-Lebenszykluskonfigurationen werden von allen Benutzern und gemeinsam genutzten Bereichen übernommen. Die standardmäßigen Lebenszykluskonfigurationen, die auf *Benutzer* – und *Shared Space-Ebene* festgelegt wurden, gelten nur für diesen Benutzer oder gemeinsam genutzten Bereich. Standardwerte für Benutzer und Speicherplatz überschreiben die auf Domainebene festgelegten Standardeinstellungen.

Ein für eine Domain festgelegter KernelGateway Standard-Lebenszykluskonfigurationssatz gilt für alle in der Domain gestarteten KernelGateway Anwendungen. Sofern der Benutzer keine andere Lebenszykluskonfiguration aus der Liste im Studio Classic Launcher auswählt, wird die standardmäßige Lebenszykluskonfiguration verwendet. Das Standardskript `No Script` wird auch ausgeführt, wenn es vom Benutzer ausgewählt wird. Weitere Informationen zur Auswahl eines Skripts finden Sie unter [Schritt 3: Starten einer Anwendung mit der Lebenszykluskonfiguration](studio-lcc-create-console.md#studio-lcc-create-console-step3).

**Topics**
+ [Vererbung der Standard-Lebenszyklus-Konfiguration](#studio-lcc-defaults-inheritance)
+ [Legen Sie die Standardeinstellungen AWS CLI für Amazon SageMaker Studio Classic fest](studio-lcc-defaults-cli.md)
+ [Standardwerte für Amazon SageMaker Studio Classic in der SageMaker AI-Konsole festlegen](studio-lcc-defaults-console.md)

# Legen Sie die Standardeinstellungen AWS CLI für Amazon SageMaker Studio Classic fest
<a name="studio-lcc-defaults-cli"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können Standardskripts AWS CLI für die Lebenszykluskonfiguration aus den folgenden Ressourcen festlegen:
+ Domains
+ Benutzerprofile
+ Geteilte Räume

In den folgenden Abschnitten wird beschrieben, wie Sie Skripte für die Standard-Lebenszykluskonfiguration in der AWS CLI festlegen.

**Topics**
+ [Voraussetzungen](#studio-lcc-defaults-cli-prereq)
+ [Legen Sie beim Erstellen einer neuen Ressource eine standardmäßige Lebenszykluskonfiguration fest](#studio-lcc-defaults-cli-new)
+ [Legen Sie eine standardmäßige Lebenszykluskonfiguration für eine vorhandene Ressource fest](#studio-lcc-defaults-cli-existing)

## Voraussetzungen
<a name="studio-lcc-defaults-cli-prereq"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:
+ Aktualisieren Sie das, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Gehen Sie wie unter beschrieben vor, um in die SageMaker AI-Domain einzusteigen[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).
+ Erstellen Sie eine Lebenszykluskonfiguration gemäß den Schritten unter [Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen](studio-lcc-create.md).

## Legen Sie beim Erstellen einer neuen Ressource eine standardmäßige Lebenszykluskonfiguration fest
<a name="studio-lcc-defaults-cli-new"></a>

Um beim Erstellen einer neuen Domäne, eines neuen Benutzerprofils oder eines neuen Bereichs eine standardmäßige Lebenszykluskonfiguration festzulegen, übergeben Sie den ARN Ihrer zuvor erstellten Lebenszykluskonfiguration als Teil eines der folgenden AWS CLI Befehle:
+ [create-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-user-profile.html)
+ [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/create-domain.html)
+ [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html)

Sie müssen den ARN für die Lebenszykluskonfiguration für die folgenden Werte in den KernelGateway oder JupyterServer Standardeinstellungen übergeben:
+ `DefaultResourceSpec`: `LifecycleConfigArn` – Dies gibt die standardmäßige Lebenszykluskonfiguration für den Anwendungstyp an.
+ `LifecycleConfigArns` – Dies ist die Liste aller Lebenszykluskonfigurationen, die dem Anwendungstyp zugeordnet sind. Die standardmäßige Lebenszykluskonfiguration muss ebenfalls Teil dieser Liste sein.

Mit dem folgenden API-Aufruf wird beispielsweise ein neues Benutzerprofil mit einer standardmäßigen Lebenszykluskonfiguration erstellt.

```
aws sagemaker create-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"KernelGatewayAppSettings": {
    "DefaultResourceSpec": { 
            "InstanceType": "ml.t3.medium",
            "LifecycleConfigArn": "lifecycle-configuration-arn"
         },
    "LifecycleConfigArns": [lifecycle-configuration-arn-list]
  }
}'
```

## Legen Sie eine standardmäßige Lebenszykluskonfiguration für eine vorhandene Ressource fest
<a name="studio-lcc-defaults-cli-existing"></a>

Um die standardmäßige Lebenszykluskonfiguration für eine vorhandene Ressource festzulegen oder zu aktualisieren, übergeben Sie den ARN Ihrer zuvor erstellten Lebenszykluskonfiguration als Teil eines der folgenden AWS CLI Befehle:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)
+ [update-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-space.html)

Sie müssen den ARN für die Lebenszykluskonfiguration für die folgenden Werte in den KernelGateway oder JupyterServer Standardeinstellungen übergeben:
+ `DefaultResourceSpec`: `LifecycleConfigArn` – Dies gibt die standardmäßige Lebenszykluskonfiguration für den Anwendungstyp an.
+ `LifecycleConfigArns` – Dies ist die Liste aller Lebenszykluskonfigurationen, die dem Anwendungstyp zugeordnet sind. Die standardmäßige Lebenszykluskonfiguration muss ebenfalls Teil dieser Liste sein.

Beispielsweise aktualisiert der folgende API-Aufruf ein Benutzerprofil mit einer standardmäßigen Lebenszykluskonfiguration.

```
aws sagemaker update-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"KernelGatewayAppSettings": {
    "DefaultResourceSpec": {
            "InstanceType": "ml.t3.medium",
            "LifecycleConfigArn": "lifecycle-configuration-arn"
         },
    "LifecycleConfigArns": [lifecycle-configuration-arn-list]
  }
}'
```

Der folgende API-Aufruf aktualisiert eine Domain, um eine neue Standard-Lebenszykluskonfiguration festzulegen.

```
aws sagemaker update-domain --domain-id domain-id \
--region region \
--default-user-settings '{
"JupyterServerAppSettings": {
    "DefaultResourceSpec": {
            "InstanceType": "system",
            "LifecycleConfigArn": "lifecycle-configuration-arn"
         },
    "LifecycleConfigArns": [lifecycle-configuration-arn-list]
  }
}'
```

# Standardwerte für Amazon SageMaker Studio Classic in der SageMaker AI-Konsole festlegen
<a name="studio-lcc-defaults-console"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können Standardskripts für die Lebenszykluskonfiguration von der SageMaker AI-Konsole aus für die folgenden Ressourcen festlegen.
+ Domains
+ Benutzerprofile

In der SageMaker AI-Konsole können Sie keine standardmäßigen Lebenszykluskonfigurationsskripten für gemeinsam genutzte Bereiche festlegen. Informationen zum Festlegen von Standardeinstellungen für gemeinsam genutzte Bereiche finden Sie unter [Legen Sie die Standardeinstellungen AWS CLI für Amazon SageMaker Studio Classic fest](studio-lcc-defaults-cli.md).

In den folgenden Abschnitten wird beschrieben, wie Sie standardmäßige Lebenszykluskonfigurationsskripten von der SageMaker AI-Konsole aus festlegen.

**Topics**
+ [Voraussetzungen](#studio-lcc-defaults-cli-prerequisites)
+ [Legen Sie eine standardmäßige Lebenszykluskonfiguration für eine Domain fest](#studio-lcc-defaults-cli-domain)
+ [Legen Sie eine standardmäßige Lebenszykluskonfiguration für ein Benutzerprofil fest](#studio-lcc-defaults-cli-user-profile)

## Voraussetzungen
<a name="studio-lcc-defaults-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:
+ Gehen Sie wie folgt vor, um in die SageMaker AI-Domain einzusteigen[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).
+ Erstellen Sie eine Lebenszykluskonfiguration gemäß den Schritten in [Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen](studio-lcc-create.md).

## Legen Sie eine standardmäßige Lebenszykluskonfiguration für eine Domain fest
<a name="studio-lcc-defaults-cli-domain"></a>

Das folgende Verfahren zeigt, wie Sie über die SageMaker AI-Konsole eine standardmäßige Lebenszykluskonfiguration für eine Domain festlegen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie in der Domainliste den Namen der Domain aus, für die Sie die standardmäßige Lebenszykluskonfiguration festlegen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie unter **Lebenszykluskonfigurationen für persönliche Studio-Apps** die Lebenszykluskonfiguration aus, die Sie als Standard für die Domain festlegen möchten. Sie können unterschiedliche Standardeinstellungen für JupyterServer KernelGateway Anwendungen festlegen.

1. Wählen Sie **Als Standard festlegen** aus. Dadurch wird ein Popup-Fenster geöffnet, in dem die aktuellen Standardeinstellungen für JupyterServer Anwendungen aufgelistet sind. KernelGateway

1. Wählen Sie **Als Standard festlegen**, um die Lebenszykluskonfiguration als Standard für den jeweiligen Anwendungstyp festzulegen.

## Legen Sie eine standardmäßige Lebenszykluskonfiguration für ein Benutzerprofil fest
<a name="studio-lcc-defaults-cli-user-profile"></a>

Das folgende Verfahren zeigt, wie Sie eine standardmäßige Lebenszykluskonfiguration für ein Benutzerprofil von der SageMaker AI-Konsole aus festlegen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie aus der Liste der Domains den Namen der Domain aus, die das Benutzerprofil enthält, für das Sie die standardmäßige Lebenszykluskonfiguration festlegen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus.

1. Wählen Sie den Namen des Benutzerprofils aus, für das Sie die standardmäßige Lebenszykluskonfiguration festlegen möchten. Dies öffnet eine Seite mit **Benutzerdetails**.

1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**. Dadurch wird die Seite **Benutzerprofil bearbeiten** geöffnet.

1. Wählen Sie auf der **Seite Benutzerprofil bearbeiten** die Option **Schritt 2 Studioeinstellungen**.

1. Wählen Sie unter **Lebenszykluskonfigurationen, die dem Benutzer zugeordnet** sind, die Lebenszykluskonfiguration aus, die Sie als Standard für das Benutzerprofil festlegen möchten. Sie können unterschiedliche Standardeinstellungen für JupyterServer KernelGateway Anwendungen festlegen.

1. Wählen Sie **Als Standard festlegen** aus. Dadurch wird ein Popup-Fenster geöffnet, in dem die aktuellen Standardeinstellungen für JupyterServer Anwendungen aufgelistet sind. KernelGateway

1. Wählen Sie **Als Standard festlegen**, um die Lebenszykluskonfiguration als Standard für den jeweiligen Anwendungstyp festzulegen.

# Debuggen von Lebenszykluskonfigurationen in Amazon SageMaker Studio Classic
<a name="studio-lcc-debug"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In den folgenden Themen erfahren Sie, wie Sie Informationen über Ihre Lebenszykluskonfigurationen abrufen und debuggen.

**Topics**
+ [Überprüfen Sie den Lebenszykluskonfigurationsprozess anhand von CloudWatch Protokollen](#studio-lcc-debug-logs)
+ [JupyterServer App-Fehler](#studio-lcc-debug-jupyterserver)
+ [KernelGateway App-Fehler](#studio-lcc-debug-kernel)
+ [Timeout für die Lebenszykluskonfiguration](#studio-lcc-debug-timeout)

## Überprüfen Sie den Lebenszykluskonfigurationsprozess anhand von CloudWatch Protokollen
<a name="studio-lcc-debug-logs"></a>

Lebenszykluskonfigurationen protokollieren nur `STDOUT` und `STDERR`.

`STDOUT` ist die Standardausgabe für Bash-Skripte. Sie können in `STDERR` schreiben, indem Sie `>&2` an das Ende eines Bash-Befehls anhängen. Beispiel, `echo 'hello'>&2`. 

Protokolle für Ihre Lebenszykluskonfigurationen werden auf Amazon veröffentlicht, wenn Sie Amazon AWS-Konto verwenden CloudWatch. Diese Protokolle finden Sie im `/aws/sagemaker/studio` Protokollstream in der CloudWatch Konsole.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie auf der linken Seite **Protokolle** aus. Wählen Sie im Dropdown-Menü **Protokollgruppen** aus.

1. Suchen Sie auf der Seite **Protokollgruppen** nach `aws/sagemaker/studio`. 

1. Wählen Sie die -Protokollgruppe aus.

1. Wählen Sie auf der Seite mit den **Details zur Protokollgruppe** die Registerkarte **Protokollstreams** aus.

1. Um die Logs für eine bestimmte App zu finden, durchsuchen Sie die Log-Streams im folgenden Format:

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   Um beispielsweise die Protokolle der Lebenszykluskonfiguration für Domain `d-m85lcu8vbqmz`, Bereichsname `i-sonic-js` und Anwendungstyp `JupyterLab` zu finden, verwenden Sie die folgende Suchzeichenfolge:

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## JupyterServer App-Fehler
<a name="studio-lcc-debug-jupyterserver"></a>

Wenn Ihre JupyterServer App aufgrund eines Problems mit der angehängten Lebenszykluskonfiguration abstürzt, zeigt Studio Classic die folgende Fehlermeldung auf dem Studio Classic-Startbildschirm an. 

```
Failed to create SageMaker Studio due to start-up script failure
```

Wählen Sie den `View script logs` Link aus, um die CloudWatch Protokolle für Ihre JupyterServer App anzuzeigen.

Wenn die fehlerhafte Lebenszykluskonfiguration in der `DefaultResourceSpec` Ihrer Domain, Ihres Benutzerprofils oder Ihres gemeinsam genutzten Bereichs angegeben ist, verwendet Studio die Lebenszykluskonfiguration auch nach einem Neustart von Studio weiter. 

Um diesen Fehler zu beheben, folgen Sie den Schritten in [Standard-Lebenszykluskonfigurationen für Amazon SageMaker Studio Classic festlegen](studio-lcc-defaults.md), um das Skript für die Lebenszykluskonfiguration aus dem `DefaultResourceSpec` zu entfernen oder ein anderes Skript als Standard zu wählen. Starten Sie dann eine neue JupyterServer App.

## KernelGateway App-Fehler
<a name="studio-lcc-debug-kernel"></a>

Wenn Ihre KernelGateway App aufgrund eines Problems mit der angehängten Lebenszykluskonfiguration abstürzt, zeigt Studio Classic die Fehlermeldung in Ihrem Studio Classic-Notizbuch an. 

Wählen Sie`View script logs`, ob Sie die CloudWatch Protokolle für Ihre KernelGateway App anzeigen möchten.

In diesem Fall wird Ihre Lebenszykluskonfiguration im Studio Classic Launcher angegeben, wenn Sie ein neues Studio-Classic-Notebook starten. 

Um diesen Fehler zu beheben, verwenden Sie den Studio Classic Launcher, um eine andere Lebenszykluskonfiguration auszuwählen, oder wählen Sie `No script` aus.

**Anmerkung**  
Eine unter angegebene KernelGateway Standardlebenszykluskonfiguration `DefaultResourceSpec` gilt für alle KernelGateway Bilder in der Domäne, im Benutzerprofil oder im gemeinsam genutzten Bereich, es sei denn, der Benutzer wählt ein anderes Skript aus der Liste aus, die im Studio Classic-Launcher angezeigt wird. Das Standardskript wird auch ausgeführt, wenn `No Script` vom Benutzer ausgewählt wird. Weitere Informationen zur Auswahl einer Schrift finden Sie unter [Schritt 3: Starten einer Anwendung mit der Lebenszykluskonfiguration](studio-lcc-create-console.md#studio-lcc-create-console-step3).

## Timeout für die Lebenszykluskonfiguration
<a name="studio-lcc-debug-timeout"></a>

Für die Lebenszykluskonfiguration gilt ein Timeout von 5 Minuten. Wenn die Ausführung eines Skripts für die Lebenszykluskonfiguration länger als 5 Minuten dauert, gibt Studio Classic einen Fehler aus.

Um diesen Fehler zu beheben, stellen Sie sicher, dass Ihr Lebenszykluskonfigurationsskript in weniger als 5 Minuten abgeschlossen ist. 

Gehen Sie zum Reduzieren der Laufzeit von Skripten wie folgt vor:
+ Beschränken Sie sich auf notwendige Schritte. Schränken Sie zum Beispiel ein, in welchen conda-Umgebungen große Pakete installiert werden sollen.
+ Führen Sie Aufgaben in parallelen Prozessen aus.
+ Verwenden Sie den `nohup` Befehl in Ihrem Skript, um sicherzustellen, dass Hangup-Signale ignoriert werden, und um die Ausführung des Skripts nicht zu beenden.

# Lebenszykluskonfigurationen in Amazon SageMaker Studio Classic aktualisieren und trennen
<a name="studio-lcc-delete"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Ein Lifecycle-Konfigurationsskript kann nicht geändert werden, nachdem es erstellt wurde. Um Ihr Skript zu aktualisieren, müssen Sie ein neues Lebenszyklus-Konfigurationsskript erstellen und es an die jeweilige Domain, das Benutzerprofil oder den gemeinsam genutzten Bereich anhängen. Weitere Informationen zum Erstellen und Anhängen der Lebenszykluskonfiguration finden Sie unter [Eine Lebenszykluskonfiguration erstellen und mit Amazon SageMaker Studio Classic verknüpfen](studio-lcc-create.md).

Das folgende Thema zeigt, wie Sie eine Lebenszykluskonfiguration mithilfe der AWS CLI und SageMaker AI-Konsole trennen.

**Topics**
+ [Voraussetzungen](#studio-lcc-delete-pre)
+ [Trennen Sie mit dem AWS CLI](#studio-lcc-delete-cli)

## Voraussetzungen
<a name="studio-lcc-delete-pre"></a>

Vor der Trennung einer Lebenszykluskonfiguration müssen Sie die folgenden Voraussetzungen erfüllen.
+ Um eine Lebenszykluskonfiguration erfolgreich zu trennen, darf keine laufende Anwendung die Lebenszykluskonfiguration verwenden. Sie müssen zuerst die laufenden Anwendungen beenden, wie in [Amazon SageMaker Studio Classic und Apps herunterfahren und aktualisieren](studio-tasks-update.md) gezeigt.

## Trennen Sie mit dem AWS CLI
<a name="studio-lcc-delete-cli"></a>

Um eine Lebenszykluskonfiguration mithilfe von zu trennen AWS CLI, entfernen Sie die gewünschte Lebenszykluskonfiguration aus der Liste der an die Ressource angehängten Lebenszykluskonfigurationen und übergeben Sie die Liste als Teil des entsprechenden Befehls:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)
+ [update-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-space.html)

Mit dem folgenden Befehl werden beispielsweise alle an die Domäne KernelGateways angehängten Lebenszykluskonfigurationen entfernt.

```
aws sagemaker update-domain --domain-id domain-id \
--region region \
--default-user-settings '{
"KernelGatewayAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# Vorgeschlagene Git-Repos an Amazon SageMaker Studio Classic anhängen
<a name="studio-git-attach"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic bietet eine Git-Erweiterung, mit der Sie die URL eines Git-Repositorys (Repo) eingeben, es in Ihre Umgebung klonen, Änderungen übertragen und den Commit-Verlauf anzeigen können. Zusätzlich zu dieser Git-Erweiterung können Sie auch ein empfohlenes Git-Repository URLs auf Amazon SageMaker AI-Domain- oder Benutzerprofilebene anhängen. Anschließend können Sie die Repo-URL aus der Liste der Vorschläge auswählen und sie mithilfe der Git-Erweiterung in Studio Classic in Ihre Umgebung klonen. 

In den folgenden Themen wird gezeigt, wie Sie Git Repo über URLs die AWS CLI und SageMaker AI-Konsole an eine Domain oder ein Benutzerprofil anhängen. Sie erfahren auch, wie Sie diese Repositorys trennen können. URLs

**Topics**
+ [Hängen Sie ein Git-Repository aus dem AWS CLI für Amazon SageMaker Studio Classic an](studio-git-attach-cli.md)
+ [Hängen Sie ein Git-Repository von der SageMaker AI-Konsole für Amazon SageMaker Studio Classic an](studio-git-attach-console.md)
+ [Git Repos von Amazon SageMaker Studio Classic trennen](studio-git-detach.md)

# Hängen Sie ein Git-Repository aus dem AWS CLI für Amazon SageMaker Studio Classic an
<a name="studio-git-attach-cli"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber nicht mehr für das Onboarding verfügbar. Sie können nur vorhandene Studio Classic-Anwendungen beenden oder löschen und keine neuen erstellen. Wir empfehlen Ihnen, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Das folgende Thema zeigt, wie Sie eine Git-Repository-URL mithilfe von anhängen AWS CLI, sodass Amazon SageMaker Studio Classic sie automatisch zum Klonen vorschlägt. Nachdem Sie die Git-Repository-URL angehängt haben, können Sie sie klonen, indem Sie die Schritte unter [Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic](studio-tasks-git.md) befolgen.

## Voraussetzungen
<a name="studio-git-attach-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Aktualisieren Sie das, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI-Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [Ihre AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Integrieren Sie die Amazon SageMaker AI-Domain. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Anfügen des Git-Repo an eine Domain oder ein Benutzerprofil
<a name="studio-git-attach-cli-attach"></a>

Git-Repos, die auf Domainebene URLs verknüpft sind, werden von allen Benutzern vererbt. Git-Repos, URLs die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. Sie können mehrere Git-Repos URLs an eine Domain oder ein Benutzerprofil anhängen, indem Sie eine URLs Repository-Liste übergeben.

In den folgenden Abschnitten wird gezeigt, wie Sie eine Git-Repo-URL an Ihre Domain und Ihr Benutzerprofil anfügen.

### An eine Domain anhängen
<a name="studio-git-attach-cli-attach-domain"></a>

Mit dem folgenden Befehl wird eine Git-Repo-URL an eine bestehende Domain angefügt.

```
aws sagemaker update-domain --region region --domain-id domain-id \
    --default-user-settings JupyterServerAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

### An ein Benutzerprofil anhängen
<a name="studio-git-attach-cli-attach-userprofile"></a>

Im Folgenden wird gezeigt, wie Sie eine Git-Repo-URL an ein vorhandenes Benutzerprofil anhängen.

```
aws sagemaker update-user-profile --domain-id domain-id --user-profile-name user-name\
    --user-settings JupyterServerAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

# Hängen Sie ein Git-Repository von der SageMaker AI-Konsole für Amazon SageMaker Studio Classic an
<a name="studio-git-attach-console"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Das folgende Thema zeigt, wie Sie eine Git-Repository-URL von der Amazon SageMaker AI-Konsole aus zuordnen, um sie in Ihrer Studio Classic-Umgebung zu klonen. Nachdem Sie die Git-Repository-URL verknüpft haben, können Sie sie klonen, indem Sie die Schritte unter [Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic](studio-tasks-git.md) befolgen.

## Voraussetzungen
<a name="studio-git-attach-console-prerequisites"></a>

Bevor Sie mit diesem Tutorial beginnen können, müssen Sie die Amazon SageMaker AI-Domain abonnieren. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Anfügen des Git-Repo an eine Domain oder ein Benutzerprofil
<a name="studio-git-attach-console-attach"></a>

Git-Repos, die auf Domainebene URLs verknüpft sind, werden von allen Benutzern vererbt. Git-Repo-URLs, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. 

In den folgenden Abschnitten wird gezeigt, wie Sie eine Git-Repo-URL an eine Domain und ein Benutzerprofil anhängen.

### An eine Domain anhängen
<a name="studio-git-attach-console-attach-domain"></a>

**So fügen Sie eine Git-Repo-URL an eine bestehende Domain an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, an die das Git-Repo angefügt werden soll.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie auf der Registerkarte **Vorgeschlagene Code-Repositorys für die Domain** die Option **Anhängen** aus.

1. Geben Sie unter **Quelle** die URL des Git-Repositorys ein.

1. Wählen Sie **An Domain anhängen** aus.

### An ein Benutzerprofil anhängen
<a name="studio-git-attach-console-attach-userprofile"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie eine Git-Repo-URL an Ihr bestehendes Benutzerprofil anhängen.

**Hängen Sie das Git-Repo an ein Benutzerprofil an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, die das Benutzerprofil enthält, an das das Git-Repo angefügt werden soll.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus.

1. Wählen Sie das Benutzerprofil aus, an das die Git-Repo-URL angehängt werden soll.

1. Klicken Sie auf der Seite **Details des Benutzers** auf **Bearbeiten**.

1. Wählen Sie auf der Seite **Studio-Einstellungen** im Bereich **Vorgeschlagene Code-Repositorys für den Benutzer** die Option **Anhängen** aus.

1. Geben Sie unter **Quelle** die URL des Git-Repositorys ein.

1. Wählen Sie **An Benutzer anhängen**.

# Git Repos von Amazon SageMaker Studio Classic trennen
<a name="studio-git-detach"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Diese Anleitung zeigt, wie Sie das Git-Repository mithilfe der oder der Amazon SageMaker AI-Konsole URLs von einer Amazon SageMaker AI-Domain AWS CLI oder einem Benutzerprofil trennen.

**Topics**
+ [Trennen Sie ein Git-Repo mit dem AWS CLI](#studio-git-detach-cli)
+ [Trennen Sie das Git-Repo mithilfe der SageMaker AI-Konsole](#studio-git-detach-console)

## Trennen Sie ein Git-Repo mit dem AWS CLI
<a name="studio-git-detach-cli"></a>

Um das gesamte Git-Repo URLs von einer Domain oder einem Benutzerprofil zu trennen, müssen Sie eine leere Liste von Code-Repositorys übergeben. Diese Liste wird als Teil des `JupyterServerAppSettings` Parameters in einem `update-domain` oder `update-user-profile` Befehl übergeben. Um nur eine Git-Repo-URL zu trennen, übergeben Sie die Code-Repository-Liste ohne die gewünschte Git-Repo-URL. In diesem Abschnitt wird gezeigt, wie Sie mithilfe von AWS Command Line Interface ()AWS CLI alle Git-Repos URLs von Ihrer Domain oder Ihrem Benutzerprofil trennen.

### Von einer Domain trennen
<a name="studio-git-detach-cli-domain"></a>

Der folgende Befehl trennt das gesamte Git-Repo URLs von einer Domain.

```
aws sagemaker update-domain --region region --domain-name domain-name \
    --domain-settings JupyterServerAppSettings={CodeRepositories=[]}
```

### Trennen von einem Benutzerprofil
<a name="studio-git-detach-cli-userprofile"></a>

Der folgende Befehl trennt das gesamte Git-Repo URLs von einem Benutzerprofil.

```
aws sagemaker update-user-profile --domain-name domain-name --user-profile-name user-name\
    --user-settings JupyterServerAppSettings={CodeRepositories=[]}
```

## Trennen Sie das Git-Repo mithilfe der SageMaker AI-Konsole
<a name="studio-git-detach-console"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie mithilfe der SageMaker AI-Konsole eine Git-Repo-URL von einer Domain oder einem Benutzerprofil trennen.

### Von einer Domain trennen
<a name="studio-git-detach-console-domain"></a>

Gehen Sie wie folgt vor, um eine Git-Repo-URL von einer vorhandenen Domain zu trennen.

**So trennen Sie eine Git-Repo-URL von einer vorhandenen Domain**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain mit der Git-Repo-URL aus, die Sie trennen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie auf der Registerkarte **Vorgeschlagene Code-Repositorys für die Domain** die Git-Repository-URL aus, die Sie trennen möchten.

1. Wählen Sie **Trennen** aus.

1. Wählen Sie im neuen Fenster die Option **Trennen** aus.

### Trennen von einem Benutzerprofil
<a name="studio-git-detach-console-userprofile"></a>

Gehen Sie wie folgt vor, um eine Git-Repo-URL von einem Benutzerprofil zu trennen.

**Um eine Git-Repo-URL von einem Benutzerprofil zu trennen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, die das Benutzerprofil mit der Git-Repo-URL enthält, die Sie trennen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus.

1. Wählen Sie das Benutzerprofil mit der Git-Repo-URL aus, die Sie trennen möchten.

1. Klicken Sie auf der Seite **Details des Benutzers** auf **Bearbeiten**.

1. Wählen Sie auf der Seite mit den **Studio-Einstellungen** die Git-Repo-URL aus, um sie von der Registerkarte **Vorgeschlagene Code-Repositorys für den Benutzer** zu trennen.

1. Wählen Sie **Trennen** aus.

1. Wählen Sie im neuen Fenster die Option **Trennen** aus.

# Allgemeine Aufgaben in Amazon SageMaker Studio Classic ausführen
<a name="studio-tasks"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In den folgenden Abschnitten wird beschrieben, wie allgemeine Aufgaben in Amazon SageMaker Studio Classic ausgeführt werden. Eine Übersicht über die Studio-Classic-Benutzeroberfläche finden Sie unter [Überblick über die Amazon SageMaker Studio Classic-Benutzeroberfläche](studio-ui.md).

**Topics**
+ [Dateien auf Amazon SageMaker Studio Classic hochladen](studio-tasks-files.md)
+ [Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic](studio-tasks-git.md)
+ [Beenden Sie einen Schulungsjob in Amazon SageMaker Studio Classic](studio-tasks-stop-training-job.md)
+ [TensorBoard In Amazon SageMaker Studio Classic verwenden](studio-tensorboard.md)
+ [Verwenden Sie Amazon Q Developer mit Amazon SageMaker Studio Classic](sm-q.md)
+ [Verwalten Sie Ihr Amazon EFS-Speichervolume in Amazon SageMaker Studio Classic](studio-tasks-manage-storage.md)
+ [Geben Sie Feedback zu Amazon SageMaker Studio Classic](studio-tasks-provide-feedback.md)
+ [Amazon SageMaker Studio Classic und Apps herunterfahren und aktualisieren](studio-tasks-update.md)

# Dateien auf Amazon SageMaker Studio Classic hochladen
<a name="studio-tasks-files"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Wenn Sie Amazon SageMaker Studio Classic nutzen, wird ein Home-Verzeichnis für Sie in dem Amazon Elastic File System (Amazon EFS) -Volume erstellt, das für Ihr Team erstellt wurde. Studio Classic kann nur Dateien öffnen, die in Ihr Verzeichnis hochgeladen wurden. Der Studio-Classic-Dateibrowser ist Ihrem Stammverzeichnis zugeordnet.

**Anmerkung**  
Studio Classic unterstützt das Hochladen von Ordnern nicht. Sie können zwar nur einzelne Dateien hochladen, aber Sie können mehrere Dateien gleichzeitig hochladen.

**Um Dateien in Ihr aktuelles Verzeichnis hochzuladen**

1. Wählen Sie in der linken Seitenleiste das Symbol **File Browser (Dateibrowser)** aus ( ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png) ).

1. Wählen Sie im Dateibrowser das Symbol **Dateien hochladen** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/File_upload_squid.png)) aus.

1. Wählen Sie die Dateien die Sie hochladen möchten und danach **Öffnen**.

1. Doppelklicken Sie auf eine Datei, um die Datei in einer neuen Registerkarte in Studio Classic zu öffnen.

# Klonen Sie ein Git-Repository in Amazon SageMaker Studio Classic
<a name="studio-tasks-git"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic kann nur eine Verbindung zu einem lokalen Git-Repository (Repo) herstellen. Das bedeutet, dass Sie das Git-Repo von Studio Classic aus klonen müssen, um auf die Dateien im Repository zugreifen zu können. Studio Classic bietet eine Git-Erweiterung, mit der Sie die URL eines Git-Repos eingeben, es in Ihre Umgebung klonen, Änderungen mithilfe von Push übertragen und den Commit-Verlauf anzeigen können. Wenn das Repo privat ist und für den Zugriff Anmeldeinformationen erforderlich sind, werden Sie aufgefordert, Ihre Benutzeranmeldedaten einzugeben. Dazu gehören Ihr Benutzername und Ihr persönliches Zugriffstoken. Weitere Informationen zu persönlichen Zugriffstoken finden Sie unter [Persönliche Zugriffstokens verwalten](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

Administratoren können auch ein empfohlenes Git-Repository URLs auf Amazon SageMaker AI-Domain- oder Benutzerprofilebene anhängen. Benutzer können dann die Repo-URL aus der Liste der Vorschläge auswählen und sie in Studio Classic klonen. Weitere Informationen zum Anfügen von vorgeschlagenen Repos finden Sie unter [Vorgeschlagene Git-Repos an Amazon SageMaker Studio Classic anhängen](studio-git-attach.md).

Das folgende Verfahren zeigt, wie Sie ein GitHub Repo aus Studio Classic klonen. 

**Klonen Sie das Repo**

1. Klicken Sie in der linken Seitenleiste auf das Symbol **Git** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git.png)).

1. Wählen Sie **Repository klonen**. Dies öffnet ein neues Fenster.

1. Geben Sie im Fenster **Git-Repository klonen** die URL im folgenden Format für das Git-Repo ein, das Sie klonen möchten, oder wählen Sie ein Repository aus der Liste der **vorgeschlagenen Repositorys** aus.

   ```
   https://github.com/path-to-git-repo/repo.git
   ```

1. Wenn Sie die URL des Git-Repositorys manuell eingegeben haben, wählen Sie **Clone "*git-url*"** aus dem Drop-down-Menü aus.

1. Geben Sie unter **Projektverzeichnis, in das geklont wird**, den Pfad zu dem lokalen Verzeichnis ein, in das Sie das Git-Repo klonen möchten. Wenn dieser Wert leer gelassen wird, klont Studio Classic das Repository in JupyterLab das Stammverzeichnis.

1. Klicken auf **Clone**. Dadurch wird ein neues Terminalfenster geöffnet.

1. Wenn für das Repo Anmeldeinformationen erforderlich sind, werden Sie aufgefordert, Ihren Benutzernamen und Ihr persönliches Zugriffstoken einzugeben. Diese Aufforderung akzeptiert keine Passwörter. Sie müssen ein persönliches Zugriffstoken verwenden. Weitere Informationen zu persönlichen Zugriffstoken finden Sie unter [Persönliche Zugriffstokens verwalten](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

1. Warten Sie bis der Download abgeschlossen ist. Nachdem das Repo geklont wurde, wird der **Dateibrowser** geöffnet, um das geklonte Repo anzuzeigen.

1. Doppelklicken Sie auf das Repo, um es zu öffnen.

1. Wählen Sie das **Git**-Symbol, um die Git-Benutzeroberfläche anzuzeigen, die jetzt das Repo verfolgt.

1. Um ein anderes Repo zu verfolgen, öffnen Sie das Repo im Dateibrowser und wählen Sie dann das **Git**-Symbol.

# Beenden Sie einen Schulungsjob in Amazon SageMaker Studio Classic
<a name="studio-tasks-stop-training-job"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Sie können einen Trainingsjob mit der Amazon SageMaker Studio Classic-Benutzeroberfläche beenden. Wenn Sie einen Trainingsjob beenden, ändert sich dessen Status in `Stopping`, und die Abrechnung wird eingestellt. Ein Algorithmus kann die Beendigung verzögern, um Modellartefakte zu speichern. Anschließend ändert sich der Auftragsstatus zu `Stopped`. Weitere Informationen finden Sie unter der Methode [stop\$1training\$1job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.stop_training_job) im AWS SDK für Python (Boto3).

**So beenden Sie einen Trainingsjob**

1. Befolgen Sie das Verfahren [Experimente und Läufe anzeigen](experiments-view-compare.md) auf dieser Seite, bis zu dem Punkt, an dem Sie die Registerkarte **Describe Trial Component (Tetstkomponente beschreiben)** öffnen können.

1. Wählen Sie rechts oben auf der Registerkarte **Trainingsjob beenden** aus. Der **Status** oben links auf der Registerkarte ändert sich zu **Stopped (Beendet)**.

1. Um sich die Trainingszeit und die kostenpflichtige Zeit anzeigen zu lassen, wählen Sie **AWS Einstellungen** aus.

# TensorBoard In Amazon SageMaker Studio Classic verwenden
<a name="studio-tensorboard"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

 Das folgende Dokument beschreibt die Installation und Ausführung TensorBoard in Amazon SageMaker Studio Classic. 

**Anmerkung**  
Diese Anleitung zeigt, wie Sie die TensorBoard Anwendung über einen SageMaker Studio Classic-Notebook-Server mit einem individuellen SageMaker AI-Domain-Benutzerprofil öffnen. Eine umfassendere TensorBoard Erfahrung, die in SageMaker Training und die Zugriffskontrollfunktionen der SageMaker AI-Domäne integriert ist, finden Sie unter[TensorBoard in Amazon SageMaker AI](tensorboard-on-sagemaker.md).

## Voraussetzungen
<a name="studio-tensorboard-prereq"></a>

Für dieses Tutorial ist eine SageMaker KI-Domain erforderlich. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Einrichten von `TensorBoardCallback`
<a name="studio-tensorboard-setup"></a>

1. Starten Sie Studio Classic und öffnen Sie den Launcher. Weitere Informationen finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md).

1. Wählen Sie im Amazon SageMaker Studio Classic Launcher unter `Notebooks and compute resources` die Schaltfläche **Umgebung ändern**.

1. Im Dialogfeld **Umgebung ändern** verwenden Sie die Dropdown-Menüs, um das **Image** `TensorFlow 2.6 Python 3.8 CPU Optimized` von Studio Classic auszuwählen.

1. Kehren Sie zum Launcher zurück und klicken Sie auf die Kachel **Notebook erstellen**. Ihr Notebook wird gestartet und auf einer neuen Studio-Classic-Registerkarte geöffnet.

1. Führen Sie diesen Code in Ihren Notebook-Zellen aus.

1. Importieren Sie die erforderlichen Pakete. 

   ```
   import os
   import datetime
   import tensorflow as tf
   ```

1. Erstellen Sie ein Keras-Modell.

   ```
   mnist = tf.keras.datasets.mnist
   
   (x_train, y_train),(x_test, y_test) = mnist.load_data()
   x_train, x_test = x_train / 255.0, x_test / 255.0
   
   def create_model():
     return tf.keras.models.Sequential([
       tf.keras.layers.Flatten(input_shape=(28, 28)),
       tf.keras.layers.Dense(512, activation='relu'),
       tf.keras.layers.Dropout(0.2),
       tf.keras.layers.Dense(10, activation='softmax')
     ])
   ```

1. Erstellen Sie ein Verzeichnis für Ihre TensorBoard Logs

   ```
   LOG_DIR = os.path.join(os.getcwd(), "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
   ```

1. Führen Sie das Training mit durch TensorBoard.

   ```
   model = create_model()
   model.compile(optimizer='adam',
                 loss='sparse_categorical_crossentropy',
                 metrics=['accuracy'])
                 
                 
   tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=LOG_DIR, histogram_freq=1)
   
   model.fit(x=x_train,
             y=y_train,
             epochs=5,
             validation_data=(x_test, y_test),
             callbacks=[tensorboard_callback])
   ```

1. Generieren Sie den EFS-Pfad für die TensorBoard Protokolle. Sie verwenden diesen Pfad, um Ihre Protokolle vom Terminal aus einzurichten.

   ```
   EFS_PATH_LOG_DIR = "/".join(LOG_DIR.strip("/").split('/')[1:-1])
   print (EFS_PATH_LOG_DIR)
   ```

   Rufen Sie den `EFS_PATH_LOG_DIR` ab. Sie benötigen ihn im TensorBoard Installationsbereich.

## Installieren TensorBoard
<a name="studio-tensorboard-install"></a>

1. Klicken Sie auf die `Amazon SageMaker Studio Classic` Schaltfläche in der oberen linken Ecke von Studio Classic, um den Amazon SageMaker Studio Classic Launcher zu öffnen. Dieser Launcher muss von Ihrem Stammverzeichnis aus geöffnet werden. Weitere Informationen finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md).

1. Klicken Sie im Launcher unter `Utilities and files` auf `System terminal`. 

1. Führen Sie am Terminal folgende Befehle aus. Kopieren Sie `EFS_PATH_LOG_DIR` aus dem Jupyter Notebook. Sie müssen dies aus dem `/home/sagemaker-user` Stammverzeichnis ausführen.

   ```
   pip install tensorboard
   tensorboard --logdir <EFS_PATH_LOG_DIR>
   ```

## Starten TensorBoard
<a name="studio-tensorboard-launch"></a>

1. Kopieren Sie zum Starten TensorBoard Ihre Studio Classic-URL und `lab?` ersetzen Sie `proxy/6006/` sie wie folgt. Sie müssen das Schlusszeichen `/` einschließen.

   ```
   https://<YOUR_URL>.studio.region.sagemaker.aws/jupyter/default/proxy/6006/
   ```

1. Navigieren Sie zur URL, um Ihre Ergebnisse zu überprüfen. 

# Verwenden Sie Amazon Q Developer mit Amazon SageMaker Studio Classic
<a name="sm-q"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker Studio Classic ist eine integrierte Umgebung für maschinelles Lernen, in der Sie Ihre Modelle in derselben Anwendung erstellen, trainieren, bereitstellen und analysieren können. Mithilfe von Amazon Q Developer mit Amazon SageMaker AI können Sie Codeempfehlungen generieren und Verbesserungen im Zusammenhang mit Codeproblemen vorschlagen.

Amazon Q Developer ist ein auf generativer künstlicher Intelligenz (KI) basierender Konversationsassistent, der Ihnen helfen kann, AWS Anwendungen zu verstehen, zu erstellen, zu erweitern und zu betreiben. Im Kontext einer integrierten AWS Codierungsumgebung kann Amazon Q Codeempfehlungen auf der Grundlage des Codes der Entwickler sowie ihrer Kommentare in natürlicher Sprache generieren. 

Amazon Q bietet die meiste Unterstützung für Java, Python,, C\$1 JavaScript TypeScript, Go, PHP, Rust, Kotlin und SQL sowie für die Infrastructure as Code (IaC) -Sprachen JSON (), YAML (CloudFormation), HCL (Terraform CloudFormation) und CDK (Typescript, Python). Es unterstützt auch die Codegenerierung für Ruby, C\$1\$1, C, Shell und Scala. Beispiele dafür, wie Amazon Q in Amazon SageMaker AI integriert ist und Codevorschläge in der Amazon SageMaker Studio Classic IDE anzeigt, finden Sie unter [Codebeispiele](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/inline-suggestions-code-examples.html) im *Amazon Q Developer User Guide*.

Weitere Informationen zur Verwendung von Amazon Q mit Amazon SageMaker Studio Classic finden Sie im [Amazon Q Developer User Guide](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/sagemaker-setup.html).

# Verwalten Sie Ihr Amazon EFS-Speichervolume in Amazon SageMaker Studio Classic
<a name="studio-tasks-manage-storage"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Wenn ein Benutzer in Ihrem Team zum ersten Mal Amazon SageMaker Studio Classic nutzt, erstellt Amazon SageMaker AI ein Amazon Elastic File System (Amazon EFS) -Volume für das Team. Für jeden Benutzer, der als Teil Ihres Teams bei Studio Classic einsteigt, wird im Volume ein Stammverzeichnis erstellt. In diesen Verzeichnissen werden Notebookdateien und Datendateien gespeichert. Benutzer haben keinen Zugriff auf die Home-Verzeichnisse anderer Teammitglieder. Die Amazon SageMaker AI-Domain unterstützt das Mounten von benutzerdefinierten oder zusätzlichen Amazon EFS-Volumes nicht.

**Wichtig**  
Löschen Sie das Amazon EFS-Volume nicht. Wenn Sie sie löschen, funktioniert die Domain nicht mehr und alle Benutzer verlieren ihre Arbeit.

**So finden Sie Ihr Amazon EFS Volumes**

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der Seite **Domains** die Domain aus, für die Sie die ID finden möchten.

1. Wählen Sie auf der Seite mit den **Domain-Details** den Tab **Domaineinstellungen** aus.

1. Suchen Sie unter **Allgemeine Einstellungen** nach der **Domain-ID**. Die ID hat das folgende Format: `d-xxxxxxxxxxxx`.

1. Übergeben Sie das `Domain ID`, as `DomainId`, an die Methode [describe\$1domain](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.describe_domain).

1. Notieren Sie in der Antwort von `describe_domain` den Wert für den `HomeEfsFileSystemId` Schlüssel. Das ist das Amazon EFS-Dateisystem-ID.

1. Öffnen Sie die [Amazon-ECS-Konsole](https://console.aws.amazon.com/efs#/file-systems/). Stellen Sie sicher, dass es sich bei der AWS Region um dieselbe Region handelt, die von Studio Classic verwendet wird.

1. Wählen Sie unter **Dateisysteme** die Dateisystem-ID aus dem vorherigen Schritt aus.

1. Um zu überprüfen, ob Sie das richtige Dateisystem ausgewählt haben, wählen Sie die Überschrift **Tags** aus. Der Wert, der dem `ManagedByAmazonSageMakerResource` Schlüssel entspricht, sollte mit dem `Studio Classic ID` übereinstimmen.

Informationen zum Zugriff auf das Amazon EFS-Volume finden Sie unter [Dateisysteme in Amazon EFS verwenden](https://docs.aws.amazon.com/efs/latest/ug/using-fs.html).

Informationen zum Löschen des Amazon EFS-Volumes finden Sie unter [Löschen eines Amazon EFS-Dateisystems](https://docs.aws.amazon.com/efs/latest/ug/delete-efs-fs.html).

# Geben Sie Feedback zu Amazon SageMaker Studio Classic
<a name="studio-tasks-provide-feedback"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Amazon SageMaker AI nimmt Ihr Feedback ernst. Wir empfehlen Ihnen, Feedback zu geben.

**So geben Sie Feedback**

1. Rechts neben SageMaker Studio Classic finden Sie das **Feedback-Symbol** (![\[Speech bubble icon representing messaging or communication functionality.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/feedback.png)).

1. Wählen Sie ein Smiley-Emoji, um uns mitzuteilen, wie zufrieden Sie mit SageMaker Studio Classic sind, und fügen Sie Feedback hinzu, das Sie uns mitteilen möchten.

1. Entscheiden Sie, ob Sie Ihre Identität mit uns teilen möchten, und wählen Sie dann **Submit (Senden)**.

# Amazon SageMaker Studio Classic und Apps herunterfahren und aktualisieren
<a name="studio-tasks-update"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

In den folgenden Themen wird gezeigt, wie Sie Studio Classic- und SageMaker Studio Classic-Apps herunterfahren und aktualisieren.

Studio Classic bietet ein Benachrichtigungssymbol (![\[Red circle icon with white exclamation mark, indicating an alert or warning.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Notification.png)) in der oberen rechten Ecke der Studio-Classic-Benutzeroberfläche. Dieses Benachrichtigungssymbol zeigt die Anzahl der ungelesenen Benachrichtigungen an. Um die Benachrichtigungen zu lesen, wählen Sie das Symbol aus.

Studio Classic bietet zwei Arten von Benachrichtigungen:
+ Upgrade – wird angezeigt, wenn Studio Classic oder eine der Studio-Classic-Apps eine neue Version veröffentlicht haben. Informationen zum Aktualisieren von Studio Classic finden Sie unter [Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md). Informationen zum Aktualisieren von Studio-Classic-Apps finden Sie unter [Amazon SageMaker Studio Classic-Apps herunterfahren und aktualisieren](studio-tasks-update-apps.md).
+ Information – Wird für neue Features und andere Informationen angezeigt.

Um das Benachrichtigungssymbol zurückzusetzen, müssen Sie den Link in jeder Benachrichtigung auswählen. Gelesene Benachrichtigungen werden möglicherweise weiterhin im Symbol angezeigt. Dies bedeutet nicht, dass nach der Aktualisierung von Studio Classic und Studio-Classic-Apps weiterhin Updates erforderlich sind.

Informationen zum Aktualisieren von [Amazon SageMaker Data Wrangler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html) finden Sie unter. [Amazon SageMaker Studio Classic-Apps herunterfahren und aktualisieren](studio-tasks-update-apps.md)

Um sicherzustellen, dass Sie über die neuesten Softwareupdates verfügen, aktualisieren Sie Amazon SageMaker Studio Classic und Ihre Studio Classic-Apps mithilfe der in den folgenden Themen beschriebenen Methoden.

**Topics**
+ [Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md)
+ [Amazon SageMaker Studio Classic-Apps herunterfahren und aktualisieren](studio-tasks-update-apps.md)

# Amazon SageMaker Studio Classic herunterfahren und aktualisieren
<a name="studio-tasks-update-studio"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Um Amazon SageMaker Studio Classic auf die neueste Version zu aktualisieren, müssen Sie die JupyterServer App herunterfahren. Sie können die JupyterServer App von der SageMaker AI-Konsole, von Amazon SageMaker Studio oder von Studio Classic aus herunterfahren. Nachdem die JupyterServer App heruntergefahren wurde, müssen Sie Studio Classic über die SageMaker AI-Konsole oder über Studio, das eine neue Version der JupyterServer App erstellt, erneut öffnen. 

Sie können die JupyterServer Anwendung nicht löschen, solange die Studio Classic-Benutzeroberfläche noch im Browser geöffnet ist. Wenn Sie die JupyterServer Anwendung löschen, während die Studio Classic-Benutzeroberfläche noch im Browser geöffnet ist, erstellt SageMaker AI die JupyterServer Anwendung automatisch neu.

Nicht gespeicherte Notebook-Informationen gehen dabei verloren. Die Benutzerdaten im Amazon EFS-Volume sind nicht betroffen.

Einige der Services in Studio Classic, wie Data Wrangler, werden in einer eigenen App ausgeführt. Um diese Dienste zu aktualisieren, müssen Sie die App für diesen Dienst löschen. Weitere Informationen hierzu finden Sie unter [Amazon SageMaker Studio Classic-Apps herunterfahren und aktualisieren](studio-tasks-update-apps.md).

**Anmerkung**  
Eine JupyterServer App ist einem einzelnen Studio Classic-Benutzer zugeordnet. Wenn Sie die App für einen Benutzer aktualisieren, hat dies keine Auswirkungen auf andere Benutzer.

Auf der folgenden Seite wird gezeigt, wie Sie die JupyterServer App von der SageMaker AI-Konsole, von Studio aus oder von Studio Classic aus aktualisieren.

## Fahren Sie das Gerät von der SageMaker AI-Konsole aus herunter und aktualisieren Sie es
<a name="studio-tasks-update-studio-console"></a>

1. Navigieren Sie zu [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, die die zu aktualisierende Studio-Classic-Anwendung enthält.

1. Wählen Sie unter **Benutzerprofile** Ihren Benutzernamen aus.

1. Wählen Sie in der angezeigten Zeile unter ****JupyterServer**Apps** die Option **Aktion** und anschließend **Löschen** aus.

1. Wählen Sie **Ja, App löschen** aus.

1. Geben Sie **delete** im Bestätigungsfeld ein, um dies zu bestätigen.

1. Wählen Sie **Löschen** aus.

1. Nachdem die App gelöscht wurde, starten Sie eine neue Studio-Classic-App, um die neueste Version zu erhalten.

## Herunterfahren und Aktualisieren von Studio
<a name="studio-tasks-update-studio-updated"></a>

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Suchen Sie in der Studio-Benutzeroberfläche den Anwendungsbereich auf der linken Seite.

1. Wählen Sie im Anwendungsbereich **Studio Classic** aus.

1. Wählen Sie auf der Studio-Classic-Landingpage die Studio-Classic-Instance aus, die Sie beenden möchten.

1. Wählen Sie **Beenden** aus.

1. Nachdem die App gestoppt wurde, wählen Sie **Ausführen** aus, um die neueste Version zu verwenden.

## Herunterfahren und Aktualisieren aus Studio Classic
<a name="studio-tasks-update-studio-classic"></a>

1. Starten Sie Studio Classic.

1. Wählen Sie im oberen Menü **File (Datei)** und anschließend **Shut Down (Herunterfahren)** aus.

1. Wählen Sie eine der folgenden Optionen:
   + **Server herunterfahren** — Fährt die JupyterServer App herunter. Terminalsitzungen, Kernel-Sitzungen, SageMaker Images und Instanzen werden nicht heruntergefahren. Für diese Ressourcen fallen weiterhin Gebühren an.
   + **Alle herunterfahren** — Fährt alle Apps, Terminalsitzungen, Kernel-Sitzungen, SageMaker Images und Instanzen herunter. Für diese Ressourcen fallen keine Gebühren mehr an.

1. Schließen Sie das -Fenster.

1. Nachdem die App gelöscht wurde, starten Sie eine neue Studio-Classic-App, um die neueste Version zu verwenden.

# Amazon SageMaker Studio Classic-Apps herunterfahren und aktualisieren
<a name="studio-tasks-update-apps"></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.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Um eine Amazon SageMaker Studio Classic-App auf die neueste Version zu aktualisieren, müssen Sie zuerst die entsprechende KernelGateway App von der SageMaker AI-Konsole aus herunterfahren. Nachdem die KernelGateway App heruntergefahren wurde, müssen Sie sie erneut über SageMaker Studio Classic öffnen, indem Sie einen neuen Kernel ausführen. Der Kernel wird automatisch aktualisiert. Nicht gespeicherte Notebook-Informationen gehen dabei verloren. Die Benutzerdaten im Amazon EFS-Volume sind nicht betroffen.

Nachdem eine Anwendung für 24 Stunden heruntergefahren wurde, löscht SageMaker AI alle Metadaten für die Anwendung. Um als Aktualisierung zu gelten und Anwendungsmetadaten beizubehalten, müssen Anwendungen innerhalb von 24 Stunden nach dem Herunterfahren der vorherigen Anwendung neu gestartet werden. Nach Ablauf dieses Zeitfensters wird die Erstellung einer Anwendung als neue Anwendung und nicht als Aktualisierung der vorherigen Anwendung betrachtet.

**Anmerkung**  
Eine KernelGateway App ist einem einzelnen Studio Classic-Benutzer zugeordnet. Wenn Sie die App für einen Benutzer aktualisieren, hat dies keine Auswirkungen auf andere Benutzer.

**Um die KernelGateway App zu aktualisieren**

1. Navigieren Sie zu [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, die die Anwendung enthält, die Sie aktualisieren möchten.

1. Wählen Sie unter **Benutzerprofile** Ihren Benutzernamen aus.

1. Wählen Sie unter **Apps** in der Zeile mit dem **App-Namen** **Aktion** und anschließend **Löschen** aus 

   Um Data Wrangler zu aktualisieren, löschen Sie die App, die mit beginnt. **sagemaker-data-wrang**

1. Wählen Sie **Ja, App löschen** aus.

1. Geben Sie **delete** im Bestätigungsfeld ein, um dies zu bestätigen.

1. Wählen Sie **Löschen** aus.

1. Nachdem die App gelöscht wurde, starten Sie in Studio Classic einen neuen Kernel, um die neueste Version zu verwenden.

# Amazon SageMaker Studio Classic — Preise
<a name="studio-pricing"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

Wenn das erste Mitglied Ihres Teams Amazon SageMaker Studio Classic nutzt, erstellt Amazon SageMaker AI ein Amazon Elastic File System (Amazon EFS) -Volume für das Team. Wenn dieses Mitglied oder ein anderes Mitglied des Teams Studio Classic öffnet, wird im Volume ein Stammverzeichnis für das Mitglied erstellt. Für dieses Verzeichnis fallen Speichergebühren an. In der Folge fallen zusätzliche Speichergebühren für die Notebooks und Datendateien an, die im Home-Verzeichnis des Mitglieds gespeichert sind. Weitere Informationen zu Amazon EFS-Preisen finden Sie unter [Amazon EFS Preise](https://aws.amazon.com/efs/pricing/).

Zusätzliche Kosten entstehen, wenn andere Vorgänge in Studio Classic ausgeführt werden, z. B. die Ausführung eines Notebooks, die Ausführung von Trainingsjobs und das Hosting eines Modells.

Weitere Informationen zu den Kosten in Zusammenhang mit der Verwendung von Studio-Classic-Notebooks finden Sie unter [Nutzungsmessung für Amazon SageMaker Studio Classic-Notebooks](notebooks-usage-metering.md).

Informationen zur Abrechnung sowie Preisbeispiele finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

Wenn Amazon SageMaker Studio Ihr Standarderlebnis ist, finden Sie [Amazon SageMaker Studio-Preise](studio-updated-cost.md) weitere Preisinformationen unter.

# Problembehebung bei Amazon SageMaker Studio Classic
<a name="studio-troubleshooting"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

**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.

In diesem Thema wird beschrieben, wie Sie häufig auftretende Probleme mit Amazon SageMaker Studio Classic bei der Einrichtung und Verwendung beheben können. Im Folgenden sind häufig auftretende Fehler aufgeführt, die bei der Verwendung von Amazon SageMaker Studio Classic auftreten können. Auf jeden Fehler folgt eine Lösung.

## Probleme mit der Studio-Classic-Anwendung
<a name="studio-troubleshooting-ui"></a>

 Die folgenden Probleme treten beim Starten und Verwenden der Studio-Classic-Anwendung auf.
+ **Der Bildschirm wird nicht geladen: Den Workspace löschen und warten hilft nicht**

  Beim Starten der Studio-Classic-Anwendung wird in einem Pop-up-Fenster die folgende Meldung angezeigt. Unabhängig davon, welche Option ausgewählt wird, wird Studio Classic nicht geladen. 

  ```
  Loading...
  The loading screen is taking a long time. Would you like to clear the workspace or keep waiting?
  ```

  Bei der Studio-Classic-Anwendung kann es zu einer Verzögerung beim Start kommen, wenn mehrere Registerkarten im Studio-Classic-Workspace geöffnet sind oder sich mehrere Dateien in Amazon EFS befinden. Dieses Pop-up-Fenster sollte nach einigen Sekunden verschwinden, sobald der Studio-Classic-Workspace bereit ist. 

  Wenn Sie nach der Auswahl einer der Optionen weiterhin einen Ladebildschirm mit einem Drehfeld sehen, kann es zu Verbindungsproblemen mit der von Studio Classic verwendeten Amazon Virtual Private Cloud kommen.  

  Überprüfen Sie die folgenden Netzwerkkonfigurationen, um Verbindungsprobleme mit der von Studio Classic verwendeten Amazon Virtual Private Cloud (Amazon VPC) zu beheben:
  + Wenn Ihre Domain im `VpcOnly` Modus eingerichtet ist: Stellen Sie sicher, dass ein Amazon VPC-Endpunkt für AWS STS oder ein NAT-Gateway für ausgehenden Datenverkehr, einschließlich Verkehr über das Internet, vorhanden ist. Befolgen Sie dafür die unter [Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen](studio-notebooks-and-internet-access.md) beschriebenen Schritte. 
  + Wenn Ihre Amazon VPC mit einem benutzerdefinierten DNS anstelle des von Amazon bereitgestellten DNS eingerichtet ist: Stellen Sie sicher, dass die Routen mithilfe des Dynamic Host Configuration Protocol (DHCP) für jeden Amazon-VPC-Endpunkt konfiguriert sind, der der von Studio Classic verwendeten Amazon VPC hinzugefügt wird. Weitere Informationen zur Einstellung standardmäßiger und benutzerdefinierter DHCP-Optionssätze finden Sie unter [DHCP-Optionssätze in Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
+ ****Interner Fehler** beim Starten von Studio**

  Beim Starten von Studio Classic können Sie die Studio-Classic-Benutzeroberfläche nicht anzeigen. Außerdem wird ein Fehler ähnlich dem folgenden angezeigt, wobei **Interner Fehler** das Fehlerdetail ist. 

  ```
  Amazon SageMaker Studio
  The JupyterServer app default encountered a problem and was stopped.
  ```

  Dieser Fehler kann durch mehrere Faktoren verursacht werden. Wenn der Abschluss dieser Schritte Ihr Problem nicht löst, erstellen Sie ein Problem mit. https://aws.amazon.com/premiumsupport/  
  + **Fehlendes Mounting-Ziel von Amazon EFS**: Studio Classic verwendet Amazon EFS als Speicher. Das Amazon EFS-Volume benötigt ein Mount-Ziel für jedes Subnetz, in dem die Amazon SageMaker AI-Domain erstellt wird. Wenn dieses Mounting-Ziel von Amazon EFS versehentlich gelöscht wird, kann die Studio-Classic-Anwendung nicht geladen werden, da sie das Dateiverzeichnis des Benutzers nicht mounten kann. Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben. 

**Um Mount-Ziele zu überprüfen oder zu erstellen.**

    1. Suchen Sie mithilfe des [DescribeDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html)API-Aufrufs nach dem Amazon EFS-Volume, das der Domain zugeordnet ist.  

    1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon EFS-Konsole unter [ https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/).

    1. Wählen Sie aus der Liste der Amazon EFS-Volumes das Amazon EFS-Volume aus, das der Domain zugeordnet ist. 

    1. Wählen Sie auf der Amazon EFS-Detailseite die Registerkarte **Netzwerk** aus. Stellen Sie sicher, dass Mount-Ziele für alle Subnetze vorhanden sind, in denen die Domain eingerichtet ist. 

    1. Wenn Mount-Ziele fehlen, fügen Sie die fehlenden Amazon EFS-Mount-Ziele hinzu. Anweisungen finden Sie unter [Mount-Ziele und Sicherheitsgruppen erstellen und verwalten](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html). 

    1. Nachdem die fehlenden Mounting-Ziele erstellt wurden, starten Sie die Studio-Classic-Anwendung. 
  + **Widersprüchliche Dateien im `.local` Benutzerordner**: Wenn Sie JupyterLab Version 1 in Studio Classic verwenden, können widersprüchliche Bibliotheken in Ihrem `.local` Ordner zu Problemen beim Starten der Studio Classic-Anwendung führen. Um dieses Problem zu beheben, aktualisieren Sie die JupyterLab Standardversion Ihres Benutzerprofils auf JupyterLab 3.0. Weitere Informationen zum Anzeigen und Aktualisieren der JupyterLab Version finden Sie unter[JupyterLab Versionierung in Amazon SageMaker Studio Classic](studio-jl.md). 
+ ****ConfigurationError: LifecycleConfig** beim Starten von Studio Classic**

  Sie können die Studio-Classic-Benutzeroberfläche beim Starten von Studio Classic nicht anzeigen. Dies wird durch Probleme mit dem standardmäßigen Lifecycle-Konfigurationsskript verursacht, das an die Domain angehängt ist.

**Um Probleme mit der Lebenszykluskonfiguration zu lösen**

  1. Sehen Sie sich die CloudWatch Amazon-Protokolle für die Lebenszykluskonfiguration an, um den Befehl nachzuverfolgen, der den Fehler verursacht hat. Um das Protokoll einzusehen, folgen Sie den Schritten unter [Überprüfen Sie den Lebenszykluskonfigurationsprozess anhand von CloudWatch Protokollen](studio-lcc-debug.md#studio-lcc-debug-logs). 

  1. Trennen Sie das Standardskript vom Benutzerprofil oder der Domain. Weitere Informationen finden Sie unter [Lebenszykluskonfigurationen in Amazon SageMaker Studio Classic aktualisieren und trennen](studio-lcc-delete.md). 

  1. Starten Sie die Studio-Classic-Anwendung. 

  1. Debuggen Sie Ihr Lifecycle-Konfigurationsskript. Sie können das Lebenszyklus-Konfigurationsskript vom Systemterminal aus ausführen, um Fehler zu beheben. Wenn das Skript erfolgreich vom Terminal aus ausgeführt wird, können Sie das Skript an das Benutzerprofil oder die Domain anhängen. 
+ **SageMaker Die Kernfunktionen von Studio Classic sind nicht verfügbar.**

  Wenn Sie diese Fehlermeldung beim Öffnen von Studio Classic erhalten, kann dies an Versionskonflikten des Python-Pakets liegen. Dies ist der Fall, wenn Sie die folgenden Befehle in einem Notebook oder Terminal verwendet haben, um Python-Pakete zu installieren, bei denen Versionskonflikte mit SageMaker AI-Paketabhängigkeiten auftreten.

  ```
  !pip install
  ```

  ```
  pip install --user
  ```

  Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Deinstallieren Sie kürzlich installierte Python-Pakete. Wenn Sie sich nicht sicher sind, welches Paket Sie deinstallieren sollen, erstellen Sie ein Problem mit https://aws.amazon.com/premiumsupport/. 

  1. Starten Sie Studio Classic neu:

     1. Fahren Sie Studio Classic über das Menü **Datei** herunter.

     1. Warten Sie eine Minute.

     1. Öffnen Sie Studio Classic erneut, indem Sie die Seite aktualisieren oder sie über die AWS-Managementkonsoleöffnen.

  Das Problem sollte behoben sein, wenn Sie das Paket deinstalliert haben, das den Konflikt verursacht hat. Um Pakete zu installieren, ohne dieses Problem erneut zu verursachen, verwenden Sie `%pip install` ohne die `--user` Flagge.

  Wenn das Problem weiterhin besteht, erstellen Sie ein neues Benutzerprofil und richten Sie Ihre Umgebung mit diesem Benutzerprofil ein.

  Wenn diese Lösungen das Problem nicht beheben, erstellen Sie ein Problem mit https://aws.amazon.com/premiumsupport/. 
+ **Studio Classic kann nicht über die AWS-Managementkonsole geöffnet werden.**

  Wenn Sie Studio Classic nicht öffnen und keine neue laufende Instanz mit allen Standardeinstellungen erstellen können, erstellen Sie ein Problem mit https://aws.amazon.com/premiumsupport/. 

## KernelGateway Probleme mit der Anwendung
<a name="studio-troubleshooting-kg"></a>

 Die folgenden Probleme betreffen speziell KernelGateway Anwendungen, die in Studio Classic gestartet werden. 
+ **Auf die Kernel-Sitzung kann nicht zugegriffen werden**

  Wenn der Benutzer ein neues Notebook startet, kann er keine Verbindung zur Notebook-Sitzung herstellen. Wenn der Status der KernelGateway Anwendung lautet`In Service`, können Sie Folgendes überprüfen, um das Problem zu beheben. 
  + **Überprüfen Sie die Konfigurationen der Sicherheitsgruppen**

    Wenn die Domäne im `VPCOnly` Modus eingerichtet ist, muss die der Domäne zugeordnete Sicherheitsgruppe den Verkehr zwischen den Ports im Bereich `8192-65535` für die Konnektivität zwischen den JupyterServer und KernelGateway Apps zulassen.

**So überprüfen Sie die Sicherheitsgruppenregeln**

    1. Rufen Sie mithilfe des [DescribeDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html)API-Aufrufs die mit der Domain verknüpften Sicherheitsgruppen ab.

    1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

    1. Wählen Sie in der Navigationsleiste unter **Sicherheit** die Option **Sicherheitsgruppen** aus.

    1. Filtern Sie nach IDs den Sicherheitsgruppen, die der Domain zugeordnet sind.

    1. Für jede Sicherheitsgruppe: 

       1. Wählen Sie die Sicherheitsgruppe aus. 

       1. Sehen Sie sich auf der Seite mit den Sicherheitsgruppendetails die **Regeln für eingehende Nachrichten an**. Stellen Sie sicher, dass Datenverkehr zwischen den Ports im Bereich `8192-65535` zulässig ist. 

    Weitere Informationen zu Sicherheitsgruppenregeln finden Sie unter [Steuern des Datenverkehrs zu Ressourcen mithilfe von Sicherheitsgruppen](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#working-with-security-group-rules). Weitere Informationen zu den Anforderungen für die Verwendung von Studio Classic im `VPCOnly`-Modus finden Sie unter [Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen](studio-notebooks-and-internet-access.md).
  + **Überprüfen Sie die Firewall und die WebSocket Verbindungen**

    Wenn die KernelGateway Apps einen `InService` Status haben und der Benutzer keine Verbindung zur Studio Classic-Notebook-Sitzung herstellen kann, überprüfen Sie die Firewall und die WebSocket Einstellungen. 

    1. Starten Sie die Studio-Classic-Anwendung. Weitere Informationen finden Sie unter [Starten Sie Amazon SageMaker Studio Classic](studio-launch.md). 

    1. Öffnen Sie die Entwicklertools Ihres Web-Browsers. 

    1. Wählen Sie die Registerkarte **Network (Netzwerk)** aus. 

    1. Suchen Sie nach einem Eintrag, der dem folgenden Format entspricht.

       ```
       wss://<domain-id>.studio.<region>.sagemaker.aws/jupyter/default/api/kernels/<unique-code>/channels?session_id=<unique-code>
       ```

       Wenn der Status- oder Antwortcode für den Eintrag etwas anderes als lautet`101`, verhindern Ihre Netzwerkeinstellungen die Verbindung zwischen der Studio Classic-Anwendung und den KernelGateway Apps.

       Um dieses Problem zu beheben, wenden Sie sich an das Team, das Ihre Netzwerkeinstellungen verwaltet, um die Studio Classic-URL aufzulisten und WebSocket Verbindungen zu aktivieren.  
+ **Eine App konnte aufgrund einer Überschreitung der Ressourcenkontingente nicht gestartet werden**

  Wenn ein Benutzer versucht, ein neues Notebook zu starten, schlägt die Erstellung des Notebooks mit einem der folgenden Fehler fehl. Dies wird durch die Überschreitung von Ressourcenkontingenten verursacht. 
  + 

    ```
    Unable to start more Apps of AppType [KernelGateway] and ResourceSpec(instanceType=[]) for UserProfile []. Please delete an App with a matching AppType and ResourceSpec, then try again
    ```

    Studio Classic unterstützt bis zu vier laufende KernelGateway Apps auf derselben Instanz. Um dieses Problem zu lösen, können Sie eine der folgenden Möglichkeiten nutzen:
    + Löschen Sie eine bestehende KernelGateway Anwendung, die auf der Instanz ausgeführt wird, und starten Sie dann das neue Notebook neu.
    + Starten Sie das neue Notebook auf einem anderen Instance-Typ

     Weitere Informationen finden Sie unter [Ändern Sie den Instance-Typ für ein Amazon SageMaker Studio Classic-Notebook](notebooks-run-and-manage-switch-instance-type.md).
  + 

    ```
    An error occurred (ResourceLimitExceeded) when calling the CreateApp operation
    ```

    In diesem Fall verfügt das Konto nicht über ausreichende Limits, um eine Studio-Classic-Anwendung auf dem angegebenen Instance-Typ zu erstellen. Um dieses Problem zu beheben, navigieren Sie zur Service Quotas Konsole unter [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/). Fordern Sie in dieser Konsole an, das `Studio KernelGateway Apps running on instance-type instance` Limit zu erhöhen. Weitere Informationen finden Sie unter [AWS Servicekontingente](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). 

# SageMaker JupyterLab
<a name="studio-updated-jl"></a>

Erstellen Sie einen JupyterLab Bereich in Amazon SageMaker Studio, um die JupyterLab Anwendung zu starten. Ein JupyterLab Bereich ist ein privater oder gemeinsam genutzter Bereich innerhalb von Studio, der die Speicher- und Rechenressourcen verwaltet, die für die Ausführung der JupyterLab Anwendung benötigt werden. Die JupyterLab Anwendung ist eine webbasierte interaktive Entwicklungsumgebung (IDE) für Notebooks, Code und Daten. Verwenden Sie die flexible und umfangreiche Oberfläche der JupyterLab Anwendung, um Workflows für maschinelles Lernen (ML) zu konfigurieren und zu organisieren.

Standardmäßig wird die JupyterLab Anwendung mit dem SageMaker Distribution-Image geliefert. Das Distribution-Image enthält beliebte Pakete wie die folgenden:
+ PyTorch
+ TensorFlow
+ Keras
+ NumPy
+ Pandas
+ Scikit-learn

Sie können gemeinsam genutzte Bereiche verwenden, um in Echtzeit mit anderen Benutzern an Ihren Jupyter-Notebooks zusammenzuarbeiten. Weitere Informationen zur Datenfreigabe finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md).

Innerhalb der JupyterLab Anwendung können Sie Amazon Q Developer verwenden, einen generativen KI-gestützten Code-Begleiter, um Ihren Code zu generieren, zu debuggen und zu erklären. Informationen über die Verwendung von Amazon Q Developer finden Sie unter [JupyterLab Benutzerleitfaden](studio-updated-jl-user-guide.md). Informationen über die Einrichtung von Amazon Q Developer finden Sie unter [JupyterLab Administratorhandbuch](studio-updated-jl-admin-guide.md).

Erstellen Sie einheitliche Analytik- und ML-Workflows in demselben Jupyter-Notebook. Führen Sie interaktive Spark Jobs auf Amazon EMR und einer AWS Glue serverlosen Infrastruktur direkt von Ihrem Notebook aus aus. Mithilfe der Inline–SparkBenutzeroberfläche können Sie Aufträge schneller überwachen und debuggen. In wenigen Schritten können Sie Ihre Datenvorbereitung automatisieren, indem Sie das Notebook als Auftrag einplanen.

Die JupyterLab Anwendung hilft Ihnen bei der Zusammenarbeit mit Ihren Kollegen. Verwenden Sie die integrierte Git-Integration in der JupyterLab IDE, um Code zu teilen und zu versionieren. Bringen Sie Ihr eigenes Dateispeichersystem mit, wenn Sie ein Amazon-EFS-Volume haben.

Die JupyterLab Anwendung läuft auf einer einzigen Amazon Elastic Compute Cloud (Amazon EC2) -Instance und verwendet ein einzelnes Amazon Elastic Block Store (Amazon EBS) -Volume als Speicher. Sie können schnellere Instances wechseln oder die Größe des Amazon-EBS-Volumes Ihren Bedürfnissen entsprechend erhöhen.

Die JupyterLab 4 Anwendungen werden in einem JupyterLab Bereich innerhalb von Studio ausgeführt. Studio Classic verwendet die JupyterLab 3-Anwendung. JupyterLab 4 bietet die folgenden Vorteile:
+ Eine schnellere IDE als Amazon SageMaker Studio Classic, insbesondere bei großen Notebooks
+ Verbesserte Dokumentsuche
+ Ein leistungsfähigerer und zugänglicherer Texteditor

Weitere Informationen zu JupyterLab finden Sie in der [JupyterLabDokumentation](https://jupyterlab.readthedocs.io/en/stable/#).

**Topics**
+ [JupyterLab Benutzerleitfaden](studio-updated-jl-user-guide.md)
+ [JupyterLab Administratorhandbuch](studio-updated-jl-admin-guide.md)

# JupyterLab Benutzerleitfaden
<a name="studio-updated-jl-user-guide"></a>

In diesem Handbuch erfahren JupyterLab Benutzer, wie sie Analytics- und Machine-Learning-Workflows in SageMaker Studio ausführen. Sie können schnellen Speicher erhalten und Ihre Rechenleistung je nach Bedarf nach oben oder unten skalieren.

JupyterLab unterstützt sowohl private als auch gemeinsam genutzte Bereiche. Private Bereiche sind auf einen einzelnen Benutzer in einer Domain beschränkt. Gemeinsam genutzte Bereiche ermöglichen es anderen Benutzern in Ihrer Domain, in Echtzeit mit Ihnen zusammenzuarbeiten. Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).

Um mit der Verwendung zu beginnen JupyterLab, erstellen Sie einen Bereich und starten Sie Ihre JupyterLab Anwendung. Der Bereich, in dem Ihre JupyterLab Anwendung ausgeführt wird, ist ein JupyterLab Space. Der JupyterLab Speicherplatz verwendet eine einzige Amazon EC2 EC2-Instance für Ihre Datenverarbeitung und ein einzelnes Amazon EBS-Volume für Ihren Speicher. Alle Elemente in Ihrem Bereich, wie beispielsweise Ihr Code, Ihr Git-Profil und Ihre Umgebungsvariablen, werden auf demselben Amazon-EBS-Volume gespeichert. Das Volume hat 3000 IOPS und einen Durchsatz von 125 Megabyte pro Sekunde (). MBps Sie können den schnellen Speicher verwenden, um mehrere Jupyter-Notebooks auf derselben Instance zu öffnen und auszuführen. Sie können auch schnell zwischen den Kernels in einem Notebook wechseln.

Ihr Administrator hat die standardmäßigen Amazon-EBS-Speichereinstellungen für Ihren Bereich konfiguriert. Die Standardspeichergröße beträgt 5 GB, Sie können den verfügbaren Speicherplatz jedoch erhöhen. Bitte wenden Sie sich an Ihren Administrator, um entsprechende Richtlinien zu erhalten.

Sie können den Amazon EC2 EC2-Instance-Typ, den Sie für die Ausführung verwenden JupyterLab, wechseln und Ihre Rechenleistung je nach Bedarf nach oben oder unten skalieren. Die **Schnellstart**-Instances starten viel schneller als die anderen Instances.

Ihr Administrator stellt Ihnen möglicherweise eine Lebenszykluskonfiguration zur Verfügung, mit der Ihre Umgebung angepasst werden kann. Sie können die Lebenszykluskonfiguration festlegen, wenn Sie den Bereich erstellen.

Wenn Ihr Administrator Ihnen Zugriff auf ein Amazon EFS gewährt, können Sie Ihren JupyterLab Bereich so konfigurieren, dass er darauf zugreift.

Standardmäßig verwendet die JupyterLab Anwendung das SageMaker Distributions-Image. Dies umfasst die Unterstützung für zahlreiche Pakete für Machine Learning, Analytik und Deep Learning. Sollten Sie jedoch ein benutzerdefiniertes Image benötigen, kann Ihnen Ihr Administrator den Zugriff auf die benutzerdefinierten Images ermöglichen.

Das Amazon-EBS-Volume bleibt unabhängig von der Lebensdauer einer einzelnen Instance erhalten. Sie verlieren Ihre Daten nicht, wenn Sie Instances wechseln. Verwenden Sie die Paketverwaltungsbibliotheken conda und pip, um reproduzierbare benutzerdefinierte Umgebungen zu erstellen, die auch beim Wechseln des Instance-Typs erhalten bleiben.

Nach dem Öffnen JupyterLab können Sie Ihre Umgebung mit dem Terminal konfigurieren. Um das Terminal zu öffnen, navigieren Sie zum **Launcher** und wählen Sie **Terminal** aus.

Im Folgenden finden Sie Beispiele für verschiedene Möglichkeiten, wie Sie eine Umgebung konfigurieren können JupyterLab.

**Anmerkung**  
In Studio können Sie Lebenszykluskonfigurationen verwenden, um Ihre Umgebung anzupassen. Wir empfehlen jedoch, stattdessen einen Paketmanager zu verwenden. Die Verwendung von Lebenszykluskonfigurationen ist eine fehleranfälligere Methode. Es ist einfacher, Abhängigkeiten hinzuzufügen oder zu entfernen, als ein Skript für die Lebenszykluskonfiguration zu debuggen. Es kann auch die JupyterLab Startzeit verlängern.  
Informationen zu Lebenszykluskonfigurationen finden Sie unter [Lebenszykluskonfigurationen mit JupyterLab](jl-lcc.md).

**Topics**
+ [Erstellen eines Berichts](studio-updated-jl-user-guide-create-space.md)
+ [Konfigurieren eines Bereichs](studio-updated-jl-user-guide-configure-space.md)
+ [Anpassen Ihrer Umgebung mithilfe eines Paketmanagers](studio-updated-jl-user-guide-customize-package-manager.md)
+ [Bereinigen einer Conda-Umgebung](studio-updated-jl-clean-up-conda.md)
+ [Teilen von Conda-Umgebungen zwischen Instance-Typen](studio-updated-jl-create-conda-share-environment.md)
+ [Verwenden von Amazon Q, um Ihre Machine-Learning-Workflows zu beschleunigen](studio-updated-jl-user-guide-use-amazon-q.md)

# Erstellen eines Berichts
<a name="studio-updated-jl-user-guide-create-space"></a>

Erstellen Sie zunächst einen Bereich oder wählen Sie den Bereich aus JupyterLab, den Ihr Administrator für Sie erstellt hat, und öffnen Sie ihn JupyterLab.

Gehen Sie wie folgt vor, um einen Bereich zu erstellen und zu öffnen JupyterLab.

**Um einen Raum zu erstellen und zu öffnen JupyterLab**

1. Studio erneut öffnen Informationen zum Öffnen von Studio finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md).

1. Wählen Sie **JupyterLab**.

1. Wählen Sie ** JupyterLab Bereich erstellen**.

1. Geben Sie unter **Name** den Namen des Bereichs an.

1. (Optional) Wählen Sie **Mit meiner Domain teilen** aus, um einen gemeinsam genutzten Bereich zu erstellen.

1. Wählen Sie **Bereich erstellen** aus.

1. (Optional) Geben Sie für **Instance** die Amazon-EC2-Instance an, die den Bereich ausführt.

1. (Optional) Geben Sie für **Image** ein Image an, das Ihr Administrator zur Anpassung Ihrer Umgebung bereitgestellt hat.
**Wichtig**  
Benutzerdefinierte IAM-Richtlinien, die es Studio-Benutzern ermöglichen, Bereiche zu erstellen, müssen auch Berechtigungen zum Auflisten von Images (`sagemaker: ListImage`) gewähren, um benutzerdefinierte Images anzeigen zu können. Informationen zum Hinzufügen der Berechtigung finden Sie unter [Hinzufügen oder Entfernen von Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *AWS Identity and Access Management*-Benutzerhandbuch.   
[AWS verwaltete Richtlinien für Amazon SageMaker AI](security-iam-awsmanpol.md)die Berechtigungen zum Erstellen von SageMaker KI-Ressourcen gewähren, beinhalten bereits die Erlaubnis, Bilder während der Erstellung dieser Ressourcen aufzulisten.

1. (Optional) Geben Sie für **Bereichseinstellungen** Folgendes an:
   + **Speicher (GB)** – bis zu 100 GB oder die von Ihrem Administrator festgelegte Größe.
   + **Lebenszykluskonfiguration** – eine Lebenszykluskonfiguration, die Ihr Administrator festlegt.
   + **Benutzerdefiniertes EFS-Dateisystem anfügen** – ein Amazon EFS, auf das Ihr Administrator Zugriff gewährt.

1. Wählen Sie **Bereich ausführen** aus.

1. Klicken Sie auf **Open JupyterLab**.

# Konfigurieren eines Bereichs
<a name="studio-updated-jl-user-guide-configure-space"></a>

Nachdem Sie einen JupyterLab Bereich erstellt haben, können Sie ihn wie folgt konfigurieren:
+ Ändern Sie den Instance-Typ.
+ Ändern Sie den Speicherdatensatz.
+ (Administratorkonfiguration erforderlich) Verwenden Sie ein benutzerdefiniertes Image.
+ (Administratorkonfiguration erforderlich) Verwenden Sie eine Lebenszykluskonfiguration.
+ (Administratorkonfiguration erforderlich) Hängen Sie ein benutzerdefiniertes Amazon EFS an.

**Wichtig**  
Sie müssen den JupyterLab Space jedes Mal beenden, wenn Sie ihn konfigurieren. Verwenden Sie das folgende Verfahren, um den Bereich zu konfigurieren.

**So konfigurieren Sie einen Bereich**

1. Navigieren Sie in Studio zur JupyterLab Anwendungsseite.

1. Wählen Sie den Namen des Bereichs aus.

1. (Optional) Geben Sie für **Image** ein Image an, das Ihr Administrator zur Anpassung Ihrer Umgebung bereitgestellt hat.
**Wichtig**  
Benutzerdefinierte IAM-Richtlinien, die es Studio-Benutzern ermöglichen, Bereiche zu erstellen, müssen auch Berechtigungen zum Auflisten von Images (`sagemaker: ListImage`) gewähren, um benutzerdefinierte Images anzeigen zu können. Informationen zum Hinzufügen der Berechtigung finden Sie unter [Hinzufügen oder Entfernen von Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *AWS Identity and Access Management*-Benutzerhandbuch.   
[AWS verwaltete Richtlinien für Amazon SageMaker AI](security-iam-awsmanpol.md)die Berechtigungen zum Erstellen von SageMaker KI-Ressourcen gewähren, beinhalten bereits Berechtigungen zum Auflisten von Bildern bei der Erstellung dieser Ressourcen.

1. (Optional) Geben Sie für **Bereichseinstellungen** Folgendes an:
   + **Speicher (GB)** – bis zu 100 GB oder die von Ihrem Administrator konfigurierte Größe für den Bereich.
   + **Lebenszykluskonfiguration** – eine Lebenszykluskonfiguration, die Ihr Administrator angibt.
   + **Benutzerdefiniertes EFS-Dateisystem anfügen** – ein Amazon EFS, auf das Ihr Administrator Zugriff gewährt.

1. Wählen Sie **Bereich ausführen** aus.

Wenn Sie die JupyterLab Anwendung öffnen, hat Ihr Bereich die aktualisierte Konfiguration.

# Anpassen Ihrer Umgebung mithilfe eines Paketmanagers
<a name="studio-updated-jl-user-guide-customize-package-manager"></a>

Verwenden Sie pip oder conda, um Ihre Umgebung anzupassen. Wir empfehlen die Verwendung von Paketmanagern anstelle von Skripten für die Lebenszykluskonfiguration. 

## Erstellen und Aktivieren der benutzerdefinierten Umgebung
<a name="studio-updated-jl-create-basic-conda"></a>

Dieser Abschnitt enthält Beispiele für verschiedene Möglichkeiten, wie Sie eine Umgebung konfigurieren können JupyterLab.

Eine grundlegende Conda-Umgebung verfügt über die Mindestanzahl von Paketen, die für Ihre Workflows in SageMaker KI erforderlich sind. Verwenden Sie die folgende Vorlage, um eine grundlegende Conda-Umgebung zu erstellen:

```
# initialize conda for shell interaction
conda init

# create a new fresh environment
conda create --name test-env

# check if your new environment is created successfully
conda info --envs

# activate the new environment
conda activate test-env

# install packages in your new conda environment
conda install pip boto3 pandas ipykernel

# list all packages install in your new environment 
conda list

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# to exit your new environment
conda deactivate
```

Das folgende Image zeigt den Standort der von Ihnen erstellten Umgebung.

![\[Die test-env-Umgebung wird in der oberen rechten Ecke des Bildschirms angezeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/juptyer-notebook-environment-location.png)


Um Ihre Umgebung zu ändern, wählen Sie sie aus und wählen Sie eine Option aus dem Dropdown-Menü aus.

![\[Das Häkchen und der entsprechende Text zeigen eine Beispielumgebung, die Sie zuvor erstellt haben.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/jupyter-notebook-select-env.png)


Wählen Sie **Auswählen** aus, um einen Kernel für die Umgebung auszuwählen.

## Erstellen einer Conda-Umgebung mit einer bestimmten Python-Version
<a name="studio-updated-jl-create-conda-version"></a>

Das Bereinigen nicht verwendeter Conda-Umgebungen kann dazu beitragen, Speicherplatz freizugeben und die Leistung zu verbessern. Verwenden Sie die folgende Vorlage, um eine Conda-Umgebung zu bereinigen:

```
# create a conda environment with a specific python version
conda create --name py38-test-env python=3.8.10

# activate and test your new python version
conda activate py38-test-env & python3 --version

# Install ipykernel to facilicate env registration
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your py38 test environment
conda deactivate
```

## Erstellen einer Conda-Umgebung mit einem bestimmten Satz von Paketen
<a name="studio-updated-jl-create-conda-specific-packages"></a>

Verwenden Sie die folgende Vorlage, um eine Conda-Umgebung mit einer bestimmten Version von Python und einer Reihe von Paketen zu erstellen:

```
# prefill your conda environment with a set of packages,
conda create --name py38-test-env python=3.8.10 pandas matplotlib=3.7 scipy ipykernel

# activate your conda environment and ensure these packages exist
conda activate py38-test-env

# check if these packages exist
conda list | grep -E 'pandas|matplotlib|scipy'

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## Klonen von Conda aus einer vorhandenen Umgebung
<a name="studio-updated-jl-create-conda-clone"></a>

Klonen Sie Ihre Conda-Umgebung, um deren Funktionsfähigkeit zu gewährleisten. Sie experimentieren in der geklonten Umgebung, ohne sich Gedanken über grundlegende Änderungen in Ihrer Testumgebung machen zu müssen.

Mit dem folgenden Befehl klonen Sie eine Umgebung.

```
# create a fresh env from a base environment 
conda create --name py310-base-ext --clone base # replace 'base' with another env

# activate your conda environment and ensure these packages exist
conda activate py310-base-ext

# install ipykernel to register your env
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## Klonen von Conda aus einer YAML-Referenzdatei
<a name="studio-updated-jl-create-conda-yaml"></a>

Erstellen Sie eine Conda-Umgebung aus einer YAML-Referenzdatei. Es folgt ein Beispiel für eine YAML-Datei, die Sie verwenden können.

```
# anatomy of a reference environment.yml
name: py311-new-env
channels:
  - conda-forge
dependencies:
  - python=3.11
  - numpy
  - pandas
  - scipy
  - matplotlib
  - pip
  - ipykernel
  - pip:
      - git+https://github.com/huggingface/transformers
```

Unter `pip` empfehlen wir, nur die Abhängigkeiten anzugeben, die mit Conda nicht verfügbar sind.

Verwenden Sie die folgenden Befehle, um eine Conda-Umgebung aus einer YAML-Datei zu erstellen.

```
# create your conda environment 
conda env create -f environment.yml

# activate your env
conda activate py311-new-env
```

# Bereinigen einer Conda-Umgebung
<a name="studio-updated-jl-clean-up-conda"></a>

Das Bereinigen nicht verwendeter Conda-Umgebungen kann dazu beitragen, Speicherplatz freizugeben und die Leistung zu verbessern. Verwenden Sie die folgende Vorlage, um eine Conda-Umgebung zu bereinigen:

```
# list your environments to select an environment to clean
conda info --envs # or conda info -e

# once you've selected your environment to purge
conda remove --name test-env --all

# run conda environment list to ensure the target environment is purged
conda info --envs # or conda info -e
```

# Teilen von Conda-Umgebungen zwischen Instance-Typen
<a name="studio-updated-jl-create-conda-share-environment"></a>

Sie können Conda-Umgebungen teilen, indem Sie sie in einem Amazon-EFS-Verzeichnis außerhalb Ihres Amazon-EBS-Volumes speichern. Ein anderer Benutzer kann auf die Umgebung in dem Verzeichnis zugreifen, in dem Sie sie gespeichert haben.

**Wichtig**  
Es gibt Einschränkungen bei der gemeinsamen Nutzung Ihrer Umgebungen. Beispielsweise empfehlen wir keine Umgebung, die für die Ausführung auf einer Instance von GPU Amazon EC2 vorgesehen ist, gegenüber einer Umgebung, die auf einer CPU-Instance ausgeführt wird.

Verwenden Sie die folgenden Befehle als Vorlage, um das Zielverzeichnis anzugeben, in dem Sie eine benutzerdefinierte Umgebung erstellen möchten. Sie erstellen eine Conda innerhalb eines bestimmten Pfades. Sie erstellen sie im Amazon-EFS-Verzeichnis. Sie können eine neue Instance erstellen, den Befehl „conda activate path“ ausführen und dies innerhalb von Amazon EFS durchführen.

```
# if you know your environment path for your conda environment
conda create --prefix /home/sagemaker-user/my-project/py39-test python=3.9

# activate the env with full path from prefix
conda activate home/sagemaker-user/my-project/py39-test

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | awk -F' : ' '{print $2}' | awk -F'/' '{print $NF}')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env-prefix:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

# Verwenden von Amazon Q, um Ihre Machine-Learning-Workflows zu beschleunigen
<a name="studio-updated-jl-user-guide-use-amazon-q"></a>

Amazon Q Developer ist Ihr KI-gestütztes Begleittool für die Entwicklung von Machine Learning. Mit Amazon Q Developer können Sie:
+ Lassen Sie sich step-by-step beraten, wie Sie SageMaker KI-Funktionen unabhängig oder in Kombination mit anderen AWS Diensten nutzen können.
+ Holen Sie sich Beispielcode, um mit Ihren ML-Aufgaben wie Datenaufbereitung, Training, Inferenz und MLOps zu beginnen.
+ Sie erhalten Unterstützung bei der Fehlerbehebung, um Fehler zu debuggen und zu beseitigen, die beim Ausführen von Code aufgetreten sind.

Amazon Q Developer lässt sich nahtlos in Ihre JupyterLab Umgebung integrieren. Um Amazon Q Developer zu verwenden, wählen Sie **Q** in der linken Navigationsleiste Ihrer JupyterLab Umgebung oder Code-Editor-Umgebung aus.

Wenn Sie das **Q**-Symbol nicht sehen, muss Ihr Administrator es für Sie einrichten. Weitere Informationen über die Einrichtung von Amazon Q Developer finden Sie unter [Amazon Q Developer für Ihre Benutzer einrichten](studio-updated-amazon-q-admin-guide-set-up.md).

Amazon Q bietet automatisch Vorschläge, die Ihnen beim Schreiben Ihres Codes helfen. Sie können auch über die Chat-Oberfläche nach Vorschlägen fragen.

# JupyterLab Administratorhandbuch
<a name="studio-updated-jl-admin-guide"></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.

In diesem Leitfaden für Administratoren werden SageMaker JupyterLab KI-Ressourcen beschrieben, z. B. die von Amazon Elastic Block Store (Amazon EBS) und Amazon Elastic Compute Cloud (Amazon EC2). Die Themen behandeln auch, wie Sie Benutzerzugriff gewähren und die Speichergröße ändern können. 

Ein SageMaker JupyterLab KI-Bereich besteht aus den folgenden Ressourcen:
+ Ein separates Amazon-EBS-Volume, auf dem alle Daten wie der Code und die Umgebungsvariablen gespeichert werden. 
+ Die Amazon-EC2-Instance, die zum Ausführen des Bereichs verwendet wurde.
+ Das zur Ausführung verwendete Image JupyterLab.

**Anmerkung**  
Anwendungen haben keinen Zugriff auf das EBS-Volume anderer Anwendungen. Beispielsweise hat der auf Code-OSS basierende Code Editor, Visual Studio Code — Open Source, keinen Zugriff auf das EBS-Volume für. JupyterLab Weitere Informationen über EBS-Volumes finden Sie unter [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html).

Sie können die SageMaker Amazon-API verwenden, um Folgendes zu tun:
+ Ändern Sie die Standardspeichergröße des EBS-Volumes für Ihre Benutzer.
+ Ändern der maximalen Größe des EBS-Speichers
+ Geben Sie die Benutzereinstellungen für die Anwendung an. Sie können beispielsweise angeben, ob der Benutzer ein benutzerdefiniertes Image oder ein Code-Repository verwendet.
+ Geben Sie den Typ der Support-Anwendung an.

Die Standardgröße des Amazon-EBS-Volumes beträgt 5 GB. Sie können die Volumegröße auf ein Maximum von 16 384 GB erhöhen. Wenn Sie keine Maßnahmen ergreifen, können Ihre Benutzer ihr Volumen auf 100 GB erhöhen. Die Volumengröße kann innerhalb von sechs Stunden nur einmal geändert werden.

Die mit der JupyterLab Anwendung verknüpften Kernel werden auf derselben Amazon EC2 EC2-Instance ausgeführt, die auch ausgeführt wird. JupyterLab Wenn Sie einen Bereich erstellen, wird standardmäßig die neueste Version des SageMaker Distribution-Images verwendet. Weitere Informationen zu SageMaker Distribution-Images finden Sie unter[SageMaker Richtlinie zur Unterstützung von Studio-Images](sagemaker-distribution.md).

**Wichtig**  
Informationen zur Aktualisierung des Speicherplatzes für die Verwendung der neuesten Version des SageMaker AI Distribution Image finden Sie unter[Aktualisieren Sie das SageMaker Vertriebsimage](studio-updated-jl-update-distribution-image.md).

Das Arbeitsverzeichnis Ihrer Benutzer innerhalb des Speichervolumes ist `/home/sagemaker-user`. Wenn Sie Ihren eigenen AWS KMS Schlüssel für die Verschlüsselung des Volumes angeben, wird alles im Arbeitsverzeichnis mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt. Wenn Sie keinen AWS KMS Schlüssel angeben, werden die `/home/sagemaker-user` darin enthaltenen Daten mit einem AWS verwalteten Schlüssel verschlüsselt. Unabhängig davon, ob Sie einen AWS KMS Schlüssel angeben, werden alle Daten außerhalb des Arbeitsverzeichnisses mit einem AWS verwalteten Schlüssel verschlüsselt.

Die folgenden Abschnitte bieten schrittweise Anleitungen für die Konfigurationen, die Sie als Administrator durchführen müssen.

**Topics**
+ [Gewähren von Zugriff für die Benutzer auf Bereiche](studio-updated-jl-admin-guide-permissions.md)
+ [Ändern Sie die Standardspeichergröße für Ihre Benutzer JupyterLab](studio-updated-jl-admin-guide-storage-size.md)
+ [Lebenszykluskonfigurationen mit JupyterLab](jl-lcc.md)
+ [Git repos in JupyterLab](studio-updated-jl-admin-guide-git-attach.md)
+ [Benutzerdefinierte Images](studio-updated-jl-admin-guide-custom-images.md)
+ [Aktualisieren Sie das SageMaker Vertriebsimage](studio-updated-jl-update-distribution-image.md)
+ [Löschen von nicht genutzten Ressourcen](studio-updated-jl-admin-guide-clean-up.md)
+ [Kontingente](studio-updated-jl-admin-guide-quotas.md)

# Gewähren von Zugriff für die Benutzer auf Bereiche
<a name="studio-updated-jl-admin-guide-permissions"></a>

Um Benutzern Zugriff auf private oder gemeinsam genutzte Bereiche zu gewähren, müssen Sie ihren IAM-Rollen eine Berechtigungsrichtlinie hinzufügen. Sie können die Berechtigungsrichtlinie auch verwenden, um private Bereiche und die damit verbundenen Anwendungen auf ein bestimmtes Benutzerprofil zu beschränken.

Die folgende Berechtigungsrichtlinie gewährt Zugriff auf private und gemeinsam genutzte Bereiche. Auf diese Weise können Benutzer ihren eigenen Bereich erstellen und andere Bereiche innerhalb ihrer Domain auflisten. Ein Benutzer mit dieser Richtlinie kann nicht auf den privaten Bereich eines anderen Benutzers zugreifen. Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).

Die Richtlinie gewährt Benutzern die folgenden Berechtigungen:
+ Private Bereiche oder gemeinsam genutzte Bereiche.
+ Ein Benutzerprofil für den Zugriff auf diese Bereiche.

Um Berechtigungen zu erteilen, können Sie die Berechtigungen der folgenden Richtlinie einschränken und sie zu den IAM-Rollen Ihrer Benutzer hinzufügen. Sie können diese Richtlinie auch verwenden, um Ihre Bereiche und die damit verbundenen Anwendungen auf ein bestimmtes Benutzerprofil zu beschränken.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:space/sagemaker:DomainId/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:space/sagemaker:DomainId/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:app/sagemaker:DomainId/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    }
  ]
}
```

------

# Ändern Sie die Standardspeichergröße für Ihre Benutzer JupyterLab
<a name="studio-updated-jl-admin-guide-storage-size"></a>

Sie können die Standardspeichereinstellungen für Ihre Benutzer ändern. Sie können die Standardspeichereinstellungen auch entsprechend Ihren organisatorischen Anforderungen und den Bedürfnissen Ihrer Benutzer ändern.

Um die Speichergröße zu ändern, finden Sie in diesem Abschnitt Befehle für folgende Aktionen:

1. Aktualisieren Sie die Amazon EBS-Speichereinstellungen in der Amazon SageMaker AI-Domain (Domain).

1. Erstellen Sie ein Benutzerprofil und geben Sie die darin enthaltenen Speichereinstellungen an.

Verwenden Sie die folgenden Befehle AWS Command Line Interface (AWS CLI), um die Standardspeichergröße zu ändern.

Verwenden Sie den folgenden AWS CLI Befehl, um die Domain zu aktualisieren:

```
aws --region AWS-Region sagemaker update-domain \
--domain-id domain-id \
--default-user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Verwenden Sie den folgenden AWS CLI Befehl, um das Benutzerprofil zu erstellen und die Standardspeichereinstellungen anzugeben:

```
aws --region AWS-Region sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Verwenden Sie die folgenden AWS CLI Befehle, um die Standardspeichereinstellungen im Benutzerprofil zu aktualisieren:

```
aws --region AWS-Region sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":25,
            "MaximumEbsVolumeSizeInGb":200
        }
    }
}'
```

# Lebenszykluskonfigurationen mit JupyterLab
<a name="jl-lcc"></a>

Lebenszykluskonfigurationen sind Shell-Skripte, die durch JupyterLab Lebenszyklusereignisse ausgelöst werden, z. B. durch das Starten eines neuen JupyterLab Notebooks. Sie können Lebenszykluskonfigurationen verwenden, um die Anpassung an Ihre JupyterLab Umgebung zu automatisieren. Diese Anpassung umfasst die Installation benutzerdefinierter Pakete, die Konfiguration von Notebook-Erweiterungen, das Vorladen von Datensätzen und die Einrichtung von Quellcode-Repositorys.

Die Verwendung von Lebenszykluskonfigurationen bietet Ihnen Flexibilität und Kontrolle bei der Konfiguration JupyterLab, die Ihren spezifischen Anforderungen entspricht. Beispielsweise können Sie eine minimale Auswahl an Basis-Container-Images mit den am häufigsten verwendeten Paketen und Bibliotheken erstellen. Anschließend können Sie mithilfe von Lebenszykluskonfigurationen zusätzliche Pakete für spezifische Anwendungsfälle in Ihren Datenwissenschaft- und Machine-Learning-Teams installieren.

**Anmerkung**  
Jedes Skript hat ein Limit von **16 384 Zeichen**.

**Topics**
+ [Erstellen der Lebenszykluskonfiguration](jl-lcc-create.md)
+ [Konfigurationen für den Debug-Lebenszyklus](jl-lcc-debug.md)
+ [Trennen von Lebenszykluskonfigurationen](jl-lcc-delete.md)

# Erstellen der Lebenszykluskonfiguration
<a name="jl-lcc-create"></a>

Dieses Thema enthält Anweisungen zum Erstellen und Zuordnen einer Lebenszykluskonfiguration zu JupyterLab. Sie verwenden das AWS Command Line Interface (AWS CLI) oder das AWS-Managementkonsole , um die Anpassung an Ihre JupyterLab Umgebung zu automatisieren.

Lebenszykluskonfigurationen sind Shell-Skripts, die durch JupyterLab Lebenszyklusereignisse ausgelöst werden, z. B. durch das Starten eines neuen JupyterLab Notebooks. Weitere Informationen zur Lebenszyklus-Konfiguration finden Sie unter [Lebenszykluskonfigurationen mit JupyterLab](jl-lcc.md).

## Erstellen einer Lebenszykluskonfiguration (AWS CLI)
<a name="jl-lcc-create-cli"></a>

Erfahren Sie, wie Sie mithilfe von AWS Command Line Interface (AWS CLI) eine Lebenszykluskonfiguration erstellen, um die Anpassung für Ihre Studio-Umgebung zu automatisieren.

### Voraussetzungen
<a name="jl-lcc-create-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Integrieren Sie die Amazon SageMaker AI-Domain. Weitere konzeptuelle Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). Eine Schnellstartanleitung finden Sie unter [Verwenden Sie das Schnell-Setup für Amazon SageMaker AI](onboard-quick-start.md).

### Schritt 1: Erstellen einer Lebenszykluskonfiguration
<a name="jl-lcc-create-cli-step1"></a>

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!'
   ```

1. Gehen Sie wie folgt vor, um Ihre `my-script.sh`-Datei in das base64-Format zu konvertieren. Diese Anforderung verhindert Fehler, die bei der Kodierung von Abständen und Zeilenumbrüchen auftreten.

   ```
   LCC_CONTENT=`openssl base64 -A -in my-script.sh`
   ```

1. Erstellen Sie eine Lebenszykluskonfiguration für die Verwendung mit Studio. Der folgende Befehl erstellt eine Lebenszykluskonfiguration, die ausgeführt wird, wenn Sie eine zugehörige `JupyterLab`-Anwendung starten.

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

   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 Amazon SageMaker AI-Domain (Domain) und Ihr Benutzerprofil an
<a name="jl-lcc-create-cli-step2"></a>

Um die Lebenszykluskonfiguration anzuhängen, müssen Sie die `UserSettings` für Ihre Domain oder Ihr Benutzerprofil aktualisieren. Skripte zur Lebenszykluskonfiguration, die auf Domainebene verknüpft sind, werden von allen Benutzern übernommen. Skripte, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. 

Sie können ein neues Benutzerprofil, eine neue Domain oder einen neuen Bereich mit angefügter Lebenszykluskonfiguration mithilfe der folgenden Befehle erstellen:
+ [create-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-user-profile.html)
+ [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html)
+ [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html)

Der folgende Befehl erstellt ein Benutzerprofil mit einer Lebenszykluskonfiguration. Fügen Sie den ARN für die Lebenszykluskonfiguration aus dem vorangegangenen Schritt zu den `JupyterLabAppSettings` des Benutzers hinzu. Sie können mehrere Lebenszykluskonfigurationen gleichzeitig hinzufügen, indem Sie eine Liste mit diesen übergeben. Wenn ein Benutzer eine JupyterLab Anwendung mit dem startet AWS CLI, kann er eine Lebenszykluskonfiguration angeben, anstatt die Standardkonfiguration zu verwenden. Die Lebenszykluskonfiguration, die der Benutzer übergibt, muss zur Liste der Lebenszykluskonfigurationen in `JupyterLabAppSettings` 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 '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

## Erstellen einer Lebenszykluskonfiguration (Konsole)
<a name="jl-lcc-create-console"></a>

Erfahren Sie, wie Sie mithilfe von eine Lebenszykluskonfiguration erstellen AWS-Managementkonsole , um die Anpassung für Ihre Studio-Umgebung zu automatisieren.

### Schritt 1: Erstellen einer Lebenszykluskonfiguration
<a name="jl-lcc-create-console-step1"></a>

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

**So erstellen Sie eine Lebenszykluskonfiguration**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich die Option **Admin-Konfigurationen** aus.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Lifecycle-Konfigurationen** aus. 

1. Wählen Sie die Registerkarte **JupyterLab** aus.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

1. Geben Sie im Feld **Name** den Namen der Lebenszykluskonfiguration ein.

1. Geben Sie für das Textfeld unter **Skripte** die folgende Lebenszykluskonfiguration an:

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

### Schritt 2: Hängen Sie die Lebenszykluskonfiguration an Ihre Amazon SageMaker AI-Domain (Domain) und Ihr Benutzerprofil an
<a name="jl-lcc-create-console-step2"></a>

Auf Domainebene zugeordnete Lebenszyklus-Konfigurationsskripten werden von allen Benutzern übernommen. Skripts, die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt.

Sie können mehrere Lebenszykluskonfigurationen an eine Domain oder ein Benutzerprofil für anhängen JupyterLab.

Führen Sie die folgenden Schritte aus, um eine Lebenszykluskonfiguration an eine Domain anzufügen.

**So fügen Sie eine Lebenszykluskonfiguration an eine Domain an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, an die die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie in den **Domaindetails** die Registerkarte **Umgebung** aus.

1. Wählen Sie unter **Lebenszykluskonfigurationen für persönliche Studio-Apps** die Option **Anhängen** aus.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Domain anhängen** aus.

Führen Sie die folgenden Schritte aus, um eine Lebenszykluskonfiguration an ein Benutzerprofil anzufügen.

**So hängen Sie eine Lebenszykluskonfiguration an ein Benutzerprofil an**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, die das Benutzerprofil enthält, an das die Lebenszykluskonfiguration angefügt werden soll.

1. Wählen Sie unter **Benutzerprofile** das Benutzerprofil aus.

1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie in der linken Navigation **Studioeinstellungen**.

1. Wählen Sie unter **Lebenszykluskonfigurationen, die dem Benutzer** zugeordnet sind, die Option **Anhängen**.

1. Wählen Sie unter **Quelle** die Option **Bestehende Konfiguration** aus.

1. Wählen Sie unter **Studio-Lebenszykluskonfigurationen** die Lebenszykluskonfiguration aus, die Sie im vorherigen Schritt erstellt haben.

1. Wählen Sie **An Benutzerprofil anhängen**.

# Konfigurationen für den Debug-Lebenszyklus
<a name="jl-lcc-debug"></a>

In den folgenden Themen erfahren Sie, wie Sie Informationen über Ihre Lebenszykluskonfigurationen abrufen und debuggen.

**Topics**
+ [Überprüfen Sie den Lebenszyklus-Konfigurationsprozess anhand der CloudWatch Protokolle](#jl-lcc-debug-logs)
+ [Timeout für die Lebenszykluskonfiguration](#jl-lcc-debug-timeout)

## Überprüfen Sie den Lebenszyklus-Konfigurationsprozess anhand der CloudWatch Protokolle
<a name="jl-lcc-debug-logs"></a>

Lebenszykluskonfigurationen protokollieren nur `STDOUT` und `STDERR`.

`STDOUT` ist die Standardausgabe für Bash-Skripte. Sie können in `STDERR` schreiben, indem Sie `>&2` an das Ende eines Bash-Befehls anhängen. Beispiel, `echo 'hello'>&2`. 

Protokolle für Ihre Lebenszykluskonfigurationen werden auf Amazon veröffentlicht, wenn Sie Amazon AWS-Konto verwenden CloudWatch. Diese Protokolle finden Sie im `/aws/sagemaker/studio` Protokollstream in der CloudWatch Konsole.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im linken Navigationsbereich **Protokolle** aus. Wählen Sie im Dropdown-Menü **Protokollgruppen** aus.

1. Suchen Sie auf der Seite **Protokollgruppen** nach `aws/sagemaker/studio`. 

1. Wählen Sie die -Protokollgruppe aus.

1. Wählen Sie auf der Seite mit den **Details zur Protokollgruppe** die Registerkarte **Protokollstreams** aus.

1. Um die Protokolle für einen bestimmten Bereich zu finden, suchen Sie in den Protokollstreams nach dem folgenden Format:

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   Um beispielsweise die Protokolle der Lebenszykluskonfiguration für Domain-ID `d-m85lcu8vbqmz`, Bereichsname `i-sonic-js` und Anwendungstyp `JupyterLab` zu finden, verwenden Sie die folgende Suchzeichenfolge:

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## Timeout für die Lebenszykluskonfiguration
<a name="jl-lcc-debug-timeout"></a>

Für die Lebenszykluskonfiguration gilt ein Timeout von 5 Minuten. Wenn die Ausführung eines Skripts zur Lebenszykluskonfiguration länger als 5 Minuten dauert, wird ein Fehler ausgegeben.

Um diesen Fehler zu beheben, stellen Sie sicher, dass das Skript einer Lebenszykluskonfiguration in weniger als 5 Minuten abgeschlossen ist. 

Gehen Sie zum Reduzieren der Laufzeit von Skripten wie folgt vor:
+ Reduzieren Sie unnötige Schritte. Schränken Sie zum Beispiel ein, in welchen conda-Umgebungen große Pakete installiert werden sollen.
+ Führen Sie Aufgaben in parallelen Prozessen aus.
+ Verwenden Sie den Befehl „nohup“ in Ihrem Skript, um sicherzustellen, dass hangup-Signale ignoriert werden, sodass das Skript ohne Unterbrechung ausgeführt wird.

# Trennen von Lebenszykluskonfigurationen
<a name="jl-lcc-delete"></a>

Um Ihr Skript zu aktualisieren, müssen Sie ein neues Lifecycle-Konfigurationsskript erstellen und es an die jeweilige Amazon SageMaker AI-Domain (Domain), das Benutzerprofil oder den Shared Space anhängen. Ein Lifecycle-Konfigurationsskript kann nicht geändert werden, nachdem es erstellt wurde. Weitere Informationen zum Erstellen und Anhängen der Lebenszykluskonfiguration finden Sie unter [Erstellen der Lebenszykluskonfiguration](jl-lcc-create.md).

Im folgenden Abschnitt wird gezeigt, wie eine Lebenszykluskonfiguration unter Verwendung der AWS Command Line Interface (AWS CLI) getrennt wird.

## Trennen Sie es mit dem AWS CLI
<a name="jl-lcc-delete-cli"></a>

Um eine Lebenszykluskonfiguration mithilfe von AWS CLI zu trennen, entfernen Sie die gewünschte Lebenszykluskonfiguration aus der Liste der an die Ressource angehängten Lebenszykluskonfigurationen. Anschließend übergeben Sie die Liste als Teil des jeweiligen Befehls:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)
+ [update-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-space.html)

Mit dem folgenden Befehl werden beispielsweise alle Lebenszykluskonfigurationen für die JupyterLab Anwendung entfernt, die an die Domäne angehängt ist.

```
aws sagemaker update-domain --domain-id domain-id \
--region region \
--default-user-settings '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# Git repos in JupyterLab
<a name="studio-updated-jl-admin-guide-git-attach"></a>

JupyterLab bietet eine Git-Erweiterung, um die URL eines Git-Repositorys (Repo) einzugeben, es in eine Umgebung zu klonen, Änderungen zu übertragen und den Commit-Verlauf anzusehen. Sie können das vorgeschlagene Git-Repo auch URLs an eine Amazon SageMaker AI-Domain (Domain) oder ein Benutzerprofil anhängen.

In den folgenden Abschnitten wird gezeigt, wie Sie ein Git-Repo URLs anhängen oder trennen.

**Topics**
+ [Anfügen eines Git-Repositorys (AWS CLI)](studio-updated-git-attach-cli.md)
+ [Git-Repo trennen URLs](studio-updated-git-detach.md)

# Anfügen eines Git-Repositorys (AWS CLI)
<a name="studio-updated-git-attach-cli"></a>

In diesem Abschnitt wird gezeigt, wie Sie eine Git-Repository-URL (Repo) mit dem AWS CLI anhängen. Nachdem Sie die Git-Repo-URL angefügt haben, können Sie sie klonen, indem Sie die Schritte unter [Klonen Sie ein Git-Repo in Amazon Studio SageMaker](#studio-updated-tasks-git) befolgen.

## Voraussetzungen
<a name="studio-updated-git-attach-cli-prerequisites"></a>

Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind: 
+ Aktualisieren Sie das, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS Command Line Interface Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.
+ Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Integrieren Sie die Amazon SageMaker AI-Domain. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Hängen Sie das Git-Repo an eine Amazon SageMaker AI-Domain (Domain) oder ein Benutzerprofil an
<a name="studio-updated-git-attach-cli-attach"></a>

Git-Repos URLs , die auf Domainebene verknüpft sind, werden von allen Benutzern vererbt. Git-Repos, URLs die auf Benutzerprofilebene verknüpft sind, sind jedoch auf einen bestimmten Benutzer beschränkt. Sie können mehrere Git-Repos URLs an eine Amazon SageMaker AI-Domain oder an ein Benutzerprofil anhängen, indem Sie eine URLs Repository-Liste übergeben.

In den folgenden Abschnitten wird gezeigt, wie Sie eine Git-Repo-URL an Ihre Domain und Ihr Benutzerprofil anfügen.

### An eine Amazon SageMaker AI-Domain anhängen
<a name="studio-updated-git-attach-cli-attach-domain"></a>

Mit dem folgenden Befehl wird eine Git-Repo-URL an eine bestehende Domain angefügt. 

```
aws sagemaker update-domain --region region --domain-id domain-id \
    --default-user-settings JupyterLabAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

### An ein Benutzerprofil anhängen
<a name="studio-updated-git-attach-cli-attach-userprofile"></a>

Mit dem folgenden Befehl wird eine Git-Repo-URL an ein bestehendes Benutzerprofil angefügt.

```
aws sagemaker update-user-profile --domain-id domain-id --user-profile-name user-name\
    --user-settings JupyterLabAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

## Klonen Sie ein Git-Repo in Amazon Studio SageMaker
<a name="studio-updated-tasks-git"></a>

Amazon SageMaker Studio stellt nur eine Verbindung zu einem lokalen Git-Repo her. Klonen Sie das Git-Repo von Studio aus, um auf die Dateien im Repository zugreifen zu können. Dazu bietet Studio eine Git-Erweiterung, mit der Sie die URL eines Git-Repos eingeben, es in Ihre Umgebung klonen, Änderungen per Push übergeben und den Commit-Verlauf anzeigen können. 

Wenn das Repo privat ist und für den Zugriff Anmeldeinformationen erforderlich sind, werden Sie aufgefordert, Ihre Benutzeranmeldeinformationen einzugeben. Dazu gehören Ihr Benutzername und Ihr persönliches Zugriffstoken. Weitere Informationen zu persönlichen Zugriffstoken finden Sie unter [Persönliche Zugriffstokens verwalten](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

Administratoren können auch ein empfohlenes Git-Repository URLs auf Amazon SageMaker AI-Domain- oder Benutzerprofilebene anhängen. Benutzer können dann die Repo-URL aus der Liste der Vorschläge auswählen und sie in Studio klonen. Weitere Informationen zum Anfügen von vorgeschlagenen Repos finden Sie unter [Vorgeschlagene Git-Repos an Amazon SageMaker Studio Classic anhängen](studio-git-attach.md).

# Git-Repo trennen URLs
<a name="studio-updated-git-detach"></a>

In diesem Abschnitt wird gezeigt, wie Sie das Git-Repository URLs von einer Amazon SageMaker AI-Domain (Domain) oder einem Benutzerprofil trennen. Sie können das Repo URLs mithilfe der AWS Command Line Interface (AWS CLI) oder der Amazon SageMaker AI-Konsole trennen.

## Trennen Sie ein Git-Repo mit dem AWS CLI
<a name="studio-updated-git-detach-cli"></a>

Um das gesamte Git-Repo URLs von einer Domain oder einem Benutzerprofil zu trennen, müssen Sie eine leere Liste von Code-Repositorys übergeben. Diese Liste wird als Teil des `JupyterLabAppSettings` Parameters in einem `update-domain` oder `update-user-profile` Befehl übergeben. Um nur eine Git-Repo-URL zu trennen, übergeben Sie die Code-Repository-Liste ohne die gewünschte Git-Repo-URL. 

### Von einer Amazon SageMaker AI-Domain trennen
<a name="studio-updated-git-detach-cli-domain"></a>

Der folgende Befehl trennt das gesamte Git-Repo URLs von einer Domain:

```
aws sagemaker update-domain --region region --domain-name domain-name \
    --domain-settings JupyterLabAppSettings={CodeRepositories=[]}
```

### Trennen von einem Benutzerprofil
<a name="studio-updated-git-detach-cli-userprofile"></a>

Der folgende Befehl trennt das gesamte Git-Repo URLs von einem Benutzerprofil:

```
aws sagemaker update-user-profile --domain-name domain-name --user-profile-name user-name\
    --user-settings JupyterLabAppSettings={CodeRepositories=[]}
```

# Benutzerdefinierte Images
<a name="studio-updated-jl-admin-guide-custom-images"></a>

Wenn Sie Funktionen benötigen, die sich von der SageMaker Distribution unterscheiden, können Sie Ihr eigenes Image mit Ihren benutzerdefinierten Erweiterungen und Paketen mitbringen. Sie können es auch verwenden, um die JupyterLab Benutzeroberfläche an Ihre eigenen Branding- oder Compliance-Anforderungen anzupassen.

Auf der folgenden Seite finden Sie JupyterLab spezifische Informationen und Vorlagen, mit denen Sie Ihre eigenen benutzerdefinierten SageMaker KI-Images erstellen können. Dies soll die Informationen und Anweisungen von Amazon SageMaker Studio zur Erstellung Ihres eigenen SageMaker KI-Images und zur Übertragung Ihres eigenen Images in Studio ergänzen. Weitere Informationen zu benutzerdefinierten Amazon SageMaker AI-Images und dazu, wie Sie Ihr eigenes Bild in Studio importieren können, finden Sie unter[Bring Your Own Image (BYOI)](studio-updated-byoi.md). 

**Topics**
+ [Zustandsprüfung und URL für Anwendungen](#studio-updated-jl-admin-guide-custom-images-app-healthcheck)
+ [Dockerfile-Beispiele](#studio-updated-jl-custom-images-dockerfile-templates)

## Zustandsprüfung und URL für Anwendungen
<a name="studio-updated-jl-admin-guide-custom-images-app-healthcheck"></a>
+ `Base URL` – Die Basis-URL für die BYOI-Anwendung muss `jupyterlab/default` lauten. Es ist nur eine Anwendung zulässig, und diese muss stets den Namen `default` haben.
+ `HealthCheck API`— SageMaker KI verwendet den Health Check-Endpunkt am Port`8888`, um den Zustand der JupyterLab Anwendung zu überprüfen. `jupyterlab/default/api/status`ist der Endpunkt für den Gesundheitscheck.
+ `Home/Default URL`— Die `/opt/ml` Verzeichnisse `/opt/.sagemakerinternal` und, die von verwendet werden AWS. Die Metadatendatei in `/opt/ml` enthält Metadaten zu Ressourcen wie `DomainId`.
+ Authentifizierung – Um die Authentifizierung für Ihre Benutzer zu aktivieren, deaktivieren Sie bitte die token- oder passwortbasierte Authentifizierung für Jupyter-Notebooks und lassen Sie alle Ursprünge zu.

## Dockerfile-Beispiele
<a name="studio-updated-jl-custom-images-dockerfile-templates"></a>

Die folgenden Beispiele sind `Dockerfile`s, die den obigen Informationen und [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md) entsprechen.

**Anmerkung**  
Wenn Sie Ihr eigenes Image in SageMaker Unified Studio verwenden, müssen Sie die [Dockerfile-Spezifikationen](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch* befolgen.  
`Dockerfile`Beispiele für SageMaker Unified Studio finden Sie im [Dockerfile-Beispiel](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

------
#### [ Example AL2023 Dockerfile ]

Das folgende ist ein Beispiel für AL2023 Dockerfile, die den obigen Informationen und [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md) entsprechen.

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2023

ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

# Install Python3, pip, and other dependencies
RUN yum install -y \
    python3 \
    python3-pip \
    python3-devel \
    gcc \
    shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all

RUN python3 -m pip install --no-cache-dir \
    'jupyterlab>=4.0.0,<5.0.0' \
    urllib3 \
    jupyter-activity-monitor-extension \
    --ignore-installed

# Verify versions
RUN python3 --version && \
    jupyter lab --version

USER ${NB_UID}
CMD jupyter lab --ip 0.0.0.0 --port 8888 \
    --ServerApp.base_url="/jupyterlab/default" \
    --ServerApp.token='' \
    --ServerApp.allow_origin='*'
```

------
#### [ Example  SageMaker Amazon-Vertrieb Dockerfile ]

Das folgende ist ein Beispiel für Amazon SageMaker Distribution Dockerfile, die den obigen Informationen und [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md) entsprechen.

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

ENV MAMBA_USER=$NB_USER

USER root

RUN apt-get update
RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base

USER $MAMBA_USER

ENTRYPOINT ["entrypoint-jupyter-server"]
```

------

# Aktualisieren Sie das SageMaker Vertriebsimage
<a name="studio-updated-jl-update-distribution-image"></a>

**Wichtig**  
Dieses Thema setzt voraus, dass Sie einen Bereich erstellt und dem Benutzer Zugriff darauf gewährt haben. Weitere Informationen finden Sie unter [Gewähren von Zugriff für die Benutzer auf Bereiche](studio-updated-jl-admin-guide-permissions.md).

Aktualisieren Sie die JupyterLab Bereiche, die Sie bereits erstellt haben, um die neueste Version des SageMaker Distribution-Images für den Zugriff auf die neuesten Funktionen zu verwenden. Sie können entweder die Studio-Benutzeroberfläche oder die AWS Command Line Interface (AWS CLI) verwenden, um das Image zu aktualisieren.

In den folgenden Abschnitten erhalten Sie Informationen zum Aktualisieren eines Images.

## Aktualisieren des Images (Benutzeroberfläche)
<a name="studio-updated-jl-update-distribution-image-ui"></a>

Um das Image zu aktualisieren, muss der JupyterLab Bereich Ihres Benutzers neu gestartet werden. Gehen Sie wie folgt vor, um den JupyterLab Bereich Ihres Benutzers mit dem neuesten Bild zu aktualisieren.

**So aktualisieren Sie das Image (Benutzeroberfläche)**

1. Studio erneut öffnen Informationen zum Öffnen von Studio finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md).

1. Wählen Sie **JupyterLab**.

1. Wählen Sie den JupyterLab Bereich Ihres Benutzers aus.

1. Wählen Sie **Bereich stoppen** aus.

1. Wählen Sie für **Image** eine aktualisierte Version des SageMaker AI Distribution Image aus. Wählen Sie für das neueste Image die Option **Neueste** aus.

1. Wählen Sie **Bereich ausführen** aus.

## Aktualisieren des Images ((AWS CLI)
<a name="studio-updated-jl-update-distribution-image-cli"></a>

In diesem Abschnitt wird davon ausgegangen, dass Sie AWS Command Line Interface (AWS CLI) installiert haben. Informationen zur Installation von finden [Sie unter Installation oder Aktualisierung auf die neueste Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). AWS CLI

Um das Image zu aktualisieren, müssen Sie für Ihren Benutzerbereich wie folgt vorgehen:

1. Löschen Sie die JupyterLab Anwendung

1. Aktualisieren Sie den Bereich.

1. Erstellen der Anwendung

**Wichtig**  
Sie müssen die folgenden Informationen bereit haben, bevor Sie mit der Aktualisierung des Images beginnen:  
Domain-ID — Die ID der Amazon SageMaker AI-Domain Ihres Benutzers.
Anwendungstyp — JupyterLab.
Anwendungsname – Standard.
Bereichsname – der für den Bereich angegebene Name.
Instance-Typ – Der Instance-Typ von Amazon EC2, der zur Ausführung Ihrer Anwendung genutzt wurde. Beispiel, `ml.t3.medium`.
SageMaker Image ARN — Der Amazon-Ressourcenname (ARN) des SageMaker AI-Distribution-Images. Sie können die neueste Version des SageMaker AI Distribution Image bereitstellen, indem Sie entweder `sagemaker-distribution-cpu` oder `sagemaker-distribution-gpu` als Ressourcen-ID angeben.

Führen Sie den folgenden Befehl aus, um die JupyterLab Anwendung zu löschen:

```
aws sagemaker delete-app \
--domain-id your-user's-domain-id 
--app-type JupyterLab \
--app-name default \
--space-name name-of-your-user's-space
```

Um den Bereich Ihres Benutzers zu aktualisieren, führen Sie den folgenden Befehl aus:

```
aws sagemaker update-space \
--space-name name-of-your-user's-space \
--domain-id your-user's-domain-id
```

Wenn Sie den Bereich erfolgreich aktualisiert haben, sehen Sie den Bereichs-ARN in der Antwort:

```
{
"SpaceArn": "arn:aws:sagemaker:AWS-Region:111122223333:space/your-user's-domain-id/name-of-your-user's-space"
}
```

Führen Sie den folgenden Befehl aus, um die Anwendung zu erstellen:

```
aws sagemaker create-app \
--domain-id your-user's-domain-id  \
--app-type JupyterLab \
--app-name default \
--space-name name-of-your-user's-space \
--resource-spec "InstanceType=instance-type,SageMakerImageArn=arn:aws:sagemaker:AWS-Region:555555555555:image/sagemaker-distribution-resource-identifier"
```

# Löschen von nicht genutzten Ressourcen
<a name="studio-updated-jl-admin-guide-clean-up"></a>

Um zusätzliche Betriebskosten zu vermeiden, empfehlen wir JupyterLab, ungenutzte Ressourcen in der folgenden Reihenfolge zu löschen:

1. JupyterLab Anwendungen

1. Leerzeichen

1. Benutzerprofile

1. domains

Verwenden Sie die folgenden Befehle AWS Command Line Interface (AWS CLI), um Ressourcen innerhalb einer Domäne zu löschen:

------
#### [ Delete a JupyterLab application ]

```
aws --region AWS-Region sagemaker delete-app --domain-id example-domain-id --app-name default --app-type JupyterLab --space-name example-space-name
```

------
#### [ Delete a space ]

**Wichtig**  
Wenn Sie einen Bereich löschen, löschen Sie das damit verbundene Amazon-EBS-Volume. Wir empfehlen Ihnen, alle wichtigen Daten zu sichern, bevor Sie Ihren Bereich löschen.

```
aws --region AWS-Region sagemaker delete-space --domain-id example-domain-id  --space-name example-space-name
```

------
#### [ Delete a user profile ]

```
aws --region AWS-Region sagemaker delete-user-profile --domain-id example-domain-id --user-profile example-user-profile
```

------

# Kontingente
<a name="studio-updated-jl-admin-guide-quotas"></a>

JupyterLab, hat Kontingente für Folgendes:
+ Die Summe aller Amazon-EBS-Volumes innerhalb eines AWS-Konto.
+ Die Instance-Typen, die für Ihre Benutzer verfügbar sind.
+ Die Anzahl der Instances für ein bestimmtes Programm, die Ihre Benutzer starten können.

Um mehr Speicherplatz und Rechenleistung für Ihre Benutzer zu erhalten, fordern Sie eine Erhöhung Ihrer AWS -Kontingente an. Weitere Informationen zur Beantragung einer Kontingenterhöhung finden Sie unter [Amazon SageMaker AI-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html).

# SageMaker Amazon-Notebook-Instanzen
<a name="nbi"></a>

Eine SageMaker Amazon-Notebook-Instance ist eine Recheninstanz für maschinelles Lernen (ML), auf der die Jupyter Notebook-Anwendung ausgeführt wird. Eine der besten Möglichkeiten für Machine-Learning-Experten (ML), Amazon SageMaker AI zu nutzen, besteht darin, ML-Modelle mithilfe von SageMaker Notebook-Instances zu trainieren und bereitzustellen. Die SageMaker Notebook-Instances helfen bei der Erstellung der Umgebung, indem sie Jupyter-Server auf Amazon Elastic Compute Cloud (Amazon EC2) initiieren und vorkonfigurierte Kernel mit den folgenden Paketen bereitstellen: das Amazon SageMaker Python SDK,, AWS Command Line Interface (AWS CLI), Conda, Pandas AWS SDK für Python (Boto3), Deep-Learning-Framework-Bibliotheken und andere Bibliotheken für Datenwissenschaft und maschinelles Lernen.

Verwenden Sie Jupyter-Notebooks in Ihrer Notebook-Instance, um:
+ Daten vorzubereiten und zu verarbeiten
+ Code zu schreiben, um Modelle zu trainieren
+ Modelle für das Hosting bereitstellen SageMaker 
+ Testen oder Validieren von Modellen

Informationen zur Preisgestaltung mit Amazon SageMaker Notebook Instance finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

## Wartung
<a name="nbi-maintenance"></a>

SageMaker KI aktualisiert die zugrunde liegende Software für Amazon SageMaker Notebook Instances mindestens einmal alle 90 Tage. Bei einigen Wartungsupdates, wie z. B. Betriebssystem-Upgrades, muss Ihre Anwendung möglicherweise für einen kurzen Zeitraum offline geschaltet werden. Während dieses Zeitraums können keine Operationen ausgeführt werden, während die zugrunde liegende Software aktualisiert wird. Wir empfehlen, Ihre Notebooks mindestens einmal alle 30 Tage neu zu starten, damit Patches automatisch verwendet werden.

Wenn die Notebook-Instance nicht aktualisiert wird und unsichere Software ausgeführt wird, aktualisiert SageMaker KI die Instance möglicherweise regelmäßig im Rahmen der regelmäßigen Wartung. Während dieser Updates werden Daten außerhalb des Ordners nicht dauerhaft `/home/ec2-user/SageMaker` gespeichert.

Für weitere Informationen kontaktieren Sie [AWS Support](https://aws.amazon.com/premiumsupport/).

## Machine Learning mit dem SageMaker Python-SDK
<a name="gs-ml-with-sagemaker-pysdk"></a>

Verwenden Sie das SageMaker Python-SDK, um ein ML-Modell in einer SageMaker Notebook-Instanz zu trainieren, zu validieren, bereitzustellen und zu evaluieren. Die SageMaker Python-SDK-Abstraktionen AWS SDK für Python (Boto3) und SageMaker API-Operationen. Es ermöglicht Ihnen die Integration und Orchestrierung anderer AWS Services wie Amazon Simple Storage Service (Amazon S3) zum Speichern von Daten und Modellartefakten, Amazon Elastic Container Registry (ECR) für den Import und die Wartung der ML-Modelle, Amazon Elastic Compute Cloud (Amazon EC2) für Training und Inferenz.

Sie können auch SageMaker KI-Funktionen nutzen, die Ihnen helfen, jede Phase eines vollständigen ML-Zyklus zu bewältigen: Datenkennzeichnung, Datenvorverarbeitung, Modelltraining, Modellbereitstellung, Bewertung der Prognoseleistung und Überwachung der Modellqualität in der Produktion.

Wenn Sie SageMaker KI zum ersten Mal verwenden, empfehlen wir Ihnen, das SageMaker Python-SDK zu verwenden, indem Sie dem end-to-end ML-Tutorial folgen. Die Open-Source-Dokumentation finden Sie im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).

**Topics**
+ [Wartung](#nbi-maintenance)
+ [Machine Learning mit dem SageMaker Python-SDK](#gs-ml-with-sagemaker-pysdk)
+ [Tutorial zum Erstellen von Modellen mit Notebook-Instances](gs-console.md)
+ [AL2023 Notebook-Instances](nbi-al2023.md)
+ [Amazon Linux 2-Notebook-Instances](nbi-al2.md)
+ [JupyterLab Versionierung](nbi-jl.md)
+ [Erstellen Sie eine SageMaker Amazon-Notebook-Instance](howitworks-create-ws.md)
+ [Zugreifen auf Notebook-Instances](howitworks-access-ws.md)
+ [Aktualisiert eine Notebook-Instance](nbi-update.md)
+ [Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC-Skripts](notebook-lifecycle-config.md)
+ [Festlegen des Notebook-Kernels](howitworks-set-kernel.md)
+ [Git-Repositorys mit SageMaker AI Notebook-Instanzen](nbi-git-repo.md)
+ [Notebook-Instance-Metadaten](nbi-metadata.md)
+ [Überwachen Sie Jupyter-Protokolle in Amazon Logs CloudWatch](jupyter-logs.md)

# Tutorial zum Erstellen von Modellen mit Notebook-Instances
<a name="gs-console"></a>

In diesem Tutorial „Erste Schritte“ erfahren Sie, wie Sie eine SageMaker Notebook-Instance erstellen, ein Jupyter-Notebook mit einem vorkonfigurierten Kernel mit der Conda-Umgebung für maschinelles Lernen öffnen und eine SageMaker KI-Sitzung starten, um einen ML-Zyklus auszuführen. end-to-end Sie erfahren, wie Sie einen Datensatz in einem standardmäßigen Amazon S3 S3-Bucket speichern, der automatisch mit der SageMaker KI-Sitzung gepaart wird, einen Trainingsjob eines ML-Modells an Amazon EC2 senden und das trainierte Modell für Prognosen bereitstellen, indem Sie es hosten oder Batch-Inferenzen über Amazon EC2 durchführen. 

In diesem Tutorial wird explizit ein vollständiger ML-Flow gezeigt, bei dem das XGBoost Modell aus dem in SageMaker KI integrierten Modellpool trainiert wird. Sie verwenden den [Datensatz der US-Volkszählung für Erwachsene](https://archive.ics.uci.edu/ml/datasets/adult) und bewerten die Leistung des trainierten SageMaker XGBoost KI-Modells bei der Vorhersage des Einkommens von Einzelpersonen.
+ [SageMaker KI XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) — Das [XGBoost](https://xgboost.readthedocs.io/en/latest/)Modell ist an die SageMaker KI-Umgebung angepasst und als Docker-Container vorkonfiguriert. SageMaker KI bietet eine Reihe [integrierter Algorithmen](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html), die für die Verwendung von SageMaker KI-Funktionen vorbereitet sind. Weitere Informationen darüber, welche ML-Algorithmen an SageMaker KI angepasst sind, finden [Sie unter Wählen Sie einen Algorithmus](https://docs.aws.amazon.com/sagemaker/latest/dg/algorithms-choose.html) und [verwenden Sie die von Amazon SageMaker integrierten Algorithmen](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). Informationen zu den API-Operationen für den integrierten SageMaker KI-Algorithmus finden Sie unter [Erstanbieter-Algorithmen](https://sagemaker.readthedocs.io/en/stable/algorithms/index.html) im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).
+ [Datensatz zur Volkszählung von Erwachsenen](https://archive.ics.uci.edu/ml/datasets/adult) – Der Datensatz aus der Datenbank des [Census Bureau von 1994](http://www.census.gov/en.html) von Ronny Kohavi und Barry Becker (Data Mining and Visualization, Silicon Graphics). Das SageMaker XGBoost KI-Modell wird anhand dieses Datensatzes trainiert, um vorherzusagen, ob eine Person mehr als 50.000\$1 pro Jahr oder weniger verdient.

**Topics**
+ [Erstellen Sie eine Amazon SageMaker Notebook-Instance für das Tutorial](gs-setup-working-env.md)
+ [Erstellen Sie ein Jupyter-Notebook in der Notebook-Instance SageMaker](ex1-prepare.md)
+ [Vorbereiten eines Datensatzes](ex1-preprocess-data.md)
+ [Trainieren eines Modells](ex1-train-model.md)
+ [Bereitstellen des Modells auf Amazon EC2](ex1-model-deployment.md)
+ [Bewerten des Modells](ex1-test-model.md)
+ [Bereinigen der SageMaker Amazon-Notebook-Instance-Ressourcen](ex1-cleanup.md)

# Erstellen Sie eine Amazon SageMaker Notebook-Instance für das Tutorial
<a name="gs-setup-working-env"></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 Amazon SageMaker Notebook-Instance ist eine vollständig verwaltete Amazon Elastic Compute Cloud (Amazon EC2) Compute Instance für maschinelles Lernen (ML). Eine SageMaker Amazon-Notebook-Instance führt die Jupyter Notebook-Anwendung aus. Verwenden Sie die Notebook-Instance, um Jupyter Notebooks für die Vorverarbeitung von Daten, das Trainieren von ML-Modellen und die Bereitstellung von ML-Modellen zu erstellen und zu verwalten.

**Um eine Notebook-Instance zu erstellen SageMaker**  
![\[Animierter Screenshot, der zeigt, wie eine SageMaker Notebook-Instanz erstellt wird.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-create-instance.gif)

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie **Notebook-Instances** und **Notebook-Instance erstellen** aus.

1. Geben Sie auf der Seite **Create notebook instance (Notebook-Instance erstellen)** die folgenden Informationen an (falls ein Feld nicht erwähnt wird, behalten Sie die Standardwerte bei):

   1. Geben Sie unter **Notebook instance name (Name der Notebook-Instance)** einen Namen für die Notebook-Instance ein.

   1. Wählen Sie für **Notebook instance type (Typ der Notebook-Instance)** `ml.t2.medium` aus. Dies ist der kostengünstigste Instance-Typ, der von Notebook-Instances unterstützt wird, und er reicht für diese Übung aus. Wenn ein `ml.t2.medium` Instance-Typ in Ihrer aktuellen AWS -Region nicht verfügbar ist, wählen Sie `ml.t3.medium`.

   1. Wählen Sie unter **Platform Identifier** einen Plattformtyp aus, auf dem die Notebook-Instance erstellt werden soll. Dieser Plattformtyp definiert das Betriebssystem und die JupyterLab Version, mit der Ihre Notebook-Instance erstellt wurde. Die neueste und empfohlene Version ist `notebook-al2023-v1` für eine Amazon Linux 2023 Notebook-Instance. Informationen zu den Typen von Plattformkennungen finden Sie unter [AL2023 Notebook-Instances](nbi-al2023.md) und[Amazon Linux 2-Notebook-Instances](nbi-al2.md). Informationen zu JupyterLab Versionen finden Sie unter[JupyterLab Versionierung](nbi-jl.md).

   1. Wählen Sie für die **IAM-Rolle** die Option **Neue Rolle erstellen** und anschließend **Rolle erstellen** aus. Diese IAM-Rolle ruft automatisch Berechtigungen für den Zugriff auf S3 Buckets ab, die `sagemaker` im Namen enthalten. Es erhält diese Berechtigungen über die `AmazonSageMakerFullAccess` Richtlinie, die SageMaker KI der Rolle zuordnet. 
**Anmerkung**  
Wenn Sie der IAM-Rolle die Berechtigung zum Zugriff auf S3-Buckets ohne `sagemaker` im Namen gewähren möchten, müssen Sie der IAM-Rolle die `S3FullAccess`-Richtlinie anfügen. Sie können die Berechtigungen auch auf bestimmte S3-Buckets auf die IAM-Rolle beschränken. Weitere Informationen und Beispiele für das Hinzufügen von Bucket-Richtlinien zur IAM-Rolle finden Sie unter [Beispiele für Bucket-Richtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

   1. Wählen Sie **Create notebook instance (Notebook-Instance erstellen)** aus. 

      In wenigen Minuten startet SageMaker KI eine Notebook-Instance und fügt ihr ein 5 GB großes Amazon EBS-Speichervolume hinzu. Die Notebook-Instance verfügt über einen vorkonfigurierten Jupyter-Notebook-Server, SageMaker KI- und AWS SDK-Bibliotheken sowie eine Reihe von Anaconda-Bibliotheken.

      [Weitere Informationen zum Erstellen einer Notebook-Instanz finden Sie unter Erstellen einer SageMaker Notebook-Instanz.](https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-create-ws.html) 

## (Optional) Ändern Sie die Einstellungen der SageMaker Notebook-Instanz
<a name="gs-change-ni-settings"></a>

Um den ML-Compute-Instance-Typ oder die Größe des Amazon EBS-Speichers einer SageMaker AI-Notebook-Instance zu ändern, bearbeiten Sie die Notebook-Instance-Einstellungen.

**Um den SageMaker Notebook-Instance-Typ und das EBS-Volume zu ändern und zu aktualisieren**

1. Wählen Sie auf der Seite **Notebook-Instanzen** in der SageMaker AI-Konsole Ihre Notebook-Instance aus.

1. Wählen Sie **Aktionen**, dann **Stopp** und warten Sie, bis die Notebook-Instance vollständig beendet ist.

1. Nachdem sich der Status der Notebook-Instance auf **Gestoppt** geändert hat, wählen Sie **Aktionen** und dann **Einstellungen aktualisieren** aus.  
![\[Animierter Screenshot, der zeigt, wie Sie die Instanzeinstellungen für SageMaker Notebooks aktualisieren.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-update-instance.gif)

   1. Wählen Sie für **Notebook-Instance-Typ** einen anderen ML-Instance-Typ aus.

   1. Geben Sie für **Volume-Größe in GB** eine andere Ganzzahl ein, um eine neue EBS-Volume-Größe anzugeben.
**Anmerkung**  
EBS-Speichervolumes sind verschlüsselt, sodass SageMaker KI nicht ermitteln kann, wie viel freier Speicherplatz auf dem Volume verfügbar ist. Daher können Sie beim Aktualisieren einer Notebook-Instance die Volume-Größe nur erhöhen, nicht jedoch verkleinern. Wenn Sie die Größe eines verwendeten ML-Speicher-Volumes verkleinern möchten, erstellen Sie eine neue Notebook-Instance mit der gewünschten Größe. 

1. Wählen Sie unten auf der Seite die Option **Notebook-Instance aktualisieren** aus. 

1. Wenn das Update abgeschlossen ist, **starten** Sie die Notebook-Instance mit den neuen Einstellungen.

Weitere Informationen zum Aktualisieren der SageMaker Notebook-Instance-Einstellungen finden Sie unter [Eine Notebook-Instanz aktualisieren](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-update.html). 

## (Optional) Erweiterte Einstellungen für SageMaker Notebook-Instanzen
<a name="gs-ni-advanced-settings"></a>

Das folgende Tutorial-Video zeigt, wie Sie SageMaker Notebook-Instanzen über die SageMaker AI-Konsole einrichten und verwenden. Es umfasst erweiterte Optionen wie die Konfiguration des SageMaker KI-Lebenszyklus und das Importieren von GitHub Repositorys. (Länge: 26:04)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/X5CLunIzj3U/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/X5CLunIzj3U)


Eine vollständige Dokumentation zur SageMaker Notebook-Instance finden Sie unter [Verwenden von Amazon SageMaker Notebook-Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html).

# Erstellen Sie ein Jupyter-Notebook in der Notebook-Instance SageMaker
<a name="ex1-prepare"></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.

Um mit der Skripterstellung für das Training und die Bereitstellung Ihres Modells zu beginnen, erstellen Sie ein Jupyter-Notebook in der Notebook-Instanz. SageMaker Mit dem Jupyter-Notebook können Sie Machine-Learning-Experimente (ML) für Training und Inferenz durchführen und dabei KI-Funktionen und die Infrastruktur nutzen. SageMaker AWS 

**So erstellen Sie ein Jupyter Notebook**  
![\[Animierter Screenshot, der zeigt, wie ein Jupyter-Notizbuch in der AI-Notebook-Instanz erstellt wird. SageMaker\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-create-notebook.gif)

1. Öffnen Sie die Notebook-Instance wie folgt:

   1. Melden Sie sich bei der SageMaker AI-Konsole an unter. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

   1. Öffnen Sie auf der Seite **Notebook-Instances** Ihre Notebook-Instance, indem Sie eine der folgenden Optionen wählen:
      + **Öffnen Sie JupyterLab** für die JupyterLab Schnittstelle
      + **Jupyter öffnen** für die klassische Jupyter-Ansicht
**Anmerkung**  
Wenn der Status der Notebook-Instance in der Spalte **Status** **Ausstehend** anzeigt, wird Ihre Notebook-Instance immer noch erstellt. Der Status ändert sich zu dem **InService**Zeitpunkt, zu dem die Notebook-Instanz einsatzbereit ist. 

1. Erstellen Sie ein Notebook wie folgt: 
   + Wenn Sie das Notizbuch in der JupyterLab Ansicht geöffnet haben, wählen Sie im Menü **Datei** die Option **Neu** und dann **Notizbuch** aus. Wählen Sie für **Select Kernel (Kernel auswählen)** **conda\$1python3** aus. Diese vorinstallierte Umgebung umfasst die Anaconda-Standardinstallation und Python 3.
   + Wenn Sie das Notebook in der klassischen Jupyter-Ansicht geöffnet haben, wählen Sie in der Registerkarte **Dateien** **Neu** und **conda\$1python3** aus. Diese vorinstallierte Umgebung umfasst die Anaconda-Standardinstallation und Python 3.

1. Speichern Sie die Notebooks wie folgt:
   + Wählen Sie in der JupyterLab Ansicht „**Datei**“ und dann „**Notizbuch speichern unter...“.** , und benennen Sie dann das Notizbuch um.
   + Wählen Sie in der klassischen Ansicht von Jupyter **Datei** und dann **Speichern unter...** , und benennen Sie dann das Notebook um.

# Vorbereiten eines Datensatzes
<a name="ex1-preprocess-data"></a>

In diesem Schritt laden Sie den [Datensatz Adult Census](https://archive.ics.uci.edu/ml/datasets/adult) mithilfe der SHAP-Bibliothek (SHapley Additive Explanations) in Ihre Notebook-Instance, überprüfen den Datensatz, transformieren ihn und laden ihn auf Amazon S3 hoch. SHAP ist ein spieltheoretischer Ansatz zur Erklärung der Ergebnisse eines beliebigen Modells für Machine Learning. Weitere Informationen zu SHAP finden Sie in der [Wilkommen zu SHAP Dokumentation](https://shap.readthedocs.io/en/latest/).

Um das folgende Beispiel auszuführen, fügen Sie den Beispielcode in eine Zelle in Ihrer Notebook-Instance ein.

## Laden Sie den Datensatz zur Volkszählung von Erwachsenen mit SHAP
<a name="ex1-preprocess-data-pull-data"></a>

Importieren Sie den Datensatz der Volkszählung für Erwachsene mithilfe der SHAP-Bibliothek wie folgt:

```
import shap
X, y = shap.datasets.adult()
X_display, y_display = shap.datasets.adult(display=True)
feature_names = list(X.columns)
feature_names
```

**Anmerkung**  
Wenn der aktuelle Jupyter-Kernel nicht über die SHAP-Bibliothek verfügt, installieren Sie sie, indem Sie den folgenden `conda` Befehl ausführen:  

```
%conda install -c conda-forge shap
```
Wenn Sie verwenden JupyterLab, müssen Sie den Kernel manuell aktualisieren, nachdem die Installation und die Updates abgeschlossen sind. Führen Sie das folgende IPython Skript aus, um den Kernel herunterzufahren (der Kernel wird automatisch neu gestartet):  

```
import IPython
IPython.Application.instance().kernel.do_shutdown(True)
```

Das `feature_names` Listenobjekt sollte die folgende Liste von Features zurückgeben: 

```
['Age',
 'Workclass',
 'Education-Num',
 'Marital Status',
 'Occupation',
 'Relationship',
 'Race',
 'Sex',
 'Capital Gain',
 'Capital Loss',
 'Hours per week',
 'Country']
```

**Tipp**  
Wenn Sie mit unbeschrifteten Daten beginnen, können Sie Amazon SageMaker Ground Truth verwenden, um innerhalb von Minuten einen Datenkennzeichnungsworkflow zu erstellen. Weitere Informationen finden Sie unter [Beschriftungsdaten](https://docs.aws.amazon.com/sagemaker/latest/dg/data-label.html). 

## Überblick über den Datensatz
<a name="ex1-preprocess-data-inspect"></a>

Führen Sie das folgende Skript aus, um die statistische Übersicht des Datensatzes und die Histogramme der numerischen Merkmale anzuzeigen.

```
display(X.describe())
hist = X.hist(bins=30, sharey=True, figsize=(20, 10))
```

![\[Überblick über den Datensatz der Volkszählung für Erwachsene.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-1.png)


**Tipp**  
Wenn Sie einen Datensatz verwenden möchten, der bereinigt und transformiert werden muss, können Sie die Datenvorverarbeitung und das Feature-Engineering mit Amazon SageMaker Data Wrangler vereinfachen und optimieren. Weitere Informationen finden Sie unter [Vorbereiten von ML-Daten mit Amazon SageMaker Data Wrangler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html).

## Teilen Sie den Datensatz in Trainings-, Validierungs- und Testdatensätze auf
<a name="ex1-preprocess-data-transform"></a>

Teilen Sie den Datensatz mithilfe von Sklearn in einen Trainingssatz und einen Testsatz auf. Der Trainingssatz wird verwendet, um das Modell zu trainieren, während der Testsatz verwendet wird, um die Leistung des endgültigen trainierten Modells zu bewerten. Der Datensatz wird nach dem Zufallsprinzip mit der festen Zufallszahl sortiert: 80 Prozent des Datensatzes für den Trainingssatz und 20 Prozent davon für einen Testsatz.

```
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
X_train_display = X_display.loc[X_train.index]
```

Teilen Sie den Trainingssatz auf, um einen Validierungssatz zu trennen. Der Validierungssatz wird verwendet, um die Leistung des trainierten Modells zu bewerten und gleichzeitig die Hyperparameter des Modells zu optimieren. 75 Prozent des Trainingssatzes werden zum endgültigen Trainingssatz, und der Rest ist der Validierungssatz.

```
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25, random_state=1)
X_train_display = X_display.loc[X_train.index]
X_val_display = X_display.loc[X_val.index]
```

Richten Sie mithilfe des Pandas-Pakets jeden Datensatz explizit aus, indem Sie die numerischen Merkmale mit den tatsächlichen Beschriftungen verketten.

```
import pandas as pd
train = pd.concat([pd.Series(y_train, index=X_train.index,
                             name='Income>50K', dtype=int), X_train], axis=1)
validation = pd.concat([pd.Series(y_val, index=X_val.index,
                            name='Income>50K', dtype=int), X_val], axis=1)
test = pd.concat([pd.Series(y_test, index=X_test.index,
                            name='Income>50K', dtype=int), X_test], axis=1)
```

Prüfen Sie, ob der Datensatz wie erwartet aufgeteilt und strukturiert ist:

```
train
```

![\[Der Beispiel-Trainingsdatensatz.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-train.png)


```
validation
```

![\[Das Beispiel für den Validierungsdatensatz.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-validation.png)


```
test
```

![\[Der Beispiel-Testdatensatz.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-test.png)


## Konvertiert das Trainings- und Validierungsdatensätze in CSV-Dateien
<a name="ex1-preprocess-data-transform-2"></a>

Konvertieren Sie die Objekte `train` und `validation` DataFrame in CSV-Dateien, sodass sie dem Eingabedateiformat für den Algorithmus entsprechen. XGBoost 

```
# Use 'csv' format to store the data
# The first column is expected to be the output column
train.to_csv('train.csv', index=False, header=False)
validation.to_csv('validation.csv', index=False, header=False)
```

## Hochladen der Datensätze auf Amazon S3
<a name="ex1-preprocess-data-transform-4"></a>

Laden Sie mithilfe von SageMaker KI und Boto3 die Trainings- und Validierungsdatensätze in den standardmäßigen Amazon S3 S3-Bucket hoch. Die Datensätze im S3-Bucket werden von einer rechenoptimierten SageMaker Instance auf Amazon EC2 für Schulungen verwendet. 

Der folgende Code richtet die standardmäßige S3-Bucket-URI für Ihre aktuelle SageMaker AI-Sitzung ein, erstellt einen neuen `demo-sagemaker-xgboost-adult-income-prediction` Ordner und lädt die Trainings- und Validierungsdatensätze in den Unterordner hoch. `data`

```
import sagemaker, boto3, os
bucket = sagemaker.Session().default_bucket()
prefix = "demo-sagemaker-xgboost-adult-income-prediction"

boto3.Session().resource('s3').Bucket(bucket).Object(
    os.path.join(prefix, 'data/train.csv')).upload_file('train.csv')
boto3.Session().resource('s3').Bucket(bucket).Object(
    os.path.join(prefix, 'data/validation.csv')).upload_file('validation.csv')
```

Führen Sie den folgenden Befehl aus AWS CLI , um zu überprüfen, ob die CSV-Dateien erfolgreich in den S3-Bucket hochgeladen wurden.

```
! aws s3 ls {bucket}/{prefix}/data --recursive
```

Dies sollte die folgende Ausgabe ergeben:

![\[Ausgabe des CLI-Befehls zur Überprüfung der Datensätze im S3-Bucket.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-3.png)


# Trainieren eines Modells
<a name="ex1-train-model"></a>

In diesem Schritt wählen Sie einen Trainingsalgorithmus aus und führen einen Trainingsjob für das Modell aus. Das [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) bietet Framework-Schätzer und generische Schätzer, mit denen Sie Ihr Modell trainieren und gleichzeitig den Lebenszyklus des maschinellen Lernens (ML) orchestrieren können, indem Sie auf die SageMaker KI-Funktionen für das Training und die AWS Infrastrukturen wie Amazon Elastic Container Registry (Amazon ECR), Amazon Elastic Compute Cloud (Amazon EC2) und Amazon Simple Storage Service (Amazon S3) zugreifen. Weitere Informationen zu SageMaker KI-integrierten Framework-Schätzern finden Sie unter [Frameworks](https://sagemaker.readthedocs.io/en/stable/frameworks/index.html) in der [Amazon SageMaker Python SDK-Dokumentation](https://sagemaker.readthedocs.io/en/stable). Weitere Informationen zu integrierten Algorithmen finden Sie unter [Integrierte Algorithmen und vortrainierte Modelle in Amazon SageMaker](algos.md).

**Topics**
+ [Auswählen des Trainingsalgorithmus](#ex1-train-model-select-algorithm)
+ [Erstellen und Ausführen eines Trainingsauftrags](#ex1-train-model-sdk)

## Auswählen des Trainingsalgorithmus
<a name="ex1-train-model-select-algorithm"></a>

Um den richtigen Algorithmus für Ihren Datensatz auszuwählen, müssen Sie in der Regel verschiedene Modelle auswerten, um die für Ihre Daten am besten geeigneten Modelle zu finden. Der Einfachheit halber wird in diesem Tutorial der [XGBoost Algorithmus mit Amazon SageMaker AI](xgboost.md) integrierte SageMaker KI-Algorithmus verwendet, ohne dass Modelle vorab evaluiert werden müssen.

**Tipp**  
Wenn Sie möchten, dass SageMaker KI ein geeignetes Modell für Ihren tabellarischen Datensatz findet, verwenden Sie Amazon SageMaker Autopilot, das eine Lösung für maschinelles Lernen automatisiert. Weitere Informationen finden Sie unter [SageMaker Autopilot](autopilot-automate-model-development.md).

## Erstellen und Ausführen eines Trainingsauftrags
<a name="ex1-train-model-sdk"></a>

Nachdem Sie herausgefunden haben, welches Modell Sie verwenden sollen, beginnen Sie mit der Erstellung eines SageMaker KI-Schätzers für das Training. In diesem Tutorial wird der XGBoost integrierte Algorithmus für den generischen SageMaker KI-Schätzer verwendet.

**So führen Sie einen Modelltrainingsauftrag aus**

1. Importieren Sie das [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) und rufen Sie zunächst die Basisinformationen aus Ihrer aktuellen SageMaker KI-Sitzung ab.

   ```
   import sagemaker
   
   region = sagemaker.Session().boto_region_name
   print("AWS Region: {}".format(region))
   
   role = sagemaker.get_execution_role()
   print("RoleArn: {}".format(role))
   ```

   Dies gibt folgende Informationen zurück:
   + `region`— Die aktuelle AWS Region, in der die SageMaker AI-Notebook-Instance ausgeführt wird.
   + `role` – Die von der Notebook-Instance verwendete IAM-Rolle.
**Anmerkung**  
Überprüfen Sie die SageMaker Python-SDK-Version, indem Sie Folgendes ausführen`sagemaker.__version__`. Dieses Tutorial basiert auf `sagemaker>=2.20`. Wenn das SDK veraltet ist, installieren Sie die neueste Version, indem Sie den folgenden Befehl ausführen:   

   ```
   ! pip install -qU sagemaker
   ```
Wenn Sie diese Installation in Ihren bestehenden SageMaker Studio- oder Notebook-Instanzen ausführen, müssen Sie den Kernel manuell aktualisieren, um die Installation des Versionsupdates abzuschließen.

1. Erstellen Sie mithilfe XGBoost der Klasse einen Schätzer. `sagemaker.estimator.Estimator` Im folgenden Beispielcode wird der XGBoost Schätzer benannt. `xgb_model`

   ```
   from sagemaker.debugger import Rule, ProfilerRule, rule_configs
   from sagemaker.session import TrainingInput
   
   s3_output_location='s3://{}/{}/{}'.format(bucket, prefix, 'xgboost_model')
   
   container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1")
   print(container)
   
   xgb_model=sagemaker.estimator.Estimator(
       image_uri=container,
       role=role,
       instance_count=1,
       instance_type='ml.m4.xlarge',
       volume_size=5,
       output_path=s3_output_location,
       sagemaker_session=sagemaker.Session(),
       rules=[
           Rule.sagemaker(rule_configs.create_xgboost_report()),
           ProfilerRule.sagemaker(rule_configs.ProfilerReport())
       ]
   )
   ```

   Um den SageMaker AI-Schätzer zu erstellen, geben Sie die folgenden Parameter an:
   + `image_uri` – Geben Sie den Image-URI des Trainingscontainers an. In diesem Beispiel wird der SageMaker XGBoost AI-Trainingscontainer-URI mit `sagemaker.image_uris.retrieve` angegeben.
   + `role`— Die AWS Identity and Access Management (IAM-) Rolle, die SageMaker KI verwendet, um Aufgaben in Ihrem Namen auszuführen (z. B. Trainingsergebnisse lesen, Modellartefakte von Amazon S3 aufrufen und Trainingsergebnisse in Amazon S3 schreiben). 
   + `instance_count` und `instance_type` – Typ und Anzahl der für das Modelltraining zu verwendenden Amazon-EC2-ML-Compute-Instances. Für diese Trainingsübung verwenden Sie eine einzelne `ml.m4.xlarge` Instance mit 4 CPUs, 16 GB Arbeitsspeicher, einem Amazon Elastic Block Store (Amazon EBS)-Speicher und einer hohen Netzwerkleistung. Weitere Informationen zu EC2-Rechen-Instance-Typen finden Sie unter [Amazon-EC2-Instance-Typen](https://aws.amazon.com/ec2/instance-types/). Weitere Informationen zur Abrechnung finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/). 
   + `volume_size` – Die Größe des EBS-Speichervolumens (in GB), das an das Trainings-Instance angefügt werden soll. Diese muss groß genug sein, um Trainingsdaten speichern zu können, wenn Sie den `File`-Modus verwenden (der `File`-Modus ist der Standardwert). Wenn Sie diesen Parameter nicht angeben, ist sein Wert standardmäßig 30.
   + `output_path`— Der Pfad zum S3-Bucket, in dem SageMaker KI das Modellartefakt und die Trainingsergebnisse speichert.
   + `sagemaker_session`— Das Sitzungsobjekt, das Interaktionen mit SageMaker API-Vorgängen und anderen AWS Diensten verwaltet, die der Trainingsjob verwendet.
   + `rules`— Geben Sie eine Liste der integrierten SageMaker Debugger-Regeln an. In diesem Beispiel erstellt die `create_xgboost_report()` Regel einen XGBoost Bericht, der Einblicke in den Trainingsfortschritt und die Ergebnisse bietet, und die `ProfilerReport()` Regel erstellt einen Bericht über die Auslastung der EC2-Rechenressourcen. Weitere Informationen finden Sie unter [SageMaker Interaktiver Debugger-Bericht für XGBoost](debugger-report-xgboost.md).
**Tipp**  
Wenn Sie ein verteiltes Training von großen Deep-Learning-Modellen wie Convolutional Neural Networks (CNN) und Natural Language Processing (NLP) -Modellen (Natural Language Processing) durchführen möchten, verwenden Sie SageMaker AI Distributed für Daten- oder Modellparallelität. Weitere Informationen finden Sie unter [Verteilte Schulungen in Amazon SageMaker AI](distributed-training.md).

1. Legen Sie die Hyperparameter für den Algorithmus fest, indem Sie die Methode des Schätzers aufrufen. XGBoost `set_hyperparameters` Eine vollständige Liste der XGBoost Hyperparameter finden Sie unter. [XGBoost Hyperparameter](xgboost_hyperparameters.md)

   ```
   xgb_model.set_hyperparameters(
       max_depth = 5,
       eta = 0.2,
       gamma = 4,
       min_child_weight = 6,
       subsample = 0.7,
       objective = "binary:logistic",
       num_round = 1000
   )
   ```
**Tipp**  
Sie können die Hyperparameter auch mithilfe der SageMaker AI-Hyperparameter-Optimierungsfunktion optimieren. Weitere Informationen finden Sie unter [Automatische Modelloptimierung mit KI SageMaker](automatic-model-tuning.md). 

1. Verwenden Sie die `TrainingInput` Klasse, um einen Dateneingabefluss für das Training zu konfigurieren. Der folgende Beispielcode zeigt, wie Sie `TrainingInput` Objekte für die Verwendung der Trainings- und Validierungsdatensätze konfigurieren, die Sie im [Teilen Sie den Datensatz in Trainings-, Validierungs- und Testdatensätze auf](ex1-preprocess-data.md#ex1-preprocess-data-transform) Abschnitt auf Amazon S3 hochgeladen haben.

   ```
   from sagemaker.session import TrainingInput
   
   train_input = TrainingInput(
       "s3://{}/{}/{}".format(bucket, prefix, "data/train.csv"), content_type="csv"
   )
   validation_input = TrainingInput(
       "s3://{}/{}/{}".format(bucket, prefix, "data/validation.csv"), content_type="csv"
   )
   ```

1. Um das Modelltraining zu starten, rufen Sie die `fit` Methode des Schätzers mit den Trainings- und Validierungsdatensätzen auf. Wenn Sie `wait=True` einstellen, zeigt die `fit` Methode Fortschrittsprotokolle an und wartet, bis das Training abgeschlossen ist.

   ```
   xgb_model.fit({"train": train_input, "validation": validation_input}, wait=True)
   ```

   Weitere Informationen zum Modelltraining finden Sie unter [Trainiere ein Modell mit Amazon SageMaker](how-it-works-training.md). Dieser Tutorial-Trainingsjob kann bis zu 10 Minuten dauern.

   Nach Abschluss der Trainingsaufgabe können Sie einen XGBoost Trainingsbericht und einen vom Debugger generierten Profilerstellungsbericht herunterladen. SageMaker Der XGBoost Trainingsbericht bietet Ihnen Einblicke in den Trainingsfortschritt und die Ergebnisse, z. B. die Verlustfunktion in Bezug auf die Iteration, die Wichtigkeit der Merkmale, die Konfusionsmatrix, die Genauigkeitskurven und andere statistische Ergebnisse des Trainings. Im XGBoost Trainingsbericht findest du zum Beispiel die folgende Verlustkurve, die eindeutig darauf hinweist, dass ein Überfitnessproblem vorliegt.  
![\[Die Grafik im XGBoost Trainingsbericht.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-train-loss-curve-validation-overfitting.png)

   Führen Sie den folgenden Code aus, um den S3-Bucket-URI anzugeben, unter dem die Debugger-Trainingsberichte generiert werden, und überprüfen Sie, ob die Berichte vorhanden sind.

   ```
   rule_output_path = xgb_model.output_path + "/" + xgb_model.latest_training_job.job_name + "/rule-output"
   ! aws s3 ls {rule_output_path} --recursive
   ```

   Laden Sie die XGBoost Debugger-Schulungs- und Profilerstellungsberichte in den aktuellen Workspace herunter:

   ```
   ! aws s3 cp {rule_output_path} ./ --recursive
   ```

   Führen Sie das folgende IPython Skript aus, um den Dateilink des XGBoost Trainingsberichts abzurufen:

   ```
   from IPython.display import FileLink, FileLinks
   display("Click link below to view the XGBoost Training report", FileLink("CreateXgboostReport/xgboost_report.html"))
   ```

   Das folgende IPython-Skript gibt den Dateilink des Debugger-Profilerstellungsberichts zurück, der Zusammenfassungen und Details zur Ressourcenauslastung der EC2-Instance, zu den Ergebnissen der Erkennung von Systemengpässen und zur Profilerstellung für Python-Operationen enthält:

   ```
   profiler_report_name = [rule["RuleConfigurationName"] 
                           for rule in xgb_model.latest_training_job.rule_job_summary() 
                           if "Profiler" in rule["RuleConfigurationName"]][0]
   profiler_report_name
   display("Click link below to view the profiler report", FileLink(profiler_report_name+"/profiler-output/profiler-report.html"))
   ```
**Tipp**  
Wenn die HTML-Berichte in der JupyterLab Ansicht keine Diagramme rendern, müssen Sie oben in den Berichten die Option **HTML vertrauen** auswählen.  
Um Trainingsprobleme wie Überanpassung, verschwindende Gradienten und andere Probleme zu identifizieren, die die Konvergenz Ihres Modells verhindern, verwenden Sie den SageMaker Debugger und ergreifen Sie automatisierte Maßnahmen, während Sie Prototypen erstellen und Ihre ML-Modelle trainieren. Weitere Informationen finden Sie unter [SageMaker Amazon-Debugger](train-debugger.md). Eine vollständige Analyse der Modellparameter finden Sie im Beispielnotizbuch [Explainability with Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/xgboost_census_explanations/xgboost-census-debugger-rules.html#Explainability-with-Amazon-SageMaker-Debugger). 

Sie haben jetzt ein trainiertes Modell. XGBoost SageMaker KI speichert das Modellartefakt in Ihrem S3-Bucket. Um die Position des Modellartefakts zu ermitteln, führen Sie den folgenden Code aus, um das model\$1data-Attribut des `xgb_model` Schätzers auszudrucken:

```
xgb_model.model_data
```

**Tipp**  
Verwenden SageMaker Sie Clarify, um Verzerrungen zu messen, die in jeder Phase des ML-Lebenszyklus (Datenerfassung, Modelltraining und -optimierung sowie Überwachung von ML-Modellen, die zur Vorhersage eingesetzt werden) auftreten können. Weitere Informationen finden Sie unter [Erklärbarkeit des Modells](clarify-model-explainability.md). Ein Beispiel finden Sie im end-to-end Beispielnotizbuch [Fairness and Explainability with SageMaker ](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-clarify/fairness_and_explainability/fairness_and_explainability.html) Clarify.

# Bereitstellen des Modells auf Amazon EC2
<a name="ex1-model-deployment"></a>

Um Prognosen zu erhalten, stellen Sie Ihr Modell mithilfe von Amazon SageMaker AI in Amazon EC2 bereit.

**Topics**
+ [Stellen Sie das Modell für SageMaker AI Hosting Services bereit](#ex1-deploy-model)
+ [(Optional) Verwenden Sie SageMaker AI Predictor, um den gehosteten Endpunkt wiederzuverwenden](#ex1-deploy-model-sdk-use-endpoint)
+ [(Optional) Vorhersagen mit Batch-Transformation treffen](#ex1-batch-transform)

## Stellen Sie das Modell für SageMaker AI Hosting Services bereit
<a name="ex1-deploy-model"></a>

Um ein Modell mithilfe von Amazon SageMaker AI über Amazon EC2 zu hosten, stellen Sie das Modell bereit, in dem Sie trainiert haben, [Erstellen und Ausführen eines Trainingsauftrags](ex1-train-model.md#ex1-train-model-sdk) indem Sie die `deploy` Methode des `xgb_model` Schätzers aufrufen. Wenn Sie die `deploy`-Methode aufrufen, geben Sie die Anzahl und den Typ der EC2-ML-Instances an, die Sie zum Hosten des Endpunkts verwenden möchten.

```
import sagemaker
from sagemaker.serializers import CSVSerializer
xgb_predictor=xgb_model.deploy(
    initial_instance_count=1,
    instance_type='ml.t2.medium',
    serializer=CSVSerializer()
)
```
+ `initial_instance_count` (int) – Die Anzahl der Instances, für die das Modell bereitgestellt werden soll.
+ `instance_type` (str) – Der Instance-Typ, mit dem Sie Ihr bereitgestelltes Modell betreiben möchten.
+ `serializer`(int) — Serialisiert Eingabedaten verschiedener Formate (ein NumPy Array, eine Liste, eine Datei oder ein Puffer) in eine CSV-formatierte Zeichenfolge. Wir verwenden dies, weil der XGBoost Algorithmus Eingabedateien im CSV-Format akzeptiert.

Die `deploy` Methode erstellt ein bereitstellbares Modell, konfiguriert den Endpunkt der SageMaker KI-Hostingdienste und startet den Endpunkt, um das Modell zu hosten. Weitere Informationen finden Sie in der [Deploy-Klassenmethode des generischen SageMaker KI-Estimators](https://sagemaker.readthedocs.io/en/stable/estimators.html#sagemaker.estimator.Estimator.deploy) im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable). Um den Namen des Endpunkts abzurufen, der von der `deploy` Methode generiert wurde, führen Sie den folgenden Code aus:

```
xgb_predictor.endpoint_name
```

Dies sollte den Endpunktnamen von `xgb_predictor` zurückgeben. Das Format des Endpunktnamens ist `"sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS"`. Dieser Endpunkt bleibt in der ML-Instance aktiv, und Sie können jederzeit sofortige Vorhersagen treffen, sofern Sie ihn nicht später herunterfahren. Kopieren Sie diesen Endpunktnamen und speichern Sie ihn, um ihn wiederzuverwenden und Vorhersagen in Echtzeit an anderer Stelle in SageMaker Studio- oder SageMaker AI-Notebook-Instances zu treffen.

**Tipp**  
Weitere Informationen zur Kompilierung und Optimierung Ihres Modells für die Bereitstellung auf Amazon-EC2-Instances oder Edge-Geräten finden Sie unter [Modelle mit Neo kompilieren und bereitstellen](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html).

## (Optional) Verwenden Sie SageMaker AI Predictor, um den gehosteten Endpunkt wiederzuverwenden
<a name="ex1-deploy-model-sdk-use-endpoint"></a>

Nachdem Sie das Modell auf einem Endpunkt bereitgestellt haben, können Sie einen neuen SageMaker KI-Prädiktor einrichten, indem Sie den Endpunkt koppeln und in allen anderen Notebooks kontinuierlich Vorhersagen in Echtzeit treffen. Der folgende Beispielcode zeigt, wie Sie die SageMaker AI Predictor-Klasse verwenden, um ein neues Prädiktorobjekt unter Verwendung desselben Endpunkts einzurichten. Verwenden Sie erneut den Endpunktnamen, den Sie für den `xgb_predictor` verwendet haben.

```
import sagemaker
xgb_predictor_reuse=sagemaker.predictor.Predictor(
    endpoint_name="sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS",
    sagemaker_session=sagemaker.Session(),
    serializer=sagemaker.serializers.CSVSerializer()
)
```

Der `xgb_predictor_reuse` Prädiktor verhält sich genauso wie das Original `xgb_predictor`. Weitere Informationen finden Sie in der [SageMaker AI Predictor-Klasse](https://sagemaker.readthedocs.io/en/stable/predictors.html#sagemaker.predictor.RealTimePredictor) im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).

## (Optional) Vorhersagen mit Batch-Transformation treffen
<a name="ex1-batch-transform"></a>

Anstatt einen Endpunkt in der Produktion zu hosten, können Sie einen einmaligen Batch-Inferenzjob ausführen, um mithilfe der SageMaker AI-Batch-Transformation Vorhersagen für einen Testdatensatz zu treffen. Nach Abschluss Ihres Modelltrainings können Sie den Schätzer auf ein `transformer` Objekt erweitern, das auf der [SageMaker AI Transformer-Klasse](https://sagemaker.readthedocs.io/en/stable/api/inference/transformer.html) basiert. Der Batch-Transformer liest Eingabedaten aus einem bestimmten S3-Bucket ein und trifft Vorhersagen.

**So erstellen Sie einen Batch-Transformationsauftrag**

1. Führen Sie den folgenden Code aus, um die Feature-Spalten des Testdatensatzes in eine CSV-Datei zu konvertieren und in den S3-Bucket hochzuladen:

   ```
   X_test.to_csv('test.csv', index=False, header=False)
   
   boto3.Session().resource('s3').Bucket(bucket).Object(
   os.path.join(prefix, 'test/test.csv')).upload_file('test.csv')
   ```

1. Geben Sie den S3-Bucket URIs für Eingabe und Ausgabe für den Batch-Transformationsjob wie folgt an:

   ```
   # The location of the test dataset
   batch_input = 's3://{}/{}/test'.format(bucket, prefix)
   
   # The location to store the results of the batch transform job
   batch_output = 's3://{}/{}/batch-prediction'.format(bucket, prefix)
   ```

1. Erstellen Sie ein Transformer-Objekt, das die Mindestanzahl von Parametern angibt: die Parameter `instance_count` und `instance_type`, um den Batch-Transformationsauftrag auszuführen, und die `output_path` um Prognosedaten zu speichern, wie im Folgenden dargestellt: 

   ```
   transformer = xgb_model.transformer(
       instance_count=1, 
       instance_type='ml.m4.xlarge', 
       output_path=batch_output
   )
   ```

1. Initiieren Sie den Batch-Transformationsauftrag, indem Sie die `transform()` Methode des `transformer` Objekts wie folgt ausführen:

   ```
   transformer.transform(
       data=batch_input, 
       data_type='S3Prefix',
       content_type='text/csv', 
       split_type='Line'
   )
   transformer.wait()
   ```

1. Wenn der Batch-Transformationsauftrag abgeschlossen ist, erstellt SageMaker AI die im `batch_output` Pfad gespeicherten `test.csv.out` Vorhersagedaten, die das folgende Format haben sollten:`s3://sagemaker-<region>-111122223333/demo-sagemaker-xgboost-adult-income-prediction/batch-prediction`. Führen Sie Folgendes aus AWS CLI , um die Ausgabedaten des Batch-Transformationsjobs herunterzuladen:

   ```
   ! aws s3 cp {batch_output} ./ --recursive
   ```

   Dadurch sollte die `test.csv.out` Datei im aktuellen Arbeitsverzeichnis erstellt werden. Sie können sich die Gleitkommawerte ansehen, die auf der Grundlage der logistischen Regression des XGBoost Trainingsjobs vorhergesagt wurden.

# Bewerten des Modells
<a name="ex1-test-model"></a>

Nachdem Sie nun ein Modell mit Amazon SageMaker AI trainiert und bereitgestellt haben, evaluieren Sie das Modell, um sicherzustellen, dass es genaue Vorhersagen für neue Daten generiert. Verwenden Sie für die Modellbewertung den Testdatensatz, den Sie in [Vorbereiten eines Datensatzes](ex1-preprocess-data.md) erstellt haben.

## Evaluieren Sie das für SageMaker AI Hosting Services bereitgestellte Modell
<a name="ex1-test-model-endpoint"></a>

Um das Modell auszuwerten und in der Produktion zu verwenden, rufen Sie den Endpunkt mit dem Testdatensatz auf und überprüfen Sie, ob die erhaltenen Schlussfolgerungen die Zielgenauigkeit ergeben, die Sie erreichen möchten.

**So bewerten Sie das Modell**

1. Richten Sie die folgende Funktion ein, um jede Zeile des Testsatzes vorherzusagen. Im folgenden Beispielcode besteht das `rows` Argument darin, die Anzahl der Zeilen anzugeben, die gleichzeitig vorhergesagt werden sollen. Sie können den Wert ändern, um eine Batch-Inferenz durchzuführen, die die Hardwareressourcen der Instance voll ausnutzt.

   ```
   import numpy as np
   def predict(data, rows=1000):
       split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
       predictions = ''
       for array in split_array:
           predictions = ','.join([predictions, xgb_predictor.predict(array).decode('utf-8')])
       return np.fromstring(predictions[1:], sep=',')
   ```

1. Führen Sie den folgenden Code aus, um Vorhersagen für den Testdatensatz zu treffen und ein Histogramm zu zeichnen. Sie müssen nur die Feature-Spalten des Testdatensatzes verwenden, mit Ausnahme der 0-ten Spalte für die tatsächlichen Werte.

   ```
   import matplotlib.pyplot as plt
   
   predictions=predict(test.to_numpy()[:,1:])
   plt.hist(predictions)
   plt.show()
   ```  
![\[Ein Histogramm der vorhergesagten Werte.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-eval-predicted-values-histogram.png)

1. Die vorhergesagten Werte sind vom Typ Float. Um `True` oder `False` auf der Grundlage der Float-Werte zu bestimmen, müssen Sie einen Grenzwert festlegen. Wie im folgenden Beispielcode gezeigt, verwenden Sie die Scikit-Learn-Bibliothek, um den ausgegebenen Konfusionsmetriken- und Klassifizierungsbericht mit einem Grenzwert von 0,5 zurückzugeben.

   ```
   import sklearn
   
   cutoff=0.5
   print(sklearn.metrics.confusion_matrix(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0)))
   print(sklearn.metrics.classification_report(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0)))
   ```

   Dies sollte die folgende Konfusionsmatrix zurückgeben:  
![\[Ein Beispiel für Konfusionsmatrix und Statistik, nachdem die Schlussfolgerung aus dem bereitgestellten Modell gezogen wurde.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-evaluate-confusion-matrix.png)

1. Um den besten Grenzwert für den angegebenen Testsatz zu ermitteln, berechnen Sie die Log-Loss-Funktion der logistischen Regression. Die Log-Loss-Funktion ist definiert als die negative Log-Likelihood eines logistischen Modells, das Vorhersagewahrscheinlichkeiten für seine Ground-Truth-Beschriftungen zurückgibt. Im folgenden Beispielcode werden die logarithmischen Verlustwerte (`-(y*log(p)+(1-y)log(1-p)`) numerisch und iterativ berechnet. Dabei handelt es sich bei `y` um die wahre Beschriftung und bei `p` um eine Wahrscheinlichkeitsschätzung der entsprechenden Testprobe. Es wird ein Diagramm mit logarithmischem Verlust im Vergleich zum Grenzwert zurückgegeben.

   ```
   import matplotlib.pyplot as plt
   
   cutoffs = np.arange(0.01, 1, 0.01)
   log_loss = []
   for c in cutoffs:
       log_loss.append(
           sklearn.metrics.log_loss(test.iloc[:, 0], np.where(predictions > c, 1, 0))
       )
   
   plt.figure(figsize=(15,10))
   plt.plot(cutoffs, log_loss)
   plt.xlabel("Cutoff")
   plt.ylabel("Log loss")
   plt.show()
   ```

   Dies sollte die folgende Log-Verlustkurve zurückgeben.  
![\[Beispiel einer Log-Verlustkurve.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/get-started-ni/gs-ni-evaluate-logloss-vs-cutoff.png)

1. Ermitteln Sie die Mindestpunkte der Fehlerkurve mithilfe der `min` Funktionen NumPy `argmin` und:

   ```
   print(
       'Log loss is minimized at a cutoff of ', cutoffs[np.argmin(log_loss)], 
       ', and the log loss value at the minimum is ', np.min(log_loss)
   )
   ```

   Das sollte folgendes zurückgeben: `Log loss is minimized at a cutoff of 0.53, and the log loss value at the minimum is 4.348539186773897`.

   Anstatt die Log-Loss-Funktion zu berechnen und zu minimieren, können Sie als Alternative eine Kostenfunktion schätzen. Wenn Sie beispielsweise ein Modell darauf trainieren möchten, eine binäre Klassifikation für ein Geschäftsproblem durchzuführen, z. B. ein Problem mit der Vorhersage der Kundenabwanderung, können Sie Gewichtungen für die Konfusionsmatrix festlegen und die Kostenfunktion entsprechend berechnen.

Sie haben jetzt Ihr erstes SageMaker KI-Modell trainiert, eingesetzt und evaluiert.

**Tipp**  
Verwenden Sie Amazon Model Monitor und SageMaker AI Clarify, um SageMaker Modellqualität, Datenqualität und Verzerrungen zu überwachen. Weitere Informationen finden Sie unter [Amazon SageMaker Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html), [Datenqualität überwachen, Modellqualität](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-data-quality.html) [überwachen](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html), [Verzerrungsdrift überwachen](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-model-monitor-bias-drift.html) und [Funktionszuordnungsabweichung überwachen](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-model-monitor-feature-attribution-drift.html).

**Tipp**  
Verwenden Sie Amazon Augmented AI-Workflows zur mesnchlichen Überprüfung, um ML-Vorhersagen mit geringer Zuverlässigkeit oder eine Zufallsstichprobe von Vorhersagen von Menschen überprüfen zu lassen. Weitere Informationen finden Sie unter [Amazon Augmented AI for Human Review](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html) verwenden.

# Bereinigen der SageMaker Amazon-Notebook-Instance-Ressourcen
<a name="ex1-cleanup"></a>

Um unnötige Gebühren zu vermeiden, verwenden Sie den, AWS-Managementkonsole um die Endpunkte und Ressourcen zu löschen, die Sie während der Ausführung der Übungen erstellt haben. 

**Anmerkung**  
Trainingsaufträge und -protokolle können nicht gelöscht werden und werden auf unbestimmte Zeit aufbewahrt.

**Anmerkung**  
Wenn Sie vorhaben, weitere Übungen in diesem Handbuch durchzuführen, können Sie einige dieser Ressourcen behalten, wie beispielsweise die Notebook-Instance, den S3-Bucket und die IAM-Rolle.

 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)und löschen Sie die folgenden Ressourcen:
   + Der Endpunkt. Beim Löschen des Endpunkts werden auch die ML-Compute-Instance oder unterstützenden Instances gelöscht.

     1. Wählen Sie unter **Inferenz** die Option **Endpunkte** aus.

     1. Wählen Sie den Endpunkt aus, den Sie im Beispiel erstellt haben, und wählen Sie dann **Aktionen** und dann **Löschen** aus.
   + Die Endpunktkonfiguration.

     1. Wählen Sie unter **Inferenz** die Option **Endpunktkonfigurationen** aus.

     1. Wählen Sie die Endpunktkonfiguration aus, die Sie im Beispiel erstellt haben, und wählen Sie dann **Aktionen** und dann **Löschen** aus.
   + Das Modell.

     1. Wählen Sie unter **Inferenz** die Option **Modelle** aus.

     1. Wählen Sie das Modell aus, das Sie im Beispiel erstellt haben, und wählen Sie dann **Aktionen** und dann **Löschen** aus.
   + Die Notebook-Instance. Beenden Sie die Notebook-Instance, bevor Sie sie löschen.

     1. Wählen Sie unter **Notebook** die Option **Notebook-Instances**aus.

     1. Wählen Sie die Notebook-Instance aus, die Sie im Beispiel erstellt haben, und wählen Sie dann **Aktionen** und dann **Stoppen** aus. Es dauert mehrere Minuten, bis das Notebook zum Stillstand kommt. Wenn der **Status** in **Gestoppt** geändert wird, fahren Sie mit dem nächsten Schritt fort.

     1. Wählen Sie **Aktionen** und anschließend **Löschen** aus.

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)und löschen Sie dann den Bucket, den Sie zum Speichern von Modellartefakten und dem Trainingsdatensatz erstellt haben. 

1. Öffnen Sie die CloudWatch Amazon-Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)und löschen Sie dann alle Protokollgruppen, deren Namen mit beginnen`/aws/sagemaker/`.

# AL2023 Notebook-Instances
<a name="nbi-al2023"></a>

Amazon SageMaker Notebook-Instances unterstützen derzeit AL2023 Betriebssysteme. AL2023ist jetzt das neueste und empfohlene Betriebssystem für Notebook-Instances. Sie können das Betriebssystem auswählen, auf dem Ihre Notebook-Instance basiert, wenn Sie die Notebook-Instance erstellen.

SageMaker AI unterstützt Notebook-Instanzen, die auf den folgenden AL2023 Betriebssystemen basieren.
+ **notebook-al2023-v1**: Diese Notebook-Instanzen unterstützen Version 4. JupyterLab Informationen zu Versionen finden Sie unter. JupyterLab [JupyterLab Versionierung](nbi-jl.md)

**Topics**
+ [Unterstützte Instance-Typen](#nbi-al2023-instances)
+ [Verfügbare Kernel](#nbi-al2023-kernel)

## Unterstützte Instance-Typen
<a name="nbi-al2023-instances"></a>

AL2023 unterstützt Instance-Typen, die unter **Notebook-Instances** in [SageMaker AI Pricing](https://aws.amazon.com/sagemaker/pricing/) aufgeführt sind, mit der Ausnahme `ml.p2``ml.p3`, dass `ml.g3` Instances AL2023 nicht unterstützt werden.

## Verfügbare Kernel
<a name="nbi-al2023-kernel"></a>

Die folgende Tabelle enthält Informationen über die verfügbaren Kernel für SageMaker Notebook-Instances. Alle diese Images werden auf Notebook-Instanzen unterstützt, die auf dem `notebook-al2023-v1` Betriebssystem basieren.


| Kernelname | Description | 
| --- | --- | 
| R | Ein Kernel, der zur Datenanalyse und -visualisierung mit R-Code aus einem Jupyter Notebook verwendet wird. | 
| Sparkmagic () PySpark | Ein Kernel, der für Datenwissenschaft mit Remote-Spark-Clustern von Jupyter Notebooks in der Programmiersprache Python verwendet wird. Dieser Kernel wird mit Python 3.10 geliefert. | 
| Sparkmagic (Spark) | Ein Kernel, der für Datenwissenschaft mit entfernten Spark-Clustern von Jupyter Notebooks unter Verwendung der Programmiersprache Scala verwendet wird. Dieser Kernel wird mit Python 3.10 geliefert. | 
| Sparkmagic (SparkR) | Ein Kernel, der für Datenwissenschaft mit Remote-Spark-Clustern von Jupyter Notebooks aus verwendet wird, die die Programmiersprache R verwenden. Dieser Kernel wird mit Python 3.10 geliefert. | 
| conda\$1python3 | Eine Conda-Umgebung, auf der beliebte Pakete für Datenwissenschaft und Machine Learning vorinstalliert sind. Dieser Kernel wird mit Python 3.10 geliefert. | 
| conda\$1pytorch | Eine Conda-Umgebung, auf der PyTorch Version 2.7.0 sowie beliebte Pakete für Datenwissenschaft und maschinelles Lernen vorinstalliert sind. Dieser Kernel wird mit Python 3.10 geliefert. | 

# Amazon Linux 2-Notebook-Instances
<a name="nbi-al2"></a>

**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](nbi-jl.md#nbi-jl-version-maintenance).

**Anmerkung**  
AL2023 ist das neueste und empfohlene Betriebssystem, das für Notebook-Instanzen verfügbar ist. Weitere Informationen hierzu finden Sie unter [AL2023 Notebook-Instances](nbi-al2023.md).

Amazon SageMaker Notebook-Instances unterstützen derzeit Amazon Linux 2 (AL2) -Betriebssysteme. Sie können das Betriebssystem auswählen, auf dem Ihre Notebook-Instance basiert, wenn Sie die Notebook-Instance erstellen.

SageMaker AI unterstützt Notebook-Instances, die auf den folgenden Amazon Linux 2-Betriebssystemen basieren.
+ **notebook-al2-v1** (veraltet): Diese Notebook-Instances unterstützten Version 1. JupyterLab Ab dem 30. Juni 2025 können Sie keine neuen Instances mehr mit dieser Plattformkennung erstellen. Informationen zu Versionen finden Sie unter. JupyterLab [JupyterLab Versionierung](nbi-jl.md)
+ **notebook-al2-v2** (veraltet): Diese Notebook-Instanzen unterstützten Version 3. JupyterLab Ab dem 30. Juni 2025 können Sie keine neuen Instances mehr mit dieser Plattformkennung erstellen. Informationen zu Versionen finden Sie unter. JupyterLab [JupyterLab Versionierung](nbi-jl.md)
+ **notebook-al2-v3**: Diese Notebook-Instances unterstützen Version 4. JupyterLab Informationen JupyterLab zu Versionen finden Sie unter. [JupyterLab Versionierung](nbi-jl.md)

Notebook-Instances, die vor dem 18.08.2021 erstellt wurden, laufen automatisch auf Amazon Linux ()AL1. Notebook-Instances, die auf basieren, sind am 12.01.2022 AL1 in eine Wartungsphase eingetreten und stehen ab dem 01.02.2023 nicht mehr für die Erstellung neuer Notebook-Instances zur Verfügung. Als Ersatz haben Sie jetzt die Möglichkeit AL1, SageMaker Amazon-Notebook-Instances mit zu erstellen AL2. Weitere Informationen finden Sie unter [AL1 Plan für die Wartungsphase](#nbi-al2-deprecation).

**Topics**
+ [Unterstützte Instance-Typen](#nbi-al2-instances)
+ [Verfügbare Kernel](#nbi-al2-kernel)
+ [AL1 Plan für die Wartungsphase](#nbi-al2-deprecation)

## Unterstützte Instance-Typen
<a name="nbi-al2-instances"></a>

Amazon Linux 2 unterstützt Instance-Typen, die in den [ SageMaker Amazon-Preisen](https://aws.amazon.com/sagemaker/pricing/) unter **Notebook-Instances** aufgeführt sind, mit der Ausnahme, dass Amazon Linux 2 keine `ml.p2` Instances unterstützt.

## Verfügbare Kernel
<a name="nbi-al2-kernel"></a>

Die folgende Tabelle enthält Informationen über die verfügbaren Kernel für SageMaker Notebook-Instances. Alle diese Images werden auf Notebook-Instances unterstützt, die auf den Betriebssystemen `notebook-al2-v1`, `notebook-al2-v2` und `notebook-al2-v3` basieren.

SageMaker Kernel für Notebook-Instanzen


| Kernelname | Description | 
| --- | --- | 
| R | Ein Kernel, der zur Datenanalyse und -visualisierung mit R-Code aus einem Jupyter Notebook verwendet wird. | 
| Sparkmagic () PySpark | Ein Kernel, der für Datenwissenschaft mit Remote-Spark-Clustern von Jupyter Notebooks in der Programmiersprache Python verwendet wird. Dieser Kernel wird mit Python 3.10 geliefert. | 
| Sparkmagic (Spark) | Ein Kernel, der für Datenwissenschaft mit entfernten Spark-Clustern von Jupyter Notebooks unter Verwendung der Programmiersprache Scala verwendet wird. Dieser Kernel wird mit Python 3.10 geliefert. | 
| Sparkmagic (SparkR) | Ein Kernel, der für Datenwissenschaft mit Remote-Spark-Clustern von Jupyter Notebooks aus verwendet wird, die die Programmiersprache R verwenden. Dieser Kernel wird mit Python 3.10 geliefert. | 
| conda\$1python3 | Eine Conda-Umgebung, auf der beliebte Pakete für Datenwissenschaft und Machine Learning vorinstalliert sind. Dieser Kernel wird mit Python 3.10 geliefert. | 
| conda\$1pytorch\$1p310 |  Eine Conda-Umgebung, auf der PyTorch Version 2.2.0 sowie beliebte Pakete für Datenwissenschaft und maschinelles Lernen vorinstalliert sind. Dieser Kernel wird mit Python 3.10 geliefert. | 
| conda\$1tensorflow2\$1p310 | Eine Conda-Umgebung, auf der TensorFlow Version 2.16.0 sowie beliebte Pakete für Datenwissenschaft und maschinelles Lernen vorinstalliert sind. Dieser Kernel wird mit Python 3.10 geliefert. | 

## AL1 Plan für die Wartungsphase
<a name="nbi-al2-deprecation"></a>

Die folgende Tabelle enthält einen Zeitplan für den AL1 Beginn der erweiterten Wartungsphase. Die AL1 Wartungsphase fällt auch mit der Einstellung von Python 2 und Chainer zusammen. Notebooks, die auf basieren, haben AL2 keine verwalteten Python 2- und Chainer-Kernel.


|  Date  |  Description  | 
| --- | --- | 
|  18.08.2021  |  Notebook-Instanzen, die auf basieren, AL2 werden gestartet. Neu gestartete Notebook-Instances sind immer noch standardmäßig auf AL1. AL1 wird mit Sicherheitspatches und Updates, aber ohne neue Funktionen unterstützt. Sie können zwischen den beiden Betriebssystemen wählen, wenn Sie eine neue Notebook-Instance starten.  | 
|  31.10.2022  |  Die Standard-Plattform-ID für SageMaker Notebook-Instances ändert sich von Amazon Linux (al1-v1) zu Amazon Linux 2 (al2-v2). Sie können zwischen den beiden Betriebssystemen wählen, wenn Sie eine neue Notebook-Instance starten.  | 
|  12.01.2022  |  AL1 wird mit unkritischen Sicherheitspatches und -updates nicht mehr unterstützt. AL1 erhält weiterhin Fixes für [kritische](https://nvd.nist.gov/vuln-metrics/cvss#) Sicherheitsprobleme. Sie können weiterhin Instances auf starten AL1, übernehmen aber die Risiken, die mit der Verwendung eines nicht unterstützten Betriebssystems verbunden sind.  | 
|  01.02.2023  |  AL1 ist keine verfügbare Option mehr für die Erstellung neuer Notebook-Instanzen. Nach diesem Datum können Kunden Notebook-Instanzen mit den AL2 Plattformkennungen erstellen. Bestehende Notebooks mit einem `INSERVICE` Status sollten auf die neueste Plattform migriert werden, da die kontinuierliche Verfügbarkeit von AL1 Notebook-Instanzen nicht garantiert werden kann.  | 
|  31.03.2024  |  AL1 erreicht am 31. März 2024 das Ende der Lebensdauer auf Notebook-Instances. Nach diesem Datum erhalten Sie keine Sicherheitsupdates und Bugfixes mehr und sind auch nicht mehr für die Erstellung neuer Notebook-Instanzen verfügbar. AL1  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/nbi-al2.html)  | 

### Migration zu Amazon Linux 2
<a name="nbi-al2-upgrade"></a>

Ihre bestehende AL1 Notebook-Instance wird nicht automatisch auf Amazon Linux 2 migriert. Um Ihre AL1 Notebook-Instance auf Amazon Linux 2 zu aktualisieren, müssen Sie eine neue Notebook-Instance erstellen, Ihren Code und Ihre Umgebung replizieren und Ihre alte Notebook-Instance löschen. Weitere Informationen finden Sie auf der [Amazon Linux 2-Migrationsseite](https://aws.amazon.com/blogs/machine-learning/migrate-your-work-to-amazon-sagemaker-notebook-instance-with-amazon-linux-2/ ).

# JupyterLab Versionierung
<a name="nbi-jl"></a>

**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](#nbi-jl-version-maintenance).

Die Amazon SageMaker Notebook-Instance-Schnittstelle basiert auf JupyterLab einer webbasierten interaktiven Entwicklungsumgebung für Notebooks, Code und Daten. Notebooks unterstützen jetzt entweder die Verwendung von JupyterLab 1, JupyterLab 3 oder JupyterLab 4. Eine einzelne Notebook-Instanz kann JupyterLab (höchstens) eine einzelne Instanz von ausführen. Sie können mehrere Notebook-Instanzen mit unterschiedlichen JupyterLab Versionen haben. 

Sie können Ihr Notebook so konfigurieren, dass es Ihre bevorzugte JupyterLab Version ausführt, indem Sie die entsprechende Plattform-ID auswählen. Verwenden Sie beim Erstellen Ihrer Notebook-Instanz entweder die AWS CLI oder die SageMaker AI-Konsole. Weitere Informationen zu Plattformkennungen finden Sie unter [AL2023 Notebook-Instances](nbi-al2023.md) und[Amazon Linux 2-Notebook-Instances](nbi-al2.md). Wenn Sie eine Plattform-ID nicht explizit konfigurieren, wird in Ihrer Notebook-Instance standardmäßig 1 ausgeführt JupyterLab . 

**Topics**
+ [JupyterLab Wartung der Version](#nbi-jl-version-maintenance)
+ [JupyterLab 4](#nbi-jl-4)
+ [JupyterLab 3](#nbi-jl-3)
+ [Erstellen Sie JupyterLab ein Notizbuch mit Ihrer Version](nbi-jl-create.md)
+ [Sehen Sie sich die JupyterLab Version eines Notebooks von der Konsole aus an](nbi-jl-view.md)

## JupyterLab Wartung der Version
<a name="nbi-jl-version-maintenance"></a>

JupyterLab Die Plattformen 1 und JupyterLab 3 haben am 30. Juni 2025 das Ende der Standardunterstützung erreicht. Ab diesem Datum:
+ Sie können keine neuen Notebook-Instances der Typen JupyterLab 1 und JupyterLab 3 mehr erstellen oder gestoppte Notebook-Instanzen neu starten.
+ Bestehende Notebook-Instances der Typen JupyterLab 1 und JupyterLab 3 funktionieren zwar weiterhin, erhalten aber keine SageMaker KI-Sicherheitsupdates oder kritischen Bugfixes mehr.
+ sind Sie für die Verwaltung der Sicherheit dieser veralteten Instances verantwortlich.
+ Wenn Probleme mit bestehenden JupyterLab 1 oder JupyterLab 3 Notebook-Instanzen auftreten, kann SageMaker KI deren kontinuierliche Verfügbarkeit nicht garantieren. Sie müssen Ihren Workload auf eine Instanz mit JupyterLab 4 Notebooks migrieren.

Migrieren Sie Ihre Arbeit auf JupyterLab 4 Notebook-Instanzen (die Plattform-ID der neuesten Version lautet [notebook-al2023-v1](nbi-al2023.md)), um sicherzustellen, dass Sie über eine sichere und unterstützte Umgebung verfügen. Auf diese Weise können Sie die neuesten Versionen von Jupyter-Notebooks und anderen ML-Bibliotheken nutzen. JupyterLab Anweisungen finden Sie unter [Migrieren Sie Ihre Arbeit auf eine SageMaker KI-Notebook-Instance mit Amazon Linux 2.](https://aws.amazon.com/blogs//machine-learning/migrate-your-work-to-amazon-sagemaker-notebook-instance-with-amazon-linux-2/)

## JupyterLab 4
<a name="nbi-jl-4"></a>

JupyterLab 4-Unterstützung ist nur auf der Amazon Linux 2-Betriebssystemplattform verfügbar. JupyterLab 4 umfasst die folgenden Funktionen, die in JupyterLab 3 nicht verfügbar sind:
+ Optimiertes Rendern für eine schnellere Benutzererfahrung
+ Optionale Einstellungen für schnelleres Wechseln zwischen Registerkarten und verbesserte Leistung bei umfangreichen Notebooks. Weitere Informationen finden Sie im Blogbeitrag [ JupyterLab 4.0 is here](https://blog.jupyter.org/jupyterlab-4-0-is-here-388d05e03442).
+ Verbesserter Texteditor
+ Neuer Erweiterungsmanager, der von pypi installiert wird
+ Verbesserungen an der Benutzeroberfläche vorgenommen, einschließlich Dokumentensuche und Verbesserungen der Barrierefreiheit

Sie können JupyterLab 4 ausführen, indem Sie bei der Erstellung Ihrer Notebook-Instanz [notebook-al2023-v1](nbi-al2023.md) (die neueste und empfohlene Version) oder [notebook-al2-v3](nbi-al2.md) als Plattform-ID angeben.

**Anmerkung**  
Wenn Sie versuchen, von einer anderen JupyterLab Version auf eine JupyterLab 4-Notebook-Instance zu migrieren, können die Änderungen der Paketversion zwischen JupyterLab 3 und JupyterLab 4 alle vorhandenen Lebenszykluskonfigurationen oder -erweiterungen beeinträchtigen. Jupyter/JupyterLab 

**Änderungen der Paketversion**

JupyterLab 4 hat die folgenden Änderungen an der Paketversion von JupyterLab 3:
+ JupyterLab wurde von 3.x auf 4.x aktualisiert.
+ Jupyter7 Notebook wurde von 6.x auf .x aktualisiert.
+ jupyterlab-git wurde auf Version 0.50.0 aktualisiert.

## JupyterLab 3
<a name="nbi-jl-3"></a>

**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](#nbi-jl-version-maintenance).

 JupyterLab 3-Support ist nur auf der Amazon Linux 2-Betriebssystemplattform verfügbar. JupyterLab 3 umfasst die folgenden Funktionen, die in JupyterLab 1 nicht verfügbar sind. Weitere Informationen zu diesen Funktionen finden Sie unter [JupyterLab 3.0 ist veröffentlicht\$1](https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb) . 
+  Visueller Debugger bei Verwendung der folgenden Kernel: 
  +  conda\$1pytorch\$1p38 
  +  conda\$1tensorflow2\$1p38 
  +  conda\$1amazonei\$1pytorch\$1latest\$1p37 
+ Dateibrowserfilter
+ Inhaltsverzeichnis (TOC)
+ Mehrsprachige Unterstützung
+ Einfacher Modus
+ Einzelbenutzermodus
+ Live-Bearbeitung von SVG-Dateien mit aktualisiertem Rendering
+ Benutzeroberfläche für Notebook-Cell-Tags

### Wichtige Änderungen an JupyterLab 3
<a name="nbi-jl-3-changes"></a>

 Informationen zu wichtigen Änderungen bei der Verwendung von JupyterLab 3 finden Sie in den folgenden JupyterLab Änderungsprotokollen: 
+  [v2.0.0](https://github.com/jupyterlab/jupyterlab/releases) 
+  [v3.0.0](https://jupyterlab.readthedocs.io/en/stable/getting_started/changelog.html#for-developers) 

 **Änderungen der Paketversion** 

 JupyterLab 3 hat die folgenden Änderungen an der Paketversion gegenüber JupyterLab 1: 
+  JupyterLab wurde von 1.x auf 3.x aktualisiert.
+  Das Jupyter Notebook wurde von 5.x auf 6.x aktualisiert.
+  jupyterlab-git wurde auf Version 0.37.1 aktualisiert.
+  nbserverproxy 0.x (0.3.2) wurde durch 3.x (3.2.1) ersetzt. jupyter-server-proxy

# Erstellen Sie JupyterLab ein Notizbuch mit Ihrer Version
<a name="nbi-jl-create"></a>

**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](nbi-jl.md#nbi-jl-version-maintenance).

 Sie können die JupyterLab Version auswählen, wenn Sie Ihre Notebook-Instanz von der Konsole aus erstellen. Folgen Sie dabei den Schritten unter[Erstellen Sie eine SageMaker Amazon-Notebook-Instance](howitworks-create-ws.md). 

 Sie können die JupyterLab Version auch auswählen, indem Sie den `platform-identifier` Parameter beim Erstellen Ihrer Notebook-Instanz AWS CLI wie folgt übergeben: 

```
create-notebook-instance --notebook-instance-name <NEW_NOTEBOOK_NAME> \
--instance-type <INSTANCE_TYPE> \
--role-arn <YOUR_ROLE_ARN> \
--platform-identifier notebook-al2-v3
```

# Sehen Sie sich die JupyterLab Version eines Notebooks von der Konsole aus an
<a name="nbi-jl-view"></a>

**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](nbi-jl.md#nbi-jl-version-maintenance).

 Sie können die JupyterLab Version eines Notebooks mithilfe des folgenden Verfahrens anzeigen: 

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Notebook** aus.

1.  Wählen Sie im Dropdown-Menü **Notebook-Instances** aus, um zur Seite mit den **Notebook-Instances** zu navigieren. 

1.  Wählen Sie aus der Liste der Notebook-Instances den Namen Ihrer Notebook-Instance aus. 

1.  Sehen Sie sich auf der Seite mit den **Notebook-Instance-Einstellungen** die **Plattform-ID** an, um die JupyterLab Version des Notebooks zu sehen. 

# Erstellen Sie eine SageMaker Amazon-Notebook-Instance
<a name="howitworks-create-ws"></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 SageMaker Amazon-Notebook-Instance ist eine ML-Compute-Instance, auf der die Jupyter Notebook-Anwendung ausgeführt wird. SageMaker KI verwaltet die Erstellung der Instance und der zugehörigen Ressourcen. Verwenden Sie Jupyter-Notebooks in Ihrer Notebook-Instance, um:
+ Daten vorzubereiten und zu verarbeiten
+ Code zu schreiben, um Modelle zu trainieren
+ Modelle für SageMaker KI-Hosting bereitstellen
+ Testen oder Validieren von Modellen

Um eine Notebook-Instanz zu erstellen, verwenden Sie entweder die SageMaker AI-Konsole oder [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)API.

Der auszuwählende Notebook-Instance-Typ hängt von der von Ihnen beabsichtigten Verwendung Ihrer Notebook-Instance ab. Stellen Sie sicher, dass Ihre Notebook-Instance nicht an Arbeitsspeicher, CPU oder E/A gebunden ist. Um einen Datensatz zur Erkundung oder Vorverarbeitung in den Speicher der Notebook-Instance zu laden, wählen Sie einen Instance-Typ mit ausreichend RAM-Speicher für Ihren Datensatz aus. Dies erfordert eine Instance mit mindestens 16 GB Arbeitsspeicher (.xlarge oder größer). Wenn Sie das Notebook für die rechenintensive Vorverarbeitung verwenden möchten, empfehlen wir Ihnen, eine rechneroptimierte Instance wie c4 oder c5 zu wählen.

Eine bewährte Methode bei der Verwendung eines SageMaker Notebooks besteht darin, die Notebook-Instanz zur Orchestrierung anderer AWS Dienste zu verwenden. Sie können die Notebook-Instance beispielsweise verwenden, um die Verarbeitung großer Datensätze zu verwalten. Rufen Sie dazu AWS Glue für ETL-Services (Extrahieren, Transformieren und Laden) oder Amazon EMR für die Zuordnung und Datenreduzierung mit Hadoop auf. Sie können AWS Dienste als temporäre Berechnungs- oder Speicherformen für Ihre Daten verwenden.

Sie können Ihre Trainings- und Testdaten mit einem Bucket von Amazon Simple Storage Service speichern und abrufen. Anschließend können Sie SageMaker KI verwenden, um Ihr Modell zu trainieren und zu erstellen. Der Instance-Typ Ihres Notebooks hätte dann keine Auswirkungen auf die Geschwindigkeit des Modelltrainings und der Modelltests.

Nach Erhalt der Anfrage geht SageMaker AI wie folgt vor:
+ **Erstellt eine Netzwerkschnittstelle** — Wenn Sie die optionale VPC-Konfiguration wählen, erstellt SageMaker KI die Netzwerkschnittstelle in Ihrer VPC. Es verwendet die Subnetz-ID, die Sie in der Anfrage angeben, um zu bestimmen, in welcher Availability Zone das Subnetz erstellt werden soll. SageMaker AI ordnet die Sicherheitsgruppe, die Sie in der Anfrage angeben, dem Subnetz zu. Weitere Informationen finden Sie unter [Verbinden einer Notebook-Instance in einer VPC mit externen Ressourcen](appendix-notebook-and-internet-access.md). 
+ **Startet eine ML-Compute-Instanz** — SageMaker KI startet eine ML-Compute-Instanz in einer SageMaker AI-VPC. SageMaker KI führt die Konfigurationsaufgaben aus, die es ihr ermöglichen, Ihre Notebook-Instanz zu verwalten. Wenn Sie Ihre VPC angegeben haben, ermöglicht SageMaker KI den Verkehr zwischen Ihrer VPC und der Notebook-Instance.
+ **Installiert Anaconda-Pakete und -Bibliotheken für gängige Deep-Learning-Plattformen** — SageMaker KI installiert alle Anaconda-Pakete, die im Installationsprogramm enthalten sind. [Weitere Informationen finden Sie in der Anaconda-Paketliste.](https://docs.anaconda.com/free/anaconda/pkg-docs/) SageMaker AI installiert auch die TensorFlow MXNet Deep-Learning-Bibliotheken und Apache. 
+ **Hängt ein ML-Speichervolume** an — SageMaker AI hängt ein ML-Speichervolume an die ML-Compute-Instance an. Sie können das Volume als Arbeitsbereich verwenden, um das Trainingsdatensatz zu bereinigen oder Überprüfungs-, Test- oder andere Daten vorübergehend zu speichern. Für das Volume können Sie eine beliebige Größe zwischen 5 GB und 16 384 GB verwenden. Größenänderungen sind in Schritten von 1 GB möglich. Der Standardwert ist 5 GB. ML-Speichervolumes sind verschlüsselt, sodass SageMaker KI die Menge an verfügbarem freiem Speicherplatz auf dem Volume nicht ermitteln kann. Daher können Sie beim Aktualisieren einer Notebook-Instance die Volume-Größe nur erhöhen, nicht jedoch verkleinern. Wenn Sie die Größe eines verwendeten ML-Speicher-Volumes verkleinern möchten, erstellen Sie eine neue Notebook-Instance mit der gewünschten Größe.

  Nur Dateien und Daten, die im Ordner `/home/ec2-user/SageMaker` gespeichert sind, bleiben über Notebook-Instance-Sitzungen hinweg erhalten. Dateien und Daten, die außerhalb dieses Verzeichnisses gespeichert sind, werden überschrieben, wenn die Notebook-Instance angehalten und neu gestartet wird. Das `/tmp` Verzeichnis jeder Notebook-Instanz bietet mindestens 10 GB Speicherplatz in einem Instance-Speicher. Beim Instance-Speicher handelt es sich um temporären Speicher auf Blockebene, der nicht persistent ist. Wenn die Instanz gestoppt oder neu gestartet wird, löscht SageMaker AI den Inhalt des Verzeichnisses und alle Betriebssystemanpassungen. Dieser temporäre Speicher ist Teil des Root-Volumes der Notebook-Instance.

  Wenn die Notebook-Instanz nicht aktualisiert wird und unsichere Software ausgeführt wird, aktualisiert SageMaker KI die Instanz möglicherweise regelmäßig im Rahmen der regelmäßigen Wartung. Während dieser Updates werden Daten außerhalb des Ordners nicht dauerhaft `/home/ec2-user/SageMaker` gespeichert. Weitere Informationen zu Wartungs- und Sicherheitspatches finden Sie unter[Wartung](nbi.md#nbi-maintenance).

  Wenn der von der Notebook-Instance verwendete Instance-Typ NVMe unterstützt wird, können Kunden die für diesen NVMe Instance-Typ verfügbaren Instance-Speicher-Volumes verwenden. Bei Instances mit NVMe Store-Volumes werden alle Instance-Speicher-Volumes beim Start automatisch an die Instance angehängt. Weitere Informationen zu Instance-Typen und den zugehörigen NVMe Speicher-Volumes finden Sie in den [Amazon Elastic Compute Cloud-Instance-Typdetails](https://aws.amazon.com/ec2/instance-types/).

  Um das angehängte NVMe Speicher-Volume für Ihre Notebook-Instance verfügbar zu [machen, führen Sie die Schritte unter Instance-Speicher-Volumes auf Ihrer Instance verfügbar](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html#making-instance-stores-available-on-your-instances) machen aus. Führen Sie die Schritte mit Root-Zugriff oder mithilfe eines Skripts für die Lebenszykluskonfiguration aus.
**Anmerkung**  
NVMe Instance-Speicher-Volumes sind kein persistenter Speicher. Dieser Speicher ist nur für die Dauer der Instance verfügbar und muss bei jedem Start einer Instance mit diesem Speicher neu konfiguriert werden.

**So erstellen Sie eine SageMaker KI-Notebook-Instanz:**

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Wählen Sie **Notebook instances (Notebook-Instances)** und **Create notebook instance (Notebook-Instance erstellen)** aus.

1. Geben Sie auf der Seite **Notebook-Instance erstellen** folgende Informationen ein: 

   1. Geben Sie unter **Notebook instance name (Name der Notebook-Instance)** einen Namen für die Notebook-Instance ein.

   1. Wählen Sie als **Notebook-Instance-Typ** eine Instance-Größe, die für Ihren Anwendungsfall geeignet ist. Eine Liste der unterstützten Instance-Typen und Kontingente finden Sie unter [Amazon SageMaker AI Service Quotas](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker).

   1. Wählen Sie unter **Platform Identifier** einen Plattformtyp aus, auf dem die Notebook-Instance erstellt werden soll. Dieser Plattformtyp bestimmt das Betriebssystem und die JupyterLab Version, mit der Ihre Notebook-Instance erstellt wird. Die neueste und empfohlene Version ist `notebook-al2023-v1` für eine Amazon Linux 2023 Notebook-Instance. Stand 30. Juni 2025 werden nur JupyterLab 4 für neue Instances unterstützt. Informationen zu den Typen von Plattformkennungen finden Sie unter [AL2023 Notebook-Instances](nbi-al2023.md) und[Amazon Linux 2-Notebook-Instances](nbi-al2.md). Informationen zu JupyterLab Versionen finden Sie unter[JupyterLab Versionierung](nbi-jl.md).
**Wichtig**  
JupyterLab 1 und JupyterLab 3 werden ab dem 30. Juni 2025 nicht mehr unterstützt. Mit diesen Versionen können Sie keine neuen Notebook-Instances mehr erstellen oder angehaltene Instances neu starten. Bestehende In-Service-Instances funktionieren möglicherweise weiterhin, erhalten aber keine Sicherheitsupdates oder Bugfixes. Migrieren Sie auf JupyterLab 4 Notebook-Instanzen, um den Support fortzusetzen. Weitere Informationen finden Sie unter [JupyterLab Wartung der Version](nbi-jl.md#nbi-jl-version-maintenance).

   1. (Optional) Über **Additional configuration (Zusätzliche Konfiguration)** können fortgeschrittene Benutzer ein Shell-Skript erstellen, das ausgeführt werden kann, wenn Sie die Instance erstellen oder starten. Dieses Skript, das als Lifecycle-Konfigurationsskript bezeichnet wird, kann verwendet werden, um die Umgebung für das Notebook festzulegen oder andere Funktionen auszuführen. Weitere Informationen finden Sie unter [Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC-Skripts](notebook-lifecycle-config.md).

   1. (Optional) Über **Additional configuration (Zusätzliche Konfiguration)** können Sie auch die Größe (in GB) des ML-Speichervolumes angeben, das der Notebook-Instance angefügt ist. Sie können eine Größe zwischen 5 GB und 16.384 GB in 1-GB-Schritten wählen. Sie können dieses Volume verwenden, um das Trainingsdatensatz zu bereinigen oder Überprüfungsdaten oder andere Daten temporär zu speichern.

   1. (Optional) Wählen Sie für **IMDS-Mindestversion** eine Version aus der Dropdown-Liste aus. Wenn dieser Wert auf v1 gesetzt ist, können beide Versionen mit der Notebook-Instance verwendet werden. Wenn v2 ausgewählt ist, IMDSv2 kann es nur mit der Notebook-Instanz verwendet werden. Informationen zu finden IMDSv2 Sie unter [Verwenden IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html).
**Anmerkung**  
Ab dem 31. Oktober 2022 ändert sich die standardmäßige IMDS-Mindestversion für SageMaker Notebook-Instances von IMDSv1 auf IMDSv2.   
Ab dem 1. Februar 2023 IMDSv1 ist sie nicht mehr für die Erstellung neuer Notebook-Instanzen verfügbar. Nach diesem Datum können Sie Notebook-Instances mit einer Mindestversion von IMDS 2 erstellen.

   1. Wählen Sie für die **IAM-Rolle** entweder eine bestehende IAM-Rolle in Ihrem Konto mit den erforderlichen Berechtigungen für den Zugriff auf SageMaker KI-Ressourcen aus oder **erstellen Sie eine neue** Rolle. Wenn Sie **Neue Rolle erstellen wählen, erstellt SageMaker AI eine IAM-Rolle** mit dem Namen. `AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS` Die AWS verwaltete Richtlinie `AmazonSageMakerFullAccess` ist der Rolle angehängt. Die Rolle bietet Berechtigungen, die es der Notebook-Instance ermöglichen, SageMaker KI und Amazon S3 aufzurufen.

   1. Um allen Benutzern der Notebook-Instance Root-Zugriff zu gewähren, wählen Sie für **Root-Zugriff** die Option **Aktivieren** aus. Wählen Sie zum Entfernen des Root-Zugriffs für Benutzer **Deaktivieren** aus. Wenn Sie den Root-Zugriff aktivieren, erhalten alle Benutzer der Notebook-Instance Administratorrechte und können alle Dateien öffnen und bearbeiten. 

   1. (Optional) Über die Option **Encryption key (Verschlüsselungsschlüssel)** können Sie Daten auf dem ML-Speichervolume, das der Notebook-Instance angefügt ist, mithilfe eines AWS Key Management Service -(AWS KMS-)Schlüssels verschlüsseln. Wenn Sie vertrauliche Informationen auf dem ML-Speichervolume speichern möchten, sollten Sie die Informationen verschlüsseln. 

   1. (Optional) Über die Option **Network (Netzwerk)** können Sie Ihre Notebook-Instance in eine Virtual Private Cloud (VPC) stellen. Eine VPC bietet zusätzliche Sicherheit und schränkt den Zugriff auf Ressourcen in der VPC von Quellen außerhalb der VPC ein. Weitere Informationen finden Sie im VPCs [Amazon VPC-Benutzerhandbuch](https://docs.aws.amazon.com/vpc/latest/userguide/).

      **So fügen Sie Ihre Notebook-Instance zu einer VPC hinzu:**

      1. Wählen Sie die **VPC** und eine **SubnetId**.

      1. Wählen Sie unter **Security Group (Sicherheitsgruppe)** die Standardsicherheitsgruppe der VPC aus. 

      1. Wenn Ihre Notebook-Instance über einen Internetzugang verfügen muss, aktivieren Sie den direkten Internetzugang. Wählen Sie für **Direct internet access (Direkte Internetverbindung)** die Option **Enable (Aktivieren)** aus. Es kann sein, dass Ihre Notebook-Instance mit Internetzugang weniger sicher ist. Weitere Informationen finden Sie unter [Verbinden einer Notebook-Instance in einer VPC mit externen Ressourcen](appendix-notebook-and-internet-access.md). 

   1. (Optional) Um Git-Repositorys mit der Notebook-Instance zu verknüpfen, wählen Sie ein Standard-Repository und bis zu 3 zusätzliche Repositorys. Weitere Informationen finden Sie unter [Git-Repositorys mit SageMaker AI Notebook-Instanzen](nbi-git-repo.md).

   1. Wählen Sie **Create notebook instance (Notebook-Instance erstellen)** aus. 

      In wenigen Minuten startet Amazon SageMaker AI eine ML-Compute-Instance — in diesem Fall eine Notebook-Instance — und fügt ihr ein ML-Speicher-Volume hinzu. Die Notebook-Instance verfügt über einen vorkonfigurierten Jupyter-Notebook-Server und mehrere Anaconda-Bibliotheken. Weitere Informationen finden Sie in der [  `CreateNotebookInstance`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)-API. 

1. Wenn der Status der Notebook-Instance in der Konsole `InService` lautet, ist die Notebook-Instance einsatzbereit. Wählen Sie **Open Jupyter (Jupyter öffnen)** neben dem Notebook-Namen aus, um das klassische Jupyter-Dashboard zu öffnen.
**Anmerkung**  
Um die Sicherheit Ihrer Amazon SageMaker Notebook-Instance zu erhöhen, sind alle regionalen `notebook.region.sagemaker.aws` Domains in der Internet [Public Suffix List (PSL](https://publicsuffix.org/)) registriert. Aus Sicherheitsgründen empfehlen wir Ihnen, Cookies mit einem `__Host-` Präfix zu verwenden, um sensible Cookies für die Domänen Ihrer SageMaker Notebook-Instances zu setzen. Diese Vorgehensweise hilft Ihnen dabei, Ihre Domain vor CSRF (Cross-Site Request Forgery Attempts, Anforderungsfälschung zwischen Websites)-Versuchen zu schützen. Weitere Informationen finden Sie auf der Seite [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) auf der Website mit der Entwicklerdokumentation unter [mozilla.org](https://www.mozilla.org/en-GB/?v=1).

    Sie können **Öffnen** wählen JupyterLab, um das JupyterLab Dashboard zu öffnen. Das Dashboard bietet Zugriff auf Ihre Notebook-Instance.

   Weitere Informationen zu Jupyter Notebooks finden Sie bei [The Jupyter notebook](https://jupyter-notebook.readthedocs.io/en/stable/).

# Zugreifen auf Notebook-Instances
<a name="howitworks-access-ws"></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.

Um auf Ihre Amazon SageMaker Notebook-Instances zuzugreifen, wählen Sie eine der folgenden Optionen: 
+ Verwendung der Konsole.

  Wählen Sie **Notebook instances (Notebook-Instances)** aus. In der Konsole wird eine Liste der Notebook-Instances für Ihr Konto angezeigt. Zum Öffnen einer Notebook-Instance mit einer Standard-Jupyter-Schnittstelle wählen Sie **Open Jupyter (Jupyter öffnen)** für diese Instance aus. Um eine Notebook-Instance mit einer JupyterLab Schnittstelle zu öffnen, wählen Sie **Öffnen JupyterLab** für diese Instance.  
![\[Beispiel für einen Abschnitt mit Notebook-Instances in der Konsole.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/ws-notebook-10.png)

  Die Konsole verwendet Ihre Anmeldedaten, um eine [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html)API-Anfrage an SageMaker AI. SageMaker AI gibt die URL für Ihre Notebook-Instanz zurück, und die Konsole öffnet die URL in einem anderen Browser-Tab und zeigt das Jupyter-Notebook-Dashboard an. 
**Anmerkung**  
Die URL, die Sie von einem Aufruf an [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) erhalten, ist nur 5 Minuten gültig. Wenn Sie versuchen, die URL zu verwenden, nachdem das 5-Minuten-Limit abgelaufen ist, werden Sie zur Anmeldeseite weitergeleitet. AWS-Managementkonsole 
+ Sie können auch die API verwenden.

  Mit der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) API können Sie die URL für die Notebook-Instance abrufen. Mit der von der API zurückgegebenen URL können Sie dann die Notebook-Instance öffnen.

Verwenden Sie das Jupyter-Notebook-Dashboard zum Erstellen und Verwalten von Notebooks und zum Schreiben von Code. Weitere Informationen zu Jupyter Notebooks finden Sie unter [http://jupyter.org/documentation.html](http://jupyter.org/documentation.html).

# Aktualisiert eine Notebook-Instance
<a name="nbi-update"></a>

Nachdem Sie eine Notebook-Instanz erstellt haben, können Sie sie mithilfe der SageMaker AI-Konsole und des [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)API-Vorgangs aktualisieren.

Sie können die Tags einer Notebook-Instance aktualisieren, die `InService` ist. Um ein anderes Attribut einer Notebook-Instance zu aktualisieren, muss der Status `Stopped` lauten.

**So aktualisieren Sie eine Notebook-Instanz in der SageMaker AI-Konsole:**

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Wählen Sie **Notebook instances (Notebook-Instances)** aus.

1. Wählen Sie die Notebook-Instance aus, die Sie aktualisieren möchten, indem Sie den **Namen** der Notebook-Instance aus der Liste auswählen.

1. Wenn Ihr Notebook **Status** nicht `Stopped` lautet, klicken Sie auf die Schaltfläche **Stopp**, um die Notebook-Instance zu beenden. 

   Wenn Sie dies tun, ändert sich der Status der Notebook-Instance auf `Stopping`. Warten Sie, bis sich der Status zu `Stopped` ändert, um die folgenden Schritte abzuschließen. 

1. Wählen Sie die Schaltfläche **Bearbeiten**, um die Seite **Notebook-Instance bearbeiten** zu öffnen. Informationen zu den Notebookeigenschaften, die Sie aktualisieren können, finden Sie unter [Erstellen Sie eine SageMaker Amazon-Notebook-Instance](howitworks-create-ws.md).

1. Aktualisieren Sie Ihre Notebook-Instance und klicken Sie unten auf der Seite auf die Schaltfläche **Notebook-Instance aktualisieren**, um zur Seite mit den Notebook-Instances zurückzukehren. Der Status Ihrer Notebook-Instance ändert sich zu **Wird aktualisiert**. 

   Wenn die Aktualisierung abgeschlossen ist, ändert sich der Status zu `Stopped`.

# 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).

# Erstellen eines Skripts für die Lebenszykluskonfiguration
<a name="notebook-lifecycle-config-create"></a>

Das folgende Verfahren zeigt, wie Sie ein Lifecycle-Konfigurationsskript zur Verwendung mit einer SageMaker Amazon-Notebook-Instance erstellen. Weitere Informationen zum Erstellen einer Notebook-Instance finden Sie unter [Erstellen Sie eine SageMaker Amazon-Notebook-Instance](howitworks-create-ws.md).

**So erstellen Sie eine Lebenszykluskonfiguration**

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Wählen Sie im linken Navigationsbereich die Option **Admin-Konfigurationen** aus.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Lifecycle-Konfigurationen** aus. 

1. Wählen Sie auf der Seite **Lifecycle-Konfigurationen** die Registerkarte **Notebook-Instance** aus.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

1. Geben Sie unter **Name** einen Namen mit alphanumerischen Zeichen und „-“ ein, der keine Leerzeichen enthält. Der Name darf höchstens 63 Zeichen lang sein.

1. (Optional) Klicken Sie zum Generieren eines Skripts, das beim Erstellen und bei jedem Start des Notebooks ausgeführt wird, auf **Start notebook (Notebook starten)**.

1. Geben Sie im Editor **Start notebook (Notebook starten)** das Skript ein.

1. (Optional) Um beim Erstellen des Notebooks ein Skript, das nur einmal ausgeführt wird, anzulegen, wählen Sie die Option **Create notebook (Notebook erstellen)** aus.

1. Geben Sie im Editor **Create notebook (Notebook erstellen)** das Skript "configure networking" ein.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

## 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.

# Installation einer externen Bibliothek und eines Kernels
<a name="nbi-add-external"></a>

**Wichtig**  
Derzeit sind alle Pakete in Notebook-Instance-Umgebungen für die Verwendung mit Amazon SageMaker AI lizenziert und erfordern keine zusätzlichen kommerziellen Lizenzen. Dies könnte sich jedoch in Zukunft ändern und wir empfehlen, die Lizenzbedingungen regelmäßig auf Aktualisierungen zu überprüfen.

Bei Amazon SageMaker Notebook-Instances sind bereits mehrere Umgebungen installiert. Diese Umgebungen enthalten Jupyter-Kernel und Python-Pakete, darunter: scikit, Pandas,, und. NumPy TensorFlow MXNet Diese Umgebungen und alle Dateien im Ordner `sample-notebooks` werden aktualisiert, wenn Sie eine Notebook-Instance starten und beenden. Sie können auch Ihre eigenen Umgebungen mit Paketen und Kernel Ihrer Wahl installieren.

Die verschiedenen Jupyter-Kernel in SageMaker Amazon-Notebook-Instances sind separate Conda-Umgebungen. Weitere Informationen zu Conda-Umgebungen finden Sie unter [Managing environments (Verwalten von Umgebungen)](https://conda.io/docs/user-guide/tasks/manage-environments.html) in der *Conda*-Dokumentation.

Installieren Sie benutzerdefinierte Umgebungen und Kernel auf dem Amazon-EBS-Volume der Notebook-Instance. Dadurch wird sichergestellt, dass sie bestehen bleiben, wenn Sie die Notebook-Instance beenden und neu starten, und dass alle externen Bibliotheken, die Sie installieren, nicht von KI aktualisiert werden. SageMaker Verwenden Sie dazu eine Lebenszykluskonfiguration, die sowohl ein Skript umfasst, das beim Erstellen der Notebook-Instance ausgeführt wird (`on-create)` als auch ein Skript, das bei jedem Neustart der Notebook-Instance ausgeführt wird (`on-start`). Weitere Informationen zu Lebenszykluskonfigurationen für Notebook-Instances finden Sie unter [Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC-Skripts](notebook-lifecycle-config.md). Unter [SageMaker AI Notebook Instance Lifecycle Config Samples gibt es ein GitHub Repository mit Beispielskripten für die Lebenszykluskonfiguration](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples).

Die Beispiele unter [https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.sh](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.sh) und [https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-start.sh](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-start.sh) zeigen die bewährten Methoden für die Installation von Umgebungen und Kerneln auf einer Notebook-Instanz. Das `on-create` Skript installiert die `ipykernel` Bibliothek, um benutzerdefinierte Umgebungen als Jupyter-Kernel zu erstellen, verwendet `pip install` und `conda install` installiert dann Bibliotheken. Sie können das Skript anpassen, um benutzerdefinierte Umgebungen zu erstellen und die gewünschten Bibliotheken zu installieren. SageMaker AI aktualisiert diese Bibliotheken nicht, wenn Sie die Notebook-Instanz beenden und neu starten, sodass Sie sicherstellen können, dass Ihre benutzerdefinierte Umgebung bestimmte Versionen von Bibliotheken enthält, die Sie möchten. Das `on-start` Skript installiert alle benutzerdefinierten Umgebungen, die Sie als Jupyter-Kernel erstellen, sodass sie in der Dropdown-Liste im Menü **Neu** von Jupyter angezeigt werden.

## Tools zur Installation von Paketen
<a name="nbi-add-external-tools"></a>

SageMaker Notebooks unterstützen die folgenden Tools zur Paketinstallation:
+ Conda installieren
+ Installieren von pip

Sie können Pakete mit den folgenden Methoden installieren:
+ Skripte für die Lebenszykluskonfiguration.

  Beispielskripte finden Sie unter [SageMaker AI Notebook Instance Lifecycle Config Samples](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples). Weitere Informationen zur Lebenszykluskonfiguration finden Sie unter [Anpassen einer Notebook-Instance mithilfe eines Lifecycle-Konfigurationsskripts](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html).
+ Notebooks – Die folgenden Befehle sind verfügbar.
  + `%conda install`
  + `%pip install`
+ Das Jupyter-Terminal – Sie können Pakete direkt mit pip und conda installieren.

Von einem Notebook aus können Sie die Systembefehlssyntax verwenden (Zeilen, die mit\$1 beginnen) um Pakete zu installieren, zum Beispiel `!pip install` und`!conda install`. In jüngerer Zeit wurden neue Befehle zu IPython: `%pip` und hinzugefügt`%conda`. Diese Befehle sind die empfohlene Methode zur Installation von Paketen von einem Notebook aus, da sie die aktive Umgebung oder den verwendeten Interpreter korrekt berücksichtigen. Weitere Informationen finden Sie unter [Hinzufügen der magischen Funktionen %pip und %conda](https://github.com/ipython/ipython/pull/11524).

### Conda
<a name="nbi-add-external-tools-conda"></a>

Conda ist ein Open-Source-Paketverwaltungs- und Umgebungsmanagementsystem, mit dem Pakete und ihre Abhängigkeiten installiert werden können. SageMaker AI unterstützt die Verwendung von Conda mit einem der beiden Hauptkanäle, dem Standardkanal und dem Conda-Forge-Kanal. Weitere Informationen finden Sie unter [Konfigurieren Conda-Kanals](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html). Der Conda-Forge-Kanal ist ein Community-Kanal, in dem Mitwirkende Pakete hochladen können.

**Anmerkung**  
Aufgrund der Art und Weise, wie Conda das Abhängigkeitsdiagramm auflöst, kann die Installation von Paketen von Conda-Forge erheblich länger dauern (im schlimmsten Fall mehr als 10 Minuten).

Das Deep Learning AMI wird mit vielen Conda-Umgebungen und vielen vorinstallierten Paketen geliefert. Aufgrund der Anzahl der vorinstallierten Pakete ist es schwierig, eine Reihe von Paketen zu finden, die garantiert kompatibel sind. Möglicherweise wird die Warnung „Die Umgebung ist inkonsistent, bitte überprüfen Sie den Paketplan sorgfältig“ angezeigt. Trotz dieser Warnung stellt SageMaker KI sicher, dass alle von der SageMaker KI bereitgestellten Umgebungen korrekt sind. SageMaker KI kann nicht garantieren, dass alle vom Benutzer installierten Pakete korrekt funktionieren.

**Anmerkung**  
Benutzer von SageMaker KI AWS Deep Learning AMIs und Amazon EMR können bis zum 1. Februar 2024 auf das kommerzielle Anaconda-Repository zugreifen, ohne eine kommerzielle Lizenz erwerben zu müssen, wenn sie Anaconda in diesen Diensten verwenden. Für jede Nutzung des kommerziellen Anaconda-Repositorys nach dem 1. Februar 2024 sind die Kunden dafür verantwortlich, ihre eigenen Anaconda-Lizenzanforderungen zu ermitteln.

Conda hat zwei Methoden zur Aktivierung von Umgebungen: Conda. activate/deactivate, and source activate/deactivate Weitere Informationen finden Sie unter [Sollte ich „Conda Activate“ oder „Source Activate“ unter Linux verwenden](https://stackoverflow.com/questions/49600611/python-anaconda-should-i-use-conda-activate-or-source-activate-in-linux).

SageMaker KI unterstützt das Verschieben von Conda-Umgebungen auf das Amazon EBS-Volume, das beibehalten wird, wenn die Instance gestoppt wird. Die Umgebungen werden nicht beibehalten, wenn die Umgebungen auf dem Root-Volume installiert werden, was das Standardverhalten ist. Ein Beispiel für ein Lifecycle-Skript finden Sie unter. [persistent-conda-ebs](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/tree/master/scripts/persistent-conda-ebs)

**Unterstützte Conda-Operationen (siehe Hinweis am Ende dieses Themas)**
+ Conda-Installation eines Pakets in einer einzigen Umgebung
+ Conda installiert ein Paket in allen Umgebungen
+ Conda-Installation eines R-Pakets in der R-Umgebung
+ Installation eines Pakets aus dem Conda-Hauptrepositorium
+ Ein Paket von Conda-Forge installieren
+ Ändern Sie den Conda-Installationsort, um EBS zu verwenden
+ Unterstützt sowohl Conda Activate als auch Source Activate

### Pip
<a name="nbi-add-external-tools-pip"></a>

Pip ist das De-facto-Tool für die Installation und Verwaltung von Python-Paketen. Pip sucht standardmäßig nach Paketen im Python-Paketindex (PyPI). Im Gegensatz zu Conda bietet pip keine integrierte Umgebungsunterstützung und ist nicht so gründlich wie Conda, wenn es um Pakete mit native/system Bibliotheksabhängigkeiten geht. Pip kann verwendet werden, um Pakete in Conda-Umgebungen zu installieren.

Sie können alternative Paket-Repositorys mit pip anstelle von PyPI verwenden. Ein Beispiel für ein Lifecycle-Skript finden Sie unter [on-start.sh](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/add-pypi-repository/on-start.sh).

**Unterstützte Pip-Operationen (siehe Hinweis am Ende dieses Themas)**
+ Verwendung von Pip zur Installation eines Pakets ohne aktive Conda-Umgebung (Pakete systemweit installieren)
+ Verwenden von Pip, um ein Paket in einer Conda-Umgebung zu installieren
+ Verwenden Sie Pip, um ein Paket in allen Conda-Umgebungen zu installieren
+ Ändern des Pip-Installationsverzeichnisses zur Verwendung von EBS
+ Verwenden eines alternativen Repositorys zur Installation von Paketen mit Pip

### Nicht unterstützt
<a name="nbi-add-external-tools-misc"></a>

SageMaker KI zielt darauf ab, so viele Paketinstallationsvorgänge wie möglich zu unterstützen. Wenn die Pakete jedoch von SageMaker AI oder DLAMI installiert wurden und Sie die folgenden Operationen für diese Pakete ausführen, kann Ihre Notebook-Instanz dadurch instabil werden:
+ Deinstallieren
+ Herabstufung
+ Wird geupgradet

Wir bieten keine Unterstützung für die Installation von Paketen über yum install oder die Installation von R-Paketen von CRAN.

Aufgrund potenzieller Probleme mit Netzwerkbedingungen oder -konfigurationen oder der Verfügbarkeit von Conda oder können wir nicht garantieren PyPi, dass Pakete innerhalb eines festen oder deterministischen Zeitraums installiert werden.

**Anmerkung**  
Wir können nicht garantieren, dass eine Paketinstallation erfolgreich sein wird. Der Versuch, ein Paket in einer Umgebung mit inkompatiblen Abhängigkeiten zu installieren, kann zu einem Fehler führen. In einem solchen Fall sollten Sie sich an den Bibliotheksbetreuer wenden, um zu erfahren, ob es möglich ist, die Paketabhängigkeiten zu aktualisieren. Alternativ können Sie versuchen, die Umgebung so zu modifizieren, dass die Installation möglich ist. Diese Änderung wird jedoch wahrscheinlich bedeuten, dass bestehende Pakete entfernt oder aktualisiert werden, was bedeutet, dass wir die Stabilität dieser Umgebung nicht mehr garantieren können.

# Software-Updates auf Notebook-Instances
<a name="nbi-software-updates"></a>

Amazon SageMaker AI testet und veröffentlicht regelmäßig Software, die auf Notebook-Instances installiert ist. Dies umfasst:
+ Kernel-Updates
+ Sicherheits-Patches
+ AWS SDK-Aktualisierungen
+ Aktualisierungen des [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)
+ Open-Source-Software-Updates

Um sicherzustellen, dass Sie über die neuesten Softwareupdates verfügen, beenden Sie Ihre Notebook-Instance und starten Sie sie neu, entweder in der SageMaker AI-Konsole oder indem Sie [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html).

Sie können die auf Ihrer Notebook-Instance installierte Software auch manuell aktualisieren, während diese ausgeführt wird, indem Sie Update-Befehle in einem Terminal oder in einem Notebook verwenden.

**Anmerkung**  
Das Aktualisieren von Kernels und einigen Paketen hängt möglicherweise davon ab, ob der Root-Zugriff für die Notebook-Instance aktiviert ist. Weitere Informationen finden Sie unter [Steuern Sie den Root-Zugriff auf eine Notebook-Instance SageMaker](nbi-root-access.md).

Sie können das [Personal Health Dashboard](https://aws.amazon.com/premiumsupport/technology/personal-health-dashboard/) oder das Sicherheitsbulletin unter [Security Bulletins](https://aws.amazon.com/security/security-bulletins/) auf Aktualisierungen überprüfen.

# Steuern einer Amazon EMR-Spark-Instance mithilfe eines Notebook
<a name="nbi-lifecycle-config-emr"></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.

Sie können eine Notebook-Instanz verwenden, die mit einem benutzerdefinierten Lifecycle-Konfigurationsskript erstellt wurde, um von Ihrem Notebook aus auf AWS Dienste zuzugreifen. Sie können beispielsweise ein Skript erstellen, bei dem Sie Ihr Notebook mit Sparkmagic verwenden können, um andere AWS Ressourcen, z. B. eine Amazon EMR Instance, zu steuern. Anschließend können Sie die Amazon EMR-Instance verwenden, um Ihre Daten zu verarbeiten, anstatt die Datenanalyse auf Ihrem Notebook auszuführen. Auf diese Weise können Sie eine kleinere Notebook-Instance erstellen, da Sie die Instance nicht zum Verarbeiten von Daten verwenden. Dies ist hilfreich, wenn große Datensätze vorhanden sind, die eine große Notebook-Instance zur Verarbeitung der Daten erfordern würden.

Der Vorgang erfordert drei Verfahren mit der Amazon SageMaker AI-Konsole:
+ Erstellen Sie die Amazon EMR Spark-Instance
+ Erstellen des Jupyter Notebooks
+ Testen Sie die notebook-to-Amazon EMR-Verbindung

**So erstellen Sie eine Amazon EMR-Spark-Instance, die über ein Notebook mit Sparkmagic gesteuert werden kann**

1. Öffnen Sie die Amazon-EMR-Konsole unter [https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/).

1. Wählen Sie im Navigationsbereich **Create cluster (Cluster erstellen)** aus.

1. Wählen Sie auf der Seite **Create Cluster – Quick Options (Cluster erstellen – Schnelloptionen)** unter **Software configuration (Softwarekonfiguration)** die Option **Spark: Spark 2.4.4 auf Hadoop 2.8.5 YARN mit Ganglia 3.7.2 und Zeppelin 0.8.2** aus.

1. Legen Sie zusätzliche Parameter auf der Seite fest und wählen Sie **Create cluster (Cluster erstellen)** aus.

1. Wählen Sie auf der Seite **Cluster** den Clusternamen aus, den Sie angelegt haben. Notieren Sie sich den **Master Public DNS (öffentlicher DNS für den Master)**, die **EMR master's security group (Sicherheitsgruppe des EMR-Masters)** sowie den VPC-Namen und die Subnetz-ID, wo der EMR-Cluster erstellt wurde. Sie werden diese Werte beim Erstellen eines Notebook verwenden.

**So erstellen Sie ein Notebook, das Sparkmagic verwendet, um eine Amazon EMR-Spark-Instance zu steuern**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im Navigationsbereich unter **Notebook instances**, die Option **Create Notebook (Notebook erstellen)**aus.

1. Geben Sie den Namen der Notebook-Instance ein, und wählen Sie den Instance-Typ aus.

1. Wählen Sie **Additional configuration (Zusätzliche Konfiguration)** und dann unter **Lifecycle configuration (Lebenszykluskonfiguration)** die Option **Create a new lifecycle configuration (Neue Lebenszykluskonfiguration erstellen)** aus.

1. Fügen Sie dem Lifecycle-Konfigurationsskript den folgenden Code hinzu:

   ```
   # OVERVIEW
   # This script connects an Amazon EMR cluster to an Amazon SageMaker notebook instance that uses Sparkmagic.
   #
   # Note that this script will fail if the Amazon EMR cluster's master node IP address is not reachable.
   #   1. Ensure that the EMR master node IP is resolvable from the notebook instance.
   #      One way to accomplish this is to have the notebook instance and the Amazon EMR cluster in the same subnet.
   #   2. Ensure the EMR master node security group provides inbound access from the notebook instance security group.
   #       Type        - Protocol - Port - Source
   #       Custom TCP  - TCP      - 8998 - $NOTEBOOK_SECURITY_GROUP
   #   3. Ensure the notebook instance has internet connectivity to fetch the SparkMagic example config.
   #
   # https://aws.amazon.com/blogs/machine-learning/build-amazon-sagemaker-notebooks-backed-by-spark-in-amazon-emr/
   
   # PARAMETERS
   EMR_MASTER_IP=your.emr.master.ip
   
   
   cd /home/ec2-user/.sparkmagic
   
   echo "Fetching Sparkmagic example config from GitHub..."
   wget https://raw.githubusercontent.com/jupyter-incubator/sparkmagic/master/sparkmagic/example_config.json
   
   echo "Replacing EMR master node IP in Sparkmagic config..."
   sed -i -- "s/localhost/$EMR_MASTER_IP/g" example_config.json
   mv example_config.json config.json
   
   echo "Sending a sample request to Livy.."
   curl "$EMR_MASTER_IP:8998/sessions"
   ```

1. Ersetzen Sie in dem `PARAMETERS` Abschnitt des Skripts `your.emr.master.ip` durch den öffentlichen DNS-Namen für den Master für die Amazon EMR-Instance.

1. Wählen Sie **Create configuration** (Konfiguration erstellen).

1. Wählen Sie auf der Seite **Create notebook (Notebook erstellen)** die Option **Network – optional (Netzwerk – optional)**.

1. Wählen Sie die VPC und das Subnetz aus, in dem sich die Amazon EMR-Instance befindet.

1. Wählen Sie die Sicherheitsgruppe aus, die vom Amazon EMR-Master-Knoten verwendet wird.

1. Wählen Sie **Create notebook instance (Notebook-Instance erstellen)** aus.

Während die Notebook-Instance erstellt wird, lautet der Status **Pending (Ausstehend)**. Nachdem die Instance erstellt und das Lifecycle-Konfigurationsskript erfolgreich ausgeführt wurde, lautet der Status **InService**.

**Anmerkung**  
Wenn die Notebook-Instance keine Verbindung zur Amazon EMR-Instance herstellen kann, kann SageMaker AI die Notebook-Instance nicht erstellen. Die Verbindung kann fehlschlagen, wenn sich die Amazon EMR-Instance und das Notebook nicht in derselben VPC und demselben Subnetz befinden, wenn die Amazon EMR-Mastersicherheitsgruppe nicht vom Notebook verwendet wird oder wenn der öffentliche Master-DNS-Name im Skript falsch ist. 

**So testen Sie die Verbindung zwischen der Amazon EMR-Instance und dem Notebook**

1.  Wenn der Status des Notebooks lautet **InService**, wählen Sie **Open Jupyter**, um das Notebook zu öffnen.

1. Wählen Sie „**Neu**“ und anschließend „**Sparkmagic**“ (). PySpark

1. Geben Sie in der Code-Zelle **%%info** ein und führen Sie die Zelle dann aus.

   Die Ausgabe sollte ähnlich der folgenden sein

   ```
   Current session configs: {'driverMemory': '1000M', 'executorCores': 2, 'kind': 'pyspark'}
                       No active sessions.
   ```

# Festlegen des Notebook-Kernels
<a name="howitworks-set-kernel"></a>

Amazon SageMaker AI bietet mehrere Kernel für Jupyter, die Python 2 und 3, Apache MXNet, und unterstützen. TensorFlow PySpark Zum Festlegen eines Kernels für ein neues Notebook im Jupyter-Notebook-Dashboard wählen Sie **New (Neu)** und dann den Kernel in der Liste aus. Weitere Informationen zu den verfügbaren Kernels finden Sie unter [Verfügbare Kernel](nbi-al2.md#nbi-al2-kernel).

![\[Position der Dropdown-Liste Neu im Jupyter-Notebook-Dashboard.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/nbi-set-kernel.png)


Sie können auch einen benutzerdefinierten Kernel erstellen, den Sie in Ihrer Notebook-Instance verwenden können. Weitere Informationen finden Sie unter [Installation einer externen Bibliothek und eines Kernels](nbi-add-external.md).

# Git-Repositorys mit SageMaker AI Notebook-Instanzen
<a name="nbi-git-repo"></a>

Verknüpfen Sie Git-Repositorys mit Ihrer Notebook-Instance, um Ihre Notebooks in einer Quellkontrollumgebung zu speichern, die auch dann bestehen bleibt, wenn Sie Ihre Notebook-Instance stoppen oder löschen. Sie können ein Standard-Repository und bis zu drei zusätzliche Repositorys mit einer Notebook-Instance verknüpfen. Die Repositorys können auf AWS CodeCommit GitHub, oder auf jedem anderen Git-Server gehostet werden. Das Verknüpfen von Git-Repositorys mit Ihrer Notebook-Instance kann für Folgendes hilfreich sein:
+ Persistenz – Notebooks in einer Notebook-Instance werden auf haltbaren Amazon EBS-Volumes gespeichert, aber sie bleiben nicht über die Lebensdauer Ihrer Notebook-Instance hinaus bestehen. Wenn Sie Notebooks in einem Git-Repository speichern, können Sie sie auch dann noch speichern und verwenden, wenn Sie Ihre Notebook-Instance anhalten oder löschen.
+ Zusammenarbeit: Kollegen in einem Team arbeiten oft zusammen an ML-Projekten. Wenn Sie Ihre Notebooks in Git-Repositorys speichern, können Kollegen, die in unterschiedlichen Notebook-Instances arbeiten, Notebooks gemeinsam nutzen und in einer Quellkontrollumgebung zusammen an ihnen arbeiten.
+ Lernen — Viele Jupyter-Notebooks, die Techniken des maschinellen Lernens demonstrieren, sind in öffentlich gehosteten Git-Repositorys verfügbar, z. B. auf. GitHub Sie können Ihre Notebook-Instance mit einem Repository verknüpfen, um problemlos Jupyter Notebooks in diesem Repository zu laden.

Es gibt zwei Möglichkeiten zum Verknüpfen eines Git-Repositorys mit einer Notebook-Instance:
+ Fügen Sie Ihrem Amazon SageMaker AI-Konto ein Git-Repository als Ressource hinzu. Um dann auf das Repository zuzugreifen, können Sie ein AWS Secrets Manager Manager-Geheimnis angeben, das Anmeldeinformationen enthält. So können Sie auf Repositorys zugreifen, die eine Authentifizierung erfordern.
+ Sie können ein öffentliches Git-Repository verknüpfen, das keine Ressource in Ihrem Konto ist. In diesem Fall können Sie keine Anmeldeinformationen für den Zugriff auf das Repository angeben.

**Topics**
+ [Fügen Sie Ihrem Amazon SageMaker AI-Konto ein Git-Repository hinzu](nbi-git-resource.md)
+ [Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository](nbi-git-create.md)
+ [Ordnen Sie ein CodeCommit Repository in einem anderen AWS Konto einer Notebook-Instanz zu](nbi-git-cross.md)
+ [Verwenden von Git-Repositorys in einer Notebook-Instance](git-nbi-use.md)

# Fügen Sie Ihrem Amazon SageMaker AI-Konto ein Git-Repository hinzu
<a name="nbi-git-resource"></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.

Um Ihre GitHub Repositorys zu verwalten, sie einfach Ihren Notebook-Instances zuzuordnen und Anmeldeinformationen für Repositorys zuzuordnen, die eine Authentifizierung erfordern, fügen Sie die Repositorys als Ressourcen zu Ihrem Amazon SageMaker AI-Konto hinzu. Sie können eine Liste der Repositorys, die in Ihrem Konto gespeichert sind, sowie Details zu jedem Repository in der SageMaker AI-Konsole und mithilfe der API einsehen.

Sie können Ihrem SageMaker AI-Konto Git-Repositorys in der SageMaker AI-Konsole hinzufügen oder indem Sie die AWS CLI verwenden.

**Anmerkung**  
Sie können die SageMaker KI-API verwenden [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html)um Git-Repositorys zu deinem SageMaker AI-Konto hinzuzufügen, aber eine step-by-step Anleitung dazu findest du hier nicht.

## Fügen Sie Ihrem SageMaker AI-Konto ein Git-Repository hinzu (Konsole)
<a name="nbi-git-resource-console"></a>

**Um ein Git-Repository als Ressource zu Ihrem SageMaker AI-Konto hinzuzufügen**

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter **Notebook** die Option **Git-Repositorys** und dann **Repository hinzufügen**.

1. Um ein CodeCommit Repository hinzuzufügen, wählen Sie **AWS CodeCommit**. Um ein GitHub oder ein anderes Git-basiertes Repository hinzuzufügen, wählen Sie **GitHub/Other Git-based** repo.

**Um ein vorhandenes Repository hinzuzufügen CodeCommit**

1. Wählen Sie **Use existing repository (Bestehendes Repositorys verwenden)** aus.

1. Bei **Repository** wählen Sie ein Repository aus der Liste.

1. Geben Sie einen Namen ein, der für das Repository in SageMaker AI verwendet werden soll. Der Name muss 1 bis 63 Zeichen enthalten. Gültige Zeichen sind a–z, A-Z, 0–9 und Bindestrich (-).

1. Wählen Sie **Add repository (Repository hinzufügen)** aus.

**Um ein neues CodeCommit Repository zu erstellen**

1. Wählen Sie **Create new repository (Neues Repository erstellen)** aus.

1. Geben Sie einen Namen für das Repository ein, den Sie sowohl in AI als auch CodeCommit in SageMaker AI verwenden können. Der Name muss 1 bis 63 Zeichen enthalten. Gültige Zeichen sind a–z, A-Z, 0–9 und Bindestrich (-).

1. Wählen Sie **Repository erstellen** aus.

**Um ein Git-Repository hinzuzufügen, das an einem anderen Ort gehostet wird als CodeCommit**

1. Wählen Sie **GitHub/Other Git-based repo**.

1. Geben Sie einen Namen mit bis zu 63 Zeichen ein. Gültige Zeichen sind alphanumerische Zeichen, Bindestrich (-) und 0 - 9.

1. Geben Sie die URL für das Repository ein. Geben Sie keinen Benutzernamen in der URL an. Fügen Sie die Anmeldeinformationen AWS Secrets Manager wie im nächsten Schritt beschrieben hinzu.

1. Bei **Git credentials (Git-Anmeldeinformationen)** wählen Sie die Anmeldeinformationen aus, die für die Authentifizierung beim Repository verwendet werden sollen. Dies ist nur erforderlich, wenn das Git-Repository privat ist.
**Anmerkung**  
Wenn Sie die Zwei-Faktor-Authentifizierung für Ihr Git-Repository aktiviert haben, geben Sie ein persönliches Zugriffstoken, das von Ihrem Git-Dienstanbieter generiert wurde, in das `password` Feld ein.

   1. Um ein vorhandenes AWS Secrets Manager Manager-Geheimnis zu **verwenden, wählen Sie Vorhandenes Geheimnis** verwenden und wählen Sie dann ein Geheimnis aus der Liste aus. Informationen zum Erstellen und Speichern eines Secrets finden Sie unter [Erstellen eines Basis-Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) im *AWS Secrets Manager-Benutzerhandbuch*. Der Name des verwendeten Secrets muss die Zeichenfolge `sagemaker` enthalten.
**Anmerkung**  
Das Secret muss die Staging-Kennzeichnung `AWSCURRENT` haben und im folgenden Format vorliegen:  
`{"username": UserName, "password": Password}`  
Für GitHub Repositorien empfehlen wir, vor `password` Ort ein persönliches Zugriffstoken zu verwenden. Weitere Informationen finden Sie unter [https://help.github.com/articles/creating-a-personal-access- token-for-the-command -line/](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).

   1. Um ein neues AWS Secrets Manager-Geheimnis zu **erstellen, wählen Sie Create Secret**, geben Sie einen Namen für das Secret ein und geben Sie dann die Anmeldedaten ein, mit denen Sie sich beim Repository authentifizieren möchten. Der Name des Secrets muss die Zeichenfolge `sagemaker` enthalten.
**Anmerkung**  
Die IAM-Rolle, die Sie zum Erstellen des Secrets verwenden, muss in ihrer IAM-Richtlinie die `secretsmanager:GetSecretValue` Berechtigung dsada haben.  
Das Secret muss die Staging-Kennzeichnung `AWSCURRENT` haben und im folgenden Format vorliegen:  
`{"username": UserName, "password": Password}`  
Für GitHub Repositorys empfehlen wir die Verwendung eines persönlichen Zugriffstokens.

   1. Wenn Sie keine Anmeldeinformationen verwenden möchten, wählen Sie **No secret (Kein Secret)** aus.

1. Wählen Sie **Create secret (Secret erstellen)** aus.

# Fügen Sie Ihrem Amazon SageMaker AI-Konto (CLI) ein Git-Repository hinzu
<a name="nbi-git-resource-cli"></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.

Verwenden Sie den `create-code-repository` AWS CLI Befehl, um Amazon SageMaker AI ein Git-Repository hinzuzufügen, um Benutzern Zugriff auf externe Ressourcen zu gewähren. Geben Sie einen Namen für das Repository als Wert des `code-repository-name`-Arguments an. Der Name muss 1 bis 63 Zeichen enthalten. Gültige Zeichen sind a–z, A-Z, 0–9 und Bindestrich (-). Machen Sie außerdem Angaben zu Folgendem:
+ Standard-Branch
+ URL des Git-Repositorys
**Anmerkung**  
Geben Sie keinen Benutzernamen in der URL an. Fügen Sie die Anmeldeinformationen AWS Secrets Manager wie im nächsten Schritt beschrieben hinzu.
+ Der Amazon-Ressourcenname (ARN) eines AWS Secrets Manager Manager-Geheimnisses, das die Anmeldeinformationen für die Authentifizierung des Repositorys als Wert des `git-config` Arguments enthält

Informationen zum Erstellen und Speichern eines Secrets finden Sie unter [Erstellen eines Basis-Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) im *AWS Secrets Manager-Benutzerhandbuch*. Der folgende Befehl erstellt ein neues Repository mit dem Namen `MyRespository` Ihres Amazon SageMaker AI-Kontos, das auf ein Git-Repository verweist, das unter gehostet wird`https://github.com/myprofile/my-repo"`.

Für Linux, OS X oder Unix:

```
aws sagemaker create-code-repository \
                    --code-repository-name "MyRepository" \
                    --git-config Branch=branch,RepositoryUrl=https://github.com/myprofile/my-repo,SecretArn=arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE
```

Für Windows:

```
aws sagemaker create-code-repository ^
                    --code-repository-name "MyRepository" ^
                    --git-config "{\"Branch\":\"master\", \"RepositoryUrl\" :
                    \"https://github.com/myprofile/my-repo\", \"SecretArn\" : \"arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE\"}"
```

**Anmerkung**  
Das Secret muss die Staging-Kennzeichnung `AWSCURRENT` haben und im folgenden Format vorliegen:  
`{"username": UserName, "password": Password}`  
Für GitHub Repositorys empfehlen wir die Verwendung eines persönlichen Zugriffstokens.

# Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository
<a name="nbi-git-create"></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.

Sie können Git-Repositorys mit einer Notebook-Instanz verknüpfen, wenn Sie die Notebook-Instanz mit dem AWS-Managementkonsole, oder dem AWS CLI erstellen. Wenn Sie ein CodeCommit Repository verwenden möchten, das sich in einem anderen AWS Konto als die Notebook-Instanz befindet, richten Sie den kontoübergreifenden Zugriff für das Repository ein. Weitere Informationen finden Sie unter [Ordnen Sie ein CodeCommit Repository in einem anderen AWS Konto einer Notebook-Instanz zu](nbi-git-cross.md).

**Topics**
+ [Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (Konsole)](#nbi-git-create-console)
+ [Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (CLI)](nbi-git-create-cli.md)

## Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (Konsole)
<a name="nbi-git-create-console"></a>

**Um eine Notebook-Instance zu erstellen und Git-Repositorys in der Amazon SageMaker AI-Konsole zuzuordnen**

1. Folgen Sie den Anweisungen unter [Erstellen Sie eine Amazon SageMaker Notebook-Instance für das Tutorial](gs-setup-working-env.md).

1. Bei **Git repositories (Git-Repositorys)** wählen Sie Git-Repositorys aus, die mit der Notebook-Instance verknüpft werden sollen.

   1. Wählen Sie für **Standard-Repository** ein Repository aus, das Sie als Standard-Repository verwenden möchten. SageMaker AI klont dieses Repository als Unterverzeichnis im Jupyter-Startverzeichnis unter. `/home/ec2-user/SageMaker` Wenn Sie Ihre Notebook-Instance öffnen, wird sie in diesem Repository geöffnet. Zum Wählen eines Repositorys, das als Ressource in Ihrem Konto gespeichert ist, wählen Sie einfach dessen Namen in der Liste. Um Ihrem Konto ein neues Repository als Ressource hinzuzufügen, wählen Sie **Add a repository to SageMaker AI (öffnet den Flow Repository hinzufügen in einem neuen Fenster)** und folgen Sie dann den Anweisungen unter. [Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (Konsole)](#nbi-git-create-console) Zum Klonen eines öffentlichen Repositorys, das nicht in Ihrem Konto gespeichert ist, wählen Sie **Clone a public Git repository to this notebook instance only (Öffentliches Git-Repository nur auf dieser Notebook-Instance klonen)** aus und geben dann die URL für dieses Repository an.

   1. Wählen Sie **unter Zusätzliches Repository 1** ein Repository aus, das Sie als zusätzliches Verzeichnis hinzufügen möchten. SageMaker AI klont dieses Repository als Unterverzeichnis im Jupyter-Startverzeichnis unter. `/home/ec2-user/SageMaker` Zum Wählen eines Repositorys, das als Ressource in Ihrem Konto gespeichert ist, wählen Sie einfach dessen Namen in der Liste. Um Ihrem Konto ein neues Repository als Ressource hinzuzufügen, wählen Sie **Add a repository to SageMaker AI (öffnet den Flow Repository hinzufügen in einem neuen Fenster)** und folgen Sie dann den Anweisungen unter. [Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (Konsole)](#nbi-git-create-console) Zum Klonen eines Repositorys, das nicht in Ihrem Konto gespeichert ist, wählen Sie **Clone a public Git repository to this notebook instance only (Öffentliches Git-Repository nur auf dieser Notebook-Instance klonen)** aus und geben dann die URL für dieses Repository an.

      Wiederholen Sie diesen Schritt bis zu drei Mal, um bis zu drei zusätzliche Repositorys zu Ihrer Notebook-Instance hinzuzufügen.

# Erstellen einer Notebook-Instance mit einem verknüpften Git-Repository (CLI)
<a name="nbi-git-create-cli"></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.

Verwenden Sie den Befehl `create-notebook-instance` wie unten beschrieben, um mithilfe der AWS CLI eine Notebook-Instance zu erstellen und Git-Repositorys mit ihr zu verknüpfen:
+ Geben Sie das Repository, das Sie als Standard-Repository verwenden möchten, als Wert des `default-code-repository`-Arguments an. Amazon SageMaker AI klont dieses Repository als Unterverzeichnis im Jupyter-Startverzeichnis unter. `/home/ec2-user/SageMaker` Wenn Sie Ihre Notebook-Instance öffnen, wird sie in diesem Repository geöffnet. Um ein Repository zu verwenden, das als Ressource in Ihrem SageMaker AI-Konto gespeichert ist, geben Sie den Namen des Repositorys als Wert des Arguments an. `default-code-repository` Zum Verwenden eines Repositorys, das nicht in Ihrem Konto gespeichert ist, geben Sie die URL des Repositorys als Wert des `default-code-repository`-Arguments an.
+ Geben Sie bis zu drei zusätzliche Repositorys als Wert des `additional-code-repositories` Arguments an. SageMaker AI klont dieses Repository als Unterverzeichnis im Jupyter-Startverzeichnis unter`/home/ec2-user/SageMaker`, und das Repository wird vom Standard-Repository ausgeschlossen, indem es dem Verzeichnis des Standard-Repositorys hinzugefügt wird. `.git/info/exclude` Um Repositorys zu verwenden, die als Ressourcen in Ihrem SageMaker AI-Konto gespeichert sind, geben Sie die Namen der Repositorys als Wert des Arguments an. `additional-code-repositories` Um Repositorys zu verwenden, die nicht in Ihrem Konto gespeichert sind, geben Sie die Repositorys als Wert URLs des Arguments an. `additional-code-repositories`

Mit dem folgenden Befehl wird beispielsweise eine Notebook-Instanz erstellt, die ein Repository mit dem Namen hat`MyGitRepo`, das als Ressource in Ihrem SageMaker AI-Konto gespeichert ist, als Standard-Repository und ein zusätzliches Repository, das gehostet wird, auf: GitHub

```
aws sagemaker create-notebook-instance \
                    --notebook-instance-name "MyNotebookInstance" \
                    --instance-type "ml.t2.medium" \
                    --role-arn "arn:aws:iam::012345678901:role/service-role/AmazonSageMaker-ExecutionRole-20181129T121390" \
                    --default-code-repository "MyGitRepo" \
                    --additional-code-repositories "https://github.com/myprofile/my-other-repo"
```

**Anmerkung**  
Wenn Sie ein AWS CodeCommit Repository verwenden, dessen Name "SageMaker" nicht enthält, fügen Sie der Rolle die `codecommit:GitPush` Berechtigungen `codecommit:GitPull` und hinzu, die Sie dem `create-notebook-instance` Befehl als `role-arn` Argument übergeben. Informationen über das Hinzufügen von Berechtigungen zu einer Rolle finden Sie unter [Hinzufügen und Entfernen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *AWS Identity and Access Management Benutzerhandbuch*. 

# Ordnen Sie ein CodeCommit Repository in einem anderen AWS Konto einer Notebook-Instanz zu
<a name="nbi-git-cross"></a>

Um ein CodeCommit Repository in einem anderen AWS Konto mit Ihrer Notebook-Instanz zu verknüpfen, richten Sie den kontoübergreifenden Zugriff für das CodeCommit Repository ein.

**So richten Sie den kontenübergreifenden Zugriff für ein CodeCommit Repository ein und verknüpfen es mit einer Notebook-Instanz:**

1. Erstellen Sie in dem AWS Konto, das das CodeCommit Repository enthält, eine IAM-Richtlinie, die Benutzern des Kontos, das Ihre Notebook-Instanz enthält, den Zugriff auf das Repository ermöglicht. Weitere Informationen finden Sie unter [Schritt 1: Erstellen einer Richtlinie für den Repository-Zugriff in Konto A](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a) im *CodeCommit -Benutzerhandbuch*.

1. Erstellen Sie in dem AWS Konto, das das CodeCommit Repository enthält, eine IAM-Rolle und fügen Sie die Richtlinie, die Sie im vorherigen Schritt erstellt haben, dieser Rolle hinzu. Weitere Informationen finden Sie unter [Schritt 2: Erstellen einer Rolle für den Repository-Zugriff in Konto A](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a) im *CodeCommit -Benutzerhandbuch*.

1. Erstellen Sie in der Notebook-Instance ein Profil mit der Rolle, die Sie im vorherigen Schritt erstellt haben:

   1. Öffnen Sie die Notebook-Instance.

   1. Rufen Sie ein Terminal in der Notebook-Instance auf.

   1. Bearbeiten Sie ein neues Profil, indem Sie Folgendes im Terminal eingeben:

      ```
      vi /home/ec2-user/.aws/config
      ```

   1. Aktualisieren Sie die Datei mit den folgenden Profilinformationen:

      ```
      [profile CrossAccountAccessProfile]
      region = us-west-2
      role_arn = arn:aws:iam::CodeCommitAccount:role/CrossAccountRepositoryContributorRole
      credential_source=Ec2InstanceMetadata
      output = json
      ```

      Wo *CodeCommitAccount* ist das Konto, das das CodeCommit Repository enthält, *CrossAccountAccessProfile* ist der Name des neuen Profils und *CrossAccountRepositoryContributorRole* der Name der Rolle, die Sie im vorherigen Schritt erstellt haben.

1. Konfigurieren Sie in der Notebook-Instance Git zur Verwendung des im vorigen Schritt erstellten Profils:

   1. Öffnen Sie die Notebook-Instance.

   1. Rufen Sie ein Terminal in der Notebook-Instance auf.

   1. Geben Sie Folgendes im Terminal ein, um die Git-Konfigurationsdatei zu bearbeiten:

      ```
      vi /home/ec2-user/.gitconfig
      ```

   1. Aktualisieren Sie die Datei mit den folgenden Profilinformationen:

      ```
      [credential]
              helper = !aws codecommit credential-helper --profile CrossAccountAccessProfile $@
              UseHttpPath = true
      ```

      Wo *CrossAccountAccessProfile* ist der Name des Profils, das Sie im vorherigen Schritt erstellt haben.

# Verwenden von Git-Repositorys in einer Notebook-Instance
<a name="git-nbi-use"></a>

Wenn Sie eine Notebook-Instance mit verknüpften Git-Repositorys öffnen, wird sie im Standard-Repository geöffnet, das in Ihrer Notebook-Instance direkt unter `/home/ec2-user/SageMaker` installiert ist. Sie können Notebooks öffnen und erstellen sowie Git-Befehle manuell in einer Notebookzelle ausführen. Beispiel:

```
!git pull origin master
```

Zum Öffnen der zusätzlichen Repositorys wechseln Sie in den übergeordneten Ordner. Die zusätzlichen Repositorys sind auch als Verzeichnisse unter `/home/ec2-user/SageMaker` installiert.

Wenn Sie die Notebook-Instanz mit einer JupyterLab Schnittstelle öffnen, ist die Jupyter-Git-Erweiterung installiert und kann verwendet werden. [Informationen zur Jupyter-Git-Erweiterung für finden Sie unter jupyterlab-git. JupyterLab https://github.com/jupyterlab/](https://github.com/jupyterlab/jupyterlab-git)

Wenn Sie eine Notebook-Instanz in öffnen JupyterLab, sehen Sie im linken Menü die damit verknüpften Git-Repositorys:

![\[Beispiel für einen Dateibrowser in JupyterLab.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/git-notebook.png)


Sie können die Jupyter-Git-Erweiterung anstelle der Befehlszeile verwenden, um Git visuell zu verwalten:

![\[Beispiel für die Jupyter-Git-Erweiterung in. JupyterLab\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/jupyterlab-git.png)


# Notebook-Instance-Metadaten
<a name="nbi-metadata"></a>

Wenn Sie eine Notebook-Instance erstellen, erstellt Amazon SageMaker AI eine JSON-Datei auf der Instance an dem Speicherort`/opt/ml/metadata/resource-metadata.json`, der das `ResourceName` und `ResourceArn` der Notebook-Instance enthält. Sie können von überall innerhalb der Notebook-Instance, einschließlich der Lebenszykluskonfigurationen, auf diese Metadaten zugreifen. Weitere Informationen zu Lebenszykluskonfigurationen für Notebook-Instances finden Sie unter [Anpassung einer SageMaker Notebook-Instanz mithilfe eines LCC-Skripts](notebook-lifecycle-config.md).

**Anmerkung**  
Die `resource-metadata.json` Datei kann mit Root-Zugriff geändert werden.

Die Datei `resource-metadata.json` hat die folgende Struktur:

```
{
    "ResourceArn": "NotebookInstanceArn",
    "ResourceName": "NotebookInstanceName"
}
```

Sie können diese Metadaten in der Notebook-Instance verwenden, um weitere Informationen über die Notebook-Instance zu erhalten. Mit den folgenden Befehlen werden beispielsweise die Tags der Notebook-Instance abgerufen:

```
NOTEBOOK_ARN=$(jq '.ResourceArn'
            /opt/ml/metadata/resource-metadata.json --raw-output)
aws sagemaker list-tags --resource-arn $NOTEBOOK_ARN
```

Die Ausgabe sollte wie folgt aussehen:

```
{
    "Tags": [
        {
            "Key": "test",
            "Value": "true"
        }
    ]
}
```

# Überwachen Sie Jupyter-Protokolle in Amazon Logs CloudWatch
<a name="jupyter-logs"></a>

Jupyter-Protokolle enthalten wichtige Informationen wie Ereignisse, Metriken und Gesundheitsinformationen, die beim Betrieb von Amazon-Notebooks umsetzbare Erkenntnisse liefern. SageMaker Durch den Import von Jupyter-Protokollen in Logs können Kunden CloudWatch Logs verwenden CloudWatch , um anomales Verhalten zu erkennen, Alarme einzustellen und Erkenntnisse zu gewinnen, um einen reibungsloseren Betrieb der KI-Notebooks zu gewährleisten. SageMaker Sie können auf die Protokolle auch dann zugreifen, wenn die Amazon-EC2-Instance, die das Notebook hostet, nicht reagiert, und die Protokolle zur Fehlerbehebung des nicht reagierenden Notebooks verwenden. Vertrauliche Informationen wie AWS Konten IDs, geheime Schlüssel und Authentifizierungstoken in vorsignierten Dateien URLs werden entfernt, sodass Kunden Logs teilen können, ohne private Informationen preiszugeben. 

**So zeigen Sie Jupyter-Protokolle für eine Notebook-Instance an:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die SageMaker AI-Konsole unter. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 

1. Wählen Sie **Notebook instances (Notebook-Instances)** aus.

1. Wählen Sie in der Liste der Notebook-Instances die Notebook-Instance aus, für die Sie die Jupyter-Protokolle anzeigen möchten, indem Sie den **Namen** der Notebook-Instance auswählen.

   Dadurch gelangen Sie zur Seite mit den Details für diese Notebook-Instance.

1. Wählen Sie unter **Monitor (Überwachen)** auf der Detailseite der Notebook-Instance die Option **View logs (Protokolle anzeigen)** aus.

1. Wählen Sie in der CloudWatch Konsole den Protokollstream für Ihre Notebook-Instanz aus. Der Name hat das Format `NotebookInstanceName/jupyter.log`.

Weitere Informationen zur Überwachung von CloudWatch Logs für SageMaker KI finden Sie unter[CloudWatch Protokolle für Amazon SageMaker AI](logging-cloudwatch.md).

# Amazon SageMaker Studio-Labor
<a name="studio-lab"></a>

**Anmerkung**  
Ab dem 8. August 2025 verwendet Amazon SageMaker Studio Lab JupyterLab 4 statt JupyterLab 3. Sollten Sie Abhängigkeitsprobleme feststellen, installieren Sie bitte alle Erweiterungen, die Sie Ihren Umgebungen hinzugefügt haben, erneut.

 Amazon SageMaker Studio Lab ist ein kostenloser Service, der Kunden Zugriff auf AWS Rechenressourcen in einer Umgebung bietet, die auf Open Source JupyterLab 4 basiert. Es basiert auf derselben Architektur und Benutzeroberfläche wie Amazon SageMaker Studio Classic, verfügt jedoch über einen Teil der Funktionen von Studio Classic.

Mit Studio Lab können Sie AWS Rechenressourcen verwenden, um Ihre Jupyter-Notebooks zu erstellen und auszuführen, ohne sich für ein Konto registrieren zu müssen. AWS Da Studio Lab auf Open Source basiert, können Sie die Vorteile von Open-Source-Jupyter-Erweiterungen nutzen JupyterLab, um Ihre Jupyter-Notebooks auszuführen.

 **Studio Lab im Vergleich zu Amazon SageMaker Studio Classic**

Während Studio Lab kostenlosen Zugriff auf AWS Rechenressourcen bietet, bietet Amazon SageMaker Studio Classic die folgenden erweiterten Funktionen für maschinelles Lernen, die Studio Lab nicht unterstützt.
+ Kontinuierliche Integration und kontinuierliche Bereitstellung (Pipelines)
+ Echtzeitprognosen
+ Umfangreiches dezentrales Schulen
+ Datenaufbereitung (Amazon SageMaker Data Wrangler)
+ Datenkennzeichnung (Amazon SageMaker Ground Truth)
+ Kernfunktionen
+ Bias-Analyse (Klären)
+ Modellbereitstellung
+ Modellüberwachung

Studio Classic unterstützt auch differenzierte Zugriffskontrolle und Sicherheit mithilfe von AWS Identity and Access Management (IAM), Amazon Virtual Private Cloud (Amazon VPC) und (). AWS Key Management Service AWS KMS Studio Lab unterstützt diese Studio Classic-Funktionen nicht und unterstützt auch nicht die Verwendung von Schätzern und integrierten KI-Algorithmen. SageMaker 

Informationen zum Exportieren Ihrer Studio-Lab-Projekte zur Verwendung mit Studio Classic finden Sie unter [Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic](studio-lab-use-migrate.md).

Die folgenden Themen enthalten Informationen zu Studio Lab und seiner Verwendung

**Topics**
+ [Überblick über die Komponenten von Amazon SageMaker Studio Lab](studio-lab-overview.md)
+ [Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md)
+ [Verwalten Ihrer Konten](studio-lab-manage-account.md)
+ [Starten Sie Ihre Amazon SageMaker Studio Lab-Projektlaufzeit](studio-lab-manage-runtime.md)
+ [Verwenden Sie Amazon SageMaker Studio Lab-Starter-Assets](studio-lab-integrated-resources.md)
+ [Vorinstallierte Studio Lab-Umgebungen](studio-lab-environments.md)
+ [Verwenden Sie die Amazon SageMaker Studio Lab-Projektlaufzeit](studio-lab-use.md)
+ [Fehlerbehebung](studio-lab-troubleshooting.md)

# Überblick über die Komponenten von Amazon SageMaker Studio Lab
<a name="studio-lab-overview"></a>

Amazon SageMaker Studio Lab besteht aus den folgenden Komponenten. In den folgenden Themen werden diese Komponenten ausführlich erörtert. 

**Topics**
+ [Landingpage](#studio-lab-overview-landing)
+ [Studio Lab-Konto](#studio-lab-overview-account)
+ [Projektübersichtsseite](#studio-lab-overview-project-overview)
+ [Vorschauseite](#studio-lab-overview-preview)
+ [Projekt](#studio-lab-overview-project)
+ [Instance-Typ berechnen](#studio-lab-overview-project-compute)
+ [Laufzeit des Projekts](#studio-lab-overview-runtime)
+ [Sitzung](#studio-lab-overview-session)

## Landingpage
<a name="studio-lab-overview-landing"></a>

Sie können auf Ihrer Landingpage ein Konto beantragen und sich mit einem bestehenden Konto anmelden. Um zur Landing Page zu gelangen, besuchen Sie die [Amazon SageMaker Studio Lab-Website](https://studiolab.sagemaker.aws/). Weitere Informationen zum Erstellen eines Studio Lab Benutzerkontos finden Sie unter [Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md).

Der folgende Screenshot zeigt die Landingpage-Oberfläche von Studio Lab für die Beantragung eines Benutzerkontos und die Anmeldung.

![\[Das Landingpage-Layout von Amazon SageMaker Studio Lab.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio-lab-landing.png)


## Studio Lab-Konto
<a name="studio-lab-overview-account"></a>

Mit Ihrem Studio Lab-Konto erhalten Sie Zugriff auf Studio Lab. Weitere Informationen zum Erstellen eines Benutzerkontos finden Sie unter [Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md).

## Projektübersichtsseite
<a name="studio-lab-overview-project-overview"></a>

Auf dieser Seite können Sie eine Rechen-Instance starten und Informationen zu Ihrem Projekt einsehen. Um zu dieser Seite zu gelangen, müssen Sie sich von der [Amazon SageMaker Studio Lab-Website](https://studiolab.sagemaker.aws/) aus anmelden. Die URL nimmt folgendes Format an.

```
https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
```

Der folgende Screenshot zeigt eine Projektübersicht in der Studio Lab-Benutzeroberfläche.

![\[Das Layout der Benutzeroberfläche für die Projektübersicht.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio-lab-overview.png)


## Vorschauseite
<a name="studio-lab-overview-preview"></a>

Auf dieser Seite können Sie auf eine schreibgeschützte Vorschau eines Jupyter Notebooks zugreifen. Sie können das Notebook nicht in der Vorschau ausführen, aber Sie können das Notebook in Ihr Projekt kopieren. Für viele Kunden ist dies möglicherweise die erste Studio Lab-Seite, die Kunden sehen, da sie möglicherweise ein Notizbuch von einem Notizbuch aus GitHub öffnen. Weitere Informationen zur Verwendung von GitHub Ressourcen finden Sie unter[Verwenden Sie Ressourcen GitHub](studio-lab-use-external.md#studio-lab-use-external-clone-github). 

So kopieren Sie die Notebook-Vorschau in Ihr Studio Lab-Projekt:

1.  Melden Sie sich bei Ihrem Studio Lab-Konto an. Weitere Informationen zum Erstellen eines Studio Lab-Benutzerkontos finden Sie unter [Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md). 

1.  Wählen Sie unter **Notebook-Rechen-Instance** einen Compute-Instance-Typ aus. Weitere Informationen über Compute-Instance-Typen finden Sie unter [Instance-Typ berechnen](#studio-lab-overview-project-compute). 

1.  Wählen Sie **Laufzeit starten** aus. Möglicherweise werden Sie aufgefordert, ein CAPTCHA-Rätsel zu lösen. Weitere Informationen zu CAPTCHA finden Sie unter [Was ist ein CAPTCHA-Puzzle?](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html) 

1.  Einmaliges Einrichten, zum ersten Mal die Runtime mit Ihrem Studio Lab-Konto starten: 

   1.  Geben Sie eine Handynummer ein, die mit Ihrem Amazon SageMaker Studio Lab-Konto verknüpft werden soll, und wählen Sie **Weiter**. 

      Informationen zu unterstützten Ländern und Regionen finden Sie unter [Unterstützte Länder und Regionen (SMS-Kanal)](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html).

   1.  Geben Sie den sechsstelligen Code ein, der an die zugehörige Handynummer gesendet wurde, und wählen Sie **Verifizieren** aus. 

1.  Wählen Sie In **Projekt kopieren** aus. 

## Projekt
<a name="studio-lab-overview-project"></a>

Ihr Projekt enthält alle Ihre Dateien und Ordner, einschließlich Ihrer Jupyter Notebooks. Sie haben volle Kontrolle über die Dateien in Ihrem Projekt. Ihr Projekt umfasst auch die JupyterLab basierte Benutzeroberfläche. Über diese Oberfläche können Sie mit Ihren Jupyter-Notebooks interagieren, Ihre Quellcodedateien bearbeiten, Amazon S3 integrieren und eine Verbindung zu GitHub Amazon S3 herstellen. Weitere Informationen finden Sie unter [Verwenden Sie die Amazon SageMaker Studio Lab-Projektlaufzeit](studio-lab-use.md). 

Der folgende Screenshot zeigt ein Studio Lab-Projekt, bei dem der Dateibrowser geöffnet ist und der Studio Lab Launcher angezeigt wird.

![\[Das Layout der Benutzeroberfläche für die Projektübersicht.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio-lab-ui.png)


## Instance-Typ berechnen
<a name="studio-lab-overview-project-compute"></a>

 Ihre Amazon SageMaker Studio Lab-Projektlaufzeit basiert auf einer EC2-Instance. Ihnen werden 15 GB Speicherplatz und 16 GB RAM zugewiesen. Die Verfügbarkeit von Rechen-Instances ist nicht garantiert und unterliegt der Nachfrage. Wenn Sie zusätzliche Speicher- oder Rechenressourcen benötigen, sollten Sie einen Wechsel zu Studio in Betracht ziehen.  

Amazon SageMaker Studio Lab bietet die Wahl zwischen einer CPU (Central Processing Unit) und einer GPU (Graphical Processing Unit). Die folgenden Abschnitte enthalten Informationen zu diesen beiden Optionen, einschließlich Anleitungen zur Auswahl. 

 **CPU** 

Eine Zentraleinheit (CPU) ist darauf ausgelegt, eine Vielzahl von Aufgaben effizient zu bewältigen, hat jedoch nur eine begrenzte Anzahl von Aufgaben, die sie gleichzeitig ausführen kann. Für Machine Learning wird eine CPU für rechenintensive Algorithmen wie Zeitreihen, Prognosen und Tabellendaten empfohlen.  

Der CPU-Berechnungstyp hat jeweils bis zu 4 Stunden mit einem Limit von 8 Stunden in einem Zeitraum von 24 Stunden.

 **GPU** 

Eine Grafikverarbeitungseinheit (GPU) dient zum gleichzeitigen Rendern von Bildern und Videos mit hoher Auflösung. Eine GPU wird für Deep-Learning-Aufgaben empfohlen, insbesondere für Transformatoren und Computer Vision. 

Der GPU-Berechnungstyp hat jeweils bis zu 4 Stunden mit einem Limit von 4 Stunden in einem Zeitraum von 24 Stunden.

 **Rechenzeit** 

Wenn die Rechenzeit für Studio Lab ihr Zeitlimit erreicht, stoppt die Instance alle laufenden Berechnungen. Studio Lab unterstützt keine Erhöhung des Zeitlimits.

Studio Lab speichert Ihre Umgebung automatisch, wenn Sie Ihre Umgebung aktualisieren und jedes Mal, wenn Sie eine neue Datei erstellen. Benutzerdefiniert installierte Erweiterungen und Pakete bleiben auch nach Ablauf Ihrer Laufzeit bestehen.

Dateiänderungen werden regelmäßig gespeichert, aber nicht gespeichert, wenn Ihre Laufzeit endet. Um sicherzustellen, dass Sie Ihren Fortschritt nicht verlieren, speichern Sie Ihre Arbeit manuell. Wenn Sie Inhalte in Ihrem Studio Lab-Projekt haben, die Sie nicht verlieren möchten, empfehlen wir Ihnen, Ihre Inhalte an einem anderen Ort zu sichern. Weitere Informationen zum Exportieren der Umgebung und der Dateien finden Sie unter [Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic](studio-lab-use-migrate.md).

Während langer Berechnungen müssen Sie Ihr Projekt nicht geöffnet lassen. Sie können beispielsweise mit dem Training eines Modells beginnen und dann Ihren Browser schließen. Die Instance läuft in einem 24-Stunden-Zeitraum bis zur Obergrenze der Rechenart. Sie können sich dann später anmelden, um Ihre Arbeit fortzusetzen.  

Wir empfehlen Ihnen, Checkpointing in Ihren Deep-Learning-Jobs zu verwenden. Sie können gespeicherte Checkpoints verwenden, um einen Job vom zuvor gespeicherten Checkpoint aus neu zu starten. Weitere Informationen finden Sie unter [Datei-E/A](https://d2l.ai/chapter_deep-learning-computation/read-write.html?highlight=checkpointing).

## Laufzeit des Projekts
<a name="studio-lab-overview-runtime"></a>

Die Projektlaufzeit ist der Zeitraum, in dem Ihre Rechen-Instance läuft.

## Sitzung
<a name="studio-lab-overview-session"></a>

Eine Benutzersitzung beginnt jedes Mal, wenn Sie Ihr Projekt starten. 

# Einsteigen in Amazon SageMaker Studio Lab
<a name="studio-lab-onboard"></a>

Folgen Sie den Schritten in diesem Handbuch, um Amazon SageMaker Studio Lab zu nutzen. In den folgenden Abschnitten erfahren Sie, wie Sie ein Studio Lab-Konto beantragen, Ihr Konto erstellen und sich anmelden.

**Topics**
+ [Beantragen Sie ein Studio Lab-Konto](#studio-lab-onboard-request)
+ [Erstellen Sie ein Studio Lab-Konto](#studio-lab-onboard-register)
+ [Melden Sie sich bei Studio an](#studio-lab-onboard-signin)

## Beantragen Sie ein Studio Lab-Konto
<a name="studio-lab-onboard-request"></a>

Um Studio Lab nutzen zu können, müssen Sie zunächst die Genehmigung zur Erstellung eines Studio Lab-Kontos beantragen. Ein AWS Konto kann nicht für das Onboarding bei Studio Lab verwendet werden. 

Nachfolgend wird beschrieben, wie Sie ein Studio Lab-Konto beantragen.

1. Navigieren Sie zur [Studio Lab-Landingpage](https://studiolab.sagemaker.aws).

1. Wählen Sie **Konto anfordern** aus.

1. Geben Sie die erforderlichen Informationen ein.

1. Wählen Sie **Anfrage einreichen** aus.

1. Wenn Sie eine E-Mail zur Verifizierung Ihrer E-Mail-Adresse erhalten, befolgen Sie die Anweisungen in der E-Mail, um diesen Schritt abzuschließen.

Ihre Kontoanfrage muss genehmigt werden, bevor Sie sich für ein Studio Lab-Konto registrieren können. Ihre Anfrage wird innerhalb von fünf Werktagen geprüft. Wenn Ihre Kontoanfrage genehmigt wurde, erhalten Sie eine E-Mail mit einem Link zur Studio Lab-Kontoregistrierungsseite. Dieser Link läuft sieben Tage nach der Genehmigung Ihrer Anfrage ab. Wenn der Link abläuft, müssen Sie eine neue Kontoanfrage stellen. 

Hinweis: Ihre Kontoanfrage wird abgelehnt, wenn Ihre E-Mail-Adresse mit Aktivitäten in Verbindung gebracht wurde, die gegen unsere [Nutzungsbedingungen](https://aws.amazon.com/service-terms/) oder andere Vereinbarungen verstoßen. 

### Empfehlungscodes
<a name="studio-lab-onboard-request-referral"></a>

Mit den Empfehlungscodes von Studio Lab können neue Kontoanfragen automatisch genehmigt werden, um Veranstaltungen zum Machine Learning wie Workshops, Hackathons und Kurse zu unterstützen. Mit einem Empfehlungscode kann ein vertrauenswürdiger Gastgeber seinen Teilnehmern sofortigen Zugriff auf Studio Lab gewähren. Nachdem ein Konto mit einem Empfehlungscode erstellt wurde, besteht das Konto auch nach Ablauf des Codes weiter.

Um einen Empfehlungscode zu erhalten, wenden Sie sich an [Vertriebssupport](https://aws.amazon.com/contact-us/sales-support/). Um einen Empfehlungscode zu verwenden, geben Sie den Code als Teil des Kontoanforderungsformulars ein.

## Erstellen Sie ein Studio Lab-Konto
<a name="studio-lab-onboard-register"></a>

Nachdem Ihre Anfrage genehmigt wurde, führen Sie die folgenden Schritte zum Erstellen Ihres Studio Lab-Kontos durch.

1. Wählen Sie in der Bestätigungs-E-Mail zur Kontoanfrage die Option **Konto erstellen** aus, um eine neue Seite zu öffnen.

1. Geben Sie auf der neuen Seite Ihre **E-Mail-Adresse**, ein **Passwort** und einen **Benutzernamen** ein. 

1. Wählen Sie **Konto erstellen** aus. 

   Möglicherweise werden Sie gebeten, ein CAPTCHA-Rätsel zu lösen. Weitere Informationen zu CAPTCHA finden Sie unter [Was ist ein CAPTCHA-Puzzle?](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html)

## Melden Sie sich bei Studio an
<a name="studio-lab-onboard-signin"></a>

Nachdem Sie sich für Ihr Konto registriert haben, können Sie sich bei Studio Lab anmelden.

1. Navigieren Sie zur [Studio Lab-Landingpage](https://studiolab.sagemaker.aws).

1. Wählen Sie **Anmelden** aus, um eine neue Seite zu öffnen.

1. Geben Sie Ihre **E-Mail-Adresse** oder Ihren **Benutzernamen** und Ihr **Passwort** ein. 

1. Wählen Sie **Anmelden** aus, um eine neue Seite für Ihr Projekt zu öffnen. 

   Möglicherweise werden Sie gebeten, ein CAPTCHA-Rätsel zu lösen. Weitere Informationen zu CAPTCHA finden Sie unter [Was ist ein CAPTCHA-Puzzle?](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html)

# Verwalten Ihrer Konten
<a name="studio-lab-manage-account"></a>

 Das folgende Thema enthält Informationen zur Verwaltung Ihres Kontos, einschließlich der Änderung Ihres Passworts, der Löschung Ihres Kontos und des Abrufs von Informationen, die wir gesammelt haben. Für diese Themen müssen Sie sich bei Ihrem Amazon SageMaker Studio Lab-Konto anmelden. Weitere Informationen finden Sie unter [Melden Sie sich bei Studio an](studio-lab-onboard.md#studio-lab-onboard-signin).

## Ändern Sie Ihr Passwort
<a name="studio-lab-manage-change-password"></a>

 Gehen Sie wie folgt vor, um Ihr Amazon SageMaker Studio Lab-Passwort zu ändern. 

1.  Navigieren Sie zur Projektübersichtsseite von Studio Lab. Die URL nimmt folgendes Format an.

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1.  Wählen Sie in der oberen rechten Ecke Ihren Benutzernamen aus, um ein Dropdown-Menü zu öffnen. 

1.  Wählen Sie im Dropdown-Menü die Option **Passwort ändern** aus, um eine neue Seite zu öffnen. 

1.  Geben Sie Ihr aktuelles Passwort in das Feld **Geben Sie Ihr aktuelles Passwort** ein.

1.  Geben Sie Ihr neues Passwort in die Felder **Neues Passwort erstellen** und **Neues Passwort bestätigen** ein.

1.  Wählen Sie **Absenden** aus. 

## Löschen Ihres Kontos
<a name="studio-lab-manage-delete"></a>

 Gehen Sie folgendermaßen vor, um Ihr Studio Lab-Konto zu löschen.  

1.  Navigieren Sie zur Studio Lab-Projektübersichtsseite. Die URL nimmt folgendes Format an.

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1.  Wählen Sie in der oberen rechten Ecke Ihren Benutzernamen aus, um ein Dropdown-Menü zu öffnen. 

1.  Wählen Sie im Dropdown-Menü **Konto löschen** aus, um eine neue Seite zu öffnen. 

1.  Geben Sie Ihr Passwort ein, um das Löschen Ihres Studio Lab-Kontos zu bestätigen. 

1.  Wählen Sie **Löschen** aus. 

## Kundeninformationen
<a name="studio-lab-manage-information"></a>

 Studio Lab erfasst Ihre E-Mail-Adresse, Ihren Benutzernamen, Ihr verschlüsseltes Passwort, Ihre Projektdateien und Metadaten. Wenn Sie ein Konto beantragen, können Sie optional Ihren Vor- und Nachnamen, Ihr Land, den Namen der Organisation, Ihren Beruf und den Grund für Ihr Interesse an diesem Produkt angeben. Wir schützen alle persönlichen Kundendaten durch Verschlüsselung. Weitere Informationen zum Umgang mit Ihren personenbezogenen Daten finden Sie in der [Datenschutzerklärung](https://aws.amazon.com//privacy/). 

Wenn Sie Ihr Konto löschen, werden alle Ihre Daten sofort gelöscht. Wenn Sie diesbezüglich eine Anfrage haben, reichen Sie das [Amazon SageMaker Studio Lab-Formular](https://pages.awscloud.com/GLOBAL_PM_PA_amazon-sagemaker_20211116_7014z000000rjq2-registration.html) ein. Informationen und Unterstützung im Zusammenhang mit der Einhaltung von AWS Vorschriften finden Sie unter [Compliance-Support](https://aws.amazon.com//contact-us/compliance-support/).

# Starten Sie Ihre Amazon SageMaker Studio Lab-Projektlaufzeit
<a name="studio-lab-manage-runtime"></a>

Mit der Amazon SageMaker Studio Lab-Projektlaufzeit können Sie Code direkt in Ihrem Browser schreiben und ausführen. Sie basiert auf einem integrierten Terminal JupyterLab und einer Konsole und verfügt über ein integriertes Terminal. Weitere Informationen zu JupyterLab finden Sie in der [JupyterLabDokumentation](https://jupyterlab.readthedocs.io/en/stable/).

Das folgende Thema enthält Informationen zur Verwaltung Ihrer Projektlaufzeit. Für diese Themen müssen Sie sich bei Ihrem Amazon SageMaker Studio Lab-Konto anmelden. Weitere Informationen zum Anmelden als Benutzer finden Sie unter [Melden Sie sich bei Studio an](studio-lab-onboard.md#studio-lab-onboard-signin). Weitere Informationen zur Konfiguration des Projekts finden Sie unter [Überblick über die Komponenten von Amazon SageMaker Studio Lab](studio-lab-overview.md). 

**Topics**
+ [Starten Sie Ihre Projektlaufzeit](#studio-lab-manage-runtime-start)
+ [Stoppen Sie Ihre Projektlaufzeit](#studio-lab-manage-runtime-stop)
+ [Verbleibende Rechenzeit anzeigen](#studio-lab-manage-runtime-view)
+ [Ändern Sie Ihren Rechnertyp](#studio-lab-manage-runtime-change)

## Starten Sie Ihre Projektlaufzeit
<a name="studio-lab-manage-runtime-start"></a>

Um Studio Lab verwenden zu können, müssen Sie Ihre Projektlaufzeit starten. Diese Laufzeit gibt Ihnen Zugriff auf die JupyterLab Umgebung.

1. Navigieren Sie zur Projektübersichtsseite von Studio Lab. Die URL nimmt folgendes Format an:

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1. Wählen Sie unter **Mein Projekt** einen Berechnungstyp aus. Weitere Informationen zu Datentypen finden Sie unter [Instance-Typ berechnen](studio-lab-overview.md#studio-lab-overview-project-compute).

1. Wählen Sie **Laufzeit starten** aus. 

   Möglicherweise werden Sie aufgefordert, ein CAPTCHA-Rätsel zu lösen. Weitere Informationen zu CAPTCHA finden Sie unter [Was ist ein CAPTCHA-Puzzle?](https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html)

1. Einmaliges Einrichten, zum ersten Mal die Runtime mit Ihrem Studio Lab-Konto starten: 

   1. Geben Sie eine Handynummer ein, die mit Ihrem Amazon SageMaker Studio Lab-Konto verknüpft werden soll, und wählen Sie **Weiter**. 

      Informationen zu unterstützten Ländern und Regionen finden Sie unter [Unterstützte Länder und Regionen (SMS-Kanal)](https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html).

   1. Geben Sie den sechsstelligen Code ein, der an die zugehörige Handynummer gesendet wurde, und wählen Sie **Verifizieren** aus. 

1. Wenn die Runtime läuft, wählen Sie **Projekt öffnen** aus, um die Projekt-Laufzeitumgebung in einem neuen Browser-Tab zu öffnen. 

## Stoppen Sie Ihre Projektlaufzeit
<a name="studio-lab-manage-runtime-stop"></a>

Wenn Sie Ihre Projektlaufzeit beenden, werden Ihre Dateien nicht automatisch gespeichert. Um sicherzustellen, dass Sie Ihre Arbeit nicht verlieren, speichern Sie alle Ihre Änderungen, bevor Sie die Projektlaufzeit beenden.
+ Wählen Sie unter **Mein Projekt** die Option **Laufzeit beenden** aus. 

## Verbleibende Rechenzeit anzeigen
<a name="studio-lab-manage-runtime-view"></a>

Ihre Projektlaufzeit hat je nach dem von Ihnen ausgewählten Berechnungstyp eine begrenzte Rechenzeit. Weitere Informationen zur Computing-Time in Studio Lab finden Sie unter [Instance-Typ berechnen](studio-lab-overview.md#studio-lab-overview-project-compute).
+ Sehen Sie sich unter **Mein Projekt** die Option **Verbleibende Zeit** an. 

## Ändern Sie Ihren Rechnertyp
<a name="studio-lab-manage-runtime-change"></a>

Sie können Ihren Berechnungstyp je nach Arbeitsablauf ändern. Weitere Informationen zu Datentypen finden Sie unter [Instance-Typ berechnen](studio-lab-overview.md#studio-lab-overview-project-compute).

1. Speichern Sie alle Projektdateien, bevor Sie den Berechnungstyp ändern. 

1. Navigieren Sie zur Projektübersichtsseite von Studio Lab. Die URL nimmt folgendes Format an:

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1. Wählen Sie unter **Mein Projekt** den gewünschten Berechnungstyp (CPU oder GPU) aus. 

1. Bestätigen Sie Ihre Auswahl, indem Sie in der **Runtime des Projekts?** die Option **Neu starten ** auswählen. Studio Lab stoppt Ihre aktuelle Projektlaufzeit und startet dann eine neue Projektlaufzeit mit Ihrem aktualisierten Berechnungstyp.

1. Nachdem Ihre Projektlaufzeit gestartet wurde, wählen Sie **Projekt öffnen** aus. Dadurch wird Ihre Projekt-Laufzeit-Umgebung in einer neuen Browser-Registerkarte geöffnet. Informationen zu den einzelnen Laufzeitumgebungen finden Sie unter [Verwenden Sie die Amazon SageMaker Studio Lab-Projektlaufzeit](studio-lab-use.md).

# Verwenden Sie Amazon SageMaker Studio Lab-Starter-Assets
<a name="studio-lab-integrated-resources"></a>

Amazon SageMaker Studio Lab unterstützt die folgenden Ressourcen, um Anwendern des maschinellen Lernens (ML) den Einstieg zu erleichtern. In dieser Anleitung erfahren Sie, wie Sie Notebooks für Ihr Projekt klonen. 

**Erste Schritte Notebook** 

Studio Lab wird mit einem Starter-Notebook geliefert, das allgemeine Informationen enthält und Sie durch die wichtigsten Workflows führt. Wenn Sie Ihre Projektlaufzeit zum ersten Mal starten, wird dieses Notebook automatisch geöffnet.

**Eintauchen in Deep Learning** 

Dive into Deep Learning (D2L) ist ein interaktives Open-Source-Buch, das die Ideen, die mathematische Theorie und den Code vermittelt, die Machine Learning ermöglichen. Mit über 150 Jupyter Notebooks bietet D2L einen umfassenden Überblick über die Prinzipien von Deep Learning. Weitere Informationen über D2L finden Sie auf der [D2L-Website](https://d2l.ai/).

Die folgenden Schritte zeigen, wie Sie die D2L Jupyter Notebooks auf Ihre Instance klonen. 

1. Starten und öffnen Sie die Studio Lab Projektlaufzeitumgebung, indem Sie [Starten Sie Ihre Projektlaufzeit](studio-lab-manage-runtime.md#studio-lab-manage-runtime-start) folgen.

1. Sobald Studio Lab geöffnet ist, wählen Sie in der linken Seitenleiste den Tab Git (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git.png)). 

1. Wählen Sie **Repository klonen**.

   Wenn die Option **Repository klonen** nicht angezeigt wird, kann dies daran liegen, dass Sie sich derzeit in einem Git-Repository befinden. Verwenden Sie stattdessen die folgenden Teilschritte.

   1. Wählen Sie in der linken Seitenleiste die Registerkarte „Ordner“ (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) aus.

   1. Wählen Sie unter der Dateisuchleiste das Ordnersymbol links neben dem aktuell ausgewählten Repository aus. Wenn Sie den Mauszeiger über das Ordnersymbol bewegen, wird das Benutzerverzeichnis (`/home/studio-lab-user`) angezeigt.

   1. Sobald Sie im Benutzerverzeichnis sind, wählen Sie die Git-Registerkarte in der linken Seitenleiste aus.

   1. Wählen Sie **Repository klonen**.

1. Unter **Git-Repository-URL (.git)** werden Sie aufgefordert, eine URL anzugeben.

1. Navigieren Sie in einer neuen Browser-Registerkarte zu Ihrer Projektübersichtsseite. Die URL nimmt folgendes Format an.

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1. Unter **Neu im Bereich Machine Learning?**, wählen Sie **Eintauchen in Deep Learning** aus. 

1. Wählen Sie im neuen Browser-Tab „**Tauchen Sie in Deep Learning**“ aus, ob Sie **GitHub**eine neue Seite mit den Beispielnotizbüchern öffnen möchten.

1. Wählen Sie **Code** und kopieren Sie die URL des GitHub Repositorys in den **HTTPS-Tab**.

1. Kehren Sie zum Studio Lab zurück, öffnen Sie den Projektbrowser-Tab, fügen Sie die URL des D2L-Repositorys ein und klonen Sie das Repository.

**AWS Universität für Machine Learning** 

Die AWS Machine Learning University (MLU) bietet Zugang zu den Kursen für maschinelles Lernen, mit denen Amazons eigene Entwickler geschult werden. Mit der AWS MLU Accelerator-Lernserie von learn-at-your-own -pace kann jeder Entwickler lernen, wie man maschinelles Lernen einsetzt. Die MLU Accelerator-Serie soll Entwicklern helfen, ihre ML-Reise zu beginnen. Sie bietet dreitägige Grundlagenkurse zu diesen drei Themen: Verarbeitung natürlicher Sprache, Tabellarische Daten und Computer Vision. Weitere Informationen finden Sie unter [Machine Learning University](https://aws.amazon.com//machine-learning/mlu/). 

Das folgende Verfahren zeigt, wie Sie die AWS MLU Jupyter-Notebooks auf Ihre Instanz klonen. 

1. Starten und öffnen Sie die Studio Lab-Projektlaufzeitumgebung, indem Sie [Starten Sie Ihre Projektlaufzeit](studio-lab-manage-runtime.md#studio-lab-manage-runtime-start) folgen.

1. Sobald Studio Lab geöffnet ist, wählen Sie in der linken Seitenleiste den Tab Git (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git.png)). 

1. Wählen Sie **Repository klonen**.

   Wenn die Option **Repository klonen** nicht angezeigt wird, kann dies daran liegen, dass Sie sich derzeit in einem Git-Repository befinden. Verwenden Sie stattdessen die folgenden Teilschritte.

   1. Wählen Sie in der linken Seitenleiste die Registerkarte „Ordner“ (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) aus.

   1. Wählen Sie unter der Dateisuchleiste das Ordnersymbol links neben dem aktuell ausgewählten Repository aus. Wenn Sie den Mauszeiger über das Ordnersymbol bewegen, wird das Benutzerverzeichnis (`/home/studio-lab-user`) angezeigt.

   1. Sobald Sie im Benutzerverzeichnis sind, wählen Sie die Git-Registerkarte in der linken Seitenleiste aus.

   1. Wählen Sie **Repository klonen**.

1. Unter **Git-Repository-URL (.git)** werden Sie aufgefordert, eine URL anzugeben.

1. Navigieren Sie in einer neuen Browser-Registerkarte zu Ihrer Projektübersichtsseite. Die URL nimmt folgendes Format an.

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1. Unter **Neu im Bereich Machine Learning?**, wählen Sie **AWS Machine Learning University**. 

1. Suchen Sie im neuen Browser-Tab der **AWS Machine Learning University** nach einem Kurs, der Sie interessiert, indem Sie die **Kurszusammenfassung** für jeden Kurs lesen.

1. Wählen Sie unter **Kursinhalt** das entsprechende GitHub Repository von Interesse aus, um eine neue Seite mit den Beispielnotizbüchern zu öffnen.

1. Wählen Sie **Code** und kopieren Sie die URL des GitHub Repositorys in den **HTTPS-Tab**.

1. Kehren Sie zum Studio Lab zurück, öffnen Sie die Projektbrowser-Registerkarte, fügen Sie die URL des D2L-Repositorys ein und wählen Sie **Klonen** aus, um das Repository zu klonen.

**Roboflow** 

Roboflow bietet Ihnen die Tools zum Trainieren, Feinabstimmen und Kennzeichnen von Objekten für Computer-Vision-Anwendungen. Weitere Informationen finden Sie unter [https://roboflow.com/](https://roboflow.com/).

Die folgenden Schritte zeigen, wie Sie die Roboflow Jupyter Notebooks auf Ihre Instance klonen.

1. Navigieren Sie zur Projektübersichtsseite von Studio Lab. Die URL nimmt folgendes Format an:

   ```
   https://studiolab.sagemaker.aws/users/<YOUR_USER_NAME>
   ```

1. Suchen Sie unter **Ressourcen und Community** nach **KI-generierte Bilder erstellen**.

1. Wählen Sie unter **KI-generierte Bilder erstellen** die Option **Notebook öffnen** aus.

1. Folgen Sie dem Tutorial unter der Notebook-Vorschau.

# Vorinstallierte Studio Lab-Umgebungen
<a name="studio-lab-environments"></a>

Amazon SageMaker Studio Lab verwendet Conda-Umgebungen, um Pakete (oder Bibliotheken) für Ihre Projekte zu verwalten. In diesem Handbuch wird erklärt, was Conda-Umgebungen sind, wie man mit ihnen interagiert und welche verschiedenen vorinstallierten Umgebungen in Studio Lab verfügbar sind.

Eine Conda-Umgebung ist ein Verzeichnis, das eine Sammlung von Paketen enthält, die Sie installiert haben. Sie ermöglicht Ihnen, isolierte Umgebungen mit spezifischen Paketversionen zu erstellen, wodurch Konflikte zwischen Projekten mit unterschiedlichen Abhängigkeiten vermieden werden.

Sie können mit Conda-Umgebungen in Studio Lab auf zwei Arten interagieren:
+ Terminal: Verwenden Sie das Terminal, um Umgebungen zu erstellen, zu aktivieren und zu verwalten.
+ JupyterLab Notizbuch: Wählen Sie beim Öffnen eines JupyterLab Notebooks den Kernel mit dem Umgebungsnamen aus, den Sie verwenden möchten, um die in dieser Umgebung installierten Pakete zu verwenden.

Eine schrittweise Anleitung zur Verwaltung Ihrer Umgebungen finden Sie unter [Verwalten Sie Ihre Umgebung](studio-lab-use-manage.md).

Studio Lab verfügt über mehrere vorinstallierte Umgebungen, die entweder persistente oder nicht persistente Speicherumgebungen sind. Alle Änderungen, die an Umgebungen mit persistentem Speicher vorgenommen wurden, bleiben für Ihre nächste Sitzung bestehen. Alle Änderungen an nicht persistenten Speicherumgebungen bleiben nicht für Ihre nächsten Sitzungen bestehen, aber die darin enthaltenen Pakete werden von Amazon AI aktualisiert und auf Kompatibilität getestet. SageMaker Im Folgenden finden Sie eine Übersicht über jede Umgebung und ihren Anwendungsfall:
+ `sagemaker-distribution`: Eine nicht persistente Umgebung, die von Amazon SageMaker AI verwaltet wird. Sie enthält beliebte Pakete für Machine Learning, Datenwissenschaft und Visualisierung. Diese Umgebung wird regelmäßig aktualisiert und auf Kompatibilität getestet. Verwenden Sie diese Umgebung, wenn Sie eine vollständig verwaltete Konfiguration mit vorinstallierten gängigen Paketen wünschen. 

  Die `sagemaker-distribution` Umgebung ist eng mit der Umgebung verwandt, die in Amazon SageMaker Studio Classic verwendet wird. Nach dem Übergang von Studio Lab zu Studio Classic sollten die Notebooks also ähnlich laufen. Informationen zum Exportieren Ihrer Umgebung von Studio Lab nach Studio Classic finden Sie unter [Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic](studio-lab-use-migrate.md).
+ `default`: Eine persistente Umgebung mit nur wenigen vorinstallierten Paketen. Verwenden Sie diese Umgebung, wenn Sie sie durch die Installation zusätzlicher Pakete erheblich anpassen möchten. 
+ `studiolab`: Eine persistente Umgebung, in der JupyterLab und verwandte Pakete installiert sind. Verwenden Sie diese Umgebung für die Konfiguration der JupyterLab Benutzeroberfläche und die Installation von Jupyter-Servererweiterungen.
+ `studiolab-safemode`: Eine nicht persistente Umgebung, die automatisch aktiviert wird, wenn ein Problem mit der Laufzeit Ihres Projekts auftritt. Verwenden Sie diese Umgebung zur Fehlerbehebung. Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung](studio-lab-troubleshooting.md). 
+ `base`: Eine nicht persistente Umgebung, die für Systemtools verwendet wird. Diese Umgebung ist nicht für die Verwendung durch Kunden vorgesehen.

Führen Sie den Befehl `conda list` aus, damit die Pakete in einer Umgebung angezeigt werden.

Weitere Informationen zur Installation von Paketen in Ihrer Umgebung finden Sie unter [Passen Sie Ihre Umgebung an](studio-lab-use-manage.md#studio-lab-use-manage-conda-default-customize).

Wenn Sie von Studio Lab zu Amazon SageMaker Studio Classic wechseln möchten, finden Sie weitere Informationen unter[Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic](studio-lab-use-migrate.md).

Informationen zu SageMaker Bildern und ihren Versionen finden Sie unter[SageMaker Amazon-Bilder sind für die Verwendung mit Studio Classic-Notebooks verfügbar](notebooks-available-images.md).

# Verwenden Sie die Amazon SageMaker Studio Lab-Projektlaufzeit
<a name="studio-lab-use"></a>

 Die folgenden Themen enthalten Informationen zur Verwendung der Amazon SageMaker Studio Lab-Projektlaufzeit. Bevor Sie die Studio Lab-Projektlaufzeit verwenden können, müssen Sie Studio Lab hinzufügen, indem Sie die Schritte unter befolgen[Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md).

**Topics**
+ [Überblick über die Amazon SageMaker Studio Lab-Benutzeroberfläche](studio-lab-use-ui.md)
+ [Erstellen oder öffnen Sie ein Amazon SageMaker Studio Lab-Notizbuch](studio-lab-use-create.md)
+ [Verwenden Sie die Amazon SageMaker Studio Lab-Notizbuch-Symbolleiste](studio-lab-use-menu.md)
+ [Verwalten Sie Ihre Umgebung](studio-lab-use-manage.md)
+ [Verwenden Sie externe Ressourcen in Amazon SageMaker Studio Lab](studio-lab-use-external.md)
+ [Abrufen von Notebook-Differenzen](studio-lab-use-diff.md)
+ [Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic](studio-lab-use-migrate.md)
+ [Herunterfahren der Studio-Lab-Ressourcen](studio-lab-use-shutdown.md)

# Überblick über die Amazon SageMaker Studio Lab-Benutzeroberfläche
<a name="studio-lab-use-ui"></a>

Amazon SageMaker Studio Lab erweitert die JupyterLab Schnittstelle. Frühere Benutzer von JupyterLab werden Ähnlichkeiten zwischen der Benutzeroberfläche von Studio Lab JupyterLab und der Benutzeroberfläche von Studio Lab feststellen, einschließlich des Arbeitsbereichs. Einen Überblick über die grundlegende JupyterLab Benutzeroberfläche finden Sie unter [Die JupyterLab Benutzeroberfläche](https://jupyterlab.readthedocs.io/en/latest/user/interface.html).

Die folgende Abbildung zeigt Studio Lab mit geöffnetem Dateibrowser und der Studio-Zielseite.

![\[Das Layout der Benutzeroberfläche für die Projektübersicht.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio-lab-ui.png)


Am oberen Rand des Bildschirms befindet sich die *Menüleiste*. Auf der linken Seite des Bildschirms befindet sich die *linke Seitenleiste* mit Symbolen, um Datei- und Ressourcenbrowser und Werkzeugen zu öffnen. Die *Statusleiste* befindet sich in der unteren linken Ecke von Studio Lab.

Der Hauptarbeitsbereich ist horizontal in zwei Bereiche unterteilt. Der linke Bereich ist der *Datei- und Ressourcenbrowser*. Der rechte Bereich enthält eine oder mehrere Registerkarten für Ressourcen wie Notebooks, Terminals, Metriken und Grafiken.

**Topics**
+ [Linke Seitenleiste](#studio-lab-use-ui-nav-bar)
+ [Datei- und Ressourcenbrowser](#studio-lab-use-ui-browser)
+ [Hauptarbeitsbereich](#studio-lab-use-ui-work)

## Linke Seitenleiste
<a name="studio-lab-use-ui-nav-bar"></a>

Die linke Seitenleiste enthält die folgenden Symbole. Wenn Sie den Mauszeiger über ein Symbol bewegen, wird der Symbolname in einer QuickInfo angezeigt. Wenn Sie ein Symbol auswählen, zeigt der Datei- und Ressourcenbrowser die beschriebene Funktionalität an. Bei hierarchischen Einträgen zeigt ein auswählbarer Breadcrumb am oberen Rand des Browsers Ihre Postion in der Hierarchie an.


| Symbol | Description | 
| --- | --- | 
|  ![\[Das Symbol Dateibrowser\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/File_browser_squid@2x.png)  |  **Dateibrowser** Wählen Sie das Symbol **Dateien hochladen** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/File_upload_squid.png)) aus, um Dateien zu Studio Lab hinzuzufügen. Doppelklicken Sie auf eine Datei, um die Datei in einer neuen Registerkarte zu öffnen. Wenn angrenzende Dateien geöffnet werden sollen, wählen Sie eine Registerkarte aus, die eine Notebook-, Python- oder Textdatei enthält, und wählen anschließend **New View for File** aus. Wählen Sie das Pluszeichen (**\$1**) im Menü oben im Dateibrowser aus, um den Studio Launcher zu öffnen.  | 
|  ![\[Das Symbol Ausführen von Terminals und Kernel\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Running_squid@2x.png)  |  **Ausführen von Terminalen und Kerneln** Sie finden eine Liste mit allen laufenden Terminals und Kernel in Ihrem Projekt. Weitere Informationen finden Sie unter [Herunterfahren der Studio-Lab-Ressourcen](studio-lab-use-shutdown.md).  | 
|  ![\[Das Symbol Git\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Git_squid@2x.png)  |  **Git** Sie können eine Verbindung zu einem Git-Repository herstellen und dann auf eine vollständige Palette von Git-Tools und Operationen zugreifen. Weitere Informationen finden Sie unter [Verwenden Sie externe Ressourcen in Amazon SageMaker Studio Lab](studio-lab-use-external.md).  | 
|  ![\[Das Symbol Inhaltsverzeichnis\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-toc.png)  |  **Neues Inhaltsverzeichnis** Sie können auf das Inhaltsverzeichnis Ihres aktuellen Jupyter Notebooks zugreifen.  | 
|  ![\[Das Symbol Erweiterungsmanager\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-extension.png)  |  **Erweiterung Manager** Sie können JupyterLab Erweiterungen von Drittanbietern aktivieren und verwalten.  | 

## Datei- und Ressourcenbrowser
<a name="studio-lab-use-ui-browser"></a>

Der Datei- und Ressourcenbrowser zeigt Listen Ihrer Notebooks und Dateien an. Wählen Sie im Menü oben im Dateibrowser das Pluszeichen (**\$1**) aus, um den Studio Launcher zu öffnen. Mit dem Launcher können Sie ein Notebook erstellen, eine interaktive Python-Shell starten oder ein Terminal öffnen.

## Hauptarbeitsbereich
<a name="studio-lab-use-ui-work"></a>

Der Hauptarbeitsbereich hat mehrere Tabs, die Ihre geöffneten Notebooks und Terminals enthalten.

# Erstellen oder öffnen Sie ein Amazon SageMaker Studio Lab-Notizbuch
<a name="studio-lab-use-create"></a>

Wenn Sie ein Notizbuch in Amazon SageMaker Studio Lab erstellen oder ein Notizbuch in Studio Lab öffnen, müssen Sie einen Kernel für das Notizbuch auswählen. In den folgenden Themen wird beschrieben, wie Sie Notebook in Studio Lab erstellen und öffnen.

Weitere Informationen zum Herunterfahren des Notebooks finden Sie unter [Herunterfahren der Studio-Lab-Ressourcen](studio-lab-use-shutdown.md).

**Topics**
+ [Öffnen Sie ein Studio Lab-Notebook](#studio-lab-use-create-open)
+ [Erstellen eines Notebooks über das Dateimenü](#studio-lab-use-create-file)
+ [Erstellen eines Notebooks über den Launcher](#studio-lab-use-create-launcher)

## Öffnen Sie ein Studio Lab-Notebook
<a name="studio-lab-use-create-open"></a>

Studio kann nur Notebooks öffnen, die im Studio-Dateibrowser aufgeführt sind. Informationen zum Klonen eines Notebooks aus einem externen Repository in Ihren Dateibrowser finden Sie unter [Verwenden Sie externe Ressourcen in Amazon SageMaker Studio Lab](studio-lab-use-external.md).

**Ein Notebook öffnen**

1. Wählen Sie in der linken Seitenleiste das Symbol **Dateibrowser** (![\[Dark blue square icon with a white outline of a cloud and an arrow pointing upward.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/File_browser_squid.png)) aus, um den Dateibrowser anzuzeigen.

1. Wechseln Sie zu einer Notebookdatei und doppelklicken Sie darauf, um das Notebook in einer neuen Registerkarte zu öffnen.

## Erstellen eines Notebooks über das Dateimenü
<a name="studio-lab-use-create-file"></a>

**So erstellen Sie ein Notebook über das Dateimenü**

1. Wählen Sie im Menü oben in Studio **File**, **New** und dann **Notebook** aus.

1. Um den Standard-Kernel zu verwenden, wählen Sie im Dialogfeld **Kernel auswählen** die Option „**Auswählen**. Andernfalls verwenden Sie das Dropdown-Menü, um einen anderen Kernel auszuwählen.

## Erstellen eines Notebooks über den Launcher
<a name="studio-lab-use-create-launcher"></a>

**So erstellen Sie ein Notebook über den Launcher**

1. Öffnen Sie den Launcher mithilfe der Tastenkombination `Ctrl + Shift + L`.

   Sie können den Launcher auch von der linken Seitenleiste aus öffnen: Wählen Sie das **Dateibrowser** Symbol und dann das Plussymbol (**\$1**).

1. Um den Standard-Kernel aus dem Launcher zu verwenden, wählen Sie unter **Notebook** die Option **default:Python**. Wählen Sie andernfalls einen anderen Kernel.

Nachdem Sie den Kernel ausgewählt haben, startet Ihr neues Notebook und öffnet sich in einer neuen Studio-Registerkarte. 

Um die Kernelsitzung des Notebooks anzuzeigen, wählen Sie in der linken Seitenleiste das Symbol **Ausführen von Terminals und Kernel** (![\[Square icon with a white outline of a cloud on a dark blue background.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Running_squid.png)) aus. Sie können die Kernel-Sitzung des Notebooks von dieser Ansicht aus stoppen.

# Verwenden Sie die Amazon SageMaker Studio Lab-Notizbuch-Symbolleiste
<a name="studio-lab-use-menu"></a>

Amazon SageMaker Studio Lab-Notebooks erweitern die JupyterLab Benutzeroberfläche. Einen Überblick über die grundlegende JupyterLab Benutzeroberfläche finden Sie unter [Die JupyterLab Benutzeroberfläche](https://jupyterlab.readthedocs.io/en/latest/user/interface.html).

Die folgende Abbildung zeigt die Menüleiste und eine leere Zelle in einem Studio Lab-Notebook.

![\[Das Layout der Notebook-Symbolleiste, einschließlich der Symbolleistensymbole.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio-lab-menu.png)


Wenn Sie mit dem Mauszeiger auf ein Symbol zeigen, wird die Funktion hinter dem Symbol in einer QuickInfo angezeigt. Weitere Notebook-Befehle finden Sie im Studio-Hauptmenü. Die Menüleiste enthält die folgenden Symbole.


| Symbol | Description | 
| --- | --- | 
|  ![\[Das Symbol Speichern und Checkpoint.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-save-and-checkpoint.png)  |  **Speichern und Checkpoint** Speichert das Notebook und aktualisiert die Checkpoint-Datei.  | 
|  ![\[Das Symbol Zelle einfügen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-insert-cell.png)  |  **Zelle einfügen** Fügt unterhalb der aktuellen Zelle eine Codezelle ein. Die aktuelle Zelle wird durch die blaue vertikale Markierung am linken Rand gekennzeichnet.  | 
|  ![\[Das Symbol Zellen ausschneiden, kopieren und einfügen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab_cut_copy_paste.png)  |  **Zellen ausschneiden, kopieren und einfügen** Schneidet die ausgewählten Zellen aus, kopiert sie und fügt sie ein.  | 
|  ![\[Das Symbol Zellen ausführen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-run.png)  |  **Zellen ausführen** Führt die ausgewählten Zellen aus. Die Zelle, die auf die zuletzt ausgewählte Zelle folgt, wird zur neu ausgewählten Zelle.  | 
|  ![\[Das Symbol Kernel unterbrechen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-interrupt-kernel.png)  |  **Kernel unterbrechen** Unterbricht den Kernel. Hierdurch wird die aktuell ausgeführte Operation abgebrochen. Der Kernel bleibt aktiv.  | 
|  ![\[Das Symbol Kernel neu starten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-restart-kernel.png)  |  **Kernel neu starten** Startet den Kernel neu. Variablen werden zurückgesetzt. Nicht gespeicherte Informationen sind davon nicht betroffen.  | 
|  ![\[Das Symbol Kernel neu starten und Notebook erneut ausführen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-restart-rerun-kernel.png)  |  **Starten Sie den Kernel neu und führen Sie das Notebook erneut aus** Startet den Kernel neu. Variablen werden zurückgesetzt. Nicht gespeicherte Informationen sind nicht betroffen. Führt dann das gesamte Notebook erneut aus.  | 
|  ![\[Das Symbol Zellentyp.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab_cell.png)  |  **Zelltyp** Zeigt den aktuellen Zelltyp an oder ändert ihn. Die Zelltypen sind: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/studio-lab-use-menu.html)  | 
|  ![\[Das Symbol Checkpoint-Diff.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-checkpoint-diff.png)  |  **Checkpoint-Differenz** Öffnet eine neue Registerkarte, auf der die Differenz zwischen dem Notebook und der Checkpoint-Datei angezeigt wird. Weitere Informationen finden Sie unter [Abrufen von Notebook-Differenzen](studio-lab-use-diff.md).  | 
|  ![\[Das Symbol Git-Diff.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-git-diff.png)  |  **Git-Differenz** Ist nur aktiviert, wenn das Notebook aus einem Git-Repository geöffnet wird. Öffnet eine neue Registerkarte, auf der die Differenz zwischen dem Notebook und dem letzten Git-Commit angezeigt wird. Weitere Informationen finden Sie unter [Abrufen von Notebook-Differenzen](studio-lab-use-diff.md).  | 
|  **default**  |  **Kernel** Zeigt den Kernel an, der die Zellen im Notebook verarbeitet, oder ändert ihn. `No Kernel` zeigt an, dass das Notebook geöffnet wurde, ohne einen Kernel anzugeben. Sie können das Notebook bearbeiten, jedoch keine Zellen ausführen.  | 
|  ![\[Das Symbol Kernel ausgelastet.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/studio-lab-kernel.png)  |  **Kernel ausgelastet** Zeigt den Besetzt-Status eines Kernels an, indem der Rand und das Innere des Kreises in derselben Farbe dargestellt werden. Der Kernel ist ausgelastet, wenn er gestartet wird und wenn er Zellen verarbeitet. Zusätzliche Kernel-Status werden in der Statusleiste in der unteren linken Ecke von Studio Lab angezeigt.  | 

# Verwalten Sie Ihre Umgebung
<a name="studio-lab-use-manage"></a>

Amazon SageMaker Studio Lab bietet vorinstallierte Umgebungen für Ihre Studio Lab-Notebook-Instances. Mit diesen Umgebungen können Sie eine Studio Lab-Notebook-Instance mit den Paketen starten, die Sie verwenden möchten. Dazu installieren Sie in der Umgebung Pakete und wählen dann die Umgebung als Kernel aus. 

In Studio Lab sind verschiedene Umgebungen für Sie vorinstalliert. In der Regel verwenden Sie die `sagemaker-distribution` Umgebung, wenn Sie eine vollständig verwaltete Umgebung verwenden möchten, die bereits viele beliebte Pakete im Bereich Machine Learning (ML) für Ingenieure und Datenwissenschaftler enthält. Andernfalls können Sie die `default` Umgebung verwenden, wenn Sie Ihre Umgebung dauerhaft individualisieren wollen. Weitere Informationen zu den angebotenen vorinstallierten Studio Lab-Umgebungen finden Sie unter [Vorinstallierte Studio Lab-Umgebungen](studio-lab-environments.md).

Sie können Ihre Umgebung anpassen, indem Sie neue Pakete (oder Bibliotheken) hinzufügen. Sie können auch aus Studio Lab heraus neue Umgebungen erstellen, kompatible Umgebungen importieren, Ihre Umgebung zurücksetzen, um Platz zu schaffen, u.v.m. 

Die folgenden Befehle werden in einem Studio Lab-Terminal ausgeführt. Bei der Installation von Paketen wird jedoch dringend empfohlen, diese in Ihrem Studio Lab Jupyter Notebook zu installieren. Dadurch wird sichergestellt, dass die Pakete in der vorgesehenen Umgebung installiert sind. Damit die Befehle in einem Jupyter Notebook ausgeführt werden, stellen Sie dem jeweiligen Befehl ein `%` voran, bevor Sie die Zelle ausführen. Der Codeausschnitt `pip list` in einem Terminal ist z. B. dasselbe wie `%pip list` in einem Jupyter Notebook.

Die folgenden Abschnitte enthalten Informationen zu Ihrer `default` Conda-Umgebung und dazu, wie Sie diese individuell anpassen und wie Sie Conda-Umgebungen hinzufügen und entfernen können. Eine Liste der Beispielumgebungen, die Sie in Studio Lab installieren können, finden Sie unter [Benutzerdefinierte Conda-Umgebungen erstellen](https://github.com/aws/studio-lab-examples/tree/main/custom-environments). Informationen zur Verwendung dieser YAML-Dateien für eine Beispielumgebung mit Studio Lab finden Sie unter [Schritt 4: Installieren Ihrer Conda-Umgebungen von Studio Lab in Studio Classic](studio-lab-use-migrate.md#studio-lab-use-migrate-step4). 

**Topics**
+ [Ihre Standardumgebung](#studio-lab-use-manage-conda-default)
+ [Umgebungen anzeigen](#studio-lab-use-view-conda-envs)
+ [Neue Conda-Umgebungen erstellen, aktivieren und verwenden](#studio-lab-use-manage-conda-new-conda)
+ [Verwendung von Studio Lab-Beispielumgebungen](#studio-lab-use-manage-conda-sample)
+ [Passen Sie Ihre Umgebung an](#studio-lab-use-manage-conda-default-customize)
+ [Studio Lab aktualisieren](#studio-lab-use-manage-conda-reset)

## Ihre Standardumgebung
<a name="studio-lab-use-manage-conda-default"></a>

Studio Lab verkapselt die Softwarepakete, die für den Betrieb von Notebooks gebraucht werden, mit Conda-Umgebungen. [Ihr Projekt enthält eine standardmäßige Conda-Umgebung mit dem IPython Namen `default` Kernel.](https://ipython.readthedocs.io/en/stable/) Diese Umgebung dient als Standard-Kernel für Ihre Jupyter Notebooks.

## Umgebungen anzeigen
<a name="studio-lab-use-view-conda-envs"></a>

Sie können ein Terminal oder ein Jupyter Notebook verwenden, damit die Umgebungen in Studio Lab angezeigt werden. Die folgenden Befehle sind für ein Studio Lab-Terminal bestimmt. Wenn die entsprechenden Befehle in einem Jupyter Notebook ausgeführt werden sollen, finden Sie weitere Informationen unter [Verwalten Sie Ihre Umgebung](#studio-lab-use-manage).

Öffnen Sie das Studio-Lab-Terminal, indem Sie den Bereich **Dateibrowser** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) öffnen. Wählen Sie im Menü oben im Dateibrowser das Pluszeichen (**\$1**), um den **Launcher** zu öffnen, und wählen Sie dann **Terminal**. Führen Sie im Studio Lab-Terminal die Conda-Umgebungen auf, indem Sie den folgenden Befehl ausführen.

```
conda env list
```

Dieser Befehl gibt eine Liste der Conda-Umgebungen und ihrer Speicherorte im Dateisystem aus. Wenn Sie Studio Lab integrieren, aktivieren Sie automatisch die `studiolab` Conda-Umgebung. Das folgende Beispiel zeigt eine Aufstellung der Umgebungen nach dem Onboarding.

```
# conda environments:
#
default                  /home/studio-lab-user/.conda/envs/default
studiolab             *  /home/studio-lab-user/.conda/envs/studiolab
studiolab-safemode       /opt/amazon/sagemaker/safemode-home/.conda/envs/studiolab-safemode
base                     /opt/conda
sagemaker-distribution     /opt/conda/envs/sagemaker-distribution
```

Die aktivierte Umgebung ist mit `*` markiert.

## Neue Conda-Umgebungen erstellen, aktivieren und verwenden
<a name="studio-lab-use-manage-conda-new-conda"></a>

Wenn Sie mehrere Umgebungen für unterschiedliche Anwendungsfälle pflegen möchten, können Sie neue Conda-Umgebungen in Ihrem Projekt erstellen. In den folgenden Abschnitten sehen Sie, wie Sie neue Conda-Umgebungen erstellen und aktivieren können. Ein Jupyter-Notizbuch, das zeigt, wie eine benutzerdefinierte Umgebung erstellt wird, finden Sie unter [Einrichten einer benutzerdefinierten Umgebung](https://github.com/aws/studio-lab-examples/blob/main/custom-environments/custom_environment.ipynb) in Studio Lab. SageMaker 

**Anmerkung**  
Wenn Sie mehrerer Umgebungen pflegen, wird der dafür nötige Speicherplatz von Ihrem verfügbaren Studio Lab-Arbeitsspeicher abgezogen.

 **Conda-Umgebung erstellen** 

Führen Sie den folgenden Conda-Befehl von Ihrem Terminal aus, um eine Conda-Umgebung zu erstellen. In diesem Beispiel wird mit Python 3.9 eine neue Umgebung erstellt. 

```
conda create --name <ENVIRONMENT_NAME> python=3.9
```

Sobald die Conda-Umgebung erstellt wurde, erscheint diese auf der Liste Ihrer Umgebung. Weitere Informationen dazu, wie Sie eine Liste Ihrer Umgebungen erstellen können, finden Sie unter [Umgebungen anzeigen](#studio-lab-use-view-conda-envs).

 **Conda-Umgebung aktivieren** 

Geben Sie den folgenden Befehl in das Terminal ein, um eine beliebige Conda-Umgebung zu aktivieren.

```
conda activate <ENVIRONMENT_NAME>
```

Wenn Sie diesen Befehl eingeben, werden alle mit Conda oder Pip installierten Pakete in der Umgebung installiert. Weitere Informationen dazu, wie Pakete installiert oder aktualisiert werden, finden Sie unter [Passen Sie Ihre Umgebung an](#studio-lab-use-manage-conda-default-customize).

 **Verwendung einer Conda-Umgebung** 

1. Um Ihre neuen Conda-Umgebungen mit Notebooks zu verwenden, vergewissern Sie sich, dass das `ipykernel` Paket in der Umgebung installiert ist.

   ```
   conda install ipykernel
   ```

1. Wenn das `ipykernel` Paket einmal in der Umgebung installiert ist, können Sie die Umgebung als Kernel für Ihr Notebook auswählen. 

   Möglicherweise müssen Sie neu starten, um JupyterLab zu sehen, dass die Umgebung als Kernel verfügbar ist. Wählen Sie dazu im oberen Menü Ihres geöffneten ** SageMaker Studio Lab-Projekts Amazon** Studio Lab und wählen **Sie Restart JupyterLab...** . 

1. Sie können den Kernel für ein bestehendes Notizbuch auswählen oder einen neuen erstellen.
   + Für ein vorhandenes Notebook: Öffnen Sie das Notebook und wählen Sie den aktuellen Kernel auf der rechten Seite des Hauptmenüs aus. Sie können den gewünschten Kernel aus dem Dropdown-Menü auswählen.
   + Für ein neues Notebook: Öffnen Sie den Studio Lab Launcher und wählen Sie den Kernel unter **Notebook** aus. Dadurch wird das Notebook mit dem von Ihnen ausgewählten Kernel geöffnet.

     Eine Übersicht über die Benutzeroberfläche von Studio Lab finden Sie unter [Überblick über die Amazon SageMaker Studio Lab-Benutzeroberfläche](studio-lab-use-ui.md).

## Verwendung von Studio Lab-Beispielumgebungen
<a name="studio-lab-use-manage-conda-sample"></a>

Studio Lab stellt benutzerdefinierte Beispielumgebungen über das [SageMaker Studio Lab Examples](https://github.com/aws/studio-lab-examples) Repository bereit. Im Folgenden wird gezeigt, wie diese Umgebungen geklont und erstellt werden.

1. Klonen Sie das SageMaker Studio Lab GitHub Examples Repository, indem Sie den Anweisungen unter folgen[Verwenden Sie Ressourcen GitHub](studio-lab-use-external.md#studio-lab-use-external-clone-github).

1. Wählen Sie in Studio Lab im linken Menü das Symbol für den **Dateibrowser** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) aus, so dass das Bedienfeld **Dateibrowser** auf der linken Seite angezeigt wird.

1. Navigieren Sie im Dateibrowser zu dem Verzeichnis `studio-lab-examples/custom-environments`.

1. Öffnen Sie das Verzeichnis für die Umgebung, die Sie erstellen möchten.

1. Klicken Sie mit der rechten Maustaste auf die `.yml` Datei im Ordner und wählen Sie dann **Conda-Umgebung erstellen**.

1. Sie können die Umgebung jetzt als Kernel verwenden, sobald die Erstellung Ihrer Conda-Umgebung abgeschlossen ist. Anweisungen zur Verwendung einer vorhandenen Umgebung als Kernel finden Sie unter [Neue Conda-Umgebungen erstellen, aktivieren und verwenden](#studio-lab-use-manage-conda-new-conda)

## Passen Sie Ihre Umgebung an
<a name="studio-lab-use-manage-conda-default-customize"></a>

Sie können Ihre Umgebung individuell anpassen, indem Sie Erweiterungen und Pakete nach Bedarf installieren und entfernen. Studio Lab enthält Umgebungen mit vorinstallierten Paketen. Wenn Sie eine vorhandene Umgebung verwenden, können Sie Zeit und Speicherplatz sparen, da der erforderliche Speicherplatz für vorinstallierte Pakete nicht von Ihrem verfügbaren Studio Lab-Arbeitsspeicher abgezogen wird. Weitere Informationen zu den angebotenen vorinstallierten Studio Lab-Umgebungen finden Sie unter [Vorinstallierte Studio Lab-Umgebungen](studio-lab-environments.md).

Alle installierten Erweiterungen und Pakete, die in Ihrer `default`-Umgebung installiert sind, bleiben in Ihrem Projekt bestehen. Das heißt, Sie müssen Ihre Pakete nicht für jede Projektlaufzeit-Sitzung installieren. In Ihrer `sagemaker-distribution` Umgebung installierte Erweiterungen und Pakete bleiben jedoch nicht erhalten. Daher müssen Sie während der nächsten Sitzung neue Pakete installieren. Es wird daher dringend empfohlen, in Ihrem Notebook Pakete zu installieren, damit diese in der vorgesehenen Umgebung installiert sind.

Führen Sie den Befehl `conda env list` aus, damit Ihre Umgebungen angezeigt werden.

Führen Sie den Befehl `conda activate <ENVIRONMENT_NAME>` aus, um Ihre Umgebung zu aktivieren.

Führen Sie den Befehl `conda list` aus, damit die Pakete in einer Umgebung angezeigt werden.

 **Pakete installieren** 

Es wird dringend empfohlen, Ihre Pakete in Ihrem Jupyter Notebook zu installieren, damit Ihre Pakete in der vorgesehenen Umgebung installiert sind. Um für Ihre Umgebung weitere Pakete von einem Jupyter Notebook aus zu installieren, geben Sie in eine Zelle Ihres Jupyter Notebooks einen der folgenden Befehle ein. Mit diesen Befehlen werden Pakete in der aktuell aktivierten Umgebung installiert. 
+  `%conda install <PACKAGE>` 
+  `%pip install <PACKAGE>` 

Wir empfehlen nicht, die Befehle `!pip` oder `!conda` zu verwenden, da diese in mehreren verschiedenen Umgebungen ein unerwartetes Verhalten zeigen können. 

Wenn Sie in Ihrer Umgebung neue Pakete installiert haben, müssen Sie ggf. den Kernel neu starten, damit die Pakete in Ihrem Notebook auch funktionieren. Dies können Sie tun, indem Sie **Amazon SageMaker Studio Lab** im oberen Menü Ihres geöffneten Studio Lab-Projekts auswählen und dann **Restart JupyterLab...** auswählen. . 

 **Pakete entfernen** 

Führen Sie den Befehl aus, um ein Paket zu entfernen

```
%conda remove <PACKAGE_NAME>
```

Mit diesem Befehl werden außerdem alle Pakete entfernt, die von `<PACKAGE_NAME>` abhängen, es sei denn, es kann ein Ersatz gefunden werden, der diese Abhängigkeit nicht hat. 

Geben Sie den folgenden Befehl ein, um alle Pakete aus einer Umgebung zu entfernen

```
conda deactivate
&& conda env remove --name
<ENVIRONMENT_NAME>
```

## Studio Lab aktualisieren
<a name="studio-lab-use-manage-conda-reset"></a>

Entfernen Sie alle Ihre Umgebungen und Dateien, um Studio Lab zu aktualisieren. 

1. Eine Aufstellung aller Conda-Umgebungen erstellen.

   ```
   conda env list
   ```

1. Basisumgebung aktivieren.

   ```
   conda activate base
   ```

1. Entfernen Sie jede außer der Basisumgebung von der Liste der Conda-Umgebungen.

   ```
   conda remove --name <ENVIRONMENT_NAME> --all
   ```

1. Löschen Sie alle Dateien in Ihrem Studio Lab.

   ```
   rm -rf *.*
   ```

# Verwenden Sie externe Ressourcen in Amazon SageMaker Studio Lab
<a name="studio-lab-use-external"></a>

Mit Amazon SageMaker Studio Lab können Sie externe Ressourcen wie Jupyter-Notebooks und Daten aus Git-Repositorys und Amazon S3 integrieren. Sie können Ihrem GitHub Repo und Ihren Notizbüchern auch eine Schaltfläche „**In Studio Lab öffnen**“ hinzufügen. Mit dieser Schaltfläche können Sie Ihre Notebooks direkt aus Studio Lab klonen.

In den folgenden Themen wird erläutert, wie Sie externe Ressourcen integrieren.

**Topics**
+ [Verwenden Sie Ressourcen GitHub](#studio-lab-use-external-clone-github)
+ [Fügen Sie Ihrem Notebook die Schaltfläche **In Studio Lab öffnen** hinzu](#studio-lab-use-external-add-button)
+ [Importieren Sie Dateien von Ihrem Computer](#studio-lab-use-external-import)
+ [Mit Amazon S3 verbinden](#studio-lab-use-external-s3)

## Verwenden Sie Ressourcen GitHub
<a name="studio-lab-use-external-clone-github"></a>

Studio Lab bietet Integration mit GitHub. Mit dieser Integration können Sie Notebooks und Repositorys direkt in Ihr Studio Lab-Projekt klonen. 

Die folgenden Themen enthalten Informationen zur Verwendung von GitHub Ressourcen mit Studio Lab.

### Beispiel-Notebooks von Studio Lab
<a name="studio-lab-use-external-clone-examples"></a>

Informationen zu den ersten Schritten mit einer Sammlung von Muster-Notebooks, die auf Studio Lab zugeschnitten sind, finden Sie unter [Studio Lab-Beispiel-Notebooks](https://github.com/aws/studio-lab-examples#sagemaker-studio-lab-sample-notebooks).

Dieses Repository bietet Notebooks für die folgenden und andere Anwendungsfälle.
+ Computervision
+ Verbindung herstellen zu AWS
+ Erstellen von benutzerdefinierten Umgebungen
+ Analyse von koordinatenbasierten Daten
+ Natürliche Sprachverarbeitung
+ R verwenden

### Klonen Sie ein GitHub Repo
<a name="studio-lab-use-external-clone-repo"></a>

Gehen Sie folgendermaßen vor, um ein GitHub Repo in Ihr Studio Lab-Projekt zu klonen. 

1. Starten Sie die Laufzeit Ihres Studio Lab-Projekts. Weitere Informationen zum Starten der Studio Lab-Projektlaufzeit finden Sie unter [Starten Sie Ihre Projektlaufzeit](studio-lab-manage-runtime.md#studio-lab-manage-runtime-start). 

1. Wählen Sie in Studio Lab im linken Menü das **Dateibrowser** -Symbol (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)), sodass das **Dateibrowser-Bedienfeld** auf der linken Seite angezeigt wird. 

1. Navigieren Sie zu Ihrem Benutzerverzeichnis, indem Sie das Dateisymbol unter der Dateisuchleiste auswählen. 

1. Wählen Sie im linken Menü das **Git**-Symbol (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git.png)) aus, um ein neues Dropdown-Menü zu öffnen. 

1. Wähle **Repository klonen**. 

1. Fügen Sie die URL des Repositorys unter **Git-Repository-URL (.git)** ein. 

1. Wählen Sie **Clone** aus. 

### Klonen Sie einzelne Notizbücher von GitHub
<a name="studio-lab-use-external-clone-individual"></a>

Um ein Notebook in Studio Lab zu öffnen, müssen Sie Zugriff auf das Repository haben, in dem sich das Notebook befindet. In den folgenden Beispielen wird das Verhalten von Studio Lab in Bezug auf Berechtigungen in verschiedenen Situationen beschrieben.
+ Wenn ein Repo öffentlich ist, können Sie das Notebook von der Studio Lab-Vorschauseite aus automatisch in Ihr Projekt klonen.
+ Wenn ein Repo privat ist, werden Sie aufgefordert, sich GitHub von der Studio Lab-Vorschauseite aus anzumelden. Wenn Sie Zugriff auf ein privates Repo haben, können Sie das Notebook in Ihr Projekt klonen.
+ Wenn Sie keinen Zugriff auf ein privates Repo haben, können Sie das Notebook nicht von der Studio Lab-Vorschauseite aus klonen.

In den folgenden Abschnitten werden zwei Optionen beschrieben, mit denen Sie ein GitHub Notizbuch in Ihr Studio Lab-Projekt kopieren können. Diese Optionen hängen davon ab, ob das Notebook über die Schaltfläche **In Studio Lab öffnen** verfügt. 

#### Option 1: Kopieren Sie das Notebook mit der Schaltfläche **In Studio Lab öffnen**
<a name="studio-lab-use-external-clone-individual-button"></a>

Das folgende Verfahren zeigt, wie Sie ein Notebook kopieren, das über die Schaltfläche **In Studio Lab öffnen** verfügt. Informationen dazu, wie Sie diese Schaltfläche zu Ihrem Notebook hinzufügen möchten, finden Sie unter [Fügen Sie Ihrem Notebook die Schaltfläche **In Studio Lab öffnen** hinzu](#studio-lab-use-external-add-button).

1. Melden Sie sich bei Studio Lab an, indem Sie den Schritten in [Melden Sie sich bei Studio an](studio-lab-onboard.md#studio-lab-onboard-signin) folgen.

1. Navigieren Sie in einem neuen Browser-Tab zu dem GitHub Notizbuch, das Sie klonen möchten. 

1. Wählen Sie im Notebook die Schaltfläche **In Studio Lab öffnen**, um eine neue Seite in Studio Lab mit einer Vorschau des Notebooks zu öffnen.

1. Wenn Ihre Projekt-Runtime noch nicht läuft, starten Sie sie, indem Sie oben auf der Vorschauseite auf die Schaltfläche **Laufzeit starten** klicken. Warten Sie den Start der Laufzeitumgebung ab, bevor Sie mit dem nächsten Schritt fortfahren.

1. Nachdem Ihre Projektlaufzeit gestartet wurde, wählen Sie In **Projekt kopieren**, um Ihre Projektlaufzeit in einem neuen Browser-Tab zu öffnen. 

1. Im Feld **Kopieren von GitHub?** Wählen Sie im Dialogfeld **Nur Notizbuch kopieren** aus. Dadurch wird die Notebook-Datei in Ihr Projekt kopiert.

#### Option 2: Klonen Sie ein beliebiges GitHub Notizbuch
<a name="studio-lab-use-external-clone-individual-general"></a>

Das folgende Verfahren zeigt, wie Sie ein beliebiges Notizbuch von kopieren GitHub. 

1. Navigieren Sie zu dem Notizbuch in GitHub. 

1. Ändern Sie in der Adressleiste des Browsers die Notebook-URL wie folgt.

   ```
   # Original URL
   https://github.com/<PATH_TO_NOTEBOOK>
   
   # Modified URL 
   https://studiolab.sagemaker.aws/import/github/<PATH_TO_NOTEBOOK>
   ```

1. Navigieren Sie zur geänderten URL. Dadurch wird eine Vorschau des Notebooks in Studio Lab geöffnet. 

1. Wenn Ihre Projekt-Runtime noch nicht läuft, starten Sie sie, indem Sie oben auf der Vorschauseite auf die Schaltfläche **Laufzeit starten** klicken. Warten Sie den Start der Laufzeitumgebung ab, bevor Sie mit dem nächsten Schritt fortfahren. 

1. Nachdem Ihre Projektlaufzeit gestartet wurde, wählen Sie In **Projekt kopieren**, um Ihre Projektlaufzeit in einem neuen Browser-Tab zu öffnen. 

1. In der Datei **Kopieren von GitHub?** Wählen Sie im Dialogfeld **Nur Notizbuch kopieren** aus, um die Notizbuchdatei in Ihr Projekt zu kopieren.

## Fügen Sie Ihrem Notebook die Schaltfläche **In Studio Lab öffnen** hinzu
<a name="studio-lab-use-external-add-button"></a>

Wenn Sie Ihren Notebooks die Schaltfläche **In Studio Lab öffnen** hinzufügen, können andere Benutzer Ihre Notebooks oder Repositorys direkt in ihre Studio Lab-Projekte klonen. Wenn Sie Ihr Notizbuch in einem öffentlichen GitHub Repository teilen, ist Ihr Inhalt öffentlich lesbar. Teilen Sie keine privaten Inhalte wie AWS Zugriffsschlüssel oder AWS Identity and Access Management Anmeldeinformationen in Ihrem Notizbuch.

Um Ihrem Jupyter Notebook oder -Repository die funktionale Schaltfläche **In Studio Lab öffnen** hinzuzufügen, fügen Sie oben in Ihrem Notebook oder Repository den folgenden Markdown hinzu. 

```
[![Open In SageMaker Studio Lab](https://studiolab.sagemaker.aws/studiolab.svg)](https://studiolab.sagemaker.aws/import/github/<PATH_TO_YOUR_NOTEBOOK_ON_GITHUB>)
```

## Importieren Sie Dateien von Ihrem Computer
<a name="studio-lab-use-external-import"></a>

Die folgenden Schritte zeigen, wie Sie Dateien von Ihrem Computer in Ihr Studio Lab-Projekt importieren.  

1. Öffnen Sie die Studio Lab-Projektlaufzeit. 

1. Öffnen Sie das **Dateibrowser**-Bedienfeld. 

1. Wählen Sie in der Aktionsleiste des **Dateibrowser**-Bedienfelds die Schaltfläche **Dateien hochladen**. 

1. Wählen Sie die Dateien aus, die Sie von Ihrem lokalen Computer hochladen möchten. 

1. Wählen Sie **Öffnen** aus. 



Alternativ können Sie Dateien per Drag-and-Drop von Ihrem Computer in das **Dateibrowsers**-Bedienfeld ziehen. 

## Mit Amazon S3 verbinden
<a name="studio-lab-use-external-s3"></a>

Das AWS CLI ermöglicht die AWS Integration in Ihr Studio Lab-Projekt. Mit dieser Integration können Sie Ressourcen aus Amazon S3 abrufen, um sie mit Ihren Jupyter Notebooks zu verwenden.

Führen Sie zur Verwendung AWS CLI mit Studio Lab die folgenden Schritte aus. Ein Notizbuch, das diese Integration beschreibt, finden Sie unter [Using Studio Lab with AWS Resources](https://github.com/aws/studio-lab-examples/blob/main/connect-to-aws/Access_AWS_from_Studio_Lab.ipynb).

1. Installieren Sie die AWS CLI folgenden Schritte unter [Installation oder Aktualisierung der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). 

1. Konfigurieren Sie Ihre AWS Anmeldeinformationen, indem Sie den Schritten unter [Schnellinstallation](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) folgen. Die Rolle für Ihr AWS Konto muss über Berechtigungen für den Zugriff auf den Amazon S3 S3-Bucket verfügen, aus dem Sie Daten kopieren. 

1. Klonen Sie von Ihrem Jupyter Notebook aus, nach Bedarf Ressourcen aus dem Amazon-S3-Bucket. Der folgende Befehl zeigt, wie Sie alle Ressourcen von einem Amazon S3-Pfad in Ihr Projekt klonen. Weitere Informationen finden Sie in der [AWS CLI -Befehlsreferenz](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html).

   ```
   !aws s3 cp s3://<BUCKET_NAME>/<PATH_TO_RESOURCES>/ <PROJECT_DESTINATION_PATH>/ --recursive
   ```

# Abrufen von Notebook-Differenzen
<a name="studio-lab-use-diff"></a>

Sie können den Unterschied zwischen dem aktuellen Notizbuch und dem letzten Checkpoint oder dem letzten Git-Commit mithilfe der Amazon SageMaker Studio Lab-Projekt-UI anzeigen.

**Topics**
+ [Abrufen der Differenz zum letzten Checkpoint](#studio-lab-use-diff-checkpoint)
+ [Abrufen der Differenz zum letzten Commit](#studio-lab-use-diff-git)

## Abrufen der Differenz zum letzten Checkpoint
<a name="studio-lab-use-diff-checkpoint"></a>

Bei der Erstellung eines Notebooks wird eine versteckte Checkpoint-Datei erstellt, die mit dem erstellten Notebook übereinstimmt. Sie können Änderungen zwischen dem Notebook und der Checkpoint-Datei anzeigen oder das Notebook so zurücksetzen, dass es mit der Checkpoint-Datei übereinstimmt.

So speichern Sie das Studio-Lab-Notebook und aktualisieren die Checkpoint-Datei entsprechend: Wählen Sie das Symbol (![\[Icon of a cloud with an arrow pointing upward, representing cloud upload functionality.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Notebook_save.png)) **Notebook speichern und Checkpoint erstellen** aus. Es befindet sich auf der linken Seite des Studio Lab-Menüs. Die Tastenkombination für **Notebook speichern und Checkpoint erstellen** `Ctrl + s` lautet.

Um die Änderungen zwischen dem Notebook und der Checkpoint-Datei anzuzeigen, wählen Sie das Symbol **Checkpoint-Diff** (![\[Camera icon representing image capture or photo functionality.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Checkpoint_diff.png)) in der Mitte des Notebook-Menüs aus.

Um das Notebook auf die Checkpoint-Datei zurückzusetzen, wählen Sie im Studio-Hauptmenü **File ** und dann **Notebook auf Checkpoint zurücksetzen** aus.

## Abrufen der Differenz zum letzten Commit
<a name="studio-lab-use-diff-git"></a>

Wenn ein Notebook aus einem Git-Repository geöffnet wird, können Sie die Differenz zwischen dem Notebook und dem letzten Git-Commit anzeigen.

Um die Änderungen im Notebook im Vergleich zum letzten Git-Commit anzuzeigen, wählen Sie das Symbol **Git-Diff** (![\[GitHub icon representing version control and source code management.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Git_diff.png)) in der Mitte des Notebook-Menüs aus.

# Exportieren Sie eine Amazon SageMaker Studio Lab-Umgebung nach Amazon SageMaker Studio Classic
<a name="studio-lab-use-migrate"></a>

Amazon SageMaker Studio Classic bietet viele Funktionen für maschinelles Lernen und Deep-Learning-Workflows, die in Amazon SageMaker Studio Lab nicht verfügbar sind. Auf dieser Seite wird gezeigt, wie Sie eine Studio-Lab-Umgebung zu Studio Classic migrieren, um mehr Rechenkapazität, Speicherplatz und Features zu nutzen. Möglicherweise möchten Sie sich jedoch mit den vorgefertigten Containern von Studio Classic vertraut machen, die für die gesamte MLOP-Pipeline optimiert sind. Weitere Informationen finden Sie unter [Amazon SageMaker Studio-Labor](studio-lab.md).

Um Ihre Studio-Lab-Umgebung zu Studio Classic zu migrieren, müssen Sie zunächst Studio Classic integrieren. Folgen Sie dabei den Anweisungen unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). 

**Topics**
+ [Schritt 1: Exportieren Sie Ihre Studio Lab Conda-Umgebung.](#studio-lab-use-migrate-step1)
+ [Schritt 2: Speichern Sie Ihre Studio Lab-Artefakte.](#studio-lab-use-migrate-step2)
+ [Schritt 3: Importieren Ihrer Studio-Lab-Artefakte in Studio Classic](#studio-lab-use-migrate-step3)
+ [Schritt 4: Installieren Ihrer Conda-Umgebungen von Studio Lab in Studio Classic](#studio-lab-use-migrate-step4)

## Schritt 1: Exportieren Sie Ihre Studio Lab Conda-Umgebung.
<a name="studio-lab-use-migrate-step1"></a>

Sie können eine Conda-Umgebung exportieren und der Umgebung Bibliotheken oder Pakete hinzufügen. Befolgen Sie dazu die Schritte unter [Verwalten Sie Ihre Umgebung](studio-lab-use-manage.md). Das folgende Beispiel zeigt die Verwendung der `default`-Umgebung, die in Studio Classic exportiert werden soll. 

1. Öffnen Sie das Studio-Lab-Terminal, indem Sie den Bereich **Dateibrowser** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) öffnen. Wählen Sie im Menü oben im Dateibrowser das Pluszeichen (**\$1**), um den **Launcher** zu öffnen, und wählen Sie dann **Terminal**. Führen Sie im Studio Lab-Terminal die Conda-Umgebungen auf, indem Sie den folgenden Befehl ausführen.

   ```
   conda env list
   ```

   Dieser Befehl gibt eine Liste der Conda-Umgebungen und ihrer Speicherorte im Dateisystem aus. Wenn Sie Studio Lab integrieren, aktivieren Sie automatisch die `studiolab` Conda-Umgebung.

   ```
   # conda environments: #
              default                  /home/studio-lab-user/.conda/envs/default
              studiolab             *  /home/studio-lab-user/.conda/envs/studiolab
              studiolab-safemode       /opt/amazon/sagemaker/safemode-home/.conda/envs/studiolab-safemode
              base                     /opt/conda
   ```

   Wir empfehlen, die `studiolab`-, – `studiolab-safemode`und `base`-Umgebungen nicht zu exportieren. Diese Umgebungen können aus folgenden Gründen nicht in Studio Classic verwendet werden: 
   +  `studiolab`: Dadurch wird die JupyterLab Umgebung für Studio Lab eingerichtet. In Studio Lab wird eine andere Hauptversion von JupyterLab als Studio Classic ausgeführt, sodass sie in Studio Classic nicht verwendet werden kann. 
   +  `studiolab-safemode`: Dadurch wird auch die JupyterLab Umgebung für Studio Lab eingerichtet. In Studio Lab wird eine andere Hauptversion von JupyterLab als Studio Classic ausgeführt, sodass sie in Studio Classic nicht verwendet werden kann. 
   +  `base`: Diese Umgebung wird standardmäßig mit Conda bereitgestellt. Die `base`-Umgebung in Studio Lab und die `base`-Umgebung in Studio Classic enthalten inkompatible Versionen vieler Pakete. 

1. Aktivieren Sie für die Conda-Umgebung, die Sie nach Studio Classic migrieren möchten, zunächst die Conda-Umgebung. Die `default`-Umgebung wird dann geändert, wenn neue Bibliotheken installiert oder daraus entfernt werden. Um den genauen Zustand der Umgebung zu ermitteln, exportieren Sie sie über die Befehlszeile in eine YAML-Datei. Mit den folgenden Befehlszeilen wird die Standardumgebung in eine YAML-Datei exportiert und eine Datei mit dem Namen `myenv.yml` erstellt.

   ```
   conda activate default
   conda env export > ~/myenv.yml
   ```

## Schritt 2: Speichern Sie Ihre Studio Lab-Artefakte.
<a name="studio-lab-use-migrate-step2"></a>

Nachdem Sie Ihre Umgebung in einer YAML-Datei gespeichert haben, können Sie die Umgebungsdatei auf eine beliebige Plattform verschieben. 

------
#### [ Save to a local machine using Studio Lab GUI ]

**Anmerkung**  
Die Möglichkeit, ein Verzeichnis über die Benutzeroberfläche von Studio Lab durch Klicken mit der rechten Maustaste auf das Verzeichnis herunterzuladen, ist derzeit nicht verfügbar. Wenn Sie ein Verzeichnis exportieren möchten, befolgen Sie bitte die Schritte auf der Registerkarte **In Git-Repository speichern**. 

Eine Möglichkeit besteht darin, die Umgebung auf Ihrem lokalen Computer zu speichern. Führen Sie dazu die folgenden Schritte aus.

1. Wählen Sie in Studio Lab im linken Menü das **Dateibrowser** -Symbol (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)), sodass das **Dateibrowser-Bedienfeld** auf der linken Seite angezeigt wird. 

1. Navigieren Sie zu Ihrem Benutzerverzeichnis, indem Sie das Dateisymbol unter der Dateisuchleiste auswählen. 

1. Wählen Sie (durch Rechtsklick) die Datei `myenv.yml` aus und wählen Sie dann **Herunterladen**. Sie können diesen Vorgang für andere Dateien wiederholen, die Sie in Studio Classic importieren möchten. 

------
#### [ Save to a Git repository ]

Eine weitere Möglichkeit besteht darin, Ihre Umgebung in einem Git-Repository zu speichern. Diese Option dient GitHub als Beispiel. Für diese Schritte sind ein GitHub Konto und ein Repository erforderlich. Weitere Informationen finden Sie unter [GitHub](https://github.com/). Das folgende Verfahren zeigt, wie Sie Ihre Inhalte GitHub mithilfe des Studio Lab-Terminals synchronisieren. 

1. Navigieren Sie vom Studio Lab-Terminal aus zu Ihrem Benutzerverzeichnis und erstellen Sie ein neues Verzeichnis, das die Dateien enthält, die Sie exportieren möchten. 

   ```
   cd ~
   mkdir <NEW_DIRECTORY_NAME>
   ```

1. Nachdem Sie ein neues Verzeichnis erstellt haben, kopieren Sie jede Datei oder jedes Verzeichnis, in das Sie exportieren in `<NEW_DIRECTORY_NAME>` möchten. 

   Kopieren Sie eine Datei mit dem folgenden Codeformat:

   ```
   cp <FILE_NAME> <NEW_DIRECTORY_NAME>
   ```

   Ersetzen Sie zum Beispiel `<FILE_NAME>` durch `myenv.yml`. 

   Kopieren Sie ein beliebiges Verzeichnis im folgenden Codeformat:

   ```
   cp -r <DIRECTORY_NAME> <NEW_DIRECTORY_NAME>
   ```

   Ersetzen Sie zum Beispiel `<DIRECTORY_NAME>` durch einen beliebigen Verzeichnisnamen in Ihrem Benutzerverzeichnis.

1. Navigieren Sie zum neuen Verzeichnis und initialisieren Sie das Verzeichnis mit dem folgenden Befehl als Git-Repository. Weitere Informationen dazu finden Sie in der [git-init-Dokumentation](https://git-scm.com/docs/git-init). 

   ```
   cd <NEW_DIRECTORY_NAME>
   git init
   ```

1. Fügen Sie mit Git alle relevanten Dateien hinzu und committen Sie Ihre Änderungen anschließend. 

   ```
   git add .
   git commit -m "<COMMIT_MESSAGE>"
   ```

   Ersetzen Sie zum Beispiel `<COMMIT_MESSAGE>` durch `Add Amazon SageMaker Studio Lab artifacts to GitHub repository to migrate to Amazon SageMaker Studio Classic `.

1. Verschieben Sie das Commit in Ihr Remote-Repository. Dieses Repository hat das Format`https://github.com/<GITHUB_USERNAME>/ <REPOSITORY_NAME>.git`, in dem `<GITHUB_USERNAME>` Ihr GitHub Benutzername und der Name Ihres Remote-Repositorys `<REPOSITORY_NAME>` steht. Erstellen Sie einen Branch`<BRANCH_NAME>`, um den Inhalt in das GitHub Repository zu übertragen.

   ```
   git branch -M <BRANCH_NAME>
   git remote add origin https://github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git
   git push -u origin <BRANCH_NAME>
   ```

------

## Schritt 3: Importieren Ihrer Studio-Lab-Artefakte in Studio Classic
<a name="studio-lab-use-migrate-step3"></a>

Das folgende Verfahren zeigt, wie Sie Artefakte in Studio Classic importieren. Die Anweisungen zur Verwendung des Feature Store über die Konsole hängen davon ab, ob Sie Studio oder Studio Classic als Standardkonfiguration aktiviert haben. Weitere Informationen zum Zugriff auf Studio Classic über die Konsole finden Sie unter [Starten von Studio Classic, wenn Studio Ihre Standardkonfiguration ist](studio-launch.md#studio-launch-console-updated).

Sie können Dateien von Studio Classic aus von Ihrem lokalen Computer oder aus einem Git-Repository importieren. Dazu können Sie die Benutzeroberfläche oder das Terminal von Studio Classic verwenden. Im folgenden Verfahren werden die Beispiele aus [Schritt 2: Speichern Sie Ihre Studio Lab-Artefakte.](#studio-lab-use-migrate-step2) verwendet. 

------
#### [ Import using the Studio Classic GUI ]

Wenn Sie die Dateien auf Ihrem lokalen Computer gespeichert haben, können Sie die Dateien mit den folgenden Schritten in Studio Classic importieren.

1. Öffnen Sie den Bereich **Dateibrowser** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/folder.png)) oben links in Studio Classic. 

1. Wählen Sie das Symbol **Dateien hochladen** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/File_upload_squid.png)) im Menü oben im Bereich **Dateibrowser**. 

1. Navigieren Sie zu der Datei, die Sie importieren möchten, und wählen Sie dann **Öffnen** aus. 

**Anmerkung**  
Wenn Sie ein Verzeichnis in Studio Classic importieren möchten, komprimieren Sie zunächst das Verzeichnis auf Ihrem lokalen Computer in eine Datei. Klicken Sie auf einem Mac mit der rechten Maustaste auf das Verzeichnis und wählen Sie **„Komprimieren*<DIRECTORY\$1NAME>*“**. Unter Windows klicken Sie mit der rechten Maustaste auf das Verzeichnis und wählen **Senden an** und dann **ZIP-komprimierter Ordner**. Nachdem das Verzeichnis komprimiert wurde, importieren Sie die komprimierte Datei mithilfe der vorherigen Schritte. Entpacken Sie nun die komprimierte Datei. Dazu navigieren Sie zum Studio-Classic-Terminal und führen den Befehl `<DIRECTORY_NAME>.zip` aus. 

------
#### [ Import using a Git repository ]

Dieses Beispiel bietet zwei Optionen für das Klonen eines GitHub Repositorys in Studio Classic. Sie können die Studio-Classic-Benutzeroberfläche verwenden, indem Sie auf der linken Seite von Studio Classic auf die Registerkarte **Git** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/git.png)) klicken. Wählen Sie „**Repository klonen**“ und fügen Sie dann Ihre GitHub Repository-URL von ein[Schritt 2: Speichern Sie Ihre Studio Lab-Artefakte.](#studio-lab-use-migrate-step2). Die andere Möglichkeit besteht darin, das Studio-Classic-Terminal mithilfe des folgenden Verfahrens zu verwenden. 

1. Öffnen Sie Studio Classic **Launcher**. Weitere Informationen zum Öffnen des **Launchers** finden Sie unter [Amazon SageMaker Studio Classic Launcher](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launcher.html). 

1. Wählen Sie im **Launcher** im Bereich **Notebooks und Datenverarbeitungsressourcen** die Option **Umgebung ändern** aus.

1. Öffnen Sie den **Launcher** in Studio Classic. Um den **Launcher** zu öffnen, wählen Sie **Amazon SageMaker Studio Classic** in der oberen linken Ecke von Studio Classic. 

   Weitere Informationen zu allen verfügbaren Möglichkeiten, den **Launcher** zu öffnen, finden Sie unter [Verwenden Sie den Amazon SageMaker Studio Classic Launcher](studio-launcher.md).

1. Wählen Sie im Dialogfeld **Umgebung ändern** in der Dropdown-Liste **Image** das **Data Science**-Image aus und dann **Auswählen**. Auf diesem Image ist Conda vorinstalliert. 

1. Wählen Sie im Studio Classic **Launcher** die Option **Image-Terminal öffnen** aus.

1. Führen Sie im Image-Terminal den folgenden Befehl aus, um Ihr Repository zu klonen. Dieser Befehl erstellt in Ihrer Studio-Classic-Instance ein Verzeichnis, das nach `<REPOSITORY_NAME>` benannt ist, und klont Ihre Artefakte in diesem Repository.

   ```
   git clone https://github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git
   ```

------

## Schritt 4: Installieren Ihrer Conda-Umgebungen von Studio Lab in Studio Classic
<a name="studio-lab-use-migrate-step4"></a>

Sie können jetzt Ihre Conda-Umgebung mithilfe Ihrer YAML-Datei in Ihrer Studio-Classic-Instance neu erstellen. Öffnen Sie Studio Classic **Launcher**. Weitere Informationen zum Öffnen des **Launchers** finden Sie unter [Amazon SageMaker Studio Classic Launcher](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launcher.html). Wählen Sie im **Launcher** die Option **Image-Terminal öffnen**. Navigieren Sie im Terminal zu dem Verzeichnis, das die YAML-Datei enthält, und führen Sie dann die folgenden Befehle aus. 

```
conda env create --file <ENVIRONMENT_NAME>.yml
conda activate <ENVIRONMENT_NAME>
```

Nachdem diese Befehle abgeschlossen sind, können Sie Ihre Umgebung als Kernel für Ihre Notebook-Instances von Studio Classic auswählen. Um die verfügbare Umgebung anzuzeigen, führen Sie den Befehl `conda env list` aus. Führen Sie den Befehl `conda activate <ENVIRONMENT_NAME>` aus, um Ihre Umgebung zu aktivieren.



# Herunterfahren der Studio-Lab-Ressourcen
<a name="studio-lab-use-shutdown"></a>

Sie können Ihre laufenden Amazon SageMaker Studio Lab-Ressourcen von einem Ort in Ihrer Studio Lab-Umgebung aus anzeigen und herunterfahren. Zu den ausgeführten Ressourcentypen gehören Terminals und Kernel. Sie können auch alle Ressourcen eines Ressourcentyps gleichzeitig herunterfahren.

Wenn Sie alle Ressourcen herunterfahren, die zu einem Ressourcentyp gehören, passiert Folgendes:
+ **KERNELS** – Alle Kernel, Notebooks und Konsolen sind heruntergefahren.
+ **TERMINALS** – Alle Terminals sind heruntergefahren.

**Herunterfahren der Studio-Lab-Ressourcen**

1. Starten Sie die Laufzeit Ihres Studio Lab-Projekts. Weitere Informationen zum Starten der Studio Lab-Projektlaufzeit finden Sie unter [Starten Sie Ihre Projektlaufzeit](studio-lab-manage-runtime.md#studio-lab-manage-runtime-start).

1. Wählen Sie im linken Navigationsbereich das Symbol **Ausführen von Terminals und Kernel** (![\[Square icon with a white outline of a cloud on a dark blue background.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/icons/Running_squid.png)) aus.

1. Wählen Sie das **X**-Symbol rechts neben der Ressource aus, die Sie herunterfahren möchten. Sie können das **X**-Symbol sehen, indem Sie den Mauszeiger über eine Ressource bewegen.

1. (Optional) Sie können alle Ressourcen eines bestimmten Ressourcentyps herunterfahren, indem Sie rechts neben dem Namen des Ressourcentyps die Option **Alle herunterfahren** auswählen.

# Fehlerbehebung
<a name="studio-lab-troubleshooting"></a>

Das Handbuch zeigt häufige Fehler, die bei der Verwendung von Amazon SageMaker Studio Lab (Studio Lab) auftreten können. Jeder Fehler enthält eine Beschreibung sowie eine Lösung für den Fehler.

**Anmerkung**  
Sie können Ihr Passwort nicht mit mehreren Benutzern teilen oder Studio Lab zum Minen von Kryptowährungen verwenden. Wir empfehlen, Studio Lab aufgrund von Laufzeitbeschränkungen nicht für Produktionsaufgaben zu verwenden.

 **Probleme mit Abhängigkeiten** 

Am 8. August 2025 wurde Studio Lab von JupyterLab 3 auf JupyterLab 4 migriert. Informationen zu JupyterLab 4 finden Sie unter [4.0.0 — Highlights im JupyterLab Changelog](https://jupyterlab.readthedocs.io/en/4.0.x/getting_started/changelog.html#highlights). Wenn Sie vor dem 8. August 2025 JupyterLab Erweiterungen in Ihrer Studio Lab-Umgebung installiert haben, müssen Sie sie möglicherweise in der JupyterLab 4-Umgebung neu installieren.

 **Ich kann nicht auf das Konto zugreifen** 

Wenn Sie nicht auf Ihr Konto zugreifen können, überprüfen Sie, ob Sie die richtige E-Mail-Adresse und das richtige Passwort verwenden. Wenn Sie Ihr Passwort vergessen haben, gehen Sie wie folgt vor, um Ihr Passwort zurückzusetzen. Wenn Sie immer noch nicht auf Ihr Konto zugreifen können, müssen Sie mithilfe der Anweisungen unter [Einsteigen in Amazon SageMaker Studio Lab](studio-lab-onboard.md) ein neues Konto beantragen und sich für dieses registrieren. 

 **Passwort vergessen** 

Wenn Sie Ihr Passwort vergessen haben, müssen Sie es mit den folgenden Schritten zurücksetzen. 

1. Navigieren Sie zur [Studio Lab-Landingpage](https://studiolab.sagemaker.aws).

1. Wählen Sie **Anmelden** aus.

1. Wählen Sie **Passwort vergessen?** um eine neue Seite zu öffnen. 

1. Geben Sie die E-Mail-Adresse ein, mit der Sie sich für ein Konto angemeldet haben. 

1. Wählen Sie **Link zum Zurücksetzen senden**, um eine E-Mail mit einem Link zum Zurücksetzen des Passworts zu senden. 

1. Wählen Sie in der E-Mail zum Zurücksetzen des Passworts die Option **Passwort zurücksetzen** aus. 

1. Geben Sie Ihr neues Passwort ein. 

1. Wählen Sie **Absenden** aus. 

 **Projekt Laufzeit kann nicht gestartet werden** 

Wenn die Studio Lab Projekt Laufzeit nicht gestartet wird, versuchen Sie erneut, sie zu starten. Wenn das nicht funktioniert, wechseln Sie den Instance-Typ von CPU zu GPU (oder umgekehrt). Weitere Informationen finden Sie unter [Ändern Sie Ihren Rechnertyp](studio-lab-manage-runtime.md#studio-lab-manage-runtime-change).

 **Laufzeit wurde unerwartet nicht mehr ausgeführt** 

Wenn es ein Problem mit der zur Ausführung verwendeten Umgebung gibt JupyterLab, erstellt Studio Lab die Umgebung automatisch neu. Studio Lab unterstützt die manuelle Aktivierung dieses Prozesses nicht. 

 **Widersprüchliche Versionen** 

Da Sie Pakete hinzufügen und Ihre Umgebung nach Bedarf ändern können, kann es zu Konflikten zwischen Paketen in Ihrer Umgebung kommen. Wenn es in Ihrer Umgebung Konflikte zwischen Paketen gibt, müssen Sie das widersprüchliche Paket entfernen.

 **Die Erstellung der Umgebung schlägt fehl** 

Wenn Sie eine Umgebung aus einer YAML-Datei erstellen, kann ein Paketversionskonflikt oder ein Dateiproblem dazu führen, dass ein Build fehlschlägt. Um dieses Problem zu beheben, entfernen Sie die Umgebung, indem Sie den folgenden Befehl ausführen. Tun Sie dies, bevor Sie erneut versuchen, die Datei zu erstellen. 

```
conda remove --name <YOUR_ENVIRONMENT> --all
```

 **Fehlermeldung beim Zulassen des Herunterladens von Skripts von der Domain \$1.awswaf.com** 

Studio Classic verwendet den Firewall-Dienst für Webanwendungen AWS WAF , um Ihre Ressourcen zu schützen. Dieser verwendet JavaScript. Wenn Sie ein Browser-Sicherheits-Plugin verwenden, das das Herunterladen JavaScript verhindert, wird dieser Fehler möglicherweise angezeigt. Um Studio Classic zu verwenden, lassen JavaScript Sie den Download von\$1.awswaf.com als vertrauenswürdige Domain zu. Weitere Informationen zu finden Sie unter AWS WAF[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html), und. AWS WAF AWS Firewall Manager AWS Shield Advanced Entwicklerhandbuch. 

 **Der Festplattenspeicher ist voll** 

Wenn Sie beim Versuch, eine **Datei zu öffnen, in der darauf hingewiesen wird, dass Ihr Festplattenspeicher voll ist oder dass *<FILE\$1NAME>* beim Versuch, eine Datei zu öffnen, ein Fehler beim Laden angezeigt** wird, können Sie Dateien, Verzeichnisse, Bibliotheken oder Umgebungen entfernen, um den Speicherplatz zu vergrößern. Weitere Informationen zum Verwalten Ihrer Bibliotheken und Umgebungen finden Sie unter [Verwalten Sie Ihre Umgebung](studio-lab-use-manage.md).

 ****Die Projektlaufzeit befindet sich im abgesicherten Modus**-Benachrichtigung** 

Wenn Sie eine Benachrichtigung erhalten, dass sich **Projekt Laufzeit im abgesicherten Modus befindet**, müssen Sie Speicherplatz freigeben, um die Studio Lab Projekt Laufzeit wieder verwenden zu können. Folgen Sie den Anweisungen im vorherigen Punkt zur Problembehandlung, **Festplattenspeicher ist voll**. Sobald bis zu 500 MB Speicherplatz gelöscht wurden, können Sie Projekt Laufzeit neu starten, um Studio Lab zu verwenden. Wählen Sie dazu im oberen Menü von ** SageMaker Studio Lab Amazon** Studio Lab und wählen **Sie Restart JupyterLab...** .

git **kann `cv2` nicht importieren** 

Wenn beim Import `cv2` nach der Installation von `opencv-python` ein Fehler auftritt, müssen Sie `opencv-python` wie folgt deinstallieren und `opencv-python-headless` installieren.

```
%pip uninstall opencv-python --yes
%pip install opencv-python-headless
```

Sie können dann `cv2` wie erwartet importieren.

 **Studio Lab reagiert nicht mehr, wenn große Dateien geöffnet werden** 

Die Studio Lab IDE kann möglicherweise nicht rendern, wenn große Dateien geöffnet werden, was dazu führt, dass der Zugriff auf Studio Lab-Ressourcen blockiert wird. Um dieses Problem zu beheben, setzen Sie den Studio Lab-Workspace wie folgt zurück.

1. Nachdem Sie die IDE geöffnet haben, kopieren Sie die URL in die Adressleiste Ihres Browsers. Die URL sollte im Format `https://xxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab` sein. Schließen Sie den Tab.

1. Fügen Sie die URL in einem neuen Tab ein und entfernen Sie alles nach `https://xxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab`.

1. Fügen `?reset` Sie am Ende der URL hinzu, sodass es das `https://xxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab?reset` Format hat.

1. Navigieren Sie zur aktualisierten URL. Dadurch wird der gespeicherte UI-Status zurückgesetzt und die Studio Lab-IDE wird reaktionsfähig.

# Amazon SageMaker Leinwand
<a name="canvas"></a>

Amazon SageMaker Canvas bietet Ihnen die Möglichkeit, maschinelles Lernen zu verwenden, um Vorhersagen zu generieren, ohne Code schreiben zu müssen. Im Folgenden sind einige Anwendungsfälle aufgeführt, in denen Sie SageMaker Canvas verwenden können:
+ Vorhersagen der Kundenabwanderung
+ Planen von Beständen effizient
+ Optimieren Sie Preis und Umsatz
+ Verbessern Sie die pünktlichen Lieferungen
+ Klassifizieren Sie Text oder Bilder anhand benutzerdefinierter Kategorien
+ Identifizieren Sie Objekte und Text in Bildern
+ Extrahieren Sie Informationen aus Dokumenten

Mit Canvas können Sie mit beliebten großen Sprachmodellen (LLMs) chatten, auf Ready-to-use Modelle zugreifen oder ein benutzerdefiniertes Modell erstellen, das auf Ihren Daten trainiert wurde.

Canvas Chat ist eine Funktion, die Open Source und Amazon nutzt, LLMs um Ihnen zu helfen, Ihre Produktivität zu steigern. Sie können die Models auffordern, Unterstützung bei Aufgaben wie der Generierung von Inhalten, der Zusammenfassung oder Kategorisierung von Dokumenten und der Beantwortung von Fragen zu erhalten. Weitere Informationen hierzu finden Sie unter [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).

Die [Ready-to-use Modelle](canvas-ready-to-use-models.md) in Canvas können Erkenntnisse aus Ihren Daten für eine Vielzahl von Anwendungsfällen extrahieren. [Sie müssen kein Modell erstellen, um Ready-to-use Modelle zu verwenden, da sie von Amazon AI-Services wie Amazon [Rekognition, Amazon](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html)[Textract und Amazon Comprehend](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) unterstützt werden.](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) Sie müssen nur Ihre Daten importieren und beginnen, eine Lösung zur Generierung von Prognosen zu verwenden.

Wenn Sie ein Modell benötigen, das an Ihren Anwendungsfall angepasst und mit Ihren Daten trainiert wurde, können Sie [ein Modell erstellen](canvas-custom-models.md). Sie können mithilfe der folgenden Verfahren Prognosen erhalten, die an Ihre Daten angepasst sind:

1. Importieren Sie Ihre Daten aus einer oder mehreren Datenquellen.

1. Erstellen Sie ein Vorhersagemodell.

1. Bewerten Sie die Leistung des Modells.

1. Generieren Sie Prognosen mit dem Modell.

Canvas unterstützt die folgenden Typen von benutzerdefinierten Modellen:
+ Numerische Vorhersage (auch bekannt als *Regression*)
+ Kategorische Vorhersage für Kategorien 2 und mehr (auch bekannt als *binäre* Klassifikation und Klassifikation mit *mehreren Klassen*)
+ Zeitreihenprognosen
+ Vorhersage von Einzelbildern (auch bekannt als *Image-Klassifizierung*)
+ Textvorhersage mit mehreren Kategorien (auch bekannt als *Multi-Klassen-Textklassifikation*)

[Weitere Informationen zur Preisgestaltung finden Sie auf der Preisseite von Canvas. SageMaker ](https://aws.amazon.com/sagemaker/canvas/pricing/) Weitere Informationen finden Sie auch bei [Abrechnung und Kosten in SageMaker Canvas](canvas-manage-cost.md).

SageMaker Canvas ist derzeit in den folgenden Regionen erhältlich:
+ US East (Ohio)
+ USA Ost (Nord-Virginia)
+ USA West (Nordkalifornien)
+ USA West (Oregon)
+ Asia Pacific (Mumbai)
+ Asia Pacific (Seoul)
+ Asien-Pazifik (Singapur)
+ Asien-Pazifik (Sydney)
+ Asien-Pazifik (Tokio)
+ Canada (Central)
+ Europe (Frankfurt)
+ Europa (Irland)
+ Europa (London)
+ Europe (Paris)
+ Europa (Stockholm)
+ Südamerika (São Paulo)

**Topics**
+ [Sind Sie ein SageMaker Canvas-Nutzer zum ersten Mal?](#canvas-first-time-user)
+ [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md)
+ [Tutorial: Erstellen Sie einen Workflow end-to-end für maschinelles Lernen in SageMaker Canvas](canvas-end-to-end-machine-learning-workflow.md)
+ [Einrichtung und Rechteverwaltung von Amazon SageMaker Canvas (für IT-Administratoren)](canvas-setting-up.md)
+ [Unterstützung mit generativer KI zur Lösung von ML-Problemen in Canvas mit Amazon Q Developer](canvas-q.md)
+ [Datenimport](canvas-importing-data.md)
+ [Datenaufbereitung](canvas-data-prep.md)
+ [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md)
+ [Ready-to-use Modelle](canvas-ready-to-use-models.md)
+ [Benutzerdefinierte Modelle](canvas-custom-models.md)
+ [Von Amazon SageMaker Canvas abmelden](canvas-log-out.md)
+ [Einschränkungen und Fehlerbehebung](canvas-limits.md)
+ [Abrechnung und Kosten in SageMaker Canvas](canvas-manage-cost.md)

## Sind Sie ein SageMaker Canvas-Nutzer zum ersten Mal?
<a name="canvas-first-time-user"></a>

Wenn Sie SageMaker Canvas zum ersten Mal verwenden, empfehlen wir Ihnen, zunächst die folgenden Abschnitte zu lesen:
+ Für IT-Administratoren – [Einrichtung und Rechteverwaltung von Amazon SageMaker Canvas (für IT-Administratoren)](canvas-setting-up.md)
+ Für Analysten und einzelne Benutzer – [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md)
+ Ein Beispiel für einen durchgängigen Workflow – [Tutorial: Erstellen Sie einen Workflow end-to-end für maschinelles Lernen in SageMaker Canvas](canvas-end-to-end-machine-learning-workflow.md)

# Erste Schritte mit der Verwendung von Amazon SageMaker Canvas
<a name="canvas-getting-started"></a>

In diesem Handbuch erfahren Sie, wie Sie mit der Verwendung von SageMaker Canvas beginnen. Wenn Sie ein IT-Administrator sind und detailliertere Informationen wünschen, finden Sie weitere Informationen unter [Einrichtung und Rechteverwaltung von Amazon SageMaker Canvas (für IT-Administratoren)](canvas-setting-up.md) So richten Sie SageMaker Canvas für Ihre Benutzer ein.

**Topics**
+ [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](#canvas-prerequisites)
+ [Schritt 1: Loggen Sie sich bei Canvas ein SageMaker](#canvas-getting-started-step1)
+ [Schritt 2: Verwenden Sie SageMaker Canvas, um Vorhersagen zu erhalten](#canvas-getting-started-step2)

## Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas
<a name="canvas-prerequisites"></a>

Um eine SageMaker Canvas-Anwendung einzurichten, verwenden Sie beim Onboarding eine der folgenden Einrichtungsmethoden:

1. **Onboard mit der AWS Konsole.** Für das Onboarding über die AWS Konsole erstellen Sie zunächst eine Amazon SageMaker AI-Domain. SageMaker KI-Domänen unterstützen die verschiedenen Umgebungen für maschinelles Lernen (ML) wie Canvas und [SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html). Weitere Informationen zu Domains finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

   1. (Schnell) [Verwenden Sie das Schnell-Setup für Amazon SageMaker AI](onboard-quick-start.md)– Wählen Sie diese Option aus, wenn Sie schnell eine Domain einrichten möchten. Dadurch erhält Ihr Benutzer alle Standardberechtigungen und Grundfunktionen von Canvas. Alle zusätzlichen Features wie das [Abfragen von Dokumenten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query) können später von einem Administrator aktiviert werden. Wenn Sie detailliertere Berechtigungen konfigurieren möchten, empfehlen wir Ihnen, stattdessen die Option „Erweitert“ zu wählen.

   1. (Standard) [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md)– Wählen Sie diese Option aus, wenn Sie eine erweiterte Einrichtung Ihrer Domain durchführen möchten. Behalten Sie die detaillierte Kontrolle über Benutzerberechtigungen wie den Zugriff auf Datenaufbereitungsfunktionen, Funktionen der generativen KI und Modellbereitstellungen. 

1. **An Bord mit CloudFormation.** [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)automatisiert die Bereitstellung von Ressourcen und Konfigurationen, sodass Sie Canvas für ein oder mehrere Benutzerprofile gleichzeitig einrichten können. Verwenden Sie diese Option, wenn Sie den Onboarding-Prozess in großem Umfang automatisieren und sicherstellen möchten, dass Ihre Anwendungen jedes Mal auf die gleiche Weise konfiguriert sind. Die folgende [CloudFormation Vorlage](https://github.com/aws-samples/cloudformation-studio-domain) bietet eine optimierte Methode zur Integration in Canvas. So wird sichergestellt, dass alle erforderlichen Komponenten ordnungsgemäß eingerichtet sind, sodass Sie sich auf die Erstellung und Bereitstellung Ihrer Modelle für maschinelles Lernen konzentrieren können.

Im folgenden Abschnitt wird beschrieben, wie Sie mit der AWS Konsole eine Domain erstellen, in Canvas integriert werden.

**Wichtig**  
Damit Sie Amazon SageMaker Canvas einrichten können, muss Ihre Version von Amazon SageMaker Studio 3.19.0 oder höher sein. Informationen zur Aktualisierung von Amazon SageMaker Studio finden Sie unter[Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md).

### Mit der AWS Konsole an Bord
<a name="canvas-prerequisites-domain"></a>

Wenn Sie die Domain schnell einrichten, können Sie den Anweisungen unter [Verwenden Sie das Schnell-Setup für Amazon SageMaker AI](onboard-quick-start.md) folgen, den Rest dieses Abschnitts überspringen und mit [Schritt 1: Loggen Sie sich bei Canvas ein SageMaker](#canvas-getting-started-step1) fortfahren.

Wenn Sie die Standard-Domaineinrichtung vornehmen, können Sie die Canvas-Features angeben, auf die Sie Ihren Benutzern Zugriff gewähren möchten. Nutzen Sie den Rest dieses Abschnitts, während Sie die Standard-Domaineinrichtung abschließen, um die für Canvas spezifischen Berechtigungen zu konfigurieren.

In den [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md)-Einrichtungsanweisungen müssen Sie für **Schritt 2: Benutzer und ML-Aktivitäten** die Canvas-Berechtigungen auswählen, die Sie gewähren möchten. Im Abschnitt **ML-Aktivitäten** können Sie die folgenden Berechtigungsrichtlinien auswählen, um Zugriff auf Canvas-Features zu gewähren. Bei der Einrichtung Ihrer Domain können Sie insgesamt nur bis zu 8 **ML-Aktivitäten** auswählen. Die ersten beiden Berechtigungen in der folgenden Liste sind für die Verwendung von Canvas erforderlich, während die restlichen Berechtigungen für zusätzliche Features gelten.
+ **Studio-Anwendungen ausführen** 0150 Diese Berechtigungen sind erforderlich, um die Canvas-Anwendung zu starten.
+ **[Zentraler Canvas-Zugriff](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)** – Diese Berechtigungen gewähren Ihnen Zugriff auf die Canvas-Anwendung und die Grundfunktionen von Canvas, wie das Erstellen von Datensätzen, die Verwendung grundlegender Datentransformationen sowie das Erstellen und Analysieren von Modellen.
+ (Optional) **[Canvas-Datenvorbereitung (unterstützt durch Data Wrangler)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)** – Diese Berechtigungen ermöglichen Ihnen den Zugriff auf die Erstellung von Datenflüssen und die Verwendung erweiterter Transformationen zur Vorbereitung Ihrer Daten in Canvas. Diese Berechtigungen sind auch für die Erstellung von Datenverarbeitungsaufträgen und Zeitplänen für Datenvorbereitungsaufträge erforderlich.
+ (Optional) **[Canvas AI Services](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasAIServicesAccess.html)** — Diese Berechtigungen gewähren Ihnen Zugriff auf die Funktionen Ready-to-use Models, Foundation Models und Chat with Data in Canvas.
+ (Optional) **Kendra-Zugriff** – Diese Berechtigung gewährt Ihnen Zugriff auf das Feature zur [Abfrage von Dokumenten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query), mit dem Sie Dokumente, die in einem Amazon-Kendra-Index gespeichert sind, mithilfe von Grundlagenmodellen in Canvas abfragen können.

  Wenn Sie diese Option auswählen, geben Sie im Bereich **Canvas Kendra Access** die Indizes IDs für Ihre Amazon Kendra ein, auf die Sie Zugriff gewähren möchten.
+ (Optional) **[Canvas MLOps](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDirectDeployAccess.html)** — Diese Berechtigung gewährt Ihnen Zugriff auf die Funktion zur [Modellbereitstellung](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-deploy-model.html) in Canvas, mit der Sie Modelle zur Verwendung in der Produktion bereitstellen können.

Wählen Sie im Abschnitt **Schritt 3: Anwendungen** der Domaineinrichtung die Option **Canvas konfigurieren** aus und gehen Sie dann wie folgt vor:

1.  Geben Sie für die **Canvas-Speicherkonfiguration** an, wo Canvas die Anwendungsdaten wie Modellartefakte, Batch-Vorhersagen, Datensätze und Protokolle speichern soll. SageMaker AI erstellt in diesem Bucket einen `Canvas/` Ordner zum Speichern der Daten. Weitere Informationen finden Sie unter [Konfigurieren Sie Ihren Amazon S3-Speicher](canvas-storage-configuration.md). Gehen Sie für diesen Abschnitt wie folgt vor:

   1. Wählen Sie **System verwaltet** aus, wenn Sie als Speicherort den standardmäßigen, von SageMaker KI erstellten Bucket festlegen möchten, der dem Muster `s3://sagemaker-{Region}-{your-account-id}` folgt.

   1. Wählen Sie **Benutzerdefiniertes S3**, um Ihren eigenen Amazon-S3-Bucket als Speicherort anzugeben. Geben Sie dann die Amazon-S3-URI ein.

   1. (Optional) Geben Sie für den **Verschlüsselungsschlüssel** einen KMS-Schlüssel zur Verschlüsselung von Canvas-Artefakten an, die am angegebenen Speicherort gespeichert sind.

1. (Optional) Gehen Sie für **Amazon Q Developer** wie folgt vor:

   1. **Aktivieren Sie Amazon Q Developer in SageMaker Canvas für maschinelles Lernen in natürlicher Sprache** aktivieren, um Ihren Benutzern die Möglichkeit zu geben, generative KI-Unterstützung während ihres ML-Workflows in Canvas zu nutzen. Diese Option gewährt lediglich Berechtigungen, um Amazon Q Developer um Unterstützung bei vorab festgelegten Aufgaben zu bitten, die in der Canvas-Anwendung ausgeführt werden können.

   1. **Aktivieren Sie die Option Amazon Q Developer Chat für allgemeine AWS Fragen** aktivieren, um Ihren Benutzern die Erlaubnis zu geben, generative KI-Abfragen im Zusammenhang mit AWS Diensten zu stellen.

1. (Optional) Konfigurieren Sie den Abschnitt **Verarbeitung großer Datenmengen**, wenn Ihre Benutzer beabsichtigen, Datensätze mit mehr als 5 GB in Canvas zu verarbeiten. Detaillierte Informationen zum Konfigurieren dieser Optionen finden Sie unter [Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer](canvas-large-data-permissions.md).

1. (Optional) Gehen Sie im Abschnitt **ML Ops-Berechtigungskonfiguration** wie folgt vor:

   1. Lassen Sie die Option **Direkte Bereitstellung von Canvas-Modellen aktivieren** aktiviert, um Ihren Benutzern die Erlaubnis zu geben, ihre Modelle von Canvas aus auf einem SageMaker KI-Endpunkt bereitzustellen. Weitere Informationen zur Modellbereitstellung in Canvas finden Sie unter [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md).

   1. Lassen Sie die Option „**Registrierungsberechtigungen für die Modellregistrierung für alle Benutzer aktivieren**“ aktiviert, um Ihren Benutzern die Erlaubnis zu geben, ihre Modellversion in der SageMaker AI-Modellregistrierung zu registrieren (sie ist standardmäßig aktiviert). Weitere Informationen finden Sie unter [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md).

   1. Wenn Sie die Option **Registrierungsberechtigungen für die Modellregistrierung für alle Benutzer aktivieren** aktiviert gelassen haben, wählen Sie entweder **Nur bei Model Registry** oder **Modell in Model Registry registrieren und genehmigen** aus.

1. (Optional) Aktivieren Sie im Abschnitt **Konfiguration für den lokalen Datei-Upload** die Option **Lokales Hochladen von Dateien aktivieren**, um Ihren Benutzern die Erlaubnis zu geben, Dateien von ihren lokalen Computern auf Canvas hochzuladen. Wenn Sie diese Option aktivieren, wird eine CORS-Richtlinie (Cross-Origin Resource Sharing) an den Amazon-S3-Bucket angefügt, der in der **Canvas-Speicherkonfiguration** angegeben ist (und überschreibt alle vorhandenen CORS-Richtlinien). Weitere Informationen zu den Berechtigungen für das Hochladen lokaler Dateien finden Sie unter [Erteilen Sie Ihren Benutzern die Erlaubnis, lokale Dateien hochzuladen](canvas-set-up-local-upload.md).

1. (Optional) Gehen Sie im Bereich **OAuth Einstellungen** wie folgt vor:

   1. Wählen Sie ** OAuth Konfiguration hinzufügen** aus.

   1. Wählen Sie als **Datenquelle** Ihre Datenquelle aus.

   1. Wählen Sie für **Secret-Einstellungen** die Option **Neues Secret erstellen** aus und geben Sie die Informationen ein, die Sie von Ihrem Identitätsanbieter erhalten haben. Wenn Sie die erste OAuth Einrichtung mit Ihrer Datenquelle noch nicht vorgenommen haben, finden Sie weitere Informationen unter[Richten Sie Verbindungen zu Datenquellen ein mit OAuth](canvas-setting-up-oauth.md).

1. (Optional) Gehen Sie für die **Konfiguration der Ready-to-use Canvas-Modelle** wie folgt vor:

   1. Lassen Sie die Option ** Ready-to-useCanvas-Modelle aktivieren** aktiviert, um Ihren Benutzern die Berechtigung zu geben, Vorhersagen mit Ready-to-use Modellen in Canvas zu generieren (sie ist standardmäßig aktiviert). Diese Option gibt dir auch die Erlaubnis, mit generativen KI-gestützten Modellen zu chatten. Weitere Informationen finden Sie unter [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).

   1. Lassen Sie die Option **Dokumentenabfrage mithilfe von Amazon Kendra aktivieren** aktiviert, um Ihren Benutzern die Erlaubnis zu geben, Foundation-Modelle für die Abfrage von Dokumenten zu verwenden, die in einem Amazon Kendra-Index gespeichert sind. Wählen Sie anschließend aus dem Dropdown-Menü die vorhandenen Indizes aus, für die Sie Zugriff gewähren möchten. Weitere Informationen finden Sie unter [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).

   1. Wählen Sie für die **Amazon-Bedrock-Rolle** die Option **Neue Ausführungsrolle erstellen und verwenden** aus, um eine neue IAM-Ausführungsrolle zu erstellen, die eine Vertrauensbeziehung mit Amazon Bedrock unterhält. Diese IAM-Rolle wird von Amazon Bedrock zur Feinabstimmung großer Sprachmodelle (LLMs) in Canvas übernommen. Wenn Sie bereits eine Ausführungsrolle mit einer Vertrauensbeziehung haben, wählen Sie **Bestehende Ausführungsrolle verwenden** und wählen Sie Ihre Rolle aus der Dropdown-Liste aus. Weitere Informationen zur manuellen Konfiguration von Berechtigungen für Ihre eigene Ausführungsrolle finden Sie unter [Erteilen von Berechtigungen zur Verwendung von Amazon-Bedrock-Features und Features der generativen KI in Canvas](canvas-fine-tuning-permissions.md).

1. Schließen Sie die Konfiguration der restlichen Domaineinstellungen mithilfe der folgenden [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md)-Verfahren ab.

**Anmerkung**  
Wenn Sie Probleme bei der Erteilung von Berechtigungen über die Konsole haben, z. B. bei Berechtigungen für Ready-to-use Modelle, finden Sie weitere Informationen im Thema. [Behebung von Problemen bei der Erteilung von Berechtigungen über die SageMaker AI-Konsole](canvas-limits.md#canvas-troubleshoot-trusted-services)

Sie sollten jetzt eine SageMaker AI-Domain eingerichtet und alle Canvas-Berechtigungen konfiguriert haben.

Sie können die Canvas-Berechtigungen für eine Domain oder einen bestimmten Benutzer nach der ersten Einrichtung der Domain bearbeiten. Individuelle Benutzereinstellungen haben Vorrang vor den Domaineinstellungen. Informationen zum Bearbeiten Ihrer Canvas-Berechtigungen in den Domain-Einstellungen finden Sie unter [Bearbeiten von Domaineinstellungen](domain-edit.md).

### Erteilen Sie sich die Erlaubnis, bestimmte Funktionen in Canvas zu verwenden
<a name="canvas-prerequisites-permissions"></a>

In den folgenden Informationen werden die verschiedenen Berechtigungen beschrieben, die Sie einem Canvas-Benutzer gewähren können, um die Nutzung verschiedener Features und Funktionen in Canvas zu ermöglichen: Einige dieser Berechtigungen können während der Domaineinrichtung erteilt werden, für einige sind jedoch zusätzliche Berechtigungen oder eine zusätzliche Konfiguration erforderlich. Lesen Sie die spezifischen Berechtigungsinformationen für jedes Feature, das Sie aktivieren möchten:
+ **Lokaler Datei-Upload.** Die Berechtigungen für den lokalen Datei-Upload sind standardmäßig in den Canvas-Basisberechtigungen aktiviert, wenn Sie Ihre Domain einrichten. Wenn Sie keine lokalen Dateien von Ihrem Computer auf SageMaker Canvas hochladen können, können Sie eine CORS-Richtlinie an den Amazon S3 S3-Bucket anhängen, den Sie in der Canvas-Speicherkonfiguration angegeben haben. Wenn Sie SageMaker KI erlaubt haben, den Standard-Bucket zu verwenden, folgt der Bucket dem Benennungsmuster`s3://sagemaker-{Region}-{your-account-id}`. Weitere Informationen finden Sie unter [Erteilen Sie Ihren Benutzern Berechtigungen zum Hochladen lokaler Dateien](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-set-up-local-upload.html).
+ **Benutzerdefinierte Bild- und Textvorhersagemodelle.** Die Berechtigungen für die Erstellung von benutzerdefinierten Bild- und Textvorhersagemodellen sind standardmäßig in den Canvas-Basisberechtigungen aktiviert, wenn Sie Ihre Domain einrichten. Wenn Sie jedoch über eine benutzerdefinierte IAM-Konfiguration verfügen und die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)Richtlinie nicht an die IAM-Ausführungsrolle Ihres Benutzers anhängen möchten, müssen Sie Ihrem Benutzer ausdrücklich die erforderlichen Berechtigungen gewähren. Weitere Informationen finden Sie unter [Erteilen Sie Ihren Benutzern die Erlaubnis, benutzerdefinierte Bild- und Textvorhersagemodelle zu erstellen](canvas-set-up-cv-nlp.md).
+ **Ready-to-use Modelle und Basismodelle.** Möglicherweise möchten Sie die Ready-to-use Canvas-Modelle verwenden, um Vorhersagen für Ihre Daten zu treffen. Mit den Ready-to-use Modellberechtigungen können Sie auch mit generativen KI-gestützten Modellen chatten. Die Berechtigungen sind standardmäßig aktiviert, wenn Sie Ihre Domain einrichten, oder Sie können die Berechtigungen für eine Domain bearbeiten, die Sie bereits erstellt haben. Mit der Option Berechtigungen für Ready-to-use Canvas-Modelle wird die [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) zu Ihrer Ausführungsrolle hinzugefügt. Weitere Informationen finden Sie im [Erste Schritte](canvas-ready-to-use-models.md#canvas-ready-to-use-get-started) Abschnitt der Ready-to-use Modelldokumentation.

  Weitere Informationen zu den ersten Schritten mit generativen KI-Grundlagenmodellen für finden Sie unter [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).
+ **Optimieren Sie die Grundlagenmodelle.** Wenn Sie die Grundlagenmodelle in Canvas optimieren möchten, können Sie entweder die Berechtigungen beim Einrichten Ihrer Domain hinzufügen oder die Berechtigungen für die Domain oder das Benutzerprofil nach der Erstellung Ihrer Domain bearbeiten. Sie müssen die [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) zu der AWS IAM-Rolle hinzufügen, die Sie bei der Einrichtung des Benutzerprofils ausgewählt haben, und Sie müssen der Rolle auch eine Vertrauensbeziehung mit Amazon Bedrock hinzufügen. Anweisungen zum Hinzufügen dieser Berechtigungen zu Ihrer IAM-Rolle finden Sie unter [Erteilen von Berechtigungen zur Verwendung von Amazon-Bedrock-Features und Features der generativen KI in Canvas](canvas-fine-tuning-permissions.md). 
+ **Senden Sie Batch-Prognosen an Quick.** Möglicherweise möchten Sie [*Batch-Vorhersagen oder Datensätze von Prognosen*, die Sie anhand eines benutzerdefinierten Modells generieren, zur Analyse an Quick senden](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html). In [QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html)können Sie Prognose-Dashboards mit Ihren Prognoseergebnissen erstellen und veröffentlichen. Anweisungen zum Hinzufügen dieser Berechtigungen zur IAM-Rolle Ihres Canvas-Benutzers finden Sie unter [Gewähren Sie Ihren Benutzern Berechtigungen zum Senden von Prognosen an Quick](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html).
+ **Stellen Sie Canvas-Modelle auf einem SageMaker KI-Endpunkt bereit.** SageMaker AI Hosting bietet *Endpunkte*, mit denen Sie Ihr Modell für die Verwendung in der Produktion bereitstellen können. Sie können in Canvas erstellte Modelle auf einem SageMaker KI-Endpunkt bereitstellen und dann programmgesteuert Vorhersagen in einer Produktionsumgebung treffen. Weitere Informationen finden Sie unter [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md).
+ **Registrieren Sie Modellversionen in der Modellregistrierung.** Möglicherweise möchten Sie *Versionen* Ihres Modells in der [SageMaker AI-Modellregistrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html) registrieren. Dabei handelt es sich um ein Repository, in dem Sie den Status aktualisierter Versionen Ihres Modells verfolgen können. Ein Datenwissenschaftler oder ein MLOps Team, das in der SageMaker Model Registry arbeitet, kann die Versionen Ihres Modells, die Sie erstellt haben, einsehen und sie genehmigen oder ablehnen. Anschließend können sie Ihre Modellversion für die Produktion einsetzen oder einen automatisierten Workflow starten. Die Berechtigungen zur Modellregistrierung sind standardmäßig für Ihre Domain aktiviert. Sie können Berechtigungen auf Benutzerprofilebene verwalten und bestimmten Benutzern Berechtigungen gewähren oder entziehen. Weitere Informationen finden Sie unter [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md).
+ **Importieren Sie Daten aus Amazon Redshift.** Wenn Sie Daten aus Amazon Redshift importieren möchten, müssen Sie sich zusätzliche Berechtigungen erteilen. Sie müssen die `AmazonRedshiftFullAccess` verwaltete Richtlinie zu der AWS IAM-Rolle hinzufügen, die Sie bei der Einrichtung des Benutzerprofils ausgewählt haben. Anweisungen zum Hinzufügen der Richtlinie zur Rolle finden Sie unter [Gewähren von Benutzerberechtigungen zum Import von Amazon Redshift-Daten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html).

**Anmerkung**  
Die erforderlichen Berechtigungen für den Import über andere Datenquellen wie Amazon Athena und SaaS-Plattformen sind in den [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)Richtlinien [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)und enthalten. Wenn Sie die Anweisungen zur Standardeinrichtung befolgt haben, sollten diese Richtlinien bereits Ihrer Ausführungsrolle zugeordnet sein. Weitere Informationen über diese Datenquellen und ihre Berechtigungen finden Sie unter [Verbinden zu Datenquellen](canvas-connecting-external.md).

## Schritt 1: Loggen Sie sich bei Canvas ein SageMaker
<a name="canvas-getting-started-step1"></a>

Wenn die Ersteinrichtung abgeschlossen ist, können Sie je nach Anwendungsfall mit einer der folgenden Methoden auf SageMaker Canvas zugreifen:
+ Wählen Sie in der [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) im linken Navigationsbereich den **Canvas** aus. Wählen Sie dann auf der **Canvas**-Seite Ihren Benutzer aus der Dropdown-Liste aus und starten Sie die Canvas-Anwendung.
+ Öffnen Sie [SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html), wechseln Sie in der Studio-Oberfläche zur Canvas-Seite und starten Sie die Canvas-Anwendung.
+ Verwenden Sie die SAML 2.0-basierten SSO-Methoden Ihres Unternehmens, wie Okta oder das IAM Identity Center.

Wenn Sie sich zum ersten Mal bei SageMaker Canvas anmelden, erstellt SageMaker AI die Anwendung und einen SageMaker *KI-Bereich* für Sie. Die Daten der Canvas-Anwendung werden im Bereich gespeichert. Weitere Informationen zu Bereichen finden Sie unter [Zusammenarbeit mit gemeinsam genutzten Räumen](domain-space.md). Der Bereich besteht aus den Anwendungen Ihres Benutzerprofils und einem gemeinsamen Verzeichnis für alle Daten Ihrer Anwendungen. Wenn Sie den von SageMaker AI erstellten Standardbereich nicht verwenden möchten und lieber Ihren eigenen Speicherplatz zum Speichern von Anwendungsdaten einrichten möchten, finden Sie weitere Informationen auf der Seite[Speichern Sie SageMaker Canvas-Anwendungsdaten in Ihrem eigenen KI-Bereich SageMaker](canvas-spaces-setup.md).

## Schritt 2: Verwenden Sie SageMaker Canvas, um Vorhersagen zu erhalten
<a name="canvas-getting-started-step2"></a>

Nachdem Sie sich bei Canvas angemeldet haben, können Sie mit der Erstellung von Modellen und der Generierung von Prognosen für Ihre Daten beginnen.

Sie können entweder Ready-to-use Canvas-Modelle verwenden, um Vorhersagen zu treffen, ohne ein Modell zu erstellen, oder Sie können ein benutzerdefiniertes Modell für Ihr spezifisches Geschäftsproblem erstellen. Sehen Sie sich die folgenden Informationen an, um zu entscheiden, ob Ready-to-use Modelle oder benutzerdefinierte Modelle für Ihren Anwendungsfall am besten geeignet sind.
+ **Ready-to-use Modelle.** Mit Ready-to-use Modellen können Sie vorgefertigte Modelle verwenden, um Erkenntnisse aus Ihren Daten zu gewinnen. Die Ready-to-use Modelle decken eine Vielzahl von Anwendungsfällen ab, z. B. Spracherkennung und Dokumentenanalyse. Erste Schritte zum Erstellen von Prognosen mit Ready-to-use Modellen finden Sie unter[Ready-to-use Modelle](canvas-ready-to-use-models.md).
+ **Benutzerdefinierte Modelle.** Mit benutzerdefinierten Modellen können Sie eine Vielzahl von Modelltypen erstellen, die so angepasst sind, dass sie Vorhersagen für Ihre Daten treffen. Verwenden Sie benutzerdefinierte Modelle, wenn Sie ein Modell erstellen möchten, das auf Ihren geschäftsspezifischen Daten trainiert ist, und wenn Sie Features wie die [Bewertung der Leistung Ihres Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html) nutzen möchten. Erste Schritte mit der Erstellung eines benutzerdefinierten Modells finden Sie unter [Benutzerdefinierte Modelle](canvas-custom-models.md).

# Tutorial: Erstellen Sie einen Workflow end-to-end für maschinelles Lernen in SageMaker Canvas
<a name="canvas-end-to-end-machine-learning-workflow"></a>

Dieses Tutorial führt Sie durch einen Workflow für end-to-end maschinelles Lernen (ML) mit Amazon SageMaker Canvas. SageMaker Canvas ist eine visuelle Schnittstelle ohne Code, mit der Sie Daten aufbereiten und ML-Modelle trainieren und bereitstellen können. Für das Tutorial verwenden Sie einen Datensatz zu New Yorker Taxis, um ein Modell zu trainieren, das den Fahrpreis für eine bestimmte Fahrt vorhersagt. Sie erhalten praktische Erfahrung mit wichtigen ML-Aufgaben wie der Bewertung der Datenqualität und der Behebung von Datenproblemen, der Aufteilung von Daten in Trainings- und Testsätze, dem Training und der Bewertung von Modellen, dem Erstellen von Prognosen und der Bereitstellung Ihres trainierten Modells — alles innerhalb der Canvas-Anwendung. SageMaker 

**Wichtig**  
In diesem Tutorial wird davon ausgegangen, dass Sie oder Ihr Administrator ein Konto erstellt haben. AWS Informationen zum Erstellen eines AWS Kontos finden Sie unter [Erste Schritte: Sind Sie ein AWS Erstbenutzer?](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html)

## Einrichtung
<a name="canvas-tutorial-setting-up"></a>

Eine Amazon SageMaker AI-Domain ist ein zentraler Ort zur Verwaltung all Ihrer Amazon SageMaker AI-Umgebungen und -Ressourcen. Eine Domain dient als virtuelle Grenze für Ihre Arbeit im Bereich SageMaker KI und bietet Isolierung und Zugriffskontrolle für Ihre Ressourcen für maschinelles Lernen (ML). 

Um mit Amazon SageMaker Canvas zu beginnen, müssen Sie oder Ihr Administrator zur SageMaker AI-Konsole navigieren und eine Amazon SageMaker AI-Domain erstellen. Eine Domain verfügt über die Speicher- und Rechenressourcen, die Sie für die Ausführung von SageMaker Canvas benötigen. Innerhalb der Domain konfigurieren Sie SageMaker Canvas für den Zugriff auf Ihre Amazon S3 S3-Buckets und die Bereitstellung von Modellen. Gehen Sie wie folgt vor, um eine Quick-Domain einzurichten und eine SageMaker Canvas-Anwendung zu erstellen.

**Um SageMaker Canvas einzurichten**

1. Navigieren Sie zur [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Wählen Sie in der linken Navigationsleiste SageMaker Canvas aus.

1. Wählen Sie „**Eine SageMaker KI-Domain erstellen**“.

1. Wählen Sie **Einrichten** aus. Die Einrichtung der Domain kann einige Minuten dauern.

Das vorherige Verfahren verwendete eine schnelle Domaineinrichtung. Sie können eine erweiterte Konfiguration vornehmen, um alle Aspekte der Kontoeinstellungen zu steuern, einschließlich Berechtigungen, Integrationen und Verschlüsselung. Weitere Informationen zu einer benutzerdefinierten Einrichtung finden Sie unter [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md).

Standardmäßig erhalten Sie durch die schnelle Domaineinrichtung die Berechtigungen zum Bereitstellen von Modellen. Wenn Sie benutzerdefinierte Berechtigungen über eine Standarddomäne eingerichtet haben und manuell Berechtigungen für die Modellbereitstellung erteilen müssen, lesen Sie [Berechtigungsverwaltung](canvas-deploy-model.md#canvas-deploy-model-prereqs).

## Flow-Erstellung
<a name="canvas-tutorial-flow-creation"></a>

Amazon SageMaker Canvas ist eine Plattform für maschinelles Lernen, die es Benutzern ermöglicht, Modelle für maschinelles Lernen ohne umfangreiche Programmierkenntnisse oder maschinelles Lernen zu erstellen, zu trainieren und einzusetzen. Eine der leistungsstarken Funktionen von Amazon SageMaker Canvas ist die Möglichkeit, große Datensätze aus verschiedenen Quellen wie Amazon S3 zu importieren und mit ihnen zu arbeiten.

In diesem Tutorial verwenden wir den Taxidatensatz von NYC, um mithilfe eines Amazon SageMaker Canvas Data Wrangler-Datenflusses den Fahrpreis für jede Fahrt vorherzusagen. Das folgende Verfahren beschreibt die Schritte zum Importieren einer modifizierten Version des Datensatz zu New Yorker Taxis in einen Datenfluss.

**Anmerkung**  
Zur besseren Verarbeitung importiert SageMaker Canvas eine Stichprobe Ihrer Daten. Standardmäßig werden 50 000 Zeilen nach dem Zufallsprinzip ausgewählt.

**So importieren Sie den Datensatz zu New Yorker Taxis**

1. Wählen Sie SageMaker auf der Canvas-Startseite **Data Wrangler** aus.

1. Wählen Sie **Daten importieren**.

1. Wählen Sie **Tabellarisch** aus.

1. Wählen Sie die Toolbox neben der Datenquelle aus.

1. Wählen Sie **Amazon S3** aus der Dropdown-Liste aus.

1. Geben Sie für **Eingabe des S3-Endpunktes** die Option `s3://amazon-sagemaker-data-wrangler-documentation-artifacts/canvas-single-file-nyc-taxi-dataset.csv` aus.

1. Wählen Sie **Go** aus.

1. Aktivieren Sie das Kontrollkästchen neben dem Datensatz.

1. Wählen Sie **Datenvorschau** aus.

1. Wählen Sie **Speichern**.

## Datenqualitäts- und Insights-Bericht 1 (Beispiel)
<a name="canvas-tutorial-data-quality-insights-report-1"></a>

Nach dem Import eines Datensatzes in Amazon SageMaker Canvas können Sie einen Datenqualitäts- und Insights-Bericht für eine Stichprobe der Daten erstellen. Nutzen Sie ihn, um wertvolle Einblicke in den Datensatz zu gewinnen. Der Bericht bewirkt Folgendes:
+ Beurteilt die Vollständigkeit des Datensatzes
+ Identifiziert fehlende Werte und Ausreißer

Es kann andere potenzielle Probleme identifizieren, die sich auf die Modellleistung auswirken können. Außerdem wird die Vorhersagekraft der einzelnen Merkmale in Bezug auf die Zielvariable bewertet, sodass Sie die relevantesten Merkmale für das Problem, das Sie zu lösen versuchen, identifizieren können.

Wir können die Erkenntnisse aus dem Bericht nutzen, um die Höhe des Fahrpreises vorherzusagen. Indem Sie die Spalte für den **Fahrpreis** als Zielvariable angeben und **Regression** als Problemtyp auswählen, analysiert der Bericht, ob der Datensatz für die Vorhersage kontinuierlicher Werte wie Fahrpreise geeignet ist. Der Bericht sollte zeigen, dass Features wie **year** und **Hour\$1of\$1Day** eine geringe Aussagekraft für die gewählte Zielvariable haben, sodass Sie wertvolle Erkenntnisse gewinnen können.

Gehen Sie wie folgt vor, um einen Datenqualitäts- und Insights-Bericht basierend auf einer Stichprobe mit 50 000 Zeilen aus dem Datensatz zu erhalten.

**So erhalten Sie einen Bericht basierend auf einer Stichprobe**

1. Wählen Sie im Popup-Fenster neben dem Knoten **Datentypen** die Option **Daten-Insights erhalten** aus.

1. Geben Sie unter **Analysename** einen Namen für den Bericht an.

1. Wählen Sie als **Problemtyp** die Option **Regression** aus.

1. Wählen Sie für die **Ziel-Spalte** die Option **Fahrpreis** aus.

1. Wählen Sie **Erstellen** aus.

Sie können den Datenqualitäts- und Insights-Bericht basierend auf einer Stichprobe Ihrer Daten überprüfen. Aus dem Bericht geht hervor, dass die Features **year** und **Hour\$1of\$1Day** keine Vorhersage der Zielvariablen, dem **Fahrpreis**, ermöglichen.

Wählen Sie oben in der Navigation den Namen des Datenflusses aus, um zu ihm zurückzukehren.

## Löschen von Jahr und Tageszeit
<a name="canvas-tutorial-drop-year-and-hour-of-day"></a>

Wir verwenden die Insights aus dem Bericht, um die Spalten **year** und **hour\$1of\$1day** zu löschen, um den Feature-Bereich zu optimieren und möglicherweise die Modellleistung zu verbessern.

Amazon SageMaker Canvas bietet eine benutzerfreundliche Oberfläche und Tools zur Durchführung solcher Datentransformationen.

Gehen Sie wie folgt vor, um die Spalten **year** und **hour\$1of\$1day** mit dem Data Wrangler-Tool in Amazon Canvas aus dem NYC-Taxi-Datensatz zu löschen. SageMaker 

1. Wählen Sie das Symbol neben **Datentypen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Schreiben Sie in der Suchleiste den Text **Spalte löschen**.

1. Wählen Sie **Spalten verwalten** aus.

1. Wählen Sie **Spalte löschen** aus.

1. Wählen Sie für **Zu löschende Spalten** die Spalten **year** und **hour\$1of\$1day** aus.

1. Wählen Sie **Vorschau**, um zu sehen, wie Ihre Transformation Ihre Daten verändert.

1. Wählen Sie **Hinzufügen** aus.

Sie können das vorherige Verfahren als Grundlage verwenden, um alle anderen Transformationen in Canvas hinzuzufügen. SageMaker 

## Bericht 2 zur Datenqualität und zu Insights (vollständiger Datensatz)
<a name="canvas-tutorial-data-quality-insights-report-2"></a>

Für den vorherigen Insights-Bericht haben wir eine Stichprobe des Datensatzes zum New Yorker Taxi verwendet. Für unseren zweiten Bericht führen wir eine umfassende Analyse des gesamten Datensatzes durch, um mögliche Probleme zu identifizieren, die sich auf die Modellleistung auswirken.

Gehen Sie wie folgt vor, um einen Datenqualitäts- und Insights-Bericht zu einem kompletten Datensatz zu erstellen.

**So erhalten Sie einen Bericht über den gesamten Datensatz**

1. Wählen Sie das Symbol neben dem Knoten **Spalten löschen** aus.

1. Wählen Sie **Daten-Insights abrufen** aus.

1. Geben Sie unter **Analysename** einen Namen für den Bericht an.

1. Wählen Sie als **Problemtyp** die Option **Regression** aus.

1. Wählen Sie für die **Ziel-Spalte** die Option **Fahrpreis** aus.

1. Wählen Sie für **Datengröße** die Option **Vollständiger Datensatz** aus.

1. Wählen Sie **Erstellen** aus.

Das Folgende ist ein Bild aus dem Insights-Bericht:

![\[Doppelte Zeilen, verzerrtes Ziel und sehr niedrige Schnellmodellbewertung werden als insightsP aufgeführt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/canvas-tutorial-dqi-insights.png)


Er zeigt die folgenden Probleme:
+ Doppelte Zeilen
+ Verzerrtes Ziel

Doppelte Zeilen können zu Data Leakage führen, da das Modell während des Trainings und Testens denselben Daten ausgesetzt ist. Sie können zu übermäßig optimistischen Leistungskennzahlen führen. Durch das Entfernen doppelter Zeilen wird sichergestellt, dass das Modell anhand eindeutiger Instances trainiert wird, wodurch das Risiko von Data Leakage verringert und die Generalisierungsfähigkeit des Modells verbessert wird.

Eine verzerrte Verteilung der Zielvariablen, in diesem Fall die Spalte **Fahrpreis**, kann zu unausgewogenen Klassen führen, wodurch das Modell möglicherweise zugunsten der Mehrheitsklasse verzerrt wird. Dies kann zu einer schlechten Leistung bei Minderheitsklassen führen, was insbesondere in Szenarien problematisch ist, in denen die genaue Vorhersage seltener oder unterrepräsentierter Fälle von Bedeutung ist.

## Behebung von Datenqualitätsproblemen
<a name="canvas-tutorial-addressing-data-quality-issues"></a>

Um diese Probleme zu beheben und den Datensatz für die Modellierung vorzubereiten, können Sie nach den folgenden Transformationen suchen und diese anwenden:

1. Löschen Sie Duplikate mithilfe der Transformation **Zeilen verwalten**.

1. **Behandeln Sie Ausreißer** in der Spalte **Fahrpreis** mithilfe der **numerischen Ausreißer mit robuster Standardabweichung**.

1. **Behandeln Sie Ausreißer** in den Spalten **Fahrtstrecke** und **Dauer** mithilfe der **numerischen Ausreißer mit robuster Standardabweichung**.

1. Verwenden Sie die Option **Kategorisch kodieren**, um die Spalten **Tarifcode-ID**, **Zahlungsart**, **Zusatzkennzeichen** und **Mautkennzeichen** als Gleitkommazahlen zu kodieren.

Sollten Sie sich nicht sicher sein, wie Sie eine Transformation anwenden, lesen Sie [Löschen von Jahr und Tageszeit](#canvas-tutorial-drop-year-and-hour-of-day).

Durch die Behebung dieser Datenqualitätsprobleme und die Anwendung geeigneter Transformationen können Sie die Eignung des Datensatzes für die Modellierung verbessern.

## Überprüfung der Datenqualität und der Genauigkeit des Quick-Modells
<a name="canvas-tutorial-verifying-data-quality-and-quick-model-accuracy"></a>

Nach der Anwendung der Transformationen zur Behebung von Datenqualitätsproblemen, wie beispielsweise dem Entfernen doppelter Zeilen, erstellen wir unseren abschließenden Bericht zur Datenqualität und Insights. Dieser Bericht dient dazu, zu überprüfen, ob die angewandten Transformationen die Probleme behoben haben und der Datensatz nun für die Modellierung geeignet ist.

Bei der Überprüfung des abschließenden Berichts zu Datenqualität und Insights sollten Sie davon ausgehen, dass keine wesentlichen Probleme hinsichtlich der Datenqualität gemeldet werden. Aus dem Bericht sollte Folgendes hervorgehen:
+ Die Zielvariable ist nicht mehr verzerrt.
+ Es gibt keine Ausreißer oder doppelte Zeilen.

Darüber hinaus sollte der Bericht eine schnelle Modellbewertung enthalten, die auf einem Basismodell basiert, das anhand des transformierten Datensatzes trainiert wurde. Dieser Wert dient als erster Indikator für die potenzielle Genauigkeit und Leistung des Modells.

Gehen Sie wie folgt vor, um den Datenqualitäts- und Insights-Bericht zu erstellen.

**So erstellen Sie einen Datenqualitäts- und Insights-Bericht**

1. Wählen Sie das Symbol neben dem Knoten **Spalten löschen** aus.

1. Wählen Sie **Daten-Insights abrufen** aus.

1. Geben Sie unter **Analysename** einen Namen für den Bericht an.

1. Wählen Sie als **Problemtyp** die Option **Regression** aus.

1. Wählen Sie für die **Ziel-Spalte** die Option **Fahrpreis** aus.

1. Wählen Sie für **Datengröße** die Option **Vollständiger Datensatz** aus.

1. Wählen Sie **Erstellen** aus.

## Aufteilen der Daten in Trainings- und Testdatensätze
<a name="canvas-tutorial-split-data"></a>

Um ein Modell zu trainieren und seine Leistung zu bewerten, verwenden wir die Transformation **Daten aufteilen**, um die Daten in Trainings- und Testsätze aufzuteilen.

Standardmäßig verwendet SageMaker Canvas eine zufällige Aufteilung, aber Sie können auch die folgenden Arten von Teilungen verwenden:
+ Bestellt
+ Stratifiziert
+ Nach Schlüsseln aufteilen

Sie können den **Prozentsatz für die Aufteilung** ändern oder Teilungen hinzufügen.

Für dieses Tutorial verwenden Sie alle Standardeinstellungen in der Aufteilung. Sie müssen auf den Datensatz doppelklicken, um seinen Namen zu sehen. Der Trainingsdatensatz hat den Namen **Dataset (Train)**.

Wenden Sie neben dem **Ordinal-Codierungsknoten** die Transformation **Daten aufteilen** an.

## Trainieren von Modellen
<a name="canvas-tutorial-train-model"></a>

Nachdem Sie Ihre Daten aufgeteilt haben, können Sie ein Modell trainieren. Dieses Modell lernt aus Mustern in Ihren Daten. Sie können es verwenden, um Vorhersagen zu treffen oder Erkenntnisse zu gewinnen.

SageMaker Canvas bietet sowohl Schnell-Builds als auch Standard-Builds. Verwenden Sie einen Standard-Build, um das leistungsstärkste Modell für Ihre Daten zu trainieren.

Bevor Sie mit dem Training eines Modells beginnen, müssen Sie den Trainingsdatensatz zunächst als SageMaker Canvas-Datensatz exportieren.

**So exportieren Sie Ihren Datensatz**

1. Wählen Sie neben dem Knoten für den Trainingsdatensatz das Symbol und dann **Exportieren** aus.

1. Wählen Sie den **SageMaker Canvas-Datensatz** aus.

1. Wählen Sie **Exportieren** aus, um den Datensatz zu exportieren.

Nachdem Sie einen Datensatz erstellt haben, können Sie ein Modell auf dem von Ihnen erstellten SageMaker Canvas-Datensatz trainieren. Für weitere Informationen zum Schulen eines Modells siehe [Erstellen Sie ein benutzerdefiniertes numerisches oder kategoriales Vorhersagemodell](canvas-build-model-how-to.md#canvas-build-model-numeric-categorical).

## Evaluieren des Modells und Treffen von Vorhersagen
<a name="canvas-tutorial-evaluate-model-and-make-predictions"></a>

Nach dem Training Ihres Machine-Learning-Modells ist es von entscheidender Bedeutung, dessen Leistung zu bewerten, um sicherzustellen, dass es Ihren Anforderungen entspricht und bei unbekannten Daten gut funktioniert. Amazon SageMaker Canvas bietet eine benutzerfreundliche Oberfläche, mit der Sie die Genauigkeit Ihres Modells beurteilen, seine Prognosen überprüfen und Einblicke in seine Stärken und Schwächen gewinnen können. Sie können die gewonnenen Erkenntnisse nutzen, um fundierte Entscheidungen über den Einsatz und mögliche Verbesserungsbereiche zu treffen.

Verwenden Sie das folgende Verfahren, um ein Modell zu bewerten, bevor Sie es bereitstellen.

**So bewerten Sie ein Modell**

1. Wählen Sie **Meine Modelle** aus.

1. Wählen Sie das Modell aus, das Sie erstellt haben.

1. Wählen Sie unter **Versionen** die Version aus, die dem Modell entspricht.

Sie können jetzt die Metriken zur Modellbewertung anzeigen.

Nachdem Sie das Modell evaluiert haben, können Sie Vorhersagen zu neuen Daten treffen. Wir verwenden den Testdatensatz, den wir erstellt haben.

Um den Testdatensatz für Vorhersagen zu verwenden, müssen wir ihn in einen SageMaker Canvas-Datensatz konvertieren. Der SageMaker Canvas-Datensatz hat ein Format, das das Modell interpretieren kann.

Gehen Sie wie folgt vor, um einen SageMaker Canvas-Datensatz aus dem Testdatensatz zu erstellen.

**Um einen SageMaker Canvas-Datensatz zu erstellen**

1. Wählen Sie neben dem Datensatz **Dataset (Test)** das Optionsfeld aus.

1. Wählen Sie **Exportieren** aus.

1. Wählen Sie den **SageMaker Canvas-Datensatz** aus.

1. Geben Sie als **Datensatzname** einen Namen für den Datensatz an.

1. Wählen Sie **Export** aus.

Gehen Sie wie folgt vor, um Vorhersagen zu treffen. Es wird davon ausgegangen, dass Sie sich weiterhin auf der Seite **Analysieren** befinden.

**So treffen Sie Vorhersagen für den Testdatensatz**

1. Wählen Sie **Vorhersagen** aus.

1. Wählen Sie **Manuell** aus.

1. Wählen Sie den Datensatz aus, den Sie exportiert haben.

1. Wählen Sie **Vorhersagen generieren** aus.

1. Wenn SageMaker Canvas mit der Generierung der Prognosen fertig ist, wählen Sie das Symbol rechts neben dem Datensatz aus.

1. Wählen Sie **Vorschau** aus, um die Prognosen anzuzeigen.

## Bereitstellen eines Modells
<a name="canvas-tutorial-deploy-a-model"></a>

Nachdem Sie Ihr Modell evaluiert haben, können Sie es auf einem Endpunkt bereitstellen. Sie können Anfragen an den Endpunkt senden, um Vorhersagen zu erhalten.

Gehen Sie wie folgt vor, um ein Modell bereitzustellen. Es wird davon ausgegangen, dass Sie sich weiterhin auf der Seite **Vorhersagen** befinden.

**So stellen Sie ein Modell bereit**

1. Wählen Sie **Bereitstellen**.

1. Wählen Sie **Create deployment**.

1. Wählen Sie **Bereitstellen**.

## Bereinigen
<a name="canvas-tutorial-cleaning-up"></a>

Sie haben das Tutorial erfolgreich abgeschlossen. Um zusätzliche Kosten zu vermeiden, löschen Sie die Ressourcen, die Sie nicht verwenden.

Gehen Sie wie folgt vor, um den von Ihnen erstellten Endpunkt zu löschen. Es wird davon ausgegangen, dass Sie sich weiterhin auf der Seite **Bereitstellen** befinden.

**So löschen Sie einen Endpunkt**

1. Wählen Sie das Optionsfeld rechts neben Ihrer Bereitstellung aus.

1. Wählen Sie **Bereitstellung löschen** aus.

1. Wählen Sie **Löschen** aus.

Löschen Sie nach dem Löschen der Bereitstellung die Datensätze, die Sie in SageMaker Canvas erstellt haben. Führen Sie die folgenden Schritte aus, um die Datensätze zu löschen.

**So löschen Sie die Datensätze**

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie den Datensatz aus, den Sie analysiert haben, und den synthetischen Datensatz, der für Vorhersagen verwendet wurde.

1. Wählen Sie **Löschen** aus.

Um zusätzliche Gebühren zu vermeiden, müssen Sie sich bei Canvas abmelden. SageMaker Weitere Informationen finden Sie unter [Von Amazon SageMaker Canvas abmelden](canvas-log-out.md).

# Einrichtung und Rechteverwaltung von Amazon SageMaker Canvas (für IT-Administratoren)
<a name="canvas-setting-up"></a>

Auf den folgenden Seiten wird erklärt, wie IT-Administratoren Amazon SageMaker Canvas konfigurieren und Benutzern in ihren Organisationen Berechtigungen gewähren können. Sie erfahren, wie Sie die Speicherkonfiguration einrichten, die Datenverschlüsselung verwalten und VPCs den Zugriff auf bestimmte Funktionen wie generative KI-Grundmodelle steuern, die Integration mit anderen AWS Services wie Amazon Redshift und mehr. Wenn Sie diese Schritte befolgen, können Sie SageMaker Canvas auf die spezifischen Anforderungen Ihres Unternehmens auf Ihre Benutzer zuschneiden.

Sie können SageMaker Canvas auch mit für Ihre Benutzer einrichten AWS CloudFormation. Weitere Informationen finden Sie unter [AWS:: SageMaker AI: :App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html) im *AWS CloudFormation Benutzerhandbuch*.

**Topics**
+ [Erteilen Sie Ihren Benutzern die Erlaubnis, lokale Dateien hochzuladen](canvas-set-up-local-upload.md)
+ [Richten Sie SageMaker Canvas für Ihre Benutzer ein](setting-up-canvas-sso.md)
+ [Konfigurieren Sie Ihren Amazon S3-Speicher](canvas-storage-configuration.md)
+ [Erteilen von Berechtigungen für kontoübergreifenden Amazon S3-Speicher](canvas-permissions-cross-account.md)
+ [Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer](canvas-large-data-permissions.md)
+ [Verschlüsseln Sie Ihre SageMaker Canvas-Daten mit AWS KMS](canvas-kms.md)
+ [Speichern Sie SageMaker Canvas-Anwendungsdaten in Ihrem eigenen KI-Bereich SageMaker](canvas-spaces-setup.md)
+ [Erteilen Sie Ihren Benutzern die Erlaubnis, benutzerdefinierte Bild- und Textvorhersagemodelle zu erstellen](canvas-set-up-cv-nlp.md)
+ [Erteilen von Berechtigungen zur Verwendung von Amazon-Bedrock-Features und Features der generativen KI in Canvas](canvas-fine-tuning-permissions.md)
+ [Aktualisieren Sie SageMaker Canvas für Ihre Benutzer](canvas-update.md)
+ [Anfordern einer Kontingenterhöhung.](canvas-requesting-quota-increases.md)
+ [Benutzern Berechtigungen zum Importieren von Amazon Redshift-Daten gewähren](canvas-redshift-permissions.md)
+ [Erteilen Sie Ihren Benutzern die Erlaubnis, Prognosen an Quick zu senden](canvas-quicksight-permissions.md)
+ [Anwendungsverwaltung](canvas-manage-apps.md)
+ [Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren](canvas-vpc.md)
+ [Richten Sie Verbindungen zu Datenquellen ein mit OAuth](canvas-setting-up-oauth.md)

# Erteilen Sie Ihren Benutzern die Erlaubnis, lokale Dateien hochzuladen
<a name="canvas-set-up-local-upload"></a>

Wenn Ihre Benutzer Dateien von ihren lokalen Computern auf SageMaker Canvas hochladen, müssen Sie eine CORS-Konfiguration (Cross-Origin Resource Sharing) an den Amazon S3 S3-Bucket anhängen, den sie verwenden. Bei der Einrichtung oder Bearbeitung der SageMaker AI-Domain oder des Benutzerprofils können Sie entweder einen benutzerdefinierten Amazon S3 S3-Standort oder den Standardspeicherort angeben, bei dem es sich um einen von SageMaker KI erstellten Amazon S3 S3-Bucket mit einem Namen handelt, der das folgende Muster verwendet:`s3://sagemaker-{Region}-{your-account-id}`. SageMaker Canvas fügt die Daten Ihrer Benutzer dem Bucket hinzu, wenn sie eine Datei hochladen.

Um Benutzern die Erlaubnis zu erteilen, lokale Dateien in den Bucket hochzuladen, können Sie mit einem der folgenden Verfahren eine CORS-Konfiguration an den Bucket anhängen. Sie können die erste Methode verwenden, wenn Sie die Einstellungen Ihrer Domain bearbeiten. Dabei entscheiden Sie sich dafür, dass SageMaker KI die CORS-Konfiguration für Sie an den Bucket anhängt. Sie können auch die erste Methode verwenden, um ein Benutzerprofil innerhalb einer Domain zu bearbeiten. Die zweite Methode ist die manuelle Methode, bei der Sie die CORS-Konfiguration selbst an den Bucket anhängen können.

## SageMaker Methode für AI-Domaineinstellungen
<a name="canvas-set-up-local-upload-domain"></a>

Um Ihren Benutzern die Berechtigung zum Hochladen lokaler Dateien zu erteilen, können Sie die Canvas-Anwendungskonfiguration in den Domaineinstellungen bearbeiten. Dadurch wird eine CORS-Konfiguration (Cross-Origin Resource Sharing) an den Amazon S3 S3-Bucket der Canvas-Speicherkonfiguration angehängt und allen Benutzern in der Domain die Berechtigung erteilt, lokale Dateien in Canvas hochzuladen. SageMaker Standardmäßig ist die Berechtigungsoption aktiviert, wenn Sie eine neue Domain einrichten. Sie können diese Option jedoch nach Bedarf ein- und ausschalten.

**Anmerkung**  
Wenn Sie bereits über eine CORS-Konfiguration für den Amazon-S3-Bucket in der Speicherkonfiguration verfügen, wird durch das Aktivieren der Option zum Hochladen lokaler Dateien die vorhandene Konfiguration durch die neue Konfiguration überschrieben.

Das folgende Verfahren zeigt, wie Sie diese Option aktivieren können, indem Sie die Domain-Einstellungen in der SageMaker AI-Konsole bearbeiten.

1. Gehen Sie zur SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich die Option **Domains** aus.

1. Wählen Sie aus der Liste der Domains Ihre Domain aus.

1. Wählen Sie auf der Seite mit den Domaindetails die Registerkarte **App-Konfigurationen** aus.

1. Gehen Sie zum Bereich **Canvas** und wählen Sie **Bearbeiten** aus.

1. Aktivieren Sie den Schalter **Lokalen Datei-Upload aktivieren**. Hiermit wird die CORS-Konfiguration angehängt und die Berechtigung zum Hochladen lokaler Dateien erteilt.

1. Wählen Sie **Absenden** aus.

Benutzer in der angegebenen Domain sollten jetzt über Berechtigungen zum Hochladen lokaler Dateien verfügen.

Sie können auch bestimmten Benutzerprofilen in einer Domain Berechtigungen gewähren, indem Sie das oben beschriebene Verfahren befolgen und statt der allgemeinen Domaineinstellungen die Benutzerprofileinstellungen aufrufen.

## Amazon-S3-Bucket-Methode
<a name="canvas-set-up-local-upload-s3"></a>

Wenn Sie die CORS-Konfiguration manuell an den SageMaker AI Amazon S3 S3-Bucket anhängen möchten, gehen Sie wie folgt vor.

1. Melden Sie sich bei [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) an.

1. Wählen Sie Ihren Bucket aus. Wenn Ihre Domain den standardmäßigen, von SageMaker KI erstellten Bucket verwendet, verwendet der Name des Buckets das folgende Muster:`s3://sagemaker-{Region}-{your-account-id}`.

1. Wählen Sie **Berechtigungen**.

1. Navigieren Sie zu **Cross-origins resource sharing (CORS)**.

1. Wählen Sie **Bearbeiten** aus.

1. Fügen Sie die folgende CORS-Richtlinie hinzu:

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. Wählen Sie **Änderungen speichern ** aus.

In der vorangegangenen Prozedur muss die CORS-Richtlinie `"POST"` unter `AllowedMethods` aufgeführt haben.

Nachdem Sie das Verfahren durchlaufen haben, sollten Sie:
+ Jedem Ihrer Benutzer ist eine IAM-Rolle zugewiesen.
+ Amazon SageMaker Studio Classic-Laufzeitberechtigungen für jeden Ihrer Benutzer. SageMaker Canvas verwendet Studio Classic, um die Befehle Ihrer Benutzer auszuführen.
+ Wenn die Benutzer Dateien von ihren lokalen Computern hochladen, ist eine CORS-Richtlinie an ihren Amazon-S3-Bucket angehängt.

Wenn Ihre Benutzer die lokalen Dateien nach der Aktualisierung der CORS-Richtlinie immer noch nicht hochladen können, speichert der Browser möglicherweise die CORS-Einstellungen eines früheren Upload-Versuchs zwischen. Wenn Probleme auftreten, weisen Sie sie an, ihren Browser-Cache zu leeren, und versuchen Sie es erneut.

# Richten Sie SageMaker Canvas für Ihre Benutzer ein
<a name="setting-up-canvas-sso"></a>

Gehen Sie wie folgt vor, um Amazon SageMaker Canvas einzurichten:
+ Erstellen Sie eine Amazon SageMaker AI-Domain.
+ Erstellen Sie Benutzerprofile für die Domain.
+ Richten Sie Okta Single Sign-On (Okta SSO) für Ihre Benutzer ein.
+ Aktivieren Sie die gemeinsame Nutzung von Links für Modelle.

Verwenden Sie Okta Single-Sign On (Okta SSO), um Ihren Benutzern Zugriff auf Amazon Canvas zu gewähren. SageMaker SageMaker Canvas unterstützt SAML 2.0-SSO-Methoden. Die folgenden Abschnitte führen Sie durch die Verfahren zur Einrichtung von Okta SSO.

Um eine Domain einzurichten, lesen Sie [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md) und befolgen Sie die Anweisungen zum Einrichten Ihrer Domain mithilfe der IAM-Authentifizierung. Die folgenden Informationen können Ihnen dabei helfen, das Verfahren in diesem Abschnitt abzuschließen:
+ Sie können den Schritt zum Erstellen von Projekten ignorieren.
+ Sie müssen keinen Zugriff auf zusätzliche Amazon-S3-Buckets bereitstellen. Ihre Benutzer können den Standard-Bucket verwenden, den wir bei der Erstellung einer Rolle bereitstellen.
+ Um Ihren Benutzern Zugriff auf die gemeinsame Nutzung ihrer Notebooks mit Datenwissenschaftlern zu gewähren, aktivieren Sie die **Konfiguration für die gemeinsame Nutzung von Notebooks**.
+ Verwenden Sie Amazon SageMaker Studio Classic Version 3.19.0 oder höher. Informationen zur Aktualisierung von Amazon SageMaker Studio Classic finden Sie unter[Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md).

Gehen Sie wie folgt vor, um Okta einzurichten. Für alle folgenden Verfahren geben Sie dieselbe IAM-Rolle für `IAM-role` an.

## Fügen Sie die SageMaker Canvas-Anwendung zu Okta hinzu
<a name="canvas-set-up-okta"></a>

Richten Sie die Anmeldemethode für Okta ein.

1. Melden Sie sich im Okta Admin-Dashboard an.

1. Wählen Sie **Anwendung hinzufügen**. Suchen Sie nach **AWS Account Federation**.

1. Wählen Sie **Hinzufügen** aus.

1. Optional: Ändern Sie den Namen in **Amazon SageMaker Canvas**.

1. Wählen Sie **Weiter** aus.

1. Wählen Sie **SAML 2.0** als **Anmeldemethode**.

1. Wählen Sie **Identity Provider Metadata**, um die Metadaten-XML-Datei zu öffnen. Speichern Sie die Datei lokal.

1. Wählen Sie **Fertig** aus.

## Richten Sie den ID-Verbund in IAM ein
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM) ist der AWS Service, den Sie verwenden, um auf Ihr AWS Konto zuzugreifen. Sie erhalten AWS über ein IAM-Konto Zugriff darauf.

1. Melden Sie sich bei der AWS Konsole an.

1. Wählen Sie **AWS Identity and Access Management (IAM)**.

1. Wählen Sie **Identitätsanbieter**.

1. Wählen Sie **Anbieter erstellen**.

1. Geben Sie für **Anbieter konfigurieren** Folgendes an:
   + **Anbietertyp** – Wählen Sie in der Dropdown-Liste **SAML** aus.
   + **Anbietername** **– Geben Sie Okta** an.
   + **Metadaten-Dokument** – Laden Sie das XML-Dokument hoch, das Sie in Schritt 7 von [Fügen Sie die SageMaker Canvas-Anwendung zu Okta hinzu](#canvas-set-up-okta) lokal gespeichert haben.

1. Finden Sie Ihren Identitätsanbieter unter **Identitätsanbieter**. Kopieren Sie seinen **Anbieter-ARN**-Wert.

1. Wählen Sie unter **Rollen** die IAM-Rolle aus, die Sie für den Okta SSO-Zugriff verwenden.

1. Wählen Sie unter **Vertrauensstellung** für die IAM-Rolle die Option **Vertrauensstellung bearbeiten**.

1. Ändern Sie die IAM-Vertrauensstellungsrichtlinie, indem Sie den **ARN-Wert des Anbieters** angeben, den Sie kopiert haben, und fügen Sie die folgende Richtlinie hinzu:

------
#### [ JSON ]

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. Fügen Sie für **Berechtigungen** die folgende Richtlinie hinzu:

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## Konfigurieren Sie SageMaker Canvas in Okta
<a name="canvas-configure-okta"></a>

Konfigurieren Sie Amazon SageMaker Canvas in Okta mit dem folgenden Verfahren.

Um Amazon SageMaker Canvas für die Verwendung von Okta zu konfigurieren, folgen Sie den Schritten in diesem Abschnitt. Sie müssen für jedes **SageMakerStudioProfileName**Feld eindeutige Benutzernamen angeben. Sie können es beispielsweise `user.login` als Wert verwenden. Wenn sich der Benutzername vom SageMaker Canvas-Profilnamen unterscheidet, wählen Sie ein anderes eindeutig identifizierendes Attribut. Sie können beispielsweise die ID-Nummer eines Mitarbeiters als Profilnamen verwenden.

Ein Beispiel für Werte, die Sie für **Attribute** festlegen können, finden Sie im Code, der dem Verfahren folgt.

1. Wählen Sie unter **Verzeichnis** die Option **Gruppen** aus.

1. Fügen Sie eine Gruppe mit dem folgenden Muster hinzu: `sagemaker#canvas#IAM-role#AWS-account-id`.

1. Öffnen Sie in Okta die Konfiguration für die Anwendungsintegration von **AWS Account Federation**.

1. Wählen Sie **Anmelden** für die AWS Account Federation-Anwendung aus.

1. Wählen Sie **Bearbeiten** und geben Sie Folgendes an:
   + SAML 2.0
   + **Standard-Relay-Status** — https://*Region*.console.aws.amazon. com/sagemaker/home? region= *Region* \$1/studio/canvas/open. *StudioId* Sie finden die Studio Classic-ID in der Konsole: [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Wählen Sie **Attribute**.

1. Geben Sie in den **SageMakerStudioProfileName**Feldern eindeutige Werte für jeden Benutzernamen an. Die Benutzernamen müssen mit den Benutzernamen übereinstimmen, die Sie in der AWS Konsole erstellt haben.

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. Wählen Sie den **Umgebungstyp aus.** Wählen Sie **Regulär AWS**.
   + Wenn Ihr Umgebungstyp nicht aufgeführt ist, können Sie Ihre ACS-URL im Feld **ACS-URL** festlegen. Wenn Ihr Umgebungstyp aufgeführt ist, müssen Sie Ihre ACS-URL nicht eingeben

1. Geben Sie für **Identitätsanbieter-ARN** den ARN an, den Sie in Schritt 6 des vorherigen Verfahrens verwendet haben.

1. Geben Sie eine **Sitzungsdauer** an.

1. Wählen Sie **Allen Rollen beitreten** aus.

1. Aktivieren Sie **Gruppenzuordnung verwenden**, indem Sie die folgenden Felder angeben:
   + **App-Filter** – `okta`
   + **Gruppenfilter** – `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **Rollenwertmuster** – `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. Wählen Sie **Speichern/Weiter**.

1. Weisen Sie die Anwendung unter **Zuweisungen** der Gruppe zu, die Sie erstellt haben.

## Fügen Sie optionale Richtlinien zur Zugriffskontrolle in IAM hinzu
<a name="canvas-optional-access"></a>

In IAM können Sie die folgende Richtlinie auf den Administratorbenutzer anwenden, der die Benutzerprofile erstellt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

Wenn Sie die vorherige Richtlinie dem Admin-Benutzer hinzufügen möchten, müssen Sie die folgenden Berechtigungen von [Richten Sie den ID-Verbund in IAM ein](#set-up-id-federation-IAM) verwenden.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------

# Konfigurieren Sie Ihren Amazon S3-Speicher
<a name="canvas-storage-configuration"></a>

Wenn Sie Ihre SageMaker Canvas-Anwendung einrichten, ist der Standardspeicherort für Modellartefakte, Datensätze und andere Anwendungsdaten ein Amazon S3 S3-Bucket, den Canvas erstellt. Dieser standardmäßige Amazon S3 Bucket folgt dem Benennungsmuster `s3://sagemaker-{Region}-{your-account-id}` und befindet sich in der gleichen -Region wie Ihre Canvas-Anwendung. Sie können den Speicherort jedoch anpassen und Ihren eigenen Amazon-S3-Bucket zum Speichern von Canvas-Anwendungsdaten angeben. Möglicherweise möchten Sie aus einem der folgenden Gründe Ihren eigenen Amazon-S3-Bucket zum Speichern von Anwendungsdaten verwenden:
+ Ihr Unternehmen hat interne Namenskonventionen für Amazon-S3-Buckets.
+ Sie möchten den kontoübergreifenden Zugriff auf Modellartefakte oder andere Canvas-Daten ermöglichen.
+ Sie möchten interne Sicherheitsrichtlinien einhalten, z. B. die Beschränkung von Benutzern auf bestimmte Amazon-S3-Buckets oder Modellartefakte.
+ Sie möchten die Sichtbarkeit und den Zugriff auf die von Canvas erstellten Protokolle verbessern, unabhängig von der AWS Konsole oder SageMaker Studio Classic.

Indem Sie Ihren eigenen Amazon-S3-Bucket angeben, können Sie mehr Kontrolle über Ihren eigenen Speicher haben und die Vorschriften Ihrer Organisation einhalten. 

Zu Beginn können Sie entweder eine neue SageMaker AI-Domäne oder ein neues Benutzerprofil erstellen oder eine vorhandene Domäne oder ein vorhandenes Benutzerprofil aktualisieren. Beachten Sie, dass die Benutzerprofileinstellungen die Einstellungen auf Domainebene überschreiben. Sie können beispielsweise die Standard-Bucket-Konfiguration auf Domain-Ebene verwenden, aber Sie können einen benutzerdefinierten Amazon-S3-Bucket für einen einzelnen Benutzer angeben. Nachdem Sie Ihren eigenen Amazon-S3-Bucket für die Domain oder das Benutzerprofil angegeben haben, erstellt Canvas einen Unterordner namens `Canvas/<UserProfileName>` unter dem eingegebenen Amazon-S3-URI und speichert alle in der Canvas-Anwendung erzeugten Artefakte in diesem Unterordner.

**Wichtig**  
Wenn Sie eine bestehende Domain oder ein vorhandenes Benutzerprofil aktualisieren, haben Sie vom vorherigen Speicherort aus keinen Zugriff mehr auf Ihre Canvas-Artefakte. Ihre Dateien befinden sich immer noch am alten Amazon S3-Speicherort, aber Sie können sie nicht mehr von Canvas aus anzeigen. Die neue Konfiguration wird wirksam, wenn Sie sich das nächste Mal bei der Anwendung anmelden.

Weitere Informationen zur Gewährung von kontoübergreifendem Zugriff auf Ihren Amazon-S3-Bucket finden Sie unter [Gewähren von kontoübergreifenden Objektberechtigungen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview) im *Amazon S3-Benutzerhandbuch*.

In den folgenden Abschnitten wird beschrieben, wie Sie einen benutzerdefinierten Amazon-S3-Bucket für Ihre Canvas-Speicherkonfiguration angeben. Wenn Sie eine neue SageMaker KI-Domain (oder einen neuen Benutzer in einer Domain) einrichten, verwenden Sie die [Neue Methode zur Einrichtung einer Domain](#canvas-storage-configuration-new-domain) oder die[Neue Einrichtungsmethode eines Benutzerprofils](#canvas-storage-configuration-new-user). Wenn Sie ein vorhandenes Canvas-Benutzerprofil haben und die Speicherkonfiguration des Profils aktualisieren möchten, verwenden Sie den [Bestehende Benutzermethode](#canvas-storage-configuration-existing-user).

## Bevor Sie beginnen
<a name="canvas-storage-configuration-prereqs"></a>

Wenn Sie eine Amazon S3 S3-URI von einem anderen AWS Konto angeben oder wenn Sie einen Bucket verwenden, der mit verschlüsselt ist AWS KMS, müssen Sie die Berechtigungen konfigurieren, bevor Sie fortfahren. Sie müssen AWS IAM-Berechtigungen gewähren, um sicherzustellen, dass Canvas Objekte in Ihren Bucket herunterladen und aus Ihrem Bucket hochladen kann. Ausführliche Informationen über die Erteilung der erforderlichen Berechtigungen finden Sie unter [Erteilen von Berechtigungen für kontoübergreifenden Amazon S3-Speicher](canvas-permissions-cross-account.md).

Darüber hinaus muss die endgültige Amazon-S3-URI für den Trainingsordner in Ihrem Canvas-Speicherort 128 Zeichen oder weniger lang sein. Die endgültige Amazon-S3-URI besteht aus Ihrem `s3://<your-bucket-name>/<folder-name>/` Bucket-Pfad und dem Pfad, den Canvas Ihrem Bucket hinzufügt: `Canvas/<user-profile-name>/Training`. Ein akzeptabler Pfad mit weniger als 128 Zeichen ist beispielsweise `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`.

## Neue Methode zur Einrichtung einer Domain
<a name="canvas-storage-configuration-new-domain"></a>

Wenn Sie eine neue Domain- und Canvas-Anwendung einrichten, verwenden Sie diesen Abschnitt, um den Speicherort auf Domainebene zu konfigurieren. Diese Konfiguration gilt für alle neuen Benutzer, die Sie in der Domain erstellen, es sei denn, Sie geben einen anderen Speicherort für einzelne Benutzerprofile an.

Wenn Sie eine **Standardeinrichtung** für Ihre Domain durchführen, gehen Sie auf der Seite **Schritt 3: Anwendungen konfigurieren – optional** für den Abschnitt **Canvas** wie folgt vor:

1. Gehen Sie für die **Canvas-Speicherkonfiguration** wie folgt vor:

   1. Wählen Sie **System verwaltet** aus, wenn Sie den Speicherort auf den standardmäßigen SageMaker AI-Bucket festlegen möchten, der dem Muster `s3://sagemaker-{Region}-{your-account-id}` folgt.

   1. Wählen Sie **Benutzerdefiniertes S3**, um Ihren eigenen Amazon-S3-Bucket als Speicherort anzugeben. Geben Sie dann die Amazon-S3-URI ein.

   1. (Optional) Geben Sie für den **Verschlüsselungsschlüssel** einen KMS-Schlüssel zur Verschlüsselung von Canvas-Artefakten an, die am angegebenen Speicherort gespeichert sind. 

1. Beenden Sie die Einrichtung der Domain und wählen Sie **Absenden** aus.

Ihre Domain ist jetzt so konfiguriert, dass sie den Amazon S3 S3-Standort verwendet, den Sie für den SageMaker Canvas-Anwendungsspeicher angegeben haben.

## Neue Einrichtungsmethode eines Benutzerprofils
<a name="canvas-storage-configuration-new-user"></a>

Wenn Sie ein neues Benutzerprofil in Ihrer Domain einrichten, verwenden Sie diesen Abschnitt, um den Speicherort für den Benutzer zu konfigurieren. Diese Konfiguration überschreibt die Konfiguration auf Domainebene.

Wenn Sie ein Benutzerprofil zu Ihrer Domain hinzufügen, gehen Sie in **Schritt 2: Anwendungen konfigurieren** wie folgt vor, um den Abschnitt **Canvas** zu konfigurieren:

1. Gehen Sie für die **Canvas-Speicherkonfiguration** wie folgt vor:

   1. Wählen Sie **System verwaltet** aus, wenn Sie den Speicherort auf den standardmäßigen, von SageMaker KI erstellten Bucket festlegen möchten, der dem Muster folgt`s3://sagemaker-{Region}-{your-account-id}`.

   1. Wählen Sie **Benutzerdefiniertes S3**, um Ihren eigenen Amazon-S3-Bucket als Speicherort anzugeben. Geben Sie dann die Amazon-S3-URI ein.

   1. (Optional) Geben Sie für den **Verschlüsselungsschlüssel** einen KMS-Schlüssel zur Verschlüsselung von Canvas-Artefakten an, die am angegebenen Speicherort gespeichert sind. 

1. Schließen Sie die Einrichtung des Benutzerprofils ab und wählen Sie **Absenden** aus.

Ihr Benutzerprofil ist jetzt so konfiguriert, dass es den Amazon S3 S3-Speicherort verwendet, den Sie für den SageMaker Canvas-Anwendungsspeicher angegeben haben.

## Bestehende Benutzermethode
<a name="canvas-storage-configuration-existing-user"></a>

Wenn Sie ein vorhandenes Canvas-Benutzerprofil haben und den Amazon S3 S3-Speicherort aktualisieren möchten, können Sie die SageMaker AI-Domain oder die Benutzerprofileinstellungen bearbeiten. Die Änderung wird wirksam, wenn Sie sich das nächste Mal bei der Canvas-Anwendung anmelden.

**Anmerkung**  
Wenn Sie den Speicherort für eine vorhandene Canvas-Anwendung ändern, verlieren Sie den Zugriff auf Ihre Canvas-Artefakte vom vorherigen Speicherort. Die Artefakte werden immer noch am alten Amazon S3-Speicherort gespeichert, aber Sie können sie nicht mehr von Canvas aus anzeigen.

Denken Sie daran, dass die Benutzerprofileinstellungen die allgemeinen Domain-Einstellungen überschreiben, sodass Sie den Amazon-S3-Speicherort für bestimmte Benutzerprofile aktualisieren können, ohne ihn für alle Benutzer zu ändern. Sie können die Speicherkonfiguration für eine vorhandene Domain oder einen vorhandenen Benutzer mithilfe der folgenden Verfahren aktualisieren.

------
#### [ Update an existing domain ]

Gehen Sie wie folgt vor, um die Speicherkonfiguration für eine Domain zu aktualisieren.

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains Ihre Domain aus.

1. Wählen Sie auf der Seite **Domaindetails** die Registerkarte **App-Konfigurationen** aus.

1. Scrollen Sie nach unten zum Bereich **Canvas** und wählen Sie **Bearbeiten** aus.

1. Die Seite **Canvas-Einstellungen bearbeiten** wird geöffnet. Gehen Sie im Abschnitt **Canvas-Speicherkonfiguration** wie folgt vor:

   1. Wählen Sie **System verwaltet** aus, wenn Sie als Speicherort den standardmäßigen, von SageMaker KI erstellten Bucket festlegen möchten, der dem Muster folgt`s3://sagemaker-{Region}-{your-account-id}`.

   1. Wählen Sie **Benutzerdefiniertes S3**, um Ihren eigenen Amazon-S3-Bucket als Speicherort anzugeben. Geben Sie dann die Amazon-S3-URI ein.

   1. (Optional) Geben Sie für den **Verschlüsselungsschlüssel** einen KMS-Schlüssel zur Verschlüsselung von Canvas-Artefakten an, die am angegebenen Speicherort gespeichert sind. 

1. Schließen Sie alle anderen Änderungen ab, die Sie an der Domain vornehmen möchten, und wählen Sie dann **Absenden**, um Ihre Änderungen zu speichern.

------
#### [ Update an existing user profile ]

Gehen Sie wie folgt vor, um die Speicherkonfiguration für ein Benutzerprofil zu aktualisieren.

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der **Domains** Ihre Domain aus.

1. Wählen Sie in der Liste der Benutzer in der Domain den Benutzer aus, dessen Konfiguration Sie bearbeiten möchten.

1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie im Navigationsbereich **Canvas-Einstellungen**.

1. Gehen Sie für die **Canvas-Speicherkonfiguration** wie folgt vor:

   1. Wählen Sie **System verwaltet** aus, wenn Sie den Standort auf den SageMaker Standard-AI-Bucket festlegen möchten, der dem Muster folgt`s3://sagemaker-{Region}-{your-account-id}`.

   1. Wählen Sie **Benutzerdefiniertes S3**, um Ihren eigenen Amazon-S3-Bucket als Speicherort anzugeben. Geben Sie dann die Amazon-S3-URI ein.

   1. (Optional) Geben Sie für den **Verschlüsselungsschlüssel** einen KMS-Schlüssel zur Verschlüsselung von Canvas-Artefakten an, die am angegebenen Speicherort gespeichert sind. 

1. Schließen Sie alle anderen Änderungen ab, die Sie am Benutzerprofil vornehmen möchten, und wählen Sie dann **Absenden**, um Ihre Änderungen zu speichern.

------

Der Speicherort für Ihr Canvas-Benutzerprofil sollte jetzt aktualisiert sein. Wenn Sie sich das nächste Mal bei der Canvas-Anwendung anmelden, erhalten Sie eine Benachrichtigung, dass der Speicherort aktualisiert wurde. Sie verlieren den Zugriff auf alle früheren Artefakte, die Sie in Canvas erstellt haben. Sie können weiterhin auf die Dateien in Amazon S3 zugreifen, aber Sie können sie nicht mehr in Canvas anzeigen.

# Erteilen von Berechtigungen für kontoübergreifenden Amazon S3-Speicher
<a name="canvas-permissions-cross-account"></a>

Wenn Sie Ihre SageMaker AI-Domain oder Ihr Benutzerprofil einrichten, damit Benutzer auf SageMaker Canvas zugreifen können, geben Sie einen Amazon S3 S3-Speicherort für Canvas-Artefakte an. Zu diesen Artefakten gehören gespeicherte Kopien Ihrer Eingabedatensätze, Modellartefakte, Vorhersagen und andere Anwendungsdaten. Sie können entweder den standardmäßigen, von SageMaker KI erstellten Amazon S3 S3-Bucket verwenden oder Sie können den Speicherort anpassen und Ihren eigenen Bucket zum Speichern von Canvas-Anwendungsdaten angeben.

Sie können einen Amazon S3 S3-Bucket in einem anderen AWS Konto zum Speichern Ihrer Canvas-Daten angeben, aber zuerst müssen Sie kontoübergreifende Berechtigungen gewähren, damit Canvas auf den Bucket zugreifen kann.

In den folgenden Abschnitten wird beschrieben, wie Sie Canvas Berechtigungen für das Hoch- und Herunterladen von Objekten in einen Amazon-S3-Bucket in einem anderen Konto gewähren. Es gibt zusätzliche Berechtigungen für den Fall, dass Ihr Bucket mit AWS KMS verschlüsselt ist.

## Voraussetzungen
<a name="canvas-permissions-cross-account-prereqs"></a>

Bevor Sie beginnen, sollten Sie die folgenden Anforderungen prüfen:
+ Kontoübergreifende Amazon S3 S3-Buckets (und alle zugehörigen AWS KMS Schlüssel) müssen sich in derselben AWS Region befinden wie die Canvas-Benutzerdomäne oder das Benutzerprofil.
+ Die endgültige Amazon-S3-URI für den Trainingsordner in Ihrem Canvas-Speicherort muss 128 Zeichen oder weniger lang sein. Die endgültige S3-URI besteht aus Ihrem `s3://<your-bucket-name>/<folder-name>/` Bucket-Pfad und dem Pfad, den Canvas Ihrem Bucket hinzufügt: `Canvas/<user-profile-name>/Training`. Ein akzeptabler Pfad mit weniger als 128 Zeichen ist beispielsweise `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`.

## Berechtigungen für kontoübergreifende Amazon-S3-Buckets
<a name="canvas-permissions-cross-account-s3"></a>

Im folgenden Abschnitt werden die grundlegenden Schritte zur Erteilung der erforderlichen Berechtigungen beschrieben, damit Canvas in einem anderen Konto auf Ihren Amazon-S3-Bucket zugreifen kann. Eine detailliertere Anleitung finden Sie unter [Beispiel 2: Bucket-Besitzer, der kontoübergreifende Bucket-Berechtigungen gewährt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html), im *Amazon S3-Benutzerhandbuch*.

1. Erstellen Sie einen Amazon-S3-Bucket, `bucketA`, in Konto A.

1. Der Canvas-Benutzer ist in einem anderen Konto namens Konto B vorhanden. In den folgenden Schritten beziehen wir uns auf die IAM-Rolle des Canvas-Benutzers wie `roleB` in Konto B.

   Erteilen Sie der IAM-Rolle `roleB` in Konto B die Berechtigung zum Herunterladen (`GetObject`) und Hochladen (`PutObject`) von Objekten zu und von `bucketA` in Konto A, indem Sie eine IAM-Richtlinie anhängen.

   Um den Zugriff auf einen bestimmten Bucket-Ordner zu beschränken, definieren Sie den Ordnernamen im Ressourcenelement, z. B. `arn:aws:s3:::<bucketA>/FolderName/*`. Weitere Informationen finden Sie unter [Wie kann ich IAM-Richtlinien verwenden, um benutzerspezifischen Zugriff auf bestimmte Ordner zu gewähren?](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)
**Anmerkung**  
Aktionen auf Bucket-Ebene, wie z. B. `GetBucketCors` und `GetBucketLocation`, sollten für Ressourcen auf Bucket-Ebene hinzugefügt werden, nicht für Ordner.

   Das folgende Beispiel für eine IAM-Richtlinie gewährt die erforderlichen Berechtigungen für `roleB` den Zugriff auf Objekte in: `bucketA`

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           }
       ]
   }
   ```

------

1. Konfigurieren Sie die Bucket-Richtlinie für `bucketA` in Konto A, um der IAM-Rolle `roleB` in Konto B Berechtigungen zu gewähren.
**Anmerkung**  
Administratoren müssen außerdem die Option **Gesamten öffentlichen Zugriff blockieren** im Bereich **Berechtigungen** für den Bucket deaktivieren.

   Es folgt ein Beispiel für eine Bucket-Policy für `bucketA`, um `roleB` die erforderlichen Berechtigungen zu erteilen:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

Nachdem Sie die vorherigen Berechtigungen konfiguriert haben, kann Ihr Canvas-Benutzerprofil in Konto B nun den Amazon S3-Bucket in Konto A als Speicherort für Canvas-Artefakte verwenden.

## Berechtigungen für kontoübergreifende Amazon S3 S3-Buckets, verschlüsselt mit AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

Das folgende Verfahren zeigt Ihnen, wie Sie die erforderlichen Berechtigungen erteilen, damit Canvas auf Ihren Amazon S3 S3-Bucket in einem anderen Konto zugreifen kann, das mit verschlüsselt ist AWS KMS. Die Schritte ähneln dem obigen Verfahren, jedoch mit zusätzlichen Berechtigungen. Weitere Informationen über die [Gewährung von kontenübergreifendem KMS-Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) finden Sie im *AWS KMS Entwicklerhandbuch* unter Zulassen der Verwendung eines KMS-Schlüssels durch Benutzer in anderen Konten.

1. Erstellen Sie einen Amazon-S3-Bucket `bucketA` und einen KMS-Schlüssel von Amazon S3, `s3KmsInAccountA`, in Konto A.

1. Der Canvas-Benutzer ist in einem anderen Konto namens Konto B vorhanden. In den folgenden Schritten beziehen wir uns auf die IAM-Rolle des Canvas-Benutzers wie `roleB` in Konto B.

   Erteilen Sie der IAM-Rolle `roleB` in Konto B die Erlaubnis, Folgendes zu tun:
   + Herunterladen (`GetObject`) und Hochladen (`PutObject`) von Objekten auf und von `bucketA` in Konto A.
   + Greifen Sie auf den AWS KMS Schlüssel `s3KmsInAccountA` in Konto A zu.

   Die folgende Beispiel-IAM-Richtlinie gewährt die erforderlichen Berechtigungen für `roleB`, um auf Objekte in `bucketA` zuzugreifen und den KMS-Schlüssel `s3KmsInAccountA` zu verwenden:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. Konfigurieren Sie die Bucket-Richtlinie für `bucketA` und die Schlüsselrichtlinie für `s3KmsInAccountA` in Konto A, um der IAM-Rolle `roleB` in Konto B Berechtigungen zu gewähren.

   Im Folgenden finden Sie ein Beispiel für eine Bucket-Policy für `bucketA`, mit der die erforderlichen Berechtigungen für `roleB` erteilt werden:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   Das folgende Beispiel ist eine Schlüsselrichtlinie, die Sie an den KMS-Schlüssel `s3KmsInAccountA` in Konto A anhängen, um `roleB` Zugriff zu gewähren. Weitere Informationen zum Erstellen und Anhängen einer wichtigen Richtlinienerklärung finden Sie unter [Erstellen einer Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) im *AWS KMS Entwicklerhandbuch*.

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

Nachdem Sie die vorherigen Berechtigungen konfiguriert haben, kann Ihr Canvas-Benutzerprofil in Konto B nun den verschlüsselten Amazon-S3-Bucket in Konto A als Speicherort für Canvas-Artefakte verwenden.

# Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer
<a name="canvas-large-data-permissions"></a>

Amazon SageMaker Canvas-Benutzer, die mit Datensätzen arbeiten, die größer als 10 GB im CSV-Format oder 2,5 GB im Parquet-Format sind, benötigen spezielle Berechtigungen für die Verarbeitung großer Datenmengen. Diese Berechtigungen sind für die Verwaltung umfangreicher Daten während des gesamten Machine-Learning-Lebenszyklus unerlässlich. Wenn Datensätze die angegebenen Schwellenwerte oder die lokale Speicherkapazität der Anwendung überschreiten, verwendet SageMaker Canvas Amazon EMR Serverless für eine effiziente Verarbeitung. Dies gilt in folgenden Fällen:
+ Datenimport: Importieren Sie umfangreiche Datensätze mit zufälliger oder geschichteter Stichprobenauswahl.
+ Datenaufbereitung: Exportieren Sie verarbeitete Daten aus Data Wrangler in Canvas nach Amazon S3, in einen neuen Canvas-Datensatz oder in ein Canvas-Modell.
+ Modellbildung: Training von Modellen anhand umfangreicher Datensätze.
+ Inferenz: Vorhersagen auf der Grundlage umfangreicher Datensätze treffen.

Standardmäßig verwendet SageMaker Canvas EMR Serverless, um diese Remote-Jobs mit den folgenden App-Einstellungen auszuführen:
+ Vorinitialisierte Kapazität: nicht konfiguriert
+ Anwendungsgrenzen: Maximale Kapazität von 400 VCPUs, maximal 16 V gleichzeitig CPUs pro Konto, 3000 GB Arbeitsspeicher, 20000 GB Festplatte
+ Metastore-Konfiguration: AWS Glue Data Catalog
+ Anwendungsprotokolle: AWS verwalteter Speicher (aktiviert) unter Verwendung eines AWS eigenen Verschlüsselungsschlüssels
+ Verhalten der Anwendung: Startet automatisch bei der Übermittlung eines Auftrags und beendet sich automatisch, nachdem die Anwendung 15 Minuten lang inaktiv war.

Um diese umfangreichen Datenverarbeitungsfunktionen zu aktivieren, benötigen Benutzer die erforderlichen Berechtigungen, die über die Amazon SageMaker AI-Domaineinstellungen erteilt werden können. Die Methode zur Erteilung dieser Berechtigungen hängt davon ab, wie Ihre Amazon SageMaker AI-Domain ursprünglich eingerichtet wurde. Wir behandeln drei Hauptszenarien:
+ Schnelle Domaineinrichtung
+ Benutzerdefiniertes Domain-Setup (mit öffentlicher access/without Internet-VPC)
+ Benutzerdefinierte Domaineinrichtung (mit VPC und ohne öffentlichem Internetzugang)

Jedes Szenario erfordert spezifische Schritte, um sicherzustellen, dass Benutzer über die erforderlichen Berechtigungen verfügen, um EMR Serverless für die Verarbeitung großer Datenmengen über den gesamten Lebenszyklus des maschinellen Lernens in SageMaker Canvas zu nutzen.

## Szenario 1: Schnelle Domaineinrichtung
<a name="canvas-large-data-quick-setup"></a>

Wenn Sie bei der Erstellung Ihrer SageMaker KI-Domain die Option **Quick Setup** verwendet haben, gehen Sie wie folgt vor:

1. Navigieren Sie zu den Amazon SageMaker AI-Domaineinstellungen:

   1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Wählen Sie im linken Navigationsbereich die Option **Domains** aus.

   1. Wählen Sie Ihre Domain aus.

   1. Wechseln Sie zur Registerkarte **App-Konfiguration**.

   1. Scrollen Sie zum Bereich **Canvas** und wählen Sie **Bearbeiten** aus.

1. Aktivieren Sie die Verarbeitung großer Datenmengen:

   1. Aktivieren Sie im Abschnitt **Konfiguration für die Verarbeitung großer Datenmengen** die Option **EMR Serverless für die Verarbeitung großer Datenmengen aktivieren**.

   1. Erstellen Sie eine EMR-Serverless-Rolle oder wählen Sie sie aus:

      1. Wählen Sie **Eine neue Ausführungsrolle erstellen und verwenden**, um eine neue IAM-Rolle zu erstellen, die eine Vertrauensbeziehung zu EMR Serverless und der zugehörigen [AWS verwaltete Richtlinie: AmazonSageMakerCanvas EMRServerless ExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy)-Richtlinie aufweist. Diese IAM-Rolle wird von Canvas übernommen, um EMR-Serverless-Aufträge zu erstellen.

      1. Wenn Sie bereits über eine Ausführungsrolle mit einer Vertrauensstellung für EMR Serverless verfügen, wählen Sie **Bestehende Ausführungsrolle verwenden** und wählen Sie Ihre Rolle aus der Dropdown-Liste aus.
         + Die bestehende Rolle muss einen Namen haben, der mit dem Präfix `AmazonSageMakerCanvasEMRSExecutionAccess-` beginnt.
         + Die von Ihnen ausgewählte Rolle sollte außerdem mindestens über die in der [AWS verwaltete Richtlinie: AmazonSageMakerCanvas EMRServerless ExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy)-Richtlinie beschriebenen Berechtigungen verfügen.
         + Die Rolle sollte über eine EMR–Serverless-Vertrauensrichtlinie verfügen, wie unten dargestellt:

------
#### [ JSON ]

****  

           ```
           {
               "Version":"2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "EMRServerlessTrustPolicy",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "emr-serverless.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "111122223333"
                           }
                       }
                   }
               ]
           }
           ```

------

1. (Optional) Fügen Sie Amazon S3-Berechtigungen für benutzerdefinierte Amazon-S3-Buckets hinzu:

   1. Die von Canvas verwaltete Richtlinie gewährt automatisch Lese- und Schreibberechtigungen für Amazon-S3-Buckets, die `sagemaker` oder `SageMaker AI` in ihrem Namen enthalten. Es gewährt auch Leserechte für Objekte in benutzerdefinierten Amazon S3-Buckets mit dem Tag `"SageMaker": "true"`.

   1. Für benutzerdefinierte Amazon-S3-Buckets ohne das erforderliche Tag fügen Sie bitte die folgende Richtlinie zu Ihrer EMR-Serverless-Rolle hinzu:

   1. 

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              }
          ]
      }
      ```

------

   1. Wir empfehlen Ihnen, die Berechtigungen auf bestimmte Amazon-S3-Buckets zu beschränken, auf die Canvas zugreifen soll.

1. Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker Canvas-Anwendung neu.

## Szenario 2: Benutzerdefiniertes Domain-Setup (mit öffentlicher access/without Internet-VPC)
<a name="canvas-large-data-custom-no-vpc"></a>

Wenn Sie eine benutzerdefinierte Domain erstellt haben oder verwenden, befolgen Sie bitte die Schritte 1 bis 3 aus Szenario 1 und führen Sie anschließend die folgenden zusätzlichen Schritte aus:

1. Fügen Sie Ihrer Amazon SageMaker AI-Ausführungsrolle Berechtigungen für den Amazon `DescribeImages` ECR-Vorgang hinzu, da Canvas öffentliche Amazon ECR-Docker-Images für die Datenvorbereitung und das Modelltraining verwendet:

   1. Melden Sie sich bei der AWS Konsole an und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

   1. Wählen Sie **Roles**.

   1. Suchen Sie im Suchfeld anhand des Namens nach Ihrer SageMaker AI-Ausführungsrolle und wählen Sie sie aus.

   1. Fügen Sie Ihrer SageMaker KI-Ausführungsrolle die folgende Richtlinie hinzu. Dies kann entweder durch Hinzufügen als neue Inline-Richtlinie oder durch Anhängen der Richtlinienerklärung an eine bestehende Richtlinie erfolgen. Beachten Sie, dass einer IAM-Rolle maximal 10 Richtlinien zugeordnet werden können.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Sid": "ECRDescribeImagesOperation",
              "Effect": "Allow",
              "Action": "ecr:DescribeImages",
              "Resource": [
                  "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container",
                  "arn:aws:ecr:*:*:repository/ap-dataprep-emr"
              ]
          }]
      }
      ```

------

1. Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker Canvas-Anwendung neu.

## Szenario 3: benutzerdefinierte Domaineinrichtung (mit VPC und ohne öffentlichen Internetzugang)
<a name="canvas-large-data-custom-vpc"></a>

Wenn Sie eine benutzerdefinierte Domain erstellt haben oder verwenden, befolgen Sie bitte alle Schritte aus Szenario 2 und anschließend die folgenden zusätzlichen Schritte:

1. Stellen Sie sicher, dass Ihre VPC-Subnetze privat sind:

   1. Überprüfen Sie, ob die Routingtabelle für Ihre Subnetze keinen Eintrag `0.0.0.0/0` enthält, der einem Internet-Gateway zugeordnet ist.

1. Fügen Sie Berechtigungen zum Erstellen von Netzwerkschnittstellen hinzu:

   1. Wenn Sie SageMaker Canvas mit EMR Serverless für die umfangreiche Datenverarbeitung verwenden, benötigt EMR Serverless die Möglichkeit, Amazon EC2 zu erstellen, um die Netzwerkkommunikation zwischen EMR Serverless-Anwendungen und Ihren VPC-Ressourcen ENIs zu ermöglichen.

   1. Fügen Sie Ihrer Amazon SageMaker AI-Ausführungsrolle die folgende Richtlinie hinzu. Dies kann entweder durch Hinzufügen als neue Inline-Richtlinie oder durch Anhängen der Richtlinienerklärung an eine bestehende Richtlinie erfolgen. Beachten Sie, dass einer IAM-Rolle maximal 10 Richtlinien zugeordnet werden können.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowEC2ENICreation",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateNetworkInterface"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
                      }
                  }
              }
          ]
      }
      ```

------

1. (Optional) Beschränken Sie die ENI-Erstellung auf bestimmte Subnetze:

   1. Um Ihr Setup weiter zu sichern, indem Sie die Erstellung von Subnetzen innerhalb Ihrer VPC ENIs auf bestimmte Subnetze beschränken, können Sie jedes Subnetz mit bestimmten Bedingungen kennzeichnen.

   1. Verwenden Sie die folgende IAM-Richtlinie, um sicherzustellen, dass serverlose EMR-Anwendungen Amazon EC2 nur ENIs innerhalb der zulässigen Subnetze und Sicherheitsgruppen erstellen können:

      ```
      {
          "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
          "Effect": "Allow", 
          "Action": [
              "ec2:CreateNetworkInterface"
          ],
          "Resource": [
              "arn:aws:ec2:*:*:subnet/*",
              "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/KEY": "VALUE"
              }
          }
      }
      ```

1. Folgen Sie den Schritten auf der Seite[Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren](canvas-vpc.md), um den VPC-Endpunkt für Amazon S3 festzulegen, der für EMR Serverless und andere AWS Services, die von Canvas verwendet werden, erforderlich ist. SageMaker 

1. Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker Canvas-Anwendung neu.

Wenn Sie diese Schritte ausführen, können Sie die Verarbeitung großer Datenmengen in SageMaker Canvas für verschiedene Domain-Setups aktivieren, einschließlich solcher mit benutzerdefinierten VPC-Konfigurationen. Denken Sie daran, Ihre SageMaker Canvas-Anwendung neu zu starten, nachdem Sie diese Änderungen vorgenommen haben, um die neuen Berechtigungen zu übernehmen.

# Verschlüsseln Sie Ihre SageMaker Canvas-Daten mit AWS KMS
<a name="canvas-kms"></a>

Möglicherweise haben Sie Daten, die Sie bei der Nutzung von Amazon SageMaker Canvas verschlüsseln möchten, z. B. Ihre privaten Unternehmensinformationen oder Kundendaten. SageMaker Canvas verwendet AWS Key Management Service , um Ihre Daten zu schützen. AWS KMS ist ein Dienst, mit dem Sie kryptografische Schlüssel zur Verschlüsselung Ihrer Daten erstellen und verwalten können. Weitere Informationen AWS KMS dazu finden Sie [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)im *AWS KMS Entwicklerhandbuch*.

Amazon SageMaker Canvas bietet Ihnen mehrere Optionen zum Verschlüsseln Ihrer Daten. SageMaker Canvas bietet eine Standardverschlüsselung innerhalb der Anwendung für Aufgaben wie die Erstellung Ihres Modells und die Generierung von Erkenntnissen. Sie können sich auch dafür entscheiden, in Amazon S3 gespeicherte Daten zu verschlüsseln, um Ihre ruhenden Daten zu schützen. SageMaker Canvas unterstützt den Import verschlüsselter Datensätze, sodass Sie einen verschlüsselten Workflow einrichten können. In den folgenden Abschnitten wird beschrieben, wie Sie AWS KMS Verschlüsselung verwenden können, um Ihre Daten beim Erstellen von Modellen mit SageMaker Canvas zu schützen.

## Verschlüsseln Sie Ihre Daten in Canvas SageMaker
<a name="canvas-kms-app-data"></a>

Mit SageMaker Canvas können Sie zwei verschiedene AWS KMS Verschlüsselungsschlüssel verwenden, um Ihre Daten in SageMaker Canvas zu verschlüsseln. Diese können Sie bei der [Einrichtung Ihrer Domain mit dem Standard-Domain-Setup](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html) angeben. Diese Schlüssel werden in den folgenden Schritten zur Einrichtung der Domain angegeben:
+ **Schritt 3: Anwendungen konfigurieren – (Optional)** – Bei der Konfiguration des Abschnitts **Canvas-Speicherkonfigurationen** können Sie einen **Verschlüsselungsschlüssel** angeben. Dies ist ein KMS-Schlüssel, den SageMaker Canvas für die langfristige Speicherung von Modellobjekten und Datensätzen verwendet, die im bereitgestellten Amazon S3 S3-Bucket für Ihre Domain gespeichert sind. Wenn Sie eine Canvas-Anwendung mit der [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)API erstellen, verwenden Sie das `S3KMSKeyId` Feld, um diesen Schlüssel anzugeben.
+ **Schritt 6: Speicher konfigurieren** — SageMaker Canvas verwendet einen Schlüssel für die Verschlüsselung des privaten Amazon SageMaker Studio-Bereichs, der für Ihre Canvas-Anwendung erstellt wurde. Dazu gehören temporärer Anwendungsspeicher, Visualisierungen und Rechenaufträge (z. B. das Erstellen von Modellen). Sie können entweder den AWS verwalteten Standardschlüssel verwenden oder Ihren eigenen angeben. Wenn Sie Ihren AWS KMS Schlüssel angeben, werden die im `/home/sagemaker-user` Verzeichnis gespeicherten Daten mit Ihrem Schlüssel verschlüsselt. Wenn Sie keinen AWS KMS Schlüssel angeben, werden die `/home/sagemaker-user` darin enthaltenen Daten mit einem AWS verwalteten Schlüssel verschlüsselt. Unabhängig davon, ob Sie einen AWS KMS Schlüssel angeben, werden alle Daten außerhalb des Arbeitsverzeichnisses mit einem AWS verwalteten Schlüssel verschlüsselt. Weitere Informationen über den Studio-Bereich und Ihren Canvas-Anwendungsspeicher finden Sie unter [Speichern Sie SageMaker Canvas-Anwendungsdaten in Ihrem eigenen KI-Bereich SageMaker](canvas-spaces-setup.md). Wenn Sie eine Canvas-Anwendung mit der [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)API erstellen, verwenden Sie das `KmsKeyID` Feld, um diesen Schlüssel anzugeben.

Die obigen Schlüssel können dieselben oder unterschiedliche KMS-Schlüssel sein.

### Voraussetzungen
<a name="canvas-kms-app-data-prereqs"></a>

Um Ihren eigenen KMS-Schlüssel für einen der zuvor beschriebenen Zwecke zu verwenden, müssen Sie zunächst der IAM-Rolle Ihres Benutzers die Berechtigung zur Verwendung des Schlüssels erteilen. Anschließend können Sie den KMS-Schlüssel bei der Einrichtung Ihrer Domain angeben.

Die einfachste Methode, Ihrer Rolle die Erlaubnis zur Verwendung des Schlüssels zu erteilen, besteht darin, die Schlüsselrichtlinie zu ändern. Gehen Sie wie folgt vor, um Ihrer Rolle die erforderlichen Berechtigungen zu erteilen.

1. Öffnen Sie die [AWS KMS -Konsole](https://console.aws.amazon.com/kms/).

1. Wählen Sie im Abschnitt **Key Policy (Schlüsselrichtlinie)** die Option **Switch to policy view (Zur Richtlinienansicht wechseln)** aus.

1. Ändern Sie die Richtlinie des Schlüssels, um der IAM-Rolle Berechtigungen für die `kms:GenerateDataKey` und `kms:Decrypt` -Aktionen zu gewähren. Wenn Sie außerdem die Schlüsselrichtlinie ändern, die Ihren Canvas-Anwendungsspeicher im Studio-Bereich verschlüsselt, gewähren Sie die `kms:CreateGrant`-Aktion. Sie können eine Anweisung hinzufügen, die der folgenden ähnelt:

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. Wählen Sie **Änderungen speichern ** aus.

Die weniger bevorzugte Methode besteht darin, die IAM-Rolle des Benutzers so zu ändern, dass dem Benutzer Berechtigungen zur Verwendung oder Verwaltung des KMS-Schlüssels erteilt werden. Wenn Sie diese Methode verwenden, muss die KMS-Schlüsselrichtlinie auch die Zugriffsverwaltung über IAM zulassen. Informationen zum Erteilen von Berechtigungen für einen KMS-Schlüssel über die IAM-Rolle des Benutzers finden Sie im *AWS KMS Entwicklerhandbuch* unter [Angabe von KMS-Schlüsseln in IAM-Richtlinienerklärungen](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html).

### Verschlüsseln Sie Ihre Daten in der SageMaker Canvas-Anwendung
<a name="canvas-kms-app-data-app"></a>

Der erste KMS-Schlüssel, den Sie in SageMaker Canvas verwenden können, wird für die Verschlüsselung von Anwendungsdaten verwendet, die auf Amazon Elastic Block Store (Amazon EBS) -Volumes und im Amazon Elastic File System gespeichert sind, das SageMaker KI in Ihrer Domain erstellt. SageMaker Canvas verschlüsselt Ihre Daten mit diesem Schlüssel in der zugrunde liegenden Anwendung und den temporären Speichersystemen, die bei der Verwendung von Compute-Instances für die Erstellung von Modellen und die Generierung von Erkenntnissen erstellt werden. SageMaker Canvas gibt den Schlüssel immer dann an andere AWS Dienste wie Autopilot weiter, wenn SageMaker Canvas mit ihnen Jobs zur Verarbeitung Ihrer Daten initiiert.

Sie können diesen Schlüssel angeben, indem Sie die `KmsKeyID` im `CreateDomain`-API-Aufruf oder bei der Einrichtung der Standarddomain in der Konsole festlegen. Wenn Sie keinen eigenen KMS-Schlüssel angeben, verwendet SageMaker AI einen standardmäßigen AWS verwalteten KMS-Schlüssel, um Ihre Daten in der Canvas-Anwendung zu verschlüsseln. SageMaker 

Um Ihren eigenen KMS-Schlüssel für die Verwendung in der SageMaker Canvas-Anwendung über die Konsole anzugeben, richten Sie zunächst Ihre Amazon SageMaker AI-Domain mit dem **Standard-Setup** ein. Gehen Sie wie folgt vor, um den **Bereich Netzwerk und Speicher** für die Domain auszufüllen.

1. Füllen Sie Ihre gewünschten Amazon VPC-Einstellungen aus.

1. Wählen Sie unter **Verschlüsselungsschlüssel** die Option **Eingabe eines KMS-Schlüssels ARN** aus.

1. Geben Sie für **KMS-ARN** den ARN für Ihren KMS-Schlüssel ein, der ein Format haben sollte, das dem folgenden ähnelt: `arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

### Verschlüsseln Sie Ihre in Amazon S3 gespeicherten SageMaker Canvas-Daten
<a name="canvas-kms-app-data-s3"></a>

Der zweite KMS-Schlüssel, den Sie angeben können, wird für Daten verwendet, die SageMaker Canvas in Amazon S3 speichert. Dieser KMS-Schlüssel wird im `S3KMSKeyId` Feld im `CreateDomain` API-Aufruf oder bei der Standarddomäneneinrichtung in der SageMaker AI-Konsole angegeben. SageMaker Canvas speichert Duplikate Ihrer Eingabedatensätze, Anwendungs- und Modelldaten sowie Ausgabedaten im standardmäßigen SageMaker AI S3-Bucket der Region für Ihr Konto. Das Benennungsmuster für diesen Bucket lautet`s3://sagemaker-{Region}-{your-account-id}`, und SageMaker Canvas speichert Daten im `Canvas/` Ordner.





1. Aktivieren Sie die Option **Freigabe von Notebook-Ressourcen aktivieren**.

1. Behalten Sie für den **S3-Standort für gemeinsam nutzbare Notebook-Ressourcen** den Amazon S3-Standardpfad bei. Beachten Sie, dass SageMaker Canvas diesen Amazon S3 S3-Pfad nicht verwendet. Dieser Amazon S3 S3-Pfad wird für Studio Classic-Notebooks verwendet.

1. Wählen Sie unter **Verschlüsselungsschlüssel** die Option **Eingabe eines KMS-Schlüssels ARN** aus.

1. Geben Sie für **KMS-ARN** den ARN für Ihren KMS-Schlüssel ein, der ein Format haben sollte, das dem folgenden ähnelt: `arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

## Importieren verschlüsselter Datensätze aus Amazon S3
<a name="canvas-kms-datasets"></a>

Ihre Benutzer haben möglicherweise Datensätze, die mit einem KMS-Schlüssel verschlüsselt wurden. Im vorherigen Abschnitt wird zwar gezeigt, wie Sie Daten in SageMaker Canvas und Daten, die in Amazon S3 gespeichert sind, verschlüsseln, aber Sie müssen der IAM-Rolle Ihres Benutzers zusätzliche Berechtigungen gewähren, wenn Sie Daten aus Amazon S3 importieren möchten, die bereits mit verschlüsselt sind. AWS KMS

Um Ihren Benutzern Berechtigungen zum Importieren verschlüsselter Datensätze aus Amazon S3 in SageMaker Canvas zu gewähren, fügen Sie der IAM-Ausführungsrolle, die Sie für das Benutzerprofil verwendet haben, die folgenden Berechtigungen hinzu.

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

Wie Sie die IAM-Berechtigungen für eine Rolle bearbeiten können, erfahren Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *IAM-Benutzerhandbuch*. Weitere Informationen über KMS-Schlüssel finden Sie unter [Schlüsselrichtlinien in AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html) im *AWS KMS -Entwicklerhandbuch*.

## FAQs
<a name="canvas-kms-faqs"></a>

Antworten auf häufig gestellte Fragen zur SageMaker AWS KMS Canvas-Unterstützung finden Sie in den folgenden FAQs.

### F: Behält SageMaker Canvas meinen KMS-Schlüssel?
<a name="canvas-kms-faqs-1"></a>

A: Nein. SageMaker Canvas kann Ihren Schlüssel vorübergehend zwischenspeichern oder an andere AWS Dienste (wie Autopilot) weitergeben, aber SageMaker Canvas speichert Ihren KMS-Schlüssel nicht.

### F: Ich habe bei der Einrichtung meiner Domain einen KMS-Schlüssel angegeben. Warum konnte mein Datensatz nicht in SageMaker Canvas importiert werden?
<a name="canvas-kms-faqs-2"></a>

A: Die IAM-Rolle Ihres Benutzers ist möglicherweise nicht berechtigt, diesen KMS-Schlüssel zu verwenden. Informationen zum Erteilen von Benutzerberechtigungen finden Sie unter [Voraussetzungen](#canvas-kms-app-data-prereqs). Ein weiterer möglicher Fehler besteht darin, dass Sie in Ihrem Amazon-S3-Bucket eine Bucket-Richtlinie haben, die die Verwendung eines bestimmten KMS-Schlüssels erfordert, der nicht mit dem KMS-Schlüssel übereinstimmt, den Sie in Ihrer Domain angegeben haben. Stellen Sie sicher, dass Sie denselben KMS-Schlüssel für Ihren Amazon-S3-Bucket und Ihre Domain angeben.

### F: Wie finde ich den standardmäßigen SageMaker AI Amazon S3 S3-Bucket der Region für mein Konto?
<a name="canvas-kms-faqs-3"></a>

A: Der standardmäßige Amazon-S3-Bucket folgt dem Benennungsmuster `s3://sagemaker-{Region}-{your-account-id}`. Der `Canvas/` Ordner in diesem Bucket speichert Ihre SageMaker Canvas-Anwendungsdaten.

### F: Kann ich den standardmäßigen SageMaker AI-Amazon S3-Bucket ändern, der zum Speichern von SageMaker Canvas-Daten verwendet wird?
<a name="canvas-kms-faqs-4"></a>

A: Nein, SageMaker KI erstellt diesen Bucket für Sie.

### F: Was speichert SageMaker Canvas im standardmäßigen SageMaker AI Amazon S3 S3-Bucket?
<a name="canvas-kms-faqs-5"></a>

A: SageMaker Canvas verwendet den standardmäßigen SageMaker AI-Amazon S3-Bucket, um Duplikate Ihrer Eingabedatensätze, Modellartefakte und Modellausgaben zu speichern.

### F: Welche Anwendungsfälle werden für die Verwendung von KMS-Schlüsseln mit SageMaker Canvas unterstützt?
<a name="canvas-kms-faqs-6"></a>

A: Mit SageMaker Canvas können Sie Ihre eigenen Verschlüsselungsschlüssel AWS KMS für die Erstellung von Regressions-, binären und Mehrklassenklassifizierungs- und Zeitreihenprognosemodellen sowie für Batch-Inferenzen mit Ihrem Modell verwenden.

# Speichern Sie SageMaker Canvas-Anwendungsdaten in Ihrem eigenen KI-Bereich SageMaker
<a name="canvas-spaces-setup"></a>

Ihre Amazon SageMaker Canvas-Anwendungsdaten, wie Datensätze, die Sie importieren, und Ihre Modellartefakte, werden in einem *privaten Bereich von Amazon SageMaker Studio* gespeichert. Der Bereich besteht aus einem Speichervolumen für Ihre Anwendungsdaten mit 100 GB Speicherplatz pro Benutzerprofil, der Art des Bereichs (in diesem Fall eine Canvas-Anwendung) und dem Image für den Container Ihrer Anwendung. Wenn Sie Canvas einrichten und Ihre Anwendung zum ersten Mal starten, erstellt SageMaker KI einen standardmäßigen privaten Bereich, der Ihrem Benutzerprofil zugewiesen ist und Ihre Canvas-Daten speichert. Sie müssen keine zusätzliche Konfiguration vornehmen, um den Bereich einzurichten, da SageMaker KI den Bereich automatisch in Ihrem Namen erstellt. Wenn Sie den Standardbereich jedoch nicht verwenden möchten, haben Sie die Möglichkeit, einen Bereich anzugeben, den Sie selbst erstellt haben. Dies kann nützlich sein, wenn Sie Ihre Daten isolieren möchten. Auf der folgenden Seite erfahren Sie, wie Sie Ihren eigenen Studio-Bereich zum Speichern von Canvas-Anwendungsdaten erstellen und konfigurieren.

**Anmerkung**  
Sie können einen benutzerdefinierten Studio-Bereich nur für neue Canvas-Anwendungen konfigurieren. Sie können die Speicherkonfiguration für bestehende Canvas-Anwendungen nicht ändern.

## Bevor Sie beginnen
<a name="canvas-spaces-setup-prereqs"></a>

Ihre Amazon SageMaker AI-Domain oder Ihr Benutzerprofil muss über mindestens 100 GB Speicherplatz verfügen, um die SageMaker Canvas-Anwendung erstellen und verwenden zu können.

Wenn Sie Ihre Domain über die SageMaker AI-Konsole erstellt haben, wird standardmäßig ausreichend Speicherplatz bereitgestellt, sodass Sie keine zusätzlichen Maßnahmen ergreifen müssen. Wenn Sie Ihre Domain oder Ihr Benutzerprofil mit dem [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)oder erstellt haben [ CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) APIs, stellen Sie sicher, dass Sie den `MaximumEbsVolumeSizeInGb` Wert auf 100 GB oder mehr festlegen. Um einen höheren Speicherwert festzulegen, können Sie entweder eine neue Domäne oder ein neues Benutzerprofil erstellen oder eine vorhandene Domäne oder ein vorhandenes Benutzerprofil mithilfe von [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)oder aktualisieren [ UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) APIs. 

## Erstellen eines neuen Bereichs
<a name="canvas-spaces-setup-new-space"></a>

Erstellen Sie zunächst einen neuen Studio-Bereich, der für das Speichern von Canvas-Anwendungsdaten konfiguriert ist. Dies ist der Bereich, den Sie beim Erstellen einer neuen Canvas-Anwendung im nächsten Schritt angeben.

Um einen Bereich zu erstellen, können Sie das AWS SDK für Python (Boto3) oder das verwenden AWS CLI.

------
#### [ SDK for Python (Boto3) ]

Das folgende Beispiel zeigt Ihnen, wie Sie mit der AWS SDK für Python (Boto3) `create_space` Methode einen Bereich erstellen, den Sie für Canvas-Anwendungen verwenden können. Stellen Sie sicher, dass Sie diese Parameter angeben:
+ `DomainId`: Geben Sie die ID für Ihre SageMaker AI-Domain an. Um Ihre ID zu finden, können Sie in der SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)Ihre Domain im Bereich **Domains** suchen.
+ `SpaceName`: Geben Sie einen Namen für den neuen Bereich an.
+ `EbsVolumeSizeinGb`: Geben Sie die Größe des Speichervolumes für Ihren Speicherplatz (in GB) an. Der kleinste Wert ist `5` und der größte Wert ist `16384`.
+ `SharingType`: Geben Sie dieses Feld als `Private` an. Weitere Informationen finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).
+ `OwnerUserProfileName`: Geben Sie den Namen des Benutzerprofils an. Um Benutzerprofilnamen zu finden, die mit einer Domain verknüpft sind, können Sie die SageMaker AI-Konsole unter aufrufen [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)und Ihre Domain im Bereich **Domains** suchen. In den Einstellungen der Domain können Sie die Benutzerprofile einsehen.
+ `AppType`: Geben Sie dieses Feld als `Canvas` an.

```
response = client.create_space(
    DomainId='<your-domain-id>', 
    SpaceName='<your-new-space-name>',
    SpaceSettings={
        'AppType': 'Canvas',
        'SpaceStorageSettings': {
            'EbsStorageSettings': {
                'EbsVolumeSizeInGb': <storage-volume-size>
            }
        },
    },
    OwnershipSettings={
        'OwnerUserProfileName': '<your-user-profile>'
    },
    SpaceSharingSettings={
        'SharingType': 'Private'
    }  
)
```

------
#### [ AWS CLI ]

Das folgende Beispiel zeigt Ihnen, wie Sie mit AWS CLI `create-space` dieser Methode einen Bereich erstellen, den Sie für Canvas-Anwendungen verwenden können. Stellen Sie sicher, dass Sie diese Parameter angeben:
+ `domain-id`: Geben Sie die ID für Ihre Domain an. Um Ihre ID zu finden, können Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)aufrufen und Ihre Domain im Bereich **Domains** suchen.
+ `space-name`: Geben Sie einen Namen für den neuen Bereich an.
+ `EbsVolumeSizeinGb`: Geben Sie die Größe des Speichervolumes für Ihren Speicherplatz (in GB) an. Der kleinste Wert ist `5` und der größte Wert ist `16384`.
+ `SharingType`: Geben Sie dieses Feld als `Private` an. Weitere Informationen finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).
+ `OwnerUserProfileName`: Geben Sie den Namen des Benutzerprofils an. Um Benutzerprofilnamen zu finden, die mit einer Domain verknüpft sind, können Sie die SageMaker AI-Konsole unter aufrufen [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)und Ihre Domain im Bereich **Domains** suchen. In den Einstellungen der Domain können Sie die Benutzerprofile einsehen.
+ `AppType`: Geben Sie dieses Feld als `Canvas` an.

```
  
create-space
--domain-id <your-domain-id>
--space-name <your-new-space-name>  
--space-settings '{
        "AppType": "Canvas", 
        "SpaceStorageSettings": {
            "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>}
        },
     }'
--ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}'
--space-sharing-settings '{"SharingType": "Private"}'
```

------

Sie sollten nun über einen Bereich verfügen. Merken Sie sich den Namen Ihres Bereichs für den nächsten Schritt.

## Erstellen einer neue Canvas-Anwendung
<a name="canvas-spaces-setup-new-app"></a>

Nachdem Sie einen Bereich erstellt haben, erstellen Sie eine neue Canvas-Anwendung, die den Bereich als Speicherort angibt.

Um eine neue Canvas-Anwendung zu erstellen, können Sie das AWS SDK für Python (Boto3) oder das verwenden AWS CLI.

**Wichtig**  
Sie müssen das AWS SDK für Python (Boto3) oder das verwenden AWS CLI , um Ihre Canvas-Anwendung zu erstellen. Die Angabe eines benutzerdefinierten Bereichs beim Erstellen von Canvas-Anwendungen über die SageMaker AI-Konsole wird nicht unterstützt.

------
#### [ SDK for Python (Boto3) ]

Das folgende Beispiel zeigt Ihnen, wie Sie die AWS SDK für Python (Boto3) `create_app` Methode verwenden, um eine neue Canvas-Anwendung zu erstellen. Stellen Sie sicher, dass Sie diese Parameter angeben:
+ `DomainId`: Geben Sie die ID für Ihre SageMaker AI-Domain an.
+ `SpaceName`: Geben Sie den Namen des Bereichs an, den Sie im vorherigen Schritt erstellt haben.
+ `AppType`: Geben Sie dieses Feld als `Canvas` an.
+ `AppName`: Geben Sie `default` als Namen der App an.

```
response = client.create_app(  
    DomainId='<your-domain-id>',
    SpaceName='<your-space-name>',
    AppType='Canvas', 
    AppName='default'  
)
```

------
#### [ AWS CLI ]

Das folgende Beispiel zeigt Ihnen, wie Sie die AWS CLI `create-app` Methode verwenden, um eine neue Canvas-Anwendung zu erstellen. Stellen Sie sicher, dass Sie diese Parameter angeben:
+ `DomainId`: Geben Sie die ID für Ihre SageMaker AI-Domain an. 
+ `SpaceName`: Geben Sie den Namen des Bereichs an, den Sie im vorherigen Schritt erstellt haben.
+ `AppType`: Geben Sie dieses Feld als `Canvas` an.
+ `AppName`: Geben Sie `default` als Namen der App an.

```
create-app
--domain-id <your-domain-id>
--space-name <your-space-name>
--app-type Canvas
--app-name default
```

------

Sie sollten jetzt über eine neue Canvas-Anwendung verfügen, die einen benutzerdefinierten Studio-Bereich als Speicherort für Anwendungsdaten verwendet.

**Wichtig**  
Jedes Mal, wenn Sie die Canvas-Anwendung löschen (oder sich abmelden) und die Anwendung neu erstellen müssen, müssen Sie Ihren Bereich im `SpaceName`-Feld angeben, um sicherzustellen, dass Canvas Ihren Bereich verwendet.

Der Bereich ist dem Benutzerprofil zugeordnet, das Sie in der Bereichskonfiguration angegeben haben. Sie können Ihre Canvas-Anwendung löschen, ohne den Bereich zu löschen. Die im Bereich gespeicherten Daten bleiben erhalten. Die in Ihrem Bereich gespeicherten Daten werden nur gelöscht, wenn Sie Ihr Benutzerprofil oder den Bereich direkt löschen.

# Erteilen Sie Ihren Benutzern die Erlaubnis, benutzerdefinierte Bild- und Textvorhersagemodelle zu erstellen
<a name="canvas-set-up-cv-nlp"></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.

In Amazon SageMaker Canvas können Sie [benutzerdefinierte Modelle](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) erstellen, die Ihren spezifischen Geschäftsanforderungen entsprechen. Zwei dieser benutzerdefinierten Modelltypen sind die Bildvorhersage mit einem Etikett und die Vorhersage von Text mit mehreren Kategorien. Die Berechtigungen zum Erstellen dieser Modelltypen sind in der genannten AWS Identity and Access Management (IAM-) Richtlinie enthalten [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess), die SageMaker KI standardmäßig der IAM-Ausführungsrolle Ihres Benutzers zuordnet, wenn Sie die [Canvas-Basisberechtigungen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites) aktiviert lassen. Wenn Sie eine benutzerdefinierte IAM-Konfiguration verwenden, müssen Sie der IAM-Ausführungsrolle Ihres Benutzers explizit Berechtigungen hinzufügen, damit dieser benutzerdefinierte Modelltypen für Bild- und Textvorhersagen erstellen kann. Um die erforderlichen Berechtigungen für die Erstellung von Bild- und Textvorhersagemodellen zu gewähren, lesen Sie den folgenden Abschnitt, um zu erfahren, wie Sie Ihrer Rolle eine Richtlinie mit den geringsten Berechtigungen zuordnen können.

Fügen Sie der IAM-Rolle des Benutzers wie folgt die Berechtigungen hinzu:

1. Rufen Sie die [IAM-Konsole](https://console.aws.amazon.com/iamv2) auf

1. Wählen Sie **Roles**.

1. Suchen Sie im Suchfeld anhand des Namens nach der IAM-Rolle des Benutzers und wählen Sie sie aus.

1. Wählen Sie auf der Seite für die Benutzerrolle unter **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie **Inline-Richtlinie erstellen** aus.

1. Wählen Sie die Registerkarte JSON aus und kopieren Sie dann die folgende JSON-Richtlinie in den Editor.

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateAutoMLJobV2",
                   "sagemaker:DescribeAutoMLJobV2"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Wählen Sie **Richtlinie prüfen**.

1. Füllen Sie das Feld **Name** für die Richtlinie aus.

1. Wählen Sie **Richtlinie erstellen** aus.

Weitere Informationen zu AWS verwalteten Richtlinien finden Sie unter [Verwaltete Richtlinien und Inline-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) im *IAM-Benutzerhandbuch*.

# Erteilen von Berechtigungen zur Verwendung von Amazon-Bedrock-Features und Features der generativen KI in Canvas
<a name="canvas-fine-tuning-permissions"></a>

Generative KI-Funktionen in Amazon SageMaker Canvas basieren auf Amazon Bedrock Foundation-Modellen, bei denen es sich um umfangreiche Sprachmodelle (LLMs) handelt, die in der Lage sind, menschenähnlichen Text zu verstehen und zu generieren. Auf dieser Seite wird beschrieben, wie Sie die für die folgenden Funktionen in Canvas erforderlichen Berechtigungen gewähren: SageMaker 
+ [Chatten Sie mit Amazon Bedrock-Modellen und vergleichen Sie](canvas-fm-chat.md) sie: Greifen Sie über Canvas auf Konversationschats mit Amazon Bedrock-Modellen zu und starten Sie sie. SageMaker 
+ [Chat-Funktion zur Datenvorbereitung in Data Wrangler verwenden](canvas-chat-for-data-prep.md): Verwenden Sie natürliche Sprache, um Ihre Daten zu untersuchen, zu visualisieren und zu transformieren. Dieses Feature wird von Anthropic Claude 2 unterstützt.
+ [Amazon-Bedrock-Grundlagenmodelle optimieren](canvas-fm-chat-fine-tune.md): Optimieren Sie ein Amazon-Bedrock-Grundlagenmodell anhand Ihrer eigenen Daten, um maßgeschneiderte Antworten zu erhalten.

Um diese Features nutzen zu können, müssen Sie zunächst Zugriff auf das spezifische Amazon-Bedrock-Modell anfordern, das Sie verwenden möchten. Fügen Sie dann der Ausführungsrolle des Benutzers die erforderlichen AWS IAM-Berechtigungen und eine Vertrauensbeziehung mit Amazon Bedrock hinzu. Um der Rolle die Berechtigungen zu gewähren, können Sie eine der folgenden Methoden wählen:
+ Erstellen Sie eine neue Amazon SageMaker AI-Domain oder ein neues Benutzerprofil und aktivieren Sie die Amazon Bedrock-Berechtigungen. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).
+ Bearbeiten Sie die Einstellungen für eine bestehende Amazon SageMaker AI-Domain oder ein vorhandenes Benutzerprofil.
+ Fügen Sie manuell Berechtigungen und eine Vertrauensbeziehung zur IAM-Rolle einer Domain oder eines Benutzers hinzu.

## Schritt 1: Amazon-Bedrock-Modellzugriff hinzufügen
<a name="canvas-bedrock-access"></a>

Der Zugriff auf Amazon Bedrock-Modelle wird standardmäßig nicht gewährt. Sie müssen daher die Amazon Bedrock-Konsole aufrufen, um Zugriff auf Modelle für Ihr AWS Konto anzufordern.

Um zu erfahren, wie Sie Zugriff auf ein bestimmtes Amazon-Bedrock Modell beantragen können, folgen Sie dem Verfahren unter **Modellzugriff hinzufügen** auf der Seite [Zugriff auf Amazon-Bedrock-Grundlagenmodelle verwalten](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) im *Benutzerhandbuch für Amazon Bedrock*.

## Schritt 2: Berechtigungen für Benutzer in IAM-Rolle erteilen
<a name="canvas-bedrock-iam-permissions"></a>

Bei der Einrichtung Ihrer Amazon SageMaker AI-Domain oder Ihres Benutzerprofils muss die [ AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html)Richtlinie an die IAM-Ausführungsrolle des Benutzers angehängt sein und es muss eine Vertrauensbeziehung mit Amazon Bedrock bestehen, damit Ihr Benutzer von Canvas aus auf Amazon Bedrock-Modelle zugreifen kann. SageMaker 

Sie können die Domain-Einstellungen ändern und entweder eine neue Ausführungsrolle erstellen (der SageMaker AI die erforderlichen Berechtigungen für Sie zuweist) oder eine bestehende Rolle angeben.

Alternativ können Sie die Berechtigungen für eine bestehende IAM-Rolle manuell über die IAM-Konsole ändern.

Beide Methoden werden in den folgenden Abschnitten erläutert.

### Erteilen von Berechtigungen über die Domaineinstellungen
<a name="canvas-fine-tuning-permissions-console"></a>

Sie können Ihre Domain- oder Benutzerprofileinstellungen bearbeiten, um die **Konfigurationseinstellung für Ready-to-use Canvas-Modelle** zu aktivieren und eine Amazon Bedrock-Rolle anzugeben.

Gehen Sie wie folgt vor, um Ihre Domaineinstellungen zu bearbeiten und Canvas-Benutzern in der Domain Zugriff auf Amazon-Bedrock-Modelle zu gewähren:

1. Gehen Sie zur SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich die Option **Domains** aus.

1. Wählen Sie aus der Liste der Domains Ihre Domain aus.

1. Wechseln Sie zur Registerkarte **App-Konfiguration**.

1. Klicken Sie im Abschnitt **Canvas** auf **Bearbeiten**.

1. Die Seite **Canvas-Einstellungen bearbeiten** wird geöffnet. Gehen Sie für den **Konfigurationsbereich für Ready-to-use Canvas-Modelle** wie folgt vor:

   1. Aktivieren Sie die **Option Ready-to-use Canvas-Modelle aktivieren**.

   1. Wählen Sie für die **Amazon Bedrock-Rolle** die Option **Neue Ausführungsrolle erstellen und verwenden** aus, um eine neue IAM-Ausführungsrolle zu erstellen, der die [ AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html)Richtlinie angehängt ist und eine Vertrauensbeziehung mit Amazon Bedrock besteht. Diese IAM-Rolle wird von Amazon Bedrock übernommen, wenn Sie auf Amazon-Bedrock-Modelle zugreifen, die Chat-Funktion zur Datenvorbereitung verwenden oder Amazon-Bedrock-Modelle in Canvas optimieren. Wenn Sie bereits eine Ausführungsrolle mit einer Vertrauensbeziehung haben, wählen Sie **Bestehende Ausführungsrolle verwenden** und wählen Sie Ihre Rolle aus der Dropdown-Liste aus.

1. Wählen Sie **Absenden** aus, um Ihre Änderungen zu speichern.

Ihre Benutzer sollten nun über die erforderlichen Berechtigungen verfügen, um auf Amazon-Bedrock-Modelle zuzugreifen, die Chat-Funktion für die Datenvorbereitung zu nutzen und Amazon-Bedrock-Modelle in Canvas zu optimieren.

Sie können das oben beschriebene Verfahren zum Bearbeiten der Einstellungen eines einzelnen Benutzers anwenden, indem Sie über die Domainseite zum Profil des einzelnen Benutzers navigieren und dort die Benutzereinstellungen bearbeiten. Einem einzelnen Benutzer gewährte Berechtigungen gelten nicht für andere Benutzer in der Domain, wohingegen Berechtigungen, die über die Domaineinstellungen gewährt wurden, für alle Benutzerprofile in der Domain gelten.

Weitere Informationen zur Bearbeitung Ihrer Domaineinstellungen finden Sie unter [Domains anzeigen und bearbeiten](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view-edit.html).

### Manuelles Erteilen von Berechtigungen über IAM
<a name="canvas-fine-tuning-permissions-manual"></a>

Sie können Benutzern manuell Berechtigungen für den Zugriff auf und die Feinabstimmung von Amazon-Bedrock-Modellen in Canvas erteilen, indem Sie der für die Domain oder das Benutzerprofil angegebenen IAM-Rolle Berechtigungen hinzufügen. Der IAM-Rolle muss die [ AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html)Richtlinie beigefügt sein und es muss eine Vertrauensbeziehung mit Amazon Bedrock bestehen.

Im folgenden Abschnitt erfahren Sie, wie Sie die Richtlinie Ihrer IAM-Rolle zuordnen und die Vertrauensbeziehung mit Amazon Bedrock aufbauen.

Notieren Sie sich zunächst die IAM-Rolle Ihrer Domain oder Ihres Benutzerprofils. Beachten Sie, dass Berechtigungen, die einem einzelnen Benutzer erteilt werden, nicht für andere Benutzer in der Domain gelten, während Berechtigungen, die über die Domain erteilt werden, für alle Benutzerprofile in der Domain gelten.

Gehen Sie wie folgt vor, um die IAM-Rolle zu konfigurieren und Berechtigungen zur Feinabstimmung von Grundlagenmodellen in Canvas zu erteilen:

1. Gehen Sie zur IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im linken Navigationsbereich **Roles** aus.

1. Suchen Sie in der Rollenliste anhand des Namens nach der IAM-Rolle des Benutzers und wählen Sie sie aus.

1. Wählen Sie auf der Registerkarte **Permissions** die Option **Add permissions**. Wählen Sie aus dem Dropdown-Menü die Option **Richtlinien anhängen**.

1. Suchen Sie nach der `AmazonSageMakerCanvasBedrockAccess`-Richtlinie und wählen Sie sie aus.

1. Wählen Sie **Berechtigungen hinzufügen** aus.

1. Wählen Sie zurück auf der Seite mit der IAM-Rolle die Registerkarte **Vertrauensstellungen** aus.

1. Wählen Sie **Vertrauensrichtlinie bearbeiten** aus.

1. Suchen Sie im Richtlinieneditor im rechten Bereich nach der Option **Prinzipal hinzufügen** und wählen Sie **Hinzufügen** aus.

1. Wählen Sie im Dialogfeld für **Prinzipaltyp** die Option **AWS -Services** aus.

1. Geben Sie für **ARN** **bedrock.amazonaws.com** ein.

1. Wählen Sie **Prinzipal hinzufügen** aus.

1. Wählen Sie **Richtlinie aktualisieren**.

Sie sollten jetzt über eine IAM-Rolle verfügen, an die die [ AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html)Richtlinie angehängt ist, und Sie sollten eine Vertrauensbeziehung mit Amazon Bedrock haben. Informationen zu AWS verwalteten Richtlinien finden Sie unter [Verwaltete Richtlinien und Inline-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) im *IAM-Benutzerhandbuch*.

# Aktualisieren Sie SageMaker Canvas für Ihre Benutzer
<a name="canvas-update"></a>

Sie können entweder als Benutzer oder als IT-Administrator auf die neueste Version von Amazon SageMaker Canvas aktualisieren. Sie können Amazon SageMaker Canvas für jeweils einen einzelnen Benutzer aktualisieren.

Um die Amazon SageMaker Canvas-Anwendung zu aktualisieren, müssen Sie die vorherige Version löschen.

**Wichtig**  
Durch das Löschen der vorherigen Version von Amazon SageMaker Canvas werden die von den Benutzern erstellten Daten oder Modelle nicht gelöscht.

Gehen Sie wie folgt vor, um sich bei Amazon SageMaker AI-Domain anzumelden AWS, diese zu öffnen und Amazon SageMaker Canvas zu aktualisieren. Die Benutzer können mit der Nutzung der SageMaker Canvas-Anwendung beginnen, wenn sie sich wieder anmelden.

1. Melden Sie sich bei Amazon [ SageMaker Runtime bei der Amazon SageMaker ](https://console.aws.amazon.com/sagemaker/) AI-Konsole an.

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der Seite **Domains** Ihre Domain aus.

1. Wählen Sie aus der Liste der **Benutzerprofile** ein Benutzerprofil aus.

1. Suchen Sie in der Liste der **Apps** nach der Canvas-Anwendung (der **App-Typ** lautet **Canvas**) und wählen Sie **App löschen**.

1. Füllen Sie das Dialogfeld aus und wählen Sie **Aktion bestätigen**.

Die folgende Abbildung zeigt die Benutzerprofilseite und hebt die Aktion **App löschen** aus dem vorherigen Verfahren hervor.

![\[Screenshot der Benutzerprofilseite mit der hervorgehobenen Aktion App löschen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-update-app-1.png)


# Anfordern einer Kontingenterhöhung.
<a name="canvas-requesting-quota-increases"></a>

Ihre Benutzer verwenden möglicherweise AWS Ressourcen in Mengen, die die in ihren Kontingenten angegebenen Mengen überschreiten. Wenn Ihre Benutzer nur über begrenzte Ressourcen verfügen und in SageMaker Canvas auf Fehler stoßen, können Sie eine Erhöhung des Kontingents für sie beantragen.

Weitere Informationen zu SageMaker KI-Kontingenten und dazu, wie Sie eine Kontingenterhöhung beantragen können, finden Sie unter [Kontingente](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html#regions-quotas-quotas).

Amazon SageMaker Canvas verwendet die folgenden Dienste, um die Anfragen Ihrer Benutzer zu bearbeiten:
+ Amazon SageMaker Autopilot
+ Amazon SageMaker Studio Classic-Domäne

Eine Liste der verfügbaren Kontingente für SageMaker Canvas-Operationen finden Sie unter [Amazon SageMaker AI-Endpunkte und Kontingente](https://docs.aws.amazon.com//general/latest/gr/sagemaker.html).

## Fordern Sie eine Erhöhung für Instances an, um benutzerdefinierte Modelle zu erstellen
<a name="canvas-requesting-quota-increases-instances"></a>

Wenn Sie beim Erstellen eines benutzerdefinierten Modells während der Analyse nach der Erstellung auf einen Fehler stoßen, der Sie auffordert, Ihr Kontingent für `ml.m5.2xlarge` Instances zu erhöhen, verwenden Sie die folgenden Informationen, um das Problem zu lösen.

Sie müssen das SageMaker AI Hosting-Endpunktkontingent für den `ml.m5.2xlarge` Instance-Typ auf einen Wert ungleich Null in Ihrem AWS Konto erhöhen. Nach der Erstellung eines Modells hostet SageMaker Canvas das Modell auf einem SageMaker KI-Hosting-Endpunkt und verwendet den Endpunkt, um die Analyse nach der Erstellung zu generieren. Wenn Sie das Standardkontingent für `ml.m5.2xlarge` Instances auf 0 nicht erhöhen, kann SageMaker Canvas diesen Schritt nicht abschließen und generiert während der Analyse nach der Erstellung einen Fehler.

Informationen zur Erhöhung des Kontingents finden Sie unter [Anfordern einer Kontingenterhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Benutzerhandbuch für Service Quotas*.

# Benutzern Berechtigungen zum Importieren von Amazon Redshift-Daten gewähren
<a name="canvas-redshift-permissions"></a>

Ihre Benutzer haben möglicherweise Datensätze in Amazon Redshift gespeichert. Bevor Benutzer Daten aus Amazon Redshift in SageMaker Canvas importieren können, müssen Sie die `AmazonRedshiftFullAccess` verwaltete Richtlinie der IAM-Ausführungsrolle hinzufügen, die Sie für das Benutzerprofil verwendet haben, und Amazon Redshift als Service Principal zur Vertrauensrichtlinie der Rolle hinzufügen. Sie müssen auch die IAM-Ausführungsrolle Ihrem Amazon Redshift Redshift-Cluster zuordnen. Führen Sie die Verfahren in den folgenden Abschnitten aus, um Ihren Benutzern die erforderlichen Berechtigungen für den Import von Amazon Redshift-Daten zu erteilen.

## Fügen Sie Ihrer IAM-Rolle Amazon Redshift-Berechtigungen hinzu
<a name="canvas-redshift-permissions-iam-role"></a>

Sie müssen Amazon Redshift-Berechtigungen für die IAM-Rolle erteilen, die in Ihrem Benutzerprofil angegeben ist.

Gehen Sie wie folgt vor, um die `AmazonRedshiftFullAccess` Richtlinie der IAM-Rolle des Benutzers hinzuzufügen.

1. Melden Sie sich bei der IAM-Konsole an unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie **Roles**.

1. Suchen Sie im Suchfeld anhand des Namens nach der IAM-Rolle des Benutzers und wählen Sie sie aus.

1. Wählen Sie auf der Seite für die Benutzerrolle unter **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie **Richtlinien anfügen**.

1. Suchen Sie nach der `AmazonRedshiftFullAccess` verwalteten Richtlinie und wählen Sie sie aus.

1. Wählen Sie **Richtlinien anfügen** aus, um die Richtlinie der Rolle anzufügen.

Nach dem Anhängen der Richtlinie sollte der Abschnitt **Berechtigungen** der Rolle nun `AmazonRedshiftFullAccess` enthalten.

Gehen Sie wie folgt vor, um Amazon Redshift als Service Principal zur IAM-Rolle hinzuzufügen.

1. Wählen Sie auf derselben Seite für die IAM-Rolle unter **Trust-Beziehungen** die Option **Vertrauensrichtlinie bearbeiten** aus.

1. Aktualisieren Sie im Editor **Vertrauensrichtlinie bearbeiten** die Vertrauensrichtlinie, um Amazon Redshift als Service Principal hinzuzufügen. Eine IAM-Rolle, die Amazon Redshift erlaubt, in Ihrem Namen auf andere AWS -Services zuzugreifen, hat eine Vertrauensstellung wie folgt:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Nachdem Sie die Vertrauensrichtlinie bearbeitet haben, wählen Sie **Richtlinie aktualisieren**.

Sie sollten jetzt über eine IAM-Rolle verfügen, der die Richtlinie `AmazonRedshiftFullAccess` zugeordnet ist, und Sie sollten über eine Vertrauensbeziehung mit Amazon Redshift verfügen, sodass Benutzer Amazon Redshift Redshift-Daten in Canvas importieren dürfen. SageMaker Weitere Informationen zu AWS verwalteten Richtlinien finden Sie unter [Verwaltete Richtlinien und Inline-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) im *IAM-Benutzerhandbuch*.

## Verbinden Sie die IAM-Rolle mit Ihrem Amazon Redshift-Cluster
<a name="canvas-redshift-permissions-cluster"></a>

In den Einstellungen für Ihren Amazon Redshift-Cluster müssen Sie die IAM-Rolle zuordnen, der Sie im vorherigen Abschnitt Berechtigungen erteilt haben.

Um eine IAM-Rolle mit Ihrem Cluster zu verknüpfen, gehen Sie wie folgt vor.

1. Melden Sie sich bei der Amazon Redshift Redshift-Konsole unter an [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. Wählen Sie im Navigationsmenü die Option **Cluster**, und wählen Sie dann den Namen des Clusters, den Sie aktualisieren möchten.

1. Wählen Sie im Dropdown-Menü **Aktionen** die Option **IAM-Rollen verwalten** aus. Die Seite mit den **Cluster-Berechtigungen** wird angezeigt.

1. Geben Sie für **Verfügbare IAM-Rollen** entweder den ARN oder den Namen der IAM-Rolle ein, oder wählen Sie die IAM-Rolle aus der Liste aus.

1. Wählen Sie dann **Associate IAM role** (IAM-Rolle zuordnen) aus, um sie der Liste der **Associated IAM roles** für den Cluster hinzuzufügen.

1. Wählen Sie **Änderungen speichern**, um die IAM-Rolle mit dem Cluster zu verknüpfen.

Amazon Redshift ändert den Cluster, um die Änderung abzuschließen, und die IAM-Rolle, für die Sie zuvor Amazon Redshift-Berechtigungen erteilt haben, ist jetzt mit Ihrem Amazon Redshift-Cluster verknüpft. Ihre Benutzer verfügen jetzt über die erforderlichen Berechtigungen, um Amazon Redshift Redshift-Daten in SageMaker Canvas zu importieren.

# Erteilen Sie Ihren Benutzern die Erlaubnis, Prognosen an Quick zu senden
<a name="canvas-quicksight-permissions"></a>

Sie müssen Ihren SageMaker Canvas-Benutzern die Berechtigung erteilen, Batch-Vorhersagen an Quick zu senden. In Quick können Benutzer Analysen und Berichte mit einem Datensatz erstellen und Dashboards vorbereiten, um ihre Ergebnisse zu teilen. Weitere Informationen zum Senden von Prognosen an QuickSight zur Analyse finden Sie unter[Prognosen an Quick senden](canvas-send-predictions.md).

Um die erforderlichen Berechtigungen für die gemeinsame Nutzung von Batch-Vorhersagen für Benutzer in zu gewähren QuickSight, müssen Sie der Ausführungsrolle AWS Identity and Access Management (IAM), die Sie für das Benutzerprofil verwendet haben, eine Berechtigungsrichtlinie hinzufügen. Im folgenden Abschnitt erfahren Sie, wie Sie Ihrer Rolle eine Richtlinie mit den geringsten Berechtigungen zuordnen können.

**Fügen Sie die Berechtigungsrichtlinie zu Ihrer IAM-Rolle hinzu**

**Um die Berechtigungsrichtlinie hinzuzufügen, führen Sie die folgenden Schritte aus:**

1. Melden Sie sich bei der IAM-Konsole unter an. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie **Roles**.

1. Suchen Sie im Suchfeld anhand des Namens nach der IAM-Rolle des Benutzers und wählen Sie sie aus.

1. Wählen Sie auf der Seite für die Benutzerrolle unter **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie **Inline-Richtlinie erstellen** aus.

1. Wählen Sie die Registerkarte JSON aus und kopieren Sie dann die folgende JSON-Richtlinie in den Editor. Ersetzen Sie die Platzhalter `<your-account-number>` durch Ihre eigene AWS Kontonummer.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "quicksight:CreateDataSet",
                   "quicksight:ListUsers",
                   "quicksight:ListNamespaces",
                   "quicksight:CreateDataSource",
                   "quicksight:PassDataSet",
                   "quicksight:PassDataSource"
               ],
               "Resource": [
                   "arn:aws:quicksight:*:111122223333:datasource/*",
                   "arn:aws:quicksight:*:111122223333:user/*",
                   "arn:aws:quicksight:*:111122223333:namespace/*",
                   "arn:aws:quicksight:*:111122223333:dataset/*"
               ]
           }
       ]
   }
   ```

------

1. Wählen Sie **Richtlinie prüfen**.

1. Füllen Sie das Feld **Name** für die Richtlinie aus.

1. Wählen Sie **Richtlinie erstellen** aus.

Ihrer Ausführungsrolle sollte nun eine vom Kunden verwaltete IAM-Richtlinie zugeordnet sein, die Ihren Canvas-Benutzern die erforderlichen Berechtigungen zum Senden von Batch-Vorhersagen an Benutzer in gewährt. QuickSight

# Anwendungsverwaltung
<a name="canvas-manage-apps"></a>

In den folgenden Abschnitten wird beschrieben, wie Sie Ihre SageMaker Canvas-Anwendungen verwalten können. Sie können Ihre Anwendungen im Bereich **Domains** der SageMaker AI-Konsole anzeigen, löschen oder neu starten.

**Topics**
+ [Suchen nach aktiven Anwendungen](canvas-manage-apps-active.md)
+ [Löschen einer Anwendung](canvas-manage-apps-delete.md)
+ [Neustarten einer Anwendung](canvas-manage-apps-relaunch.md)

# Suchen nach aktiven Anwendungen
<a name="canvas-manage-apps-active"></a>

Gehen Sie wie folgt vor, um zu überprüfen, ob Sie aktiv laufende SageMaker Canvas-Anwendungen haben.

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Dashboard** aus.

1. Im Abschnitt **LCNC** gibt es eine Zeile für Canvas, die angibt, wie viele aktive Apps ausgeführt werden. Wählen Sie die Nummer, um die Liste der Apps anzuzeigen.

In der Spalte **Status** wird der Status der Anwendung angezeigt, z. B. **Bereit**, **Ausstehend** oder **Gelöscht**. Wenn die Anwendung **bereit** ist, ist Ihre SageMaker Canvas-Workspace-Instanz aktiv. Sie können die Anwendung aus der Konsole löschen oder Canvas erneut öffnen und sich abmelden.

# Löschen einer Anwendung
<a name="canvas-manage-apps-delete"></a>

Wenn Sie Ihre SageMaker Canvas-Workspace-Instanz beenden möchten, können Sie sich entweder von der SageMaker Canvas-Anwendung abmelden oder Ihre Anwendung aus der SageMaker AI-Konsole löschen. Eine *Workspace-Instanz* ist für Sie von Beginn an, an dem Sie SageMaker Canvas verwenden, bis zu dem Zeitpunkt, an dem Sie sie nicht mehr verwenden, reserviert. Durch das Löschen der Anwendung wird lediglich die Workspace-Instance beendet und die Abrechnung für die Workspace-Instance eingestellt. Modelle und Datensätze sind nicht betroffen, aber Quick-Build-Aufgaben werden automatisch neu gestartet, wenn Sie die Anwendung neu starten.

Um Ihre Canvas-Anwendung über die AWS Konsole zu löschen, schließen Sie zunächst den Browser-Tab, in dem Ihre Canvas-Anwendung geöffnet war. Gehen Sie dann wie folgt vor, um Ihre SageMaker Canvas-Anwendung zu löschen.

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der Seite **Domains** Ihre Domain aus.

1. Wählen Sie auf der Seite mit den **Domänendetails** die Option **Ressourcen** aus.

1. Suchen Sie unter **Anwendungen** in der Spalte **App-Typ** nach der Anwendung mit der Aufschrift **Canvas**.

1. Markieren Sie das Kontrollkästchen neben der Canvas-Anwendung und wählen Sie **Beenden**.

Sie haben die Anwendung jetzt erfolgreich gestoppt und die Workspace-Instanz beendet.

Sie können die Workspace-Instanz auch beenden, indem Sie sich von der SageMaker Canvas-Anwendung [aus abmelden](canvas-log-out.md).

# Neustarten einer Anwendung
<a name="canvas-manage-apps-relaunch"></a>

Wenn Sie Ihre SageMaker Canvas-Anwendung löschen oder sich von ihr abmelden und die Anwendung neu starten möchten, gehen Sie wie folgt vor.

1. Navigieren Sie zur [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im Navigationsbereich die Option **Canvas**.

1. Wählen Sie auf der SageMaker Canvas-Landingpage im Feld **Erste Schritte** Ihr Benutzerprofil aus der Dropdownliste aus.

1. Wählen Sie **Open Canvas**, um die Anwendung zu öffnen.

SageMaker Canvas beginnt mit dem Starten der Anwendung.

Sie können auch das folgende sekundäre Verfahren verwenden, falls Sie Probleme mit dem vorherigen Verfahren haben.

1. Öffnen Sie die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie auf der Seite **Domains** Ihre Domain aus.

1. Wählen Sie auf der Seite mit den **Domänendetails** unter **Benutzerprofile** den Namen des Benutzerprofils für die SageMaker Canvas-Anwendung aus, die Sie anzeigen möchten.

1. Wählen Sie **Starten** und wählen Sie **Canvas** aus der Dropdown-Liste aus.

SageMaker Canvas beginnt mit dem Starten der Anwendung.

# Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren
<a name="canvas-vpc"></a>

Die Amazon SageMaker Canvas-Anwendung wird in einem Container in einer AWS verwalteten Amazon Virtual Private Cloud (VPC) ausgeführt. Wenn Sie den Zugriff auf Ihre Ressourcen weiter kontrollieren oder SageMaker Canvas ohne öffentlichen Internetzugang ausführen möchten, können Sie Ihre Amazon SageMaker AI-Domain- und VPC-Einstellungen konfigurieren. In Ihrer eigenen VPC können Sie Einstellungen wie Sicherheitsgruppen (virtuelle Firewalls, die den ein- und ausgehenden Datenverkehr von Amazon-EC2-Instances kontrollieren) und Subnetze (Bereiche von IP-Adressen in Ihrer VPC) konfigurieren. Weitere Informationen finden Sie VPCs unter [So funktioniert Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html).

Wenn die SageMaker Canvas-Anwendung in der AWS verwalteten VPC ausgeführt wird, kann sie entweder über eine Internetverbindung oder über VPC-Endpunkte, die in einer vom Kunden verwalteten VPC (ohne öffentlichen Internetzugang) erstellt wurden, mit anderen AWS Diensten interagieren. SageMaker Canvas-Anwendungen können über eine von Studio Classic erstellte Netzwerkschnittstelle auf diese VPC-Endpoints zugreifen, die Konnektivität zur vom Kunden verwalteten VPC bereitstellt. Das Standardverhalten der SageMaker Canvas-Anwendung besteht darin, Internetzugang zu haben. Wenn Sie eine Internetverbindung verwenden, greifen die Container für die vorherigen Jobs über das Internet auf AWS Ressourcen zu, z. B. die Amazon-S3-Buckets, in denen Sie Trainingsdaten und Modellartefakte speichern.

Wenn Sie jedoch Sicherheitsanforderungen haben, um den Zugriff auf Ihre Daten- und Jobcontainer zu kontrollieren, empfehlen wir Ihnen, SageMaker Canvas und Ihre VPC so zu konfigurieren, dass Ihre Daten und Container nicht über das Internet zugänglich sind. SageMaker AI verwendet die VPC-Konfigurationseinstellungen, die Sie bei der Einrichtung Ihrer Domain für SageMaker Canvas angeben.

Wenn Sie Ihre SageMaker Canvas-Anwendung ohne Internetzugang konfigurieren möchten, müssen Sie Ihre VPC-Einstellungen konfigurieren, wenn Sie in die [Amazon SageMaker AI-Domain](gs-studio-onboard.md) einsteigen, VPC-Endpunkte einrichten und die erforderlichen Berechtigungen erteilen. AWS Identity and Access Management Informationen zur Konfiguration einer VPC in Amazon SageMaker AI finden Sie unter[Auswählen einer Amazon VPC](onboard-vpc.md). In den folgenden Abschnitten wird beschrieben, wie SageMaker Canvas in einer VPC ohne öffentlichen Internetzugang ausgeführt wird.

## Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren
<a name="canvas-vpc-configure"></a>

Sie können Traffic von SageMaker Canvas über Ihre eigene VPC an andere AWS Dienste senden. Wenn Ihre eigene VPC keinen öffentlichen Internetzugang hat und Sie Ihre Domain **nur im VPC-Modus** eingerichtet haben, hat SageMaker Canvas auch keinen öffentlichen Internetzugang. Dazu gehören alle Anfragen, z. B. der Zugriff auf Datensätze in Amazon S3 oder Trainingsjobs für Standard-Builds, und die Anfragen werden über VPC-Endpunkte in Ihrer VPC statt über das öffentliche Internet abgewickelt. Wenn Sie ein Onboarding zur Domain und zu [Auswählen einer Amazon VPC](onboard-vpc.md) durchführen, können Sie Ihre eigene VPC als Standard-VPC für die Domain festlegen, zusammen mit Ihren gewünschten Sicherheitsgruppen- und Subnetzeinstellungen. Anschließend erstellt SageMaker KI eine Netzwerkschnittstelle in Ihrer VPC, die SageMaker Canvas für den Zugriff auf VPC-Endpunkte in Ihrer VPC verwendet.

Stellen Sie sicher, dass Sie eine oder mehrere Sicherheitsgruppen in Ihrer VPC mit Regeln für eingehenden und ausgehenden Datenverkehr einrichten, die [TCP-Datenverkehr innerhalb der Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances) zulassen. Dies ist für die Verbindung zwischen der Jupyter-Server-Anwendung und den Kernel-Gateway-Anwendungen erforderlich. Sie müssen den Zugriff auf mindestens Ports im Bereich `8192-65535` zulassen. Erstellen Sie für jedes Benutzerprofil auch eine eigene Sicherheitsgruppe und fügen Sie eingehenden Zugriff aus derselben Sicherheitsgruppe hinzu. Es wird nicht empfohlen, eine Sicherheitsgruppe auf Domainebene für Benutzerprofile wiederzuverwenden. Wenn die Sicherheitsgruppe auf Domainebene eingehenden Zugriff auf sich selbst zulässt, haben alle Anwendungen in der Domain Zugriff auf alle anderen Anwendungen in der Domain. Beachten Sie, dass die Sicherheitsgruppen- und Subnetzeinstellungen festgelegt werden, nachdem Sie das Onboarding in Domain abgeschlossen haben.

Wenn Sie beim Onboarding zur Domain **nur öffentliches Internet** als Netzwerkzugriffstyp wählen, wird die VPC SageMaker KI-verwaltet und ermöglicht den Internetzugang.

Sie können dieses Verhalten ändern, indem Sie **nur VPC** auswählen, sodass SageMaker KI den gesamten Datenverkehr an eine Netzwerkschnittstelle sendet, die SageMaker AI in Ihrer angegebenen VPC erstellt. Wenn Sie diese Option wählen, müssen Sie die Subnetze, Sicherheitsgruppen und VPC-Endpunkte bereitstellen, die für die Kommunikation mit der SageMaker API und SageMaker AI Runtime erforderlich sind, sowie verschiedene AWS Dienste wie Amazon S3 und Amazon CloudWatch, die von Canvas verwendet werden. SageMaker Beachten Sie, dass Sie nur Daten aus Amazon-S3-Buckets importieren können, die sich in derselben Region wie Ihre VPC befinden.

Die folgenden Verfahren zeigen, wie Sie diese Einstellungen für die Verwendung von SageMaker Canvas ohne Internet konfigurieren können.

### Schritt 1: Einstieg in die Amazon SageMaker AI-Domain
<a name="canvas-vpc-configure-onboard"></a>

Um SageMaker Canvas-Verkehr an eine Netzwerkschnittstelle in Ihrer eigenen VPC statt über das Internet zu senden, geben Sie die VPC an, die Sie beim Onboarding in die [Amazon SageMaker ](gs-studio-onboard.md) AI-Domain verwenden möchten. Sie müssen außerdem mindestens zwei Subnetze in Ihrer VPC angeben, die SageMaker KI verwenden kann. Wählen Sie **Standardeinrichtung** aus und gehen Sie wie folgt vor, wenn Sie den **Netzwerk- und Speicherbereich** für die Domain konfigurieren.

1. Wählen Sie Ihre gewünschte **VPC** aus.

1. Wählen Sie zwei oder mehr **Subnetze** aus. Wenn Sie die Subnetze nicht angeben, verwendet SageMaker AI alle Subnetze in der VPC.

1. Wählen Sie eine oder mehrere **Sicherheitsgruppe(n)**.

1. Wählen Sie **Nur VPC**, um den direkten Internetzugang in der AWS verwalteten VPC zu deaktivieren, in der SageMaker Canvas gehostet wird.

Nachdem Sie den Internetzugang deaktiviert haben, schließen Sie den Onboarding-Prozess ab, um Ihre Domain einzurichten. Weitere Informationen zu den VPC-Einstellungen für die Amazon SageMaker AI-Domain finden Sie unter[Auswählen einer Amazon VPC](onboard-vpc.md).

### Schritt 2: Konfigurieren der VPC-Endpunkte und des Zugriffs
<a name="canvas-vpc-configure-endpoints"></a>

**Anmerkung**  
Um Canvas in Ihrer eigenen VPC zu konfigurieren, müssen Sie private DNS-Hostnamen für Ihre VPC-Endpunkte aktivieren. Weitere Informationen finden Sie unter [Connect SageMaker KI über einen VPC-Schnittstellenendpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html) herstellen.

SageMaker Canvas greift nur auf andere AWS Dienste zu, um Daten für seine Funktionalität zu verwalten und zu speichern. Es stellt beispielsweise eine Verbindung zu Amazon Redshift her, wenn Ihre Benutzer auf eine Amazon Redshift-Datenbank zugreifen. Es kann über eine Internetverbindung oder einen VPC-Endpunkt eine Verbindung zu einem AWS Service wie Amazon Redshift herstellen. Verwenden Sie VPC-Endpunkte, wenn Sie Verbindungen von Ihrer VPC zu AWS Diensten einrichten möchten, die das öffentliche Internet nicht nutzen.

Ein VPC-Endpunkt stellt eine private Verbindung zu einem AWS Dienst her, der einen vom öffentlichen Internet isolierten Netzwerkpfad verwendet. Wenn Sie beispielsweise den Zugriff auf Amazon S3 mithilfe eines VPC-Endpunkts von Ihrer eigenen VPC aus einrichten, kann die SageMaker Canvas-Anwendung über die Netzwerkschnittstelle in Ihrer VPC und dann über den VPC-Endpunkt, der eine Verbindung zu Amazon S3 herstellt, auf Amazon S3 zugreifen. Die Kommunikation zwischen SageMaker Canvas und Amazon S3 ist privat.

Weitere Informationen zur Konfiguration von VPC-Endpunkten für Ihre VPC finden Sie unter [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html). Wenn Sie Amazon Bedrock-Modelle in Canvas mit einer VPC verwenden, finden Sie weitere Informationen zur Steuerung des Zugriffs auf Ihre Daten unter [Schützen von Aufträgen mithilfe einer VPC](https://docs.aws.amazon.com/bedrock/latest/userguide/usingVPC.html#configureVPC) im *Amazon Bedrock-Benutzerhandbuch*.

Im Folgenden sind die VPC-Endpunkte für jeden Service aufgeführt, den Sie mit SageMaker Canvas verwenden können:


| Service | Endpoint | Endpunkttyp | 
| --- | --- | --- | 
|  AWS Application Auto Scaling  |  com.amazonaws. *Region*.automatische Skalierung von Anwendungen  | Schnittstelle | 
|  Amazon Athena  |  com.amazonaws. *Region*.Athena  | Schnittstelle | 
|  Amazon SageMaker KI  |  com.amazonaws. *Region*.sagemaker.api com.amazonaws. *Region*.sagemaker.runtime com.amazonaws. *Region*. Notizbuch  | Schnittstelle | 
|  Amazon SageMaker AI-Assistent für Datenwissenschaft  |  com.amazonaws. *Region*. sagemaker-data-science-assistant  | Schnittstelle | 
|  AWS -Security-Token-Service  |  com.amazonaws. *Region*.sts  | Schnittstelle | 
|  Amazon Elastic Container Registry (Amazon ECR)  |  com.amazonaws. *Region*.ecr.api com.amazonaws. *Region*.ecr.dkr  | Schnittstelle | 
|  Amazon Elastic Compute Cloud (Amazon EC2)  |  com.amazonaws. *Region*.ec2  | Schnittstelle | 
|  Amazon Simple Storage Service (Amazon-S3)  |  com.amazonaws. *Region*. 3  | Gateway | 
|  Amazon Redshift  |  com.amazonaws. *Region*.redshift-Daten  | Schnittstelle | 
|  AWS Secrets Manager  |  com.amazonaws. *Region*. Geheimnismanager  | Schnittstelle | 
|  AWS Systems Manager  |  com.amazonaws. *Region*.ssm  | Schnittstelle | 
|  Amazon CloudWatch  |  com.amazonaws. *Region*. Überwachung  | Schnittstelle | 
|   CloudWatch Amazon-Protokolle  |  com.amazonaws. *Region*.protokolle  | Schnittstelle | 
|  Amazon Forecast  |  com.amazonaws. *Region*. Prognose com.amazonaws. *Region*. Prognoseabfrage  | Schnittstelle | 
|  Amazon Textract  |  com.amazonaws. *Region*.textrahieren  | Schnittstelle | 
|  Amazon Comprehend  |  com.amazonaws. *Region*.com verstehen  | Schnittstelle | 
|  Amazon Rekognition  |  com.amazonaws. *Region*.rekognition  | Schnittstelle | 
|  AWS Glue  |  com.amazonaws. *Region*. kleben  | Schnittstelle | 
|  AWS Application Auto Scaling  |  com.amazonaws. *Region*.automatische Skalierung von Anwendungen  | Schnittstelle | 
|  Amazon Relational Database Service (Amazon RDS)  |  com.amazonaws. *Region*.rds  | Schnittstelle | 
|  Amazon Bedrock (siehe Hinweis nach der Tabelle)  |  com.amazonaws. *Region*.bedrock-Laufzeit  | Schnittstelle | 
|  Amazon Kendra  |  com.amazonaws. *Region*.kendra  | Schnittstelle | 
|  Amazon EMR Serverless  |  com.amazonaws. *Region*.emr-serverlos  | Schnittstelle | 
|  Amazon Q Developer (siehe Hinweis nach der Tabelle)  |  com.amazonaws. *Region*q  | Schnittstelle | 

**Anmerkung**  
Der VPC-Endpunkt Amazon Q Developer ist derzeit nur in der Region USA Ost (Nord-Virginia) verfügbar. Um von anderen Regionen aus eine Verbindung herzustellen, können Sie je nach Ihren Sicherheits- und Infrastruktureinstellungen eine der folgenden Optionen wählen:  
**Richten Sie ein NAT-Gateway ein.** Konfigurieren Sie ein NAT-Gateway im privaten Subnetz Ihrer VPC, um die Internetverbindung für den Q-Developer-Endpunkt zu aktivieren. Weitere Informationen finden Sie unter [Einrichten eines NAT-Gateways in einem privaten VPC-Subnetz](https://repost.aws/knowledge-center/nat-gateway-vpc-private-subnet).
**Aktivieren Sie den regionsübergreifenden VPC-Endpunktzugriff.** Richten Sie den regionsübergreifenden VPC-Endpunktzugriff für Q Developer ein. Verwenden Sie diese Option, um eine sichere Verbindung herzustellen, ohne dass ein Internetzugang erforderlich ist. Weitere Informationen finden Sie unter [Konfigurieren des regionsübergreifenden VPC-Endpunktzugriffs](https://repost.aws/knowledge-center/vpc-endpoints-cross-region-aws-services).

**Anmerkung**  
Für Amazon Bedrock ist der Name `com.amazonaws.Region.bedrock` des Schnittstellenendpunkts Service veraltet. Erstellen Sie einen neuen VPC-Endpunkt mit dem in der vorherigen Tabelle aufgeführten Service-Namen.  
Darüber hinaus können Sie Foundation-Modelle von Canvas VPCs aus ohne Internetzugang nicht feinabstimmen. Dies liegt daran, dass Amazon Bedrock keine VPC-Endpunkte für die Modellanpassung unterstützt. APIs Weitere Informationen zur Feinabstimmung eines Grundlagenmodells in Canvas finden Sie unter [Optimieren von Grundlagenmodellen](canvas-fm-chat-fine-tune.md).

Sie müssen auch eine Endpunktrichtlinie für Amazon S3 hinzufügen, um den AWS Prinzipalzugriff auf Ihren VPC-Endpunkt zu kontrollieren. Informationen zur Aktualisierung Ihrer VPC-Endpunktrichtlinie finden Sie unter [Steuern des Zugriffs auf VPC-Endpunkte mithilfe von Endpunktrichtlinien](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).

Im Folgenden sind zwei VPC-Endpunktrichtlinien aufgeführt, die Sie verwenden können. Verwenden Sie die erste Richtlinie, wenn Sie nur Zugriff auf die Grundfunktionen von Canvas gewähren möchten, wie beispielsweise das Importieren von Daten und das Erstellen von Modellen. Verwenden Sie die zweite Richtlinie, wenn Sie Zugriff auf die zusätzlichen [Features der generativen KI](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html) in Canvas gewähren möchten.

------
#### [ Basic VPC endpoint policy ]

Die folgende Richtlinie gewährt den erforderlichen Zugriff auf Ihren VPC-Endpunkt für grundlegende Vorgänge in Canvas.

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------
#### [ Generative AI VPC endpoint policy ]

Die folgende Richtlinie gewährt den erforderlichen Zugriff auf Ihren VPC-Endpunkt für grundlegende Vorgänge in Canvas sowie für die Verwendung von Grundlagenmodellen der generativen KI.

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*fmeval/datasets*",
                "arn:aws:s3:::*jumpstart-cache-prod*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------

### Schritt 3: Erteilen von IAM-Berechtigungen
<a name="canvas-vpc-configure-permissions"></a>

Der SageMaker Canvas-Benutzer muss über die erforderlichen AWS Identity and Access Management Berechtigungen verfügen, um eine Verbindung zu den VPC-Endpunkten herzustellen. Die IAM-Rolle, der Sie Berechtigungen erteilen, muss dieselbe sein, die Sie beim Onboarding in die Amazon SageMaker AI-Domain verwendet haben. Sie können die von SageMaker KI verwaltete `AmazonSageMakerFullAccess` Richtlinie an die IAM-Rolle anhängen, damit der Benutzer dem Benutzer die erforderlichen Berechtigungen erteilt. Wenn Sie restriktivere IAM-Berechtigungen benötigen und stattdessen benutzerdefinierte Richtlinien verwenden, geben Sie der Rolle des Benutzers die entsprechende Berechtigung. `ec2:DescribeVpcEndpointServices` SageMaker Canvas benötigt diese Berechtigungen, um das Vorhandensein der erforderlichen VPC-Endpunkte für Standard-Build-Jobs zu überprüfen. Wenn es diese VPC-Endpunkte erkennt, werden Standard-Build-Jobs standardmäßig in Ihrer VPC ausgeführt. Andernfalls werden sie in der standardmäßigen AWS verwalteten VPC ausgeführt.

Anweisungen zum Anhängen der `AmazonSageMakerFullAccess` IAM-Richtlinie an die IAM-Rolle Ihres Benutzers finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

Gehen Sie wie folgt vor, um der IAM-Rolle Ihres Benutzers das granulare `ec2:DescribeVpcEndpointServices` Zugriffsrecht zu erteilen.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [IAM-Konsole](https://console.aws.amazon.com/iam/).

1. Wählen Sie im Navigationsbereich **Rollen**.

1. Wählen Sie in der Liste den Namen der Rolle, der Sie Berechtigungen erteilen möchten.

1. Wählen Sie die Registerkarte **Berechtigungen**.

1. Wählen Sie **Add permissions** (Berechtigungen hinzufügen) und dann **Create inline policy** (Inline-Richtlinie erstellen) aus.

1. Wählen Sie die Registerkarte **JSON** und geben Sie die folgende Richtlinie ein, die die `ec2:DescribeVpcEndpointServices` Berechtigung erteilt:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:DescribeVpcEndpointServices",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Wählen Sie **Überprüfungsrichtlinie**, und geben Sie einen **Namen** für die Richtlinie ein (z. B. `VPCEndpointPermissions`).

1. Wählen Sie **Richtlinie erstellen** aus.

Die IAM-Rolle des Benutzers sollte jetzt über Berechtigungen für den Zugriff auf die in Ihrer VPC konfigurierten VPC-Endpoints verfügen.

### (Optional) Schritt 4: Überschreiben der Sicherheitsgruppeneinstellungen für bestimmte Benutzer
<a name="canvas-vpc-configure-override"></a>

Wenn Sie ein Administrator sind, möchten Sie möglicherweise, dass verschiedene Benutzer unterschiedliche VPC-Einstellungen oder benutzerspezifische VPC-Einstellungen haben. Wenn Sie die Standard-Sicherheitsgruppeneinstellungen der VPC für einen bestimmten Benutzer überschreiben, werden diese Einstellungen an die SageMaker Canvas-Anwendung für diesen Benutzer weitergegeben.

Sie können die Sicherheitsgruppen überschreiben, auf die ein bestimmter Benutzer in Ihrer VPC Zugriff hat, wenn Sie ein neues Benutzerprofil in Studio Classic einrichten. Sie können den [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) SageMaker API-Aufruf (oder [create\$1user\$1profile](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_user_profile) mit [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) verwenden und dann in der den `UserSettings` für den Benutzer angeben. `SecurityGroups`

# Richten Sie Verbindungen zu Datenquellen ein mit OAuth
<a name="canvas-setting-up-oauth"></a>

Im folgenden Abschnitt werden die Schritte beschrieben, die Sie ausführen müssen, um OAuth Verbindungen zu Datenquellen von Canvas aus SageMaker einzurichten. [OAuth](https://oauth.net/2/)ist eine gängige Authentifizierungsplattform, um Zugriff auf Ressourcen zu gewähren, ohne Passwörter weiterzugeben. Mit OAuth können Sie schnell eine Verbindung zu Ihren Daten aus Canvas herstellen und sie für Gebäudemodelle importieren. Canvas unterstützt OAuth derzeit Snowflake und Salesforce Data Cloud. 

**Anmerkung**  
Sie können für jede Datenquelle nur eine OAuth Verbindung herstellen.

## OAuth Für Salesforce Data Cloud einrichten
<a name="canvas-setting-up-oauth-salesforce"></a>

Gehen Sie OAuth zur Einrichtung für Salesforce Data Cloud wie folgt vor:

1. Melden Sie sich bei Salesforce Data Cloud an.

1. Erstellen Sie in Salesforce Data Cloud eine neue Anwendungsverbindung und gehen Sie wie folgt vor:

   1.  OAuth Einstellungen aktivieren.

   1. Wenn Sie nach einer Rückruf-URL (oder der URL der Ressource, die auf Ihre Daten zugreift) gefragt werden, geben Sie die URL für Ihre Canvas-Anwendung an. Die URL der Canvas-Anwendung folgt diesem Format: `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

   1. Kopieren Sie den Verbraucherschlüssel und das Geheimnis.

   1. Kopieren Sie Ihre Autorisierungs-URL und Token-URL.

Detailliertere Anweisungen zur Durchführung der vorangegangenen Aufgaben in Salesforce Data Cloud finden Sie unter [Daten aus Salesforce Data Cloud importieren](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud) in der Data Wrangler-Dokumentation zum Importieren von Daten aus Salesforce Data Cloud.

Nachdem Sie den Zugriff über Salesforce Data Cloud aktiviert und Ihre Verbindungsinformationen abgerufen haben, müssen Sie einen [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)geheimen Schlüssel zum Speichern der Informationen erstellen und sie zu Ihrer Amazon SageMaker AI-Domäne oder Ihrem Benutzerprofil hinzufügen. Beachten Sie, dass Sie sowohl einer Domain als auch einem Benutzerprofil ein Secret hinzufügen können, Canvas sucht jedoch zuerst im Benutzerprofil nach Geheimnissen.Secrets.

Fügen Sie Ihrer Domain oder Ihrem Benutzerprofil wie folgt ein Secret hinzu:

1. Gehen Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Wählen Sie im Navigationsbereich **Domains** aus.

1. Wählen Sie aus der Liste der **Domains** Ihre Domain aus.

   1. Wenn Sie Ihr Secret zu Ihrer Domain hinzufügen, führen Sie die folgenden Schritte aus:

      1. Wählen Sie die Domain aus.

      1. Wählen Sie auf der Seite mit den **Domaineinstellungen** die Registerkarte **Domaineinstellungen** aus.

      1. Wählen Sie **Bearbeiten** aus.

   1. Wenn Sie das Geheimnis zu Ihrem Benutzerprofil hinzufügen, gehen Sie wie folgt vor:

      1. Wählen Sie die Domain des Benutzers aus.

      1. Wählen Sie auf der Seite mit den **Domaineinstellungen** das Benutzerprofil aus.

      1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie im Navigationsbereich **Canvas-Einstellungen**.

1. Wählen Sie für **OAuth Einstellungen** die Option ** OAuth Konfiguration hinzufügen**.

1. Wählen Sie als **Datenquelle** **Salesforce Data Cloud** aus.

1. Wählen Sie für **Secret-Einstellungen** die Option **Neues Secret erstellen** aus. Wenn Sie bereits ein AWS Secrets Manager Geheimnis mit Ihren Anmeldeinformationen erstellt haben, geben Sie alternativ den ARN für das Geheimnis ein. Wenn Sie einen neuen Secret erstellen, gehen Sie wie folgt vor:

   1. Wählen Sie für **Identitätsanbieter** **SALESFORCE** aus.

   1. Geben Sie für **Client ID**, **Client Secret**, **Autorisierungs-URL** und **Token-URL** alle Informationen ein, die Sie im vorherigen Verfahren von Salesforce Data Cloud gesammelt haben.

1. Speichern Sie Ihre Domain- oder Benutzerprofileinstellungen.

Sie sollten jetzt in der Lage sein, von Canvas aus eine Verbindung zu Ihren Daten in Salesforce Data Cloud herzustellen.

## OAuth Für Snowflake einrichten
<a name="canvas-setting-up-oauth-snowflake"></a>

Um die Authentifizierung für Snowflake einzurichten, unterstützt Canvas Identitätsanbieter, die Sie verwenden können, anstatt dass Benutzer ihre Anmeldeinformationen direkt in Canvas eingeben müssen.

Im Folgenden finden Sie Links zur Snowflake-Dokumentation für die von Canvas unterstützten Identitätsanbieter:
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

Der folgende Prozess beschreibt die allgemeinen Schritte, die Sie unternehmen müssen. Ausführlichere Anweisungen zur Durchführung dieser Schritte finden Sie im [Snowflake Access einrichten OAuth](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup) Abschnitt der Data Wrangler-Dokumentation zum Importieren von Daten aus Snowflake.

Gehen Sie wie folgt vor, OAuth um Snowflake einzurichten:

1. Registrieren Sie Canvas als Anwendung beim Identitätsanbieter. Dazu muss eine Weiterleitungs-URL zu Canvas angegeben werden, die diesem Format folgen sollte: `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

1. Erstellen Sie innerhalb des Identitätsanbieters einen Server oder eine API, die OAuth Token an Canvas sendet, damit Canvas auf Snowflake zugreifen kann. Verwenden Sie bei der Einrichtung des Servers die Gewährungstypen Autorisierungscode und Aktualisierungstoken, geben Sie die Gültigkeitsdauer des Zugriffstokens an und legen Sie eine Aktualisierungstoken-Richtlinie fest. Aktivieren Sie zusätzlich in der externen OAuth Sicherheitsintegration für Snowflake die Option. `external_oauth_any_role_mode`

1. Rufen Sie die folgenden Informationen vom Identitätsanbieter ab: Token-URL, Autorisierungs-URL, Client-ID, Client-Geheimnis. Rufen Sie für Azure AD auch die OAuth Bereichsanmeldedaten ab.

1. Speichern Sie die im vorherigen Schritt abgerufenen Informationen AWS Secrets Manager geheim.

   1. Für Okta und Ping Federate sollte das Geheimnis wie folgt aussehen:

      ```
      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
      "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE",
      "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
      ```

   1. Für Azure AD sollte das Geheimnis auch die OAuth Bereichsanmeldedaten als `datasource_oauth_scope` Feld enthalten.

Nachdem Sie den Identitätsanbieter und das Geheimnis konfiguriert haben, müssen Sie ein [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)Geheimnis zum Speichern der Informationen erstellen und es zu Ihrer Amazon SageMaker AI-Domain oder Ihrem Benutzerprofil hinzufügen. Beachten Sie, dass Sie sowohl einer Domain als auch einem Benutzerprofil ein Secret hinzufügen können, Canvas sucht jedoch zuerst im Benutzerprofil nach Geheimnissen.Secrets.

Fügen Sie Ihrer Domain oder Ihrem Benutzerprofil wie folgt ein Secret hinzu:

1. Gehen Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Wählen Sie im Navigationsbereich **Domains** aus.

1. Wählen Sie aus der Liste der **Domains** Ihre Domain aus.

   1. Wenn Sie Ihr Secret zu Ihrer Domain hinzufügen, führen Sie die folgenden Schritte aus:

      1. Wählen Sie die Domain aus.

      1. Wählen Sie auf der Seite mit den **Domaineinstellungen** die Registerkarte **Domaineinstellungen** aus.

      1. Wählen Sie **Bearbeiten** aus.

   1. Wenn Sie das Geheimnis zu Ihrem Benutzerprofil hinzufügen, gehen Sie wie folgt vor:

      1. Wählen Sie die Domain des Benutzers aus.

      1. Wählen Sie auf der Seite mit den **Domaineinstellungen** das Benutzerprofil aus.

      1. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie im Navigationsbereich **Canvas-Einstellungen**.

1. Wählen Sie für **OAuth Einstellungen** die Option ** OAuth Konfiguration hinzufügen**.

1. Wählen Sie als **Datenquelle** **Snowflake** aus.

1. Wählen Sie für **Einrichtung des Geheimnisses** die Option **Neues Geheimnis erstellen** aus. Wenn Sie bereits ein AWS Secrets Manager Geheimnis mit Ihren Anmeldeinformationen erstellt haben, geben Sie alternativ den ARN für das Geheimnis ein. Wenn Sie einen neuen Secret erstellen, gehen Sie wie folgt vor:

   1. Wählen Sie für **Identitätsanbieter** **SNOWFLAKE** aus.

   1. Geben Sie für **Client ID**, **Client Secret**, **Autorisierungs-URL** **und Token-URL** alle Informationen ein, die Sie im vorherigen Verfahren vom Identitätsanbieter gesammelt haben.

1. Speichern Sie Ihre Domain- oder Benutzerprofileinstellungen.

Sie sollten jetzt in der Lage sein, von Canvas aus eine Verbindung zu Ihren Daten in Snowflake herzustellen.

# Unterstützung mit generativer KI zur Lösung von ML-Problemen in Canvas mit Amazon Q Developer
<a name="canvas-q"></a>

Während Sie Amazon SageMaker Canvas verwenden, können Sie mit Amazon Q Developer in natürlicher Sprache chatten, um generative KI zu nutzen und Probleme zu lösen. Q Developer ist ein Assistent, der Sie dabei unterstützt, Ihre Ziele in Machine-Learning-Aufgaben (ML) zu übersetzen, und jeden Schritt des ML-Workflows beschreibt. Q Developer unterstützt Canvas-Anwender dabei, den Zeit- und Arbeitsaufwand sowie die erforderlichen Datenwissenschaftskenntnisse zu reduzieren, die für die Nutzung von ML und datengestützte Entscheidungen für ihre Unternehmen erforderlich sind. 

Durch eine Interaktion mit Q Developer können Sie in Canvas Aktionen wie die Vorbereitung von Daten, die Erstellung eines ML-Modells, die Erstellung von Vorhersagen und die Bereitstellung eines Modells initiieren. Q Developer unterbreitet Vorschläge für die nächsten Schritte und stellt Ihnen den Kontext zur Verfügung, während Sie die einzelnen Schritte ausführen. Es informiert Sie auch über die Ergebnisse. Beispielsweise kann Canvas Ihren Datensatz gemäß bewährten Verfahren transformieren, und Q Developer kann die verwendeten Transformationen und deren Gründe auflisten.

Amazon Q Developer ist in SageMaker Canvas ohne zusätzliche Kosten sowohl für Nutzer des Amazon Q Developer Pro-Kontingents als auch für Nutzer des kostenlosen Kontingents erhältlich. Für Ressourcen wie die SageMaker Canvas Workspace-Instance und alle Ressourcen, die zum Erstellen oder Bereitstellen von Modellen verwendet werden, fallen jedoch Standardgebühren an. Weitere Informationen zu den Preisen finden Sie unter [Amazon SageMaker Canvas-Preise](https://aws.amazon.com/sagemaker-ai/canvas/pricing/).

Die Nutzung von Amazon Q wird Ihnen unter der [MIT 0-Lizenz](https://github.com/aws/mit-0) gewährt und unterliegt den AWS -Richtlinien für verantwortungsvolle KI. Wenn Sie Q Developer von außerhalb der USA verwenden, verarbeitet Q Developer Daten in allen US-Regionen. Weitere Informationen erhalten Sie unter [Regionsübergreifende Inferenz in Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html).

**Anmerkung**  
Amazon Q Developer in SageMaker Canvas verwendet keine Benutzerinhalte, um den Service zu verbessern, unabhängig davon, ob Sie das Free-Tier- oder das Pro-Abonnement verwenden. Zu Zwecken der Servicetelemetrie kann Q Developer Ihre Nutzung verfolgen, beispielsweise die Anzahl der gestellten Fragen und ob Empfehlungen angenommen oder abgelehnt wurden. Diese Telemetriedaten enthalten keine personenbezogenen Daten wie beispielsweise IP-Adressen.

## Funktionsweise
<a name="canvas-q-how-it-works"></a>

Amazon Q Developer ist ein generativer KI-gestützter Assistent, der in SageMaker Canvas verfügbar ist und den Sie in natürlicher Sprache abfragen können. Q Developer unterbreitet Vorschläge für jeden Schritt des Machine-Learning-Workflows, erläutert Konzepte und stellt Ihnen bei Bedarf Optionen und weitere Details zur Verfügung. Sie können Q Developer für Anwendungsfälle für Regression, binäre Klassifikation und Mehrklassenklassifikation nutzen.

Um beispielsweise die Kundenabwanderung vorherzusagen, laden Sie einen Datensatz mit historischen Informationen zur Kundenabwanderung über Q Developer in Canvas hoch. Q Developer schlägt einen geeigneten ML-Modelltyp und Schritte zur Behebung von Problemen mit dem Datensatz, zur Erstellung eines Modells und zur Erstellung von Vorhersagen vor.

**Wichtig**  
Amazon Q Developer ist für Gespräche über Probleme des maschinellen Lernens in SageMaker Canvas vorgesehen. Er führt Benutzer durch die Canvas-Aktionen und beantwortet optional Fragen zu AWS-Services. Q Developer verarbeitet Modelleingaben nur in englischer Sprache. Informationen zum Einrichten von Amazon Q Developer finden Sie unter [Features von Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/features.html) im *Benutzerhandbuch für Amazon Q Developer*.

## Unterstützte -Regionen
<a name="canvas-q-regions"></a>

Amazon Q Developer ist in SageMaker Canvas wie folgt verfügbar AWS-Regionen:
+ USA Ost (Nord-Virginia)
+ USA Ost (Ohio)
+ USA West (Oregon)
+ Asia Pacific (Mumbai)
+ Asia Pacific (Seoul)
+ Asien-Pazifik (Singapur)
+ Asien-Pazifik (Sydney)
+ Asien-Pazifik (Tokio)
+ Europe (Frankfurt)
+ Europa (Irland)
+ Europa (Paris)

## Funktionen von Amazon Q Developer, die in Canvas verfügbar sind
<a name="canvas-q-capabilities"></a>

In der folgenden Liste werden die Canvas-Aufgaben zusammengefasst, bei denen Q Developer Unterstützung bieten kann:
+ **Ihr Ziel beschreiben** – Q Developer kann einen ML-Modelltyp und einen allgemeinen Ansatz zur Lösung Ihres Problems vorschlagen.
+ **Datensätze importieren und analysieren** – Teilen Sie Q Developer mit, wo Ihr Datensatz gespeichert ist, oder laden Sie eine Datei hoch, um sie als Canvas-Datensatz zu speichern. Fordern Sie Q Developer auf, alle Probleme in Ihrem Datensatz zu identifizieren, wie beispielsweise Ausreißer oder fehlende Werte. Q Developer stellt zusammenfassende Statistiken zu Ihrem Datensatz bereit und listet alle identifizierten Probleme auf.

  Q Developer unterstützt Abfragen zu den folgenden Statistiken für einzelne Spalten:
  + Numerische Spalten – `number of valid values`, `feature type`, `mean`, `median`, `minimum`, `maximum`, `standard deviation`, `25th percentile`, `75th percentile`, `number of outliers`
  + Kategorische Spalten – `number of missing values`, `number of valid values`, `feature type`, `most frequent`, `most frequent category`, `most frequent category count`, `least frequent`, `least frequent category`, `least frequent category count`, `categories`
+ **Probleme mit Datensätzen beheben** – Fordern Sie Q Developer auf, die Datenumwandlungsfunktionen von Canvas zu nutzen, um eine überarbeitete Version Ihres Datensatzes zu erstellen. Canvas erstellt einen Data-Wrangler-Datenfluss und wendet Transformationen gemäß den bewährten Methoden der Datenwissenschaft an. Weitere Informationen finden Sie unter [Datenaufbereitung](canvas-data-prep.md).

  Wenn Sie komplexere Datenanalysen oder Datenaufbereitungsaufgaben durchführen möchten, als dies mit Q Developer möglich ist, empfehlen wir Ihnen, die Datenfluss-Oberfläche Data Wrangler zu verwenden.
+ **Ein Modell trainieren** – Q Developer empfiehlt Ihnen den geeigneten ML-Modelltyp für Ihr Problem und schlägt Ihnen eine Konfiguration für die Modellerstellung vor. Sie können die vorgeschlagenen Standardeinstellungen für einen schnellen Build verwenden oder die Konfiguration anpassen und einen Standard-Build durchführen. Wenn Sie bereit sind, fordern Sie Q Developer auf, Ihr Canvas-Modell zu erstellen.

  Alle benutzerdefinierten Modelltypen werden unterstützt. Weitere Informationen zu Modelltypen und Quick- gegenüber Standard-Builds finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).
+ **Modellgenauigkeit bewerten** – Nach der Erstellung eines Modells bietet Q Developer eine Zusammenfassung der Modellbewertung anhand verschiedener Metriken. Anhand dieser Metriken können Sie den Nutzen und die Genauigkeit Ihres Modells bestimmen. Q Developer kann jedes Konzept oder jede Metrik detailliert erklären.

  Um alle Details und Visualisierungen zu sehen, öffnen Sie das Modell im Chat oder auf der Seite **Meine Modelle** von Canvas. Weitere Informationen finden Sie unter [Bewertung des Modells](canvas-evaluate-model.md).
+ **Vorhersagen für neue Daten abrufen** – Sie können einen neuen Datensatz hochladen und Q Developer auffordern, Ihnen beim Öffnen der Vorhersagefunktion von Canvas zu helfen. 

  Q Developer öffnet ein neues Fenster in der Anwendung, in dem Sie entweder eine einzelne Vorhersage oder mehrere Vorhersagen mit einem neuen Datensatz erstellen können. Weitere Informationen finden Sie unter [Vorhersagen mit benutzerdefinierten Modellen](canvas-make-predictions.md).
+ **Modell bereitstellen** – Um Ihr Modell für die Produktion bereitzustellen, fordern Sie Q Developer auf, Ihnen bei der Bereitstellung Ihres Modells über Canvas behilflich zu sein. Q Developer öffnet ein neues Fenster, in dem Sie Ihre Bereitstellung konfigurieren können. 

  Nach der Bereitstellung können Sie die Details Ihrer Bereitstellung entweder 1) auf der Seite **Meine Modelle** von Canvas auf der Registerkarte **Bereitstellung** des Modells oder 2) auf der Seite **ML Ops** auf der Registerkarte **Bereitstellungen** einsehen. Weitere Informationen finden Sie unter [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md).

## Voraussetzungen
<a name="canvas-q-prereqs"></a>

Um Amazon Q Developer zum Erstellen von ML-Modellen in SageMaker Canvas zu verwenden, müssen Sie die folgenden Voraussetzungen erfüllen:

**Einrichten einer Canvas-Anwendung**

Stellen Sie sicher, dass Sie eine Canvas-Anwendung eingerichtet haben. Informationen zum Einrichten einer Canvas-Anwendung finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

**Erteilen von Q-Developer-Berechtigungen**

Um auf Q Developer zuzugreifen, während Sie Canvas verwenden, müssen Sie der AWS IAM-Rolle, die für Ihre SageMaker AI-Domain oder Ihr Benutzerprofil verwendet wird, die erforderlichen Berechtigungen zuordnen. Sie können dazu die in diesem Abschnitt beschriebene Konsole verwenden. Wenn Sie aufgrund der Verwendung der Konsolenmethode auf Probleme mit den Berechtigungen stoßen, fügen Sie die AWS verwaltete Richtlinie manuell der IAM-Rolle [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess)hinzu.

Auf Domainebene zugewiesene Berechtigungen gelten für alle Benutzerprofile in der Domain, es sei denn, einzelne Berechtigungen werden auf Benutzerprofilebene erteilt oder widerrufen.

------
#### [ SageMaker AI console method ]

Sie können Berechtigungen gewähren, indem Sie die SageMaker AI-Domäne oder die Benutzerprofileinstellungen bearbeiten.

Gehen Sie wie folgt vor, um Berechtigungen über die Domäneneinstellungen in der SageMaker AI-Konsole zu erteilen:

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der Domains Ihre Domain aus.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **App-Konfigurationen** aus.

1. Klicken Sie im Abschnitt **Canvas** auf **Bearbeiten**.

1. Gehen Sie auf der Seite **Canvas-Einstellungen bearbeiten** zum Bereich **Amazon Q Developer** und gehen Sie wie folgt vor:

   1. **Aktivieren Sie Amazon Q Developer in SageMaker Canvas für maschinelles Lernen in natürlicher Sprache** aktivieren, um die Berechtigungen zum Chatten mit Q Developer in Canvas zur Ausführungsrolle Ihrer Domain hinzuzufügen.

   1. (Optional) **Aktivieren Sie die Option Amazon Q Developer Chat für allgemeine AWS Fragen** aktivieren, wenn Sie Q Developer Fragen zu verschiedenen Themen stellen möchten AWS-Services (zum Beispiel: Beschreiben Sie, wie Athena funktioniert).
**Anmerkung**  
Wenn Sie allgemeine AWS Fragen an Q Developer richten, werden Ihre Anfragen über den Osten der USA (Nord-Virginia) AWS-Region weitergeleitet. Um zu verhindern, dass Ihre Daten durch USA Ost (Nord-Virginia) weitergeleitet werden, deaktivieren Sie die Option **Chat von Amazon Q Developer für allgemeine AWS -Fragen aktivieren**.

------
#### [ Manual method ]

Ordnen Sie die [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess)Richtlinie der AWS IAM-Rolle zu, die für Ihre Domain oder Ihr Benutzerprofil verwendet wird. Weitere Informationen finden Sie im Abschnitt [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *AWS -IAM-Benutzerhandbuch*.

------

**(Optional) Konfigurieren des Zugriffs auf Q Developer von Ihrer VPC aus**

Wenn Sie über eine VPC verfügen, die ohne öffentlichen Internetzugang konfiguriert ist, können Sie einen VPC-Endpunkt für Q Developer hinzufügen. Weitere Informationen finden Sie unter [Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren](canvas-vpc.md).

## Erste Schritte
<a name="canvas-q-get-started"></a>

Gehen Sie wie folgt vor, um Amazon Q Developer zum Erstellen von ML-Modellen in SageMaker Canvas zu verwenden:

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Amazon Q** aus.

1. Wählen Sie **Neue Konversation starten** aus, um einen neuen Chat zu öffnen.

Wenn Sie einen neuen Chat starten, fordert Q Developer Sie auf, Ihr Problem zu schildern oder einen Datensatz bereitzustellen.

![\[Die Begrüßung, die Q Developer Ihnen beim Starten eines neuen Chats gibt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/amazon-q-greeting.png)


Nach dem Import Ihrer Daten können Sie Q Developer bitten, Ihnen zusammenfassende Statistiken zu Ihrem Datensatz zu liefern, oder Sie können Fragen zu bestimmten Spalten stellen. Eine Liste der verschiedenen Statistiken, die Q Developer unterstützt, finden Sie im vorherigen Abschnitt [Funktionen von Amazon Q Developer, die in Canvas verfügbar sind](#canvas-q-capabilities). Der folgende Screenshot veranschaulicht ein Beispiel für die Abfrage von Datensatzstatistiken und der häufigsten Kategorie in einer Produktkategoriespalte.

![\[Chat-Dialog, in dem Q Developer gebeten wird, Datenstatistiken und die häufigste Kategorie-Statistik bereitzustellen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/amazon-q-dataset-statistics.png)


Q Developer verfolgt alle Canvas-Artefakte, die Sie während der Konversation importieren oder erstellen, wie beispielsweise transformierte Datensätze und Modelle. Sie können über den Chat oder andere Registerkarten der Canvas-Anwendung darauf zugreifen. Wenn beispielsweise Q Developer Probleme in Ihrem Datensatz behebt, können Sie an folgenden Stellen auf den neuen, transformierten Datensatz zugreifen:
+ Die Seitenleiste mit Artefakten in der Chat-Oberfläche von Q Developer
+ Die Seite **Datensätze** von Canvas, auf der Sie sowohl Ihre ursprünglichen als auch Ihre transformierten Datensätze anzeigen können. Dem transformierten Datensatz wurde das Label **Built by Amazon Q** hinzugefügt.
+ Die Seite **Data Wrangler** von Canvas, auf der Q Developer einen neuen Datenfluss für Ihren Datensatz erstellt

Der folgende Screenshot zeigt den ursprünglichen Datensatz und den transformierten Datensatz in der Seitenleiste eines Chats.

![\[Die Artefakte, bei denen es sich um einen Datensatz und einen transformierten Datensatz handelt, werden in der Seitenleiste eines Q-Developer-Chats angezeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/amazon-q-artifacts.png)


Wenn Ihre Daten fertig sind, bitten Sie Q Developer, Ihnen bei der Erstellung eines Canvas-Modells zu helfen. Q Developer fordert Sie möglicherweise auf, einige Felder zu bestätigen und die Build-Konfiguration zu überprüfen. Wenn Sie die Standard-Build-Konfiguration verwenden, wird Ihr Modell mit einem Quick-Build erstellt. Wenn Sie einen Teil Ihrer Build-Konfiguration anpassen möchten, beispielsweise die Auswahl der verwendeten Algorithmen oder die Änderung der Zielmetrik, wird Ihr Modell mit einem Standard-Build erstellt.

Der folgende Screenshot veranschaulicht, wie Sie Q Developer dazu auffordern können, mit nur wenigen Eingaben einen Canvas-Modellaufbau zu initiieren. In diesem Beispiel wird die Standardkonfiguration verwendet, um einen Quick-Build zu starten.

![\[Ein Gespräch mit Q Developer, in dem der Benutzer aufgefordert wurde, mit der Erstellung eines Canvas-Modells zu beginnen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/amazon-q-training-chat.png)


Nachdem Sie Ihr Modell erstellt haben, können Sie zusätzliche Aktionen durchführen, indem Sie entweder natürliche Sprache im Chat oder das Menü der Artefakt-Seitenleiste verwenden. Beispielsweise können Sie Modelldetails und Metriken anzeigen, Vorhersagen treffen oder das Modell bereitstellen. Der folgende Screenshot zeigt die Seitenleiste, in der Sie diese zusätzlichen Optionen auswählen können.

![\[Das Ellipsenmenü für Gespräche von Q Developer wurde erweitert und zeigt nun Optionen zum Anzeigen von Modelldetails, Vorhersagen und Bereitstellungen an.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/amazon-q-ellipsis-menu.png)


Sie können auch jede dieser Aktionen ausführen, indem Sie auf der Seite **Meine Modelle** von Canvas Ihr Modell auswählen. Auf der Seite Ihres Modells können Sie zu den Registerkarten **Analysieren**, **Prognostizieren** und **Bereitstellen** navigieren, um Modellmetriken und Visualisierungen anzuzeigen, Vorhersagen zu treffen und Bereitstellungen zu verwalten.

# Protokollierung von Q Developer-Konversationen mit AWS CloudTrail
<a name="canvas-q-cloudtrail"></a>

AWS CloudTrail ist ein Service, der Aktionen aufzeichnet, die von Benutzern, Rollen oder AWS-Services in Amazon SageMaker AI ausgeführt wurden. CloudTrail erfasst API-Aufrufe, die sich aus Ihren Interaktionen mit Amazon Q Developer (einem KI-Konversationsassistenten) ergeben, während Sie SageMaker Canvas (eine ML-Schnittstelle ohne Code) verwenden. CloudTrail Die Daten zeigen Anforderungsdetails, die IP-Adresse des Anfragenden, wer die Anfrage gestellt hat und wann.

Ihre Interaktionen mit Q Developer werden als `SendConversation` API-Aufrufe an den SageMaker AI Data Science Assistant-Dienst gesendet, einen internen Dienst, den Canvas im Backend nutzt. Die Ereignisquelle für `SendConversation`-API-Aufrufe ist `sagemaker-data-science-assistant.amazonaws.com`.

**Anmerkung**  
Aus Datenschutz- und Sicherheitsgründen werden die Inhalte Ihrer Konversationen in den Protokollen ausgeblendet und erscheinen als `HIDDEN_DUE_TO_SECURITY_REASONS` und Antwortelemente.

Weitere Informationen CloudTrail finden Sie im [https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). Weitere Informationen zu CloudTrail SageMaker KI finden Sie unter[Protokollieren von Amazon SageMaker AI-API-Aufrufen mit AWS CloudTrail](logging-using-cloudtrail.md).

Im Folgenden ein Beispiel eines Protokolleintrags für die `SendConversation`-API:

```
{
    "eventVersion":"1.10",
    "userIdentity": {
        "type":"AssumedRole",
        "principalId":"AROA123456789EXAMPLE:user-Isengard",
        "arn":"arn:aws:sts::111122223333:assumed-role/Admin/user",
        "accountId":"111122223333",
        "accessKeyId":"ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type":"Role",
                "principalId":"AROA123456789EXAMPLE",
                "arn":"arn:aws:iam::111122223333:role/Admin",
                "accountId":"111122223333",
                "userName":"Admin"
            },
            "attributes": {
                "creationDate":"2024-11-11T22:04:37Z",
                "mfaAuthenticated":"false"
            }
        }
    },
    "eventTime":"2024-11-11T22:09:22Z",
    "eventSource":"sagemaker-data-science-assistant.amazonaws.com",
    "eventName":"SendConversation",
    "awsRegion":"us-west-2",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"Boto3/1.33.13 md/Botocore#1.33.13 ua/2.0 os/linux#5.10.227-198.884.amzn2int.x86_64 md/arch#x86_64 lang/python#3.7.16 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.33.13",
    "requestParameters": {
        "conversation": [
            {
                "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                "utterance":"HIDDEN_DUE_TO_SECURITY_REASONS",
                "timestamp":"Feb 4, 2020, 7:46:29 AM",
                "utteranceType":"User"
            }
        ],
        "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    },
    "responseElements": {
        "responseCode":"CHAT_RESPONSE",
        "conversationId":"1234567890abcdef0",
        "response": {
            "chat": {
                "body":"HIDDEN_DUE_TO_SECURITY_REASONS"
            }
        }
    },
    "requestID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "eventID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "managementEvent":true,
    "recipientAccountId":"123456789012",
    "eventCategory":"Management",
    "tlsDetails": {
        "tlsVersion":"TLSv1.2",
        "cipherSuite":"ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader":"gamma.us-west-2.data-science-assistant.sagemaker.aws.dev"
    }
}
```

# Datenimport
<a name="canvas-importing-data"></a>

Amazon SageMaker Canvas unterstützt den Import von Tabellen-, Bild- und Dokumentdaten. Sie können Datensätze von Ihrem lokalen Computer, Amazon-Services wie Amazon S3 und Amazon Redshift sowie externen Datenquellen importieren. Wenn Sie Datensätze aus Amazon S3 importieren, können Sie einen Datensatz beliebiger Größe einspielen. Verwenden Sie die Datensätze, die Sie importieren, um Modelle zu erstellen und Vorhersagen für andere Datensätze zu treffen.

Jeder Anwendungsfall, für den Sie ein benutzerdefiniertes Modell erstellen können, akzeptiert unterschiedliche Arten von Eingaben. Wenn Sie beispielsweise ein Modell zur Bildklassifizierung mit einer einzigen Bezeichnung erstellen möchten, sollten Sie Bilddaten importieren. Weitere Hinweise zu den unterschiedlichen Modelltypen und den von ihnen akzeptierten Daten finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md). Sie können in SageMaker Canvas Daten importieren und benutzerdefinierte Modelle für die folgenden Datentypen erstellen:
+ **Tabellarisch** (CSV, Parquet oder Tabellen)
  + Kategorisch – Verwenden Sie kategoriale Daten, um benutzerdefinierte kategoriale Vorhersagemodelle für Vorhersagen der Kategorien 2 und 3 zu erstellen.
  + Numerisch – Verwenden Sie numerische Daten, um benutzerdefinierte numerische Vorhersagemodelle zu erstellen.
  + Text – Verwenden Sie Textdaten, um benutzerdefinierte Textvorhersagemodelle für mehrere Kategorien zu erstellen.
  + Zeitreihen – Verwenden Sie Zeitreihendaten, um benutzerdefinierte Prognosemodelle für Zeitreihen zu erstellen.
+ **Bild** (JPG oder PNG) – Verwenden Sie Bilddaten, um benutzerdefinierte Modelle zur Vorhersage von Bildern mit nur einem Etikett zu erstellen.
+ **Dokument** (PDF, JPG, PNG, TIFF) — Dokumentdaten werden nur für SageMaker Ready-to-use Canvas-Modelle unterstützt. Weitere Informationen über Ready-to-use Modelle, die Vorhersagen für Dokumentdaten treffen können, finden Sie unter[Ready-to-use Modelle](canvas-ready-to-use-models.md).

Sie können Daten aus den folgenden Datenquellen in Canvas importieren:
+ Lokale Dateien auf Ihrem Computer
+ Amazon-S3-Buckets
+ Von Amazon Redshift bereitgestellte Cluster (nicht Amazon Redshift Serverless)
+ AWS Glue Data Catalog über Amazon Athena
+ Amazon Aurora
+ Amazon Relational Database Service (Amazon RDS)
+ Salesforce-Datenwolke
+ Snowflake
+ Databricks SQLServer, MariaDB und andere beliebte Datenbanken über JDBC-Konnektoren
+ Über 40 externe SaaS-Plattformen wie SAP OData

Eine vollständige Liste der Datenquellen, aus denen Sie importieren können, finden Sie in der folgenden Tabelle:


| Quelle | Typ | Unterstützte Datentypen | 
| --- | --- | --- | 
| Lokaler Datei-Upload | Local | Tabellarisch, Bild, Dokument | 
| Amazon Aurora | Amazon intern | Tabellarisch | 
| Amazon-S3-Bucket | Amazon intern | Tabellarisch, Bild, Dokument | 
| Amazon RDS | Amazon intern | Tabellarisch | 
| Von Amazon Redshift bereitgestellte Cluster (nicht Redshift Serverless) | Amazon intern | Tabellarisch | 
| AWS Glue Data Catalog (über Amazon Athena) | Amazon intern | Tabellarisch | 
| [Databricks](https://www.databricks.com/) | Extern | Tabellarisch | 
| Snowflake | Extern | Tabellarisch | 
| [Salesforce-Datenwolke](https://www.salesforce.com/products/genie/overview/) | Extern | Tabellarisch | 
| SQLServer | Extern | Tabellarisch | 
| MySQL | Extern | Tabellarisch | 
| PostgreSQL | Extern | Tabellarisch | 
| MariaDB | Extern | Tabellarisch | 
| [Amplitude](https://docs.aws.amazon.com/appflow/latest/userguide/amplitude.html) | Externe SaaS Plattform | Tabellarisch | 
| [CircleCI](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-circleci.html) | Externe SaaS Plattform | Tabellarisch | 
| [DocuSign Monitor](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-docusign-monitor.html) | Externe SaaS Plattform | Tabellarisch | 
| [Domo](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-domo.html) | Externe SaaS Plattform | Tabellarisch | 
| [Datadog](https://docs.aws.amazon.com/appflow/latest/userguide/datadog.html) | Externe SaaS Plattform | Tabellarisch | 
| [Dynatrace](https://docs.aws.amazon.com/appflow/latest/userguide/dynatrace.html) | Externe SaaS Plattform | Tabellarisch | 
| [Facebook-Werbung](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-ads.html) | Externe SaaS Plattform | Tabellarisch | 
| [Einblicke in die Facebook-Seite](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-page-insights.html) | Externe SaaS Plattform | Tabellarisch | 
| [Google-Anzeigen](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-ads.html) | Externe SaaS Plattform | Tabellarisch | 
| [Google Analytics 4](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-analytics-4.html) | Externe SaaS Plattform | Tabellarisch | 
| [Google-Suchkonsole](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-search-console.html) | Externe SaaS Plattform | Tabellarisch | 
| [GitHub](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-github.html) | Externe SaaS Plattform | Tabellarisch | 
| [GitLab](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-gitlab.html) | Externe SaaS Plattform | Tabellarisch | 
| [Infor Nexus](https://docs.aws.amazon.com/appflow/latest/userguide/infor-nexus.html) | Externe SaaS Plattform | Tabellarisch | 
| [Instagram-Werbung](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-instagram-ads.html) | Externe SaaS Plattform | Tabellarisch | 
| [Jira Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-jira-cloud.html) | Externe SaaS Plattform | Tabellarisch | 
| [LinkedIn Werbeanzeigen](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | Externe SaaS Plattform | Tabellarisch | 
| [LinkedIn Werbung](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | Externe SaaS Plattform | Tabellarisch | 
| [Mailchimp](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mailchimp.html) | Externe SaaS Plattform | Tabellarisch | 
| [Marketo](https://docs.aws.amazon.com/appflow/latest/userguide/marketo.html) | Externe SaaS Plattform | Tabellarisch | 
| [Microsoft Teams](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-microsoft-teams.html) | Externe SaaS Plattform | Tabellarisch | 
| [Mischpult](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mixpanel.html) | Externe SaaS Plattform | Tabellarisch | 
| [Okta](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-okta.html) | Externe SaaS Plattform | Tabellarisch | 
| [Salesforce](https://docs.aws.amazon.com/appflow/latest/userguide/salesforce.html) | Externe SaaS Plattform | Tabellarisch | 
| [Salesforce Marketing Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-salesforce-marketing-cloud.html) | Externe SaaS Plattform | Tabellarisch | 
| [Salesforce Pardot](https://docs.aws.amazon.com/appflow/latest/userguide/pardot.html) | Externe SaaS Plattform | Tabellarisch | 
| [SAP OData](https://docs.aws.amazon.com/appflow/latest/userguide/sapodata.html) | Externe SaaS Plattform | Tabellarisch | 
| [SendGrid](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-sendgrid.html) | Externe SaaS Plattform | Tabellarisch | 
| [ServiceNow](https://docs.aws.amazon.com/appflow/latest/userguide/servicenow.html) | Externe SaaS Plattform | Tabellarisch | 
| [Singular](https://docs.aws.amazon.com/appflow/latest/userguide/singular.html) | Externe SaaS Plattform | Tabellarisch | 
| [Slack](https://docs.aws.amazon.com/appflow/latest/userguide/slack.html) | Externe SaaS Plattform | Tabellarisch | 
| [Stripe](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-stripe.html) | Externe SaaS Plattform | Tabellarisch | 
| [Trend Micro](https://docs.aws.amazon.com/appflow/latest/userguide/trend-micro.html) | Externe SaaS Plattform | Tabellarisch | 
| [Typform](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-typeform.html) | Externe SaaS Plattform | Tabellarisch | 
| [Veeva](https://docs.aws.amazon.com/appflow/latest/userguide/veeva.html) | Externe SaaS Plattform | Tabellarisch | 
| [Zendesk](https://docs.aws.amazon.com/appflow/latest/userguide/zendesk.html) | Externe SaaS Plattform | Tabellarisch | 
| [Zendesk Chat](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-chat.html) | Externe SaaS Plattform | Tabellarisch | 
| [Zendesk Sell](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sell.html) | Externe SaaS Plattform | Tabellarisch | 
| [Zendesk Sunshine](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sunshine.html) | Externe SaaS Plattform | Tabellarisch | 
| [Zoom-Meetings](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zoom.html) | Externe SaaS Plattform | Tabellarisch | 

Anweisungen zum Importieren von Daten und Informationen zu den Anforderungen an Eingabedaten, wie z. B. der maximalen Dateigröße für Bilder, finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md).

Canvas bietet in Ihrer Anwendung auch mehrere Beispieldatensätze, um Ihnen den Einstieg zu erleichtern. Weitere Informationen zu den von SageMaker KI bereitgestellten Beispieldatensätzen, mit denen Sie experimentieren können, finden Sie unter [Verwenden von Beispieldatensätzen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-sample-datasets.html).

Nachdem Sie einen Datensatz in Canvas importiert haben, können Sie den Datensatz jederzeit aktualisieren. Sie können eine manuelle Aktualisierung durchführen oder einen Zeitplan für automatische Datensatzaktualisierungen einrichten. Weitere Informationen finden Sie unter [Aktualisieren eines Datensatzes](canvas-update-dataset.md).

Weitere Informationen zu jedem Datensatztyp finden Sie in den folgenden Abschnitten:

**Tabellarisch**

Um Daten aus einer externen Datenquelle (z. B. einer Snowflake-Datenbank oder einer SaaS-Plattform) zu importieren, müssen Sie sich in der Canvas-Anwendung authentifizieren und eine Verbindung mit der Datenquelle herstellen. Weitere Informationen finden Sie unter [Verbinden zu Datenquellen](canvas-connecting-external.md).

Wenn Sie Datensätze mit einer Größe von mehr als 5 GB aus Amazon S3 in Canvas importieren möchten, können Sie eine schnellere Stichprobenentnahme erzielen, indem Sie Amazon Athena verwenden, um die Daten aus Amazon S3 abzufragen und zu entnehmen.

Nachdem Sie Datensätze in Canvas erstellt haben, können Sie Ihre Daten mithilfe der Datenaufbereitungsfunktion von Data Wrangler vorbereiten und transformieren. Mit Data Wrangler können Sie fehlende Werte bearbeiten, Ihre Merkmale transformieren, mehrere Datensätze zu einem einzigen Datensatz zusammenführen und vieles mehr. Weitere Informationen finden Sie unter [Datenaufbereitung](canvas-data-prep.md).

**Tipp**  
Solange Ihre Daten in Tabellen angeordnet sind, können Sie Datensätze aus verschiedenen Quellen wie Amazon Redshift, Amazon Athena oder Snowflake zusammenfügen.

**Abbild**

Informationen darüber, wie Sie einen Bilddatensatz bearbeiten und Aufgaben wie das Zuweisen oder Neuzuweisen von Beschriftungen, das Hinzufügen von Bildern oder das Löschen von Bildern ausführen, finden Sie unter [Bearbeiten Sie einen Bilddatensatz](canvas-edit-image.md).

# Erstellen eines Datensatzes
<a name="canvas-import-dataset"></a>

**Anmerkung**  
Wenn Sie Datensätze mit mehr als 5 GB in Amazon SageMaker Canvas importieren, empfehlen wir Ihnen, die [Data Wrangler-Funktion](canvas-data-prep.md) in Canvas zu verwenden, um einen Datenfluss zu erstellen. Data Wrangler unterstützt erweiterte Funktionen zur Datenaufbereitung, wie beispielsweise das [Zusammenführen](canvas-transform.md#canvas-transform-join) und [Verknüpfen](canvas-transform.md#canvas-transform-concatenate) von Daten. Nachdem Sie einen Datenfluss erstellt haben, können Sie diesen als Canvas-Datensatz exportieren und mit der Erstellung eines Modells beginnen. Weitere Informationen finden Sie unter [Exportieren, um ein Modell zu erstellen](canvas-processing-export-model.md).

In den folgenden Abschnitten wird beschrieben, wie Sie einen Datensatz in Amazon SageMaker Canvas erstellen. Für benutzerdefinierte Modelle können Sie Datensätze für Tabellen- und Bilddaten erstellen. Für Ready-to-use Modelle können Sie Tabellen- und Bilddatensätze sowie Dokumentdatensätze verwenden. Wählen Sie Ihren Arbeitsablauf anhand der folgenden Informationen aus:
+ Informationen zu kategorialen, numerischen, Text- und Zeitreihendaten finden Sie unter [Importieren von Tabellendaten](#canvas-import-dataset-tabular).
+ Informationen zu Bilddaten finden Sie unter [Importieren von Bilddaten](#canvas-import-dataset-image).
+ Informationen zu Dokumentdaten finden Sie unter [Importieren von Dokumentdaten](#canvas-ready-to-use-import-document).

Ein Datensatz kann aus mehreren Dateien bestehen. Beispielsweise könnten Sie über mehrere Dateien mit Inventardaten im CSV-Format verfügen. Sie können diese Dateien zusammen als Datensatz hochladen, sofern das Schema (oder die Spaltennamen und Datentypen) der Dateien übereinstimmen.

Canvas unterstützt auch die Verwaltung mehrerer Versionen Ihres Datensatzes. Wenn Sie einen Datensatz erstellen, wird die erste Version als `V1` bezeichnet. Sie können eine neue Version Ihres Datensatzes erstellen, indem Sie Ihren Datensatz aktualisieren. Sie können eine manuelle Aktualisierung durchführen oder einen automatisierten Zeitplan für die Aktualisierung Ihres Datensatzes mit neuen Daten einrichten. Weitere Informationen finden Sie unter [Aktualisieren eines Datensatzes](canvas-update-dataset.md).

Wenn Sie Ihre Daten in Canvas importieren, stellen Sie sicher, dass sie die Anforderungen in der folgenden Tabelle erfüllen. Die Einschränkungen hängen vom Modelltyp ab, den Sie erstellen.


| Limit | 2-Kategorie-, 3\$1-Kategorie-, numerische und Zeitreihenmodelle | Modelle zur Textvorhersage | Modelle zur Bildvorhersage | \$1Dokumentdaten für Modelle Ready-to-use | 
| --- | --- | --- | --- | --- | 
| Unterstützte Dateitypen |  CSV und Parquet (lokaler Upload, Amazon S3 oder Datenbanken) JSON (Datenbanken)  |  CSV und Parquet (lokaler Upload, Amazon S3 oder Datenbanken) JSON (Datenbanken)  | JPG, PNG | PDF, JPG, PNG, TIFF | 
| Maximale Dateigröße |  Lokaler Upload: 5 GB Datenquellen: PBs  |  Lokaler Upload: 5 GB Datenquellen: PBs  | 30 MB pro Image | 5 MB pro Dokument | 
| Maximale Anzahl von Dateien, die Sie gleichzeitig hochladen können | 30 | 30 | – | – | 
| Maximale Anzahl von Spalten | 1.000 | 1.000 | – | – | 
| Maximale Anzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Schnellaufbau** | – | 7500 Zeilen | 5000 Bilder | – | 
| Maximale Anzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Standardaufbau** | – | 150.000 Zeilen | 180.000 Bilder | – | 
| Mindestanzahl von Einträgen (Zeilen) für **Schnellaufbau** |  Kategorie 2: 500 Zeilen Kategorie 3\$1, numerisch, Zeitreihen: N/A  | – | – | – | 
| Mindestanzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Standardaufbau** | 250 Zeilen | 50 Reihen | 50 Bilder | – | 
|  Mindestanzahl von Einträgen (Zeilen oder Bilder) pro Etikett | – | 25 Reihen | 25 Reihen | – | 
| Minimale Anzahl von Beschriftungen |  Kategorie 2: 2 Kategorie 3\$1: 3 Numerisch, Zeitreihen: N/A  | 2 | 2 | – | 
|  Mindeststichprobengröße für Zufallsstichproben | 500 | – | – | – | 
|  Maximaler Stichprobenumfang für Zufallsstichproben | 200 000 | – | – | – | 
| Maximale Anzahl von Beschriftungen |  Kategorie 2: 2 Kategorie 3\$1, numerisch, Zeitreihen: N/A  | 1000 | 1000 | – | 

\$1Dokumentdaten werden derzeit nur für [Ready-to-use Modelle](canvas-ready-to-use-models.md) unterstützt, die Dokumentdaten akzeptieren. Sie können kein benutzerdefiniertes Modell mit Dokumentdaten erstellen.

Beachten Sie auch die folgenden Einschränkungen:
+ Wenn Sie Daten aus einem Amazon-S3-Bucket importieren, stellen Sie sicher, dass der Name es Amazon-S3-Bucket keinen `.` enthält. Wenn Ihr Bucket-Name einen `.` enthält, können Fehler auftreten, wenn Sie versuchen, Daten in Canvas zu importieren.
+ Für tabellarische Daten erlaubt Canvas nicht die Auswahl von Dateien mit anderen Erweiterungen als .csv, .parquet, .parq und .pqt sowohl für den lokalen Upload als auch für den Amazon S3-Import. CSV-Dateien können beliebige gängige oder benutzerdefinierte Trennzeichen verwenden und dürfen keine Zeilenumbruchzeichen enthalten, außer wenn sie eine neue Zeile kennzeichnen.
+ Beachten Sie bei tabellarischen Daten, die Parquet-Dateien verwenden, Folgendes:
  + Parquet-Dateien können keine komplexen Typen wie Karten und Listen enthalten.
  + Die Spaltennamen von Parquet-Dateien dürfen keine Leerzeichen enthalten.
  + Wenn Sie die Komprimierung verwenden, müssen Parquet-Dateien entweder den Komprimierungstyp Gzip oder Snappy verwenden. Weitere Informationen zu den oben genannten Komprimierungstypen finden Sie in der [gzip-Dokumentation](https://www.gzip.org/) und der [Snappy-Dokumentation](https://github.com/google/snappy).
+ Wenn Sie über Bilder ohne Beschriftung verfügen, müssen Sie diese beschriften, bevor Sie Ihr Modell erstellen. Informationen zum Zuweisen von Beschriftungen zu Bildern in der Canvas-Anwendung finden Sie unter[Bearbeiten Sie einen Bilddatensatz](canvas-edit-image.md).
+ Wenn Sie automatische Datensatzaktualisierungen oder automatische Konfigurationen für Batch-Vorhersagen einrichten, können Sie in Ihrer Canvas-Anwendung insgesamt nur 20 Konfigurationen erstellen. Weitere Informationen finden Sie unter [So verwalten Sie Automatisierungen](canvas-manage-automations.md).

Nachdem Sie einen Datensatz importiert haben, können Sie Ihre Datensätze jederzeit auf der Seite **Datensätze** anzeigen.

## Importieren von Tabellendaten
<a name="canvas-import-dataset-tabular"></a>

Mit tabellarischen Datensätzen können Sie Modelle für kategoriale, numerische Prognosen, Zeitreihenprognosen und Textvorhersagen erstellen. Lesen Sie sich die Tabelle mit den Einschränkungen im vorherigen Abschnitt **Datensatz importieren** durch, um sicherzustellen, dass Ihre Daten die Anforderungen für Tabellendaten erfüllt.

Gehen Sie wie folgt vor, um einen tabellarischen Datensatz in Canvas zu importieren:

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie **Daten importieren**.

1. Wählen Sie im Dropdown-Menü **Tabellen** aus.

1. Geben Sie im Popup-Dialogfeld im Feld **Datensatzname** einen Namen für den Datensatz ein und wählen Sie **Erstellen** aus.

1. Öffnen Sie auf der Seite **Tabellarischen Datensatz erstellen** das Dropdown-Menü **Datenquelle** aus.

1. Wählen Sie Ihre Datenquelle aus:
   + Um Dateien von Ihrem Computer hochzuladen, wählen Sie **Lokaler Upload**.
   + Um Daten aus einer anderen Quelle zu importieren, z. B. einem Amazon-S3-Bucket oder einer Snowflake-Datenbank, suchen Sie in der **Suchdatenquellenleiste** nach Ihrer Datenquelle. Wählen Sie dann die Kachel für die gewünschte Datenquelle aus.
**Anmerkung**  
Sie können nur Daten aus den Kacheln importieren, die über eine aktive Verbindung verfügen. Wenn Sie eine Verbindung zu einer Datenquelle herstellen möchten, die für Sie nicht verfügbar ist, wenden Sie sich an Ihren Administrator. Wenn Sie Administrator sind, finden Sie weitere Informationen unter [Verbinden zu Datenquellen](canvas-connecting-external.md).

   Das folgende Bildschirmfoto zeigt das Dropdown-Menü **Datenquelle**.  
![\[Screenshot, der das Dropdown-Menü Datenquelle und eine Suche nach einer Datenquelle in der Suchleiste zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/import-data-choose-source.png)

1. (Optional) Wenn Sie zum ersten Mal eine Verbindung zu einer Amazon Redshift- oder Snowflake-Datenbank herstellen, wird ein Dialogfeld zum Herstellen einer Verbindung angezeigt. Füllen Sie das Dialogfeld mit Ihren Anmeldeinformationen aus und wählen Sie **Verbindung erstellen**. Wenn Sie bereits über eine Verbindung verfügen, wählen Sie Ihre Verbindung aus.

1. Wählen Sie aus Ihrer Datenquelle die zu importierenden Dateien aus. Für den lokalen Upload und Import aus Amazon S3 können Sie Dateien auswählen. Nur für Amazon S3 haben Sie auch die Möglichkeit, die S3-URI, den Alias oder die ARN Ihres Buckets oder S3-Zugangspunkts direkt in das Feld **S3-Endpunkt** eingeben einzugeben und anschließend die zu importierenden Dateien auszuwählen. Für Datenbankquellen können Sie drag-and-drop Datentabellen im linken Navigationsbereich aufrufen.

1. (Optional) Für tabellarische Datenquellen, die SQL-Abfragen unterstützen (wie Amazon Redshift, Amazon Athena oder Snowflake), können Sie **In SQL bearbeiten** auswählen, um vor dem Import SQL-Abfragen zu machen.

   Der folgende Screenshot zeigt die Ansicht **SQL bearbeiten** für eine Amazon Athena-Datenquelle.  
![\[Screenshot, der eine SQL-Abfrage in der Ansicht SQL bearbeiten für Amazon Athena-Daten zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/import-data-edit-sql.png)

1. Wählen Sie **Datensatzvorschau** aus, um vor dem Import eine Vorschau Ihrer Daten anzuzeigen.

1. Geben Sie in den **Importeinstellungen** einen **Datensatznamen** ein oder verwenden Sie den Standard-Datensatznamen.

1. (Optional) Für Daten, die Sie aus Amazon S3 importieren, werden Ihnen die **erweiterten** Einstellungen angezeigt und Sie können die folgenden Felder ausfüllen:

   1. Aktivieren Sie die Option **Erste Zeile als Kopfzeile verwenden**, wenn Sie die erste Zeile Ihres Datensatzes als Spaltennamen verwenden möchten. Wenn Sie mehrere Dateien ausgewählt haben, gilt dies für jede Datei.

   1. Wenn Sie eine CSV-Datei importieren, wählen Sie in der Dropdown-Liste **Dateikodierung (CSV)** die Kodierung Ihrer Datensatzdatei aus. `UTF-8`ist die Standardeinstellung.

   1. Wählen Sie in der Dropdown-Liste **Trennzeichen** das Trennzeichen aus, das die einzelnen Zellen in Ihren Daten voneinander trennt. Das Standardtrennzeichen ist `,`. Sie können auch ein benutzerdefiniertes Trennzeichen angeben.

   1. Wählen Sie **Mehrzeilige Erkennung** aus, wenn Sie möchten, dass Canvas Ihren gesamten Datensatz manuell nach mehrzeiligen Zellen durchsucht. Standardmäßig ist diese Option nicht ausgewählt und Canvas entscheidet anhand einer Stichprobe Ihrer Daten, ob die Mehrzeilenunterstützung verwendet wird oder nicht. Canvas erkennt jedoch möglicherweise keine mehrzeiligen Zellen in der Stichprobe. Wenn Sie mehrzeilige Zellen haben, empfehlen wir Ihnen, die Option **Mehrzeilige Erkennung** auszuwählen, um Canvas zu zwingen, Ihren gesamten Datensatz auf mehrzeilige Zellen zu überprüfen.

1. Wenn Sie bereit sind, Ihre Daten zu importieren, wählen Sie **Datensatz erzeugen** aus.

Während Ihr Datensatz in Canvas importiert wird, können Sie sehen, dass Ihre Datensätze auf der Seite **Datensätze** aufgelistet sind. Auf dieser Seite können Sie [Anzeigen Ihrer Datensatzdaten](#canvas-view-dataset-details).

Wenn der **Status** Ihres Datensatzes als `Ready` angezeigt wird, hat Canvas Ihre Daten erfolgreich importiert und Sie können mit der [Erstellung eines Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) fortfahren.

Wenn Sie eine Verbindung zu einer Datenquelle haben, z. B. zu einer Amazon Redshift-Datenbank oder einem SaaS-Connector, können Sie zu dieser Verbindung zurückkehren. Für Amazon Redshift und Snowflake können Sie eine weitere Verbindung hinzufügen, indem Sie einen weiteren Datensatz erstellen, zur Seite **Daten importieren** zurückkehren und die **Datenquellen**-Kachel für diese Verbindung auswählen. Im Dropdown-Menü können Sie die vorherige Verbindung öffnen oder **Verbindung hinzufügen** wählen.

**Anmerkung**  
Für SaaS-Plattformen können Sie nur eine Verbindung pro Datenquelle haben.

## Importieren von Bilddaten
<a name="canvas-import-dataset-image"></a>

Mit Bilddatensätzen können Sie benutzerdefinierte Modelle zur Bildvorhersage mit einer einzigen Beschriftung erstellen, die eine Beschriftung für ein Bild vorhersagen. Lesen Sie sich die Einschränkungen im vorherigen Abschnitt **Datensatz importieren** durch, um sicherzustellen, dass Ihr Bilddatensatz die Anforderungen für Bilddaten erfüllt.

**Anmerkung**  
Sie können nur Bilddatensätze aus einem lokalen Datei-Upload oder einem Amazon-S3-Bucket importieren. Außerdem müssen Sie für Bilddatensätze mindestens 25 Bilder pro Beschriftung haben.

Gehen Sie wie folgt vor, um einen Bilddatensatz in Canvas zu importieren:

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie **Daten importieren**.

1. Wählen Sie im Dropdown-Menü **Bild** aus.

1. Geben Sie im Popup-Dialogfeld im Feld **Datensatzname** einen Namen für den Datensatz ein und wählen Sie **Erstellen** aus.

1. Öffnen Sie auf der **Importseite** das Dropdown-Menü **Datenquelle**.

1. Wählen Sie Ihre -Datenquelle aus. Um eine Datei vom Computer hochzuladen, wählen Sie **Lokales Hochladen**. Um Dateien aus Amazon S3 zu importieren, wählen Sie **Amazon S3** aus.

1. Wählen Sie auf Ihrem Computer oder Amazon-S3-Bucket die Bilder oder Ordner mit Bildern aus, die Sie hochladen möchten.

1. Wenn Sie bereit sind, Ihre Daten zu importieren, wählen Sie **Daten importieren**.

Während Ihr Datensatz in Canvas importiert wird, können Sie sehen, dass Ihre Datensätze auf der Seite **Datensätze** aufgelistet sind. Auf dieser Seite können Sie [Anzeigen Ihrer Datensatzdaten](#canvas-view-dataset-details).

Wenn der **Status** Ihres Datensatzes als `Ready` angezeigt wird, hat Canvas Ihre Daten erfolgreich importiert und Sie können mit der [Erstellung eines Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) fortfahren.

Wenn Sie Ihr Modell erstellen, können Sie Ihren Bilddatensatz bearbeiten und Beschriftungen zuweisen oder neu zuweisen, Bilder hinzufügen oder Bilder aus Ihrem Datensatz löschen. Weitere Informationen zum Bearbeiten Ihres Bilddatensatzes finden Sie unter [Bearbeiten Sie einen Bilddatensatz](canvas-edit-image.md).

## Importieren von Dokumentdaten
<a name="canvas-ready-to-use-import-document"></a>

Die Ready-to-use Modelle für die Kostenanalyse, die Analyse von Ausweisdokumenten, die Dokumentenanalyse und die Dokumentenabfrage unterstützen Dokumentendaten. Sie können kein benutzerdefiniertes Modell mit Dokumentdaten erstellen.

Mit Dokumentdatensätzen können Sie Prognosen für Ready-to-use Modelle zur Kostenanalyse, Ausweisanalyse, Dokumentenanalyse und Dokumentenabfrage generieren. Sehen Sie sich die Tabelle mit den Einschränkungen in [Erstellen eines Datensatzes](#canvas-import-dataset) diesem Abschnitt an, um sicherzustellen, dass Ihr Dokumentdatensatz die Anforderungen für Dokumentdaten erfüllt.

**Anmerkung**  
Sie können nur Dokumentdatensätze aus einem lokalen Datei-Upload oder einem Amazon-S3-Bucket importieren.

Gehen Sie wie folgt vor, um einen Dokumentdatenbestand in Canvas zu importieren:

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie **Daten importieren**.

1. Wählen Sie im Dropdown-Menü **Dokument** aus.

1. Geben Sie im Popup-Dialogfeld im Feld **Datensatzname** einen Namen für den Datensatz ein und wählen Sie **Erstellen** aus.

1. Öffnen Sie auf der **Importseite** das Dropdown-Menü **Datenquelle**.

1. Wählen Sie Ihre -Datenquelle aus. Um eine Datei vom Computer hochzuladen, wählen Sie **Lokales Hochladen**. Um Dateien aus Amazon S3 zu importieren, wählen Sie **Amazon S3** aus.

1. Wählen Sie auf Ihrem Computer oder Amazon-S3-Bucket die Dokumentdateien aus, die Sie hochladen möchten.

1. Wenn Sie bereit sind, Ihre Daten zu importieren, wählen Sie **Daten importieren**.

Während Ihr Datensatz in Canvas importiert wird, können Sie sehen, dass Ihre Datensätze auf der Seite **Datensätze** aufgelistet sind. Auf dieser Seite können Sie [Anzeigen Ihrer Datensatzdaten](#canvas-view-dataset-details).

Wenn der **Status** Ihres Datensatzes als `Ready` angezeigt wird, hat Canvas Ihre Daten erfolgreich importiert.

Auf der Seite **Datensätze** können Sie Ihren Datensatz auswählen, um ihn in der Vorschau anzuzeigen. Dabei werden Ihnen bis zu den ersten 100 Dokumente Ihres Datensatzes angezeigt.

## Anzeigen Ihrer Datensatzdaten
<a name="canvas-view-dataset-details"></a>



Für jeden Ihrer Datensätze können Sie alle Dateien in einem Datensatz, den Versionsverlauf des Datensatzes und alle Konfigurationen für die auto Aktualisierung des Datensatzes anzeigen. Auf der Seite **Datensätze** können Sie auch Aktionen wie [Aktualisieren eines Datensatzes](canvas-update-dataset.md) oder [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md) initiieren.

Um die Details für einen Datensatz anzuzeigen, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie Ihren Datensatz aus der Liste der Datensätze aus.

Auf der Registerkarte **Daten** können Sie eine Vorschau Ihrer Daten sehen. Wenn Sie **Datensatzdetails** wählen, können Sie alle Dateien sehen, die Teil Ihres Datensatzes sind. Wählen Sie eine Datei aus, um nur die Daten aus dieser Datei in der Vorschau zu sehen. Bei Bilddatensätzen zeigt Ihnen die Vorschau nur die ersten 100 Bilder Ihres Datensatzes.

Auf der Registerkarte **Versionsverlauf** sehen Sie eine Liste aller Versionen Ihres Datensatzes. Bei jeder Aktualisierung eines Datensatzes wird eine neue Version erstellt. Weitere Informationen zum Aktualisieren eines Datensatzes finden Sie unter [Aktualisieren eines Datensatzes](canvas-update-dataset.md). Der folgende Screenshot zeigt die Registerkarte **Versionsverlauf** in der Canvas-Anwendung.

![\[Screenshot der Registerkarte Versionsverlauf für einen Datensatz mit einer Liste der Datensatzversionen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-version-history.png)


Auf der Registerkarte **Automatische Updates** können Sie automatische Updates für den Datensatz aktivieren und eine Konfiguration einrichten, um Ihren Datensatz regelmäßig zu aktualisieren. Weitere Informationen zum Einrichten von automatischen Updates für einen Datensatz finden Sie unter [Konfigurieren Sie automatische Updates für einen Datensatz](canvas-update-dataset-auto.md). Der folgende Screenshot zeigt die Registerkarte **Automatische Updates** mit aktivierten auto Updates und einer Liste der automatischen Aktualisierungsaufträge, die für den Datensatz ausgeführt wurden.

![\[Die Registerkarte Automatische Updates für einen Datensatz zeigt die aktivierten automatische Updates und eine Liste von Autoaktualisierungsaufträgen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-auto-updates.png)


# Aktualisieren eines Datensatzes
<a name="canvas-update-dataset"></a>

Nach dem Import Ihres ersten Datensatzes in Amazon SageMaker Canvas haben Sie möglicherweise zusätzliche Daten, die Sie Ihrem Datensatz hinzufügen möchten. Beispielsweise erhalten Sie möglicherweise am Ende jeder Woche Inventardaten, die Sie Ihrem Datensatz hinzufügen möchten. Anstatt Ihre Daten mehrmals zu importieren, können Sie Ihren vorhandenen Datensatz aktualisieren und Dateien hinzufügen oder daraus entfernen.

**Anmerkung**  
Sie können nur Datensätze aktualisieren, die Sie durch lokalen Upload oder Amazon S3 importiert haben.

Sie können Ihren Datensatz entweder manuell oder automatisch aktualisieren. Weitere Informationen zu automatischen Datensatz-Updates finden Sie unter [Konfigurieren Sie automatische Updates für einen Datensatz](canvas-update-dataset-auto.md).

Jedes Mal, wenn Sie Ihren Datensatz aktualisieren, erstellt Canvas eine neue Version Ihres Datensatzes. Sie können nur die neueste Version Ihres Datensatzes verwenden, um ein Modell zu erstellen oder Vorhersagen zu generieren. Weitere Hinweise zum Anzeigen des Versionsverlaufs Ihres Datensatzes finden Sie unter [Anzeigen Ihrer Datensatzdaten](canvas-import-dataset.md#canvas-view-dataset-details).

Sie können Datensatzaktualisierungen auch mit automatisierten Batch-Vorhersagen verwenden, wodurch bei jeder Aktualisierung Ihres Datensatzes ein Batch-Vorhersageauftrag gestartet wird. Weitere Informationen finden Sie unter [Batch-Vorhersagen in SageMaker Canvas](canvas-make-predictions-batch.md).

Der folgende Abschnitt beschreibt, wie Sie manuelle Updates an Ihrem Datensatz vornehmen können.

## Aktualisieren eines Datensatzes
<a name="canvas-update-dataset-manual"></a>

Gehen Sie wie folgt vor, um eine manuelle Aktualisierung durchzuführen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie aus der Liste der Datensätze den Datensatz aus, den Sie aktualisieren möchten.

1. Wählen Sie das Dropdown-Menü **Datensatz aktualisieren** und wählen Sie **Manuelles Update** aus. Sie werden zum Importieren von Daten umgeleitet.

1. Wählen Sie im Dropdown-Menü **Datenquelle** entweder **Lokaler Upload** oder **Amazon S3** aus.

1. Die Seite zeigt Ihnen eine Vorschau Ihrer Daten. Von hier aus können Sie Dateien zum Datensatz hinzufügen oder daraus entfernen. Wenn Sie Tabellendaten importieren, muss das Schema der neuen Dateien (Spaltennamen und Datentypen) mit dem Schema der vorhandenen Dateien übereinstimmen. Darüber hinaus dürfen Ihre neuen Dateien die maximale Datensatzgröße oder Dateigröße nicht überschreiten. Weitere Informationen zu diesen Einschränkungen finden Sie unter [ Importieren eines Datensatzes](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html).
**Anmerkung**  
Wenn Sie eine Datei mit demselben Namen wie eine bestehende Datei in Ihrem Datensatz hinzufügen, überschreibt die neue Datei die alte Version der Datei.

1. Wenn Sie bereit sind, Ihre Änderungen zu speichern, wählen Sie **Datensatz aktualisieren** aus.

Sie sollten nun über eine neue Version Ihres Datensatzes verfügen.

Auf der Seite **Datensätze** können Sie die Registerkarte **Versionsverlauf** auswählen, um alle Versionen Ihres Datensatzes sowie den Verlauf der von Ihnen vorgenommenen manuellen und automatischen Aktualisierungen anzuzeigen.

# Konfigurieren Sie automatische Updates für einen Datensatz
<a name="canvas-update-dataset-auto"></a>

Nach dem Import Ihres ersten Datensatzes in Amazon SageMaker Canvas haben Sie möglicherweise zusätzliche Daten, die Sie Ihrem Datensatz hinzufügen möchten. Beispielsweise erhalten Sie möglicherweise am Ende jeder Woche Inventardaten, die Sie Ihrem Datensatz hinzufügen möchten. Anstatt Ihre Daten mehrmals zu importieren, können Sie Ihren vorhandenen Datensatz aktualisieren und Dateien hinzufügen oder daraus entfernen.

**Anmerkung**  
Sie können nur Datensätze aktualisieren, die Sie durch lokalen Upload oder Amazon S3 importiert haben.

Bei automatischen Datensatz-Updates legen Sie einen Speicherort fest, an dem Canvas in von Ihnen festgelegten Intervallen nach Dateien sucht. Wenn Sie während der Aktualisierung neue Dateien importieren, muss das Schema der Dateien exakt mit dem vorhandenen Datensatz übereinstimmen.

Jedes Mal, wenn Sie Ihren Datensatz aktualisieren, erstellt Canvas eine neue Version Ihres Datensatzes. Sie können nur die neueste Version Ihres Datensatzes verwenden, um ein Modell zu erstellen oder Vorhersagen zu generieren. Weitere Hinweise zum Anzeigen des Versionsverlaufs Ihres Datensatzes finden Sie unter [Anzeigen Ihrer Datensatzdaten](canvas-import-dataset.md#canvas-view-dataset-details).

Sie können Datensatzaktualisierungen auch mit automatisierten Batch-Vorhersagen verwenden, wodurch bei jeder Aktualisierung Ihres Datensatzes ein Batch-Vorhersageauftrag gestartet wird. Weitere Informationen finden Sie unter [Batch-Vorhersagen in SageMaker Canvas](canvas-make-predictions-batch.md).

Der folgende Abschnitt beschreibt, wie Sie automatische Updates an Ihrem Datensatz vornehmen können.

Bei einer automatischen Aktualisierung richten Sie eine Konfiguration für Canvas ein, um Ihren Datensatz mit einer bestimmten Häufigkeit zu aktualisieren. Wir empfehlen Ihnen, diese Option zu verwenden, wenn Sie regelmäßig neue Dateien mit Daten erhalten, die Sie Ihrem Datensatz hinzufügen möchten.

Wenn Sie die Konfiguration für auto Updates einrichten, geben Sie einen Amazon S3-Speicherort an, an den Sie Ihre Dateien hochladen, und eine Häufigkeit, mit der Canvas den Speicherort überprüft und Dateien importiert. Jede Instance, in der Canvas Ihren Datensatz aktualisiert, wird als *Auftrag* bezeichnet. Für jeden Auftrag importiert Canvas alle Dateien am Amazon S3-Speicherort. Wenn Sie neue Dateien mit denselben Namen wie bestehende Dateien in Ihrem Datensatz haben, überschreibt Canvas die alten Dateien mit den neuen Dateien.

Bei automatischen Datensatzaktualisierungen führt Canvas keine Schemavalidierung durch. Wenn das Schema der während einer automatischen Aktualisierung importierten Dateien nicht mit dem Schema der vorhandenen Dateien übereinstimmt oder die Größenbeschränkungen überschreitet (eine Tabelle mit Dateigrößenbeschränkungen finden Sie unter [Importieren eines Datensatzes](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html)), werden bei der Ausführung Ihrer Aufträge Fehler angezeigt.

**Anmerkung**  
Sie können in Ihrer Canvas-Anwendung nur maximal 20 automatische Konfigurationen einrichten. Darüber hinaus führt Canvas nur automatische Updates durch, wenn Sie bei Ihrer Canvas-Anwendung angemeldet sind. Wenn Sie sich von Ihrer Canvas-Anwendung abmelden, werden automatische Updates angehalten, bis Sie sich wieder anmelden.

Um automatische Updates für Ihren Datensatz zu konfigurieren, gehen Sie wie folgt vor:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **Datensätze** aus.

1. Wählen Sie aus der Liste der Datensätze den Datensatz aus, den Sie aktualisieren möchten.

1. Wählen Sie das Dropdown-Menü **Datensatz aktualisieren** und wählen Sie **Automatisches Update**. Sie werden zur Registerkarte **Automatische Updates** für den Datensatz weitergeleitet.

1. Aktivieren Sie den Schalter **Automatische Aktualisierung aktiviert**.

1. Geben Sie unter **Datenquelle angeben** den Amazon S3-Pfad zu einem Ordner ein, in den Sie regelmäßig Dateien hochladen möchten.

1. Wählen Sie für **Häufigkeit wählen** die Option **Stündlich**, **Wöchentlich** oder **Täglich** aus.

1. Verwenden Sie für **Startzeit angeben** den Kalender und die Zeitauswahl, um auszuwählen, wann der erste Auftrag für die auto Aktualisierung gestartet werden soll.

1. Wenn Sie bereit sind, die Konfiguration für das auto Update zu erstellen, wählen Sie **Speichern** aus.

Canvas beginnt den ersten Auftrag Ihrer auto Aktualisierungsfrequenz zur angegebenen Startzeit.

# Sehen Sie sich Ihre Aufträge zur automatischen Datensatz-Aktualisierung an
<a name="canvas-update-dataset-auto-view"></a>

Um den Auftragsverlauf für Ihre automatischen Datensatzaktualisierungen in Amazon SageMaker Canvas einzusehen, wählen Sie auf Ihrer Datensatz-Detailseite den Tab **Automatische Updates**.

Jede automatische Aktualisierung eines Datensatzes wird auf der Registerkarte **Automatische Updates** im Abschnitt **Auftragsverlauf** als Auftrag angezeigt. Für jeden Auftrag können Sie Folgendes sehen:
+ **Auftrag erstellt** – Der Zeitstempel, zu dem Canvas mit der Aktualisierung des Datensatzes begonnen hat.
+ **Dateien** – Die Anzahl der Dateien im Datensatz.
+ **Zellen (Spalten x Zeilen)** – Die Anzahl der Spalten und Zeilen im Datensatz.
+ **Status** – Der Status des Datensatzes nach der Aktualisierung. Wenn der Status **Bereit** lautet, war der Auftrag erfolgreich. Wenn der Job aus irgendeinem Grund fehlgeschlagen ist, lautet der Status **Fehlgeschlagen**, und Sie können den Mauszeiger über den Status bewegen, um weitere Informationen zu erhalten.

# Bearbeiten Sie Ihre Konfiguration für die automatische Aktualisierung von Datensätzen
<a name="canvas-update-dataset-auto-edit"></a>

Möglicherweise möchten Sie Änderungen an der Konfiguration für die auto Aktualisierung eines Datensatzes vornehmen, z. B. die Häufigkeit der Aktualisierungen ändern. Möglicherweise möchten Sie auch die Konfiguration für automatische Updates deaktivieren, um die Aktualisierungen Ihres Datensatzes zu unterbrechen.

Um Änderungen an Ihrer Konfiguration für automtische Updates für einen Datensatz vorzunehmen, wechseln Sie zur Registerkarte **Automatische Updates** Ihres Datensatzes und wählen Sie **Bearbeiten**, um Änderungen an der Konfiguration vorzunehmen.

Um Ihre Datensatzaktualisierungen zu unterbrechen, schalten Sie Ihre automatische Konfiguration aus. Sie können auto Updates deaktivieren, indem Sie zur Registerkarte **Automatische Updates** Ihres Datensatzes wechseln und den Schalter **Automatische Updates aktivieren** deaktivieren. Sie können diesen Schalter jederzeit wieder einschalten, um den Aktualisierungszeitplan fortzusetzen.

Wie Sie Ihre Konfiguration löschen können, erfahren Sie unter [Löschen einer automatischen Konfiguration](canvas-manage-automations-delete.md).

# Verbinden zu Datenquellen
<a name="canvas-connecting-external"></a>

In Amazon SageMaker Canvas können Sie Daten von einem Speicherort außerhalb Ihres lokalen Dateisystems über einen AWS Service, eine SaaS-Plattform oder andere Datenbanken mithilfe von JDBC-Konnektoren importieren. So könnte es beispielsweise sein, dass Sie Tabellen aus einem Data Warehouse in Amazon Redshift importieren möchten, oder Sie möchten möglicherweise Google Analytics-Daten importieren.

Wenn Sie den **Import-Workflow** zum Importieren von Daten in der Canvas-Anwendung durchlaufen, können Sie Ihre Datenquelle und dann die Daten auswählen, die Sie importieren möchten. Für bestimmte Datenquellen, wie Snowflake und Amazon Redshift, müssen Sie Ihre Anmeldeinformationen angeben und eine Verbindung zur Datenquelle hinzufügen.

Der folgende Screenshot zeigt die Datenquellen-Symbolleiste im **Import-Workflow**, wobei alle verfügbaren Datenquellen hervorgehoben sind. Sie können nur Daten aus den Datenquellen importieren, die Ihnen zur Verfügung stehen. Wenden Sie sich an Ihren Administrator, wenn Ihre gewünschte Datenquelle nicht verfügbar ist.

![\[Das Dropdown-Menü Datenquelle auf der Seite Daten importieren in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/data-sources.png)


Die folgenden Abschnitte enthalten Informationen zum Herstellen von Verbindungen zu externen Datenquellen und zum Importieren von Daten aus diesen. Lesen Sie zunächst den folgenden Abschnitt, um festzustellen, welche Berechtigungen Sie zum Importieren von Daten aus Ihrer Datenquelle benötigen.

## Berechtigungen
<a name="canvas-connecting-external-permissions"></a>

Überprüfen Sie die folgenden Informationen, um sicherzustellen, dass Sie über die erforderlichen Berechtigungen zum Importieren von Daten aus Ihrer Datenquelle verfügen:
+ **Amazon S3:** Sie können Daten aus jedem Amazon S3 Bucket importieren, sofern Ihr Benutzer über Zugriffserlaubnis auf den Bucket verfügt. Weitere Informationen zur Verwendung von AWS IAM zur Steuerung des Zugriffs auf Amazon S3-Buckets finden Sie unter [Identitäts- und Zugriffsmanagement in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) im *Amazon S3 S3-Benutzerhandbuch*.
+ **Amazon Athena:** Wenn Sie die [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)Richtlinie und die Richtlinie mit der [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Ausführungsrolle Ihres Benutzers verknüpft haben, können Sie Ihre Anfrage AWS Glue Data Catalog bei Amazon Athena abfragen. Wenn Sie Teil einer Athena-Arbeitsgruppe sind, stellen Sie sicher, dass der Canvas-Benutzer berechtigt ist, Athena-Abfragen für die Daten auszuführen. Weitere Informationen finden Sie unter [Verwendung von Arbeitsgruppen für die Ausführung von Abfragen](https://docs.aws.amazon.com/athena/latest/ug/workgroups.html) im *Amazon Athena-Benutzerhandbuch*.
+ **Amazon DocumentDB:** Sie können Daten aus jeder Amazon-DocumentDB-Datenbank importieren, sofern Sie über die Anmeldeinformationen (Benutzername und Kennwort) für die Verbindung mit der Datenbank verfügen und die Mindestberechtigungen für Canvas mit der Ausführungsrolle Ihres Benutzers verknüpft sind. Weitere Informationen zu Canvas-Berechtigung finden Sie unter [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites).
+ **Amazon Redshift:** Informationen dazu, wie Sie sich die erforderlichen Berechtigungen zum Importieren von Daten aus Amazon Redshift erteilen können, finden Sie unter [Benutzerberechtigungen für den Import von Amazon Redshift-Daten gewähren](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html).
+ **Amazon RDS:** Wenn Sie die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie mit der Ausführungsrolle Ihres Benutzers verknüpft haben, können Sie von Canvas aus auf Ihre Amazon RDS-Datenbanken zugreifen.
+ **SaaS-Plattformen:** Wenn Sie die [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)Richtlinie und die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie mit der Ausführungsrolle Ihres Benutzers verknüpft haben, verfügen Sie über die erforderlichen Berechtigungen, um Daten von SaaS-Plattformen zu importieren. Weitere Informationen zum Herstellen einer Verbindung zu einem bestimmten SaaS-Konnektor finden Sie unter [Verwenden Sie SaaS-Konnektoren mit Canvas](#canvas-connecting-external-appflow).
+ **JDBC-Konnektoren:** Für Datenbankquellen wie Databricks, MySQL oder MariaDB müssen Sie die Authentifizierung mit Benutzername und Passwort in der Quelldatenbank aktivieren, bevor Sie versuchen, eine Verbindung von Canvas aus herzustellen. Wenn Sie eine Verbindung zu einer Databricks-Datenbank herstellen, benötigen Sie die JDBC-URL, die die erforderlichen Anmeldeinformationen enthält.

## Stellen Sie eine Connect zu einer Datenbank her, die in gespeichert ist AWS
<a name="canvas-connecting-internal-database"></a>

Möglicherweise möchten Sie Daten importieren, die Sie gespeichert haben AWS. Sie können Daten aus Amazon S3 importieren, Amazon Athena verwenden, um eine Datenbank im abzufragen AWS Glue Data Catalog, Daten aus [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) importieren oder eine Verbindung zu einer bereitgestellten Amazon Redshift Redshift-Datenbank (nicht Redshift Serverless) herstellen.

Sie können mehrere Verbindungen zu Amazon Redshift erstellen. Für Amazon Athena können Sie auf alle Datenbanken zugreifen, die Sie in Ihrem [AWS Glue Data Catalog](https://docs.aws.amazon.com/prescriptive-guidance/latest/serverless-etl-aws-glue/aws-glue-data-catalog.html) haben. Für Amazon S3 können Sie Daten aus einem Bucket importieren, sofern Sie über die erforderlichen Berechtigungen verfügen.

In den folgenden Abschnitten finden Sie weitere Informationen.

### Connect zu Daten in Amazon S3, Amazon Athena oder Amazon RDS her
<a name="canvas-connecting-internal-database-s3-athena"></a>

Für Amazon S3 können Sie Daten aus einem Amazon-S3-Bucket importieren, sofern Sie über Zugriffsberechtigungen für den Bucket verfügen.

Für Amazon Athena können Sie auf Datenbanken in Ihrem zugreifen, AWS Glue Data Catalog sofern Sie über die entsprechenden Berechtigungen Ihrer [Amazon Athena Athena-Arbeitsgruppe](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html) verfügen.

Wenn Sie für Amazon RDS die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie an die Rolle Ihres Benutzers angehängt haben, können Sie Daten aus Ihren Amazon RDS-Datenbanken in Canvas importieren.

Informationen zum Importieren von Daten aus einem Amazon-S3-Bucket oder zum Ausführen von Abfragen und Importieren von Datentabellen mit Amazon Athena finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md). Sie können nur Tabellendaten aus Amazon Athena importieren, und Sie können Tabellen- und Bilddaten aus Amazon S3 importieren.

### Verbinden mit einer Amazon-DocumentDB-Datenbank
<a name="canvas-connecting-docdb"></a>

Amazon DocumentDB ist ein vollständig verwalteter Serverless-Dokumentdatenbankservice. Sie können unstrukturierte Dokumentdaten, die in einer Amazon DocumentDB DocumentDB-Datenbank gespeichert sind, als tabellarischen Datensatz in SageMaker Canvas importieren und anschließend Modelle für maschinelles Lernen mit den Daten erstellen.

**Wichtig**  
Ihre SageMaker AI-Domain muss im Modus **Nur VPC** konfiguriert sein, um Verbindungen zu Amazon DocumentDB hinzuzufügen. Sie können nur in derselben Amazon-VPC wie Ihre Canvas-Anwendung auf Amazon-DocumentDB-Cluster zugreifen. Darüber hinaus kann Canvas nur eine Verbindung zu TLS-fähigen Amazon-DocumentDB-Clustern herstellen. Weitere Informationen zum Einrichten von Canvas im Modus **Nur VPC** finden Sie unter [Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren](canvas-vpc.md).

Um Daten aus Amazon-DocumentDB-Datenbanken zu importieren, benötigen Sie Zugangsdaten für den Zugriff auf die Amazon-DocumentDB-Datenbank und müssen bei der Erstellung einer Datenbankverbindung den Benutzernamen und das Kennwort angeben. Sie können detailliertere Berechtigungen konfigurieren und den Zugriff einschränken, indem Sie die Benutzerberechtigungen für Amazon DocumentDB anpassen. Weitere Informationen zur Zugriffskontrolle in Amazon DocumentDB finden Sie unter [Datenbankzugriffs mithilfe der rollenbasierten Zugriffssteuerung](https://docs.aws.amazon.com/documentdb/latest/developerguide/role_based_access_control.html) im *Entwicklerhandbuch für Amazon DocumentDB*.

Wenn Sie Daten aus Amazon DocumentDB importieren, wandelt Canvas Ihre unstrukturierten Daten in einen tabellarischen Datensatz um, indem die Felder den Spalten in einer Tabelle zugeordnet werden. Für jedes komplexe Feld (oder jede verschachtelte Struktur) in den Daten werden zusätzliche Tabellen erstellt, wobei die Spalten den Unterfeldern des komplexen Feldes entsprechen. Ausführlichere Informationen zu diesem Prozess und Beispiele für Schemakonvertierung finden Sie auf der Seite [Amazon DocumentDB JDBC Driver Schema Discovery](https://github.com/aws/amazon-documentdb-jdbc-driver/blob/develop/src/markdown/schema/schema-discovery.md). GitHub 

Canvas kann nur eine Verbindung zu einer einzigen Datenbank in Amazon DocumentDB herstellen. Um Daten aus einer anderen Datenbank zu importieren, müssen Sie eine neue Verbindung herstellen.

Sie können mithilfe der folgenden Methoden Daten aus Amazon DocumentDB in Canvas importieren:
+ [Erstellen eines Datensatzes](canvas-import-dataset.md). Sie können Ihre Amazon-DocumentDB-Daten importieren und einen tabellarischen Datensatz in Canvas erstellen. Wenn Sie diese Methode auswählen, stellen Sie sicher, dass Sie das Verfahren zum [Importieren von Tabellendaten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html#canvas-import-dataset-tabular) befolgen.
+ [Erstellen eines Datenablaufs](canvas-data-flow.md). Sie können in Canvas eine Pipeline zur Datenaufbereitung erstellen und Ihre Amazon-DocumentDB-Datenbank als Datenquelle hinzufügen.

Um mit dem Import Ihrer Daten fortzufahren, befolgen Sie bitte die Vorgehensweise für eine der Methoden, die in der vorstehenden Liste aufgeführt sind.

Wenn Sie in einem der beiden Arbeitsabläufe zu dem Schritt gelangen, in dem Sie eine Datenquelle auswählen müssen (Schritt 6 beim Erstellen eines Datensatzes oder Schritt 8 beim Erstellen eines Datenflusses), gehen Sie bitte wie folgt vor:

1. Öffnen Sie für **Datenquelle** das Dropdown-Menü und wählen Sie **DocumentDB** aus.

1. Wählen Sie **Add connection** (Verbindung hinzufügen).

1. Geben Sie im Dialogfeld Ihre Anmeldeinformationen für Amazon DocumentDB ein:

   1. Geben Sie einen **Verbindungsnamen** ein. Dies ist ein Name, der von Canvas verwendet wird, um diese Verbindung zu identifizieren.

   1. Wählen Sie für **Cluster** den Cluster in Amazon DocumentDB aus, der Ihre Daten speichert. Canvas füllt das Dropdown-Menü automatisch mit Amazon-DocumentDB-Clustern in derselben VPC wie Ihre Canvas-Anwendung.

   1. Geben Sie den **Benutzernamen** für Ihren Amazon-DocumentDB-Cluster ein.

   1. Geben Sie das **Kennwort** für Ihren Amazon-DocumentDB-Cluster ein.

   1. Geben Sie den Namen der **Datenbank** ein, mit der Sie sich verbinden möchten.

   1. Die Option **Leseeinstellung** bestimmt, von welchen Arten von Instances auf Ihrem Cluster-Canvas die Daten gelesen werden. Wählen Sie eine der folgenden Optionen:
      + **Sekundär bevorzugt** – Canvas liest standardmäßig von den sekundären Instances des Clusters. Wenn jedoch keine sekundäre Instance verfügbar ist, liest Canvas von einer primären Instance.
      + **Sekundär** – Canvas liest nur von den sekundären Instances des Clusters, wodurch verhindert wird, dass die Lesevorgänge die regulären Lese- und Schreibvorgänge des Clusters beeinträchtigen.

   1. Wählen Sie **Add connection** (Verbindung hinzufügen). Die folgende Abbildung zeigt das Dialogfeld mit den vorherigen Feldern für eine Amazon-DocumentDB-Verbindung.  
![\[Screenshot des Dialogfelds Neue DocumentDB-Verbindung hinzufügen in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/add-docdb-connection.png)

Sie sollten nun über eine Amazon-DocumentDB-Verbindung verfügen und können Ihre Amazon-DocumentDB-Daten in Canvas verwenden, um entweder einen Datensatz oder einen Datenfluss zu erstellen.

### Verbindung zu einer Amazon Redshift-Datenbank
<a name="canvas-connecting-redshift"></a>

Sie können Daten aus Amazon Redshift importieren, einem Data Warehouse, in dem Ihre Organisation ihre Daten aufbewahrt. Bevor Sie Daten aus Amazon Redshift importieren können, muss die `AmazonRedshiftFullAccess` verwaltete Richtlinie an die von Ihnen verwendete AWS IAM-Rolle angehängt sein. Anweisungen zum Anfügen der Richtlinie finden Sie unter [Benutzern Berechtigungen zum Importieren von Amazon Redshift-Daten gewähren](canvas-redshift-permissions.md). 

Um Daten aus Amazon Redshift zu importieren, führen Sie die folgenden Schritte aus:

1. Erstellen Sie eine Verbindung zu einer Amazon Redshift-Datenbank.

1. Wählen Sie die Daten aus, die Sie importieren möchten.

1. Importieren Sie die Daten.

Sie können den Amazon Redshift Redshift-Editor verwenden, um Datensätze in den Importbereich zu ziehen und sie in SageMaker Canvas zu importieren. Für mehr Kontrolle über die im Datensatz zurückgegebenen Werte können Sie Folgendes verwenden:
+ SQL-Abfragen
+ Joins

Mit SQL-Abfragen können Sie anpassen, wie Sie die Werte in den Datensatz importieren. Sie können beispielsweise die im Datensatz zurückgegebenen Spalten oder den Wertebereich für eine Spalte angeben.

Sie können Joins verwenden, um mehrere Datensätze aus Amazon Redshift zu einem einzigen Datensatz zu kombinieren. Sie können Ihre Datensätze aus Amazon Redshift in das Fenster ziehen, in dem Sie die Datensätze verbinden können.

Sie können den SQL-Editor verwenden, um den Datensatz, den Sie verknüpft haben, zu bearbeiten und den verknüpften Datensatz in einen einzelnen Knoten zu konvertieren. Sie können einen anderen Datensatz mit dem Knoten verbinden. Sie können die ausgewählten Daten in SageMaker Canvas importieren.

Gehen Sie wie folgt vor, um Daten aus Amazon Redshift zu importieren.

1. Gehen Sie in der SageMaker Canvas-Anwendung zur Seite **Datasets**.

1. Wählen Sie **Daten importieren** und dann im Dropdown-Menü **Tabellarisch** aus.

1. Geben Sie einen Namen für den Datensatz ein und wählen Sie dann **Erstellen**.

1. Öffnen Sie für **Datenquell** das Dropdown-Menü und wählen Sie **Redshift**.

1. Wählen Sie **Add connection** (Verbindung hinzufügen).

1. Geben Sie im Dialogfeld Ihre Amazon Redshift-Anmeldeinformationen ein:

   1. Wählen Sie als **Authentifizierungsmethode** **IAM** aus.

   1. Geben Sie die **Cluster-ID** ein, um anzugeben, mit welchem Cluster Sie eine Verbindung herstellen möchten. Geben Sie nur die Cluster-Kennung und nicht den vollständigen Endpunkt des Amazon-Redshift-Clusters ein.

   1. Geben Sie den **Datenbanknamen** der Datenbank ein, mit der Sie eine Verbindung herstellen möchten.

   1. Geben Sie einen **Datenbankbenutzer** ein, um den Benutzer zu identifizieren, den Sie für die Verbindung mit der Datenbank verwenden möchten.

   1. Geben Sie für **ARN** den IAM-Rollen-ARN der Rolle ein, die der Amazon Redshift-Cluster übernehmen soll, um Daten zu Amazon S3 zu verschieben und zu schreiben. Weitere Informationen zu dieser Rolle finden Sie unter [Authorizing Amazon Redshift to access other AWS services in Ihrem Namen im](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html) *Amazon Redshift* Management Guide.

   1. Geben Sie einen **Verbindungsnamen** ein. Dies ist ein Name, der von Canvas verwendet wird, um diese Verbindung zu identifizieren.

1. Ziehen Sie die CSV-Datei, die Sie importieren, von der Registerkarte mit dem Namen Ihrer Verbindung in den Bereich **Drag-and-Drop-Tabelle zum Importieren**.

1. Optional: Ziehen Sie weitere Tabellen in den Importbereich. Sie können die GUI verwenden, um die Tabellen zu verbinden. Um Ihre Verknüpfungen genauer zu gestalten, wählen Sie **In SQL bearbeiten** aus.

1. Optional: Wenn Sie SQL verwenden, um die Daten abzufragen, können Sie **Kontext** wählen, um der Verbindung Kontext hinzuzufügen, indem Sie Werte für Folgendes angeben:
   + **Lager**
   + **Datenbank**
   + **Schema**

1. Wählen Sie **Daten importieren**.

Die folgende Abbildung zeigt ein Beispiel für Felder, die für eine Amazon Redshift-Verbindung angegeben sind.

![\[Screenshot des Dialogfelds Neue Redshift-Verbindung hinzufügen in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-add-connection.png)


Die folgende Abbildung zeigt die Seite, die zum Verbinden von Datensätzen in Amazon Redshift verwendet wird.

![\[Screenshot der Seite Import in Canvas, der das Verbinden von zwei Datensätzen zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-join.png)


Die folgende Abbildung zeigt eine SQL-Abfrage, die verwendet wird, um einen Join in Amazon Redshift zu bearbeiten.

![\[Screenshot einer SQL-Abfrage im Editor SQL bearbeiten auf der Seite Import in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-edit-sql.png)


## Stellen Sie mit JDBC-Konnektoren eine Connect zu Ihren Daten her
<a name="canvas-connecting-jdbc"></a>

Mit JDBC können Sie aus Quellen wie Databricks, MySQL, PostgreSQL, MariaDB SQLServer, Amazon RDS und Amazon Aurora eine Verbindung zu Ihren Datenbanken herstellen.

Sie müssen sicherstellen, dass Sie über die erforderlichen Anmeldeinformationen und Berechtigungen verfügen, um die Verbindung von Canvas aus herzustellen.
+ Für Databricks müssen Sie eine JDBC-URL angeben. Die URL-Formatierung kann zwischen den Databricks-Instances variieren. Informationen zum Auffinden der URL und zur Angabe der darin enthaltenen Parameter finden Sie in der Databricks-Dokumentation unter [JDBC-Konfiguration und Verbindungsparameter](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-configuration-and-connection-parameters). Im Folgenden finden Sie ein Beispiel dafür, wie eine URL formatiert werden kann: `jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token`
+ Für andere Datenbankquellen müssen Sie die Authentifizierung mit Benutzername und Passwort einrichten und diese Anmeldeinformationen dann angeben, wenn Sie von Canvas aus eine Verbindung zur Datenbank herstellen. 

Darüber hinaus muss Ihre Datenquelle entweder über das öffentliche Internet zugänglich sein, oder wenn Ihre Canvas-Anwendung im Modus **Nur VPC** ausgeführt wird, muss die Datenquelle in derselben VPC ausgeführt werden. Weitere Informationen zur Konfiguration einer Amazon RDS-Datenbank in einer VPC finden Sie unter [Amazon VPC VPCs und Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) im *Amazon RDS-Benutzerhandbuch*.

Nachdem Sie Ihre Datenquellenanmeldedaten konfiguriert haben, können Sie sich bei der Canvas-Anwendung anmelden und eine Verbindung zur Datenquelle herstellen. Geben Sie Ihre Anmeldeinformationen (oder bei Databricks die URL) an, wenn Sie die Verbindung herstellen.

## Connect zu Datenquellen her mit OAuth
<a name="canvas-connecting-oauth"></a>

Canvas unterstützt die Verwendung OAuth als Authentifizierungsmethode für die Verbindung zu Ihren Daten in Snowflake und Salesforce Data Cloud. [OAuth](https://oauth.net/2/)ist eine gängige Authentifizierungsplattform, um Zugriff auf Ressourcen zu gewähren, ohne Passwörter weiterzugeben.

**Anmerkung**  
Sie können für jede Datenquelle nur eine OAuth Verbindung herstellen.

Um die Verbindung zu autorisieren, müssen Sie die unter [Richten Sie Verbindungen zu Datenquellen ein mit OAuth](canvas-setting-up-oauth.md) beschriebene Ersteinrichtung befolgen.

Nachdem Sie die OAuth Anmeldeinformationen eingerichtet haben, können Sie wie folgt vorgehen, um eine Snowflake- oder Salesforce Data Cloud-Verbindung hinzuzufügen mit: OAuth

1. Melden Sie sich bei der Canvas Anwendung an.

1. Erstellen Sie einen tabellarischen Datensatz. Wenn Sie aufgefordert werden, Daten hochzuladen, wählen Sie Snowflake oder Salesforce Data Cloud als Datenquelle aus.

1. Erstellen Sie eine neue Verbindung zu Ihrer Snowflake- oder Salesforce Data Cloud-Datenquelle. Geben Sie OAuth als Authentifizierungsmethode an und geben Sie Ihre Verbindungsdetails ein.

Sie sollten jetzt in der Lage sein, Daten aus Ihren Datenbanken in Snowflake oder Salesforce Data Cloud zu importieren.

## Stellen Sie eine Connect zu einer SaaS-Plattform her
<a name="canvas-connecting-saas"></a>

Sie können Daten von Snowflake und über 40 anderen externen SaaS-Plattformen importieren. Die vollständige Liste der Steckverbinder finden Sie in der Tabelle unter [Datenimport](canvas-importing-data.md).

**Anmerkung**  
Sie können nur tabellarische Daten, wie Datentabellen, von SaaS-Plattformen importieren.

### Verwenden Sie Snowflake mit Canvas
<a name="canvas-using-snowflake"></a>

Snowflake ist ein Datenspeicher- und Analysedienst, und Sie können Ihre Daten von Snowflake in Canvas importieren. SageMaker Weitere Informationen zu Snowflake finden Sie in der [Snowflake-Dokumentation](https://www.snowflake.com/en/).

Sie können mithilfe der folgenden Verfahren Daten aus Ihrem Snowflake-Konto importieren:

1. Stellen Sie eine Verbindung zur Snowflake-Datenbank her.

1. Wählen Sie die Daten aus, die Sie importieren möchten, indem Sie die Tabelle per Drag-and-Drop aus dem linken Navigationsmenü in den Editor ziehen.

1. Importieren Sie die Daten.

Sie können den Snowflake-Editor verwenden, um Datensätze in den Importbereich zu ziehen und sie in Canvas zu importieren. SageMaker Für mehr Kontrolle über die im Datensatz zurückgegebenen Werte können Sie Folgendes verwenden:
+ SQL-Abfragen
+ Joins

Mit SQL-Abfragen können Sie anpassen, wie Sie die Werte in den Datensatz importieren. Sie können beispielsweise die im Datensatz zurückgegebenen Spalten oder den Wertebereich für eine Spalte angeben.

Sie können mehrere Snowflake-Datensätze zu einem einzigen Datensatz zusammenfügen, bevor Sie sie mithilfe von SQL oder der Canvas-Schnittstelle in Canvas importieren. Sie können Ihre Datensätze aus Snowflake in das Fenster ziehen, in dem Sie die Datensätze verbinden können, oder Sie können die Verknüpfungen in SQL bearbeiten und das SQL in einen einzelnen Knoten konvertieren. Sie können andere Knoten mit dem Knoten verbinden, den Sie konvertiert haben. Anschließend können Sie die Datensätze, die Sie verknüpft haben, zu einem einzigen Knoten kombinieren und die Knoten mit einem anderen Snowflake-Datensatz verbinden. Schließlich können Sie die ausgewählten Daten in Canvas importieren.

Gehen Sie wie folgt vor, um Daten von Snowflake nach Amazon SageMaker Canvas zu importieren.

1. Gehen Sie in der SageMaker Canvas-Anwendung zur Seite **Datasets**.

1. Wählen Sie **Daten importieren** und dann im Dropdown-Menü **Tabellarisch** aus.

1. Geben Sie einen Namen für den Datensatz ein und wählen Sie dann **Erstellen**.

1. Öffnen Sie für **Datenquelle** das Dropdown-Menü und wählen Sie **Snowflake**.

1. Wählen Sie **Add connection** (Verbindung hinzufügen).

1. Geben Sie im Dialogfeld **Neue Snowflake-Verbindung hinzufügen** Ihre Snowflake-Anmeldeinformationen an. Wählen Sie für **Authentifizierungsmethode** eine der folgenden Optionen aus:
   + **Basic – Benutzername, Kennwort** – Bitte geben Sie Ihre Snowflake-Konto-ID, Ihren Benutzernamen und Ihr Kennwort an.
   + **ARN** — Um den Schutz Ihrer Snowflake-Anmeldeinformationen zu verbessern, geben Sie den ARN eines AWS Secrets Manager Geheimnisses an, das Ihre Anmeldeinformationen enthält. Weitere Informationen finden Sie im *AWS Secrets Manager Benutzerhandbuch* unter [Create an AWS Secrets Manager Secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).

     In Ihrem Secret sollten Ihre Snowflake-Anmeldeinformationen im folgenden JSON-Format gespeichert sein:

     ```
     {"accountid": "ID",
     "username": "username",
     "password": "password"}
     ```
   + **OAuth**— OAuth ermöglicht die Authentifizierung ohne Angabe eines Kennworts, erfordert jedoch zusätzliche Einstellungen. Weitere Informationen zum Einrichten von OAuth Anmeldeinformationen für Snowflake finden Sie unter. [Richten Sie Verbindungen zu Datenquellen ein mit OAuth](canvas-setting-up-oauth.md)

1. Wählen Sie **Add connection** (Verbindung hinzufügen).

1. Ziehen Sie die CSV-Datei, die Sie importieren, von der Registerkarte mit dem Namen Ihrer Verbindung in den Bereich **Drag-and-Drop-Tabelle** zum Importieren.

1. Optional: Ziehen Sie weitere Tabellen in den Importbereich. Sie können die Benutzeroberfläche verwenden, um die Tabellen zu verbinden. Wenn Sie Ihre Verknüpfungen genauer gestalten möchten, wählen Sie **In SQL bearbeiten** aus.

1. Optional: Wenn Sie SQL verwenden, um die Daten abzufragen, können Sie **Kontext** wählen, um der Verbindung Kontext hinzuzufügen, indem Sie Werte für Folgendes angeben:
   + **Lager**
   + **Datenbank**
   + **Schema**

   Das Hinzufügen von Kontext zu einer Verbindung erleichtert die Spezifizierung zukünftlicher Abfragen.

1. Wählen Sie **Daten importieren**.

Die folgende Abbildung zeigt ein Beispiel für Felder, die für eine Snowflake-Verbindung angegeben wurden.

![\[Screenshot des Dialogfelds Neue Snowflake-Verbindung hinzufügen in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-connection.png)


Die folgende Abbildung zeigt die Seite, die verwendet wird, um einer Verbindung Kontext hinzuzufügen.

![\[Screenshot der Seite Import in Canvas, der das Kontext-Dialogfeld zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-connection-context.png)


Die folgende Abbildung zeigt die Seite, die zum Verbinden von Datensätzen in Snowflake verwendet wird.

![\[Screenshot der Seite Import in Canvas, der das Verbinden von Datensätzen zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-join.png)


Die folgende Abbildung zeigt eine SQL-Abfrage, die zum Bearbeiten einer Verknüpfung in Snowflake verwendet wird.

![\[Screenshot einer SQL-Abfrage im Editor SQL bearbeiten auf der Seite Import in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-edit-sql.png)


### Verwenden Sie SaaS-Konnektoren mit Canvas
<a name="canvas-connecting-external-appflow"></a>

**Anmerkung**  
Für SaaS-Plattformen außer Snowflake können Sie nur eine Verbindung pro Datenquelle haben.

Bevor Sie Daten von einer SaaS-Plattform importieren können, muss sich Ihr Administrator authentifizieren und eine Verbindung zur Datenquelle herstellen. Weitere Informationen darüber, wie Administratoren eine Verbindung mit einer SaaS-Plattform herstellen können, finden Sie unter [ AppFlow Amazon-Verbindungen verwalten](https://docs.aws.amazon.com/appflow/latest/userguide/connections.html) im * AppFlow Amazon-Benutzerhandbuch*.

Wenn Sie ein Administrator sind, der AppFlow zum ersten Mal mit Amazon anfängt, finden Sie weitere Informationen unter [Erste Schritte](https://docs.aws.amazon.com/appflow/latest/userguide/getting-started.html) im * AppFlow Amazon-Benutzerhandbuch*.

Um Daten von einer SaaS-Plattform zu importieren, können Sie dem [Importieren von Tabellendaten](canvas-import-dataset.md#canvas-import-dataset-tabular) Standardverfahren folgen, das Ihnen zeigt, wie Sie tabellarische Datensätze in Canvas importieren.

# Beispieldatensatz in Canvas
<a name="canvas-sample-datasets"></a>

SageMaker Canvas bietet Beispieldatensätze für spezielle Anwendungsfälle, sodass Sie schnell mit dem Erstellen, Trainieren und Validieren von Modellen beginnen können, ohne Code schreiben zu müssen. Die mit diesen Datensätzen verbundenen Anwendungsfälle verdeutlichen die Funktionen von SageMaker Canvas, und Sie können diese Datensätze nutzen, um mit der Erstellung von Modellen zu beginnen. Sie finden die Beispieldatensätze auf der Seite **Datensätze Ihrer Canvas-Anwendung**. SageMaker 

Die folgenden Datensätze sind die Beispiele, die SageMaker Canvas standardmäßig bereitstellt. Diese Datensätze decken Anwendungsfälle wie die Vorhersage von Immobilienpreisen, Kreditausfällen und Rückübernahmen von Diabetikern, Umsatzprognosen, Prognosen von Maschinenausfällen zur Optimierung der vorausschauenden Wartung in Produktionseinheiten und Generierung von Lieferkettenprognosen für Transport und Logistik ab. Die Datensätze werden in dem `sample_dataset` Ordner im standardmäßigen Amazon S3 S3-Bucket gespeichert, den SageMaker AI für Ihr Konto in einer Region erstellt.
+ **canvas-sample-diabetic-readmission.csv:** Dieser Datensatz enthält historische Daten, darunter mehr als fünfzehn Merkmale mit Patienten- und Krankenhausergebnissen. Sie können diesen Datensatz verwenden, um vorherzusagen, ob Diabetiker mit hohem Risiko wahrscheinlich innerhalb von 30 Tagen nach der Entlassung, nach 30 Tagen oder gar nicht wieder ins Krankenhaus eingeliefert werden. Verwenden Sie für diesen Datensatz die Spalte mit der **roten Zulassung** als Zielspalte und verwenden Sie für diesen Datensatz das Prognosemodell der Kategorie 3\$1. Weitere Informationen zum Erstellen eines Modells mit diesem Datensatz finden Sie auf der [SageMaker Canvas-Workshop-Seite](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/5-hcls). Dieser Datensatz wurde aus dem [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/diabetes+130-us+hospitals+for+years+1999-2008) abgerufen. 
+ **canvas-sample-housing.csv:** Dieser Datensatz enthält Daten zu den Merkmalen, die an einen bestimmten Immobilienpreis gebunden sind. Sie können diesen Datensatz verwenden, um die Immobilienpreise vorherzusagen. Verwenden Sie die Spalte **median\$1house\$1value** als Zielspalte und verwenden Sie den Modelltyp „Numerische Prognose“ für diesen Datensatz. Weitere Informationen zum Erstellen eines Modells mit diesem Datensatz finden Sie auf der [SageMaker Canvas-Workshop-Seite.](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/2-real-estate) Dies ist der Datensatz zum Thema Wohnen in Kalifornien, der aus dem [StatLib Repository](https://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.html) abgerufen wurde.
+ **canvas-sample-loans.csv:** Dieser Datensatz enthält vollständige Kreditdaten für alle von 2007 bis 2011 ausgegebenen Kredite, einschließlich des aktuellen Kreditstatus und der letzten Zahlungsinformationen. Sie können diesen Datensatz verwenden, um vorherzusagen, ob ein Kunde einen Kredit zurückzahlen wird. Verwenden Sie die Spalte **loan\$1status** als Zielspalte und verwenden Sie für diesen Datensatz den Prognosemodelltyp für Kategorien 3\$1. Weitere Informationen zum Erstellen eines Modells mit diesem Datensatz finden Sie auf der [SageMaker Canvas-Workshop-Seite](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/4-finserv). Diese Daten verwenden die von [Kaggle](https://www.kaggle.com/datasets/wordsforthewise/lending-club) erhaltenen LendingClub Daten.
+ **canvas-sample-maintenance.csv:** Dieser Datensatz enthält Daten zu den Merkmalen eines bestimmten Wartungsausfalls. Sie können diesen Datensatz verwenden, um vorherzusagen, welcher Fehler in future auftreten wird. Verwenden Sie die Spalte **Fehlertyp** als Zielspalte und verwenden Sie für diesen Datensatz den Prognosemodelltyp der Kategorie 3\$1. Weitere Informationen zum Erstellen eines Modells mit diesem Datensatz finden Sie auf der [SageMaker Canvas-Workshop-Seite](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/6-manufacturing). Dieser Datensatz wurde aus dem [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/AI4I+2020+Predictive+Maintenance+Dataset) abgerufen.
+ **canvas-sample-shipping-logs.csv:** Dieser Datensatz enthält vollständige Versanddaten für alle gelieferten Produkte, einschließlich voraussichtlicher Versandpriorität, Transporteur und Herkunft. Sie können diesen Datensatz verwenden, um die geschätzte Ankunftszeit der Sendung in Tagen vorherzusagen. Verwenden Sie die **ActualShippingDays**Spalte als Zielspalte und verwenden Sie den numerischen Prognosemodelltyp für diesen Datensatz. Weitere Informationen zum Erstellen eines Modells mit diesen Daten finden Sie auf der [SageMaker Canvas-Workshop-Seite](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/7-supply-chain). Dies ist ein synthetischer Datensatz, der von Amazon erstellt wurde.
+ **canvas-sample-sales-forecasting.csv:** Dieser Datensatz enthält historische Zeitreihen-Verkaufsdaten für Einzelhandelsgeschäfte. Sie können diesen Datensatz verwenden, um Verkäufe für ein bestimmtes Einzelhandelsgeschäft zu prognostizieren. Verwenden Sie die Spalte **sales** als Zielspalte und verwenden Sie den Modelltyp „Zeitreihenprognose“ für diesen Datensatz. Weitere Informationen zum Erstellen eines Modells mit diesem Datensatz finden Sie auf der [SageMaker Canvas-Workshop-Seite](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/3-retail). Dies ist ein synthetischer Datensatz, der von Amazon erstellt wurde.

# Importieren Sie einen gelöschten Beispieldatensatz erneut
<a name="canvas-sample-datasets-reimport"></a>

Amazon SageMaker Canvas stellt Ihnen Beispieldatensätze für verschiedene Anwendungsfälle zur Verfügung, die die Funktionen von Canvas hervorheben. Weitere Informationen zu den verfügbaren Beispieldatensätzen finden Sie unter [Beispieldatensatz in Canvas](canvas-sample-datasets.md). Wenn Sie die Beispieldatensätze nicht mehr verwenden möchten, können Sie sie von der **Datensatzseite** Ihrer SageMaker Canvas-Anwendung löschen. Diese Datensätze werden jedoch weiterhin in dem Amazon-S3-Bucket gespeichert, den Sie als [Canvas-Speicherort](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-storage-configuration.html) angegeben haben, sodass Sie später jederzeit darauf zugreifen können. 

Wenn Sie den standardmäßigen Amazon-S3-Bucket verwendet haben, folgt der Bucket-Name dem Muster `sagemaker-{region}-{account ID}`. Sie finden die Beispieldatensätze im Verzeichnispfad `Canvas/sample_dataset`.

Wenn Sie einen Beispieldatensatz aus Ihrer SageMaker Canvas-Anwendung löschen und erneut auf den Beispieldatensatz zugreifen möchten, gehen Sie wie folgt vor.

1. Navigieren Sie in Ihrer SageMaker Canvas-Anwendung zur Seite „**Datensätze**“.

1. Wählen Sie **Daten importieren**.

1. Wählen Sie aus der Liste der Amazon-S3-Buckets den Bucket aus, der Ihr Canvas-Speicherort ist. Wenn Sie den standardmäßigen, von SageMaker KI erstellten Amazon S3 S3-Bucket verwenden, folgt er dem Benennungsmuster`sagemaker-{region}-{account ID}`.

1. Wählen Sie den Ordner **Canvas** aus.

1. Wählen Sie den Ordner **sample\$1dataset** aus, der alle Beispieldatensätze für Canvas enthält. SageMaker 

1. Wählen Sie den Datensatz aus, den Sie importieren möchten, und wählen Sie dann **Daten importieren**.

# Datenaufbereitung
<a name="canvas-data-prep"></a>

**Anmerkung**  
Zuvor war Amazon SageMaker Data Wrangler Teil des SageMaker Studio Classic-Erlebnisses. Wenn Sie jetzt auf das neue Studio-Erlebnis umsteigen, müssen Sie SageMaker Canvas verwenden, um auf Data Wrangler zuzugreifen und die neuesten Funktionsupdates zu erhalten. Wenn Sie bisher Data Wrangler in Studio Classic verwendet haben und zu Data Wrangler in Canvas migrieren möchten, müssen Sie möglicherweise zusätzliche Berechtigungen erteilen, damit Sie eine Canvas-Anwendung erstellen und verwenden können. Weitere Informationen finden Sie unter [(Optional) Migrieren Sie von Data Wrangler in Studio Classic zu Canvas SageMaker](studio-updated-migrate-ui.md#studio-updated-migrate-dw).  
Informationen zur Migration Ihrer Datenflüsse von Data Wrangler in Studio Classic finden Sie unter [(Optional) Migrieren von Daten von Studio Classic zu Studio](studio-updated-migrate-data.md).

Verwenden Sie Amazon SageMaker Data Wrangler in Amazon SageMaker Canvas, um Ihre Daten vorzubereiten, zu strukturieren und zu analysieren. Sie können einen Data Wrangler-Datenvorbereitungsablauf in Ihre Workflows für Machine Learning (ML) integrieren, um die Datenvorverarbeitung und das Feature-Engineering mit wenig bis gar keiner Codierung zu vereinfachen und zu optimieren. Sie können auch Ihre eigenen Python-Skripts und -Transformationen hinzufügen, um Workflows anzupassen.
+ **Daten-Flow** – Erstellen Sie einen Daten-Flow, um eine Reihe von Schritten zur ML-Datenvorbereitung zu definieren. Sie können einen Flow verwenden, um Datensätze aus verschiedenen Datenquellen zu kombinieren, die Anzahl und die Typen von Transformationen zu ermitteln, die Sie auf Datensätze anwenden möchten, und einen Datenvorbereitungsworkflow zu definieren, der in eine ML-Pipeline integriert werden kann. 
+ **Transformieren** – Bereinigen und transformieren Sie Ihren Datensatz mithilfe von Standard*transformationen* wie String-, Vektor- und numerischen Datenformatierungstools. Präsentieren Sie Ihre Daten mithilfe von Transformationen wie Text und Einbettung sowie kategorischer Kodierung. date/time 
+ **Dateneinblicke generieren** – Überprüfen Sie automatisch die Datenqualität und erkennen Sie Anomalien in Ihren Daten mit dem Datenqualitäts- und Insights-Bericht von Data Wrangler. 
+ **Analysieren** – Analysieren Sie Features in Ihrem Datensatz an jedem beliebigen Punkt Ihres Daten-Flows. Data Wrangler umfasst integrierte Tools zur Datenvisualisierung wie Streudiagramme und Histogramme sowie Datenanalysetools wie Target Leakage Analysis und Schnellmodellierung, um die Merkmalskorrelation zu verstehen. 
+ **Export** – Exportieren Sie Ihren Datenvorbereitungs-Workflow an einen anderen Ort. Im Folgenden finden Sie Beispiele für Standorte: 
  + Amazon Simple Storage Service (Amazon S3)-Bucket
  + Amazon SageMaker Feature Store — Speichern Sie die Funktionen und ihre Daten in einem zentralen Speicher.
+ **Datenvorbereitung automatisieren** – Erstellen Sie anhand Ihres Datenflusses Workflows für Machine Learning.
  + Amazon SageMaker Pipelines — Erstellen Sie Workflows, die Ihre SageMaker KI-Datenvorbereitung, das Modelltraining und die Modellbereitstellung verwalten.
  + Serielle Inferenz-Pipeline – Erstellen Sie eine serielle Inferenz-Pipeline aus Ihrem Datenfluss. Verwenden Sie sie, um Vorhersagen für neue Daten zu treffen.
  + Python-Skript – Speichern Sie die Daten und ihre Transformationen in einem Python-Skript für Ihre benutzerdefinierten Workflows.

# Erstellen eines Datenablaufs
<a name="canvas-data-flow"></a>

Verwenden Sie einen Data Wrangler-Fluss in SageMaker Canvas oder einen *Datenfluss, um eine Datenvorbereitungspipeline* zu erstellen und zu ändern. Wir empfehlen, Data Wrangler für Datensätze zu verwenden, die größer als 5 GB sind.

Führen Sie zunächst die folgenden Schritte aus, um Ihre Daten in einen Datenfluss zu importieren.

1. Öffnen Sie Canvas SageMaker .

1. Wählen Sie im linken Navigationsbereich die Option **Data Wrangler** aus.

1. Wählen Sie **Importieren und vorbereiten** aus.

1. Wählen Sie im Dropdown-Menü entweder **Tabellarisch** oder **Bild** aus.

1. Wählen Sie unter **Datenquelle auswählen** Ihre Datenquelle aus und wählen Sie die Daten, die Sie importieren möchten. Sie haben die Möglichkeit, bis zu 30 Dateien oder einen Ordner auszuwählen. Wenn Sie bereits einen Datensatz in Canvas importiert haben, wählen Sie **Canvas-Datensatz** als Quelle aus. Stellen Sie andernfalls eine Verbindung zu einer Datenquelle wie Amazon S3 oder Snowflake her und durchsuchen Sie Ihre Daten. Informationen zum Herstellen einer Verbindung mit einer Datenquelle oder zum Importieren von Daten finden Sie auf den folgenden Seiten:
   + [Datenimport](canvas-importing-data.md)
   + [Verbinden zu Datenquellen](canvas-connecting-external.md)

1. Nachdem Sie die Daten ausgewählt haben, die Sie importieren möchten, wählen Sie **Weiter** aus.

1. (Optional) Öffnen Sie beim Importieren eines tabellarischen Datensatzes im Abschnitt **Importeinstellungen** das Dropdown-Menü **Erweitert**. Sie können die folgenden erweiterten Einstellungen für Datenflussimporte festlegen:
   + **Stichprobenmethode** – Wählen Sie die Stichprobenmethode und den Stichprobenumfang aus, die Sie verwenden möchten. Weitere Informationen zum Ändern Ihrer Stichprobe finden Sie im Abschnitt [Bearbeiten der Konfiguration der Datenflussstichprobe](canvas-data-flow-edit-sampling.md).
   + **Dateikodierung (CSV)** – Wählen Sie die Kodierung Ihrer Datensatzdatei aus. `UTF-8` ist die Standardeinstellung.
   + **Erste Zeilen überspringen** – Geben Sie die Anzahl der Zeilen ein, die Sie überspringen möchten, wenn Sie am Anfang Ihres Datensatzes redundante Zeilen haben.
   + **Trennzeichen** – Wählen Sie das Trennzeichen aus, das die einzelnen Zellen in Ihren Daten voneinander trennt. Sie können auch ein benutzerdefiniertes Trennzeichen angeben.
   + **Mehrzeilige Erkennung**, Wählen Sie diese Option aus, wenn Sie möchten, dass Canvas Ihren gesamten Datensatz manuell nach mehrzeiligen Zellen durchsucht. Canvas ermittelt anhand einer Stichprobe Ihrer Daten, ob die Mehrzeilenunterstützung verwendet werden soll. Es ist jedoch möglich, dass Canvas in der Stichprobe keine mehrzeiligen Zellen erkennt. In diesem Fall empfehlen wir Ihnen, die Option **Mehrzeilige Erkennung** auszuwählen, um Canvas zu zwingen, Ihren gesamten Datensatz auf mehrzeilige Zellen zu überprüfen.

1. Wählen Sie **Importieren** aus.

Sie sollten nun über einen neuen Datenfluss verfügen und können mit dem Hinzufügen von Transformationsschritten und Analysen beginnen.

# So funktioniert die Datenfluss-Benutzeroberfläche
<a name="canvas-data-flow-ui"></a>

Um Ihnen die Navigation in Ihrem Datenfluss zu erleichtern, verfügt Data Wrangler über die folgenden Registerkarten im oberen Navigationsbereich:
+ **Datenfluss** – Diese Registerkarte bietet Ihnen eine visuelle Ansicht Ihres Datenflussschritts, in der Sie Transformationen hinzufügen oder entfernen und Daten exportieren können.
+ **Daten** – Auf dieser Registerkarte erhalten Sie eine Vorschau Ihrer Daten, sodass Sie die Ergebnisse Ihrer Transformationen überprüfen können. Sie können sich auch eine geordnete Liste Ihrer Datenflussschritte anzeigen lassen und die Schritte bearbeiten oder neu anordnen.
**Anmerkung**  
Auf dieser Registerkarte können Sie nur Datenvisualisierungen (wie die Verteilung der Werte pro Spalte) für Amazon-S3-Datenquellen in der Vorschau anzeigen. Visualisierungen für andere Datenquellen, wie Amazon Athena, werden nicht unterstützt.
+ **Analysen** – Auf dieser Registerkarte sehen Sie separate Unterregisterkarten für jede Analyse, die Sie erstellen. Wenn Sie beispielsweise ein Histogramm und einen DQI-Bericht (Data Quality and Insights) erstellen, erstellt Canvas jeweils eine Registerkarte.

**Wenn Sie einen Datensatz importieren, wird der ursprüngliche Datensatz im Datenfluss angezeigt und trägt den Namen Source.** SageMaker **Canvas leitet automatisch die Typen der einzelnen Spalten in Ihrem Datensatz ab und erstellt einen neuen Datenrahmen mit dem Namen Datentypen.** Sie können diesen Frame auswählen, um die abgeleiteten Datentypen zu aktualisieren.

Die Datensätze, Transformationen und Analysen, die Sie im Datenfluss verwenden, werden als *Schritte* dargestellt. Mit jedem Hinzufügen eines Transformationschritts erstellen Sie einen neuen Datenrahmen. Wenn mehrere Transformationsschritte (außer **Join** oder **Concatenate**) zu demselben Datensatz hinzugefügt werden, werden sie gestapelt.

Unter der Option **Daten kombinieren** erstellen **Verknüpfen** und **Verketten** eigenständige Schritte, die den neuen verbundenen oder verknüpften Datensatz enthalten.

# Bearbeiten der Konfiguration der Datenflussstichprobe
<a name="canvas-data-flow-edit-sampling"></a>

Beim Importieren von Tabellendaten in einen Data Wrangler-Datenfluss können Sie sich dafür entscheiden, eine Stichprobe Ihres Datensatzes zu nehmen, um die Datenexploration und -bereinigung zu beschleunigen. Die Ausführung von explorativen Transformationen an einer Stichprobe Ihres Datensatzes ist häufig schneller als die Ausführung von Transformationen am gesamten Datensatz. Wenn Sie bereit sind, Ihren Datensatz zu exportieren und ein Modell zu erstellen, können Sie die Transformationen auf den vollständigen Datensatz anwenden.

Canvas unterstützt die folgenden Sampling-Methoden:
+ **FirstK** – Canvas wählt die ersten *K* Elemente aus Ihrem Datensatz aus, wobei *K* eine von Ihnen angegebene Zahl ist. Diese Sampling-Methode ist einfach, kann jedoch zu Verzerrungen führen, wenn Ihr Datensatz nicht zufällig angeordnet ist.
+ **Zufällig** – Canvas wählt Elemente aus dem Datensatz nach dem Zufallsprinzip aus, wobei für jedes Element die gleiche Wahrscheinlichkeit besteht, ausgewählt zu werden. Diese Sampling-Methode trägt dazu bei, dass die Stichprobe für den gesamten Datensatz repräsentativ ist.
+ **Stratifiziert** – Canvas unterteilt den Datensatz anhand eines oder mehrerer Attribute (z. B. Alter und Einkommensniveau) in Gruppen (oder *Schichten*). Anschließend wird eine proportionale Anzahl von Elementen nach dem Zufallsprinzip aus jeder Gruppe ausgewählt. Diese Methode stellt sicher, dass alle relevanten Untergruppen in der Stichprobe angemessen vertreten sind.

Sie können Ihre Sampling-Konfiguration jederzeit bearbeiten, um die Größe der für die Datenexploration verwendeten Stichprobe zu ändern.

Um Änderungen an Ihrer Sampling-Konfiguration vorzunehmen, gehen Sie wie folgt vor:

1. Wählen Sie in Ihrem Datenflussdiagramm Ihren Datenquellenknoten aus.

1. Wählen Sie in der unteren Navigationsleiste **Sampling** aus.

1. Das Dialogfeld **Sampling** wird geöffnet. Wählen Sie in der Dropdown-Liste **Sampling-Methode** die gewünschte Sampling-Methode aus.

1. Geben Sie unter **Maximaler Stichprobenumfang** die Anzahl der Zeilen ein, für die Sie eine Stichprobe erstellen möchten.

1. Wählen Sie **Aktualisieren** aus, um Ihre Änderungen zu speichern.

Die Änderungen an Ihrer Sampling-Konfiguration sollten jetzt übernommen werden.

# Hinzufügen eines Schritts zu Ihrem Datenfluss
<a name="canvas-data-flow-add-step"></a>

In Ihren Data-Wrangler-Datenflüssen können Sie Schritte hinzufügen, die Datenumwandlungen und -analysen darstellen.

Wählen Sie **\$1** neben einem Datensatzknoten oder einem zuvor hinzugefügten Schritt aus, um zu Ihrem Datenablauf einen Schritt hinzuzufügen. Wählen Sie dann eine der folgenden Optionen aus:
+ **Datentypen bearbeiten** (nur für einen **Datentypen**-Schritt): Wenn Sie keine Transformationen zu einem **Datentypen**-Schritt hinzugefügt haben, können Sie in Ihrem Schema auf den **Datentypen**-Schritt doppelklicken, um die Registerkarte **Daten** zu öffnen und die Datentypen zu bearbeiten, die Data Wrangler beim Import Ihres Datensatzes abgeleitet hat. 
+ **Transformation hinzufügen**: Fügt einen neuen Transformationsschritt hinzu. Weitere Informationen zu den Datentransformationen, die Sie hinzufügen können, finden Sie unter [Transformieren von Daten](canvas-transform.md). 
+ **Daten-Insights erhalten**: Fügen Sie Analysen wie Histogramme oder benutzerdefinierte Visualisierungen hinzu. Sie können diese Option verwenden, um Ihre Daten an einem beliebigen Punkt im Datenfluss zu analysieren. Weitere Informationen zu den Analysen, die Sie hinzufügen können, finden Sie unter [Durchführen einer explorativen Datenanalyse (EDA)](canvas-analyses.md). 
+ **Verknüpfen**: Suchen Sie diese Option unter **Daten kombinieren**, um zwei Datensätze zu verknüpfen und den resultierenden Datensatz dem Datenfluss hinzuzufügen. Weitere Informationen hierzu finden Sie unter [Datensätze verknüpfen](canvas-transform.md#canvas-transform-join).
+ **Verketten**: Suchen Sie diese Option unter **Daten kombinieren**, um zwei Datensätze zu verketten und den resultierenden Datensatz dem Datenfluss hinzuzufügen. Weitere Informationen hierzu finden Sie unter [Datensätze verketten](canvas-transform.md#canvas-transform-concatenate).

# Bearbeiten von Datenflussschritten
<a name="canvas-data-flow-edit-steps"></a>

In Amazon SageMaker Canvas können Sie einzelne Schritte in Ihren Datenflüssen bearbeiten, um Ihren Datensatz zu transformieren, ohne einen neuen Datenfluss erstellen zu müssen. Auf der folgenden Seite wird beschrieben, wie Sie die Schritte zum Verknüpfen und Verketten sowie die Schritte zur Datenquelle bearbeiten.

## Bearbeiten der Schritte zum Verknüpfen und Verketten
<a name="canvas-data-flow-edit-join-concat"></a>

Innerhalb Ihrer Datenflüsse haben Sie die Flexibilität, Ihre Schritte zum Verknüpfen und Verketten zu bearbeiten. Sie können die erforderlichen Anpassungen an Ihrem Datenverarbeitungs-Workflow vornehmen und sicherstellen, dass Ihre Daten ordnungsgemäß kombiniert und transformiert werden, ohne den gesamten Datenfluss neu erstellen zu müssen.

Um einen Verknüpfungs- oder Verkettungsschritt in Ihrem Datenfluss zu bearbeiten, gehen Sie wie folgt vor:

1. Öffnen Sie Ihren Datenfluss.

1. Wählen Sie das Plussymbol (**\$1**) neben dem Verknüpfungs- oder Verkettungsknoten aus, den Sie bearbeiten möchten.

1. Klicken Sie im Kontextmenü auf **Edit** (Bearbeiten).

1. Ein Seitenbereich wird geöffnet, in dem Sie die Details Ihrer Verknüpfung oder Verkettung bearbeiten können. Ändern Sie Ihre Schrittfelder, z. B. die Art der Verknüpfung. Um einen Datenknoten auszutauschen und einen anderen zum Verbinden oder Verketten auszuwählen, klicken Sie auf das Löschsymbol neben dem Knoten und wählen Sie dann in der Datenflussansicht den neuen Knoten aus, den Sie in Ihre Transformation einbeziehen möchten.
**Anmerkung**  
Wenn Sie während des Bearbeitungsvorgangs einen Knoten austauschen, können Sie nur Schritte auswählen, die vor dem Verknüpfen oder Verketten ausgeführt wurden. Sie können entweder den linken oder den rechten Knoten austauschen, jedoch immer nur einen Knoten gleichzeitig. Außerdem können Sie keinen Quellknoten als Ersatz auswählen.

1. Wählen Sie **Vorschau** aus, um das Ergebnis des Kombinationsvorgangs anzuzeigen.

1. Wählen Sie **Aktualisieren** aus, um Ihre Änderungen zu speichern.

Ihr Datenfluss sollte nun aktualisiert sein.

## Bearbeiten oder Ersetzen eines Datenquellenschritts
<a name="canvas-data-flow-edit-source"></a>

Möglicherweise müssen Sie Änderungen an Ihrer Datenquelle oder Ihrem Datensatz vornehmen, ohne die auf Ihre Originaldaten angewendeten Transformationen und Datenflussschritte zu löschen. In Data Wrangler können Sie Ihre Datenquellenkonfiguration bearbeiten oder ersetzen, während die Schritte Ihres Datenflusses beibehalten werden. Beim Bearbeiten einer Datenquelle können Sie die Importeinstellungen ändern, beispielsweise die Sampling-Größe oder -Methode sowie alle erweiterten Einstellungen. Sie können auch weitere Dateien mit demselben Schema hinzufügen oder bei abfragebasierten Datenquellen wie Amazon Athena die Abfrage bearbeiten. Beim Ersetzen einer Datenquelle haben Sie die Möglichkeit, einen anderen Datensatz auszuwählen oder sogar Daten aus einer völlig anderen Datenquelle zu importieren, sofern das Schema der neuen Daten mit den Originaldaten übereinstimmt.

Um eine Datenquellenkonfiguration zu bearbeiten, gehen Sie wie folgt vor:

1. Rufen Sie in der Canvas-Anwendung die Seite **Data Wrangler** auf.

1. Wählen Sie Ihren Datenfluss aus, um ihn anzuzeigen.

1. Suchen Sie auf der Registerkarte **Datenfluss**, auf der Ihre Datenflussschritte angezeigt werden, den **Quellknoten**, den Sie bearbeiten möchten.

1. Wählen Sie das Ellipsensymbol neben dem **Quellknoten** aus.

1. Klicken Sie im Kontextmenü auf **Edit** (Bearbeiten).

1. Für Amazon-S3-Datenquellen und lokale Uploads haben Sie die Möglichkeit, weitere Dateien mit dem gleichen Schema wie Ihre Originaldaten auszuwählen oder hochzuladen. Bei abfragebasierten Datenquellen wie Amazon Athena können Sie im visuellen Abfrage-Builder verschiedene Tabellen entfernen und auswählen oder die SQL-Abfrage direkt bearbeiten. Wählen Sie abschließend **Weiter**.

1. Nehmen Sie für die **Importeinstellungen** die gewünschten Änderungen vor.

1. Wenn Sie fertig sind, wählen Sie **Änderungen speichern** aus.

Ihre Datenquelle sollte nun aktualisiert sein.

Um eine Datenquelle zu ersetzen, führen Sie die folgenden Schritte aus:

1. Rufen Sie in der Canvas-Anwendung die Seite **Data Wrangler** auf.

1. Wählen Sie Ihren Datenfluss aus, um ihn anzuzeigen.

1. Suchen Sie auf der Registerkarte **Datenfluss**, auf der Ihre Datenflussschritte angezeigt werden, den **Quellknoten**, den Sie bearbeiten möchten.

1. Wählen Sie das Ellipsensymbol neben dem **Quellknoten** aus.

1. Wählen Sie im Kontextmenü die Option **Ersetzen** aus.

1. Führen Sie die Schritte zum [Erstellen eines Datenflusses](canvas-data-flow.md) durch, um eine andere Datenquelle und andere Daten auszuwählen.

1. Wenn Sie Ihre Daten ausgewählt haben und bereit sind, den Quellknoten zu aktualisieren, wählen Sie **Speichern** aus.

Der **Quellknoten** sollte nun in Ihrem Datenfluss aktualisiert worden sein.

# Neuanordnen der Schritte in Ihrem Datenfluss
<a name="canvas-data-flow-reorder-steps"></a>

Nachdem Sie Schritte zu Ihrem Datenfluss hinzugefügt haben, haben Sie die Möglichkeit, die Schritte neu anzuordnen, anstatt sie zu löschen und in der richtigen Reihenfolge erneut hinzuzufügen. Beispielsweise könnten Sie beschließen, eine Transformation zu verschieben, um fehlende Werte vor einem Schritt zur Formatierung von Zeichenfolgen zu imputieren.

**Anmerkung**  
Die Reihenfolge bestimmter Schritttypen, wie beispielsweise das Definieren Ihrer Datenquelle, das Ändern von Datentypen, das Verknüpfen, das Zusammenfügen oder das Aufteilen, kann nicht geändert werden. Schritte, die nicht neu angeordnet werden können, werden in der Benutzeroberfläche der Canvas-Anwendung ausgegraut dargestellt.

Um die Reihenfolge Ihrer Datenflussschritte zu ändern, gehen Sie bitte wie folgt vor:

1. Wählen Sie bei der Bearbeitung eines Datenflusses in Data Wrangler die Registerkarte **Daten** aus. In einem Seitenbereich namens **Schritte** werden Ihre Datenflussschritte der Reihe nach aufgelistet.

1. Zeigen Sie mit der Maus auf einen Transformationsschritt und wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben diesem Schritt aus.

1. Wählen Sie im Kontextmenü die Option **Neu anordnen** aus.

1. Ziehen Sie Ihre Datenflussschritte per Drag & Drop in die gewünschte Reihenfolge.

1. Klicken Sie auf **Speichern**, sobald Sie fertig sind.

Ihre Datenflussschritte und Ihr Diagramm sollten nun die von Ihnen vorgenommenen Änderungen widerspiegeln.

# Löschen eines Schritts aus Ihrem Datenfluss
<a name="canvas-data-flow-delete-step"></a>

Innerhalb Ihrer Datenflüsse haben Sie die Möglichkeit, Ihre Verknüpfungs- und Verkettungsschritte zu löschen und zu entscheiden, ob Sie nachfolgende Transformationen weiterhin auf Ihre Daten anwenden möchten.

Um einen Verknüpfungs- oder Verkettungsschritt aus Ihrem Datenfluss zu löschen, gehen Sie wie folgt vor:

1. Öffnen Sie Ihren Datenfluss.

1. Wählen Sie das Plussymbol (**\$1**) neben dem Verknüpfungs- oder Verkettungsknoten aus, den Sie löschen möchten.

1. Wählen Sie im Kontextmenü die Option **Delete (Löschen)** aus.

1. (Optional) Wenn Sie nach dem Schritt „Verknüpfen“ oder „Verketten“ weitere Transformationsschritte haben, können Sie entscheiden, ob Sie die nachfolgenden Transformationsschritte beibehalten und separat zu jedem Datenknoten hinzufügen möchten. Wählen Sie im Seitenbereich **Verknüpfung löschen** einen Knoten aus, um die Auswahl aufzuheben und alle nachfolgenden Transformationsschritte zu entfernen. Sie können beide Knoten ausgewählt lassen, um alle Transformationsschritte beizubehalten, oder Sie können die Auswahl beider Knoten aufheben, um alle Transformationsschritte zu verwerfen.

   Der folgende Screenshot zeigt diesen Schritt, wobei nur der zweite von zwei Datenknoten ausgewählt ist. Wenn die Verknüpfung erfolgreich gelöscht wurde, wird die nachfolgende Transformation **Spalten umbenennen** nur vom zweiten Datenknoten beibehalten.  
![\[Screenshot eines Datenflusses in Data Wrangler, der die Ansicht „Verknüpfung löschen“ zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-data-flow-delete-step.png)

1. Wählen Sie **Löschen** aus.

Der Schritt „Verknüpfen“ oder „Verketten“ sollte jetzt aus Ihrem Datenfluss entfernt sein.

# Durchführen einer explorativen Datenanalyse (EDA)
<a name="canvas-analyses"></a>

Data Wrangler enthält integrierte Analysen, mit denen Sie mit wenigen Klicks Visualisierungen und Datenanalysen erstellen können. Sie können auch benutzerdefinierte Analysen mit Ihrem eigenen Code erstellen. 

Sie fügen einem Datenrahmen eine Analyse hinzu, indem Sie einen Schritt in Ihrem Datenfluss auswählen und dann **Analyse hinzufügen** auswählen. Um auf eine von Ihnen erstellte Analyse zuzugreifen, wählen Sie den Schritt aus, der die Analyse enthält, und wählen Sie die Analyse aus. 

Die Analysen werden anhand einer Stichprobe von bis zu 200 000 Zeilen Ihres Datensatzes erstellt, wobei Sie die Stichprobengröße konfigurieren können. Weitere Informationen zum Ändern des Stichprobenumfangs Ihres Datenflusses finden Sie unter [Bearbeiten der Konfiguration der Datenflussstichprobe](canvas-data-flow-edit-sampling.md).

**Anmerkung**  
Analysen sind für Daten mit 1 000 oder weniger Spalten optimiert. Beim Generieren von Analysen für Daten mit zusätzlichen Spalten kann es zu einer gewissen Latenz kommen.

Sie können die folgende Analyse zu einem Datenrahmen hinzufügen:
+ Datenvisualisierungen, einschließlich Histogrammen und Streudiagrammen. 
+ Eine kurze Zusammenfassung Ihres Datensatzes, einschließlich der Anzahl der Einträge, der Mindest- und Höchstwerte (für numerische Daten) sowie der am häufigsten und seltensten Kategorien (für kategoriale Daten).
+ Ein schnelles Modell des Datensatzes, das verwendet werden kann, um eine Wichtigkeitsbewertung für jedes Feature zu generieren. 
+ Ein Ziel-Leckagebericht, anhand dessen Sie feststellen können, ob ein oder mehrere Merkmale stark mit Ihrem Zielmerkmal korrelieren.
+ Eine benutzerdefinierte Visualisierung mit Ihrem eigenen Code. 

In den folgenden Abschnitten erfahren Sie mehr über diese Optionen.

## Einblicke in Daten und Datenqualität
<a name="canvas-data-insights"></a>

Verwenden Sie den **Datenqualitäts- und Insights-Bericht**, um eine Analyse der Daten durchzuführen, die Sie in Data Wrangler importiert haben. Wir empfehlen, dass Sie den Bericht erstellen, nachdem Sie Ihren Datensatz importiert haben. Sie können den Bericht verwenden, um Ihre Daten zu bereinigen und zu verarbeiten. Er gibt Ihnen Informationen wie die Anzahl der fehlenden Werte und die Anzahl der Ausreißer. Wenn Sie Probleme mit Ihren Daten haben, wie z. B. undichte Zielstellen oder Ungleichgewichte, können Sie mithilfe des Insights-Berichts auf diese Probleme aufmerksam gemacht werden.

Gehen Sie wie folgt vor, um einen Datenqualitäts- und Insights-Bericht zu erstellen. Es wird davon ausgegangen, dass Sie bereits einen Datensatz in Ihren Data Wrangler-Flow importiert haben.

**So erstellen Sie einen Datenqualitäts- und Insights-Bericht:**

1. Wählen Sie das Ellipsensymbol neben einem Knoten in Ihrem Data-Wrangler-Fluss aus.

1. Wählen Sie **Dateneinblicke abrufen** aus.

1. Wählen Sie als **Analysetyp** die Option **Datenqualitäts- und Insights-Bericht** aus.

1. Geben Sie unter **Analysename** einen Namen für den Insights-Bericht an.

1. Geben Sie als **Problemtyp** **Regression** oder **Klassifizierung** an.

1. Geben Sie für **Zielspalte** die Zielspalte an.

1. Geben Sie für **Datengröße** einen der folgenden Werte an:
   + **Datensatz mit Stichproben** – verwendet die interaktive Stichprobe aus Ihrem Datenfluss, die bis zu 200 000 Zeilen Ihres Datensatzes enthalten kann. Informationen zum Bearbeiten der Stichprobengröße finden Sie unter [Bearbeiten der Konfiguration der Datenflussstichprobe](canvas-data-flow-edit-sampling.md).
   + **Vollständiger Datensatz** – verwendet den vollständigen Datensatz aus Ihrer Datenquelle, um den Bericht zu erstellen.
**Anmerkung**  
Für die Erstellung eines Datenqualitäts- und Insights-Berichts für den gesamten Datensatz wird ein SageMaker Amazon-Verarbeitungsjob verwendet. Ein SageMaker Verarbeitungsjob stellt die zusätzlichen Rechenressourcen bereit, die erforderlich sind, um Einblicke in all Ihre Daten zu erhalten. Weitere Informationen zur SageMaker Verarbeitung von Aufträgen finden Sie unter[Workloads zur Datentransformation mit SageMaker Verarbeitung](processing-job.md).

1. Wählen Sie **Erstellen** aus.

Die folgenden Themen zeigen die Abschnitte des Berichts:

**Topics**
+ [Zusammenfassung](#canvas-data-insights-summary)
+ [Zielspalte](#canvas-data-insights-target-column)
+ [Quick-Modell](#canvas-data-insights-quick-model)
+ [Übersicht der Funktionen](#canvas-data-insights-feature-summary)
+ [Beispiele](#canvas-data-insights-samples)
+ [Definitionen](#canvas-data-insights-definitions)

Sie können den Bericht entweder herunterladen oder online ansehen. Um den Bericht herunterzuladen, wählen Sie die Download-Schaltfläche in der oberen rechten Ecke des Bildschirms. 

### Zusammenfassung
<a name="canvas-data-insights-summary"></a>

Der Insights-Bericht enthält eine kurze Zusammenfassung der Daten, die allgemeine Informationen wie fehlende Werte, ungültige Werte, Merkmalstypen, Anzahl von Ausreißern und mehr enthält. Er kann auch Warnungen mit hohem Schweregrad enthalten, die auf wahrscheinliche Probleme mit den Daten hinweisen. Wir empfehlen Ihnen, die Warnungen zu überprüfen.

### Zielspalte
<a name="canvas-data-insights-target-column"></a>

Wenn Sie den Datenqualitäts- und Insights-Bericht erstellen, bietet Ihnen Data Wrangler die Möglichkeit, eine Zielspalte auszuwählen. Eine Zielspalte ist eine Spalte, die Sie voraussagen möchten. Wenn Sie eine Zielspalte auswählen, erstellt Data Wrangler automatisch eine Zielspaltenanalyse. Außerdem werden die Merkmale in der Reihenfolge ihrer Voraussagekraft eingestuft. Wenn Sie eine Zielspalte auswählen, müssen Sie angeben, ob Sie versuchen, ein Regressions- oder ein Klassifizierungsproblem zu lösen.

Zur Klassifizierung zeigt Data Wrangler eine Tabelle und ein Histogramm der gängigsten Klassen. Eine Klasse ist eine Kategorie. Sie enthält auch Beobachtungen oder Zeilen mit einem fehlenden oder ungültigen Zielwert.

Für die Regression zeigt Data Wrangler ein Histogramm aller Werte in der Zielspalte. Sie enthält auch Beobachtungen oder Zeilen mit einem fehlenden, ungültigen oder einem Ausreißer-Zielwert.

### Quick-Modell
<a name="canvas-data-insights-quick-model"></a>

Das **Quick-Modell** bietet eine Schätzung der erwarteten vorausgesagten Qualität eines Modells, das Sie anhand Ihrer Daten trainieren.

Data Wrangler teilt Ihren Datensatz in Trainings- und Validierungsbereiche auf. Es verwendet 80 % der Stichproben für das Training und 20 % der Werte für die Validierung. Zur Klassifizierung wird die Stichprobe stratifiziert und aufgeteilt. Bei einer stratifizierten Aufteilung hat jede Datenpartition das gleiche Verhältnis von Beschriftungen. Bei Klassifikationsproblemen ist es wichtig, dass das gleiche Verhältnis der Beschriftungen zwischen den Kategorien Training und Klassifikationsbereiche eingehalten wird. Data Wrangler trainiert das XGBoost Modell mit den Standard-Hyperparametern. Es stoppt die Validierungsdaten frühzeitig und führt nur eine minimale Vorverarbeitung der Merkmale durch.

Bei Klassifikationsmodellen gibt Data Wrangler sowohl eine Modellzusammenfassung als auch eine Konfusionsmatrix zurück.

 Weitere Informationen zu den Informationen, die die Zusammenfassung des Klassifikationsmodells zurückgibt, finden Sie unter [Definitionen](#canvas-data-insights-definitions).

Eine Konfusionsmatrix enthält die folgenden Informationen:
+ Gibt an, wie oft die vorausgesagte Beschriftung mit der wahren Beschriftung übereinstimmt.
+ Gibt an, wie oft die vorausgesagte Beschriftung mit der wahren Beschriftung nicht übereinstimmt.

Die wahre Beschriftung stellt eine tatsächliche Beobachtung in Ihren Daten dar. Wenn Sie beispielsweise ein Modell zur Erkennung betrügerischer Transaktionen verwenden, steht das True Label für eine Transaktion, die tatsächlich betrügerisch oder nicht betrügerisch ist. Das vorausgesagte Beschriftung steht für die Beschriftung, das Ihr Modell den Daten zuweist.

Anhand der Konfusionsmatrix können Sie ermitteln, wie gut das Modell das Vorliegen oder Nichtvorliegen einer Bedingung voraussagt. Wenn Sie betrügerische Transaktionen voraussagen, können Sie die Konfusionsmatrix verwenden, um sich ein Bild von der Sensibilität und Spezifität des Modells zu machen. Die Sensibilität bezieht sich auf die Fähigkeit des Modells, betrügerische Transaktionen zu erkennen. Die Spezifität bezieht sich auf die Fähigkeit des Modells, zu verhindern, dass nicht betrügerische Transaktionen als betrügerisch erkannt werden.

### Übersicht der Funktionen
<a name="canvas-data-insights-feature-summary"></a>

Wenn Sie eine Zielspalte angeben, ordnet Data Wrangler die Funktionen nach ihrer Voraussagekraft. Die Voraussagekraft wird anhand der Daten gemessen, nachdem sie zu 80 % in Trainingseinheiten und zu 20 % in Validierungsstufen aufgeteilt ist. Data Wrangler passt ein Modell für jedes Merkmal separat im Trainingsbereich an. Es wendet nur eine minimale Merkmalsvorverarbeitung an und misst die Voraussageleistung anhand der Validierungsdaten.

Es normalisiert die Werte auf den Bereich [0,1]. Höhere Voraussagewerte weisen auf Spalten hin, die für die Voraussage des Ziels allein nützlicher sind. Niedrigere Werte weisen auf Spalten hin, die keine Voraussage für die Zielspalte bieten.

Es ist ungewöhnlich, dass eine Spalte, die für sich genommen nicht prädiktiv ist, prädiktiv ist, wenn sie zusammen mit anderen Spalten verwendet wird. Sie können die Voraussagewerte getrost verwenden, um zu bestimmen, ob eine Funktion in Ihrem Datensatz prädiktiv ist.

Ein niedriger Wert weist normalerweise darauf hin, dass die Funktion überflüssig ist. Ein Wert von 1 impliziert perfekte Voraussagefähigkeiten, was häufig auf undichte Zielstellen hindeutet. Undichte Zielstellen treten normalerweise auf, wenn der Datensatz eine Spalte enthält, die zum Voraussagezeitpunkt nicht verfügbar ist. Es könnte sich beispielsweise um ein Duplikat der Zielspalte handeln.

### Beispiele
<a name="canvas-data-insights-samples"></a>

Data Wrangler liefert Informationen darüber, ob Ihre Stichproben anomal sind oder ob Ihr Datensatz Duplikate enthält.

Data Wrangler erkennt anomale Proben mithilfe des *Isolation-Forest-Algorithmus*. Der Isolation Forest ordnet jeder Stichprobe (Zeile) des Datensatzes einen Anomaliewert zu. Niedrige Anomaliewerte deuten auf anomale Proben hin. Hohe Werte stehen im Zusammenhang mit Proben, die nicht anomale Werte aufweisen. Proben mit einem negativen Anomaliewert gelten in der Regel als anomal und Proben mit einem positiven Anomaliewert gelten als nicht anomal.

Wenn Sie sich eine Probe ansehen, die möglicherweise anomal ist, empfehlen wir Ihnen, auf ungewöhnliche Werte zu achten. Beispielsweise könnten Sie ungewöhnliche Werte haben, die auf Fehler bei der Erfassung und Verarbeitung der Daten zurückzuführen sind. Im Folgenden finden Sie ein Beispiel für die anomalsten Stichproben gemäß der Implementierung des Isolation-Forest-Algorithmus durch Data Wrangler. Wir empfehlen, bei der Untersuchung der anomalen Stichproben Fachwissen und Geschäftslogik zu verwenden.

Data Wrangler erkennt doppelte Zeilen und berechnet das Verhältnis doppelter Zeilen in Ihren Daten. Einige Datenquellen könnten gültige Duplikate enthalten. Andere Datenquellen könnten Duplikate enthalten, die auf Probleme bei der Datensammlung hinweisen. Doppelte Stichproben, die aus einer fehlerhaften Datensammlung resultieren, könnten Machine-Learning-Prozesse beeinträchtigen, die auf der Aufteilung der Daten in unabhängige Trainings- und Validierungsbereiche beruhen.

Im Folgenden sind Elemente des Insights-Berichts aufgeführt, die durch doppelte Stichproben beeinträchtigt werden können:
+ Quick-Modell
+ Schätzung der Voraussageleistung
+ Automatische Hyperparameteroptimierung

Mithilfe der Transformation **Drop-Duplikat** unter **Zeilen verwalten** können Sie doppelte Stichproben aus dem Datensatz entfernen. Data Wrangler zeigt Ihnen die am häufigsten duplizierten Zeilen.

### Definitionen
<a name="canvas-data-insights-definitions"></a>

Im Folgenden finden Sie Definitionen für die Fachbegriffe, die im Data Insights-Bericht verwendet werden.

------
#### [ Feature types ]

Im Folgenden finden Sie die Definitionen für die einzelnen Funktionstypen:
+ **Numerisch** – Numerische Werte können entweder Gleitkommazahlen oder ganze Zahlen sein, z. B. Alter oder Einkommen. Bei Machine-Learning-Modellen wird davon ausgegangen, dass numerische Werte geordnet sind und eine Entfernung zwischen ihnen definiert ist. Zum Beispiel ist 3 näher an 4 als an 10 und 3 < 4 < 10.
+ **Kategorisch** – Die Spalteneinträge gehören zu einer Gruppe eindeutiger Werte, die normalerweise viel kleiner ist als die Anzahl der Einträge in der Spalte. Eine Spalte mit der Länge 100 könnte beispielsweise die eindeutigen Werte `Dog`, `Cat` und `Mouse` enthalten. Die Werte können numerisch, Text oder eine Kombination aus beidem sein. `Horse`, `House`, `8`, `Love` und `3.1` wären alle gültige Werte und könnten in derselben kategorischen Spalte gefunden werden. Beim Machine-Learning-Modell wird im Gegensatz zu numerischen Features nicht von der Reihenfolge oder Entfernung der Werte kategorischer Features ausgegangen, selbst wenn es sich bei allen Werten um Zahlen handelt.
+ **Binär** – Binäre Funktionen sind ein besonderer kategorischer Featuretyp, bei dem die Kardinalität der Menge von eindeutigen Werten 2 ist.
+ **Text** – Eine Textspalte enthält viele nicht numerische eindeutige Werte. In extremen Fällen sind alle Elemente der Spalte eindeutig. Im Extremfall sind keine zwei Einträge identisch.
+ **DateTime** – Eine DateTime-Spalte enthält Informationen über das Datum oder die Uhrzeit. Es kann sowohl Informationen zum Datum als auch zur Uhrzeit enthalten.

------
#### [ Feature statistics ]

Im Folgenden finden Sie die Definitionen für die einzelnen Funktionsstatistiken:
+ **Vorhersagekraft** – Die Voraussagestärke gibt an, wie nützlich die Spalte für die Voraussage des Ziels ist.
+ **Ausreißer** (in numerischen Spalten) – Data Wrangler erkennt Ausreißer anhand von zwei Statistiken, die robust gegenüber Ausreißern sind: Median und robuste Standardabweichung (RSTD). RSTD wird abgeleitet, indem die Feature-Werte auf den Bereich [5 Perzentil, 95 Perzentil] zugeschnitten und die Standardabweichung des beschnittenen Vektors berechnet wird. Alle Werte, die größer als Median \$1 5 \$1 RSTD oder kleiner als Median - 5 \$1 RSTD sind, gelten als Ausreißer.
+ **Schief** (in numerischen Spalten) – Die Schiefe misst die Symmetrie der Verteilung und ist definiert als das dritte Moment der Verteilung geteilt durch die dritte Potenz der Standardabweichung. Die Schiefe der Normalverteilung oder einer anderen symmetrischen Verteilung ist Null. Positive Werte bedeuten, dass das rechte Ende der Verteilung länger ist als das linke Ende. Positive Werte bedeuten, dass das rechte Ende der Verteilung länger ist als das linke Ende. Als Faustregel gilt, dass eine Verteilung als schief betrachtet wird, wenn der absolute Wert der Schräglage größer als 3 ist.
+ **Kurtosis** (in numerischen Spalten) – Die Kurtosis nach Pearson gibt an, wie schwer das Ende der Verteilung ist. Sie ist definiert als der vierte Moment der Verteilung geteilt durch das Quadrat des zweiten Moments. Die Kurtosis der Normalverteilung ist 3. Kurtosis-Werte unter 3 bedeuten, dass sich die Verteilung um den Mittelwert herum konzentriert und die Randbereiche schwächer sind als die Randbereiche der Normalverteilung. Kurtosis-Werte über 3 deuten auf stärkere Randbereiche oder Ausreißer hin.
+ **Fehlende Werte** – Nullähnliche Objekte, leere Zeichenketten und Zeichenketten, die nur aus Leerzeichen bestehen, werden als fehlend betrachtet.
+ **Gültige Werte für numerische Features oder Regressionsziele** – Alle Werte, die Sie in endliche Gleitkommazahlen umwandeln können, sind gültig. Fehlende Werte sind nicht gültig.
+ **Gültige Werte für kategorische, binäre oder Textmerkmale oder für Klassifizierungsziele** – Alle Werte, die nicht fehlen, sind gültig.
+ **DateTime-Funktionen** – Alle Werte, die Sie in ein DateTime-Objekt umwandeln können, sind gültig. Fehlende Werte sind nicht gültig.
+ **Ungültige Werte** – Werte, die entweder fehlen oder die Sie nicht richtig umwandeln können. In einer numerischen Spalte können Sie beispielsweise die Zeichenfolge `"six"` oder einen Nullwert nicht umwandeln.

------
#### [ Quick model metrics for regression ]

Im Folgenden finden Sie die Definitionen für die Quick-Modellmetriken:
+ R2 (oder Bestimmtheitskoeffizient) – R2 ist der Anteil der Variation im Zielwert, der vom Modell vorausgesagt wird. R2 liegt im Bereich von [-infty, 1]. 1 ist der Wert des Modells, das den Sollwert perfekt voraussagt, und 0 ist der Wert des trivialen Modells, das immer den Zielmittelwert voraussagt.
+ MSE oder mittlerer quadratischer Fehler – MSE liegt im Bereich [0, infty]. 0 ist der Wert des Modells, das das Ziel perfekt voraussagt.
+ MAE oder mittlerer absoluter Fehler – MAE liegt im Bereich [0, infty], wobei 0 der Wert des Modells ist, das das Ziel perfekt voraussagt.
+ RMSE oder Root Mean Square Error, die Standardabweichung – MSE liegt im Bereich [0, infty]. 0 ist der Wert des Modells, das das Ziel perfekt voraussagt.
+ Maximaler Fehler – Der maximale Absolutwert des Fehlers im Datensatz. Der maximale Fehler liegt im Bereich [0, infty]. 0 ist der Wert des Modells, das das Ziel perfekt voraussagt.
+ Mittlerer absoluter Fehler – Der mittlere absolute Fehler liegt im Bereich [0, infty], wobei 0 der Wert des Modells ist, das das Ziel perfekt voraussagt.

------
#### [ Quick model metrics for classification ]

Im Folgenden finden Sie die Definitionen für die Quick-Modellmetriken:
+ **Genauigkeit** – Genauigkeit ist das Verhältnis der Stichproben, die genau vorausgesagt wurden. Die Genauigkeit liegt im Bereich [0, 1]. 0 ist der Wert des Modells, das alle Stichproben falsch voraussagt, und 1 ist der Wert des perfekten Modells.
+ **Ausgewogene Genauigkeit** – Ausgewogene Genauigkeit ist das Verhältnis der Stichproben, die genau vorausgesagt werden, wenn die Klassengewichtungen angepasst werden, um die Daten auszugleichen. Allen Klassen wird unabhängig von ihrer Häufigkeit die gleiche Bedeutung beigemessen. Die ausgewogene Genauigkeit liegt im Bereich [0, 1]. 0 ist der Wert des Modells, das alle Stichproben falsch voraussagt, und 1 ist der Wert des perfekten Modells.
+ **AUC (binäre Klassifikation)** – Dies ist der Bereich unter der Betriebskennlinie des Empfängers. AUC liegt im Bereich [0, 1], in dem ein Zufallsmodell einen Wert von 0,5 und das perfekte Modell einen Wert von 1 zurückgibt.
+ **AUC (OVR)** – Bei der Mehrklassen-Klassifizierung ist dies der Bereich unter der Betriebskennlinie des Empfängers, der für jede Beschriftung separat berechnet wird, wobei eins im Vergleich zum Rest verwendet wird. Data Wrangler gibt den Durchschnitt der Flächen an. AUC liegt im Bereich [0, 1], in dem ein Zufallsmodell einen Wert von 0,5 und das perfekte Modell einen Wert von 1 zurückgibt.
+ **Präzision** – Die Präzision ist für eine bestimmte Klasse definiert. Präzision ist der Anteil der wirklich positiven Ergebnisse aller Instances, die das Modell als diese Klasse klassifiziert hat. Die Präzision liegt im Bereich [0, 1]. 1 ist der Wert des Modells, das keine falsch positiven Ergebnisse für die Klasse aufweist. Für die binäre Klassifikation gibt Data Wrangler die Präzision der positiven Klasse an.
+ **Erinnerungswert** – Der Erinnerungswert ist für eine bestimmte Klasse definiert. Der Erinnerungswert ist der Bruchteil der relevanten Klassen-Instances, die erfolgreich abgerufen wurden. Erinnerungswert liegt im Bereich [0, 1]. 1 ist der Wert des Modells, das alle Instances der Klasse korrekt klassifiziert. Für die binäre Klassifikation gibt Data Wrangler den Erinnerungswert der positiven Klasse an.
+ **F1** – F1 ist für eine bestimmte Klasse definiert. Sie ist das harmonische Mittel zwischen Präzision und Erinnerungswert. F1 liegt im Bereich [0, 1]. 1 ist der Wert des perfekten Modells. Für die binäre Klassifikation gibt Data Wrangler den F1-Wert für Klassen mit positiven Werten an.

------
#### [ Textual patterns ]

**Muster** beschreiben das Textformat einer Zeichenfolge in einem leicht lesbaren Format. Es folgen Beispiele für Textmuster:
+ „\$1digits:4-7\$1“ beschreibt eine Folge von Ziffern mit einer Länge zwischen 4 und 7.
+ „\$1alnum:5\$1“ beschreibt eine alphanumerische Zeichenfolge mit einer Länge von genau 5.

Data Wrangler leitet die Muster ab, indem es Stichproben von nicht leeren Zeichenketten aus Ihren Daten betrachtet. Es kann viele der häufig verwendeten Muster beschreiben. Das als Prozentsatz ausgedrückte **Vertrauen** gibt an, wie viele der Daten schätzungsweise mit dem Muster übereinstimmen. Anhand des Textmusters können Sie erkennen, welche Zeilen in Ihren Daten Sie korrigieren oder löschen müssen.

Im Folgenden werden die Muster beschrieben, die Data Wrangler erkennen kann:


| Muster | Textformat | 
| --- | --- | 
|  \$1alnum\$1  |  Alphanumerische Zeichenfolge  | 
|  \$1any\$1  |  Beliebige Zeichenfolge aus Wörtern  | 
|  \$1digits\$1  |  Eine Ziffernfolge  | 
|  \$1lower\$1  |  Ein kleingeschriebenes Wort  | 
|  \$1mixed\$1  |  Ein Wort mit gemischter Groß- und Kleinschreibung  | 
|  \$1name\$1  |  Ein Wort, das mit einem Großbuchstaben beginnt  | 
|  \$1upper\$1  |  Ein Wort in Großbuchstaben  | 
|  \$1whitespace\$1  |  Whitespace-Zeichen  | 

Ein Wortzeichen ist entweder ein Unterstrich oder ein Zeichen, das in einem Wort in einer beliebigen Sprache vorkommen kann. Beispielsweise bestehen die Zeichenfolgen `'Hello_word'` und `'écoute'` beide aus Wortzeichen. „H“ und „é“ sind beide Beispiele für Wortzeichen.

------

## Bericht über Verzerrungen
<a name="canvas-bias-report"></a>

SageMaker Canvas stellt den Bias-Bericht in Data Wrangler bereit, mit dem Sie potenzielle Verzerrungen in Ihren Daten aufdecken können. Der Bias-Bericht analysiert die Beziehung zwischen der Zielspalte (Label) und einer Spalte, von der Sie vermuten, dass sie Voreingenommenheit enthält (Facettenvariable). Wenn Sie beispielsweise versuchen, die Kundenkonversion vorherzusagen, könnte Ihre Facettenvariable das Alter des Kunden sein. Der Bias-Bericht kann Ihnen dabei helfen, festzustellen, ob Ihre Daten in Bezug auf eine bestimmte Altersgruppe verzerrt sind.

Um einen Bias-Bericht in Canvas zu erstellen, gehen Sie wie folgt vor:

1. Wählen Sie in Ihrem Datenfluss in Data Wrangler das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben einem Knoten im Flow aus.

1. Wählen Sie im Kontextmenü die Option **Daten-Insights erhalten** aus.

1. Der Seitenbereich **Analyse erstellen** wird geöffnet. Wählen Sie im Dropdown-Menü **Analysetyp** die Option **Bias-Bericht** aus.

1.  Geben Sie im Feld **Analysename** einen Namen für den Bias-Bericht ein.

1. Wählen Sie im Dropdown-Menü **Spalte auswählen, die Ihr Modell vorhersagt (Ziel)** Ihre Zielspalte aus.

1. Wählen Sie für **Ist Ihre vorhergesagte Spalte ein Wert oder ein Schwellenwert?** die Option **Wert** aus, wenn Ihre Zielspalte kategoriale Werte enthält, oder **Schwellenwert**, wenn sie numerische Werte enthält.

1. Geben Sie für **Prognostizierter Wert** (oder **Prognostizierter Schwellenwert**, abhängig von Ihrer Auswahl im vorherigen Schritt) den oder die Zielspaltenwerte ein, die einem positiven Ergebnis entsprechen. Wenn Sie beispielsweise die Kundenkonversion prognostizieren, könnte Ihr Wert `yes` lauten, um anzuzeigen, dass ein Kunde konvertiert wurde.

1. Wählen Sie im Dropdown-Menü **Spalte zur Analyse der Verzerrung auswählen** die Spalte aus, von der Sie vermuten, dass sie eine Verzerrung enthält, auch bekannt als Facettenvariable.

1. Wählen Sie für **Ist Ihre Spalte ein Wert oder ein Schwellenwert?** die Option **Wert** aus, wenn die Facettenvariable kategoriale Werte enthält, oder **Schwellenwert**, wenn sie numerische Werte enthält.

1. Geben Sie für die **Spaltenwerte, die auf Verzerrung analysiert werden sollen** (oder den **Spaltenschwellenwert, der auf Verzerrung analysiert werden soll**, je nach Ihrer Auswahl im vorherigen Schritt), den Wert oder die Werte ein, die Sie auf mögliche Voreingenommenheit analysieren möchten. Wenn Sie beispielsweise nach einer Verzerrung gegenüber Kunden ab einem bestimmten Alter suchen, verwenden Sie den Anfang dieses Altersbereichs als Schwellenwert.

1. Wählen Sie unter **Verzerrungsmetriken** auswählen die Messwerte aus, die Sie in Ihren Bias-Bericht aufnehmen möchten. Bewegen Sie den Mauszeiger über die Info-Symbole, um weitere Informationen zu den einzelnen Metriken zu erhalten.

1. (Optional) Wenn Sie gefragt werden: **Möchten Sie zusätzliche Metriken analysieren?**, wählen Sie **Ja** aus, um weitere Verzerrungsmetriken anzuzeigen und einzubeziehen.

1. Wenn Sie bereit sind, den Bias-Bericht zu erstellen, klicken Sie auf **Hinzufügen**.

Nach der Generierung bietet Ihnen der Bericht einen Überblick über die ausgewählten Verzerrungsmetriken. Sie können den Bias-Bericht jederzeit auf der Registerkarte **Analysen** Ihres Datenflusses einsehen.

## Histogramm
<a name="canvas-visualize-histogram"></a>

Verwenden Sie Histogramme, um die Anzahl der Feature-Werte für ein bestimmtes Feature zu ermitteln. Mit der Option **Farbe nach** können Sie die Beziehungen zwischen Features überprüfen.

Sie können die Funktion **Facette nach** verwenden, um Histogramme einer Spalte für jeden Wert in einer anderen Spalte zu erstellen. 

## Streudiagramm
<a name="canvas-visualize-scatter-plot"></a>

Verwenden Sie die **Streudiagramm**, um die Beziehung zwischen Features zu untersuchen. Um ein Streudiagramm zu erstellen, wählen Sie ein Feature aus, das auf der **X-Achse** und **Y-Achse** dargestellt werden soll. Bei beiden Spalten muss es sich um numerische Spalten handeln. 

Sie können Streudiaramme anhand einer zusätzlichen Spalte einfärben. 

Darüber hinaus können Sie Streudiagramme nach Merkmalen facettieren.

## Tabellenzusammenfassung
<a name="canvas-table-summary"></a>

Verwenden Sie die Analyse mit der **Tabellenzusammenfassung**, um Ihre Daten schnell zusammenzufassen.

Für Spalten mit numerischen Daten, einschließlich Logarithmus- und Float-Daten, gibt eine Tabellenzusammenfassung die Anzahl der Einträge (Anzahl), Minimum (min), Maximum (max), Mittelwert und Standardabweichung (stddev) für jede Spalte an.

Für Spalten mit nicht numerischen Daten, einschließlich Spalten mit Zeichenfolgen, Booleschen Werten oder date/time Daten, gibt eine Tabellenzusammenfassung die Anzahl der Einträge (Anzahl), den seltensten Wert (min) und den häufigsten Wert (max.) an. 

## Quick-Modell
<a name="canvas-quick-model"></a>

Verwenden Sie die **Schnellmodell**-Visualisierung, um Ihre Daten schnell auszuwerten und Wichtigkeitswerte für jedes Feature zu erstellen. Ein [Wert für die Wichtigkeit eines Merkmals](http://spark.apache.org/docs/2.1.0/api/python/pyspark.ml.html#pyspark.ml.classification.DecisionTreeClassificationModel.featureImportances) gibt an, wie nützlich ein Feature bei der Vorhersage einer Zielbezeichnung ist. Der Wert für die Wichtigkeit eines Merkmals liegt zwischen [0, 1] und eine höhere Zahl gibt an, dass das Merkmal für den gesamten Datensatz wichtiger ist. Oben im Schnellmodelldiagramm befindet sich eine Modellbewertung. Ein Klassifizierungsproblem zeigt einen F1-Wert. Ein Regressionsproblem hat einen mittleren quadratischen Fehler (MSE).

Wenn Sie ein Schnellmodelldiagramm erstellen, wählen Sie einen Datensatz aus, den Sie auswerten möchten, und eine Zielbezeichnung, mit der die Bedeutung der Merkmale verglichen werden soll. Data Wrangler führt Folgendes aus:
+ Leitet die Datentypen für die Zielbeschriftung und jedes Feature im ausgewählten Datensatz ab. 
+ Bestimmt den Problemtyp. Basierend auf der Anzahl der unterschiedlichen Werte in der Beschriftungsspalte bestimmt Data Wrangler, ob es sich um einen Regressions- oder Klassifikationsproblemtyp handelt. Data Wrangler legt einen kategorialen Schwellenwert auf 100 fest. Wenn die Beschriftungsspalte mehr als 100 unterschiedliche Werte enthält, klassifiziert Data Wrangler dies als Regressionsproblem. Andernfalls wird es als Klassifikationsproblem klassifiziert. 
+ Verarbeitet Merkmale vor und kennzeichnet Daten für das Training. Der verwendete Algorithmus erfordert die Kodierung von Merkmalen nach Vektortyp und die Kodierung von Beschriftungen nach doppeltem Typ. 
+ Trainiert einen Random-Forest-Algorithmus mit 70% der Daten. Spark's [RandomForestRegressor](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-regression)wird verwendet, um ein Modell für Regressionsprobleme zu trainieren. Das [RandomForestClassifier](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-classifier)wird verwendet, um ein Modell für Klassifikationsprobleme zu trainieren.
+ Wertet ein Random-Forest-Modell mit den verbleibenden 30% der Daten aus. Data Wrangler bewertet Klassifikationsmodelle anhand eines F1-Scores und Regressionsmodelle anhand eines MSE-Scores.
+ Berechnet die Merkmalsbedeutung für jedes Merkmal mithilfe der Gini-Wichtigkeitsmethode. 

## Target Leakage
<a name="canvas-analysis-target-leakage"></a>

Eine Zielleckage tritt auf, wenn ein Trainingsdatensatz für Machine Learning Daten enthält, die stark mit der Zielbeschriftung korrelieren, aber in realen Daten nicht verfügbar sind. Beispielsweise können Sie eine Spalte in Ihrem Datensatz haben, die als Proxy für die Spalte dient, die Sie mit Ihrem Modell vorhersagen möchten. 

Wenn Sie die **Zielleckageanalyse** verwenden, geben Sie Folgendes an:
+ **Ziel**: Dies ist die Funktion, für die Ihr ML-Modell Vorhersagen treffen soll.
+ **Problemtyp**: Dies ist der ML-Problemtyp, an dem Sie gerade arbeiten. Der Problemtyp kann entweder **Klassifikation** oder **Regression** sein. 
+  (Optional) **Maximale Anzahl an Features**: Dies ist die maximale Anzahl von Features, die in der Visualisierung dargestellt werden sollen. Dabei werden die Features nach ihrem Risiko, dass es sich um eine Zielleckage handelt, sortiert dargestellt.

Für die Klassifizierung verwendet die Analyse der Zielleckage die Fläche unter der Betriebseigenschaft des Empfängers oder die AUC-ROC-Kurve für jede Spalte, bis hin zu **Max. Merkmalen**. Für die Regression wird ein Bestimmtheitskoeffizient oder eine R2-Metrik verwendet.

Die AUC-ROC-Kurve bietet eine prädiktive Metrik, die anhand einer Stichprobe von bis zu etwa 1000 Zeilen für jede Spalte mithilfe einer Kreuzvalidierung einzeln berechnet wird. Ein Wert von 1 weist auf perfekte Vorhersagefähigkeiten hin, was häufig auf eine Zielleckage hindeutet. Ein Wert von 0,5 oder weniger bedeutet, dass die Informationen in der Spalte für sich genommen keine nützlichen Informationen für die Vorhersage des Ziels liefern konnten. Es kann zwar vorkommen, dass eine Spalte für sich genommen nicht aussagekräftig ist, aber bei der Vorhersage des Ziels nützlich ist, wenn sie zusammen mit anderen Merkmalen verwendet wird, könnte ein niedriger Wert darauf hindeuten, dass das Merkmal überflüssig ist.

## Multikollinearität
<a name="canvas-multicollinearity"></a>

Multikollinearität ist ein Umstand, bei dem zwei oder mehr Prädiktorvariablen miteinander in Beziehung stehen. Die Prädiktorvariablen sind die Features in Ihrem Datensatz, die Sie zur Vorhersage einer Zielvariablen verwenden. Wenn Sie über Multikollinearität verfügen, können die Prädiktorvariablen nicht nur die Zielvariable vorhersagen, sondern sich auch gegenseitig vorhersagen.

Sie können den **Varianzinflationsfaktor (VIF)**, die **Hauptkomponentenanalyse (PCA)** oder die **Lasso-Feature-Auswahl** als Messgrößen für die Multikollinearität in Ihren Daten verwenden. Weitere Informationen finden Sie unter den folgenden Topics.

------
#### [ Variance Inflation Factor (VIF) ]

Der Varianzinflationsfaktor (VIF) ist ein Maß für die Kollinearität zwischen Variablenpaaren. Data Wrangler gibt einen VIF-Score als Maß dafür zurück, wie eng die Variablen miteinander verwandt sind. Ein VIF-Score ist eine positive Zahl, die größer oder gleich 1 ist.

Ein Wert von 1 bedeutet, dass die Variable nicht mit den anderen Variablen korreliert. Werte über 1 weisen auf eine höhere Korrelation hin.

Theoretisch können Sie einen VIF-Wert mit dem Wert unendlich haben. Data Wrangler kürzt Highscores auf 50. Wenn Sie einen VIF-Wert von mehr als 50 haben, setzt Data Wrangler den Wert auf 50.

Sie können die folgenden Richtlinien verwenden, um Ihre VIF-Ergebnisse zu interpretieren:
+ Ein VIF-Wert von weniger als oder gleich 5 bedeutet, dass die Variablen moderat mit den anderen Variablen korrelieren.
+ Ein VIF-Wert größer oder gleich 5 weist darauf hin, dass die Variablen stark mit den anderen Variablen korreliert sind.

------
#### [ Principle Component Analysis (PCA) ]

Die Hauptkomponentenanalyse (PCA) misst die Varianz der Daten entlang verschiedener Richtungen im Feature-Raum. Der Feature-Raum besteht aus allen Prädiktorvariablen, die Sie zur Vorhersage der Zielvariablen in Ihrem Datensatz verwenden.

Wenn Sie beispielsweise versuchen, vorherzusagen, wer auf der *RMS Titanic* überlebt hat, nachdem sie auf einen Eisberg gestoßen ist, kann Ihr Feature-Raum das Alter, das Geschlecht und den von ihnen bezahlten Fahrpreis der Passagiere enthalten.

Aus dem Feature-Raum generiert PCA eine geordnete Varianzliste. Diese Varianzen werden auch als singuläre Werte bezeichnet. Die Werte in der Varianzliste sind größer oder gleich 0. Wir können sie verwenden, um zu bestimmen, wie viel Multikollinearität in unseren Daten enthalten ist.

Wenn die Zahlen ungefähr einheitlich sind, weisen die Daten nur sehr wenige Fälle von Multikollinearität auf. Wenn es eine große Variabilität zwischen den Werten gibt, haben wir viele Fälle von Multikollinearität. Bevor Data Wrangler die PCA durchführt, normalisiert es jedes Feature so, dass es einen Mittelwert von 0 und eine Standardabweichung von 1 hat.

**Anmerkung**  
PCA kann unter diesen Umständen auch als Singulärwert-Zerlegung (SVD) bezeichnet werden.

------
#### [ Lasso feature selection ]

Die Lasso-Feature-Auswahl verwendet die L1-Regularisierungstechnik, um nur die prädiktivsten Feature in Ihren Datensatz aufzunehmen.

Sowohl für die Klassifikation als auch für die Regression generiert die Regularisierungstechnik einen Koeffizienten für jedes Feature. Der absolute Wert des Koeffizienten liefert eine Wichtigkeitsbewertung für das Feature. Ein höherer Wichtigkeitswert bedeutet, dass er die Zielvariable besser vorhersagt. Eine gängige Methode zur Feature-Auswahl besteht darin, alle Merkmale zu verwenden, deren Lassokoeffizient ungleich Null ist.

------

## Erkennen von Anomalien in Zeitreihendaten
<a name="canvas-time-series-anomaly-detection"></a>

Sie können die Visualisierung zur Erkennung von Anomalien verwenden, um Ausreißer in Ihren Zeitreihendaten zu erkennen. Um zu verstehen, was eine Anomalie ausmacht, müssen Sie verstehen, dass wir die Zeitreihe in einen prognostizierten Term und einen Fehlerterm zerlegen. Wir behandeln die Saisonalität und den Trend der Zeitreihe als den vorhergesagten Term. Wir behandeln die Residuen als Fehlerterm.

Für den Fehlerterm geben Sie einen Schwellenwert als Anzahl der Standardabweichungen an, bei denen das Residuum vom Mittelwert abweichen kann, sodass es als Anomalie betrachtet wird. Sie können beispielsweise einen Schwellenwert mit 3 Standardabweichungen festlegen. Jedes Residuum, das mehr als 3 Standardabweichungen vom Mittelwert entfernt ist, ist eine Anomalie.

Sie können das folgende Verfahren verwenden, um eine Analyse zur **Erkennung von Anomalien** durchzuführen.

1. Öffnen Sie Ihren Data Wrangler-Datenfluss.

1. Wählen Sie in Ihrem Datenfluss unter **Datentypen** das **\$1** und dann **Analyse hinzufügen** aus.

1. Wählen Sie als **Analysetyp** die Option **Zeitreihe** aus.

1. Wählen Sie für **Visualisierung** die Option **Anomalieerkennung** aus.

1. Wählen Sie für **Schwellenwert für Anomalien** den Schwellenwert aus, ab dem ein Wert als Anomalie betrachtet wird.

1. Wählen Sie **Vorschau**, um eine Vorschau der Analyse zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenfluss hinzuzufügen.

## Zerlegung saisonaler Trends in Zeitreihendaten
<a name="canvas-seasonal-trend-decomposition"></a>

Mithilfe der Visualisierung der saisonalen Trendzerlegung können Sie feststellen, ob Ihre Zeitreihendaten saisonabhängig sind. Wir verwenden die STL-Methode (Seasonal Trend Decomposition using LOESS), um die Zerlegung durchzuführen. Wir zerlegen die Zeitreihe in ihre Saison-, Trend- und Restkomponenten. Der Trend spiegelt den langfristigen Verlauf der Reihe wider. Die saisonale Komponente ist ein Signal, das sich in einem bestimmten Zeitraum wiederholt. Nachdem Sie den Trend und die saisonalen Komponenten aus der Zeitreihe entfernt haben, haben Sie das Residuum.

Sie können das folgende Verfahren verwenden, um eine **saisonale Trendanalyse der Zerlegung** durchzuführen.

1. Öffnen Sie Ihren Data Wrangler-Datenfluss.

1. Wählen Sie in Ihrem Datenfluss unter **Datentypen** das **\$1** und dann **Analyse hinzufügen** aus.

1. Wählen Sie als **Analysetyp** die Option **Zeitreihe** aus.

1. Wählen Sie für **Visualisierung** die Option **Saisonale Trendzerlegung** aus.

1. Wählen Sie für Schwellenwert für **Anomalien den Schwellenwert** aus, ab dem ein Wert als Anomalie betrachtet wird.

1. Wählen Sie **Vorschau**, um eine Vorschau der Analyse zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenfluss hinzuzufügen.

## Erstellen benutzerdefinierter Visualisierungen
<a name="canvas-visualize-custom"></a>

Sie können Ihrem Data Wrangler-Flow eine Analyse hinzufügen, um eine benutzerdefinierte Visualisierung zu erstellen. Ihr Datensatz mit allen Transformationen, die Sie angewendet haben, ist als [ DataFramePandas](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) verfügbar. Data Wrangler verwendet die `df` Variable, um den Datenrahmen zu speichern. Sie greifen auf den Datenrahmen zu, indem Sie die Variable aufrufen.

Sie müssen die Ausgabevariable, `chart`, angeben um ein [Altair](https://altair-viz.github.io/)-Ausgabediagramm zu speichern. Sie können beispielsweise den folgenden Codeblock verwenden, um mithilfe des Titanic-Datensatzes ein benutzerdefiniertes Histogramm zu erstellen.

```
import altair as alt
df = df.iloc[:30]
df = df.rename(columns={"Age": "value"})
df = df.assign(count=df.groupby('value').value.transform('count'))
df = df[["value", "count"]]
base = alt.Chart(df)
bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count'))
rule = base.mark_rule(color='red').encode(
    x='mean(value):Q',
    size=alt.value(5))
chart = bar + rule
```

**So erstellen Sie eine benutzerdefinierte Visualisierung:**

1. Wählen Sie neben dem Knoten, der die Transformation enthält, die Sie visualisieren möchten, das **\$1** aus.

1. Wählen Sie **Analyse hinzufügen** aus.

1. Wählen Sie als **Analysetyp** die Option **Benutzerdefinierte Visualisierung** aus.

1. Geben Sie unter **Analysename** einen Namen ein.

1. Geben Sie Ihren Code in das Codefeld ein. 

1. Wählen Sie **Vorschau**, um eine Vorschau Ihrer Visualisierung anzuzeigen.

1. Wählen Sie **Speichern**, um Ihre Visualisierung hinzuzufügen.

Wenn Sie nicht wissen, wie das Altair-Visualisierungspaket in Python verwendet wird, können Sie benutzerdefinierte Codefragmente verwenden, um Ihnen den Einstieg zu erleichtern.

Data Wrangler verfügt über eine durchsuchbare Sammlung von Visualisierungsschnipseln. Um ein Visualisierungs-Snippet zu verwenden, wählen Sie **Beispiel-Snippets suchen** und geben Sie eine Abfrage in der Suchleiste an.

Im folgenden Beispiel wird der Codeausschnitt **Binnendifferenzierte Streudiagramme** verwendet. Es zeichnet ein Histogramm für zwei Dimensionen.

Die Codefragmente enthalten Kommentare, die Ihnen helfen sollen, die Änderungen zu verstehen, die Sie am Code vornehmen müssen. Normalerweise müssen Sie die Spaltennamen Ihres Datensatzes im Code angeben.

```
import altair as alt

# Specify the number of top rows for plotting
rows_number = 1000
df = df.head(rows_number)  
# You can also choose bottom rows or randomly sampled rows
# df = df.tail(rows_number)
# df = df.sample(rows_number)


chart = (
    alt.Chart(df)
    .mark_circle()
    .encode(
        # Specify the column names for binning and number of bins for X and Y axis
        x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)),
        y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)),
        size="count()",
    )
)

# :Q specifies that label column has quantitative type.
# For more details on Altair typing refer to
# https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types
```

# Transformieren von Daten
<a name="canvas-transform"></a>

Amazon SageMaker Data Wrangler bietet zahlreiche ML-Datentransformationen, um die Bereinigung und Bereitstellung Ihrer Daten zu optimieren. Mit den interaktiven Tools zur Datenaufbereitung in Data Wrangler können Sie Datensätze beliebiger Größe mit einer Vielzahl von Sampling-Verfahren auswerten und innerhalb weniger Minuten mit der Analyse Ihrer Daten beginnen. Nachdem Sie Ihre Datentransformationen für die Stichprobendaten abgeschlossen haben, können Sie den Datenfluss skalieren, um diese Transformationen auf den gesamten Datensatz anzuwenden.

Wenn Sie eine Transformation hinzufügen, wird der Datenablauf um einen Schritt erweitert. Jede Transformation, die Sie hinzufügen, ändert Ihren Datensatz und erzeugt einen neuen Datenrahmen. Alle nachfolgenden Transformationen gelten für den resultierenden Datenrahmen.

Data Wrangler enthält integrierte Transformationen, mit denen Sie ohne Code Spalten transformieren können. Wenn Sie wissen, wie Sie Ihre Daten aufbereiten möchten, jedoch nicht wissen, wie Sie beginnen sollen oder welche Transformationen Sie verwenden sollen, können Sie die Chat-Funktion für die Datenaufbereitung nutzen, um mit Data Wrangler zu interagieren und Transformationen mithilfe natürlicher Sprache anzuwenden. Weitere Informationen finden Sie unter [Chat zur Datenvorbereitung](canvas-chat-for-data-prep.md). 

Sie können auch benutzerdefinierte Transformationen mit PySpark Python (benutzerdefinierte Funktion), Pandas und SQL hinzufügen. PySpark Manche Transformationen erfolgen vor Ort, während andere in Ihrem Datensatz eine neue Ausgabespalte erstellen.

Sie können Transformationen auf mehrere Spalten gleichzeitig anwenden. Sie können z. B. mehrere Spalten in einem einzigen Schritt löschen.

Sie können die Transformationen **Numerisch verarbeiten** und **Fehlende Werte behandeln** nur auf eine einzelne Spalte anwenden.

Auf dieser Seite erfahren Sie mehr über die integrierten und benutzerdefinierten Transformationen, die Data Wrangler bietet.

## Datensätze verknüpfen
<a name="canvas-transform-join"></a>

Sie können Datensätze direkt in Ihrem Datenfluss zusammenführen. Wenn Sie zwei Datensätze verknüpfen, wird der daraus resultierende verknüpfte Datensatz in Ihrem Datenablauf angezeigt. Die folgenden Join-Typen werden von Data Wrangler unterstützt.
+ **Links außen** – schließt alle Zeilen aus der linken Tabelle ein. Wenn der Wert für die Spalte, die mit einer Zeile in der linken Tabelle verknüpft ist, keinem Wert in einer Zeile in der rechten Tabelle entspricht, enthält diese Zeile Null-Werte für alle rechten Tabellenspalten in der verknüpften Tabelle.
+ **Links anti** – schließt Zeilen aus der linken Tabelle ein, die keine Werte für die verknüpfte Spalte in der rechten Tabelle enthalten.
+ **Links halb** – Schließt eine einzelne Zeile aus der linken Tabelle für alle identischen Zeilen ein, die die Kriterien in der Verknüpfungsanweisung erfüllen. So werden doppelte Zeilen aus der linken Tabelle ausgeschlossen, die den Verknüpfungskriterien entsprechen.
+ **Rechts außen** – schließt alle Zeilen aus der rechten Tabelle ein. Wenn der Wert für die Join-Spalte in einer rechten Tabellenzeile keinem Wert in der linken Tabellenzeile entspricht, enthält diese Zeile Null-Werte für alle linken Tabellenspalten in der verknüpften Tabelle.
+ **Innen** – Schließt Zeilen aus der linken und rechten Tabelle ein, die übereinstimmende Werte in der Join-Spalte enthalten. 
+ **Vollständig außen** – schließt alle Zeilen aus der linken und rechten Tabelle ein. Wenn der Zeilenwert für die Join-Spalte in einer der beiden Tabellen nicht übereinstimmt, werden separate Zeilen in der verknüpften Tabelle erstellt. Wenn eine Zeile keinen Wert für eine Spalte in der verknüpften Tabelle enthält, wird für diese Spalte Null eingefügt.
+ **Kartesisches Kreuzprodukt** – schließt Zeilen ein, die jede Zeile aus der ersten Tabelle mit jeder Zeile aus der zweiten Tabelle kombinieren. Dies ist ein [kartesisches Produkt](https://en.wikipedia.org/wiki/Cartesian_product) von Zeilen aus Tabellen in der Verknüpfung. Das Ergebnis dieses Produkts ist die Größe der linken Tabelle multipliziert mit der Größe der rechten Tabelle. Daher empfehlen wir, bei der Verwendung dieser Verknüpfung zwischen sehr großen Datensätzen Vorsicht walten zu lassen. 

Gehen Sie wie folgt vor, um zwei Datensätze zu verknüpfen. Sie sollten bereits zwei Datenquellen in Ihren Datenfluss importiert haben.

1. Wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben dem linken Knoten aus, den Sie verknüpfen möchten. Der erste Knoten, den Sie auswählen, ist immer die linke Tabelle in Ihrer Verknüpfung. 

1. Bewegen Sie den Mauszeiger über **Daten kombinieren** und wählen Sie dann **Verknüpfen** aus.

1. Wählen Sie den rechten Knoten aus. Der zweite Knoten, den Sie auswählen, ist immer die rechte Tabelle in Ihrer Verknüpfung.

1. Das Feld **Verknüpfungstyp** ist standardmäßig auf **Innerer Join** eingestellt. Wählen Sie das Dropdownmenü aus, um den Verknüpfungstyp zu ändern.

1. Überprüfen Sie für **Join-Schlüssel** die Spalten aus der linken und rechten Tabelle, die Sie für die Verknüpfung der Daten verwenden möchten. Sie können zusätzliche Join-Schlüssel hinzufügen oder entfernen.

1. Geben Sie in **Name der Verknüpfung** einen Namen für die verknüpften Daten ein oder verwenden Sie den Standardnamen.

1. (Optional) Wählen Sie **Vorschau** aus, um eine Vorschau der verknüpften Daten anzuzeigen.

1. Wählen Sie **Hinzufügen** aus, um die Verknüpfung abzuschließen.

**Anmerkung**  
Sollten Sie eine Benachrichtigung erhalten, dass Canvas beim Zusammenführen Ihrer Daten keine übereinstimmenden Zeilen identifiziert hat, empfehlen wir Ihnen, entweder zu überprüfen, ob Sie die richtigen Spalten ausgewählt haben, oder Ihr Beispiel zu aktualisieren, um übereinstimmende Zeilen zu finden. Sie können eine andere Sampling-Strategie auswählen oder die Größe der Stichprobe ändern. Informationen zum Bearbeiten der Stichprobe finden Sie unter [Bearbeiten der Konfiguration der Datenflussstichprobe](canvas-data-flow-edit-sampling.md).

Sie sollten nun einen Verknüpfungsknoten in Ihrem Datenfluss sehen.

## Datensätze verketten
<a name="canvas-transform-concatenate"></a>

Beim Verketten werden zwei Datensätze kombiniert, indem die Zeilen von einem Datensatz an einen anderen angefügt werden.

Gehen Sie wie folgt vor, um zwei Datensätze zu verketten. Sie sollten bereits zwei Datenquellen in Ihren Datenfluss importiert haben.

**So verketten Sie zwei Datensätze:**

1. Wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben dem linken Knoten aus, den Sie verketten möchten. Der erste Knoten, den Sie auswählen, ist immer die linke Tabelle in Ihrer Verkettung. 

1. Bewegen Sie den Mauszeiger über **Daten kombinieren** und wählen Sie dann **Verketten** aus.

1. Wählen Sie den rechten Knoten aus. Der zweite Knoten, den Sie auswählen, ist immer die rechte Tabelle in Ihrer Verkettung.

1. (Optional) Aktivieren Sie das Kontrollkästchen neben **Duplikate nach Verkettung entfernen**, um doppelte Spalten zu entfernen. 

1. (Optional) Aktivieren Sie das Kontrollkästchen neben **Spalte zum Angeben des Quellendatenrahmens hinzufügen**, um dem resultierenden Datenrahmen eine Spalte hinzuzufügen, in der die Quelldatensätze für jeden Datensatz aufgeführt sind.

   1. Geben Sie unter **Indikatorspaltenname** einen Namen für die hinzugefügte Spalte ein.

   1. Geben Sie für **Erster Datensatz, der eine Zeichenfolge angibt** den Wert ein, mit dem Sie Datensätze aus dem ersten Datensatz (oder dem linken Knoten) kennzeichnen möchten.

   1. Geben Sie für **Zweiter Datensatz, der eine Zeichenfolge angibt** den Wert ein, mit dem Sie Datensätze aus dem zweiten Datensatz (oder dem rechten Knoten) kennzeichnen möchten.

1. Geben Sie im Feld **Name der Verkettung** einen Namen für die Verkettung ein.

1. (Optional) Wählen Sie **Vorschau** aus, um eine Vorschau der verketteten Daten anzuzeigen.

1. Wählen Sie **Hinzufügen** aus, um den neuen Datensatz zu Ihrem Datenablauf hinzuzufügen. 

Sie sollten nun einen Verkettungsknoten in Ihrem Datenfluss sehen.

## Daten ausgleichen
<a name="canvas-transform-balance-data"></a>

Sie können die Daten für Datensätze mit einer unterrepräsentierten Kategorie ausgleichen. Wenn Sie einen Datensatz ausgleichen, können Sie bessere Modelle für die binäre Klassifikation erstellen.

**Anmerkung**  
Sie können keine Datensätze ausgleichen, die Spaltenvektoren enthalten.

Sie können die Operation **Daten ausgleichen** verwenden, um Ihre Daten mit einem der folgenden Operatoren auszugleichen:
+ *Zufälliges Oversampling* – Dupliziert in der Minderheitenkategorie nach dem Zufallsprinzip. Wenn Sie z. B. versuchen, Betrug aufzudecken, haben Sie ggf. nur bei 10% Ihrer Daten Betrugsfälle. Bei einem gleichen Anteil betrügerischer und nicht betrügerischer Fälle dupliziert dieser Operator Betrugsfälle im Datensatz 8-mal nach dem Zufallsprinzip.
+ *Zufälliges Undersampling* – entspricht in etwa dem zufälligen Oversampling. Entfernt Stichproben aus der überrepräsentierten Kategorie nach dem Zufallsprinzip, um den gewünschten Stichprobenanteil zu erhalten.
+ *Synthetic Minority Oversampling Technique (SMOTE)* – Verwendet Stichproben aus der unterrepräsentierten Kategorie, um synthetische neue Stichproben aus der unterrepräsentierten Kategorie zu interpolieren. Weitere Informationen zu SMOTE finden Sie in der folgenden Beschreibung.

Sie können alle Transformationen für Datensätze verwenden, die sowohl numerische als auch nichtnumerische Funktionen enthalten. SMOTE interpoliert Werte anhand benachbarter Stichproben. Data Wrangler verwendet die R-Quadrat-Entfernung, um die Nachbarschaft für die Interpolation der zusätzlichen Stichproben zu bestimmen. Data Wrangler verwendet nur numerische Features, um die Entfernungen zwischen den Stichproben in der unterrepräsentierten Gruppe zu berechnen.

Für zwei reale Stichproben in der unterrepräsentierten Gruppe interpoliert Data Wrangler die numerischen Funktionen anhand eines gewichteten Durchschnitts. Es weist den Stichproben im Bereich [0, 1] nach dem Zufallsprinzip Gewichtungen zu. Bei numerischen Funktionen interpoliert Data Wrangler Stichproben anhand eines gewichteten Durchschnitts der Stichproben. Den Stichproben A und B könnte Data Wrangler nach dem Zufallsprinzip eine Gewichtung von 0,7 A und 0,3 B zuweisen. Die interpolierte Stichprobe hat einen Wert von 0,7 A \$1 0,3 B.

Data Wrangler interpoliert nichtnumerische Features, indem es eines der beiden interpolierten realen Stichproben kopiert. Es kopiert die Stichproben mit einer Wahrscheinlichkeit, die es jeder Stichprobe nach dem Zufallsprinzip zuweist. Für die Stichproben A und B kann A die Wahrscheinlichkeiten 0,8 und B 0,2 zugewiesen werden. Für die so zugewiesenen Wahrscheinlichkeiten kopiert es A in 80% der Fälle.

## Benutzerdefinierte Transformationen
<a name="canvas-transform-custom"></a>

In der Gruppe **Benutzerdefinierte Transformationen** können Sie Python (benutzerdefinierte Funktion), PySpark Pandas oder PySpark (SQL) verwenden, um benutzerdefinierte Transformationen zu definieren. Bei allen drei Optionen verwenden Sie die Variable, `df` um auf den Datenrahmen zuzugreifen, auf den Sie die Transformation anwenden möchten. Um Ihren benutzerdefinierten Code auf Ihren Datenrahmen anzuwenden, weisen Sie den Datenrahmen mit den Transformationen zu, die Sie an der Variablen `df` vorgenommen haben. Wenn Sie Python (benutzerdefinierte Funktionen) nicht verwenden, brauchen Sie keine Rückgabeanweisung zu verwenden. Wählen Sie **Vorschau** aus, damit eine Vorschau des Ergebnisses der benutzerdefinierten Transformation angezeigt wird. Wählen Sie **Hinzufügen** aus, um die benutzerdefinierte Transformation zu Ihrer Liste der **Vorherigen Schritte** hinzuzufügen.

Sie können die beliebten Bibliotheken mit einer `import` Anweisung im Code-Block für die benutzerdefinierte Transformation importieren, z. B. den folgenden:
+ NumPy Version 1.19.0
+ scikit-learn Version 0.23.2
+ SciPy Ausführung 1.5.4
+ pandas Version 1.0.3
+ PySpark Ausführung 3.0.0

**Wichtig**  
Die **benutzerdefinierte Transformation** unterstützt keine Spalten mit Leerzeichen oder Sonderzeichen im Namen. Wir empfehlen, Spaltennamen anzugeben, die nur alphanumerische Zeichen und Unterstriche enthalten. Sie können die Transformation **Spalte umbenennen** in der Transformationsgruppe **Spalten verwalten** verwenden, um Leerzeichen aus dem Namen einer Spalte zu entfernen. Sie können in **Python (Pandas)** auch eine **benutzerdefinierte Transformation** hinzufügen, die der folgenden ähnelt, um in einem einzigen Schritt Leerzeichen aus mehreren Spalten zu entfernen. In diesem Beispiel werden die Spalten mit den Namen `A column` und `B column` in `A_column` bzw. `B_column` geändert.   

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

Wenn Sie Druckanweisungen in den Code-Block aufnehmen, wird das Ergebnis angezeigt, wenn Sie **Vorschau** auswählen. Sie können die Größe des Transformationsfeldes für benutzerdefinierten Code ändern. Durch die Größenänderung des Bedienfeldes steht mehr Platz zum Schreiben von Code zur Verfügung. 

Die folgenden Abschnitte bieten zusätzlichen Kontext und Beispiele zum Schreiben von benutzerdefiniertem Transformationscode.

**Python (benutzerdefinierte Funktion)**

Die Python-Funktion gibt Ihnen die Möglichkeit, benutzerdefinierte Transformationen zu schreiben, ohne Apache Spark oder Pandas kennen zu müssen. Data Wrangler ist so optimiert, dass Sie Ihren benutzerdefinierten Code schnell ausführen können. Mit benutzerdefiniertem Python-Code und einem Apache Spark-Plugin erhalten Sie eine ähnliche Leistung.

Um den Python-Code-Block (benutzerdefinierte Funktion) zu verwenden, geben Sie Folgendes an:
+ **Eingabespalte** – Die Eingabespalte, in der Sie die Transformation anwenden.
+ **Modus** – Der Skriptmodus, entweder Pandas oder Python.
+ **Rückgabetyp** – Der Datentyp des Wertes, den Sie zurückgeben.

Der Pandas-Modus ist leistungsfähiger. Der Python-Modus erleichtert Ihnen das Schreiben von Transformationen mithilfe reiner Python-Funktionen.

**PySpark**

Im folgenden Beispiel werden Datum und Uhrzeit aus einem Zeitstempel extrahiert.

```
from pyspark.sql.functions import from_unixtime, to_date, date_format
df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP'))
df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn(
'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
```

**pandas**

Das folgende Beispiel gibt einen Überblick über den Datenrahmen, zu dem Sie Transformationen hinzufügen. 

```
df.info()
```

**PySpark (SQL)**

Das folgende Beispiel erstellt einen neuen Datenrahmen mit vier Spalten: *Name*, *Fare*, *pclass*, *überlebt*.

```
SELECT name, fare, pclass, survived FROM df
```

Wenn Sie nicht wissen, wie man es benutzt PySpark, können Sie benutzerdefinierte Codefragmente verwenden, um Ihnen den Einstieg zu erleichtern.

Data Wrangler verfügt über eine durchsuchbare Sammlung von Codeausschnitten. Sie können Codeausschnitte verwenden, um Aufgaben wie das Löschen von Spalten, das Gruppieren nach Spalten oder das Modellieren auszuführen.

Um einen Codeausschnitt zu verwenden, wählen Sie **Beispielschnitte durchsuchen** und geben Sie in der Suchleiste eine Abfrage an. Der Text, den Sie in der Abfrage angeben, muss nicht exakt mit dem Namen des Codeausschnitts übereinstimmen.

Das folgende Beispiel zeigt den Codeausschnitt **Doppelte Zeilen löschen**, mit dem Zeilen mit ähnlichen Daten in Ihrem Datensatz gelöscht werden können. Sie können den Codeausschnitt finden, indem Sie nach einem der folgenden Suchbegriffe suchen:
+ Duplikate
+ Identisch
+ Remove

Das folgende Snippet enthält Kommentare, die Ihnen helfen sollen, die Änderungen zu verstehen, die Sie vornehmen müssen. Für die meisten Snippets müssen Sie die Spaltennamen Ihres Datensatzes im Code angeben.

```
# Specify the subset of columns
# all rows having identical values in these columns will be dropped

subset = ["col1", "col2", "col3"]
df = df.dropDuplicates(subset)  

# to drop the full-duplicate rows run
# df = df.dropDuplicates()
```

Um ein Snippet zu verwenden, kopieren Sie seinen Inhalt und fügen Sie ihn in das **benutzerdefinierte Transformationsfeld** ein. Sie können mehrere Codeausschnitte kopieren und sie in das benutzerdefinierte Transformationsfeld einfügen.

## Benutzerdefinierte Formel
<a name="canvas-transform-custom-formula"></a>

Verwenden Sie die **Benutzerdefinierte Formel**, um mithilfe eines Spark-SQL-Ausdrucks eine neue Spalte zu definieren, um Daten im aktuellen Datenrahmen abzufragen. Die Abfrage muss die Konventionen der Spark-SQL-Ausdrücke verwenden.

**Wichtig**  
Die **Benutzerdefinierte Formel** unterstützt keine Spalten mit Leerzeichen oder Sonderzeichen im Namen. Wir empfehlen, Spaltennamen anzugeben, die nur alphanumerische Zeichen und Unterstriche enthalten. Sie können die Transformation **Spalte umbenennen** in der Transformationsgruppe **Spalten verwalten** verwenden, um Leerzeichen aus dem Namen einer Spalte zu entfernen. Sie können in **Python (Pandas)** auch eine **benutzerdefinierte Transformation** hinzufügen, die der folgenden ähnelt, um in einem einzigen Schritt Leerzeichen aus mehreren Spalten zu entfernen. In diesem Beispiel werden die Spalten mit den Namen `A column` und `B column` in `A_column` bzw. `B_column` geändert.   

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

Sie können diese Transformation verwenden, um Operationen an Spalten durchzuführen und die Spalten anhand ihres Namens zu referenzieren. Angenommen, der aktuelle Datenrahmen enthält Spalten mit den Namen *col\$1a* und *col\$1b*. Dann können Sie die folgende Operation verwenden, um eine **Ausgabespalte** zu erstellen, die das Produkt dieser beiden Spalten mit dem folgenden Code ist:

```
col_a * col_b
```

Andere übliche Operationen sind folgende, vorausgesetzt, ein Datenrahmen enthält `col_a` und `col_b` Spalten:
+ Zwei Spalten verketten: `concat(col_a, col_b)`
+ Zwei Spalten hinzufügen: `col_a + col_b`
+ Zwei Spalten subtrahieren: `col_a - col_b`
+ Zwei Spalten teilen: `col_a / col_b`
+ Den Absolutwert einer Spalte nehmen: `abs(col_a)`

Weitere Informationen finden Sie in der [Spark-Dokumentation](http://spark.apache.org/docs/latest/api/python) zur Datenauswahl. 

## Die Dimensionalität innerhalb eines Datensatzes reduzieren
<a name="canvas-transform-dimensionality-reduction"></a>

Mit der Principal Component Analysis (PCA) können Sie die Dimensionalität Ihrer Daten reduzieren. Die Dimensionalität Ihres Datensatzes entspricht der Anzahl der Features. Wenn Sie die Dimensionsreduktion in Data Wrangler verwenden, erhalten Sie einen neuen Satz von Funktionen, die als Komponenten bezeichnet werden. Jede Komponente berücksichtigt eine gewisse Variabilität in den Daten.

Die erste Komponente macht die größte Variation in den Daten aus. Die zweite Komponente ist für die zweitgrößte Variation in den Daten verantwortlich usw.

Sie können die Dimensionsreduzierung verwenden, um die Größe der Datensätze zu reduzieren, die Sie zum Trainieren von Modellen verwenden. Anstatt die Funktionen in Ihrem Datensatz zu verwenden, können Sie die Hauptkomponenten verwenden.

Für die PCA erstellt Data Wrangler Achsen für Ihre Daten. Eine Achse ist eine affine Kombination von Spalten in Ihrem Datensatz. Die erste Hauptkomponente ist der Wert auf der Achse, die die größte Varianz aufweist. Die zweite Hauptkomponente ist der Wert auf der Achse mit der zweitgrößten Varianz. Die n-te Hauptkomponente ist der Wert auf der Achse, der die n-t-größte Varianz aufweist.

Sie können die Anzahl der Hauptkomponenten konfigurieren, die Data Wrangler zurückgibt. Sie können entweder direkt die Anzahl der Hauptkomponenten oder den Schwellenwert der Varianz in Prozent angeben. Jede Hauptkomponente erklärt ein gewisses Maß an Varianz in den Daten. Sie haben z. B. vielleicht eine Hauptkomponente mit einem Wert von 0,5. Die Komponente würde 50% der Streuung in den Daten erklären. Wenn Sie einen prozentualen Schwellenwert für die Varianz angeben, gibt Data Wrangler die kleinste Anzahl von Komponenten zurück, die dem von Ihnen angegebenen Prozentsatz entsprechen.

Im Folgenden finden Sie Beispiele für Hauptkomponenten mit dem Betrag der Varianz, den sie in den Daten erklären.
+ Komponente 1 – 0,5
+ Komponente 2 – 0,45
+ Komponente 3 – 0,05

Wenn Sie einen Schwellenwert für die Varianz in Prozent von `94` oder `95` angeben, gibt Data Wrangler Komponente 1 und Komponente 2 zurück. Wenn Sie einen Schwellenwert für die Varianz in Prozent von `96` angeben, gibt Data Wrangler alle drei Hauptkomponenten zurück.

Mit Hilfe des folgenden Verfahrens können Sie die PCA auf Ihren Datensatz anwenden.

Gehen Sie folgendermaßen vor, um die PCA auf Ihren Datensatz anzuwenden.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Dimensionalität reduzieren**.

1. Wählen Sie für **Eingabespalten** die Funktionen aus, die Sie auf die Hauptkomponenten reduzieren möchten.

1. (Optional) Wählen Sie für **Anzahl der Hauptkomponenten** die Anzahl der Hauptkomponenten aus, die Data Wrangler in Ihrem Datensatz zurückgibt. Wenn Sie einen Wert für das Feld angeben, können Sie keinen Wert für den **Schwellenwert für die Varianz in Prozent** angeben.

1. (Optional) Geben Sie für den **Schwellenwert für die Varianz in Prozent** den Prozentsatz der Streuung in den Daten an, der durch die Hauptkomponenten erklärt werden soll. Data Wrangler verwendet den Standardwert von `95`, wenn Sie keinen Wert für den Schwellenwert für die Varianz angeben. Sie können keinen Schwellenwert für die Varianz in Prozent angeben, wenn Sie einen Wert für **Anzahl der Hauptkomponenten** angegeben haben.

1. (Optional) Deaktivieren Sie **Mitte**, um den Mittelwert der Spalten nicht als Mittelpunkt der Daten zu verwenden. Standardmäßig zentriert Data Wrangler die Daten vor der Skalierung anhand des Mittelwerts.

1. (Optional) Deaktivieren Sie **Skalieren**, wenn die Daten nicht mit der Standardabweichung der Einheit skaliert werden sollen.

1. (Optional) Wählen Sie **Spalten**, um die Komponenten in separaten Spalten auszugeben. Wählen Sie **Vektor**, um die Komponenten als Einzelvektor auszugeben.

1. (Optional) Geben Sie unter **Ausgabespalte** einen Namen für eine Ausgabespalte an. Wenn Sie die Komponenten in separate Spalten ausgeben, ist der angegebene Name ein Präfix. Wenn Sie die Komponenten in einen Vektor ausgeben, entspricht der von Ihnen angegebene Name dem Namen der Vektorspalte.

1. (Optional) Wählen Sie **Eingabespalten beibehalten** aus. Wir empfehlen, diese Option nicht zu wählen, wenn Sie nur die Hauptkomponenten zum Trainieren Ihres Modells verwenden möchten.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

## Kategorisch codieren
<a name="canvas-transform-cat-encode"></a>

Kategorische Daten bestehen normalerweise aus einer endlichen Anzahl von Kategorien, wobei jede Kategorie durch eine Zeichenfolge dargestellt wird. Wenn Sie z. B. eine Tabelle mit Kundendaten haben, ist eine Spalte, die angibt, in welchem Land eine Person lebt, kategorisch. Die Kategorien wären *Afghanistan*, *Albanien*, *Algerien* usw. Kategorische Daten können *nominal* oder *ordinal* sein. Ordinale Kategorien haben eine inhärente Reihenfolge, nominale Kategorien nicht. Der höchste erreichte Bildungsabschluss (*Gymnasium*, *Bachelor*, *Master* usw.) ist ein Beispiel für ordinale Kategorien. 

Beim Kodieren von kategorischen Daten wird für Kategorien eine numerische Darstellung erstellt. Wenn Ihre Kategorien z. B. *Hund* und *Katze* sind, können Sie diese Informationen in zwei Vektoren kodieren, `[1,0]` für *Hund* und `[0,1]` für *Katze*.

Wenn Sie ordinale Kategorien kodieren, müssen Sie ggf. die natürliche Reihenfolge der Kategorien in Ihre Codierung übersetzen. Sie können z. B. den höchsten Bildungsabschluss mit der folgenden Abbildung darstellen: `{"High school": 1, "Bachelors": 2, "Masters":3}`.

Verwenden Sie die kategorische Codierung, um kategorische Daten, die im Zeichenfolgenformat vorliegen, in Arrays von ganzen Zahlen zu kodieren. 

Die kategorischen Encoder von Data Wrangler erstellen Codierungen für alle Kategorien, die zum Zeitpunkt der Definition des Schrittes in einer Spalte vorhanden waren. Wenn zu einer Spalte beim Start eines Data Wrangler-Auftrags zur Verarbeitung Ihres Datensatzes zum Zeitpunkt *t* neue Kategorien hinzugefügt wurden und diese Spalte zum Zeitpunkt *t* -1 die Eingabe für eine kategorische Codierungstransformation von Data Wrangler war, werden diese neuen Kategorien im Data Wrangler-Auftrag als *fehlend* betrachtet. Die Option, die Sie für **Ungültige Verarbeitungsstrategie** auswählen, wird auf diese fehlenden Werte angewendet. Beispiele dafür, wann es dazu kommen kann, sind: 
+ Wenn Sie eine .flow-Datei verwenden, um einen Data Wrangler-Auftrag zur Verarbeitung eines Datensatzes zu erstellen, der nach der Erstellung des Datenablaufs aktualisiert wurde. Sie können z. B. einen Datenablauf verwenden, um jeden Monat regelmäßig Verkaufsdaten zu verarbeiten. Wenn diese Verkaufsdaten wöchentlich aktualisiert werden, können neue Kategorien in Spalten eingeführt werden, für die ein kategorischer Codierungsschritt definiert ist. 
+ Wenn Sie beim Import Ihres Datensatzes die Option **Probenahme** auswählen, werden manche Kategorien in der Stichprobe ggf. nicht berücksichtigt. 

In diesen Situationen werden diese neuen Kategorien im Data Wrangler-Auftrag als fehlende Werte betrachtet.

Sie können zwischen einer *ordinalen* und einer *One-Hot-Codierung* wählen und diese konfigurieren. In den folgenden Abschnitten erfahren Sie mehr über diese Optionen. 

Beide Transformationen erstellen eine neue Spalte mit dem Namen **Name deer Ausgabespalte**. Sie geben das Ausgabeformat dieser Spalte mit dem **Ausgabestil** an:
+ Wählen Sie **Vektor**, um eine einzelne Spalte mit einem spärlichen Vektor zu erzeugen. 
+ Wählen Sie **Spalten**, um für jede Kategorie eine Spalte mit einer Indikatorvariablen zu erstellen, die angibt, ob der Text in der ursprünglichen Spalte einen Wert enthält, der dieser Kategorie entspricht.

### Ordinale Codierung
<a name="canvas-transform-cat-encode-ordinal"></a>

Wählen Sie **Ordinale Codierung** aus, um Kategorien in eine Ganzzahl zwischen 0 und der Gesamtzahl der Kategorien in der ausgewählten **Eingabespalte** zu kodieren.

**Ungültige Handhabungsstrategie**: Wählen Sie eine Methode zum Umgang mit ungültigen oder fehlenden Werte aus. 
+ Wählen Sie **Überspringen** aus, wenn Sie die Zeilen mit fehlenden Werten weglassen möchten.
+ Wählen Sie **Behalten** aus, um fehlende Werte als letzte Kategorie beizubehalten.
+ Wählen Sie **Fehler** aus, wenn Data Wrangler einen Fehler ausgeben soll, wenn in der **Eingabespalte** fehlende Werte gefunden werden.
+ Wählen Sie **Durch NaN ersetzen**, um fehlende Daten durch NaN zu ersetzen. Diese Option wird empfohlen, wenn Ihr ML-Algorithmus mit fehlenden Werten umgehen kann. Andernfalls führen die ersten drei Optionen auf dieser Liste ggf. zu besseren Ergebnissen.

### One-Hot-Codierung
<a name="canvas-transform-cat-encode-onehot"></a>

Wählen Sie **One-Hot-Codierung** aus, damit **Transform** die One-Hot-Codierung verwendet. Konfigurieren Sie diese Transformation wie folgt: 
+ **Letzte Kategorie löschen**: Falls `True`, hat die letzte Kategorie in der One-Hot-Codierung keinen entsprechenden Index. Wenn fehlende Werte möglich sind, ist eine fehlende Kategorie immer die letzte. Wenn Sie diesen Wert auf `True` setzen, bedeutet dies, dass ein fehlender Wert zu einem reinen Nullvektor führt.
+ **Ungültige Handhabungsstrategie**: Wählen Sie eine Methode zum Umgang mit ungültigen oder fehlenden Werte aus. 
  + Wählen Sie **Überspringen** aus, wenn Sie die Zeilen mit fehlenden Werten weglassen möchten.
  + Wählen Sie **Behalten** aus, um fehlende Werte als letzte Kategorie beizubehalten.
  + Wählen Sie **Fehler** aus, wenn Data Wrangler einen Fehler ausgeben soll, wenn in der **Eingabespalte** fehlende Werte gefunden werden.
+ **Ist die Eingabe ordinal codiert**: Wählen Sie diese Option, wenn der Eingabevektor ordinal codierte Daten enthält. Für diese Option ist es erforderlich, dass Eingabedaten nicht-negative Ganzzahlen enthalten. Wenn **True** wird die Eingabe *i* als Vektor mit einem Wert ungleich Null in der *i*-ten Position codiert. 

### Ähnlichkeitscodierung
<a name="canvas-transform-cat-encode-similarity"></a>

Verwenden Sie die Ähnlichkeitscodierung, wenn folgendes vorliegt:
+ Eine große Anzahl kategorischer Variablen
+ Verrauschte Daten

Der Ähnlichkeits-Encoder erstellt für Spalten mit kategorischen Daten Einbettungen. Eine Einbettung ist eine Zuordnung diskreter Objekte, wie z. B. Wörter, auf Vektoren von realen Zahlen. Sie codiert Zeichenfolgen, die Vektoren mit ähnlichen Werten ähneln. Zum Beispiel erstellt sie sehr ähnliche Codierungen für „California“ und „Calfornia“.

Data Wrangler konvertiert jede Kategorie in Ihrem Datensatz mithilfe eines 3-Gramm-Tokenizers in einen Satz Token. Er konvertiert die Token mithilfe der Min-Hash-Codierung in eine Einbettung.

Die von Data Wrangler erstellten Ähnlichkeitscodierungen:
+ Haben eine geringere Dimensionalität
+ Sind auf eine große Anzahl von Kategorien skalierbar
+ Sind robust und rauschbeständig

Aus den o.g. Gründen ist die Ähnlichkeitscodierung vielseitiger als die One-Hot-Codierung.

Gehen Sie wie folgt vor, um die Ähnlichkeitscodierungstransformation zu Ihrem Datensatz hinzuzufügen.

Gehen Sie wie folgt vor, um die Ähnlichkeitscodierung zu verwenden.

1. Melden Sie sich bei der [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker/) an.

1. Wählen Sie **Studio Classic öffnen** aus.

1. Wählen Sie **App starten**.

1. Wählen Sie **Studio**.

1. Geben Sie Ihren Datenablauf an.

1. Wählen Sie einen Schritt mit Transformation.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Kategorisch codieren**.

1. Machen Sie folgende Angaben:
   + **Transformation** – **Ähnlichkeitscodierung**
   + **Eingabespalte** – Die Spalte mit den kategorischen Daten, die Sie codieren wollen.
   + **Zieldimension** – (Optional) Die Dimension des kategorischen Einbettungsvektors. Der Standardwert lautet 30. Wir empfehlen, eine höhere Zieldimension zu verwenden, wenn Sie einen großen Datensatz mit vielen Kategorien haben.
   + **Ausgabestil** – Wählen Sie **Vektor** für einen Einzelvektor mit allen kodierten Werten. Wählen Sie **Spalte**, wenn die codierten Werte in separaten Spalten angezeigt werden sollen.
   + **Ausgabespalte** – (Optional) Der Name der Ausgabespalte für eine vektorkodierte Ausgabe. Bei einer spaltencodierten Ausgabe ist dies das Präfix der Spaltennamen, gefolgt von einer aufgelisteten Zahl.

## Text funktionalisieren
<a name="canvas-transform-featurize-text"></a>

Verwenden Sie die Transformationsgruppe **Text funktionalisieren**, um Spalten mit Zeichenfolgen zu untersuchen und diese Spalten mithilfe von Texteinbettung zu funktionalisieren. 

Diese Feature-Gruppe beinhaltet zwei Funktionen: *Zeichenstatistik* und *Vektorisieren*. In den folgenden Abschnitten erfahren Sie mehr über diese Transformationen. Für beide Optionen muss die **Eingabespalte** Textdaten (vom Typ Zeichenfolge) enthalten.

### Zeichenstatistik
<a name="canvas-transform-featurize-text-character-stats"></a>

Mit Hilfe der **Zeichenstatistik** können Sie für jede Zeile in einer Spalte, die Textdaten enthält, Statistiken erzeugen. 

Diese Transformation berechnet die folgenden Verhältnisse und Anzahlen für jede Zeile und erstellt eine neue Spalte, in der das Ergebnis angegeben wird. Die neue Spalte wird mit dem Namen der Eingabespalte als Präfix und einem Suffix benannt, das für das Verhältnis oder die Anzahl spezifisch ist. 
+ **Anzahl der Wörter**: Die Gesamtzahl der Wörter in dieser Zeile. Das Suffix für diese Ausgabespalte ist `-stats_word_count`.
+ **Anzahl der Zeichen**: Die Gesamtzahl der Zeichen in dieser Zeile. Das Suffix für diese Ausgabespalte ist `-stats_char_count`.
+ **Verhältnis von Großbuchstaben**: Die Anzahl der Großbuchstaben von A bis Z geteilt durch die Anzahl aller Zeichen in der Spalte. Das Suffix für diese Ausgabespalte ist `-stats_capital_ratio`.
+ **Verhältnis von Kleinbuchstaben**: Die Anzahl der Kleinbuchstaben von A bis Z geteilt durch die Anzahl aller Zeichen in der Spalte. Das Suffix für diese Ausgabespalte ist `-stats_lower_ratio`.
+ **Ziffernverhältnis**: Das Verhältnis der Ziffern in einer einzelnen Zeile zur Summe der Ziffern in der Eingabespalte. Das Suffix für diese Ausgabespalte ist `-stats_digit_ratio`.
+ **Verhältnis von Sonderzeichen**: Das Verhältnis von nicht alphanumerischen Zeichen (Zeichen wie \$1\$1&%: @) zur Summe aller Zeichen in der Eingabespalte. Das Suffix für diese Ausgabespalte ist `-stats_special_ratio`.

### Vektorisieren
<a name="canvas-transform-featurize-text-vectorize"></a>

Beim Einbetten von Text werden Wörter oder Wortgruppen aus einem Vokabular Vektoren aus realen Zahlen zugeordnet. Verwenden Sie die Data Wrangler-Transformation zur Texteinbettung, um Textdaten zu tokenisieren und in Vektoren mit umgekehrter Dokumentenfrequenz (Term Frequency – Inverse Document Frequency, TF-IDF) umzuwandeln und zu vektorisieren. 

Wenn TF-IDF für eine Spalte mit Textdaten berechnet wird, wird jedes Wort in jedem Satz in eine reale Zahl umgewandelt, die seine semantische Bedeutung darstellt. Höhere Zahlen werden weniger häufigen Wörtern zugeordnet, die tendenziell bedeutsamer sind. 

Wenn Sie einen Transformationsschritt mit **Vektorisierung** definieren, verwendet Data Wrangler die Daten in Ihrem Datensatz, um die Methoden Count-Vectorizer und TF-IDF zu definieren. Bei der Ausführung eines Data Wrangler-Auftrags werden dieselben Methoden verwendet.

Diese Transformation konfigurieren Sie wie folgt: 
+ **Name der Ausgabespalte**: Diese Transformation erstellt eine neue Spalte mit eingebettetem Text. In diesem Feld können Sie einen Namen für diese Ausgabespalte angeben. 
+ **Tokenizer**: Ein Tokenizer wandelt den Satz in eine Liste von Wörtern oder *Tokens* um. 

  Wählen Sie **Standard**, um einen Tokenizer zu verwenden, der durch Leerzeichen teilt und für jedes Wort die Kleinschreibung wählt. Zum Beispiel wird `"Good dog"` in `["good","dog"]` tokenisiert.

  Wählen Sie **Benutzerdefiniert**, um einen benutzerdefinierten Tokenizer zu verwenden. Wenn Sie **Benutzerdefiniert** wählen, können Sie den Tokenizer mit Hilfe der folgenden Felder konfigurieren:
  + **Mindestlänge eines Tokens**: Die Mindestlänge in Zeichen, damit ein Token gültig ist. Standardeinstellung: `1`. Wenn Sie z. B. eine Mindestlänge `3` für ein Token angeben, `a, at, in` werden Wörter wie aus dem tokenisierten Satz gestrichen. 
  + **Soll Regex bei Lücken getrennt werden**: Wenn diese Option ausgewählt ist, trennt **Regex** bei Lücken. Andernfalls entspricht es den Tokens. Standardeinstellung: `True`. 
  + **Regex-Muster**: Regex-Muster, das den Tokenisierungsprozess definiert. Standardeinstellung: `' \\ s+'`.
  + **In Kleinbuchstaben**: Wenn diese Option ausgewählt ist, konvertiert Data Wrangler vor der Tokenisierung alle Zeichen in Kleinbuchstaben. Standardeinstellung: `True`.

  Weitere Informationen finden Sie in der Spark-Dokumentation zum [Tokenizer](https://spark.apache.org/docs/latest/ml-features#tokenizer).
+ **Vectorizer**: Der Vectorizer konvertiert die Liste der Tokens in einen spärlichen numerischen Vektor. Jeder Token entspricht einem Index im Vektor. Ein Wert ungleich Null weist auf die Existenz des Tokens im Eingabesatz hin. Sie können zwischen zwei Vektorizer-Optionen wählen: *Count* und *Hashing*.
  + **Count Vectorize** erlaubt Anpassungen, bei denen seltene oder zu übliche Tokens herausgefiltert werden. **Parameter für die Vektorisierung der Anzahl** sind u.a.: 
    + **Mindesthäufigkeit eines Begriffs**: In jeder Zeile werden Begriffe (Tokens) mit geringerer Häufigkeit herausgefiltert. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung: `1`.
    + **Mindestdokumenthäufigkeit**: Die Mindestanzahl der Zeilen, in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung: `1`.
    + **Maximale Dokumenthäufigkeit**: Die maximale Anzahl von Dokumenten (Zeilen), in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung: `0.999`.
    + **Maximale Größe des Vokabulars**: Maximale Größe des Vokabulars. Das Vokabular besteht aus allen Begriffen (Tokens) in allen Zeilen der Spalte. Standardeinstellung: `262144`.
    + **Binäre Ausgaben**: Wenn diese Option ausgewählt ist, enthalten die Vektorausgaben nicht die Anzahl, mit der ein Begriff in einem Dokument vorkommt, sondern sind vielmehr ein binärer Indikator für sein Vorkommen. Standardeinstellung: `False`.

    Weitere Informationen zu dieser Option finden Sie in der Spark-Dokumentation unter [CountVectorizer](https://spark.apache.org/docs/latest/ml-features#countvectorizer).
  + **Hashing** ist rechnerisch schneller. Die **Parameter für die Hash-Vektorisierung** beinhalten:
    + **Die Anzahl der Funktionen beim Hashing**: Ein Hash-Vektorisierer ordnet Token entsprechend ihrem Hash-Wert einem Vektorindex zu. Diese Funktion bestimmt die Anzahl der möglichen Hash-Werte. Große Werte führen zu weniger Kollisionen zwischen Hash-Werten, aber zu einem höherdimensionalen Ausgabevektor.

    Weitere Informationen zu dieser Option finden Sie in der Spark-Dokumentation unter [FeatureHasher](https://spark.apache.org/docs/latest/ml-features#featurehasher)
+ **IDF anwenden** wendet eine IDF-Transformation an, bei der die Häufigkeit des Begriffs mit der inversen Standarddokumenthäufigkeit multipliziert wird, die für die TF-IDF-Einbettung verwendet wird. **IDF-Parameter** sind u.a.: 
  + **Mindestdokumenthäufigkeit**: Die Mindestanzahl von Dokumenten (Zeilen), in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn **count\$1vectorize** der gewählte Vectorizer ist, empfehlen wir, den Standardwert beizubehalten und nur das Feld **min\$1doc\$1freq** in den **Count vectorize-Parametern** zu ändern. Standardeinstellung: `5`.
+ **Ausgabeformat**: Das Ausgabeformat jeder Zeile. 
  + Wählen Sie **Vektor**, um eine einzelne Spalte mit einem spärlichen Vektor zu erzeugen. 
  + Wählen Sie **Abgeflacht**, um für jede Kategorie eine Spalte mit einer Indikatorvariablen zu erstellen, die angibt, ob der Text in der ursprünglichen Spalte einen Wert enthält, der dieser Kategorie entspricht. Sie können Abgeflacht nur wählen, wenn **Vectorizer** als Vectorizer **Count vectorizer** ausgewählt ist.

## Zeitreihen transformieren
<a name="canvas-transform-time-series"></a>

In Data Wrangler können Sie Zeitreihendaten transformieren. Die Werte in einem Zeitreihendatensatz sind für eine spezfische Zeit indexiert. Bei einem Datensatz, der die Anzahl der Kunden in einem Geschäft für jede Stunde des Tages anzeigt, handelt es sich z. B. um einen Zeitreihendatensatz. Die folgende Tabelle zeigt ein Beispiel für einen Zeitreihendatensatz.

Stündliche Anzahl von Kunden in einem Geschäft


| Anzahl der Kunden | Zeit (Stunde) | 
| --- | --- | 
| 4 | 09:00 | 
| 10 | 10:00 | 
| 14 | 11:00 | 
| 25 | 12:00 | 
| 20 | 13:00 | 
| 18 | 14:00 | 

In der obigen Tabelle enthält die Spalte **Anzahl der Kunden** die Zeitreihendaten. Die Zeitreihendaten werden anhand der stündlichen Daten in der Spalte **Zeit (Stunde)** indexiert.

Sie müssen ggf. eine Reihe von Transformationen an Ihren Daten vornehmen, um diese in ein Format zu bringen, das Sie für Ihre Analyse verwenden können. Verwenden Sie die Transformationsgruppe **Zeitreihen**, um Ihre Zeitreihendaten zu transformieren. Weitere Informationen zu den Transformationen, die Sie vornehmen können, finden Sie in den folgenden Abschnitten.

**Topics**
+ [Gruppierung nach Zeitreihe](#canvas-group-by-time-series)
+ [Nehmen Sie erneut Proben aus den Zeitreihendaten](#canvas-resample-time-series)
+ [Fehlende Zeitreihendaten behandeln](#canvas-transform-handle-missing-time-series)
+ [Überprüfen Sie den Zeitstempel Ihrer Zeitreihendaten](#canvas-transform-validate-timestamp)
+ [Länge der Zeitreihe standardisieren](#canvas-transform-standardize-length)
+ [Funktionen aus Ihren Zeitreihendaten extrahieren](#canvas-transform-extract-time-series-features)
+ [Verwenden Sie verzögerte Funktionen aus Ihren Zeitreihendaten](#canvas-transform-lag-time-series)
+ [Einen DateTime-Bereich in Ihrer Zeitreihe erstellen](#canvas-transform-datetime-range)
+ [Verwenden Sie in Ihrer Zeitreihe ein rollendes Fenster](#canvas-transform-rolling-window)

### Gruppierung nach Zeitreihe
<a name="canvas-group-by-time-series"></a>

Sie können den Vorgang „Gruppieren nach“ verwenden, um Zeitreihendaten für bestimmte Werte in einer Spalte zu gruppieren.

Sie haben z. B. die folgende Tabelle, in der der durchschnittliche tägliche Stromverbrauch in einem Haushalt erfasst wird.

Durchschnittlicher täglicher Stromverbrauch im Haushalt


| Haushalts-ID | Täglicher Zeitstempel | Stromverbrauch (kWh) | Anzahl der Bewohner im Haushalt | 
| --- | --- | --- | --- | 
| household\$10 | 1.1.2020 | 30 | 2 | 
| household\$10 | 1/2/2020 | 40 | 2 | 
| household\$10 | 1/4/2020 | 35 | 3 | 
| household\$11 | 1/2/2020 | 45 | 3 | 
| household\$11 | 3/1/2020 | 55 | 4 | 

Wenn Sie nach ID gruppieren wollen, erhalten Sie die folgende Tabelle.

Stromverbrauch gruppiert nach Haushalts-ID


| Haushalts-ID | Stromverbrauchsserie (kWh) | Serie Anzahl der Bewohner im Haushalt | 
| --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 
| household\$11 | [45, 55] | [3, 4] | 

Jeder Eintrag in der Zeitreihenfolge ist nach dem jeweiligen Zeitstempel sortiert. Das erste Element der Reihenfolge entspricht dem ersten Zeitstempel der Serie. Für `household_0`, ist `30` der erste Wert der **Serie „Stromverbrauch“**. Der Wert von `30` entspricht dem ersten Zeitstempel von `1/1/2020`.

Sie können den Anfangs- und den Endzeitstempel einschließen. Die folgende Tabelle zeigt, wie diese Informationen erscheinen.

Stromverbrauch gruppiert nach Haushalts-ID


| Haushalts-ID | Stromverbrauchsserie (kWh) | Serie Anzahl der Bewohner im Haushalt | Start\$1time | End\$1time | 
| --- | --- | --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 1.1.2020 | 04.01.2020 | 
| household\$11 | [45, 55] | [3, 4] | 1/2/2020 | 3/1/2020 | 

Um nach einer Zeitreihenspalte zu gruppieren, können Sie wie folgt vorgehen. 

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Zeitreihen** aus.

1. Wählen Sie unter **Transformation** die Option **Gruppieren nach** aus.

1. Geben Sie im Feld **Nach dieser Spalte gruppieren** eine Spalte an.

1. Geben Sie für **Auf Spalten anwenden** einen Wert an.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Nehmen Sie erneut Proben aus den Zeitreihendaten
<a name="canvas-resample-time-series"></a>

Zeitreihendaten enthalten normalerweise Beobachtungen, die nicht in regelmäßigen Abständen erfolgen. Ein Datensatz kann z. B. Beobachtungen enthalten, die stündlich, und andere, die alle zwei Stunden aufgezeichnet werden.

Viele Analysen, z. B. Prognosealgorithmen, erfordern, dass die Beobachtungen in regelmäßigen Abständen erfolgen. Durch die erneute Probenahme können Sie für die Beobachtungen in Ihrem Datensatz regelmäßige Intervalle festlegen.

Sie können für eine Zeitreihe entweder ein mehr oder weniger Proben nehmen. Wenn Sie weniger Proben nehmen, wird das Intervall zwischen den Beobachtungen im Datensatz vergrößert. Wenn Sie z. B. Beobachtungen, die entweder stündlich oder alle zwei Stunden erfolgen, seltener machen, erfolgt jede Beobachtung in Ihrem Datensatz alle zwei Stunden. Die stündlichen Beobachtungen werden mithilfe einer Aggregationsmethode wie dem Mittelwert oder dem Median zu einem einzigen Wert aggregiert.

Wenn Sie mehr Proben nehmen, wird das Intervall zwischen den Beobachtungen im Datensatz verkleinert. Wenn Sie z. B. Beobachtungen, die alle zwei Stunden erfolgen, jetzt stündlich machen, können Sie mit Hilfe einer Interpolationsmethode stündliche Beobachtungen aus den Beobachtungen abzuleiten, die alle zwei Stunden erfolgt sind. [Informationen zu Interpolationsmethoden finden Sie unter Pandas. DataFrame.interpolieren.](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)

Sie können sowohl bei numerischen als auch bei nicht-numerischen Daten die Anzahl der Proben ändern.

Mit Hilfe des Vorgangs **Probenahme ändern** können Sie die Häufigkeit der Probenahme für Ihre Zeitreihendaten ändern. Wenn Ihr Datensatz mehrere Zeitreihen enthält, standardisiert Data Wrangler das Zeitintervall für jede Zeitreihe.

Die folgende Tabelle zeigt ein Beispiel für Zeitreihendaten, bei denen die Häufigkeit der Probenahme unter Verwendung des Mittelwertes als Aggregationsmethode verringert wurde. Die Daten werden heruntergerechnet von alle zwei Stunden auf jede Stunde.

Stündliche Temperaturwerte im Tagesverlauf vor der Senkung der Messhäufigkeit


| Zeitstempel | Temperatur (° Celsius) | 
| --- | --- | 
| 12:00 | 30 | 
| 1:00 | 32 | 
| 2:00 | 35 | 
| 3:00 | 32 | 
| 4:00 | 30 | 

Die Temperaturwerte wurden auf alle zwei Stunden heruntergerechnet


| Zeitstempel | Temperatur (° Celsius) | 
| --- | --- | 
| 12:00 | 30 | 
| 2:00 | 33,5 | 
| 4:00 | 35 | 

Gehen Sie wie folgt vor, um die Häufigkeit der Probenahme bei Zeitreihendaten zu ändern.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Probenahme ändern**.

1. Wählen Sie für **Zeitstempel** die Spalte mit den Zeitstempeln aus.

1. Geben Sie unter **Frequenzeinheit** die Frequenz an, mit der die Probenahme erfolgt.

1. (Optional) Geben Sie einen Wert für die **Frequenz**.

1. Konfigurieren Sie die Transformation, indem Sie in den verbleibenden Feldern Angaben machen.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Fehlende Zeitreihendaten behandeln
<a name="canvas-transform-handle-missing-time-series"></a>

Wenn in Ihrem Datensatz Werte fehlen, können Sie eine der folgenden Maßnahmen ergreifen:
+ Löschen Sie bei Datensätzen mit mehreren Zeitreihen die Zeitreihen mit fehlenden Werten, die größer sind als ein von Ihnen angegebener Schwellenwert.
+ Imputieren Sie die fehlenden Werte in einer Zeitreihe, indem Sie andere Werte in der Zeitreihe verwenden.

Beim Imputieren eines fehlenden Wertes müssen die Daten entweder durch Angabe eines Wertes oder mit einer Methode zum Schlussfolgern ersetzt werden. Sie können die folgenden Methoden verwenden, um die fehlenden Werte zu imputieren:
+ Konstanter Wert – Ersetzt alle fehlenden Daten in Ihrem Datensatz durch einen von Ihnen angegebenen Wert.
+ Häufigster Wert – Ersetzt alle fehlenden Daten durch den Wert mit der größten Häufigkeit im Datensatz.
+ Vorwärtsauffüllung – Sie können fehlende Werte jeweils durch den vorangehenden Wert ersetzen, der nicht fehlt. Für die Sequenz: [2, 4, 7, NaN, NaN, NaN, 8] werden alle fehlenden Werte durch 7 ersetzt. Die Reihenfolge, die sich aus der Vorwärtsauffüllung ergibt, ist [2, 4, 7, 7, 7, 8].
+ Rückwärtsauffüllung – Hierbei werden fehlende Werte durch den jeweils nachfolgenden Wert ersetzt, der nicht fehlt. Für die Sequenz: [2, 4, 7, NaN, NaN, 8] werden alle fehlenden Werte durch 8 ersetzt. Die Reihenfolge, die sich aus der Rückwärtsauffüllung ergibt, ist [2, 4, 7, 8, 8, 8]. 
+ Interpolieren – Fehlende Werte werden mit Hilfe einer Interpolationsfunktion imputiert. [Weitere Informationen zu den Funktionen, die Sie für die Interpolation verwenden können, finden Sie unter Pandas. DataFrame.interpolieren.](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)

Einige der Imputationsmethoden können ggf. nicht alle fehlenden Werte in Ihrem Datensatz imputieren. Eine **Vorwärtsauffüllung** kann z. B. keinen fehlenden Wert imputieren, der am Anfang der Zeitreihe erscheint. Sie können die Werte imputieren, indem Sie entweder eine Vorwärtsauffüllung oder eine Rückwärtsauffüllung verwenden.

Fehlende Werte können Sie entweder innerhalb einer Zelle oder innerhalb einer Spalte imputieren.

Das folgende Beispiel zeigt, wie Werte innerhalb einer Zelle imputiert werden.

Stromverbrauch mit fehlenden Werten


| Haushalts-ID | Stromverbrauchsserie (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, NaN, NaN] | 
| household\$11 | [45, NaN, 55] | 

Stromverbrauch mit Werten, die nach einem Forward-Fill-Verfahren unterstellt wurden


| Haushalts-ID | Stromverbrauchsserie (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, 35, 35] | 
| household\$11 | [45, 45, 55] | 

Das folgende Beispiel zeigt, wie Werte innerhalb einer Spalte unterstellt werden.

Durchschnittlicher täglicher Stromverbrauch im Haushalt mit fehlenden Werten


| Haushalts-ID | Stromverbrauch (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | NaN | 
| household\$11 | NaN | 
| household\$11 | NaN | 

Durchschnittlicher täglicher Stromverbrauch im Haushalt mit Werten, die anhand eines Forward-Fill-Verfahrens unterstellt werden


| Haushalts-ID | Stromverbrauch (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | 40 | 
| household\$11 | 40 | 
| household\$11 | 40 | 

Gehen Sie wie folgt vor, um fehlende Werte zu handhaben.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Fehlende Werte handhaben** aus.

1. Wählen Sie für den **Eingabetyp Zeitreihe** aus, ob Sie fehlende Werte innerhalb einer Zelle oder entlang einer Spalte behandeln möchten.

1. Geben Sie unter **Fehlende Werte für diese Spalte imputieren** die Spalte mit den fehlenden Werten an.

1. Wählen Sie unter **Methode zum Imputieren von Werten** eine Methode aus.

1. Konfigurieren Sie die Transformation, indem Sie in den verbleibenden Feldern Angaben machen.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wenn Ihnen Werte fehlen, können Sie unter **Methode zum Imputieren** eine Methode angeben, mit der diese imputiert werden sollen.

1. Wählen Sie **Hinzufügen** aus, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Überprüfen Sie den Zeitstempel Ihrer Zeitreihendaten
<a name="canvas-transform-validate-timestamp"></a>

Sie haben ggf. ungültige Zeitstempeldaten. Mit der Funktion **Zeitstempel überprüfen** können Sie feststellen, ob die Zeitstempel in Ihrem Datensatz gültig sind. Ihr Zeitstempel kann aus einem oder mehreren der folgenden Gründe ungültig sein:
+ In Ihrer Spalte für die Zeitstempel fehlen Werte.
+ Die Werte in Ihrer Spalte für die Zeitstempel sind nicht richtig formatiert.

Wenn Ihr Datensatz ungültige Zeitstempel enthält, können Sie Ihre Analyse nicht erfolgreich durchführen. Mit Data Wrangler können Sie ungültige Zeitstempel identifizieren und herausfinden, wo Sie Ihre Daten bereinigen müssen.

Die Validierung von Zeitreihen erfolgt auf eine der beiden folgenden Weisen:

Sie können Data Wrangler so konfigurieren, dass eine der folgenden Maßnahmen ausgeführt wird, wenn in Ihrem Datensatz Werte fehlen:
+ Löschen Sie die Zeilen mit den fehlenden oder ungültigen Werten.
+ Suchen Sie die Zeilen mit den fehlenden oder ungültigen Werten.
+ Gibt einen Fehler aus, wenn fehlende oder ungültige Werte in Ihrem Datensatz gefunden werden.

Sie können die Zeitstempel für Spalten überprüfen, die entweder den Typ `timestamp` oder `string` haben. Wenn die Spalte vom Typ `string` ist, konvertiert Data Wrangler den Typ der Spalte in `timestamp` und nimmt die Validierung vor.

Gehen Sie wie folgt vor, um die Zeitstempel in Ihrem Datensatz zu überprüfen.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Zeitstempel validieren** aus.

1. Wählen Sie für **Spalte für Zeitstempel** die Spalte mit den Zeitstempeln aus.

1. Wählen Sie unter **Richtlinie** aus, ob Sie mit fehlenden Zeitstempeln umgehen möchten.

1. (Optional) Geben Sie für **Ausgabespalte** einen Namen für die Ausgabespalte an.

1. Wenn die Datums- und Uhrzeitspalte für den Zeichenfolgentyp formatiert ist, wählen Sie **In Datetime umwandeln** aus.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Länge der Zeitreihe standardisieren
<a name="canvas-transform-standardize-length"></a>

Wenn Sie Zeitreihendaten als Arrays abspeichern, können Sie jede Zeitreihe auf dieselbe Länge standardisieren. Wenn Sie die Länge des Zeitreihenarrays standardisieren, können Sie die Daten ggf. leichter analysieren.

Sie können Ihre Zeitreihen für Datentransformationen standardisieren, bei denen die Länge Ihrer Daten festgelegt werden muss.

Bei vielen ML-Algorithmen müssen Sie Ihre Zeitreihendaten abflachen, bevor Sie sie verwenden. Beim Abflachen von Zeitreihendaten wird jeder Wert der Zeitreihe in einer eigenen Spalte in einem Datensatz abgetrennt. Die Anzahl der Spalten in einem Datensatz kann sich nicht ändern. Daher muss die Länge der Zeitreihen standardisiert werden, wenn Sie jedes Array auf eine Reihe von Funktionen abflachen.

Jede Zeitreihe wird auf die Länge festgelegt, die Sie als Quantil oder Perzentil des Zeitreihensatzes angeben. Sie können z. B. drei Sequenzen mit folgenden Längen verwenden:
+ 3
+ 4
+ 5

Sie können die Länge aller Sequenzen als die Länge der Sequenz mit der Länge des 50. Perzentils festlegen.

Bei Zeitreihen-Arrays, die kürzer sind als die von Ihnen angegebene Länge, wurden fehlende Werte hinzugefügt. Das Folgende ist ein Beispielformat für die Standardisierung der Zeitreihe auf eine größere Länge: [2, 4, 5, NaN, NaN, NaN].

Sie können verschiedene Ansätze verwenden, um mit den fehlenden Werten umzugehen. Informationen zu diesen Ansätzen finden Sie unter [Fehlende Zeitreihendaten behandeln](#canvas-transform-handle-missing-time-series).

Die Zeitreihen-Arrays, die länger sind als die von Ihnen angegebene Länge, werden gekürzt.

Gehen Sie wie folgt vor, um die Länge der Zeitreihen zu standardisieren.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Länge standardisieren**.

1. Wählen Sie unter **Länge der Zeitreihe für die Spalte standardisieren** eine Spalte aus.

1. (Optional) Geben Sie für **Ausgabespalte** einen Namen für die Ausgabespalte an. Wenn Sie keinen Namen angeben, wird die Transformation an Ort und Stelle vorgenommen.

1. Wenn die Datetime-Spalte für den Typ der Zeichenfolge formatiert ist, wählen Sie **In Datetime umwandeln** aus.

1. Wählen Sie **Grenz-Quantil** und geben Sie ein Quantil an, um die Länge der Sequenz festzulegen.

1. Wählen Sie **Ausgabe abflachen**, um die Werte der Zeitreihe in separate Spalten auszugeben.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Funktionen aus Ihren Zeitreihendaten extrahieren
<a name="canvas-transform-extract-time-series-features"></a>

Wenn Sie einen Klassifikations- oder Regressionsalgorithmus für Ihre Zeitreihendaten ausführen, empfehlen wir, Funktionen aus der Zeitreihe zu extrahieren, bevor Sie den Algorithmus ausführen. Funktionen zu extrahieren kann die Leistung Ihres Algorithmus verbessern.

Verwenden Sie die folgenden Optionen, um auszuwählen, wie Sie Funktionen aus Ihren Daten extrahieren möchten:
+ Verwenden Sie **Mindestteilmenge**, um anzugeben, dass 8 Funktionen extrahiert werden sollen, von denen Sie wissen, dass sie für nachgelagerte Analysen nützlich sind. Sie können eine Mindestteilmenge verwenden, wenn Sie Berechnungen schnell durchführen müssen. Sie können sie auch verwenden, wenn bei Ihrem ML-Algorithmus ein hohes Risiko einer Überanpassung besteht und Sie ihm weniger Funktionen zur Verfügung stellen möchten.
+ Verwenden Sie **Effiziente Teilmenge**, um anzugeben, dass möglichst viele Funktionen extrahiert werden sollen, ohne Funktionen zu extrahieren, die bei Ihren Analysen rechenintensiv sind.
+ Verwenden Sie **Alle Funktionen**, um anzugeben, dass alle Funktionen aus der Tune-Serie extrahiert werden sollen.
+ Verwenden Sie **Manuelle Teilmenge**, um eine Liste von Funktionen auszuwählen, die Ihrer Meinung nach die Variation in Ihren Daten gut erklären.

Gehen Sie wie folgt vor, um aus Ihren Zeitreihendaten Funktionen zu extrahieren.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Funktionen extrahieren** aus.

1. Wählen Sie unter **Funktionen für diese Spalte extrahieren** eine Spalte aus.

1. (Optional) Wählen Sie **Abflachen** aus, um die Funktionen in separate Spalten auszugeben.

1. Wählen Sie unter **Strategie** eine Strategie zum Extrahieren der Funktionen aus.

1. Wählen Sie **Vorschau** aus, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen** aus, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Verwenden Sie verzögerte Funktionen aus Ihren Zeitreihendaten
<a name="canvas-transform-lag-time-series"></a>

In vielen Anwendungsfällen können Sie das zukünftige Verhalten Ihrer Zeitreihe am besten anhand ihres jüngsten Verhaltens vorhersagen.

Verzögerte Funktionen werden meist wie folgt verwendet:
+ Erfassung einer Handvoll Werte aus der Vergangenheit. Für die Zeit t \$1 1 sammeln Sie z. B. t, t – 1, t – 2 und t – 3.
+ Werte sammeln, die dem saisonalen Verhalten in den Daten entsprechen. Um z. B. die Belegung eines Restaurants um 13:00 Uhr vorherzusagen, verwenden Sie ggf. die Merkmale von 13:00 Uhr am Vortag. Wenn Sie die Merkmale von 12:00 Uhr oder 11:00 Uhr am selben Tag verwenden, sind diese evtl. nicht so aussagekräftig wie die der Vortage.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Verzögerten Funktionen** aus.

1. Wählen Sie unter **Verzögerte Funktionen für diese Spalte erzeugen** eine Spalte aus.

1. Wählen Sie für **Spalte für Zeitstempel** die Spalte mit den Zeitstempeln aus.

1. Geben Sie für **Verzögerung** die Dauer der Verzögerung an.

1. (Optional) Konfigurieren Sie die Ausgabe mit Hilfe einer der folgenden Optionen:
   + **Das gesamte Verzögerungsfenster einschließen**
   + **Ausgabe abflachen**
   + **Zeilen ohne Verlauf löschen**

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Einen DateTime-Bereich in Ihrer Zeitreihe erstellen
<a name="canvas-transform-datetime-range"></a>

Sie haben ggf. Zeitreihendaten ohne Zeitstempel. Wenn Sie wissen, dass die Beobachtungen in regelmäßigen Abständen gemacht wurden, können Sie Zeitstempel für die Zeitreihen in einer separaten Spalte generieren. Um Zeitstempel zu generieren, geben Sie den Wert für den Anfangszeitstempel und die Häufigkeit der Zeitstempel an.

Sie haben z. B. die folgenden Zeitreihendaten für die Anzahl der Kunden in einem Restaurant.

Zeitreihendaten zur Anzahl der Kunden in einem Restaurant


| Anzahl der Kunden | 
| --- | 
| 10 | 
| 14 | 
| 24 | 
| 40 | 
| 30 | 
| 20 | 

Wenn Sie wissen, dass das Restaurant um 17:00 Uhr geöffnet hat und dass die Beobachtungen stündlich vorgenommen werden, können Sie eine Spalte für die Zeitstempel hinzufügen, die den Zeitreihendaten entspricht. Die Spalte für die Zeitstempel sehen Sie in der folgenden Tabelle.

Zeitreihendaten zur Anzahl der Kunden in einem Restaurant


| Anzahl der Kunden | Zeitstempel | 
| --- | --- | 
| 10 | 1:00 PM | 
| 14 | 2:00 PM | 
| 24 | 3:00 PM | 
| 40 | 4:00 PM | 
| 30 | 5:00 PM | 
| 20 | 6:00 PM | 

Gehen Sie wie folgt vor, um einen Datetime-Bereich zu Ihren Daten hinzuzufügen.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Datetime-Bereich**.

1. Wählen Sie als **Frequenztyp** die Einheit aus, in der die Häufigkeit der Zeitstempel gemessen wird.

1. Geben Sie für **Anfangszeitstempel** den Anfangszeitstempel an.

1. Geben Sie für **Ausgabespalte** einen Namen für die Ausgabespalte an.

1. (Optional) Konfigurieren Sie die Ausgabe mithilfe der verbleibenden Felder.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu erstellen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

### Verwenden Sie in Ihrer Zeitreihe ein rollendes Fenster
<a name="canvas-transform-rolling-window"></a>

Sie können Funktionen über einen Zeitraum extrahieren. Wir hängen z. B. für die Zeit *t* und eine Länge des Zeitfensters von 3 und für die Zeile, die den *t*-ten Zeitstempel angibt, die Merkmale an, die zu den Zeitpunkten *t* – 3, *t* -2 und *t* – 1 aus der Zeitreihe extrahiert wurden. Informationen zum Extrahieren von Funktionen finden Sie unter [Funktionen aus Ihren Zeitreihendaten extrahieren](#canvas-transform-extract-time-series-features). 

Gehen Sie wie folgt vor, um Funktionen über einen Zeitraum zu extrahieren.

1. Öffnen Sie Ihren Data Wrangler-Datenablauf.

1. Wählen Sie in Ihrem Datenablauf unter **Datentypen** das **\$1** und dann **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Rollfensterfunktionen**.

1. Wählen Sie für **Rollfensterfunktionen für diese Spalte generieren** eine Spalte aus.

1. Wählen Sie für **Spalte für Zeitstempel** die Spalte mit den Zeitstempeln aus.

1. (Optional) Geben Sie für **Ausgabespalte** einen Namen für die Ausgabespalte an.

1. Geben Sie für **Fenstergröße** die Fenstergröße an.

1. Wählen Sie unter **Strategie** die Extraktionsstrategie aus.

1. Wählen Sie **Vorschau**, um eine Vorschau der Transformation zu generieren.

1. Wählen Sie **Hinzufügen**, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.

## Datetime funktionalisieren
<a name="canvas-transform-datetime-embed"></a>

Mit Hilfe von **Datum/Uhrzeit funktionalisieren** können Sie eine Vektoreinbettung erstellen, die ein Datetime-Feld darstellt. Um diese Transformation anwenden zu können, müssen Ihre Datetime-Daten eines der folgenden Formate haben: 
+ Zeichenfolgen, die Datetime beschreiben: Zum Beispiel `"January 1st, 2020, 12:44pm"`. 
+ Ein Unix-Zeitstempel: Ein Unix-Zeitstempel beschreibt die Anzahl der Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden ab dem 1.1.1970. 

Sie können wählen, ob Sie das **Datetime-Format ableiten** und ein **Datetime-Format** angeben möchten. Wenn Sie ein Datetime-Format angeben, müssen Sie die in der [Python-Dokumentation](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes) beschriebenen Codes verwenden. Die Optionen, die Sie für diese beiden Konfigurationen auswählen, haben Auswirkungen auf die Geschwindigkeit des Vorgangs und auf dessen Endergebnisse.
+ Die am stärksten manuelle und rechnerisch schnellste Option besteht darin, ein **Datetime-Format** anzugeben und für **Datetime-Format ableiten** die Option **Nein** auszuwählen.
+ Um den manuellen Aufwand zu reduzieren, können Sie **Datetime-Format ableiten** wählen und kein Datetime-Format angeben. Dies ist auch ein rechnerisch schneller Vorgang. Es wird jedoch davon ausgegangen, dass das erste Datetime-Format, das in der Eingabespalte gefunden wird, das Format für die gesamte Spalte ist. Wenn die Spalte andere Formate enthält, sind diese Werte in der endgültigen Ausgabe NaN. Das Datetime-Format ableiten zu lassen führt ggf. zu ungeparsten Zeichenfolgen. 
+ Wenn Sie kein Format angeben und für **Datum/Uhrzeitformat ableiten** die Option **Nein** auswählen, erhalten Sie die robustesten Ergebnisse. Alle gültigen Datetime-Zeichenfolgen werden geparst. Dieser Vorgang kann jedoch um eine Größenordnung langsamer sein als die ersten beiden aufgeführten Optionen. 

Wenn Sie diese Transformation verwenden, geben Sie eine **Eingabespalte** an, die Datetime-Daten in einem der oben aufgeführten Formate enthält. Die Transformation erstellt eine Ausgabespalte mit dem Namen **Ausgabespaltenname**. Das Format der Ausgabespalte hängt von Ihrer Konfiguration ab. Folgende Formate werden verwendet:
+ **Vektor**: Gibt eine einzelne Spalte als Vektor aus. 
+ **Spalten**: Erzeugt für jede Funktion eine neue Spalte. Wenn die Ausgabe z. B. ein Jahr, einen Monat und einen Tag enthält, werden drei separate Spalten für Jahr, Monat und Tag erstellt. 

Darüber hinaus müssen Sie einen **Einbettungsmodus** wählen. Für lineare Modelle und tiefe Netzwerke empfehlen wir, **zyklisch** zu wählen. Für Baumalgorithmen empfehlen wir die Option **ordinal**.

## Format-Zeichenfolge
<a name="canvas-transform-format-string"></a>

Die Transformationen für **Zeichenfolge formatieren** enthalten Standardoperationen zur Formatierung von Zeichenfolgen. Mit Hilfe dieser Operationen können Sie z. B. Sonderzeichen entfernen, die Länge der Zeichenfolgen normalisieren und die Groß- und Kleinschreibung von Zeichenfolgen aktualisieren.

Diese Feature-Gruppe enthält die folgenden Transformationen. Alle Transformationen geben Kopien der Zeichenfolgen in der **Eingabespalte** zurück und fügen das Ergebnis zu einer neuen Ausgabespalte hinzu.


| Name | Funktion | 
| --- | --- | 
| Links auffüllen |  Fügt in die Zeichenfolge links ein bestimmtes **Füllzeichen** ein, bis die angegebenen **Breite** eingehalten wird. Wenn die Zeichenfolge länger ist als die **Breite**, wird der Rückgabewert so gekürzt, dass die **Breite** eingehalten wird.  | 
| Rechts auffüllen |  Fügt in die Zeichenfolge rechts ein bestimmtes **Füllzeichen** ein, bis die angegebene **Breite** eingehalten wird. Wenn die Zeichenfolge länger ist als die **Breite**, wird der Rückgabewert so gekürzt, dass die **Breite** eingehalten wird.  | 
| Mitte (beidseitig auffüllen) |  Beidseitiges auffüllen der Zeichenfolge mit einem bestimmten **Füllzeichen** bis zur angegebenen **Breite**. Wenn die Zeichenfolge länger ist als die **Breite**, wird der Rückgabewert so gekürzt, dass die **Breite** eingehalten wird.  | 
| Nullen voranstellen |  Die numerische Zeichenfolge wird links mit Nullen aufgefüllt, bis eine bestimmten **Breite** erreicht ist. Wenn die Zeichenfolge länger ist als die **Breite**, wird der Rückgabewert so gekürzt, dass die **Breite** eingehalten wird.  | 
| Links und rechts abschneiden |  Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Anfang und am Ende entfernt wurden.  | 
| Links abschneiden |  Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Anfang entfernt wurden.  | 
| Rechts abschneiden |  Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Ende entfernt wurden.  | 
| Kleinschreibung |  Wandelt alle Buchstaben im Text in Kleinbuchstaben um.  | 
| Großbuchstaben |  Wandelt alle Buchstaben im Text in Großbuchstaben um.  | 
| Groß schreiben |  Der erste Buchstaben in jedem Satz wird groß geschrieben.   | 
| Schreibung vertauschen | Konvertiert alle Großbuchstaben der angegebenen Zeichenfolge in Kleinbuchstaben und alle Kleinbuchstaben in Großbuchstaben und gibt sie zurück. | 
| Präfix oder Suffix hinzufügen |  Fügt zu der Spalte mit der Zeichenfolge ein Präfix und ein Suffix hinzu. Sie müssen mindestens ein **Präfix** und ein **Suffix** angeben.   | 
| Symbole entfernen |  Entfernt die angegebenen Symbole aus einer Zeichenfolge. Alle aufgeführten Zeichen werden entfernt. Standardmäßig Leerzeichen.   | 

## Ausreißer behandeln
<a name="canvas-transform-handle-outlier"></a>

Machine-Learning-Modelle sind empfindlich für die Verteilung und den Bereich Ihrer Feature-Werte. Ausreißer oder seltene Werte können sich negativ auf die Modellgenauigkeit auswirken und zu längeren Trainingszeiten führen. Mit Hilfe dieser Feature-Gruppe können Sie Ausreißer in Ihrem Datensatz erkennen und aktualisieren. 

Wenn Sie den Transformationsschritt **Ausreißer behandeln** definieren, werden die Statistiken, die zur Erkennung von Ausreißern verwendet werden, bei der Definition dieses Schritts anhand der in Data Wrangler verfügbaren Daten generiert. Dieselben Statistiken werden verwendet, wenn ein Data Wrangler-Auftrag ausgeführt wird. 

In den folgenden Abschnitten erfahren Sie mehr über die Transformationen, die diese Gruppe enthält. Sie geben einen **Ausgabenamen** an. Dann erzeugt jede dieser Transformationen eine Ausgabespalte mit den resultierenden Daten. 

### Numerische Ausreißer mit robuster Standardabweichung
<a name="canvas-transform-handle-outlier-rstdev"></a>

Diese Transformation erkennt und behebt Ausreißer in numerischen Features mithilfe von Statistiken, die gegenüber Ausreißern robust sind.

Sie müssen ein **oberes Quantil** und ein **unteres Quantil** für die Statistiken definieren, die zur Berechnung von Ausreißern verwendet werden. Sie müssen auch die Anzahl der **Standardabweichungen** angeben, um die ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie z. B. für **Standardabweichungen** 3 angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden. 

Die **Fix-Methode** ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
+ **Abschneiden**: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
+ **Entfernen**: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
+ **Ungültig machen**: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.

### Numerische Ausreißer mit Standardabweichung
<a name="canvas-transform-handle-outlier-sstdev"></a>

Diese Transformation erkennt und behebt Ausreißer in numerischen Funktionen anhand des Mittelwertes und der Standardabweichung.

Sie geben die Anzahl der **Standardabweichungen an**, um die ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie z. B. für **Standardabweichungen** 3 angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden. 

Die **Fix-Methode** ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
+ **Abschneiden**: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
+ **Entfernen**: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
+ **Ungültig machen**: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.

### Numerische Ausreißer anhand von Quantilen
<a name="canvas-transform-handle-outlier-quantile-numeric"></a>

Mit Hilfe dieser Transformation können Sie Ausreißer in numerischen Features mithilfe von Quantilen erkennen und korrigieren. Sie können ein **oberes Quantil** und ein **unteres Quantil** definieren. Alle Werte, die über dem oberen Quantil oder unter dem unteren Quantil liegen, gelten als Ausreißer. 

Die **Fix-Methode** ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
+ **Abschneiden**: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
+ **Entfernen**: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
+ **Ungültig machen**: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen. 

### Numerische Ausreißer (Min./Max.)
<a name="canvas-transform-handle-outlier-minmax-numeric"></a>

Diese Transformation erkennt und behebt Ausreißer in numerischen Funktionen anhand oberer und unterer Schwellenwerte. Verwenden Sie diese Methode, wenn Sie Schwellenwerte kennen, die Ausreißer kennzeichnen.

Sie geben einen **oberen Schwellenwert** und einen **unteren Schwellenwert** an. Wenn Werte diese Schwellenwerte über- bzw. unterschreiten, werden sie als Ausreißer betrachtet. 

Die **Fix-Methode** ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
+ **Abschneiden**: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
+ **Entfernen**: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
+ **Ungültig machen**: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen. 

### Seltene ersetzen
<a name="canvas-transform-handle-outlier-replace-rare"></a>

Wenn Sie die Transformation **Seltene ersetzen** verwenden, geben Sie einen Schwellenwert an, und Data Wrangler findet dann alle Werte, die diesem Schwellenwert entsprechen, und ersetzt sie durch eine von Ihnen angegebene Zeichenfolge. Mit Hilfe dieser Transformation können Sie z. B. alle Ausreißer in einer Spalte in eine Kategorie „Sonstige“ einzuteilen. 
+ **Ersatzzeichenfolge**: Die Zeichenfolge, durch die Ausreißer ersetzt werden sollen.
+ **Absoluter Schwellenwert**: Eine Kategorie ist selten, wenn die Anzahl der Instances kleiner oder gleich diesem absoluten Schwellenwert ist.
+ **Bruchschwelle**: Eine Kategorie ist selten, wenn die Anzahl der Instances kleiner oder gleich dieser Bruchschwelle multipliziert mit der Anzahl der Zeilen ist.
+ **Höchstzahl häufig verwendeter Kategorien**: Höchstzahl nicht seltener Kategorien, die nach dem Vorgang noch übrig sind. Wenn mit dem Schwellenwert nicht genügend Kategorien gefiltert werden, werden diejenigen, die am häufigsten auftreten, als nicht selten eingestuft. Wenn der Wert auf 0 (Standard) gesetzt ist, gibt es keine hartes Limit für die Anzahl der Kategorien.

## Fehlende Werte behandeln
<a name="canvas-transform-handle-missing"></a>

Fehlende Werte treten in Datensätzen für Machine Learning häufig auf. Manchmal können fehlende Daten durch einen berechneten Wert ersetzt werden, z. B. einen Durchschnittswert oder einen kategorisch häufigen Wert. Fehlende Werte können Sie mithilfe der Transformationsgruppe **Fehlende Werte behandeln** bearbeiten. Diese Gruppe enthält die folgenden Transformationen. 

### Fehlende auffüllen
<a name="canvas-transform-fill-missing"></a>

Verwenden Sie die Transformation **Fehlende auffüllen**, um fehlende Werte durch einen von Ihnen definierten **Füllwert** zu ersetzen. 

### Fehlende imputieren
<a name="canvas-transform-impute"></a>

Mit Hilfe der Transformation **Fehlende imputieren** können Sie eine neue Spalte erstellen, die imputierte Werte enthält, bei denen fehlende Werte in kategorischen und numerischen Eingabedaten gefunden wurden. Die Konfiguration ist abhängig von Ihrem Datentyp.

Wählen Sie eine Strategie zum Imputieren numerischer Daten aus, mit deren Hilfe der neue zu imputierende Wert bestimmt wird. Sie können wählen, ob Sie den Mittelwert oder den Median über die in Ihrem Datensatz vorhandenen Werte imputieren wollen. Data Wrangler imputiert anhand des berechneten die fehlenden Werte.

Bei kategorischen Daten imputiert Data Wrangler fehlende Werte anhand des häufigsten Wertes in der Spalte. Um eine benutzerdefinierte Zeichenfolge zu imputieren, verwenden Sie stattdessen die Transformation **Fehlende auffüllen**.

### Indikator für fehlende hinzufügen
<a name="canvas-transform-missing-add-indicator"></a>

Mit Hilfe der Transformation **Indikator für fehlende hinzufügen** können Sie eine neue Indikatorspalte erstellen, die einen booleschen `"false"` enthält, wenn eine Zeile einen Wert enthält, und `"true"`, wenn eine Zeile einen fehlenden Wert enthält. 

### Fehlende Löschen
<a name="canvas-transform-drop-missing"></a>

Mit Hilfe der die Option **Fehlende löschen** können Sie Zeilen aus der **Eingabespalte** löschen, die fehlende Werte enthalten.

## Spalten verwalten
<a name="canvas-manage-columns"></a>

Mit Hilfe der folgenden Transformation können Sie Spalten in Ihrem Datensatz schnell aktualisieren und verwalten: 


****  

| Name | Funktion | 
| --- | --- | 
| Spalte fallen lassen | Spalte löschen.  | 
| Spalte duplizieren | Eine Spalte duplizieren. | 
| Spalte umbenennen | Eine Spalte umbenennen. | 
| Spalte verschieben |  Position einer Spalte im Datensatz verschieben. Wählen Sie, ob Sie Ihre Spalte an den Anfang oder das Ende des Datensatzes, vor oder nach einer Referenzspalte oder in einen bestimmten Index verschieben möchten.   | 

## Zeilen verwalten
<a name="canvas-transform-manage-rows"></a>

Mit Hilfe dieser Transformationsgruppe können Sie schnell Sortier- und Mischvorgänge für Zeilen durchzuführen. Diese Gruppe enthält:
+ **Sortieren**: Sortiert den gesamten Datenrahmen nach einer bestimmten Spalte. Aktivieren Sie für diese Option das Kontrollkästchen neben **Aufsteigendde Reihenfolge**. Andernfalls deaktivieren Sie das Kontrollkästchen. Die Sortierung erfolgt dann in absteigender Reihenfolge. 
+ **Mischen**: Alle Zeilen im Datensatz werden nach dem Zufallsprinzip gemischt. 

## Vektoren verwalten
<a name="canvas-transform-manage-vectors"></a>

Mit Hilfe dieser Transformationsgruppe können Sie Vektorspalten kombinieren oder abflachen. Diese Gruppe enthält die folgenden Transformationen. 
+ **Zusammenführen**: Mit Hilfe der Transformation können Sie Spark-Vektoren und numerische Daten in einer einzigen Spalte kombinieren. Sie können z. B. drei Spalten kombinieren: zwei mit numerischen Daten und eine mit Vektoren. Fügen Sie alle Spalten, die Sie kombinieren möchten, zu den **Eingabespalten** hinzu und geben Sie einen **Namen für die Ausgabespalte** für die kombinierten Daten an. 
+ **Abflachen**: Mit Hilfe der Transformation können Sie eine einzelne Spalte mit Vektordaten abflachen. Die Eingabespalte muss PySpark Vektoren oder array-ähnliche Objekte enthalten. Sie können die Anzahl der erstellten Spalten steuern, indem Sie eine **Methode zur Ermittlung der Anzahl der Ausgaben** angeben. Wenn Sie z. B. **Länge des ersten Vektors** auswählen, bestimmt die Anzahl der Elemente im ersten gültigen Vektor oder Array in der Spalte die Anzahl der Ausgabespalten, die erstellt werden. Alle anderen Eingabevektoren mit zu vielen Elementen werden gekürzt. Eingaben mit zu wenigen Elementen sind gefüllt. NaNs

  Sie geben außerdem ein **Ausgabepräfix** an, das als Präfix für jede Ausgabespalte verwendet wird. 

## Numerisch verarbeiten
<a name="canvas-transform-process-numeric"></a>

Mit Hilfe der Feature-Gruppe **Numerisch verarbeiten** können Sie numerische Daten verarbeiten. Jeder Skalar in dieser Gruppe wird mithilfe der Spark-Bibliothek definiert. Die folgenden Skalare werden unterstützt:
+ **Standard-Skalierer**: Standardisieren Sie die Eingabespalte, indem Sie von jedem Wert den Mittelwert subtrahieren und auf die Einheitsvarianz skalieren. Weitere Informationen finden Sie in der Spark-Dokumentation für [StandardScaler](https://spark.apache.org/docs/latest/ml-features#standardscaler).
+ **Robuster Skalierer**: Skalieren Sie die Eingabespalte mithilfe von Statistiken, die gegenüber Ausreißern robust sind. Weitere Informationen finden Sie in der Spark-Dokumentation für [RobustScaler](https://spark.apache.org/docs/latest/ml-features#robustscaler).
+ **Min./Max.-Scaler**: Transformieren Sie die Eingabespalte, indem Sie jede Funktion auf einen bestimmten Bereich skalieren. Weitere Informationen finden Sie in der Spark-Dokumentation für [MinMaxScaler](https://spark.apache.org/docs/latest/ml-features#minmaxscaler).
+ **Max.-Absolutskalierer**: Skalieren Sie die Eingabespalte, indem Sie jeden Wert durch den maximalen Absolutwert dividieren. Weitere Informationen finden Sie in der Spark-Dokumentation für [MaxAbsScaler](https://spark.apache.org/docs/latest/ml-features#maxabsscaler).

## Sampling
<a name="canvas-transform-sampling"></a>

Wenn Sie Ihre Daten importiert haben, können Sie mit Hilfe der Transformation **Probenahme** eine oder mehrere Stichproben daraus nehmen. Wenn Sie den Sampling-Transformator verwenden, nimmt Data Wrangler Stichproben aus Ihrem ursprünglichen Datensatz.

Sie können eine der folgenden Probenahmemethoden wählen:
+ **Limit**: Dem Datensatz werden von der ersten Zeile bis zu dem von Ihnen angegebenen Grenzwert Proben entnommen.
+ **Randomisiert**: Nimmt eine zufällige Stichprobe mit einer von Ihnen angegebenen Größe.
+ **Stratifiziert**: Entnimmt eine geschichtete Zufallsstichprobe.

Sie können eine randomisierte Stichprobe stratifizieren, damit sie die ursprüngliche Verteilung des Datensatzes wiedergibt.

Sie bereiten ggf. Daten für mehrere Anwendungsfälle vor. Für jeden Anwendungsfall können Sie eine andere Probe nehmen und einen anderen Satz von Transformationen anwenden.

Das folgende Verfahren beschreibt den Prozess der Erstellung einer Zufallsstichprobe. 

Um aus Ihren Daten eine Zufallsstichprobe zu nehmen.

1. Wählen Sie das **\$1** rechts neben dem Datensatz, den Sie importiert haben. Der Name Ihres Datensatzes befindet sich unter dem **\$1**.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Sampling** aus.

1. Wählen Sie als **Sampling-Methode** die Sampling-Methode aus.

1. Wählen Sie als **Ungefähre Samplinggröße** die ungefähre Anzahl von Beobachtungen aus, die Sie für Ihre Stichprobe verwenden möchten.

1. (Optional) Geben Sie eine Ganzzahl für **Zufälliger Anfangswert** ein, um eine reproduzierbare Stichprobe zu erstellen.

Das folgende Verfahren beschreibt den Prozess der Erstellung einer geschichteten Stichprobe.

Um aus Ihren Daten eine geschichtete Stichprobe zu nehmen.

1. Wählen Sie das **\$1** rechts neben dem Datensatz, den Sie importiert haben. Der Name Ihres Datensatzes befindet sich unter dem **\$1**.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Sampling** aus.

1. Wählen Sie als **Sampling-Methode** die Sampling-Methode aus.

1. Wählen Sie als **Ungefähre Samplinggröße** die ungefähre Anzahl von Beobachtungen aus, die Sie für Ihre Stichprobe verwenden möchten.

1. Geben Sie unter **Spalte stratifizieren** den Namen der Spalte an, für die Sie eine Stratifizierung vornehmen wollen.

1. (Optional) Geben Sie eine Ganzzahl für **Zufälliger Anfangswert** ein, um eine reproduzierbare Stichprobe zu erstellen.

## Suchen und Bearbeiten
<a name="canvas-transform-search-edit"></a>

In diesem Abschnitt können Sie in Zeichenfolgen nach bestimmten Mustern suchen und diese bearbeiten. Sie können z. B. Zeichenfolgen in Sätzen oder Dokumenten suchen und aktualisieren, Zeichenfolgen nach Trennzeichen aufteilen und das Vorkommen bestimmter Zeichenfolgen finden. 

Die folgenden Transformationen werden unter **Suchen und Bearbeiten** unterstützt. Alle Transformationen geben in der **Eingabespalte** Kopien der Zeichenfolgen zurück und fügen das Ergebnis zu einer neuen Ausgabespalte hinzu.


****  

| Name | Funktion | 
| --- | --- | 
|  Teilstring suchen  |  Gibt den Index des ersten Vorkommens des **Teilstrings** zurück, nach dem Sie gesucht haben. Sie können die Suche am **Anfang** bzw. am **Ende** beginnen bzw. beenden.   | 
|  Teilstring suchen (von rechts)  |  Gibt den Index des letzten Vorkommens des **Teilstrings** zurück, nach dem Sie gesucht haben. Sie können die Suche am **Anfang** bzw. am **Ende** beginnen bzw. beenden.   | 
|  Entspricht dem Präfix  |  Gibt einen booleschen Wert zurück, wenn die Zeichenfolge ein bestimmtes **Muster** enthält. Ein Muster kann eine Zeichenfolge oder ein regulärer Ausdruck sein. Optional können Sie festlegen, dass das Muster zwischen Groß- und Kleinschreibung unterscheidet.   | 
|  Alle Vorkommen suchen  |  Gibt ein Array mit allen Vorkommen eines bestimmten Musters zurück. Ein Muster kann eine Zeichenfolge oder ein regulärer Ausdruck sein.   | 
|  Mit Regex extrahieren  |  Gibt eine Zeichenfolge zurück, die einem bestimmten Regex-Muster entspricht.  | 
|  Zwischen Trennzeichen extrahieren  |  Gibt eine Zeichenfolge mit allen Zeichen zurück, die zwischen dem **linken Trennzeichen** und dem **rechten Trennzeichen** gefunden wurden.   | 
|  Von Position extrahieren  |  Gibt eine Zeichenfolge zurück, die an der **Startposition** in der Eingabezeichenfolge beginnt und alle Zeichen bis zur Startposition plus **Länge** enthält.   | 
|  Teilstring suchen und ersetzen  |  Gibt eine Zeichenfolge zurück, bei der alle Treffer eines bestimmten **Musters** (regulärer Ausdruck) durch eine **Ersatzzeichenfolge** ersetzt wurden.  | 
|  Zwischen Trennzeichen ersetzen  |  Gibt eine Zeichenfolge zurück, bei der der Teilstring zwischen dem ersten Auftreten eines **linken Trennzeichens** und dem letzten Auftreten eines **rechten Trennzeichens** durch eine **Ersatzzeichenfolge** ersetzt wird. Wenn keine Übereinstimmung gefunden wird, wird nichts ersetzt.   | 
|  Von Position aus ersetzen  |  Gibt eine Zeichenfolge zurück, bei der der Teilstring zwischen **Startposition** und **Startposition** plus **Länge** durch die **Ersatzzeichenfolge** ersetzt wurde. Wenn **Startposition** plus **Länge** größer ist als die Länge der Ersatzzeichenfolge, enthält die Ausgabe **...**.  | 
|  Regex in Fehlende umwandeln  |  Konvertiert eine Zeichenfolge in `None`, falls sie ungültig ist, und gibt das Ergebnis zurück. Die Gültigkeit wird mit einem regulären Ausdruck in **Muster** definiert.  | 
|  Zeichenfolge mit Trennzeichen aufteilen  |  Gibt ein Array von Zeichenfolgen aus der Eingabezeichenfolge zurück, das durch **Trennzeichen** aufgeteilt ist, mit bis zur **maximalen Anzahl Aufteilungen** (optional). Das Standardtrennzeichen ist das Leerzeichen.   | 

## Daten aufteilen
<a name="canvas-transform-split-data"></a>

Mit Hilfe der Transformation **Daten aufteilen** können Sie Ihren Datensatz in zwei oder drei Datensätze aufteilen. Sie können Ihren Datensatz z. B. in einen Datensatz aufteilen, der zum Trainieren Ihres Modells und einen, der zum Testen verwendet wird. Sie können den Anteil des Datensatzes bestimmen, der in jeden Teil einfließen soll. Wenn Sie z. B. einen Datensatz in zwei Datensätze aufteilen, kann der Trainingsdatensatz 80 % der Daten enthalten, während der Testdatensatz 20 % enthält.

Wenn Sie Ihre Daten in drei Datensätze aufteilen, können Sie Trainings-, Validierungs- und Testdatensätze erstellen. Sie können sehen, wie gut das Modell im Testdatensatz abschneidet, indem Sie die Zielspalte löschen.

Ihr Anwendungsfall bestimmt, wie viel vom ursprünglichen Datensatz jeder Ihrer Datensätze erhält und nach welcher Methode Sie die Daten aufteilen. Sie möchten z. B. vielleicht eine stratifizierte Aufteilung verwenden, damit die Verteilung der Beobachtungen in der Zielspalte über alle Datensätze hinweg identisch ist. Zur Aufteilung können Sie die folgenden Transformationen verwenden:
+ Zufällige Aufteilung – Jede Aufteilung ist eine zufällige, nicht überlappende Stichprobe des ursprünglichen Datensatzes. Bei größeren Datensätzen kann die Verwendung einer zufälligen Aufteilung rechenintensiv sein und länger dauern als eine geordnete Aufteilung.
+ Geordnete Aufteilung – Teilt den Datensatz anhand der sequentiellen Reihenfolge der Beobachtungen auf. Beispiel: Bei einer Aufteilung von Trainingstests im Verhältnis 80/20 werden die ersten Beobachtungen, die 80 % des Datensatzes ausmachen, in den Trainingsdatensatz übernommen. Die letzten 20 % der Beobachtungen fließen in den Testdatensatz ein. Geordnete Aufteilungen können die bestehende Reihenfolge der Daten zwischen den Aufteilungen wirksam beibehalten.
+ Stratifizierte Aufteilung – Teilt den Datensatz auf, damit die Anzahl der Beobachtungen in der Eingabespalte proportional repräsentiert sind. Für eine Eingabespalte mit den Beobachtungen 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3 würde eine 80/20-Aufteilung in der Spalte bedeuten, dass ca. 80 % der Einsen, 80 % der Zweien und 80 % der Dreien in den Trainingssatz eingehen. Etwa 20 % jedes Beobachtungstyps gehen in den Testdatensatz ein.
+ Nach Schlüsseln aufteilen – Hierbei wird vermieden, dass Daten mit demselben Schlüssel in mehr als einer Aufteilung vorkommen. Wenn Sie z. B. einen Datensatz mit der Spalte customer\$1id haben und diesen als Schlüssel verwenden, ist keine Kunden-ID in mehr als einer Aufteilung enthalten.

Wenn Sie die Daten aufgeteilt haben, können Sie auf jeden Datensatz weitere Transformationen anwenden. Für die meisten Anwendungsfälle ist dies nicht erforderlich.

Data Wrangler berechnet die Anteile der Aufteilungen im Hinblick auf ihre Leistung. Sie können einen Fehlerschwellenwert wählen, um die Genauigkeit der Aufteilungen festzulegen. Niedrigere Fehlerschwellenwerte geben die Anteile genauer wieder, die Sie für die Aufteilungen angeben. Wenn Sie einen höheren Fehlerschwellenwert festlegen, erzielen Sie eine bessere Leistung, aber eine geringere Genauigkeit.

Setzen Sie den Fehlerschwellenwert auf 0, um perfekt aufgeteilte Daten zu erhalten. Sie können einen Schwellenwert zwischen 0 und 1 angeben, um die Leistung zu verbessern. Wenn Sie einen Wert größer als 1 angeben, interpretiert Data Wrangler diesen Wert als 1.

Wenn Ihr Datensatz 10.000 Zeilen enthält und Sie eine 80/20-Aufteilung mit einem Fehler von 0,001 angeben, erhalten Sie Beobachtungen, die annähernd einem der folgenden Ergebnisse entsprechen:
+ 8010 Beobachtungen im Trainingssatz und 1990 im Testsatz
+ 7990 Beobachtungen im Trainingssatz und 2010 im Testsatz

Die Anzahl der Beobachtungen für den Testsatz im obigen Beispiel liegt im Intervall zwischen 8010 und 7990.

Data Wrangler verwendet standardmäßig einen zufälligen Anfangswert, damit die Aufteilungen reproduzierbar sind. Sie können für den Anfangswert einen anderen Wert angeben, um eine andere reproduzierbare Aufteilung zu erzeugen.

------
#### [ Randomized split ]

Gehen Sie folgendermaßen vor, um Ihren Datensatz nach dem Zufallsprinzip aufzuteilen.

Gehen Sie folgendermaßen vor, um Ihren Datensatz nach dem Zufallsprinzip aufzuteilen

1. Wählen Sie das **\$1** neben dem Knoten aus, der den aufzuteilenden Datensatz enthält.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Daten aufteilen** aus.

1. (Optional) Geben Sie für **Aufteilungen** die Namen und Anteile der einzelnen Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Wählen Sie **\$1**, um eine weitere Aufteilung zu erstellen.

   1. Geben Sie die Namen und Anteile aller Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Geben Sie für den **Fehlerschwellenwert** einen anderen Wert als den Standardwert an.

1. (Optional) Geben Sie einen Wert für **Zufälliger Anfangswert** an.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

------
#### [ Ordered split ]

Gehen Sie wie folgt vor, um eine geordnete Aufteilung Ihres Datensatzes vorzunehmen.

Gehen Sie wie folgt vor, um eine geordnete Aufteilung Ihres Datensatzes vorzunehmen.

1. Wählen Sie das **\$1** neben dem Knoten aus, der den aufzuteilenden Datensatz enthält.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie für **Transformation** die Option **Geordnete Aufteilung** aus.

1. Wählen Sie **Daten aufteilen** aus.

1. (Optional) Geben Sie für **Aufteilungen** die Namen und Anteile der einzelnen Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Wählen Sie **\$1**, um eine weitere Aufteilung zu erstellen.

   1. Geben Sie die Namen und Anteile aller Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Geben Sie für den **Fehlerschwellenwert** einen anderen Wert als den Standardwert an.

1. (Optional) Geben Sie für **Eingabespalte** eine Spalte mit numerischen Werten an. Verwendet die Werte der Spalten, um daraus abzuleiten, welche Datensätze sich in jedem Teil befinden. Die kleineren Werte befinden sich im einen, die größeren im anderen Teil.

1. (Optional) Wählen Sie **Duplikate behandeln**, um zu doppelten Werten Rauschen hinzuzufügen und einen Datensatz mit völlig eindeutigen Werten zu erstellen.

1. (Optional) Geben Sie einen Wert für **Zufälliger Anfangswert** an.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

------
#### [ Stratified split ]

Gehen Sie wie folgt vor, um eine stratifizierte Aufteilung Ihres Datensatzes vorzunehmen.

Gehen Sie wie folgt vor, um eine stratifizierte Aufteilung Ihres Datensatzes vorzunehmen.

1. Wählen Sie das **\$1** neben dem Knoten aus, der den aufzuteilenden Datensatz enthält.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Daten aufteilen** aus.

1. Wählen Sie für **Transformation** die Option **Stratifizierte Aufteilung** aus.

1. (Optional) Geben Sie für **Aufteilungen** die Namen und Anteile der einzelnen Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Wählen Sie **\$1**, um eine weitere Aufteilung zu erstellen.

   1. Geben Sie die Namen und Anteile aller Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. Geben Sie für **Eingabespalte** eine Spalte mit bis zu 100 eindeutigen Werten an. Data Wrangler kann keine Spalte stratifizieren, die mehr als 100 eindeutige Werte hat.

1. (Optional) Geben Sie für den **Fehlerschwellenwert** einen anderen Wert als den Standardwert an.

1. (Optional) Geben Sie einen Wert für **Zufälliger Anfangswert** an, um einen anderen Anfangswert anzugeben.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

------
#### [ Split by column keys ]

Gehen Sie wie folgt vor, um die Teilung nach den Spaltenschlüsseln in Ihrem Datensatz vorzunehmen.

Gehen Sie wie folgt vor, um die Aufteilung nach den Spaltenschlüsseln in Ihrem Datensatz vorzunehmen.

1. Wählen Sie das **\$1** neben dem Knoten aus, der den aufzuteilenden Datensatz enthält.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Daten aufteilen** aus.

1. Wählen Sie für **Transformation** die Option **Nach Schlüssel teilen** aus.

1. (Optional) Geben Sie für **Aufteilungen** die Namen und Anteile der einzelnen Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. (Optional) Wählen Sie **\$1**, um eine weitere Aufteilung zu erstellen.

   1. Geben Sie die Namen und Anteile aller Aufteilungen an. Die Summe der Anteile muss 1 ergeben.

1. Geben Sie für **Schlüsselspalten** die Spalten mit Werten an, die nicht in beiden Datensätzen erscheinen sollen.

1. (Optional) Geben Sie für den **Fehlerschwellenwert** einen anderen Wert als den Standardwert an.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

------

## Wert als Typ parsen
<a name="canvas-transform-cast-type"></a>

Verwenden Sie diese Transformation, um eine Spalte in einen neuen Typ umzuwandeln. Die unterstützten Data Wrangler-Datentypen sind:
+ Long
+ Gleitkommazahl
+ Boolesch
+ Datum in dem Format dd-MM-yyyy, das jeweils für Tag, Monat und Jahr steht. 
+ Zeichenfolge

## Zeichenfolge validieren
<a name="canvas-transform-validate-string"></a>

Mit Hilfe der Transformation **Zeichenfolge überprüfen** können Sie eine neue Spalte erstellen, die angibt, dass eine Zeile mit Textdaten eine bestimmte Bedingung erfüllt. Sie können z. B. mit Hilfe einer Transformation vom Typ **Zeichenfolge überprüfen** überprüfen, ob eine Zeichenfolge nur Kleinbuchstaben enthält. Unter **Zeichenfolge überprüfen** werden die folgenden Transformationen unterstützt. 

In dieser Transformationsgruppe sind die folgenden Transformationen enthalten. Wenn eine Transformation einen booleschen Wert ausgibt, wird `True` mit einer dargestellt `1` und `False` mit einer `0`.


****  

| Name | Funktion | 
| --- | --- | 
|  Länge der Zeichenfolge  |  Gibt `True` zurück, wenn die Länge einer Zeichenfolge der angegebenen Länge entspricht. Gibt andernfalls `False` zurück.   | 
|  Beginnt mit  |  Gibt `True` zurück, wenn eine Zeichenfolge mit einem angegebenen Präfix beginnt. Gibt andernfalls `False` zurück.  | 
|  Endet mit  |  Gibt `True` zurück, wenn die Länge einer Zeichenfolge der angegebenen Länge entspricht. Gibt andernfalls `False` zurück.  | 
|  Ist alphanumerisch  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Zahlen und Buchstaben enthält. Gibt andernfalls `False` zurück.  | 
|  Ist Alpha (Buchstaben)  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Buchstaben enthält. Gibt andernfalls `False` zurück.  | 
|  Ist Ziffer  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Ziffern enthält. Gibt andernfalls `False` zurück.  | 
|  Ist Leerzeichen  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Zahlen und Buchstaben enthält. Gibt andernfalls `False` zurück.  | 
|  Ist Titel  |  Gibt `True` zurück, wenn eine Zeichenfolge Leerzeichen enthält. Gibt andernfalls `False` zurück.  | 
|  Ist kleingeschrieben  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Kleinbuchstaben enthält. Gibt andernfalls `False` zurück.  | 
|  Ist großgeschrieben  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Großbuchstaben enthält. Gibt andernfalls `False` zurück.  | 
|  Ist numerisch  |  Gibt `True` zurück, wenn eine Zeichenfolge nur Dezimalzahlen enthält. Gibt andernfalls `False` zurück.  | 
|  Ist dezimal  |  Gibt zurück`True`, ob eine Zeichenfolge nur Dezimalzahlen enthält. Gibt andernfalls `False` zurück.  | 

## Verschachtelung von JSON-Daten aufheben
<a name="canvas-transform-flatten-column"></a>

Wenn Sie eine CSV-Datei haben, enthält Ihr Datensatz ggf. Werte, bei denen es sich um JSON-Zeichenfolgen handelt. In ähnlicher Weise haben Sie in Spalten einer Parquet-Datei oder eines JSON-Dokuments ggf. verschachtelte Daten.

Verwenden Sie den Operator **Strukturierte abflachen**, um die Schlüssel der ersten Ebene in separate Spalten aufzuteilen. Ein Schlüssel der ersten Ebene ist ein Schlüssel, der nicht in einem Wert verschachtelt ist.

Sie könnten z. B. einen Datensatz haben, der eine Spalte für *Personen* mit demografischen Informationen zu jeder Person enthält, die als JSON-Zeichenfolgen gespeichert sind. Eine JSON-Zeichenfolge kann wie folgt aussehen.

```
 "{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
```

Der Operator **Strukturierte abflachen** konvertiert die folgenden Schlüssel der ersten Ebene in zusätzliche Spalten in Ihrem Datensatz:
+ seq
+ Name
+ Alter
+ city
+ state

Data Wrangler platziert die Werte der Schlüssel als Werte unter den Spalten. Im Folgenden werden die Spaltennamen und Werte des JSON gezeigt.

```
seq, name,                                    age, city, state
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
```

Für jeden Wert in Ihrem Datensatz, der JSON enthält, erstellt der Operator **Strukturierte abflachen** Spalten für die Schlüssel der ersten Ebene. Um Spalten für verschachtelte Schlüssel zu erstellen, rufen Sie den Operator erneut auf. Im obigen Beispiel werden durch Aufrufen des Operators die folgenden Spalten erstellt:
+ name\$1first
+ name\$1last

Das folgende Beispiel zeigt die Datenmenge, die erhalten wird, wenn der Operation erneut aufgerufen wird.

```
seq, name,                                    age, city, state, name_first, name_last
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
```

Wählen Sie **Schlüssel, nach denen abgeflacht werden soll**, um die Schlüssel der ersten Ebene, die extrahiert werden sollen, als separate Spalten anzugeben. Wenn Sie keine Schlüssel angeben, extrahiert Data Wrangler standardmäßig alle Schlüssel.

## Array explodieren
<a name="canvas-transform-explode-array"></a>

Verwenden Sie **Array explodieren**, um die Werte des Arrays in separate Ausgabezeilen zu erweitern. Die Operation kann z. B. jeden Wert im Array [[1, 2, 3,], [4, 5, 6], [7, 8, 9]] nehmen und eine neue Spalte mit den folgenden Zeilen erstellen:

```
                [1, 2, 3]
                [4, 5, 6]
                [7, 8, 9]
```

Data Wrangler nennt die neue Spalte input\$1column\$1name\$1flatten.

Sie können die Operation **Array explodieren** mehrmals aufrufen, um die verschachtelten Werte des Arrays auf separate Ausgabespalten zu verteilen. Das folgende Beispiel zeigt das Ergebnis, wenn der Operation für einen Datensatz mit verschachteltem Array mehrfach aufgerufen wird.

Die Werte eines verschachtelten Arrays werden auf separate Spalten aufgeteilt


| id | Array | id | array\$1items | id | array\$1items\$1items | 
| --- | --- | --- | --- | --- | --- | 
| 1 | [[Katze, Hund], [Fledermaus, Frosch]] | 1 | [Katze, Hund] | 1 | cat | 
| 2 |  [Rose, Petunie], [Lilie, Gänseblümchen]  | 1 | [Fledermaus, Frosch] | 1 | Hund | 
|  |  | 2 | [Rose, Petunie] | 1 | bat | 
|  |  | 2 | [Lilie, Gänseblümchen] | 1 | Frosch | 
|  |  |  | 2 | 2 | Rose | 
|  |  |  | 2 | 2 | Petunie | 
|  |  |  | 2 | 2 | Lilie | 
|  |  |  | 2 | 2 | Gänseblümchen | 

## Bilddaten transformieren
<a name="canvas-transform-image"></a>

Mit Data Wrangler können Sie die Bilder importieren und transformieren, die Sie für Ihre Machine Learning (ML)-Pipelines verwenden. Wenn Sie Ihre Bilddaten vorbereitet haben, können Sie sie aus Ihrem Data Wrangler-Flow in Ihre ML-Pipeline exportieren.

Mit Hilfe der hier bereitgestellten Informationen können Sie sich mit dem Import und der Transformation von Bilddaten in Data Wrangler vertraut machen. Data Wrangler verwendet OpenCV, um Bilder zu importieren. Weitere Informationen zu den unterstützten Bildformaten finden Sie unter [Bilddateien lesen und schreiben](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56).

Nachdem Sie sich mit den Konzepten der Transformation Ihrer Bilddaten vertraut gemacht haben, lesen Sie das folgende Tutorial: [Bilddaten mit Amazon SageMaker Data Wrangler vorbereiten](https://aws.amazon.com/blogs/machine-learning/prepare-image-data-with-amazon-sagemaker-data-wrangler/).

Die folgenden Branchen und Anwendungsfälle sind Beispiele, bei denen die Anwendung von Machine Learning auf transformierte Bilddaten nützlich sein kann:
+ Fertigung – Mängel an Waren vom Fließband erkennen
+ Lebensmittel – verdorbene Lebensmittel erkennen
+ Medizin – Läsionen im Gewebe erkennen

Wenn Sie in Data Wrangler mit Bilddaten arbeiten, durchlaufen Sie den folgenden Prozess:

1. Import – wählen Sie das Verzeichnis aus, das die Bilder in Ihrem Amazon-S3-Bucket enthält.

1. Transformieren – Verwenden Sie die integrierten Transformationen, um die Bilder für Ihre Machine-Learning-Pipeline vorzubereiten.

1. Exportieren – Exportieren Sie die Bilder, die Sie transformiert haben, an einen Speicherort, auf den über die Pipeline zugegriffen werden kann.

Gehen Sie wie folgt vor, um Ihre Bilddaten zu importieren.

**Bilddaten importieren**

1. Navigieren Sie zur Seite **Verbindung erstellen**.

1. Wählen Sie **Amazon S3**.

1. Geben Sie den Amazon S3-Dateipfad an, der die Bilddaten enthält.

1. Wählen Sie als **Dateityp** die Option **Bild** aus.

1. (Optional) Wählen Sie **Verschachtelte Verzeichnisse importieren**, um Bilder aus mehreren Amazon S3-Pfaden zu importieren.

1. Wählen Sie **Importieren** aus.

Data Wrangler verwendet die Open-Source-Bibliothek [imgaug](https://imgaug.readthedocs.io/en/latest/) für seine integrierten Bildtransformationen. Sie können die folgenden integrierten Transformationen verwenden:
+ **ResizeImage**
+ **EnhanceImage**
+ **CorruptImage**
+ **SplitImage**
+ **DropCorruptedImages**
+ **DropImageDuplicates**
+ **Brightness**
+ **ColorChannels**
+ **Graustufen**
+ **Drehen**

Gehen Sie wie folgt vor, um Ihre Bilder zu transformieren, ohne Code schreiben zu müssen.

**Bilddaten transformieren, ohne Code zu schreiben**

1. Wählen Sie in Ihrem Data Wrangler-Flow das (**\$1**) neben dem Knoten aus, der die Bilder darstellt, die Sie importiert haben.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie die Transformation aus und konfigurieren Sie sie.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

Sie können nicht nur die von Data Wrangler bereitgestellten Transformationen verwenden, sondern auch Ihre eigenen benutzerdefinierten Codeausschnitte verwenden. Weitere Informationen zur Verwendung von benutzerdefinierten Codeausschnitten finden Sie unter [Benutzerdefinierte Transformationen](#canvas-transform-custom). Sie können die OpenCV- und imgaug-Bibliotheken in Ihren Codeausschnitten importieren und die damit verknüpften Transformationen verwenden. Das folgende Beispiel zeigt einen Codeausschnitt, der Kanten in Bildern erkennt.

```
# A table with your image data is stored in the `df` variable
import cv2
import numpy as np
from pyspark.sql.functions import column

from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE
from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator


@BasicImageOperationDecorator
def my_transform(image: np.ndarray) -> np.ndarray:
  # To use the code snippet on your image data, modify the following lines within the function
    HYST_THRLD_1, HYST_THRLD_2 = 100, 200
    edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2)
    return edges
    

@PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE)
def custom_image_udf(image_row):
    return my_transform(image_row)
    

df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
```

Wenn Sie in Ihrem Data Wrangler-Ablauf Transformationen anwenden, wendet Data Wrangler diese nur auf eine Stichprobe der Bilder in Ihrem Datensatz an. Um die Bedienung der Anwendung für Sie zu optimieren, wendet Data Wrangler die Transformationen nicht auf alle Ihre Bilder an.

## Daten filtern
<a name="canvas-transform-filter-data"></a>

Verwenden Sie Data Wrangler, um die Daten in Ihren Spalten zu filtern. Wenn Sie die Daten in einer Spalte filtern, geben Sie die folgenden Felder an:
+ **Spaltenname** – Der Name der Spalte, die Sie zum Filtern der Daten verwenden.
+ **Bedingung** – Der Filtertyp, den Sie auf Werte in der Spalte anwenden.
+ **Wert** – Der Wert oder die Kategorie in der Spalte, auf die Sie den Filter anwenden.

Sie können nach den folgenden Bedingungen filtern:
+ **=** – Gibt Werte zurück, die dem von Ihnen angegebenen Wert oder der Kategorie entsprechen.
+ **\$1 **= – Gibt Werte zurück, die nicht dem von Ihnen angegebenen Wert oder der Kategorie entsprechen.
+ **>=** – Filtert für **Lang** – oder **Gleitkomma**-Daten nach Werten, die größer oder gleich dem von Ihnen angegebenen Wert sind.
+ **<=** – Filtert für **Lang** – oder **Gleitkomma**-Daten nach Werten, die kleiner oder gleich dem von Ihnen angegebenen Wert sind.
+ **>** – Filtert für **Lang** – oder **Gleitkomma**-Daten nach Werten, die größer als der von Ihnen angegebene Wert sind.
+ **<** – Filtert für **Lang** – oder **Gleitkomma**-Daten nach Werten, die kleiner als der von Ihnen angegebene Wert sind.

Für eine Spalte mit den Kategorien `male` und `female` können Sie alle `male` Werte herausfiltern. Sie können auch nach allen `female` Werten filtern. Da die Spalte nur `male` und `female` Werte enthält, gibt der Filter eine Spalte zurück, die nur `female` Werte enthält.

Sie können auch mehrere Filter hinzufügen. Die Filter können auf mehrere Spalten oder auf dieselbe Spalte angewendet werden. Wenn Sie z. B. eine Spalte erstellen, die nur Werte innerhalb eines bestimmten Bereichs enthält, fügen Sie zwei verschiedene Filter hinzu. Ein Filter gibt an, dass die Spalte Werte enthalten muss, die größer als der von Ihnen angegebene Wert sind. Der andere Filter gibt an, dass die Spalte Werte enthalten muss, die kleiner als der von Ihnen angegebene Wert sind.

Gehen Sie wie folgt vor, um die Filtertransformation zu Ihren Daten hinzuzufügen.

**Filtern Ihrer Daten**

1. Wählen Sie in Ihrem Data Wrangler-Flow das **\$1** neben dem Knoten mit den Daten aus, die Sie filtern wollen.

1. Wählen Sie **Transformation hinzufügen** aus.

1. Wählen Sie **Schritt hinzufügen**.

1. Wählen Sie **Daten filtern**.

1. Geben Sie die folgenden Felder an:
   + **Spaltenname** – Die Spalte, die Sie filtern wollen.
   + **Bedingung** – Die Filterbedingung.
   + **Wert** – Der Wert oder die Kategorie in der Spalte, auf die Sie den Filter anwenden wollen.

1. (Optional) Wählen Sie nach dem Filter, den Sie erstellt haben, das **\$1** aus.

1. Konfigurieren Sie den Filter.

1. Wählen Sie **Preview** (Vorschau) aus.

1. Wählen Sie **Hinzufügen** aus.

# Chat zur Datenvorbereitung
<a name="canvas-chat-for-data-prep"></a>

**Wichtig**  
Für Administratoren:  
Für den Chat zur Datenvorbereitung ist die `AmazonSageMakerCanvasAIServicesAccess`-Richtlinie erforderlich. Weitere Informationen finden Sie unter [AWS verwaltete Richtlinie: Zugriff AmazonSageMakerCanvas AIServices](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess).
Für den Chat zur Datenvorbereitung ist Zugriff auf Amazon Bedrock und das darin enthaltene **Anthropic-Claude**-Modell erforderlich. Weitere Informationen finden Sie unter [Modellzugriff hinzufügen](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html#add-model-access).
Sie müssen die SageMaker Canvas-Datenvorbereitung in derselben Region ausführen AWS-Region wie in der Region, in der Sie Ihr Modell ausführen. Chat für die Datenvorbereitung ist in den USA Ost (Nord-Virginia), USA West (Oregon) und Europa (Frankfurt) verfügbar. AWS-Regionen

Zusätzlich zu den integrierten Transformationen und Analysen können Sie Ihre Daten mithilfe natürlicher Sprache in einer dialogorientierten Oberfläche untersuchen, visualisieren und transformieren. Innerhalb der Konversationsschnittstelle können Sie Abfragen in natürlicher Sprache verwenden, um Ihre Daten zu verstehen und für die Erstellung von ML-Modellen vorzubereiten.

Im Folgenden finden Sie einige Beispiele für Prompts, die Sie verwenden können:
+ Meine Daten zusammenfassen
+ Löschen von Spalte `example-column-name`
+ Fehlende Werte durch Median ersetzen
+ Histogramm der Preise erstellen
+ Was ist der teuerste Artikel, der verkauft wurde?
+ Wie viele verschiedene Artikel wurden verkauft?
+ Daten nach Region sortieren

Wenn Sie Ihre Daten mithilfe Ihrer Prompts transformieren, können Sie eine Vorschau anzeigen, die Ihnen zeigt, wie die Daten transformiert werden. Sie können es als Schritt in Ihrem Data-Wrangler-Ablauf hinzufügen, basierend auf dem, was Sie in der Vorschau sehen.

Die Antworten auf Ihre Prompts generieren Code für Ihre Transformationen und Analysen. Sie können den Code anpassen, um die Ausgabe der Prompts zu aktualisieren. Beispielsweise können Sie den Code für eine Analyse ändern, um die Werte der Achsen eines Diagramms anzupassen.

Gehen Sie wie folgt vor, um mit Ihren Daten zu chatten:

**So chatten Sie mit Ihren Daten**

1. Öffnen Sie den SageMaker Canvas-Datenfluss.

1. Wählen Sie die Sprechblase aus.  
![\[Der Chat für die Datenaufbereitung befindet sich oben auf dem Bildschirm.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/chat-for-data-prep-welcome-step.png)

1. Geben Sie einen Prompt an.

1. (Optional) Wenn Ihre Abfrage eine Analyse generiert hat, wählen Sie **Zu Analysen hinzufügen** aus, um später darauf zurückgreifen zu können.  
![\[Die Ansicht eines bearbeitbaren und kopierbaren Codeblocks.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/encanto-query-for-visualization.png)

1. (Optional) Wenn Sie Ihre Daten mithilfe einem Prompt transformiert haben, gehen Sie wie folgt vor.

   1. Wählen Sie **Vorschau** aus, um die Ergebnisse anzuzeigen.

   1. (Optional) Ändern Sie den Code in der Transformation und wählen Sie **Aktualisieren** aus.

   1. (Optional) Wenn Sie mit den Ergebnissen der Transformation zufrieden sind, wählen Sie **Zu Schritten hinzufügen** aus, um sie zum Schrittfenster auf der rechten Seite hinzuzufügen.  
![\[Mit Zu Schritten hinzugefügt wird bestätigt, dass die Transformation dem Fluss hinzugefügt wurde.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/transform-added-to-steps-panel.png)

Nachdem Sie Ihre Daten in natürlicher Sprache vorbereitet haben, können Sie anhand Ihrer transformierten Daten ein Modell erstellen. Weitere Informationen zum Erstellen eines Modells finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).

# Wie funktioniert die Datenverarbeitung in Data Wrangler?
<a name="canvas-data-processing"></a>

Bei der interaktiven Arbeit mit Daten in einem Amazon Data SageMaker Wrangler-Datenfluss wendet Amazon SageMaker Canvas die Transformationen nur auf einen Beispieldatensatz an, den Sie in der Vorschau anzeigen können. Nachdem Sie Ihren Datenfluss in SageMaker Canvas abgeschlossen haben, können Sie alle Ihre Daten verarbeiten und an einem Ort speichern, der für Ihre Workflows für maschinelles Lernen geeignet ist.

Nachdem Sie die Transformation Ihrer Daten in Data Wrangler abgeschlossen haben, stehen Ihnen mehrere Optionen zur Verfügung:
+ [Erstellen eines Modells](canvas-processing-export-model.md) Sie können ein Canvas-Modell erstellen, bei dem Sie direkt mit der Erstellung eines Modells mit Ihren vorbereiteten Daten beginnen. Sie können ein Modell entweder nach der Verarbeitung Ihres gesamten Datensatzes erstellen oder indem Sie nur die Beispieldaten exportieren, mit denen Sie in Data Wrangler gearbeitet haben. Canvas speichert Ihre verarbeiteten Daten (entweder den gesamten Datensatz oder die Beispieldaten) als Canvas-Datensatz.

  Wir empfehlen Ihnen, Ihre Beispieldaten für schnelle Iterationen zu verwenden, jedoch Ihre gesamten Daten zu nutzen, wenn Sie Ihr endgültiges Modell trainieren möchten. Beim Erstellen tabellarischer Modelle werden Datensätze, die größer als 5 GB sind, automatisch auf 5 GB heruntergerechnet. Bei Zeitreihen-Prognosemodellen werden Datensätze, die größer als 30 GB sind, auf 30 GB heruntergerechnet.

  Weitere Informationen zum Erstellen eines Modells finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).
+ [Exportieren Sie die Daten](canvas-export-data.md). Sie können Ihre Daten exportieren, um sie in Machine-Learning-Workflows zu verwenden. Wenn Sie sich für den Export Ihrer Daten entscheiden, stehen Ihnen mehrere Optionen zur Verfügung:
  + Sie können Ihre Daten in der Canvas-Anwendung als Datensatz speichern. Weitere Informationen zu den unterstützten Dateitypen für Canvas-Datensätze und zusätzlichen Anforderungen beim Importieren von Daten in Canvas finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md).
  + Sie können Ihre Daten in Amazon S3 speichern. Abhängig von der verfügbaren Speicherkapazität von Canvas werden Ihre Daten in der Anwendung verarbeitet und anschließend in Amazon S3 exportiert. Wenn die Größe Ihres Datensatzes das übersteigt, was Canvas verarbeiten kann, verwendet Canvas standardmäßig einen EMR-Serverless-Auftrag, um auf mehrere Rechen-Instances zu skalieren, Ihren gesamten Datensatz zu verarbeiten und ihn nach Amazon S3 zu exportieren. Sie können einen SageMaker Verarbeitungsauftrag auch manuell konfigurieren, um eine genauere Kontrolle über die Rechenressourcen zu haben, die für die Verarbeitung Ihrer Daten verwendet werden.
+ [Exportieren Sie einen Datenfluss](canvas-export-data-flow.md). Es könnte sinnvoll sein, den Code für Ihren Datenfluss zu speichern, damit Sie Ihre Transformationen außerhalb von Canvas ändern oder ausführen können. Canvas bietet Ihnen die Möglichkeit, Ihre Datenflusstransformationen als Python-Code in einem Jupyter Notebook zu speichern, das Sie dann nach Amazon S3 exportieren können, um es an anderer Stelle in Ihren Machine-Learning-Workflows zu verwenden.

Wenn Sie Ihre Daten aus einem Datenfluss exportieren und entweder als Canvas-Datensatz oder in Amazon S3 speichern, erstellt Canvas einen neuen Zielknoten in Ihrem Datenfluss. Dieser Endknoten zeigt Ihnen, wo Ihre verarbeiteten Daten gespeichert werden. Sie können Ihrem Fluss zusätzliche Zielknoten hinzufügen, wenn Sie mehrere Exportvorgänge durchführen möchten. Beispielsweise können Sie die Daten aus verschiedenen Punkten Ihres Datenflusses exportieren, um nur einige der Transformationen anzuwenden, oder Sie können transformierte Daten an verschiedene Amazon-S3-Speicherorte exportieren. Weitere Informationen zum Hinzufügen oder Bearbeiten eines Zielknotens finden Sie unter [Hinzufügen von Zielknoten](canvas-destination-nodes-add.md) und [Bearbeiten eines Zielknotens](canvas-destination-nodes-edit.md).

Weitere Informationen zum Einrichten eines Zeitplans mit Amazon für EventBridge die automatische Verarbeitung und den Export Ihrer Daten nach einem Zeitplan finden Sie unter[Erstellen eines Zeitplans für die automatische Verarbeitung neuer Daten](canvas-data-export-schedule-job.md).

# Exportieren, um ein Modell zu erstellen
<a name="canvas-processing-export-model"></a>

Mit nur wenigen Klicks können Sie Ihre transformierten Daten aus Ihrem Datenfluss exportieren und mit der Erstellung eines ML-Modells in Canvas beginnen. Canvas speichert Ihre Daten als Canvas-Datensatz, und Sie werden zur Konfigurationsseite für die Modellerstellung eines neuen Modells weitergeleitet.

So erstellen Sie ein Canvas-Modell mit Ihren transformierten Daten:

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Auslassungszeichen neben dem Knoten, den Sie exportieren möchten.

1. Wählen Sie im Kontextmenü die Option **Modell erstellen** aus.

1. Geben Sie im Seitenbereich **Exportieren, um ein Modell zu erstellen**, einen **Datensatznamen** für den neuen Datensatz ein.

1. Lassen Sie die Option **Gesamten Datensatz verarbeiten** ausgewählt, um Ihren gesamten Datensatz zu verarbeiten und zu exportieren, bevor Sie mit der Erstellung eines Modells fortfahren. Deaktivieren Sie diese Option, um Ihr Modell anhand der interaktiven Beispieldaten zu trainieren, mit denen Sie in Ihrem Datenfluss arbeiten.

1. Geben Sie einen **Modellnamen** ein, um das neue Modell zu benennen.

1. Wählen Sie einen **Problemtyp** oder die Art des Modells aus, das Sie erstellen möchten. Weitere Informationen zu den unterstützten Modelltypen in SageMaker Canvas finden Sie unter[So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).

1. Wählen Sie die **Zielspalte** oder den Wert aus, den das Modell vorhersagen soll.

1. Wählen Sie **Modell exportieren und erstellen** aus.

Die Registerkarte **Build** für ein neues Canvas-Modell sollte sich öffnen und Sie können die Konfiguration und das Training Ihres Modells abschließen. Für weitere Informationen zum Erstellen eines Modells finden Sie unter [Ein Modell erstellen](canvas-build-model-how-to.md).

# Daten exportieren
<a name="canvas-export-data"></a>

Exportieren Sie die Daten, um die Transformationen aus Ihrem Datenfluss auf den gesamten importierten Datensatz anzuwenden. Sie können jeden Knoten in Ihrem Datenfluss an die folgenden Speicherorte exportieren:
+ SageMaker Canvas-Datensatz
+ Amazon S3

Wenn Sie Modelle in Canvas trainieren möchten, können Sie Ihren vollständigen, transformierten Datensatz als Canvas-Datensatz exportieren. Wenn Sie Ihre transformierten Daten in maschinellen Lern-Workflows außerhalb von SageMaker Canvas verwenden möchten, können Sie Ihren Datensatz nach Amazon S3 exportieren.

## Exportieren in einen Canvas-Datensatz
<a name="canvas-export-data-canvas"></a>

Gehen Sie wie folgt vor, um einen SageMaker Canvas-Datensatz aus einem Knoten in Ihrem Datenfluss zu exportieren.

**Um einen Knoten in Ihrem Flow als SageMaker Canvas-Datensatz zu exportieren**

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Auslassungszeichen neben dem Knoten, den Sie exportieren möchten.

1. Bewegen Sie den Mauszeiger im Kontextmenü über **Exportieren** und wählen Sie anschließend **Daten in Canvas-Datensatz exportieren** aus.

1. Geben Sie im Seitenbereich **In Canvas-Datensatz exportieren**, einen **Datensatznamen** für den neuen Datensatz ein.

1. Lassen Sie die Option **Gesamten Datensatz verarbeiten** ausgewählt, wenn SageMaker Canvas Ihren gesamten Datensatz verarbeiten und speichern soll. Deaktivieren Sie diese Option, um die Transformationen nur auf die Beispieldaten anzuwenden, mit denen Sie in Ihrem Datenfluss arbeiten.

1. Wählen Sie **Export** aus.

Sie sollten nun in der Lage sein, die Seite **Datensätze** der Canvas-Anwendung aufzurufen und Ihren neuen Datensatz anzuzeigen.

## Exportieren zu Amazon S3
<a name="canvas-export-data-s3"></a>

Beim Export Ihrer Daten zu Amazon S3 können Sie die Skalierung anpassen, um Daten jeder Größe zu transformieren und zu verarbeiten. Canvas verarbeitet Ihre Daten automatisch lokal, sofern der Speicher der Anwendung die Größe Ihres Datensatzes bewältigen kann. Wenn die Größe Ihres Datensatzes die lokale Speicherkapazität von 5 GB überschreitet, initiiert Canvas in Ihrem Auftrag einen Remote-Auftrag, um zusätzliche Rechenressourcen bereitzustellen und die Daten schneller zu verarbeiten. Standardmäßig verwendet Canvas Amazon EMR Serverless, um diese Remote-Aufträge auszuführen. Sie können Canvas jedoch manuell so konfigurieren, dass entweder EMR Serverless oder ein SageMaker Verarbeitungsjob mit Ihren eigenen Einstellungen verwendet wird.

**Anmerkung**  
Bei der Ausführung eines EMR-Serverless-Auftrags übernimmt der Auftrag standardmäßig die IAM-Rolle, die KMS-Schlüsseleinstellungen und die Tags Ihrer Canvas-Anwendung.

Im Folgenden werden die Optionen für Remote-Aufträge in Canvas zusammengefasst:
+ **EMR Serverless**: Dies ist die Standardoption, die Canvas für Remote-Aufträge verwendet. EMR Serverless stellt automatisch Rechenressourcen bereit und skaliert diese, um Ihre Daten zu verarbeiten, sodass Sie sich keine Gedanken über die Auswahl der richtigen Rechenressourcen für Ihren Workload machen müssen. Weitere Informationen zu EMR Serverless finden Sie im [Benutzerhandbuch für EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html).
+ **SageMaker Verarbeitung**: SageMaker Verarbeitungsaufträge bieten erweiterte Optionen und eine detaillierte Kontrolle über die Rechenressourcen, die für die Verarbeitung Ihrer Daten verwendet werden. Sie können beispielsweise den Typ und die Anzahl der Rechen-Instances angeben, den Auftrag in Ihrer eigenen VPC konfigurieren und den Netzwerkzugriff steuern, Verarbeitungsaufträge automatisieren und vieles mehr. Weitere Informationen zur Automatisierung von Verarbeitungsaufträgen finden Sie unter [Erstellen eines Zeitplans für die automatische Verarbeitung neuer Daten](canvas-data-export-schedule-job.md). Weitere allgemeine Informationen zur SageMaker Verarbeitung von Aufträgen finden Sie unter[Workloads zur Datentransformation mit SageMaker Verarbeitung](processing-job.md).

Die folgenden Dateitypen werden beim Export nach Amazon S3 unterstützt:
+ CSV
+ Parquet

Lesen Sie die folgenden Seiten, um zu beginnen.

### Voraussetzungen für EMR-Serverless-Aufträge
<a name="canvas-export-data-emr-prereqs"></a>

Um einen Remote-Auftrag zu erstellen, der EMR-Serverless-Ressourcen verwendet, müssen Sie über die erforderlichen Berechtigungen verfügen. Sie können Berechtigungen entweder über die Amazon SageMaker AI-Domain oder die Benutzerprofileinstellungen gewähren, oder Sie können die AWS IAM-Rolle Ihres Benutzers manuell konfigurieren. Anweisungen zum Erteilen von Berechtigungen zur Verarbeitung großer Datenmengen finden Sie unter [Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer](canvas-large-data-permissions.md).

Wenn Sie diese Richtlinien nicht konfigurieren möchten, aber dennoch große Datensätze mit Data Wrangler verarbeiten müssen, können Sie alternativ einen Verarbeitungsjob verwenden. SageMaker 

Gehen Sie wie folgt vor, um Ihre Daten nach Amazon S3 zu exportieren. Um einen Remote-Auftrag zu konfigurieren, befolgen Sie bitte die optionalen erweiterten Schritte.

**So exportieren Sie einen Knoten in Ihrem Fluss nach Amazon S3**

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Auslassungszeichen neben dem Knoten, den Sie exportieren möchten.

1. Bewegen Sie den Mauszeiger im Kontextmenü über **Exportieren** und wählen Sie anschließend **Daten nach Amazon S3 exportieren** aus.

1. Im Seitenbereich **Nach Amazon S3 exportieren** können Sie den **Datensatznamen** für den neuen Datensatz ändern.

1. Geben Sie für den **S3-Standort** den Amazon-S3-Standort ein, in den Sie den Datensatz exportieren möchten. Sie können die S3-URI, den Alias oder die ARN des S3-Speicherorts oder des S3-Zugangspunkts eingeben. Weitere Informationen zu Zugangspunkten finden Sie unter [Verwalten des Datenzugriffs mit Amazon S3 Access Points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) im *Benutzerhandbuch für Amazon S3*.

1. (Optional) Geben Sie für **erweiterte Einstellungen** Werte für die folgenden Felder an:

   1. **Dateityp** – Das Dateiformat Ihrer exportierten Daten.

   1. **Trennzeichen** – Das Trennzeichen, das zum Trennen von Werten in der Datei verwendet wird.

   1. **Komprimierung** – die Komprimierungsmethode, mit der die Dateigröße reduziert wird.

   1. **Anzahl der Partitionen** – Die Anzahl der Datensatzdateien, die Canvas als Ausgabe des Auftrags schreibt.

   1. **Spalten auswählen** – Sie können eine Teilmenge von Spalten aus den Daten auswählen, die in die Partitionen aufgenommen werden sollen.

1. lassen Sie die Option **Gesamten Datensatz verarbeiten** ausgewählt, wenn Sie möchten, dass Canvas Ihre Datenflusstransformationen auf Ihren gesamten Datensatz anwendet und das Ergebnis exportiert. Wenn Sie diese Option deaktivieren, wendet Canvas die Transformationen nur auf die Stichprobe Ihres Datensatzes an, die im interaktiven Data Wrangler-Datenfluss verwendet wird.
**Anmerkung**  
Wenn Sie nur eine Stichprobe Ihrer Daten exportieren, verarbeitet Canvas Ihre Daten in der Anwendung und erstellt keinen Remote-Auftrag für Sie.

1. Lassen Sie die Option **Automatische Auftragskonfiguration** ausgewählt, wenn Sie möchten, dass Canvas automatisch entscheidet, ob der Auftrag mit dem Canvas-Anwendungsspeicher oder einem EMR-Serverless-Auftrag ausgeführt werden soll. Wenn Sie diese Option deaktivieren und Ihren Job manuell konfigurieren, können Sie wählen, ob Sie einen EMR Serverless Job oder einen SageMaker Processing Job verwenden möchten. Anweisungen zur Konfiguration eines EMR-Serverless-Jobs oder eines SageMaker Processing-Jobs finden Sie im Abschnitt nach diesem Verfahren, bevor Sie Ihre Daten exportieren.

1. Wählen Sie **Export** aus.

Die folgenden Verfahren zeigen, wie Sie die Remote-Job-Einstellungen für EMR Serverless oder SageMaker Processing manuell konfigurieren, wenn Sie Ihren vollständigen Datensatz nach Amazon S3 exportieren.

------
#### [ EMR Serverless ]

Um einen EMR-Serverless-Auftrag beim Exportieren nach Amazon S3 zu konfigurieren, gehen Sie wie folgt vor:

1. Deaktivieren Sie im Seitenbereich „Nach Amazon S3 exportieren“ die Option **Automatische Auftragskonfiguration**.

1. Wählen Sie **EMR Serverless** aus.

1. Geben Sie für **Auftragsname** einen Namen für Ihren EMR-Serverless-Auftrag ein. Der Name kann Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten.

1. Geben Sie für die **IAM-Rolle** die IAM-Ausführungsrolle des Benutzers ein. Diese Rolle sollte über die erforderlichen Berechtigungen zum Ausführen von EMR-Serverless-Anwendungen verfügen. Weitere Informationen finden Sie unter [Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer](canvas-large-data-permissions.md).

1. (Optional) Geben Sie für **KMS-Schlüssel** die Schlüssel-ID oder den ARN eines an AWS KMS key , um die Jobprotokolle zu verschlüsseln. Wenn Sie keinen Schlüssel eingeben, verwendet Canvas einen Standardschlüssel für EMR Serverless.

1. (Optional) Geben Sie für die **Monitoring-Konfiguration** den Namen einer Amazon CloudWatch Logs-Protokollgruppe ein, in der Sie Ihre Protokolle veröffentlichen möchten.

1. (Optional) Fügen Sie für **Tags** Metadaten-Tags zum EMR Serverless-Auftrag hinzu, die aus Schlüssel-Wert-Paaren bestehen. Diese Tags können zur Kategorisierung und Suche von Aufträgen verwendet werden.

1. Wählen Sie **Export**, um den Auftrag zu starten.

------
#### [ SageMaker Processing ]

Gehen Sie wie folgt vor, um einen SageMaker Verarbeitungsauftrag beim Export nach Amazon S3 zu konfigurieren:

1. Deaktivieren Sie im Seitenbereich **Nach Amazon S3 exportieren** die Option **Automatische Auftragskonfiguration**.

1. Wählen Sie **SageMaker Verarbeitung** aus.

1. Geben Sie **Job Jobname** einen Namen für Ihren SageMaker AI Processing-Job ein.

1. Wählen Sie unter **Instance-Typ** den Typ der Rechen-Instance aus, auf der der Verarbeitungsauftrag ausgeführt werden soll.

1. Geben Sie unter **Anzahl der Instances** die Anzahl der Instances an, die gestartet werden sollen.

1. Geben Sie für die **IAM-Rolle** die IAM-Ausführungsrolle des Benutzers ein. Diese Rolle sollte über die erforderlichen Berechtigungen verfügen, damit SageMaker KI in Ihrem Namen Verarbeitungsaufträge erstellen und ausführen kann. Diese Berechtigungen werden gewährt, wenn Sie die [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)Richtlinie mit Ihrer IAM-Rolle verknüpft haben.

1. Geben Sie für die **Volumengröße** die Speichergröße in GB für das ML-Speichervolumen ein, das jeder Verarbeitungs-Instance zugeordnet ist. Wählen Sie die Größe auf der Grundlage Ihrer erwarteten Eingabe- und Ausgabedatengröße.

1. (Optional) Geben Sie für den **Volume-KMS-Schlüssel** einen KMS-Schlüssel an, um das Speichervolume zu verschlüsseln. Wenn Sie keinen Schlüssel angeben, wird der standardmäßige Amazon-EBS-Verschlüsselungsschlüssel verwendet.

1. (Optional) Geben Sie für **KMS-Schlüssel** einen KMS-Schlüssel an, um die Eingabe- und Ausgabedatenquellen von Amazon S3 zu verschlüsseln, die vom Verarbeitungsauftrag verwendet werden.

1. (Optional) Gehen Sie für **Konfiguration des Spark-Speichers** wie folgt vor:

   1. Geben Sie den **Treiberspeicher in MB** für den Spark-Treiberknoten ein, der die Auftragskoordination und -planung übernimmt.

   1. Geben Sie **Executor-Speicher in MB** für die Spark-Executor-Knoten ein, die einzelne Aufgaben im Auftrag ausführen.

1. (Optional) Gehen Sie für **Zusätzliche Konfigurationen** wie folgt vor:

   1. Geben Sie für **Subnetzkonfiguration** die IDs VPC-Subnetze ein, in denen die Verarbeitungsinstanzen gestartet werden sollen. Standardmäßig verwendet der Auftrag die Einstellungen Ihrer Standard-VPC.

   1. Geben Sie für die **Sicherheitsgruppenkonfiguration** die IDs Sicherheitsgruppen ein, um die Verbindungsregeln für eingehende und ausgehende Verbindungen zu steuern.

   1. Aktivieren Sie die Option **Verschlüsselung des Datenverkehrs zwischen Containern aktivieren**, um die Netzwerkkommunikation zwischen Verarbeitungscontainern während des Auftrags zu verschlüsseln.

1. (Optional) Für **Associate-Zeitpläne** können Sie einen EventBridge Amazon-Zeitplan erstellen wählen, damit der Verarbeitungsjob in wiederkehrenden Intervallen ausgeführt wird. Wählen Sie **Neuen Zeitplan erstellen** aus und füllen Sie das Dialogfeld aus. Weitere Informationen zum Ausfüllen dieses Abschnitts und zum Ausführen von Verarbeitungsaufträgen nach einem Zeitplan finden Sie unter [Erstellen eines Zeitplans für die automatische Verarbeitung neuer Daten](canvas-data-export-schedule-job.md).

1. (Optional) Fügen Sie **Tags** als Schlüssel-Wert-Paare hinzu, damit Sie Verarbeitungsaufträge kategorisieren und nach ihnen suchen können.

1. Wählen Sie **Exportieren** aus, um den Verarbeitungsauftrag zu starten.

------

Nach dem Export Ihrer Daten sollten Sie den vollständig verarbeiteten Datensatz am angegebenen Amazon-S3-Speicherort finden.

# Exportieren eines Datenflusses
<a name="canvas-export-data-flow"></a>

Beim Exportieren Ihres Datenflusses werden die Operationen, die Sie in Data Wrangler ausgeführt haben, übersetzt und in ein Jupyter Notebook mit Python-Code exportiert, das Sie ändern und ausführen können. Dies kann bei der Integration des Codes für Ihre Datentransformationen in Ihre Machine-Learning-Pipelines von Nutzen sein.

Sie können in Ihrem Datenfluss einen beliebigen Datenknoten auswählen und ihn exportieren. Beim Exportieren des Datenknotens wird die Transformation exportiert, die der Knoten darstellt, sowie die Transformationen, die ihm vorausgehen.

**So exportieren Sie einen Datenfluss als Jupyter Notebook**

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Ellipsensymbol neben dem Knoten aus, den Sie exportieren möchten.

1. Bewegen Sie den Mauszeiger im Kontextmenü über **Exportieren** und dann über **Über Jupyter Notebook exportieren**.

1. Wählen Sie eine der folgenden Optionen:
   + **SageMaker Pipelines**
   + **Amazon S3**
   + **SageMaker KI-Inferenz-Pipeline**
   + **SageMaker KI-Funktionsspeicher**
   + **Python-Kode**

1. Das Dialogfeld **Datenfluss als Notebook exportieren** wird geöffnet. Wählen Sie eine der folgenden Optionen:
   + **Lokale Kopie herunterladen**
   + **An einen S3-Speicherort exportieren**

1. Wenn Sie **An S3-Speicherort exportieren** ausgewählt haben, geben Sie den Amazon-S3-Speicherort ein, an den Sie das Notebook exportieren möchten.

1. Wählen Sie **Export** aus.

Ihr Jupyter Notebook sollte entweder auf Ihren lokalen Computer heruntergeladen werden oder Sie finden es gespeichert an dem von Ihnen angegebenen Amazon-S3-Speicherort.

# Hinzufügen von Zielknoten
<a name="canvas-destination-nodes-add"></a>

Ein Zielknoten in SageMaker Canvas gibt an, wo Ihre verarbeiteten und transformierten Daten gespeichert werden sollen. Wenn Sie sich dafür entscheiden, Ihre transformierten Daten nach Amazon S3 zu exportieren, verwendet Canvas den angegebenen Zielknotenstandort und wendet alle Transformationen an, die Sie in Ihrem Datenfluss konfiguriert haben. Weitere Informationen zu Exportaufträgen nach Amazon S3 finden Sie im vorherigen Abschnitt [Exportieren zu Amazon S3](canvas-export-data.md#canvas-export-data-s3).

Standardmäßig wird durch die Auswahl des Exports Ihrer Daten nach Amazon S3 ein Zielknoten zu Ihrem Datenfluss hinzugefügt. Sie können jedoch mehrere Zielknoten zu Ihrem Ablauf hinzufügen, sodass Sie verschiedene Transformationen oder Variationen Ihrer Daten gleichzeitig an verschiedene Amazon-S3-Speicherorte exportieren können. Beispielsweise können Sie einen Zielknoten erstellen, der die Daten nach Anwendung aller Transformationen exportiert, und einen weiteren Zielknoten, der die Daten nach nur bestimmten anfänglichen Transformationen, wie beispielsweise einer Join-Operation, exportiert. Dank dieser Flexibilität können Sie verschiedene Versionen oder Teilmengen Ihrer transformierten Daten für unterschiedliche Anwendungsfälle exportieren und an separaten S3-Speicherorten ablegen.

Gehen Sie wie folgt vor, um zu Ihrem Datenfluss einen Zielknoten hinzufügen.

**So fügen Sie einen Zielknoten hinzu**

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Ellipsensymbol neben dem Knoten aus, an dem Sie den Zielknoten platzieren möchten.

1. Bewegen Sie den Mauszeiger im Kontextmenü über **Exportieren** und wählen Sie dann **Ziel hinzufügen** aus.

1. Geben Sie im Seitenbereich **Exportziel** einen **Datensatznamen** ein, um der Ausgabe einen Namen zu geben.

1. Geben Sie für den **Amazon-S3-Standort** den Amazon-S3-Standort ein, in den Sie die Ausgabe exportieren möchten. Sie können die S3-URI, den Alias oder die ARN des S3-Speicherorts oder des S3-Zugangspunkts eingeben. Weitere Informationen zu Zugangspunkten finden Sie unter [Verwalten des Datenzugriffs mit Amazon S3 Access Points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) im *Benutzerhandbuch für Amazon S3*.

1. Geben Sie für **Exporteinstellungen** die folgenden Felder an:

   1. **Dateityp** – Das Dateiformat der exportierten Daten.

   1. **Trennzeichen** – Das Trennzeichen, das zum Trennen von Werten in der Datei verwendet wird.

   1. **Komprimierung** – die Komprimierungsmethode, mit der die Dateigröße reduziert wird.

1. Geben Sie für die **Partitionierung** die folgenden Felder an:

   1. **Anzahl der Partitionen** — Die Anzahl der Datensatzdateien, die SageMaker Canvas als Ausgabe des Jobs schreibt.

   1. **Spalten auswählen** – Sie können eine Teilmenge von Spalten aus den Daten auswählen, die in die Partitionen aufgenommen werden sollen.

1. Wählen Sie **Hinzufügen** aus, wenn Sie lediglich einen Zielknoten zu Ihrem Datenfluss hinzufügen möchten, oder wählen Sie **Hinzufügen** und dann **Exportieren** aus, wenn Sie den Knoten hinzufügen und einen Exportauftrag starten möchten.

Sie sollten nun einen neuen Zielknoten in Ihrem Fluss sehen.

# Bearbeiten eines Zielknotens
<a name="canvas-destination-nodes-edit"></a>

Ein *Zielknoten* in einem Amazon SageMaker Canvas-Datenfluss gibt den Amazon S3 S3-Standort an, an dem Ihre verarbeiteten und transformierten Daten gespeichert werden, wobei alle konfigurierten Transformationen in Ihrem Datenfluss angewendet werden. Sie können die Konfiguration eines vorhandenen Zielknotens bearbeiten und anschließend den Auftrag erneut ausführen, um die Daten am angegebenen Amazon-S3-Speicherort zu überschreiben. Weitere Informationen zum Hinzufügen eines neuen Zielknotens finden Sie unter [Hinzufügen von Zielknoten](canvas-destination-nodes-add.md).

Gehen Sie wie folgt vor, um einen Zielknoten in Ihrem Datenfluss zu bearbeiten und einen Exportauftrag zu starten.

**So bearbeiten Sie einen Zielknoten**

1. Navigieren Sie zu Ihrem Datenfluss.

1. Wählen Sie das Ellipsensymbol neben dem Zielknoten aus, den Sie bearbeiten möchten.

1. Wählen Sie im Kontextmenü **Bearbeiten** aus.

1. Der Seitenbereich **Ziel bearbeiten** wird geöffnet. In diesem Bereich können Sie Details wie den Namen des Datensatzes, den Amazon-S3-Speicherort sowie die Export- und Partitionierungseinstellungen bearbeiten.

1. (Optional) Unter **Weitere zu exportierende Knoten** können Sie weitere Zielknoten auswählen, die bei der Ausführung des Exportauftrags verarbeitet werden sollen.

1. lassen Sie die Option **Gesamten Datensatz verarbeiten** ausgewählt, wenn Sie möchten, dass Canvas Ihre Datenflusstransformationen auf Ihren gesamten Datensatz anwendet und das Ergebnis exportiert. Wenn Sie diese Option deaktivieren, wendet Canvas die Transformationen nur auf die Stichprobe Ihres Datensatzes an, die im interaktiven Data Wrangler-Datenfluss verwendet wird.

1. Lassen Sie die Option **Automatische Auftragskonfiguration** ausgewählt, wenn Sie möchten, dass Canvas automatisch entscheidet, ob der Auftrag mit dem Canvas-Anwendungsspeicher oder einem EMR-Serverless-Auftrag ausgeführt werden soll. Wenn Sie diese Option deaktivieren und Ihren Job manuell konfigurieren, können Sie wählen, ob Sie einen EMR Serverless Job oder einen SageMaker Processing Job verwenden möchten. Anweisungen zur Konfiguration eines EMR-Serverless-Jobs oder eines SageMaker Processing-Jobs finden Sie im vorherigen Abschnitt. [Exportieren zu Amazon S3](canvas-export-data.md#canvas-export-data-s3)

1. Wenn Sie die Änderungen vorgenommen haben, wählen Sie **Aktualisieren** aus.

Das Speichern von Änderungen an der Konfiguration Ihres Zielknotens führt nicht automatisch dazu, dass ein Auftrag erneut ausgeführt oder bereits verarbeitete und exportierte Daten überschrieben werden. Exportieren Sie Ihre Daten erneut, um einen Auftrag mit der neuen Konfiguration auszuführen. Wenn Sie sich entscheiden, Ihre Daten erneut mit einem Auftrag zu exportieren, verwendet Canvas die aktualisierte Zielknotenkonfiguration, um die Daten zu transformieren und an den angegebenen Speicherort auszugeben, wobei alle vorhandenen Daten überschrieben werden.

# Erstellen eines Zeitplans für die automatische Verarbeitung neuer Daten
<a name="canvas-data-export-schedule-job"></a>

**Anmerkung**  
Der folgende Abschnitt bezieht sich nur auf SageMaker Verarbeitungsaufträge. Wenn Sie die Standardeinstellungen von Canvas oder EMR Serverless verwendet haben, um einen Remote-Auftrag zu erstellen, um Transformationen auf Ihren gesamten Datensatz anzuwenden, ist dieser Abschnitt für Sie nicht relevant.

Wenn Sie regelmäßig Daten verarbeiten, können Sie einen Zeitplan für die automatische Ausführung des Processing-Jobs erstellen. Sie können z. B. einen Zeitplan erstellen, der einen Processing-Job automatisch ausführt, wenn Sie neue Daten erhalten. Weitere Informationen zu diesen Verarbeitungsaufträgen finden Sie unter [Exportieren zu Amazon S3](canvas-export-data.md#canvas-export-data-s3).

Wenn Sie einen Auftrag erstellen, müssen Sie eine IAM-Rolle angeben, die über die Berechtigungen zum Erstellen des Auftrag verfügt. Sie können die [AmazonSageMakerCanvasDataPrepFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)Richtlinie verwenden, um Berechtigungen hinzuzufügen.

Fügen Sie der Rolle die folgende Vertrauensrichtlinie hinzu, EventBridge damit sie übernommen werden kann.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
}
```

**Wichtig**  
Wenn Sie einen Zeitplan erstellen, erstellt Data Wrangler einen `eventRule` in. EventBridge Es fallen Gebühren sowohl für die von Ihnen erstellten Ereignisregeln als auch für die Instances an, die zur Ausführung des Processing-Jobs verwendet werden.  
 EventBridge Preisinformationen finden Sie unter [ EventBridge Amazon-Preise](https://aws.amazon.com/eventbridge/pricing/). Informationen zur Bearbeitung von Stellenpreisen finden Sie unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

Sie können mithilfe einer der folgenden Methoden einen Zeitplan erstellen:
+ [CRON-Ausdrücke](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)
**Anmerkung**  
Data Wrangler unterstützt die folgenden Ausdrücke nicht:  
LW\$1
Abkürzungen für Tage
Abkürzungen für Monate
+ [RATE-Ausdrücke](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-rate-expressions)
+ Wiederkehrende – Legen Sie ein stündliches oder tägliches Intervall für die Ausführung des Jobs fest.
+ Bestimmte Zeit – Legen Sie bestimmte Tage und Uhrzeiten für die Ausführung des Jobs fest.

In den folgenden Abschnitten finden Sie Verfahren zur Planung von Aufträgen beim Ausfüllen der SageMaker AI Processing-Jobeinstellungen beim [Exportieren Ihrer Daten nach Amazon S3](canvas-export-data.md#canvas-export-data-s3). Alle folgenden Anweisungen beginnen im Abschnitt „**Zeitpläne zuordnen**“ in den Auftragseinstellungen für die SageMaker Verarbeitung.

------
#### [ CRON ]

Gehen Sie wie folgt vor, um einen Zeitplan mit einem CRON-Ausdruck zu erstellen.

1. Vergewissern Sie **sich, dass Sie im Seitenbereich Nach Amazon S3 exportieren** die Option **Automatische Auftragskonfiguration** deaktiviert und die Option **SageMaker Verarbeitung** ausgewählt haben.

1. Öffnen Sie in den Auftragseinstellungen für die **SageMaker Verarbeitung** den Abschnitt **Zeitpläne zuordnen** und wählen Sie **Neuen Zeitplan erstellen** aus.

1. Das Dialogfeld **Einen neuen Zeitplan erstellen** wird geöffnet. Geben Sie für **Name des Zeitplans** den Namen des Zeitplans an.

1. Wählen Sie für **Häufigkeit der Ausführung** die Option **CRON** aus.

1. Geben Sie für jedes der Felder **Minuten**, **Stunden**, **Monatstage**, **Monat** und **Wochentag** gültige CRON-Ausdruckswerte ein.

1. Wählen Sie **Erstellen** aus.

1. (Optional) Wählen Sie **Anderen Zeitplan hinzufügen**, um den Job nach einem zusätzlichen Zeitplan auszuführen.
**Anmerkung**  
Sie können maximal zwei Zeitpläne zuordnen. Die Zeitpläne sind unabhängig voneinander und beeinflussen sich nicht gegenseitig, es sei denn, die Zeiten überschneiden sich.

1. Wählen Sie eine der folgenden Optionen:
   + **Planen und sofort ausführen** – Der Auftrag wird sofort ausgeführt und wird dann nach den Zeitplänen ausgeführt.
   + **Nur nach Zeitplan** – Der Auftrag wird nur nach den von Ihnen angegebenen Zeitplänen ausgeführt.

1. Wählen Sie **Exportieren** aus, nachdem Sie die restlichen Einstellungen für den Exportauftrag ausgefüllt haben.

------
#### [ RATE ]

Gehen Sie wie folgt vor, um einen Zeitplan mit einem RATE-Ausdruck zu erstellen.

1. Vergewissern Sie **sich, dass Sie im Seitenbereich Nach Amazon S3 exportieren** die Option **Automatische Auftragskonfiguration** deaktiviert und die Option **SageMaker Verarbeitung** ausgewählt haben.

1. Öffnen Sie in den Auftragseinstellungen für die **SageMaker Verarbeitung** den Abschnitt **Zeitpläne zuordnen** und wählen Sie **Neuen Zeitplan erstellen** aus.

1. Das Dialogfeld **Einen neuen Zeitplan erstellen** wird geöffnet. Geben Sie für **Name des Zeitplans** den Namen des Zeitplans an.

1. Wählen Sie für **Häufigkeit der Ausführung** die Option **Rate** aus.

1. Geben Sie für den **Wert** einen ganzzahligen Wert an.

1. Wählen Sie für **Einheit** eine der folgenden Optionen aus:
   + **Minuten**
   + **Stunden**
   + **Tage**

1. Wählen Sie **Erstellen** aus.

1. (Optional) Wählen Sie **Anderen Zeitplan hinzufügen**, um den Job nach einem zusätzlichen Zeitplan auszuführen.
**Anmerkung**  
Sie können maximal zwei Zeitpläne zuordnen. Die Zeitpläne sind unabhängig voneinander und beeinflussen sich nicht gegenseitig, es sei denn, die Zeiten überschneiden sich.

1. Wählen Sie eine der folgenden Optionen:
   + **Planen und sofort ausführen** – Der Auftrag wird sofort ausgeführt und wird dann nach den Zeitplänen ausgeführt.
   + **Nur nach Zeitplan** – Der Auftrag wird nur nach den von Ihnen angegebenen Zeitplänen ausgeführt.

1. Wählen Sie **Exportieren** aus, nachdem Sie die restlichen Einstellungen für den Exportauftrag ausgefüllt haben.

------
#### [ Recurring ]

Gehen Sie wie folgt vor, um einen Zeitplan zu erstellen, der einen Job regelmäßig ausführt.

1. Vergewissern Sie **sich, dass Sie im Seitenbereich Nach Amazon S3 exportieren** die Option **Automatische Auftragskonfiguration** deaktiviert und die Option **SageMaker Verarbeitung** ausgewählt haben.

1. Öffnen Sie in den Auftragseinstellungen für die **SageMaker Verarbeitung** den Abschnitt **Zeitpläne zuordnen** und wählen Sie **Neuen Zeitplan erstellen** aus.

1. Das Dialogfeld **Einen neuen Zeitplan erstellen** wird geöffnet. Geben Sie für **Name des Zeitplans** den Namen des Zeitplans an.

1. Wählen Sie für **Häufigkeit der Ausführung** die Option **Wiederkehrend** aus.

1. Geben Sie für **Alle x Stunden** die stündliche Häufigkeit an, mit der der Job während des Tages ausgeführt wird. Gültig sind ganzzahlige Werte im Bereich einschl. **1** und **23**.

1. Wählen Sie für **An den Tagen** eine der folgenden Optionen aus:
   + **Täglich**
   + **An den Wochenenden**
   + **Wochentags**
   + **Tage auswählen**

   1. (Optional) Wenn Sie **Tage auswählen** ausgewählt haben, wählen Sie die Wochentage aus, an denen der Job ausgeführt werden soll.
**Anmerkung**  
Der Zeitplan wird jeden Tag zurückgesetzt. Wenn Sie einen Job so planen, dass er alle fünf Stunden ausgeführt wird, wird er während des Tages zu den folgenden Zeiten ausgeführt:  
00:00
05:00
10:00
15:00
20:00

1. Wählen Sie **Erstellen** aus.

1. (Optional) Wählen Sie **Anderen Zeitplan hinzufügen**, um den Job nach einem zusätzlichen Zeitplan auszuführen.
**Anmerkung**  
Sie können maximal zwei Zeitpläne zuordnen. Die Zeitpläne sind unabhängig voneinander und beeinflussen sich nicht gegenseitig, es sei denn, die Zeiten überschneiden sich.

1. Wählen Sie eine der folgenden Optionen:
   + **Planen und sofort ausführen** – Der Auftrag wird sofort ausgeführt und wird dann nach den Zeitplänen ausgeführt.
   + **Nur nach Zeitplan** – Der Auftrag wird nur nach den von Ihnen angegebenen Zeitplänen ausgeführt.

1. Wählen Sie **Exportieren** aus, nachdem Sie die restlichen Einstellungen für den Exportauftrag ausgefüllt haben.

------
#### [ Specific time ]

Gehen Sie wie folgt vor, um einen Zeitplan zu erstellen, der einen Job zu bestimmten Zeiten ausführt.

1. Vergewissern Sie **sich, dass Sie im Seitenbereich Nach Amazon S3 exportieren** die Option **Automatische Auftragskonfiguration** deaktiviert und die Option **SageMaker Verarbeitung** ausgewählt haben.

1. Öffnen Sie in den Auftragseinstellungen für die **SageMaker Verarbeitung** den Abschnitt **Zeitpläne zuordnen** und wählen Sie **Neuen Zeitplan erstellen** aus.

1. Das Dialogfeld **Einen neuen Zeitplan erstellen** wird geöffnet. Geben Sie für **Name des Zeitplans** den Namen des Zeitplans an.

1. Wählen Sie als **Häufigkeit der Ausführung** die Option **Startzeit** aus.

1. Geben Sie für **Startzeit** eine Zeit im UTC-Format ein (z. B. **09:00**). Die Startzeit entspricht standardmäßig der Zeitzone, in der Sie sich befinden.

1. Wählen Sie für **An den Tagen** eine der folgenden Optionen aus:
   + **Täglich**
   + **An den Wochenenden**
   + **Wochentags**
   + **Tage auswählen**

   1. (Optional) Wenn Sie **Tage auswählen** ausgewählt haben, wählen Sie die Wochentage aus, an denen der Job ausgeführt werden soll.

1. Wählen Sie **Erstellen** aus.

1. (Optional) Wählen Sie **Anderen Zeitplan hinzufügen**, um den Job nach einem zusätzlichen Zeitplan auszuführen.
**Anmerkung**  
Sie können maximal zwei Zeitpläne zuordnen. Die Zeitpläne sind unabhängig voneinander und beeinflussen sich nicht gegenseitig, es sei denn, die Zeiten überschneiden sich.

1. Wählen Sie eine der folgenden Optionen:
   + **Planen und sofort ausführen** – Der Auftrag wird sofort ausgeführt und wird dann nach den Zeitplänen ausgeführt.
   + **Nur nach Zeitplan** – Der Auftrag wird nur nach den von Ihnen angegebenen Zeitplänen ausgeführt.

1. Wählen Sie **Exportieren** aus, nachdem Sie die restlichen Einstellungen für den Exportauftrag ausgefüllt haben.

------

Sie können die SageMaker KI verwenden AWS-Managementkonsole , um die Jobs anzuzeigen, deren Ausführung geplant ist. Ihre Verarbeitungsaufträge werden innerhalb von Pipelines ausgeführt. Jeder Processing-Job hat seine eigene Pipeline. Er wird als Verarbeitungsschritt innerhalb der Pipeline ausgeführt. Sie können sich die Zeitpläne anzeigen lassen, die Sie in einer Pipeline erstellt haben. Weitere Informationen zum Anzeigen einer Pipeline finden Sie unter [Anzeige der Details einer Pipeline](pipelines-studio-list.md).

Gehen Sie wie folgt vor, um sich die von Ihnen geplanten Jobs anzeigen zu lassen.

Gehen Sie wie folgt vor, um sich die von Ihnen geplanten Jobs anzeigen zu lassen.

1. Öffnen Sie Amazon SageMaker Studio Classic.

1. Öffnen von Pipelines

1. Sehen Sie sich die Pipelines für die Jobs an, die Sie erstellt haben.

   Die Pipeline, in der der Job ausgeführt wird, verwendet den Namen des Jobs als Präfix. Wenn Sie z. B. einen Job mit dem Namen `housing-data-feature-enginnering` erstellt haben, lautet der Name der Pipeline `canvas-data-prep-housing-data-feature-engineering`.

1. Wählen Sie die Pipeline aus, die Ihren Job enthält.

1. Status der Pipelines anzeigen. Pipelines mit dem **Status** **Erfolgreich** haben den Processing-Job erfolgreich ausgeführt.

Gehen Sie wie folgt vor, um die Ausführung des Processing-Jobs zu beenden:

Um die Ausführung eines Processing-Jobs zu beenden, löschen Sie die Ereignisregel, die den Zeitplan angibt. Indem eine Ereignisregel gelöscht wird, werden keine mit dem Zeitplan verknüpften Jobs mehr ausgeführt. Informationen zum Löschen einer Regel finden Sie unter [ EventBridge Amazon-Regel deaktivieren oder löschen](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html).

Sie können die mit den Zeitplänen verknüpften Pipelines auch beenden und löschen. Informationen zum Stoppen einer Pipeline finden Sie unter [StopPipelineExecution](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html). Hinweise zum Löschen einer Pipeline finden Sie unter [DeletePipeline](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html#API_DeletePipeline_RequestSyntax).

# Automatisieren Sie die Datenvorbereitung in SageMaker Canvas
<a name="canvas-data-export"></a>

Nachdem Sie Ihre Daten im Datenfluss transformiert haben, können Sie die Transformationen in Ihre Machine-Learning-Workflows exportieren. Wenn Sie Ihre Transformationen exportieren, erstellt SageMaker Canvas ein Jupyter-Notizbuch. Sie müssen das Notizbuch in Amazon SageMaker Studio Classic ausführen. Weitere Informationen zu den ersten Schritten mit Studio Classic erhalten Sie bei Ihrem Administrator.

## Automatisieren der Datenaufbereitung mithilfe von Pipelines
<a name="canvas-data-export-pipelines"></a>

Wenn Sie umfangreiche Workflows für maschinelles Lernen (ML) erstellen und bereitstellen möchten, können Sie Pipelines verwenden, um Workflows zu erstellen, die SageMaker KI-Jobs verwalten und bereitstellen. Mit Pipelines können Sie Workflows erstellen, mit denen Sie Ihre Aufgaben zur SageMaker KI-Datenvorbereitung, zum Modelltraining und zur Modellbereitstellung verwalten. Mithilfe von Pipelines können Sie die von SageMaker KI angebotenen Erstanbieter-Algorithmen verwenden. [Weitere Informationen zu Pipelines finden Sie unter Pipelines. SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html)

Wenn Sie einen oder mehrere Schritte aus Ihrem Datenfluss in Pipelines exportieren, erstellt Data Wrangler ein Jupyter Notebook, mit dem Sie eine Pipeline definieren, instanziieren, ausführen und verwalten können.

### Verwenden Sie zur Erstellung einer Pipeline ein Jupyter Notebook
<a name="canvas-pipelines-notebook"></a>

Gehen Sie wie folgt vor, um ein Jupyter Notebook zu erstellen, um Ihren Data-Wrangler-Fluss in Pipelines zu exportieren.

Gehen Sie wie folgt vor, um ein Jupyter Notebook zu erzeugen und führen Sie es aus, um Ihren Data-Wrangler-Fluss in Pipelines zu exportieren.

1. Wählen Sie das **\$1** neben dem Knoten aus, die Sie exportieren möchten.

1. Wählen Sie **Datenfluss exportieren** aus.

1. Wählen Sie **Pipelines (über Jupyter Notebook)** aus.

1. Laden Sie das Jupyter-Notebook herunter oder kopieren Sie es an einen Amazon-S3-Speicherort. Wir empfehlen, es an einen Amazon-S3-Speicherort zu kopieren, auf den Sie innerhalb von Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Unterstützung bei der Suche nach einem geeigneten Speicherort benötigen.

1. Führen Sie das Jupyter Notebook aus.

Sie können das von Data Wrangler erstellte Jupyter Notebook verwenden, um eine Pipeline zu definieren. Die Pipeline beinhaltet die Datenverarbeitungsschritte, die durch Ihren Data-Wrangler-Flow festgelegt werden. 

Sie können zu Ihrer Pipeline weitere Schritte hinzufügen, indem Sie zu der `steps` Liste im folgenden Code im Notebook Schritte hinzufügen:

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[instance_type, instance_count],
    steps=[step_process], #Add more steps to this list to run in your Pipeline
)
```

Weitere Informationen zur Definition von Pipelines finden Sie unter KI-Pipeline [definieren SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/define-pipeline.html).

## Automatisieren der Datenaufbereitung mithilfe eines Inferenzendpunkts
<a name="canvas-data-export-inference"></a>

Verwenden Sie Ihren Data Wrangler-Flow, um Daten zum Zeitpunkt der Inferenz zu verarbeiten, indem Sie aus Ihrem Data Wrangler-Flow eine serielle SageMaker KI-Inferenz-Pipeline erstellen. Eine Inference Pipeline besteht aus einer Reihe von Schritten, die dazu führen, dass ein trainiertes Modell Vorhersagen zu neuen Daten trifft. Eine serielle Inference Pipeline innerhalb von Data Wrangler transformiert die Rohdaten und stellt sie dem Machine-Learning-Modell zur Verfügung, damit es eine Vorhersage trifft. Sie erstellen die Inferenz-Pipeline von einem Jupyter Notebook in Studio Classic, führen sie aus und verwalten sie. Weitere Informationen zum Zugriff auf das Notebook finden Sie unter [Erstellen eines Inferenz-Endpunkt mithilfe eines Jupyter Notebooks](#canvas-inference-notebook).

Im Notebook können Sie entweder ein Machine-Learning-Modell trainieren oder eines angeben, das Sie bereits trainiert haben. Sie können entweder Amazon SageMaker Autopilot verwenden oder XGBoost das Modell anhand der Daten trainieren, die Sie in Ihrem Data Wrangler-Flow transformiert haben.

Die Pipeline bietet die Möglichkeit, entweder eine Batch- oder Echtzeit-Inferenz vorzunehmen. Sie können den Data Wrangler-Flow auch zu Model Registry hinzufügen. SageMaker Weitere Informationen über Hosting-Modelle finden Sie unter [Multimodell-Endpunkte](multi-model-endpoints.md).

**Wichtig**  
Sie können Ihren Data-Wrangler-Flow nicht zu einem Inference-Endpunkt exportieren, wenn er die folgenden Transformationen aufweist:  
Join
Verketten
Gruppierung nach
Wenn Sie Ihre Daten mit Hilfe der vorangegangenen Transformationen vorbereiten müssen, gehen Sie wie folgt vor.  
Erstellen Sie einen Data-Wrangler-Flow.
Wenden Sie die vorangegangenen Transformationen an, die nicht unterstützt werden.
Exportieren Sie die Daten in einen Bucket von Amazon S3.
Erstellen Sie einen separaten Data-Wrangler-Flow.
Importieren Sie die Daten, die Sie aus dem vorangegangenen Flow exportiert haben.
Wenden Sie die übrigen Transformationen an.
Erstellen Sie mit dem von uns bereitgestellten Jupyter Notebook eine serielle Inference Pipeline.
Informationen zum Exportieren Ihrer Daten in einen Bucket von Amazon S3 finden Sie unter [Daten exportieren](canvas-export-data.md). Informationen zum Öffnen des Jupyter Notebooks, mit dem die serielle Inference Pipeline erstellt wird, finden Sie unter [Erstellen eines Inferenz-Endpunkt mithilfe eines Jupyter Notebooks](#canvas-inference-notebook).

Data Wrangler ignoriert Transformationen, die zum Zeitpunkt der Inferenz Daten entfernen. Data Wrangler ignoriert z. B. die Transformation [Fehlende Werte behandeln](canvas-transform.md#canvas-transform-handle-missing), wenn Sie die Konfiguration **Drop missing** verwenden.

Wenn Sie Transformationen an Ihren gesamten Datensatz angepasst haben, werden die Transformationen in Ihre Inference Pipeline übertragen. Wenn Sie beispielsweise den Medianwert zur Imputation fehlender Werte verwendet haben, wird der Medianwert aus der Neuanpassung der Transformation auf Ihre Inferenzanfragen angewendet. Sie können entweder die Transformationen aus Ihrem Data-Wrangler-Fluss neu anpassen, wenn Sie das Jupyter Notebook verwenden oder wenn Sie Ihre Daten in eine Inferenz-Pipeline exportieren.

Die serielle Inference Pipeline unterstützt die folgenden Datentypen für die Eingabe- und Ausgabezeichenfolgen. Für jeden Datentyp gibt es eine Reihe von Anforderungen.

**Unterstützte Datentypen**
+ `text/csv` – der Datentyp für CSV-Zeichenfolgen
  + Die Zeichenfolge darf keinen Header haben.
  + Die für die Inference Pipeline verwendeten Features müssen dieselbe Reihenfolge haben wie die Features im Trainingsdatensatz.
  + Die Features muss durch Komma getrennt sein.
  + Datensätze müssen durch ein Zeilenumbruchzeichen getrennt sein.

  Es folgt das Beispiel einer gültig formatierten CSV-Zeichenfolge, die Sie in einer Inferenzanforderung angeben können.

  ```
  abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890                    
  ```
+ `application/json` – der Datentyp für JSON-Zeichenfolgen
  + Die im Datensatz für die Inference Pipeline verwendeten Features müssen die gleiche Reihenfolge haben wie die Features im Trainingsdatensatz.
  + Die Daten müssen ein bestimmtes Schema haben. Sie definieren ein Schema als `instances` Einzelobjekt mit einer Reihe von `features`. Jedes `features`-Objekt stellt eine Beobachtung dar.

  Es folgt das Beispiel einer gültig formatierten JSON-Zeichenfolge, die Sie in einer Inferenzanforderung angeben können.

  ```
  {
      "instances": [
          {
              "features": ["abc", 0.0, "Doe, John", 12345]
          },
          {
              "features": ["def", 1.1, "Doe, Jane", 67890]
          }
      ]
  }
  ```

### Erstellen eines Inferenz-Endpunkt mithilfe eines Jupyter Notebooks
<a name="canvas-inference-notebook"></a>

Gehen Sie wie folgt vor, um Ihren Data-Wrangler-Flow zu exportieren, um eine Inference Pipeline zu erstellen.

Gehen Sie wie folgt vor, um mithilfe eines Jupyter Notebooks eine Inference Pipeline zu erstellen.

1. Wählen Sie das **\$1** neben dem Knoten aus, die Sie exportieren möchten.

1. Wählen Sie **Datenfluss exportieren** aus.

1. Wählen Sie **SageMaker AI Inference Pipeline (über Jupyter** Notebook).

1. Laden Sie das Jupyter-Notebook herunter oder kopieren Sie es an einen Amazon-S3-Speicherort. Wir empfehlen, es an einen Amazon-S3-Speicherort zu kopieren, auf den Sie innerhalb von Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Unterstützung bei der Suche nach einem geeigneten Speicherort benötigen.

1. Führen Sie das Jupyter Notebook aus.

Wenn Sie das Jupyter Notebook ausführen, erstellt es einen Inferenz-Flow-Artefakt. Ein Inferenz-Flow-Artefakt ist eine Data-Wrangler-Flow-Datei mit zusätzlichen Metadaten, die zur Erstellung der seriellen Inference Pipeline verwendet werden. Der exportierte Knoten beinhaltet alle Transformationen der vorangehenden Knoten.

**Wichtig**  
Data Wrangler braucht den Inference-Flow-Artefakt zum Ausführen der Inference Pipeline. Sie können Ihre eigene Flow-Datei nicht als Artefakt verwenden. Sie müssen sie anhand des o.a. Verfahrens erstellen.

## Automatisieren der Datenvorbereitung mit Python-Code
<a name="canvas-data-export-python-code"></a>

Gehen Sie wie folgt vor, um alle Schritte in Ihrem Datenfluss in eine Python-Datei zu exportieren, die Sie manuell in jeden Datenverarbeitungs-Workflow integrieren können.

Verwenden Sie das folgende Verfahren, um ein Jupyter Notebook zu erzeugen und es auszuführen, um Ihren Data-Wrangler-Fluss in Python-Code zu exportieren.

1. Wählen Sie das **\$1** neben dem Knoten aus, die Sie exportieren möchten.

1. Wählen Sie **Datenfluss exportieren** aus.

1. Wählen Sie **Python-Code** aus.

1. Laden Sie das Jupyter-Notebook herunter oder kopieren Sie es an einen Amazon-S3-Speicherort. Wir empfehlen, es an einen Amazon-S3-Speicherort zu kopieren, auf den Sie innerhalb von Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Unterstützung bei der Suche nach einem geeigneten Speicherort benötigen.

1. Führen Sie das Jupyter Notebook aus.

Sie müssen das Python-Skript ggf. so konfigurieren, dass es in Ihrer Pipeline ausgeführt werden kann. Wenn Sie beispielsweise eine Spark-Umgebung ausführen, stellen Sie sicher, dass Sie das Skript in einer Umgebung ausführen, die über Berechtigungen für den Zugriff auf Ressourcen verfügt. AWS 

# Generative KI-Grundmodelle in SageMaker Canvas
<a name="canvas-fm-chat"></a>

Amazon SageMaker Canvas bietet generative KI-Grundmodelle, mit denen Sie Konversationschats starten können. Diese Modelle zur Inhaltsgenerierung werden anhand großer Textdatenmengen trainiert, um die statistischen Muster und Beziehungen zwischen Wörtern zu lernen. Sie können kohärenten Text erzeugen, der dem Text, an dem sie trainiert wurden, statistisch ähnlich ist. Sie können diese Funktion verwenden, um Ihre Produktivität zu steigern, indem Sie wie folgt vorgehen:
+ Generieren Sie Inhalte wie Dokumententwürfe, Berichte und Blogs
+ Fassen Sie Text aus umfangreichen Textkorporen zusammen, z. B. Abschriften von Telefongesprächen, Jahresberichten oder Kapiteln von Benutzerhandbüchern
+ Extrahieren Sie Erkenntnisse und wichtige Erkenntnisse aus großen Textpassagen, z. B. Besprechungsnotizen oder Erzählungen
+ Verbessern Sie den Text und finden Sie Grammatik- oder Tippfehler

Die Basismodelle sind eine Kombination aus den großen Sprachmodellen von [Amazon SageMaker JumpStart und Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) (LLMs). Canvas bietet die folgenden Modelle:


| Modell | Typ | Description | 
| --- | --- | --- | 
|  Amazon Titan  | Amazon Bedrock-Modell |  Amazon Titan ist ein leistungsstarkes, universelles Sprachmodell, das Sie für Aufgaben wie Zusammenfassung, Textgenerierung (wie das Erstellen eines Blogbeitrags), Klassifizierung, offene Fragen und Antworten und Informationsextraktion verwenden können. Es ist für große Datenmengen vortrainiert und eignet sich daher für komplexe Aufgaben und Argumentation. Um weiterhin bewährte Verfahren für den verantwortungsvollen Umgang mit KI zu unterstützen, sind Amazon-Titan-Grundlagenmodelle darauf ausgelegt, schädliche Inhalte in den Daten zu erkennen und zu entfernen, unangemessene Inhalte in der Benutzereingabe zurückzuweisen und Modellausgaben zu filtern, die unangemessene Inhalte (wie Hassreden, Obszönitäten und Gewalt) enthalten.  | 
|  Anthropic Claude Instant  | Modell Amazon Bedrock |  Claude Instant von Anthropic ist ein schnelleres und kostengünstigeres und dennoch sehr leistungsfähiges Modell. Dieses Modell kann eine Reihe von Aufgaben bewältigen, darunter zufällige Dialoge, Textanalyse, Zusammenfassung und Beantwortung von Fragen zu Dokumenten. Genau wie Claude-2 kann Claude Instant bis zu 100.000 Token pro Aufforderung unterstützen, was etwa 200 Informationsseiten entspricht.  | 
|  Anthropic Claude-2  | Modell Amazon Bedrock |  Claude-2 ist das leistungsstärkste Modell von Anthropic, das sich durch eine Vielzahl von Aufgaben auszeichnet, von anspruchsvollen Dialogen und der Erstellung kreativer Inhalte bis hin zu detaillierten Anweisungen. Claude-2 kann in jeder Aufforderung bis zu 100.000 Tokens aufnehmen, was etwa 200 Informationsseiten entspricht. Es kann im Vergleich zur Vorgängerversion längere Antworten generieren. Es unterstützt Anwendungsfälle wie die Beantwortung von Fragen, die Extraktion von Informationen, das Entfernen personenbezogener Daten, die Generierung von Inhalten, die Multiple-Choice-Klassifizierung, Rollenspiele, den Textvergleich, die Zusammenfassung und Fragen und Antworten zu Dokumenten mit Zitat.  | 
|  Falcon-7B-Instruct  | JumpStart Modell |  Falcon-7B-Instruct verfügt über 7 Milliarden Parameter und wurde anhand einer Mischung aus Chat- und Instruct-Datensätzen fein abgestimmt. Es eignet sich als virtueller Assistent und schneidet am besten ab, wenn es Anweisungen befolgt oder Gespräche führt. Da das Modell anhand großer Mengen englischsprachiger Webdaten trainiert wurde, trägt es die Stereotypen und Vorurteile, die häufig im Internet zu finden sind, und ist nicht für andere Sprachen als Englisch geeignet. Im Vergleich zu Falcon-40B-Instruct ist Falcon-7B-Instruct ein etwas kleineres und kompakteres Modell.  | 
|  Falcon-40B-Instruct  | JumpStart Modell |  Falcon-40B-Instruct verfügt über 40 Milliarden Parameter und wurde anhand einer Mischung aus Chat- und Instruct-Datensätzen fein abgestimmt. Er eignet sich als virtueller Assistent und schneidet am besten ab, wenn er Anweisungen befolgt oder ein Gespräch führt. Da das Modell anhand großer Mengen englischsprachiger Webdaten trainiert wurde, trägt es die Stereotypen und Vorurteile, die häufig im Internet zu finden sind, und ist nicht für andere Sprachen als Englisch geeignet. Im Vergleich zu Falcon-7B-Instruct ist Falcon-40B-Instruct ein etwas größeres und leistungsstärkeres Modell.  | 
|  Jurassic-2 Mid  | Modell Amazon Bedrock |  Jurassic-2 Mid ist ein leistungsstarkes Modell zur Textgenerierung, das auf einem riesigen Textkorpus trainiert wurde (aktuell bis Mitte 2022). Es ist äußerst vielseitig, universell einsetzbar und in der Lage, menschenähnlichen Text zu verfassen und komplexe Aufgaben wie die Beantwortung von Fragen, Textklassifizierung und viele andere zu lösen. Dieses Modell bietet die Möglichkeit, alle Anweisungen zu erstellen, sodass es nur mit natürlicher Sprache und ohne die Verwendung von Beispielen gesteuert werden kann. Es arbeitet bis zu 30% schneller als sein Vorgänger, das Jurassic-1-Modell. Jurassic-2 Mid AI21 ist das mittelgroße Modell, das sorgfältig entworfen wurde, um das richtige Gleichgewicht zwischen außergewöhnlicher Qualität und Erschwinglichkeit zu finden.  | 
|  Jurassic-2 Ultra  | Modell Amazon Bedrock |  Jurassic-2 Ultra ist ein leistungsstarkes Modell zur Textgenerierung, das auf einem riesigen Textkorpus trainiert wurde (aktuell bis Mitte 2022). Es ist äußerst vielseitig, universell einsetzbar und in der Lage, menschenähnlichen Text zu verfassen und komplexe Aufgaben wie die Beantwortung von Fragen, Textklassifizierung und viele andere zu lösen. Dieses Modell bietet die Möglichkeit, alle Anweisungen zu erstellen, sodass es nur mit natürlicher Sprache und ohne die Verwendung von Beispielen gesteuert werden kann. Es arbeitet bis zu 30% schneller als sein Vorgänger, das Jurassic-1-Modell. Im Vergleich zu Jurassic-2 Mid ist Jurassic-2 Ultra ein etwas größeres und leistungsstärkeres Modell.  | 
|  Llama-2-7b-Chat  | JumpStart Modell |  Llama-2-7b-Chat ist ein Grundlagenmodell von Meta, das sich für sinnvolle und kohärente Gespräche, die Generierung neuer Inhalte und die Extraktion von Antworten aus bestehenden Notizen eignet. Da das Modell anhand umfangreicher englischsprachiger Internetdaten trainiert wurde, weist es die im Internet häufig anzutreffenden Verzerrungen und Einschränkungen auf und eignet sich am besten für Aufgaben in englischer Sprache.  | 
|  Llama-2-13B-Chat  | Modell Amazon Bedrock |  Llama-2-13B-Chat von Meta wurde nach einem ersten Training mit Internetdaten anhand von Konversationsdaten optimiert. Es ist für natürliche Dialoge und ansprechende Chat-Fähigkeiten optimiert und eignet sich daher gut als Konversationsagent. Im Vergleich zum kleineren Llama-2-7b-Chat verfügt Llama-2-13B-Chat über nahezu doppelt so viele Parameter, wodurch es mehr Kontext speichern und differenziertere Gesprächsantworten generieren kann. Wie Llama-2-7b-Chat wurde auch Llama-2-13B-Chat mit englischsprachigen Daten trainiert und eignet sich am besten für Aufgaben in englischer Sprache.  | 
|  Llama-2-70B-Chat  | Modell Amazon Bedrock |  Ähnlich wie Llama-2-7b-Chat und Llama-2-13B-Chat ist das Modell Llama-2-70B-Chat von Meta für natürliche und aussagekräftige Dialoge optimiert. Mit 70 Milliarden Parametern kann dieses umfangreiche Konversationsmodell im Vergleich zu den kompakteren Modellversionen einen größeren Kontext speichern und äußerst kohärente Antworten generieren. Dies geht jedoch mit langsameren Reaktionszeiten und einem höheren Ressourcenbedarf einher. Llama-2-70B-Chat wurde mit umfangreichen englischsprachigen Internetdaten trainiert und eignet sich am besten für Aufgaben in englischer Sprache.  | 
|  Mistral-7B  | JumpStart Modell |  Mistral-7B von Mistral.AI ist ein hervorragendes Allzweck-Sprachmodell, das sich für eine Vielzahl von Aufgaben im Bereich der natürlichen Sprache (NLP) eignet, wie beispielsweise Textgenerierung, Zusammenfassung und Beantwortung von Fragen. Es nutzt Grouped-Query Attention (GQA), was schnellere Inferenzgeschwindigkeiten ermöglicht, sodass es eine vergleichbare Leistung wie Modelle mit doppelt oder dreimal so vielen Parametern erzielt. Es wurde anhand einer Mischung aus Textdaten wie Büchern, Websites und wissenschaftlichen Artikeln in englischer Sprache trainiert und eignet sich daher am besten für Aufgaben in englischer Sprache.  | 
|  Mistral-7B-Chat  | JumpStart Modell |  Mistral-7B-Chat ist ein Konversationsmodell von Mistral.AI, das auf Mistral-7B basiert. Während Mistral-7B sich am besten für allgemeine NLP-Aufgaben eignet, wurde Mistral-7B-Chat speziell auf Konversationsdaten abgestimmt, um seine Fähigkeiten für natürliche, ansprechende Chats zu optimieren. Infolgedessen generiert Mistral-7B-Chat menschlichere Antworten und behält den Kontext früherer Antworten im Gedächtnis. Wie das Modell Mistral-7B eignet sich auch dieses Modell am besten für Aufgaben in englischer Sprache.  | 
|  MPT-7B-Instruct  | JumpStart Modell |  MPT-7B-Instruct ist ein Modell für ausführliche Anweisungen zur Nachverfolgung von Aufgaben. Es kann Sie beim Schreiben von Aufgaben wie der Textzusammenfassung und der Beantwortung von Fragen unterstützen, sodass Sie Zeit und Mühe sparen. Dieses Modell wurde mit großen, fein abgestimmten Datenmengen trainiert und kann größere Eingaben, wie z. B. komplexe Dokumente, verarbeiten. Verwenden Sie dieses Modell, wenn Sie große Textkörper verarbeiten möchten oder wenn das Modell lange Antworten generieren soll.  | 

Die Foundation-Modelle von Amazon Bedrock sind derzeit nur in den Regionen USA Ost (Nord-Virginia) und USA West (Oregon) verfügbar. Wenn Sie Foundation-Modelle von Amazon Bedrock verwenden, werden Ihnen außerdem Gebühren auf der Grundlage des Volumens der Eingabe- und Ausgabetokens berechnet, wie von den einzelnen Modellanbietern angegeben. Weitere Informationen finden Sie auf der [Amazon Bedrock-Preisseite](https://aws.amazon.com/bedrock/pricing/). Die JumpStart Basismodelle werden auf SageMaker AI Hosting-Instances bereitgestellt, und Ihnen wird die Nutzungsdauer je nach verwendetem Instanztyp in Rechnung gestellt. Weitere Informationen zu den Kosten der verschiedenen Instance-Typen finden Sie im Abschnitt Amazon SageMaker AI Hosting: Real-Time Inference auf der [SageMaker Preisseite](https://aws.amazon.com/sagemaker/pricing/).

Die Dokumentenabfrage ist eine zusätzliche Funktion, mit der Sie mithilfe von Amazon Kendra in Indizes gespeicherte Dokumente abfragen und Erkenntnisse daraus gewinnen können. Mit dieser Funktion können Sie Inhalte aus dem Kontext dieser Dokumente generieren und Antworten erhalten, die speziell auf Ihren Geschäftsanwendungsfall zugeschnitten sind. Im Gegensatz zu generischen Antworten auf die großen Datenmengen, auf denen die Basismodelle trainiert wurden, basieren. Weitere Informationen über Indizes in Amazon Kendra finden Sie im [Amazon Kendra-Entwicklerhandbuch](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html).

Wenn Sie Antworten von einem der Grundlagenmodelle erhalten möchten, die auf Ihre Daten und Ihren Anwendungsfall zugeschnitten sind, können Sie die Grundlagenmodelle optimieren. Weitere Informationen hierzu finden Sie unter [Optimieren von Grundlagenmodellen](canvas-fm-chat-fine-tune.md).

Wenn Sie Prognosen von einem Amazon SageMaker JumpStart Foundation-Modell über eine Anwendung oder Website abrufen möchten, können Sie das Modell auf einem SageMaker *KI-Endpunkt* bereitstellen. SageMaker KI-Endpunkte hosten Ihr Modell, und Sie können über Ihren Anwendungscode Anfragen an den Endpunkt senden, um Vorhersagen aus dem Modell zu erhalten. Weitere Informationen finden Sie unter [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md).

# Erfüllen Sie die Voraussetzungen für Basismodelle in Canvas SageMaker
<a name="canvas-fm-chat-prereqs"></a>

In den folgenden Abschnitten werden die Voraussetzungen für die Interaktion mit Foundation-Modellen und die Verwendung der Dokumentabfragefunktion in Canvas beschrieben. Beim restlichen Inhalt dieser Seite wird davon ausgegangen, dass Sie die Voraussetzungen für Foundation-Modelle erfüllt haben. Für die Funktion zur Dokumentenabfrage sind zusätzliche Berechtigungen erforderlich.

## Voraussetzungen für Gründungsmodelle
<a name="canvas-fm-chat-prereqs-fm"></a>

Die Berechtigungen, die Sie für die Interaktion mit Modellen benötigen, sind in den Berechtigungen für Ready-to-use Canvas-Modelle enthalten. Um die generativen KI-gestützten Modelle in Canvas zu verwenden, müssen Sie bei der Einrichtung Ihrer Amazon SageMaker AI-Domain die **Konfigurationsberechtigungen für Ready-to-use Canvas-Modelle** aktivieren. Weitere Informationen finden Sie unter [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites). Die **Konfiguration der Ready-to-use Canvas-Modelle** ordnet die [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) der Ausführungsrolle Ihres Canvas-Benutzers AWS Identity and Access Management (IAM) zu. Wenn Sie Probleme mit der Vergabe von Berechtigungen haben, finden Sie weitere Informationen im Thema [Behebung von Problemen bei der Erteilung von Berechtigungen über die SageMaker AI-Konsole](canvas-limits.md#canvas-troubleshoot-trusted-services).

Wenn Sie Ihre Domain bereits eingerichtet haben, können Sie Ihre Domaineinstellungen bearbeiten und die Berechtigungen aktivieren. Anleitungen zum Bearbeiten Ihrer Domaineinstellungen finden Sie unter [Bearbeiten von Domaineinstellungen](domain-edit.md). Gehen Sie bei der Bearbeitung der Einstellungen für Ihre Domain zu den **Canvas-Einstellungen** und aktivieren Sie die Option ** Ready-to-useCanvas-Modelle aktivieren**.

Bei bestimmten JumpStart Foundation-Modellen müssen Sie außerdem eine Erhöhung des SageMaker KI-Instanzkontingents beantragen. Canvas hostet die Modelle, mit denen Sie gerade auf diesen Instances interagieren, aber das Standardkontingent für Ihr Konto ist möglicherweise unzureichend. Wenn bei der Ausführung eines der folgenden Modelle ein Fehler auftritt, fordern Sie eine Erhöhung des Kontingents für die zugehörigen Instance-Typen an:
+ Falcon-40B – `ml.g5.12xlarge`, `ml.g5.24xlarge`
+ Falcon-13B – `ml.g5.2xlarge`, `ml.g5.4xlarge`, `ml.g5.8xlarge`
+ MPT-7B-Instruct – `ml.g5.2xlarge`, `ml.g5.4xlarge`, `ml.g5.8xlarge`

Fordern Sie für die vorherigen Instance-Typen eine Erhöhung der Endpunktnutzungsquote von 0 auf 1 an. Weitere Informationen zum Erhöhen der Instance-Kontingente für Ihr Konto finden Sie unter [Anfordern einer Kontingentserhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Service Quotas-Benutzerhandbuch*.

## Voraussetzungen für das Abfragen von Dokumenten
<a name="canvas-fm-chat-prereqs-kendra"></a>

**Anmerkung**  
Die Dokumentabfrage wird in den folgenden Ländern unterstützt AWS-Regionen: USA Ost (Nord-Virginia), USA Ost (Ohio), USA West (Oregon), Europa (Irland), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney), Asien-Pazifik (Tokio) und Asien-Pazifik (Mumbai).

Die Funktion zur Dokumentenabfrage setzt voraus, dass Sie bereits über einen Amazon Kendra-Index verfügen, in dem Ihre Dokumente und Dokumentmetadaten gespeichert sind. Weitere Informationen zu Amazon Kendra finden Sie im [Amazon Kendra-Entwicklerhandbuch](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html). Weitere Informationen zu den Kontingenten für die Abfrage von Indizes finden Sie unter [Kontingente](https://docs.aws.amazon.com/kendra/latest/dg/quotas.html) im *Amazon Kendra-Benutzerhandbuch*.

Sie müssen auch sicherstellen, dass Ihr Canvas-Benutzerprofil über die erforderlichen Berechtigungen für die Dokumentenabfrage verfügt. Die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie muss der AWS IAM-Ausführungsrolle für die SageMaker AI-Domäne angehängt werden, die Ihre Canvas-Anwendung hostet (diese Richtlinie ist standardmäßig an alle neuen und vorhandenen Canvas-Benutzerprofile angehängt). Sie müssen außerdem ausdrücklich Berechtigungen für die Dokumentenabfrage gewähren und den Zugriff auf einen oder mehrere Amazon Kendra-Indizes angeben.

Wenn Ihr Canvas-Administrator eine neue Domain oder ein neues Benutzerprofil einrichtet, lassen Sie ihn die Domain einrichten, indem Sie den Anweisungen unter [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites) folgen. Während der Einrichtung der Domain können sie das Dokument über die Konfiguration der ** Ready-to-useCanvas-Modelle** für die Dokumentenabfrage aktivieren.

Der Canvas-Administrator kann die Berechtigungen für die Dokumentenabfrage auch auf Benutzerprofilebene verwalten. Wenn der Administrator beispielsweise einigen Benutzerprofilen Berechtigungen für die Dokumentenabfrage gewähren, anderen jedoch Berechtigungen entziehen möchte, kann er die Berechtigungen für einen bestimmten Benutzer bearbeiten.

Nachfolgend wird gezeigt, wie Sie Berechtigungen für Dokumentabfragen für ein bestimmtes Benutzerprofil aktivieren:

1. Öffnen Sie die SageMaker AI-Konsole unter. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus.

1. Wählen Sie aus der Liste der Domains die Domain des Benutzerprofils aus.

1. Wählen Sie auf der Seite mit den **Domaindetails** das **Benutzerprofil** aus, dessen Berechtigungen Sie bearbeiten möchten.

1. Klicken Sie auf der Seite **Details des Benutzers** auf **Bearbeiten**.

1. Wählen Sie im linken Navigationsbereich die Option **Canvas Einstellungen** aus.

1. Aktivieren Sie im **Konfigurationsbereich für Ready-to-use Canvas-Modelle** die Option **Dokumentabfrage mithilfe von Amazon Kendra aktivieren**.

1. Wählen Sie in der Dropdown-Liste einen oder mehrere Amazon Kendra-Indizes aus, auf die Sie Zugriff gewähren möchten.

1. Wählen Sie **Absenden** aus, um die Änderungen an Ihren Domaineinstellungen zu speichern.

Sie sollten jetzt in der Lage sein, Canvas Foundation-Modelle zu verwenden, um Dokumente in den angegebenen Amazon Kendra-Indizes abzufragen.

# Starten Sie eine neue Konversation, um Inhalte zu generieren, zu extrahieren oder zusammenzufassen
<a name="canvas-fm-chat-new"></a>

Um mit generativen KI-Grundmodellen in Canvas zu beginnen, können Sie eine neue Chat-Sitzung mit einem der Modelle starten. Bei JumpStart Modellen fallen Gebühren an, solange das Modell aktiv ist. Sie müssen die Modelle also starten, wenn Sie sie verwenden möchten, und sie herunterfahren, wenn Sie mit der Interaktion fertig sind. Wenn Sie ein JumpStart Modell nicht herunterfahren, fährt Canvas es nach 2 Stunden Inaktivität herunter. Bei Amazon-Bedrock-Modellen (wie Amazon Titan) erfolgt die Zahlung per Aufforderung. Die Modelle sind bereits aktiv und müssen nicht gestartet oder heruntergefahren werden. Die Nutzung dieser Modelle durch Amazon Bedrock wird Ihnen direkt in Rechnung gestellt.

Gehen Sie wie folgt vor, um einen Chat mit einem Model zu öffnen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **eady-to-useR-Modelle** aus.

1. Wählen Sie **Inhalt generieren, extrahieren und zusammenfassen**.

1. Auf der Willkommensseite erhalten Sie eine Empfehlung, das Standardmodell zu starten. Sie können das empfohlene Modell starten oder im Dropdown-Menü die Option **Anderes Modell auswählen** wählen, um ein anderes Modell auszuwählen.

1. Wenn Sie ein JumpStart Foundation-Modell ausgewählt haben, müssen Sie es starten, bevor es verwendet werden kann. Wählen Sie **Modell starten aus**, und dann wird das Modell auf einer SageMaker AI-Instanz bereitgestellt. Es kann einige Minuten dauern, bis der Vorgang abgeschlossen ist. Wenn das Modell fertig ist, können Sie Eingabeaufforderungen eingeben und dem Modell Fragen stellen.

   Wenn Sie ein Fundamentmodell von Amazon Bedrock ausgewählt haben, können Sie es sofort verwenden, indem Sie eine Aufforderung eingeben und Fragen stellen.

Je nach Modell können Sie verschiedene Aufgaben ausführen. Sie können beispielsweise eine Textpassage eingeben und das Modell bitten, sie zusammenzufassen. Oder Sie können das Modell bitten, eine kurze Zusammenfassung der Markttrends in Ihrem Bereich zu erstellen.

Die Antworten des Models in einem Chat basieren auf dem Kontext Ihrer vorherigen Eingabeaufforderungen. Wenn Sie im Chat eine neue Frage stellen möchten, die nichts mit dem vorherigen Gesprächsthema zu tun hat, empfehlen wir Ihnen, einen neuen Chat mit dem Model zu starten.

# Extrahieren Sie Informationen aus Dokumenten, indem Sie Dokumente abfragen
<a name="canvas-fm-chat-query"></a>

**Anmerkung**  
In diesem Abschnitt wird davon ausgegangen, dass Sie den Abschnitt über [Voraussetzungen für das Abfragen von Dokumenten](canvas-fm-chat-prereqs.md#canvas-fm-chat-prereqs-kendra)abgeschlossen haben.

Das Abfragen von Dokumenten ist eine Funktion, die Sie bei der Interaktion mit Foundation-Modellen in Canvas verwenden können. Mit der Dokumentenabfrage können Sie auf einen Korpus von Dokumenten zugreifen, die in einem Amazon Kendra-*Index* gespeichert sind, der den Inhalt Ihrer Dokumente enthält und so strukturiert ist, dass Dokumente durchsuchbar sind. Sie können spezifische Fragen stellen, die sich auf die Daten in Ihrem Amazon Kendra-Index beziehen, und das Foundation-Modell gibt Antworten auf Ihre Fragen zurück. Sie können beispielsweise eine interne Wissensdatenbank mit IT-Informationen abfragen und Fragen stellen wie „Wie stelle ich eine Verbindung zum Netzwerk meines Unternehmens her?“ Weitere Informationen zum Einrichten eines Indexes finden Sie im [Amazon Kendra-Entwicklerhandbuch](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html).

Wenn Sie das Feature zur Dokumentenabfrage verwenden, beschränken die Foundation-Modelle ihre Antworten mithilfe einer Technik namens Retrieval Augmented Generation (RAG) auf den Inhalt der Dokumente in Ihrem Index. Diese Technik bündelt die relevantesten Informationen aus dem Index zusammen mit der Benutzeraufforderung und sendet sie an das Foundation-Modell, um eine Antwort zu erhalten. Die Antworten sind auf das beschränkt, was in Ihrem Index zu finden ist, wodurch verhindert wird, dass das Modell Ihnen falsche Antworten auf der Grundlage externer Daten gibt. Weitere Informationen zu diesem Prozess finden Sie im Blogbeitrag [Erstellen Sie schnell hochgenaue generative KI-Anwendungen auf Unternehmensdaten](https://aws.amazon.com/blogs/machine-learning/quickly-build-high-accuracy-generative-ai-applications-on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/).

Um zu beginnen, aktivieren Sie in einem Chat mit einem Foundation-Modell in Canvas oben auf der Seite die Option **Dokumentabfrage**. Wählen Sie aus der Dropdown-Liste den Amazon Kendra-Index aus, den Sie abfragen möchten. Anschließend können Sie beginnen, Fragen zu den Dokumenten in Ihrem Index zu stellen.

**Wichtig**  
Die Dokumentabfrage unterstützt die [Vergleichen von Modell-Outputs](canvas-fm-chat-compare.md) Funktion. Jeder bestehende Chat-Verlauf wird überschrieben, wenn Sie einen neuen Chat starten, um Modellausgaben zu vergleichen.

# Starten von Modellen
<a name="canvas-fm-chat-manage"></a>

**Anmerkung**  
Im folgenden Abschnitt wird das Starten von Modellen beschrieben, was nur für Basismodelle wie Falcon-40B-Instruct gilt. JumpStart Sie können jederzeit sofort auf Amazon Bedrock-Modelle wie Amazon Titan zugreifen.

Sie können so viele Modelle starten, wie Sie möchten. JumpStart Für jedes aktive JumpStart Modell fallen Gebühren auf Ihrem Konto an. Wir empfehlen Ihnen daher, nicht mehr Modelle zu starten, als Sie derzeit verwenden.

Um ein anderes Modell zu starten, können Sie wie folgt vorgehen:

1. Wählen Sie auf der Seite **Inhalt generieren, extrahieren und zusammenfassen** die Option **Neuer Chat** aus.

1. Wählen Sie das Modell aus dem Dropdown-Menü. Wenn Sie ein Modell auswählen möchten, das nicht in der Dropdown-Liste angezeigt wird, wählen Sie **Ein anderes Modell starten** und wählen Sie dann das Modell aus, das Sie starten möchten.

1. Wählen Sie **Startmodell aus**.

Das Modell sollte mit dem Starten beginnen, und innerhalb weniger Minuten können Sie mit dem Modell chatten.

# Herunterfahren von Modellen
<a name="canvas-fm-chat-shut-down"></a>

Wir empfehlen dringend, Modelle, die Sie nicht verwenden, herunterzufahren. Die Modelle werden nach 2 Stunden Inaktivität automatisch heruntergefahren. Um ein Modell manuell herunterzufahren, können Sie jedoch wie folgt vorgehen:

1. Öffnen Sie auf der Seite **Inhalt generieren, extrahieren und zusammenfassen** den Chat für das Modell, das Sie beenden möchten.

1. Wählen Sie auf der Chat-Seite das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) aus.

1. Wählen Sie **Modell herunterfahren**.

1. Wählen Sie im Bestätigungsfeld **Modell herunterfahren** die Option **Herunterfahren** aus.

Das Modell beginnt, herunterzufahren. Wenn in Ihrem Chat zwei oder mehr Modelle verglichen werden, können Sie ein einzelnes Modell von der Chat-Seite aus herunterfahren, indem Sie auf das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) des Modells klicken und dann **Modell herunterfahren** wählen.

# Vergleichen von Modell-Outputs
<a name="canvas-fm-chat-compare"></a>

Möglicherweise möchten Sie die Leistung verschiedener Modelle nebeneinander vergleichen, um herauszufinden, welche Modellausgabe Sie bevorzugen. Dies kann Ihnen helfen zu entscheiden, welches Modell für Ihren Anwendungsfall am besten geeignet ist. Sie können bis zu drei Modelle in Chats vergleichen.

**Anmerkung**  
Für jedes einzelne Modell fallen Gebühren auf Ihrem Konto an.

Sie müssen einen neuen Chat starten, um Modelle zum Vergleich hinzuzufügen. Gehen Sie wie folgt vor, um die Ausgabe von Modellen in einem Chat nebeneinander zu vergleichen:

1. Wählen Sie in einem Chat die Option **Neuer Chat** aus.

1. Wählen Sie **Vergleichen** und verwenden Sie das Dropdown-Menü, um das Modell auszuwählen, das Sie hinzufügen möchten. Um ein drittes Modell hinzuzufügen, wählen Sie erneut **Vergleichen**, um ein weiteres Modell hinzuzufügen.
**Anmerkung**  
Wenn Sie ein JumpStart Modell verwenden möchten, das derzeit nicht aktiv ist, werden Sie aufgefordert, das Modell zu starten.

Wenn die Modelle aktiv sind, sehen Sie die beiden Modelle im Chat nebeneinander. Sie können Ihre Aufforderung einreichen und jedes Model antwortet im selben Chat, wie im folgenden Screenshot gezeigt.

![\[Screenshot der Canvas-Oberfläche mit der Ausgabe von zwei Modellen, die nebeneinander angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-chat-compare-outputs.png)


Wenn Sie mit der Interaktion fertig sind, stellen Sie sicher, dass Sie alle JumpStart Modelle einzeln herunterfahren, um weitere Gebühren zu vermeiden.

# Optimieren von Grundlagenmodellen
<a name="canvas-fm-chat-fine-tune"></a>

Die Basismodelle, auf die Sie über Amazon SageMaker Canvas zugreifen können, können Ihnen bei einer Reihe von allgemeinen Aufgaben helfen. Wenn Sie jedoch einen bestimmten Anwendungsfall haben und maßgeschneiderte Antworten auf der Grundlage Ihrer eigenen Daten wünschen, können Sie ein Grundlagenmodell *optimieren*.

Zur Feinabstimmung eines Grundlagenmodells stellen Sie einen Datensatz bereit, der aus Beispiel-Prompts und Modellantworten besteht. Anschließend trainieren Sie das Grundlagenmodell anhand der Daten. Schließlich ist das optimierte Grundlagenmodell in der Lage, Ihnen spezifischere Antworten zu geben.

Die folgende Liste enthält die Grundlagenmodelle, die Sie in Canvas optimieren können:
+ Titan Express
+ Falcon-7B
+ Falcon-7B-Instruct
+ Falcon-40B-Instruct
+ Falcon-40B
+ Flan-T5-Large
+ Flan-T5-Xl
+ Flan-T5-Xxl
+ MPT-7B
+ MPT-7B-Instruct

Bei der Feinabstimmung eines Modells können Sie in der Canvas-Anwendung auf detailliertere Informationen zu jedem Grundlagenmodell zugreifen. Weitere Informationen finden Sie unter [Optimieren Sie das Modell.](#canvas-fm-chat-fine-tune-procedure-model).

In diesem Thema wird die Feinabstimmung von Grundlagenmodellen in Canvas beschrieben.

## Bevor Sie beginnen
<a name="canvas-fm-chat-fine-tune-prereqs"></a>

Stellen Sie vor der Feinabstimmung eines Foundation-Modells sicher, dass Sie über die Berechtigungen für Ready-to-use Modelle in Canvas und über eine AWS Identity and Access Management Ausführungsrolle verfügen, die eine Vertrauensbeziehung mit Amazon Bedrock unterhält, sodass Amazon Bedrock Ihre Rolle bei der Feinabstimmung der Foundation-Modelle übernehmen kann.

Beim Einrichten oder Bearbeiten Ihrer Amazon SageMaker AI-Domain müssen Sie 1) die Konfigurationsberechtigungen für Ready-to-use Canvas-Modelle aktivieren und 2) eine Amazon Bedrock-Rolle erstellen oder angeben. Dabei handelt es sich um eine IAM-Ausführungsrolle, der SageMaker KI eine Vertrauensbeziehung mit Amazon Bedrock zuordnet. Weitere Informationen zum Konfigurieren dieser Einstellungen finden Sie unter [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites).

Sie können die Amazon Bedrock-Rolle manuell konfigurieren, wenn Sie lieber Ihre eigene IAM-Ausführungsrolle verwenden möchten (anstatt SageMaker KI eine in Ihrem Namen erstellen zu lassen). Weitere Informationen zur Konfiguration der Vertrauensstellung Ihrer eigenen IAM-Ausführungsrolle mit Amazon Bedrock finden Sie unter [Erteilen von Berechtigungen zur Verwendung von Amazon-Bedrock-Features und Features der generativen KI in Canvas](canvas-fine-tuning-permissions.md).

Sie benötigen außerdem einen Datensatz, der für die Feinabstimmung großer Sprachmodelle formatiert ist (). LLMs Im Folgenden finden Sie eine Liste der Anforderungen für Ihren Datensatz:
+ Der Datensatz muss tabellarisch sein und mindestens zwei Spalten mit Textdaten enthalten – eine Eingabespalte (die Beispiel-Prompts an das Modell enthält) und eine Ausgabespalte (die Beispielantworten des Modells enthält).

  Ein Beispiel ist folgendes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html)
+ Wir empfehlen, dass der Datensatz mindestens 100 Textpaare (Zeilen mit entsprechenden Eingabe- und Ausgabeelementen) enthält. Dadurch wird sichergestellt, dass das Grundlagenmodell über genügend Daten für die Feinabstimmung verfügt, und die Genauigkeit der Antworten wird erhöht.
+ Jedes Eingabe- und Ausgabeelement sollte maximal 512 Zeichen enthalten. Alles, was länger ist, wird bei der Feinabstimmung des Grundlagenmodells auf 512 Zeichen reduziert.

Bei der Feinabstimmung eines Amazon-Bedrock-Modells müssen Sie die Amazon-Bedrock-Kontingente einhalten. Weitere Informationen finden Sie unter [Kontingente für Modellanpassungen](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html#model-customization-quotas) im *Benutzerhandbuch für Amazon Bedrock*.

Weitere Informationen zu den allgemeinen Datensatzanforderungen und Einschränkungen in Canvas finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md).

## Feinabstimmung eines Grundlagenmodells
<a name="canvas-fm-chat-fine-tune-procedure"></a>

Sie können ein Grundlagenmodell mit einer der folgenden Methoden in der Canvas-Anwendung optimieren:
+ Wählen Sie in einem Chat zum **Generieren, Extrahieren und Zusammenfassen von Inhalten** mit einem Grundlagenmodell das Symbol **Modell optimieren** (![\[Magnifying glass icon with a plus sign, indicating a search or zoom-in function.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/wrench-icon-small.png)) aus.
+ Wenn Sie in einem Chat mit einem Grundlagenmodell die Antwort zwei- oder mehrmals neu generiert haben, bietet Ihnen Canvas die Option zur **Feinabstimmung des Modells**. Der folgende Screenshot zeigt ein Beispiel, wie dies aussieht.  
![\[Screenshot der in einem Chat angezeigten Option zur Feinabstimmung des Grundlagenmodells.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/fine-tuning-ingress.png)
+ Auf der Seite **Meine Modelle** können Sie ein neues Modell erstellen, indem Sie **Neues Modell** und dann **Grundlagenmodell optimieren** auswählen.
+ Auf der **Ready-to-use Modell-Startseite** können Sie **Ihr eigenes Modell erstellen** auswählen und dann im Dialogfeld **Neues Modell erstellen die Option Fundamentmodell** **feinabstimmen** auswählen.
+ Beim Durchsuchen Ihrer Datensätze auf der Registerkarte **Data Wrangler** können Sie einen Datensatz auswählen und **Ein Modell erstellen** auswählen. Wählen Sie dann **Grundlagenmodell optimieren** aus.

Nachdem Sie mit der Feinabstimmung eines Modells begonnen haben, gehen Sie wie folgt vor:

### Wählen Sie eine Datenbank aus
<a name="canvas-fm-chat-fine-tune-procedure-select"></a>

Wählen Sie bei der Feinabstimmung eines Modells auf der Registerkarte **Auswählen** die Daten aus, anhand derer Sie das Grundlagenmodell trainieren möchten.

Wählen Sie entweder einen vorhandenen Datensatz aus oder erstellen Sie einen neuen, der die im Abschnitt [Bevor Sie beginnen](#canvas-fm-chat-fine-tune-prereqs) aufgeführten Anforderungen erfüllt. Informationen zum Erstellen eines Datensatzes finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md).

Wenn Sie einen Datensatz ausgewählt oder erstellt haben und bereit sind, fortzufahren, wählen Sie **Datensatz auswählen** aus.

### Optimieren Sie das Modell.
<a name="canvas-fm-chat-fine-tune-procedure-model"></a>

Nachdem Sie Ihre Daten ausgewählt haben, können Sie nun mit dem Training und der Feinabstimmung des Modells beginnen.

Gehen Sie auf der Registerkarte **Optimieren** folgendermaßen vor:

1. (Optional) Wählen Sie **Weitere Informationen zu unseren Grundlagenmodellen** aus, um weitere Informationen zu den einzelnen Modellen zu erhalten und Sie bei der Entscheidung zu unterstützen, welches oder welche Grundlagenmodelle Sie einsetzen möchten.

1. Öffnen **Sie für Wählen Sie bis zu 3 Basismodelle** das Drop-down-Menü aus und wählen Sie bis zu 3 Foundation-Modelle (bis zu 2 JumpStart Modelle und 1 Amazon Bedrock-Modell) aus, die Sie während des Schulungsjobs verfeinern möchten. Durch die Feinabstimmung mehrerer Grundlagenmodelle können Sie deren Leistung vergleichen und letztendlich das für Ihren Anwendungsfall am besten geeignete Modell als Standardmodell auswählen. Weitere Hinweise zu Standardmodellen finden Sie unter [Anzeigen von Modellkandidaten in der Modell-Bestenliste](canvas-evaluate-model-candidates.md).

1. Wählen Sie für **Eingabespalte auswählen** die Spalte mit Textdaten in Ihrem Datensatz aus, die die Beispielmodell-Prompts enthält.

1. Wählen Sie für **Ausgabespalte auswählen** die Spalte mit Textdaten in Ihrem Datensatz aus, die die Beispielmodell-Antworten enthält.

1. (Optional) Um erweiterte Einstellungen für den Trainingsjob zu konfigurieren, wählen Sie **Modell konfigurieren** aus. Weitere Informationen zu den erweiterten Einstellungen für die Modellerstellung finden Sie unter [Erweiterte Konfigurationen für die Modellerstellung](canvas-advanced-settings.md).

   Führen Sie im Pop-up-Fenster **Modell konfigurieren** die folgenden Schritte aus:

   1. Bei **Hyperparametern** können Sie für jedes Modell, das Sie ausgewählt haben, die **Epochenzahl**, die **Batchgröße**, die **Lernrate** und die **Aufwärmschritte für die Lernrate** anpassen. Weitere Informationen zu diesen Parametern finden Sie im [Abschnitt Hyperparameter](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-fine-tune.html#jumpstart-hyperparameters) in der Dokumentation. JumpStart 

   1. Bei der **Datenteilung** können Sie Prozentsätze angeben, wie Ihre Daten zwischen dem **Trainingssatz** und dem **Validierungssatz** aufgeteilt werden sollen.

   1. Für **Max. Laufzeit des Auftrags** können Sie festlegen, wie lange Canvas den Build-Auftrag maximal ausführt. Diese Funktion ist nur für JumpStart Fundamentmodelle verfügbar.

   1. Nachdem Sie die Einstellungen konfiguriert haben, wählen Sie **Speichern** aus.

1. Wählen Sie **Feinabstimmung** aus, um mit dem Training der ausgewählten Grundlagenmodelle zu beginnen.

Nachdem die Feinabstimmung begonnen hat, können Sie die Seite verlassen. Wenn das Modell auf der Seite **Meine Modelle** als **Bereit** angezeigt wird, ist es einsatzbereit, und Sie können nun die Leistung Ihres optimierten Grundlagenmodells analysieren.

### Analysieren des optimierten Grundlagenmodells
<a name="canvas-fm-chat-fine-tune-procedure-analyze"></a>

Auf der Registerkarte **Analysieren** Ihres optimierten Grundlagenmodells können Sie die Leistung des Modells sehen.

Auf dieser Seite finden Sie auf der Registerkarte **Übersicht** die Perplexitäts- und Verlustwerte sowie Analysen, die die Verbesserung des Modells im Laufe des Trainings visualisieren. Auf dem Screenshot unten sehen Sie die Registerkarte **Übersicht**.

![\[Die Registerkarte „Analysieren“ eines optimierten Grundlagenmodells in Canvas, auf der die Perplexitäts- und Verlustkurven angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-analyze-2.png)


Auf dieser Seite können Sie die folgenden Visualisierungen sehen:
+ Die **Perplexitätskurve** misst, wie gut das Modell das nächste Wort in einer Sequenz vorhersagt oder wie grammatikalisch korrekt die Ausgabe des Modells ist. Im Idealfall nimmt der Wert ab, wenn sich das Modell während des Trainings verbessert, was zu einer Kurve führt, die sich mit der Zeit absenkt und flacher wird.
+ Die **Verlustkurve** quantifiziert die Differenz zwischen der korrekten Ausgabe und der vom Modell vorhergesagten Ausgabe. Eine Verlustkurve, die im Laufe der Zeit abnimmt und flacher wird, deutet darauf hin, dass das Modell seine Fähigkeit verbessert, genaue Vorhersagen zu treffen.

Auf der Registerkarte **Erweiterte Metriken** werden Ihnen die Hyperparameter und zusätzliche Metriken für Ihr Modell angezeigt. Sie sieht wie im folgenden Screenshot aus:

![\[Screenshot der Registerkarte „Erweiterte Metriken“ eines optimierten Grundlagenmodells in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-metrics.png)


Die Registerkarte **Erweiterte Metriken** enthält die folgenden Informationen:
+ Der Abschnitt **Erklärbarkeit** enthält die **Hyperparameter**. Dabei handelt es sich um Werte, die vor dem Auftrag festgelegt wurden, um die Feinabstimmung des Modells zu steuern. Wenn Sie in den erweiterten Einstellungen des Modells im Abschnitt [Optimieren Sie das Modell.](#canvas-fm-chat-fine-tune-procedure-model) keine benutzerdefinierten Hyperparameter angegeben haben, wählt Canvas die Standard-Hyperparameter für Sie aus.

  Bei JumpStart Modellen steht Ihnen auch die erweiterte Metrik [ROUGE (Recall-Oriented Understudy for Gisting Evaluation)](https://en.wikipedia.org/wiki/ROUGE_(metric)) zur Verfügung, mit der die Qualität der vom Modell generierten Zusammenfassungen bewertet wird. Sie misst, wie gut das Modell die wichtigsten Punkte einer Passage zusammenfassen kann.
+ Im Abschnitt **Artefakte** finden Sie Links zu Artefakten, die während der Feinabstimmung generiert wurden. Sie können auf die in Amazon S3 gespeicherten Schulungs- und Validierungsdaten sowie auf den Link zum Modellbewertungsbericht zugreifen (weitere Informationen finden Sie im folgenden Absatz).

Um mehr Einblicke in die Modellbewertung zu erhalten, können Sie einen Bericht herunterladen, der mit [SageMaker Clarify](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html) generiert wurde. Dabei handelt es sich um eine Funktion, mit der Sie Verzerrungen in Ihrem Modell und Ihren Daten erkennen können. Generieren Sie zunächst den Bericht, indem Sie unten auf der Seite die Option **Bewertungsbericht erstellen** auswählen. Nachdem der Bericht generiert wurde, können Sie den vollständigen Bericht herunterladen, indem Sie auf **Bericht herunterladen** klicken oder zum Abschnitt **Artefakte** zurückkehren.

Sie können auch auf ein Jupyter Notebook zugreifen, das Ihnen zeigt, wie Sie Ihren Feinabstimmungsauftrag in Python-Code replizieren können. Sie können dies verwenden, um Ihren Feinabstimmungsauftrag zu replizieren oder programmatische Änderungen daran vorzunehmen oder ein tieferes Verständnis dafür zu erlangen, wie Canvas Ihr Modell optimiert. Weitere Informationen zu Modell-Notebooks und wie Sie auf sie zugreifen können finden Sie unter [Herunterladen eines Modell-Notebooks](canvas-notebook.md).

Weitere Informationen zur Interpretation der Informationen auf der Registerkarte **Analysieren** Ihres optimierten Grundlagenmodells finden Sie unter dem Thema [Bewertung des Modells](canvas-evaluate-model.md).

Nachdem Sie die Registerkarten **Überblick** und **Erweiterte Metriken** analysiert haben, können Sie auch die **Modell-Bestenliste** öffnen, in der die Liste der während des Builds trainierten Grundlagenmodelle angezeigt wird. Das Modell mit der niedrigsten Verlustrate gilt als das Modell mit der besten Leistung und wird als **Standardmodell** ausgewählt. Dabei handelt es sich um das Modell, dessen Analyse Sie auf der Registerkarte **Analysieren** sehen. Sie können nur das Standardmodell testen und bereitstellen. Weitere Informationen zur Modell-Bestenliste und zum Ändern des Standardmodells finden Sie unter [Anzeigen von Modellkandidaten in der Modell-Bestenliste](canvas-evaluate-model-candidates.md).

### Testen eines optimierten Grundlagenmodells in einem Chat
<a name="canvas-fm-chat-fine-tune-procedure-test"></a>

Nachdem Sie die Leistung eines optimierten Grundlagenmodells analysiert haben, möchten Sie es vielleicht testen oder seine Antworten mit dem Basismodell vergleichen. Sie können ein optimiertes Grundlagenmodell in einem Chat mit dem Feature **Inhalt generieren, extrahieren und zusammenfassen** testen.

Starten Sie einen Chat mit einem optimierten Modell, indem Sie eine der folgenden Methoden wählen:
+ Wählen Sie auf der Registerkarte **Analysieren** des fein abgestimmten Modells die Option **In Ready-to-use Basismodellen testen** aus.
+ Wählen Sie auf der Seite **Ready-to-use Canvas-Modelle** die Option **Inhalt generieren, extrahieren und zusammenfassen** aus. Wählen Sie dann **Neuer Chat** und anschließend die Version des Modells aus, die Sie testen möchten.

Das Modell wird in einem Chat gestartet und Sie können damit wie mit jedem anderen Grundlagenmodell interagieren. Sie können dem Chat weitere Modelle hinzufügen und deren Ergebnisse vergleichen. Weitere Informationen zur Funktionalität von Chats finden Sie unter [Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).

## Operationalisieren von optimierten Grundlagenmodellen
<a name="canvas-fm-chat-fine-tune-mlops"></a>

Nach der Feinabstimmung Ihres Modells in Canvas können Sie wie folgt vorgehen:
+ Registrieren Sie das Modell im SageMaker Model Registry, um es in Ihre MLOps Unternehmensprozesse zu integrieren. Weitere Informationen finden Sie unter [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md).
+ Stellen Sie das Modell auf einem SageMaker KI-Endpunkt bereit und senden Sie Anfragen von Ihrer Anwendung oder Website aus an das Modell, um Vorhersagen (oder *Schlussfolgerungen*) zu erhalten. Weitere Informationen finden Sie unter [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md).

**Wichtig**  
Sie können nur auf der JumpStart Grundlage fein abgestimmter Foundation-Modelle registrieren und bereitstellen, keine auf Amazon Bedrock basierenden Modelle.

# Ready-to-use Modelle
<a name="canvas-ready-to-use-models"></a>

Mit Amazon SageMaker Ready-to-use Canvas-Modellen können Sie Vorhersagen zu Ihren Daten treffen, ohne eine einzige Codezeile schreiben oder ein Modell erstellen zu müssen — alles, was Sie mitbringen müssen, sind Ihre Daten. Die Ready-to-use Modelle verwenden vorgefertigte Modelle, um Vorhersagen zu generieren, ohne dass Sie die Zeit, das Fachwissen oder die Kosten aufwenden müssen, die für die Erstellung eines Modells erforderlich sind. Sie können aus einer Vielzahl von Anwendungsfällen wählen, die von der Spracherkennung bis hin zur Kostenanalyse reichen.

Canvas lässt sich in bestehende AWS Dienste wie [Amazon Textract, Amazon](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) [Rekognition und Amazon](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html) [Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) integrieren, um Ihre Daten zu analysieren und Vorhersagen zu treffen oder Erkenntnisse zu gewinnen. Sie können die Vorhersagekraft dieser Dienste innerhalb der Canvas-Anwendung nutzen, um qualitativ hochwertige Prognosen für Ihre Daten zu erhalten.

Canvas unterstützt die folgenden Modelltypen: Ready-to-use


| Ready-to-use Modell | Description | Unterstützte Datentypen | 
| --- | --- | --- | 
| Sentiment-Analyse | Erkennen Sie Stimmungen in Textzeilen, die positiv, negativ, neutral oder gemischt sein können. Derzeit können Sie nur Stimmungsanalysen für englischsprachigen Text durchführen. | Klartext oder tabellarisch (CSV, Parquet) | 
| Extraktion von Entitäten | Extrahieren Sie Entitäten, bei denen es sich um reale Objekte wie Personen, Orte und Handelsgüter oder Einheiten wie Daten und Mengen handelt, aus Text. | Klartext oder tabellarisch (CSV, Parquet) | 
| Spracherkennung | Ermitteln Sie die dominante Sprache in Text wie Englisch, Französisch oder Deutsch. | Klartext oder tabellarisch (CSV, Parquet) | 
| Erkennung personenbezogener Daten | Ermitteln Sie anhand von Textnachrichten persönliche Informationen, die zur Identifizierung einer Person verwendet werden könnten, wie Adressen, Bankkontonummern und Telefonnummern. | Klartext oder tabellarisch (CSV, Parquet) | 
| Erkennung von Objekten in Bildern | Erkennen Sie Objekte, Konzepte, Szenen und Aktionen in Ihren Bildern. | Bild (JPG, PNG) | 
| Erkennung von Text in Bildern | Erkennen Sie Text in Ihren Bildern. | Bild (JPG, PNG) | 
| Kostenanalyse | Extrahieren Sie Informationen aus Rechnungen und Quittungen, wie Datum, Anzahl, Artikelpreise, Gesamtbetrag und Zahlungsbedingungen. | Dokument (PDF, JPG, PNG, TIFF) | 
| Analyse von Ausweisdokumenten | Extrahieren Sie Informationen aus Reisepässen, Führerscheinen und anderen von der US-Regierung ausgestellten Ausweisdokumenten. | Dokument (PDF, JPG, PNG, TIFF) | 
| Analyse von Dokumenten | Analysieren Sie Dokumente und Formulare auf Beziehungen zwischen erkanntem Text. | Dokument (PDF, JPG, PNG, TIFF) | 
| Anfragen zu Dokumenten | Extrahieren Sie Informationen aus strukturierten Dokumenten wie Gehaltsabrechnungen, Kontoauszügen, W-2-Formularen und Hypothekenantragsformularen, indem Sie Fragen in natürlicher Sprache stellen. | Dokument (PDF) | 

## Erste Schritte
<a name="canvas-ready-to-use-get-started"></a>

Lesen Sie die folgenden Informationen, um mit Ready-to-use Modellen zu beginnen.

**Voraussetzungen**

Um Ready-to-use Modelle in Canvas zu verwenden, müssen Sie bei der [Einrichtung Ihrer Amazon SageMaker AI-Domain](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites) die **Konfigurationsberechtigungen für Ready-to-use Canvas-Modelle** aktivieren. Die **Konfiguration der Ready-to-use Canvas-Modelle** ordnet die [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) der Ausführungsrolle Ihres Canvas-Benutzers AWS Identity and Access Management (IAM) zu. Wenn Sie Probleme mit der Vergabe von Berechtigungen haben, finden Sie weitere Informationen im Thema [Behebung von Problemen bei der Erteilung von Berechtigungen über die SageMaker AI-Konsole](canvas-limits.md#canvas-troubleshoot-trusted-services).

Wenn Sie Ihre Domain bereits eingerichtet haben, können Sie Ihre Domaineinstellungen bearbeiten und die Berechtigungen aktivieren. Anweisungen zur Bearbeitung Ihrer Domaineinstellungen finden Sie unter [Domaineinstellungen bearbeiten](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-edit.html). Gehen Sie bei der Bearbeitung der Einstellungen für Ihre Domain zu den **Canvas-Einstellungen** und aktivieren Sie die Option ** Ready-to-useCanvas-Modelle aktivieren**.

**(Optional) Deaktivieren der Datenspeicherung durch KI-Services**

Bestimmte AWS KI-Dienste speichern und verwenden Ihre Daten, um den Service zu verbessern. Sie können der Speicherung oder Verwendung Ihrer Daten zur Verbesserung unserer Dienstleistungen widersprechen. Weitere Informationen zum Ablehnen finden Sie in den [Opt-Out-Richtlinien für KI-Services](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) im *Benutzerhandbuch für AWS Organizations *.

**Wie benutzt man Ready-to-use Modelle**

Gehen Sie wie folgt vor, um mit Ready-to-use Modellen zu beginnen:

1. **(Optional) Importieren Sie Ihre Daten.** Sie können einen tabellarischen Datensatz, einen Bild- oder einen Dokumentdatensatz importieren, um Batch-Vorhersagen oder einen Datensatz mit Vorhersagen mit Ready-to-use Modellen zu generieren. Informationen zu den ersten Schritten beim Importieren eines Datensatzes finden Sie unter [Erstellen eines Datenablaufs](canvas-data-flow.md).

1. **Voraussagen generieren.** Sie können mit dem von Ihnen ausgewählten Ready-to-use Modell Einzel- oder Batch-Vorhersagen generieren. Informationen zum Erstellen von Prognosen finden Sie unter [Treffen Sie Vorhersagen für Textdaten](canvas-ready-to-use-predict-text.md).

# Treffen Sie Vorhersagen für Textdaten
<a name="canvas-ready-to-use-predict-text"></a>

In den folgenden Verfahren wird beschrieben, wie Sie Einzel- und Batchvorhersagen für Textdatensätze erstellen. Jedes Ready-to-use Modell unterstützt sowohl **Einzelvorhersagen** als auch **Batch-Vorhersagen** für Ihren Datensatz. Bei einer **einzelnen Vorhersage** müssen Sie nur eine Vorhersage treffen. Sie haben beispielsweise ein Bild, aus dem Sie Text extrahieren möchten, oder einen Textabsatz, für den Sie die dominante Sprache ermitteln möchten. Bei einer **Batch-Vorhersage** möchten Sie Vorhersagen für einen gesamten Datensatz treffen. Möglicherweise haben Sie eine CSV-Datei mit Kundenrezensionen, für die Sie die Kundenstimmung analysieren möchten, oder Sie haben Bilddateien, in denen Sie Objekte erkennen möchten.

Sie können diese Verfahren für die folgenden Ready-to-use Modelltypen verwenden: Stimmungsanalyse, Extraktion von Entitäten, Spracherkennung und Erkennung personenbezogener Daten.

**Anmerkung**  
Für die Stimmungsanalyse können Sie nur Text in englischer Sprache verwenden.

## Einzelne Vorhersagen
<a name="canvas-ready-to-use-predict-text-single"></a>

Gehen Sie wie folgt vor, um eine einzige Vorhersage für Ready-to-use Modelle zu treffen, die Textdaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Bei Textdaten sollte es sich um eine der folgenden Optionen handeln: **Stimmungsanalyse**, **Extrahieren von Entitäten**, **Spracherkennung** oder **Erkennung personenbezogener Daten**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Einzelne Vorhersage** aus.

1. Geben Sie in das **Textfeld** den Text ein, für den Sie eine Vorhersage erhalten möchten.

1. Wählen Sie **Vorhersageergebnisse generieren**, um Ihre Vorhersage zu erhalten.

Im rechten Bereich **Vorhersageergebnisse** erhalten Sie eine Analyse Ihres Textes sowie einen **Vertrauenswert** für jedes Ergebnis oder jede Bezeichnung. Wenn Sie beispielsweise die Spracherkennung ausgewählt und eine Textpassage auf Französisch eingegeben haben, erhalten Sie möglicherweise Französisch mit einem Konfidenzwert von 95% und Spuren anderer Sprachen, wie Englisch, mit einem Konfidenzwert von 5%.

Der folgende Screenshot zeigt die Ergebnisse einer einzelnen Vorhersage mithilfe der Spracherkennung, bei der das Modell zu 100% sicher ist, dass es sich bei der Textstelle um Englisch handelt.

![\[Screenshot der Ergebnisse einer einzelnen Vorhersage mit dem Ready-to-use Spracherkennungsmodell.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-text-prediction.png)


## Stapelvoraussagen
<a name="canvas-ready-to-use-predict-text-batch"></a>

Gehen Sie wie folgt vor, um Batch-Vorhersagen für Ready-to-use Modelle zu treffen, die Textdaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Bei Textdaten sollte es sich um eine der folgenden Optionen handeln: **Stimmungsanalyse**, **Extrahieren von Entitäten**, **Spracherkennung** oder **Erkennung personenbezogener Daten**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen**, wenn Sie Ihren Datensatz bereits importiert haben. Wenn nicht, wählen Sie **Neuen Datensatz importieren** aus, und Sie werden dann durch den Datenimport-Workflow geleitet.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und wählen Sie **Vorhersage generieren** aus, um Ihre Vorhersagen abzurufen.

Nachdem die Ausführung des Vorhersageauftrags abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Vorhersagen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie eine **Vorschau** der Ausgabedaten anzeigen. Anschließend können Sie **Herunterladen** wählen, um die Ergebnisse herunterzuladen.

# Treffen Sie Vorhersagen für Bilddaten
<a name="canvas-ready-to-use-predict-image"></a>

In den folgenden Verfahren wird beschrieben, wie Sie sowohl Einzel- als auch Batchvorhersagen für Bilddatensätze erstellen. Jedes Ready-to-use Modell unterstützt sowohl **Einzelvorhersagen** als auch **Batch-Vorhersagen** für Ihren Datensatz. Bei einer **einzelnen Vorhersage** müssen Sie nur eine Vorhersage treffen. Sie haben beispielsweise ein Bild, aus dem Sie Text extrahieren möchten, oder einen Textabsatz, für den Sie die dominante Sprache ermitteln möchten. Bei einer **Batch-Vorhersage** möchten Sie Vorhersagen für einen gesamten Datensatz treffen. Möglicherweise haben Sie eine CSV-Datei mit Kundenrezensionen, für die Sie die Kundenstimmung analysieren möchten, oder Sie haben Bilddateien, in denen Sie Objekte erkennen möchten.

Sie können diese Verfahren für die folgenden Ready-to-use Modelltypen verwenden: Objekterkennungsbilder und Texterkennung in Bildern.

## Einzelne Vorhersagen
<a name="canvas-ready-to-use-predict-image-single"></a>

Gehen Sie wie folgt vor, um eine einzige Vorhersage für Ready-to-use Modelle zu treffen, die Bilddaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Für Bilddaten sollte es eines der folgenden sein: **Objekterkennungsbilder** oder **Texterkennung** in Bildern.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Einzelne Vorhersage** aus.

1. Wählen Sie **Bild hochladen** aus.

1. Sie werden aufgefordert, ein Bild auszuwählen, das von Ihrem lokalen Computer hochgeladen werden soll. Wählen Sie das Bild aus Ihren lokalen Dateien aus, und dann werden die Vorhersageergebnisse generiert.

Im rechten Bereich mit den **Vorhersageergebnissen** erhalten Sie eine Analyse Ihres Bilds sowie einen **Vertrauenswert** für jedes erkannte Objekt oder jeden erkannten Text. Wenn Sie beispielsweise die Objekterkennung in Bildern ausgewählt haben, erhalten Sie eine Liste der Objekte im Bild zusammen mit einem Konfidenzwert, der angibt, wie sicher das Modell ist, dass jedes Objekt korrekt erkannt wurde, z. B. 93 %.

Der folgende Screenshot zeigt die Ergebnisse für eine einzelne Vorhersage mithilfe der Lösung zur Objekterkennung in Bildern, bei der das Modell Objekte wie einen Uhrturm und einen Bus mit 100-prozentiger Sicherheit vorhersagt.

![\[Die Ergebnisse einer einzelnen Vorhersage mit dem Ready-to-use Modell der Objekterkennungslösung in Bildern.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-image-prediction.png)


## Stapelvoraussagen
<a name="canvas-ready-to-use-predict-image-batch"></a>

Gehen Sie wie folgt vor, um Batch-Vorhersagen für Ready-to-use Modelle zu treffen, die Bilddaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Für Bilddaten sollte es eines der folgenden sein: **Objekterkennungsbilder** oder **Texterkennung** in Bildern.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen**, wenn Sie Ihren Datensatz bereits importiert haben. Wenn nicht, wählen Sie **Neuen Datensatz importieren** aus, und Sie werden dann durch den Datenimport-Workflow geleitet.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und wählen Sie **Vorhersage generieren** aus, um Ihre Vorhersagen abzurufen.

Nachdem die Ausführung des Vorhersageauftrags abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Vorhersagen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorhersageergebnisse anzeigen** wählen, um eine Vorschau der Ausgabedaten anzuzeigen. Anschließend können Sie **Vorhersage herunterladen** auswählen und die Ergebnisse als CSV- oder ZIP-Datei herunterladen.

# Treffen Sie Vorhersagen für Dokumentdaten
<a name="canvas-ready-to-use-predict-document"></a>

In den folgenden Verfahren wird beschrieben, wie Sie sowohl Einzel- als auch Batchvorhersagen für Dokumentdatensätze erstellen. Jedes Ready-to-use Modell unterstützt sowohl **Einzelvorhersagen** als auch **Batch-Vorhersagen** für Ihren Datensatz. Bei einer **einzelnen Vorhersage** müssen Sie nur eine Vorhersage treffen. Sie haben beispielsweise ein Bild, aus dem Sie Text extrahieren möchten, oder einen Textabsatz, für den Sie die dominante Sprache ermitteln möchten. Bei einer **Batch-Vorhersage** möchten Sie Vorhersagen für einen gesamten Datensatz treffen. Möglicherweise haben Sie eine CSV-Datei mit Kundenrezensionen, für die Sie die Kundenstimmung analysieren möchten, oder Sie haben Bilddateien, in denen Sie Objekte erkennen möchten.

Sie können diese Verfahren für die folgenden Ready-to-use Modelltypen verwenden: Kostenanalyse, Analyse von Ausweisdokumenten und Dokumentenanalyse.

**Anmerkung**  
Für Dokumentabfragen werden derzeit nur einzelne Vorhersagen unterstützt.

## Einzelne Vorhersagen
<a name="canvas-ready-to-use-predict-document-single"></a>

Gehen Sie wie folgt vor, um eine einzige Vorhersage für Ready-to-use Modelle zu treffen, die Dokumentdaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Bei Dokumentdaten sollte es sich um eine der folgenden Optionen handeln: **Kostenanalyse**, **Analyse von Ausweisdokumenten** oder **Dokumentenanalyse**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Einzelne Vorhersage** aus.

1. Wenn es sich bei Ihrem Ready-to-use Modell um eine Identitätsdokumentanalyse oder eine Dokumentenanalyse handelt, führen Sie die folgenden Aktionen aus. Wenn Sie eine Kostenanalyse oder Dokumentenabfragen durchführen, überspringen Sie diesen Schritt und fahren Sie mit Schritt 5 bzw. Schritt 6 fort.

   1. Wählen Sie **Dokument hochladen**.

   1. Sie werden aufgefordert, eine PDF-, JPG- oder PNG-Datei von Ihrem lokalen Computer hochzuladen. Wählen Sie das Dokument aus Ihren lokalen Dateien aus, und dann werden die Vorhersageergebnisse generiert.

1. Wenn es sich bei Ihrem Ready-to-use Modell um eine Kostenanalyse handelt, gehen Sie wie folgt vor:

   1. Wählen Sie **Rechnung oder Quittung hochladen**.

   1. Sie werden aufgefordert, eine PDF-, JPG-, PNG- oder TIFF-Datei von Ihrem lokalen Computer hochzuladen. Wählen Sie das Dokument aus Ihren lokalen Dateien aus, und dann werden die Vorhersageergebnisse generiert.

1. Wenn es sich bei Ihrem Ready-to-use Modell um Dokumentabfragen handelt, gehen Sie wie folgt vor:

   1. Wählen Sie **Dokument hochladen** aus.

   1. Sie werden aufgefordert, eine PDF-Datei von Ihrem lokalen Computer upzuloaden. Wählen Sie das Dokument aus Ihren lokalen Dateien aus. Ihr PDF muss 1–100 Seiten lang sein.
**Anmerkung**  
Wenn Sie sich in den Regionen Asien-Pazifik (Seoul), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney) oder Europa (Frankfurt) befinden, beträgt die maximale PDF-Größe für Dokumentabfragen 20 Seiten.

   1. Geben Sie im rechten Seitenbereich Abfragen ein, um nach Informationen im Dokument zu suchen. Die Anzahl der Zeichen, die Sie in einer einzelnen Abfrage haben können, liegt zwischen 1 und 200. Sie können bis zu 15 Abfragen gleichzeitig hinzufügen.

   1. Wählen Sie **Abfragen absenden** aus. Daraufhin werden die Ergebnisse mit Antworten auf Ihre Fragen generiert. Für jede Einreichung von Anfragen, die Sie stellen, wird Ihnen einmal eine Rechnung gestellt.

Im rechten Bereich **Vorhersageergebnisse** erhalten Sie eine Analyse Ihres Dokuments.

In den folgenden Informationen werden die Ergebnisse für jeden Lösungstyp beschrieben:
+ Für die Kostenanalyse werden die Ergebnisse in **Zusammenfassungsfelder** unterteilt, die Felder wie die Summe auf einer Quittung enthalten, und **Einzelpostenfelder**, die Felder wie einzelne Posten auf einer Quittung enthalten. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.
+ Bei der Analyse von Ausweisdokumenten zeigt Ihnen die Ausgabe die Felder, die das Ready-to-use Modell identifiziert hat, z. B. Vor- und Nachname, Adresse oder Geburtsdatum. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.
+ Für die Dokumentenanalyse werden die Ergebnisse in **Rohtext**, **Formulare**, **Tabellen** und **Signaturen** unterteilt. **Rohtext** umfasst den gesamten extrahierten Text, wohingegen **Formulare**, **Tabellen** und **Signaturen** nur Informationen zu dem Formular enthalten, das in diese Kategorien fällt. Beispielsweise enthält **Tabellen** nur Informationen, die aus Tabellen im Dokument extrahiert wurden. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.
+ Bei Dokumentabfragen gibt Canvas Antworten auf jede Ihrer Abfragen zurück. Sie können das zusammenklappbare Abfrage-Dropdown-Menü öffnen, um ein Ergebnis zusammen mit einem Konfidenzwert für die Vorhersage anzuzeigen. Wenn Canvas mehrere Antworten im Dokument findet, haben Sie möglicherweise mehr als ein Ergebnis für jede Abfrage.

Der folgende Screenshot zeigt die Ergebnisse für eine einzelne Vorhersage mithilfe der Dokumentenanalyselösung.

![\[Screenshot der Ergebnisse einer einzelnen Vorhersage mit dem Ready-to-use Dokumentenanalysemodell.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-document-analysis.png)


## Stapelvoraussagen
<a name="canvas-ready-to-use-predict-document-batch"></a>

Gehen Sie wie folgt vor, um Batch-Vorhersagen für Ready-to-use Modelle zu treffen, die Dokumentdaten akzeptieren:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **eady-to-useR-Modelle** aus.

1. Wählen Sie auf der **Ready-to-use Modellseite** das Ready-to-use Modell für Ihren Anwendungsfall aus. Bei Bilddaten sollte es sich um einen der folgenden Werte handeln: **Kostenanalyse**, **Analyse von Ausweisdokumenten** oder **Dokumentenanalyse**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** für das von Ihnen gewählte Ready-to-use Modell die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen**, wenn Sie Ihren Datensatz bereits importiert haben. Wenn nicht, wählen Sie **Neuen Datensatz importieren** aus, und Sie werden dann durch den Datenimport-Workflow geleitet.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und wählen Sie **Vorhersage generieren** aus. Wenn Ihr Anwendungsfall die Dokumentenanalyse ist, fahren Sie mit Schritt 6 fort.

1. (Optional) Wenn es sich bei Ihrem Anwendungsfall um die Dokumentenanalyse handelt, wird ein weiteres Dialogfeld mit dem Titel **Features auswählen, die in die Batchvorhersage aufgenommen werden sollen**, angezeigt. Sie können **Formulare**, **Tabellen** und **Signaturen** auswählen, um die Ergebnisse nach diesen Funktionen zu gruppieren. Wählen Sie dann **Vorhersagen generieren** aus.

Nachdem die Ausführung des Vorhersageauftrags abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Vorhersagen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorhersageergebnisse anzeigen** auswählen, um eine Vorschau der Analyse Ihrer Dokumentdaten anzuzeigen.

In den folgenden Informationen werden die Ergebnisse für jeden Lösungstyp beschrieben:
+ Für die Kostenanalyse werden die Ergebnisse in **Zusammenfassungsfelder** unterteilt, die Felder wie die Summe auf einer Quittung enthalten, und **Einzelpostenfelder**, die Felder wie einzelne Posten auf einer Quittung enthalten. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.
+ Für die Analyse von Ausweisdokumenten zeigt Ihnen die Ausgabe die Felder, die das Ready-to-use Modell identifiziert hat, z. B. Vor- und Nachname, Adresse oder Geburtsdatum. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.
+ Für die Dokumentenanalyse werden die Ergebnisse in **Rohtext**, **Formulare**, **Tabellen** und **Signaturen** unterteilt. **Rohtext** umfasst den gesamten extrahierten Text, wohingegen **Formulare**, **Tabellen** und **Signaturen** nur Informationen zu dem Formular enthalten, das in diese Kategorien fällt. Beispielsweise enthält **Tabellen** nur Informationen, die aus Tabellen im Dokument extrahiert wurden. Die identifizierten Felder werden in der Ausgabe auf dem Dokumentbild hervorgehoben.

Nachdem Sie sich Ihre Ergebnisse in der Vorschau angesehen haben, können Sie **Prognose herunterladen** wählen und die Ergebnisse als ZIP-Datei herunterladen.

# Benutzerdefinierte Modelle
<a name="canvas-custom-models"></a>

In Amazon SageMaker Canvas können Sie benutzerdefinierte Modelle für maschinelles Lernen trainieren, die auf Ihre spezifischen Daten und Ihren Anwendungsfall zugeschnitten sind. Indem Sie ein benutzerdefiniertes Modell anhand Ihrer Daten trainieren, sind Sie in der Lage, Merkmale und Trends zu erfassen, die spezifisch und für Ihre Daten am repräsentativsten sind. Beispielsweise könnten Sie ein benutzerdefiniertes Zeitreihen-Vorhersagemodell erstellen, das Sie anhand von Bestandsdaten aus Ihrem Lager trainieren, um Ihre Logistikabläufe zu verwalten.

Canvas unterstützt das Training einer Reihe von Modelltypen. Nachdem Sie ein benutzerdefiniertes Modell trainiert haben, können Sie dessen Leistung und Genauigkeit bewerten. Sobald Sie mit einem Modell zufrieden sind, können Sie Vorhersagen zu neuen Daten treffen. Außerdem haben Sie die Möglichkeit, das benutzerdefinierte Modell zur weiteren Analyse mit Datenwissenschaftlern zu teilen oder es auf einem SageMaker KI-gehosteten Endpunkt für Echtzeit-Inferenzen bereitzustellen — alles von der Canvas-Anwendung aus.

Sie können ein benutzerdefiniertes Canvas-Modell mit den folgenden Arten von Datensätzen trainieren:
+ Tabellarisch (einschließlich numerischer, kategorialer, zeitreihenbezogener und Textdaten)
+ Image

Die folgende Tabelle zeigt die Typen von benutzerdefinierten Modellen, die Sie in Canvas erstellen können, sowie die unterstützten Datentypen und Datenquellen.


| Modelltyp | Beispielanwendungsfall | Unterstützte Datentypen | Unterstützte Datenquellen | 
| --- | --- | --- | --- | 
| Numerische Vorhersage | Vorhersage von Immobilienpreisen auf der Grundlage von Features wie der Quadratmeterzahl | Numerischer Wert | Lokaler Upload, Amazon S3, SaaS-Konnektoren | 
| Vorhersage von 2 Kategorien | Vorhersage, ob ein Kunde wahrscheinlich abwandern wird | Binär oder kategorisch | Lokaler Upload, Amazon S3, SaaS-Konnektoren | 
| Vorhersage von 3\$1 Kategorien | Vorhersage der Behandlungsergebnisse nach der Entlassung aus dem Krankenhaus | Kategorisch | Lokaler Upload, Amazon S3, SaaS-Konnektoren | 
| Zeitreihenprognosen | Vorhersage Ihres Inventars für das nächste Quartal | Zeitreihen | Lokaler Upload, Amazon S3, SaaS-Konnektoren | 
| Vorhersage von Bildern mit einer einzigen Beschriftungen | Vorhersage von Arten von Herstellungsfehlern in Bildern | Bild (JPG, PNG) | Lokaler Upload, Amazon S3 | 
| Textvorhersage für mehrere Kategorien | Vorhersage von Produktkategorien wie Kleidung, Elektronik oder Haushaltswaren auf der Grundlage von Produktbeschreibungen |  Quellspalte: Text Zielspalte: binär oder kategorisch | Lokaler Upload, Amazon S3 | 

**Erste Schritte**

Gehen Sie wie folgt vor, um mit der Erstellung und Generierung von Vorhersagen anhand eines benutzerdefinierten Modells zu beginnen:
+ Ermitteln Sie Ihren Anwendungsfall und die Art des Modells, das Sie erstellen möchten. Weitere Informationen zu den benutzerdefinierten Modellen finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md). Weitere Informationen zu den Datentypen und -quellen, die für benutzerdefinierte Modelle unterstützt werden, finden Sie unter [Datenimport](canvas-importing-data.md).
+ [Importieren Sie Ihre Daten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-importing-data.html) in Canvas. Sie können ein benutzerdefiniertes Modell mit jedem Tabellen- oder Bilddatensatz erstellen, der die Eingabeanforderungen erfüllt. Weitere Informationen zu den Anforderungen finden Sie unter [Erstellen eines Datensatzes](canvas-import-dataset.md).

  Weitere Informationen zu von SageMaker KI bereitgestellten Beispieldatensätzen, mit denen Sie experimentieren können, finden Sie unter. [Beispieldatensatz in Canvas](canvas-sample-datasets.md)
+ [Erstellen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) Sie Ihr benutzerdefiniertes Modell. Sie können einen **Schnellaufbau** durchführen, um Ihr Modell zu erhalten und schneller Vorhersagen zu treffen, oder Sie können einen **Standardaufbau** für eine höhere Genauigkeit ausführen.

  Für numerische, kategoriale und Zeitreihen-Prognosemodelle können Sie Ihre Daten mit dem [Data-Wrangler-Feature](canvas-data-prep.md) bereinigen und vorbereiten. In Data Wrangler können Sie einen Datenfluss erstellen und verschiedene Techniken zur Datenaufbereitung anwenden, beispielsweise erweiterte Transformationen oder das Zusammenführen von Datensätzen. Bei Modellen zur Bildvorhersage können Sie [Bearbeiten Sie einen Bilddatensatz](canvas-edit-image.md) um Ihre Beschriftungen aktualisieren oder Bilder hinzufügen und löschen. Beachten Sie, dass Sie diese Features nicht für Textvorhersagemodelle mit mehreren Kategorien verwenden können.
+ [Bewerten Sie die Leistung Ihres Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html) und ermitteln Sie, wie gut es bei realen Daten abschneiden könnte.
+ [Treffen Sie Einzel- oder Batch-Vorhersagen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-make-predictions.html) mit Ihrem Modell.

# So funktionieren benutzerdefinierte Modelle
<a name="canvas-build-model"></a>

Verwenden Sie Amazon SageMaker Canvas, um ein benutzerdefiniertes Modell für den Datensatz zu erstellen, den Sie importiert haben. Verwenden Sie das Modell, das Sie erstellt haben, um Vorhersagen für neue Daten zu treffen. SageMaker Canvas verwendet die Informationen im Datensatz, um bis zu 250 Modelle zu erstellen und das Modell auszuwählen, das die beste Leistung erbringt.

Wenn Sie mit der Erstellung eines Modells beginnen, empfiehlt Canvas automatisch einen oder mehrere *Modelltypen*. Modelltypen lassen sich in eine der folgenden Kategorien einteilen:
+ **Numerische Vorhersage** – Dies wird beim Machine Learning als *Regression* bezeichnet. Verwenden Sie den numerischen Prognosemodelltyp, wenn Sie Vorhersagen für numerische Daten treffen möchten. Möglicherweise möchten Sie den Preis von Häusern anhand von Features wie der Quadratmeterzahl des Hauses vorhersagen.
+ **Kategorische Vorhersage** – Dies wird beim Machine Learning als *Klassifizierung* bezeichnet. Wenn Sie Daten in Gruppen kategorisieren möchten, verwenden Sie die Typen von kategorialen Vorhersagemodellen:
  + **Vorhersage mit 2 Kategorien** – Verwenden Sie den Vorhersagemodelltyp 2 Kategorien (beim Machine Learning auch als *binäre Klassifikation* bezeichnet), wenn Sie zwei Kategorien haben, die Sie für Ihre Daten vorhersagen möchten. Beispielsweise können Sie feststellen, ob ein Kunde wahrscheinlich abwandern wird.
  + **Vorhersage für 3 oder mehr Kategorien** – Verwenden Sie den Modelltyp für die Vorhersage von Kategorien ab 3 oder mehr (beim Machine Learning auch als *Klassifizierung mit mehreren Klassen* bezeichnet), wenn Sie drei oder mehr Kategorien haben, die Sie für Ihre Daten vorhersagen möchten. So können Sie z. B. den Kreditstatus eines Kunden anhand von Features wie früheren Zahlungen vorhersagen.
+ **Zeitreihenprognosen** – Verwenden Sie Zeitreihenprognosen, wenn Sie Vorhersagen über einen bestimmten Zeitraum treffen möchten. So können Sie beispielsweise die Anzahl der Artikel vorhersagen, die Sie im nächsten Quartal verkaufen werden. Informationen zu Zeitreihenprognosen finden Sie unter [Zeitreihenprognosen in Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-time-series.html).
+ **Bildvorhersage** – Verwenden Sie den Modelltyp für die Bildvorhersage mit einer einzigen Beschriftung (beim Machine Learning auch als *Bildklassifizierung mit einfacher Bezeichnung* bezeichnet), wenn Sie Bildern Beschriftungen zuweisen möchten. So können Sie z. B. verschiedene Arten von Herstellungsfehlern in Bildern Ihres Produkts klassifizieren.
+ **Textvorhersage** – Verwenden Sie den Modelltyp für Textvorhersagen mit mehreren Kategorien (beim Machine Learning auch als *Textklassifizierung mit mehreren Klassen* bezeichnet), wenn Sie Textpassagen Beschriftungen zuweisen möchten. Angenommen, Sie verfügen über einen Datensatz mit Kundenrezensionen für ein Produkt und möchten ermitteln, ob Kunden das Produkt möchten oder nicht. Sie könnten Ihr Modell vorhersagen lassen, ob eine bestimmte Textpassage `Positive`, `Negative`, oder `Neutral` ist.

Eine Tabelle der unterstützten Eingabedatentypen für jeden Modelltyp finden Sie unter [Benutzerdefinierte Modelle](canvas-custom-models.md).

Für jedes tabellarische Datenmodell, das Sie erstellen (das numerische, kategoriale, Zeitreihenprognosen und Textvorhersagemodelle umfasst), wählen Sie die **Zielspalte** aus. Die **Zielspalte** ist die Spalte, die die Informationen enthält, die Sie vorhersagen möchten. Wenn Sie beispielsweise ein Modell erstellen, um vorherzusagen, ob Personen ihre Abonnements gekündigt haben, enthält die **Zielspalte** Datenpunkte, die entweder ein `yes` oder ein `no` zum Kündigungsstatus einer Person sind.

Bei Modellen zur Bildvorhersage erstellen Sie das Modell mit einem Datensatz von Bildern, denen Beschriftungen zugewiesen wurden. Für die unbeschrifteten Bilder, die Sie bereitstellen, prognostiziert das Modell eine Beschriftung. Wenn Sie beispielsweise ein Modell erstellen, um vorherzusagen, ob es sich bei dem Bild um eine Katze oder einen Hund handelt, geben Sie beim Erstellen des Modells Bilder an, die als Katzen oder Hunde gekennzeichnet sind. Dann kann das Modell unbeschriftete Bilder akzeptieren und sie entweder als Katzen oder Hunde vorhersagen.

**Was geschieht, wenn Sie ein Modell erstellen**

Um Ihr Modell zu erstellen, können Sie entweder einen **Schnellaufbau** oder einen **Standardaufbau** wählen. Der **Schnellaufbau** hat eine kürzere Bauzeit, der **Standardaufbau** hat jedoch im Allgemeinen eine höhere Genauigkeit.

Bei tabellarischen und Zeitreihen-Prognosemodellen verwendet Canvas *Downsampling*, um die Größe von Datensätzen zu reduzieren, die größer als 5 GB bzw. 30 GB sind. Canvas führt ein Downsampling mit der stratifizierten Sampling-Methode durch. Die folgende Tabelle listet die Größe des Downsamples nach Modelltyp auf. Zur Steuerung des Sampling-Verfahrens können Sie Data Wrangler in Canvas verwenden, um mit Ihrer bevorzugten Sampling-Methode Stichproben zu ziehen. Bei Zeitreihendaten können Sie ein Resampling durchführen, um Datenpunkte zu aggregieren. Weitere Informationen zum Sampling finden Sie unter [Sampling](canvas-transform.md#canvas-transform-sampling). Weitere Informationen zum Resampling von Zeitreihendaten finden Sie unter [Nehmen Sie erneut Proben aus den Zeitreihendaten](canvas-transform.md#canvas-resample-time-series).

Wenn Sie sich für einen **Quick-Build** eines Datensatzes mit mehr als 50 000 Zeilen entscheiden, reduziert Canvas Ihre Daten auf 50 000 Zeilen, um die Modelltrainingszeit zu verkürzen.

In der folgenden Tabelle werden die wichtigsten Merkmale des Modellbildungsprozesses zusammengefasst, darunter die durchschnittlichen Erstellungszeiten für jedes Modell und jeden Modelltyp, die Größe der Downsampling-Datei bei der Erstellung von Modellen mit großen Datensätzen sowie die minimale und maximale Anzahl von Datenpunkten, die für jeden Modelltyp erforderlich sind.


| Limit | Numerische und kategoriale Vorhersage | Zeitreihenprognosen | Bildvorhersage | Textvorhersage | 
| --- | --- | --- | --- | --- | 
| **Schnelle Aufbauzeit** | 2-20 Minuten | 2-20 Minuten | 15-30 Minuten | 15-30 Minuten | 
| **Standardbauzeit** | 2-4 Stunden | 2-4 Stunden | 2-5 Stunden | 2-5 Stunden | 
| Downsampling-Größe (die reduzierte Größe eines großen Datensatzes nach dem Canvas-Downsampling) | 5 GB | 30 GB | – | – | 
| Mindestanzahl von Einträgen (Zeilen) für **Schnellaufbau** |  Kategorie 2: 500 Zeilen Kategorie 3\$1, numerisch, Zeitreihen: N/A  | – | – | – | 
| Mindestanzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Standardaufbau** | 250 | 50 | 50 | – | 
| Maximale Anzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Schnellaufbau** | – | – | 5000 | 7500 | 
| Maximale Anzahl von Einträgen (Zeilen, Bilder oder Dokumente) für **Standardaufbau** | – | 150.000 | 180 000 | – | 
| Maximale Anzahl von Spalten | 1.000 | 1.000 | – | – | 

Canvas prognostiziert Werte anhand der Informationen im Rest des Datensatzes, je nach Modelltyp:
+ Für kategoriale Vorhersagen ordnet Canvas jede Zeile einer der Kategorien zu, die in der Spalte **Ziel** aufgeführt sind.
+ Für numerische Vorhersagen verwendet Canvas die Informationen im Datensatz, um die numerischen Werte in der **Zielspalte** vorherzusagen.
+ Für Zeitreihenprognosen verwendet Canvas historische Daten, um Werte für die **Zielspalte** in der Zukunft vorherzusagen.
+ Für die Bildvorhersage verwendet Canvas Bilder, denen Beschriftungen zugewiesen wurden, um Beschriftungen für Bilder ohne Beschriftungen vorherzusagen.
+ Für die Textvorhersage analysiert Canvas Textdaten, denen Beschriftungen zugewiesen wurden, um Beschriftungen für Textpassagen ohne Beschriftungen vorherzusagen.

**Zusätzliche Features, die Ihnen bei der Erstellung Ihres Modells helfen**

Bevor Sie Ihr Modell erstellen, können Sie Data Wrangler in Canvas verwenden, um Ihre Daten mithilfe von mehr als 300 integrierten Transformationen und Operatoren vorzubereiten. Data Wrangler unterstützt Transformationen sowohl für tabellarische als auch für Bilddatensätze. Darüber hinaus können Sie eine Verbindung zu Datenquellen außerhalb von Canvas herstellen, Aufträge erstellen, um Transformationen auf Ihren gesamten Datensatz anzuwenden, und Ihre vollständig vorbereiteten und bereinigten Daten zur Verwendung in ML-Workflows außerhalb von Canvas exportieren. Weitere Informationen finden Sie unter [Datenaufbereitung](canvas-data-prep.md).

Um Visualisierungen und Analysen anzuzeigen, mit denen Sie Ihre Daten untersuchen und festlegen können, welche Features in Ihr Modell aufgenommen werden sollen, können Sie die integrierten Analysen von Data Wrangler verwenden. Sie können auch auf einen **Datenqualitäts- und Insights-Bericht** zugreifen, in dem potenzielle Probleme mit Ihrem Datensatz hervorgehoben und Empfehlungen zu deren Behebung gegeben werden. Weitere Informationen finden Sie unter [Durchführen einer explorativen Datenanalyse (EDA)](canvas-analyses.md).

Zusätzlich zu den fortschrittlicheren Funktionen zur Datenaufbereitung und Erkundung von Daten, die von Data Wrangler bereitgestellt werden, bietet Canvas einige grundlegende Features, die Sie verwenden können:
+ Informationen zum Filtern Ihrer Daten und zum Zugriff auf eine Reihe grundlegender Datentransformationen finden Sie unter [Vorbereiten der Daten für die Modellerstellung](canvas-prepare-data.md).
+ Informationen zum Zugriff auf einfache Visualisierungen und Analytik für die Erkundung von Features finden Sie unter [Datenexploration und Analyse](canvas-explore-data.md).
+ Weitere Informationen zu zusätzlichen Featureswie der Vorschau Ihres Modells, der Validierung Ihres Datensatzes und der Änderung der Größe der Zufallsstichprobe, die zur Erstellung Ihres Modells verwendet wurde, finden Sie unter [Zeigen Sie eine Vorschau Ihres Modells an](canvas-preview-model.md).

Bei tabellarischen Datensätzen mit mehreren Spalten (z. B. Datensätze für die Erstellung von Modelltypen für kategoriale, numerische oder Zeitreihenprognosen) gibt es möglicherweise Zeilen mit fehlenden Datenpunkten. Während Canvas das Modell erstellt, fügt es fehlende Werte automatisch hinzu. Canvas verwendet die Werte in Ihrem Datensatz, um eine mathematische Näherung für die fehlenden Werte durchzuführen. Für die höchste Modellgenauigkeit empfehlen wir, die fehlenden Daten hinzuzufügen, wenn Sie sie finden können. Beachten Sie, dass die Feature für fehlende Daten für Modelle zur Textvorhersage oder Bildvorhersage nicht unterstützt wird.

**Erste Schritte**

Informationen zu den ersten Schritten beim Erstellen eines benutzerdefinierten Modells finden Sie in [Ein Modell erstellen](canvas-build-model-how-to.md) und folgen Sie dem Verfahren für den Modelltyp, den Sie erstellen möchten.

# Zeigen Sie eine Vorschau Ihres Modells an
<a name="canvas-preview-model"></a>

**Anmerkung**  
Die folgenden Features sind nur für benutzerdefinierte Modelle verfügbar, die mit tabellarischen Datensätzen erstellt wurden. Textvorhersagemodelle mit mehreren Kategorien sind ebenfalls ausgeschlossen.

SageMaker Canvas bietet Ihnen ein Tool, mit dem Sie eine Vorschau Ihres Modells anzeigen können, bevor Sie mit der Erstellung beginnen. Dadurch erhalten Sie einen geschätzten Genauigkeitswert und eine vorläufige Vorstellung davon, wie sich jede Spalte auf das Modell auswirken könnte. 

Um eine Vorschau der Modellbewertung anzuzeigen, wählen Sie auf der Registerkarte **Erstellen** Ihres Modells die Option **Modellvorschau** aus.

Die Modellvorschau generiert eine Vorhersage mit **geschätzter Genauigkeit** darüber, wie gut das Modell Ihre Daten analysieren könnte. Die Genauigkeit eines **Schnellaufbaus** oder **Standardaufbaus** gibt an, wie gut das Modell mit realen Daten abschneiden kann, und ist im Allgemeinen höher als die **geschätzte Genauigkeit**.

Die Modellvorschau liefert Ihnen auch die **Spaltenauswirkungswerte**, die Aufschluss über die Bedeutung jeder Spalte für die Vorhersagen des Modells geben können.

Der folgende Screenshot zeigt eine Modellvorschau in der Canvas-Anwendung.

![\[Screenshot der Registerkarte Erstellen für ein Modell in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-build/canvas-build-preview-model.png)


Amazon SageMaker Canvas verarbeitet fehlende Werte in Ihrem Datensatz automatisch, während das Modell erstellt wird. Es leitet die fehlenden Werte ab, indem es benachbarte Werte verwendet, die im Datensatz vorhanden sind.

Wenn Sie mit Ihrer Modellvorschau zufrieden sind und mit dem Erstellen eines Modells fortfahren möchten, finden Sie weitere Informationen unter [Ein Modell erstellen](canvas-build-model-how-to.md).

# Datenvalidierung
<a name="canvas-dataset-validation"></a>

Bevor Sie Ihr Modell erstellen, überprüft SageMaker Canvas Ihren Datensatz auf Probleme, die dazu führen könnten, dass Ihr Build fehlschlägt. Wenn SageMaker Canvas Probleme feststellt, werden Sie auf der **Build-Seite** gewarnt, bevor Sie versuchen, ein Modell zu erstellen.

Sie können **Daten validieren** wählen, um eine Liste der Probleme mit Ihrem Datensatz anzuzeigen. Anschließend können Sie die [Datenvorbereitungsfunktionen von SageMaker Canvas Data Wrangler](canvas-data-prep.md) oder Ihre eigenen Tools verwenden, um Ihren Datensatz zu korrigieren, bevor Sie mit einem Build beginnen. Wenn Sie die Probleme mit Ihrem Datensatz nicht beheben, schlägt Ihr Build fehl.

Wenn Sie Änderungen an Ihrem Datensatz vornehmen, um die Probleme zu beheben, haben Sie die Möglichkeit, Ihren Datensatz erneut zu validieren, bevor Sie einen Build versuchen. Wir empfehlen, dass Sie Ihren Datensatz vor der Erstellung erneut überprüfen.

Die folgende Tabelle zeigt die Probleme, nach denen SageMaker Canvas in Ihrem Datensatz sucht, und zeigt, wie Sie sie lösen können.


| Problem | Auflösung | 
| --- | --- | 
|  Falscher Modelltyp für Ihre Daten  |  Versuchen Sie es mit einem anderen Modelltyp oder verwenden Sie einen anderen Datensatz.  | 
|  Fehlende Werte in Ihrer Zielspalte  |  Ersetzen Sie die fehlenden Werte, löschen Sie Zeilen mit fehlenden Werten oder verwenden Sie einen anderen Datensatz.  | 
|  Zu viele eindeutige Beschriftungen in Ihrer Zielspalte  |  Vergewissern Sie sich, dass Sie die richtige Spalte für Ihre Zielspalte verwendet haben, oder verwenden Sie einen anderen Datensatz.  | 
|  Zu viele nicht numerische Werte in Ihrer Zielspalte  |  Wählen Sie eine andere Zielspalte, wählen Sie einen anderen Modelltyp oder verwenden Sie einen anderen Datensatz.  | 
|  Ein oder mehrere Spaltennamen enthalten doppelte Unterstriche  |  Benennen Sie die Spalten um, um alle doppelten Unterstriche zu entfernen, und versuchen Sie es erneut.  | 
|  Keine der Zeilen in Ihrem Datensatz ist vollständig  |  Ersetzen Sie die fehlenden Werte, oder verwenden Sie einen anderen Datensatz.  | 
|  Zu viele eindeutige Beschriftungen für die Anzahl der Zeilen in Ihren Daten  |  Vergewissern Sie sich, dass Sie die richtige Zielspalte verwenden, erhöhen Sie die Anzahl der Zeilen in Ihrem Datensatz, konsolidieren Sie ähnliche Beschriftungen oder verwenden Sie einen anderen Datensatz.  | 

# Zufällige Stichprobe
<a name="canvas-random-sample"></a>

SageMaker Canvas verwendet die Methode der Zufallsstichprobe, um Ihren Datensatz zu stichproben. Die Methode der Zufallsstichprobe bedeutet, dass jede Zeile die gleiche Chance hat, für die Stichprobe ausgewählt zu werden. Sie können in der Vorschau eine Spalte auswählen, um zusammenfassende Statistiken für die Zufallsstichprobe zu erhalten, z. B. den Mittelwert und den Modus.

Standardmäßig verwendet SageMaker Canvas eine Zufallsstichprobengröße von 20.000 Zeilen aus Ihrem Datensatz für Datensätze mit mehr als 20.000 Zeilen. Für Datensätze mit weniger als 20.000 Zeilen entspricht die Standardstichprobengröße der Anzahl der Zeilen in Ihrem Datensatz. Sie können die Stichprobengröße erhöhen oder verringern, indem Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zufallsstichprobe** auswählen. Sie können den Schieberegler verwenden, um die gewünschte Stichprobengröße auszuwählen, und dann **Aktualisieren** wählen, um die Stichprobengröße zu ändern. Die maximale Stichprobengröße, die Sie für einen Datensatz wählen können, beträgt 40.000 Zeilen, und die minimale Stichprobengröße beträgt 500 Zeilen. Wenn Sie einen großen Stichprobenumfang wählen, kann es einige Zeit dauern, bis die Datensatzvorschau und die zusammenfassenden Statistiken erneut geladen werden.

Auf der Seite **Erstellen** wird eine Vorschau von 100 Zeilen aus Ihrem Datensatz angezeigt. Wenn die Stichprobengröße der Größe Ihres Datensatzes entspricht, verwendet die Vorschau die ersten 100 Zeilen Ihres Datensatzes. Andernfalls verwendet die Vorschau die ersten 100 Zeilen der Zufallsstichprobe.

# Ein Modell erstellen
<a name="canvas-build-model-how-to"></a>

In den folgenden Abschnitten wird gezeigt, wie Sie für jeden der wichtigsten Typen von benutzerdefinierten Modellen ein Modell erstellen.
+ Informationen zum Erstellen numerischer Prognosemodelle, Vorhersagemodelle für zwei Kategorien oder Vorhersagemodelle für mehr Kategorien finden Sie unter [Erstellen Sie ein benutzerdefiniertes numerisches oder kategoriales Vorhersagemodell](#canvas-build-model-numeric-categorical).
+ Informationen zum Erstellen von Vorhersagemodellen für Bilder mit nur einer Beschriftung finden Sie unter [Erstellen Sie ein benutzerdefiniertes Bildvorhersagemodell](#canvas-build-model-image).
+ Informationen zum Erstellen von Textvorhersagemodellen mit mehreren Kategorien finden Sie unter [Erstellen Sie ein benutzerdefiniertes Textvorhersagemodell](#canvas-build-model-text).
+ Informationen zum Erstellen von Prognosemodellen für Zeitreihen finden Sie unter [Erstellen eines Zeitreihen-Prognosemodells](#canvas-build-model-forecasting).

**Anmerkung**  
Wenn Sie während der Analyse nach der Erstellung auf einen Fehler stoßen, der Sie auffordert, Ihr Kontingent für `ml.m5.2xlarge` Instances zu erhöhen, finden Sie weitere Informationen unter [Eine Erhöhung des Kontingents beantragen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-requesting-quota-increases.html).

## Erstellen Sie ein benutzerdefiniertes numerisches oder kategoriales Vorhersagemodell
<a name="canvas-build-model-numeric-categorical"></a>

Numerische und kategoriale Vorhersagemodelle unterstützen sowohl **Schnellaufbau** als auch **Standardaufbau**.

Gehen Sie wie folgt vor, um ein numerisches oder kategoriales Vorhersagemodell zu erstellen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie **Neues Modell**.

1. Führen Sie im Dialogfeld **Neues Modell erstellen** die folgenden Schritte aus:

   1. Geben Sie einen Namen in das Feld **Modellname** ein.

   1. Wählen Sie den Problemtyp **Prädiktive Analyse** aus.

   1. Wählen Sie **Erstellen** aus.

1. Für **Datensatz auswählen**, wählen Sie Ihren Datensatz aus der Liste der Datensätze aus. Wenn Sie Ihre Daten noch nicht importiert haben, wählen Sie **Import** aus, um durch den Datenimport-Workflow geleitet zu werden.

1. Wenn Sie bereit sind, mit der Erstellung Ihres Modells zu beginnen, wählen Sie **Datensatz auswählen** aus.

1. Wählen Sie auf der Registerkarte **Erstellen** in der Dropdown-Liste **Zielspalte** das Ziel für Ihr Modell aus, das Sie vorhersagen möchten.

1. Für den **Modelltyp** erkennt Canvas automatisch den Problemtyp für Sie. Wenn Sie den Typ ändern oder erweiterte Modelleinstellungen konfigurieren möchten, wählen Sie **Modell konfigurieren** aus.

   Wenn das Dialogfeld **Modell konfigurieren** geöffnet wird, führen Sie die folgenden Schritte aus:

   1. Wählen Sie unter **Modelltyp** den Modelltyp aus, die Sie erstellen möchten.

   1. Nachdem Sie den Modelltyp ausgewählt haben, gibt es weitere **erweiterte Einstellungen**. Weitere Informationen zu den einzelnen erweiterten Einstellungen finden Sie unter [Erweiterte Konfigurationen für die Modellerstellung](canvas-advanced-settings.md). Um die erweiterten Einstellungen zu konfigurieren, gehen Sie wie folgt vor:

      1. (Optional) Wählen Sie im Dropdown-Menü **Zielmetrik** die Metrik aus, die Canvas bei der Erstellung Ihres Modells optimieren soll. Wenn Sie keine Metrik auswählen, wählt Canvas standardmäßig eine für Sie aus. Beschreibungen der verfügbaren Metriken finden Sie unter [Referenz zu den Metriken](canvas-metrics.md).

      1. Wählen Sie als **Trainingsmethode** den Modus **Auto**, **Ensemble** oder **Hyperparameter-Optimierung (HPO)** aus.

      1. Wählen Sie unter **Algorithmen** die Algorithmen aus, die Sie für Gebäudemodellkandidaten einbeziehen möchten.

      1. Geben Sie bei der **Datenteilung** die Prozentsätze an, wie Ihre Daten zwischen dem **Trainingssatz** und dem **Validierungssatz** aufgeteilt werden sollen. Der Trainingssatz wird für die Erstellung des Modells verwendet, während der Validierungssatz verwendet wird, um die Genauigkeit von Modellkandidaten zu testen.

      1. Gehen Sie für **Max. Anzahl der Kandidaten und Laufzeit** wie folgt vor:

         1. Legen Sie den Wert **Max. Kandidaten** oder die maximale Anzahl von Modellkandidaten fest, die Canvas generieren kann. Beachten Sie, dass **Max. Kandidaten** nur im HPO-Modus verfügbar ist.

         1. Legen Sie die Stunden- und Minutenwerte für **Max. Auftragslaufzeit** oder die maximale Zeit fest, die Canvas für die Erstellung Ihres Modells aufwenden kann. Nach Ablauf der Höchstzeit beendet Canvas die Erstellung und wählt den besten Modellkandidaten aus.

   1. Nachdem Sie die erweiterten Einstellungen konfiguriert haben, wählen Sie **Speichern** aus.

1. Wählen Sie Spalten in Ihren Daten aus oder deaktivieren Sie sie, um sie in Ihren Build aufzunehmen oder daraus zu entfernen.
**Anmerkung**  
Wenn Sie mit Ihrem Modell nach der Erstellung Batch-Vorhersagen treffen, fügt Canvas Ihren Prognoseergebnissen gelöschte Spalten hinzu. Canvas fügt die gelöschten Spalten jedoch nicht zu Ihren Batch-Vorhersagen für Zeitreihenmodelle hinzu.

1. (Optional) Verwenden Sie die von Canvas bereitgestellten Visualisierungs- und Analysetools, um Ihre Daten zu visualisieren und zu bestimmen, welche Funktionen Sie möglicherweise in Ihr Modell aufnehmen möchten. Weitere Informationen finden Sie unter [Erkunden und Analysieren Ihrer Daten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html).

1. (Optional) Verwenden Sie Datentransformationen, um Ihre Daten zu bereinigen, zu transformieren und für die Modellerstellung vorzubereiten. Weitere Informationen finden Sie unter [ Vorbereiten Ihrer Daten mit erweiterten Transformationen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html). Sie können Ihre Transformationen anzeigen und entfernen, indem Sie **Modellrezept** wählen, um den Seitenbereich **Modellrezept** zu öffnen.

1. (Optional) Weitere Funktionen wie die Vorschau der Genauigkeit Ihres Modells, die Validierung Ihres Datensatzes und die Änderung der Größe der Zufallsstichprobe, die Canvas Ihrem Datensatz entnimmt, finden Sie unter [Zeigen Sie eine Vorschau Ihres Modells an](canvas-preview-model.md).

1. Nachdem Sie Ihre Daten überprüft und Änderungen an Ihrem Datensatz vorgenommen haben, wählen Sie **Schnellaufbau** oder **Standardaufbau**, um mit dem Build für Ihr Modell zu beginnen. Der folgende Screenshot zeigt die **Build**-Seite und die Optionen **Schnellaufbau** und **Standardaufbau**.  
![\[Die Build-Seite für ein Modell mit 2 Kategorien, auf der die Optionen Schnellaufbau und Standardaufbau angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/build-page-tabular-quick-standard-options.png)

Nachdem Ihr Modell mit der Erstellung begonnen hat, können Sie die Seite verlassen. Wenn das Modell auf der Seite **Meine Modelle** als **Bereit** angezeigt wird, ist es bereit für Analysen und Vorhersagen.

## Erstellen Sie ein benutzerdefiniertes Bildvorhersagemodell
<a name="canvas-build-model-image"></a>

Bildvorhersagemodelle mit einer Beschriftung unterstützen sowohl **Schnellaufbau** als auch **Standardaufbau**.

Gehen Sie wie folgt vor, um ein Bildvorhersagemodell mit einer einzigen Beschriftung zu erstellen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie **Neues Modell**.

1. Führen Sie im Dialogfeld **Neues Modell erstellen** die folgenden Schritte aus:

   1. Geben Sie einen Namen in das Feld **Modellname** ein.

   1. Wählen Sie den Problemtyp **Bildanalyse** aus.

   1. Wählen Sie **Erstellen** aus.

1. Für **Datensatz auswählen**, wählen Sie Ihren Datensatz aus der Liste der Datensätze aus. Wenn Sie Ihre Daten noch nicht importiert haben, wählen Sie **Import** aus, um durch den Datenimport-Workflow geleitet zu werden.

1. Wenn Sie bereit sind, mit der Erstellung Ihres Modells zu beginnen, wählen Sie **Datensatz auswählen** aus.

1. Auf der Registerkarte **Erstellen** sehen Sie die **Beschriftungsverteilung** für die Bilder in Ihrem Datensatz. Der **Modelltyp** ist auf **Single-Beschriftung-Bildvorhersage** eingestellt.

1. Auf dieser Seite können Sie eine Vorschau Ihrer Bilder anzeigen und den Datensatz bearbeiten. Wenn Sie über unbeschriftete Bilder verfügen, wählen Sie **Datensatz bearbeiten** und [Weisen Sie Bildern ohne Beschriftung Beschriftungen zu](canvas-edit-image.md#canvas-edit-image-assign). Sie können auch andere Aufgaben ausführen wenn Sie [Bearbeiten Sie einen Bilddatensatz](canvas-edit-image.md), z. B. Beschriftungen umbenennen und Bilder zum Datensatz hinzufügen.

1. Nachdem Sie Ihre Daten überprüft und Änderungen an Ihrem Datensatz vorgenommen haben, wählen Sie **Schnellaufbau** oder **Standardaufbau**, um mit der Erstellung Ihres Modells zu beginnen. Der folgende Screenshot zeigt die **Build**-Seite eines Bildvorhersagemodells, das zur Erstellung bereit ist.  
![\[Die Build-Seite für ein Bildvorhersagemodell mit einer einzigen Beschriftung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/build-page-image-model.png)

Nachdem Ihr Modell mit der Erstellung begonnen hat, können Sie die Seite verlassen. Wenn das Modell auf der Seite **Meine Modelle** als **Bereit** angezeigt wird, ist es bereit für Analysen und Vorhersagen.

## Erstellen Sie ein benutzerdefiniertes Textvorhersagemodell
<a name="canvas-build-model-text"></a>

Textvorhersagemodelle mit mehreren Kategorien unterstützen sowohl **Schnellaufbau** als auch **Standardaufbau**.

Gehen Sie wie folgt vor, um ein Textvorhersagemodell zu erstellen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie **Neues Modell**.

1. Führen Sie im Dialogfeld **Neues Modell erstellen** die folgenden Schritte aus:

   1. Geben Sie einen Namen in das Feld **Modellname** ein.

   1. Wählen Sie den Problemtyp **Textanalyse** aus.

   1. Wählen Sie **Erstellen** aus.

1. Für **Datensatz auswählen**, wählen Sie Ihren Datensatz aus der Liste der Datensätze aus. Wenn Sie Ihre Daten noch nicht importiert haben, wählen Sie **Import** aus, um durch den Datenimport-Workflow geleitet zu werden.

1. Wenn Sie bereit sind, mit der Erstellung Ihres Modells zu beginnen, wählen Sie **Datensatz auswählen** aus.

1. Wählen Sie auf der Registerkarte **Erstellen** in der Dropdown-Liste **Zielspalte** das Ziel für Ihr Modell aus, das Sie vorhersagen möchten. Die Zielspalte muss einen binären oder kategorialen Datentyp haben, und für jede eindeutige Beschriftung in der Zielspalte müssen mindestens 25 Einträge (oder Datenzeilen) vorhanden sein.

1. Vergewissern Sie sich, dass der **Modelltyp** automatisch auf **Textvorhersage für mehrere Kategorien** festgelegt ist.

1. Wählen Sie für das Trainingsspalte Ihre Quellspalte mit Textdaten aus. Dies sollte die Spalte sein, die den Text enthält, den Sie analysieren möchten.

1. Wählen Sie **Schnellaufbau** oder **Standardaufbau**, um mit der Erstellung Ihres Modells zu beginnen. Der folgende Screenshot zeigt die **Build**-Seite eines Textvorhersagemodells, das zur Erstellung bereit ist.  
![\[Die Build-Seite für ein Textvorhersagemodell mit mehreren Kategorien.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/build-page-text-model.png)

Nachdem Ihr Modell mit der Erstellung begonnen hat, können Sie die Seite verlassen. Wenn das Modell auf der Seite **Meine Modelle** als **Bereit** angezeigt wird, ist es bereit für Analysen und Vorhersagen.

## Erstellen eines Zeitreihen-Prognosemodells
<a name="canvas-build-model-forecasting"></a>

Zeitreihen-Prognosemodelle unterstützen sowohl **Quick-Builds** als auch **Standard-Builds**.

Um ein Zeitreihenprognosemodell zu erstellen, gehen Sie wie folgt vor:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie **Neues Modell**.

1. Führen Sie im Dialogfeld **Neues Modell erstellen** die folgenden Schritte aus:

   1. Geben Sie einen Namen in das Feld **Modellname** ein.

   1. Wählen Sie den Problemtyp **Zeitreihenprognose** aus.

   1. Wählen Sie **Erstellen** aus.

1. Für **Datensatz auswählen**, wählen Sie Ihren Datensatz aus der Liste der Datensätze aus. Wenn Sie Ihre Daten noch nicht importiert haben, wählen Sie **Import** aus, um durch den Datenimport-Workflow geleitet zu werden.

1. Wenn Sie bereit sind, mit der Erstellung Ihres Modells zu beginnen, wählen Sie **Datensatz auswählen** aus.

1. Wählen Sie auf der Registerkarte **Erstellen** in der Dropdown-Liste **Zielspalte** das Ziel für Ihr Modell aus, das Sie vorhersagen möchten.

1. Wählen Sie im Abschnitt **Modelltyp** die Option **Modell konfigurieren** aus.

1. Das Feld **Modell konfigurieren** wird geöffnet. Füllen Sie für den Abschnitt **Zeitreihenkonfiguration** die folgenden Felder aus:

   1. Wählen Sie für die Spalte **Element-ID** eine Spalte in Ihrem Datensatz aus, die jede Zeile eindeutig identifiziert. Die Spalte sollte den Datentyp `Text` haben.

   1. (Optional) Wählen Sie für **Spalte gruppieren** eine oder mehrere kategoriale Spalten (mit dem Datentyp `Text`) aus, die Sie für die Gruppierung Ihrer Prognosewerte verwenden möchten.

   1. Wählen Sie unter **Zeitstempelspalte** die Spalte mit Zeitstempeln (im Datetime-Format) aus. Weitere Informationen zu den akzeptierten Datetime-Formaten finden Sie unter [Zeitreihenprognosen in Amazon SageMaker Canvas](canvas-time-series.md).

   1. Geben Sie für das Feld **Prognoselänge** den Zeitraum ein, für den Sie Werte prognostizieren möchten. Canvas erkennt automatisch die Zeiteinheiten in Ihren Daten.

   1. (Optional) Aktivieren Sie den Schalter **Feiertagsplan verwenden**, um einen Feiertagsplan aus verschiedenen Ländern auszuwählen und Ihre Prognosen anhand von Feiertagsdaten genauer zu gestalten.

1. Im Feld **Modell konfigurieren** gibt es im Abschnitt **Erweitert** zusätzliche Einstellungen. Weitere Informationen zu den einzelnen erweiterten Einstellungen finden Sie unter [Erweiterte Konfigurationen für die Modellerstellung](canvas-advanced-settings.md). Um die **erweiterten** Einstellungen zu konfigurieren, gehen Sie wie folgt vor:

   1. Wählen Sie im Dropdown-Menü **Zielmetrik** die Metrik aus, die Canvas bei der Erstellung Ihres Modells optimieren soll. Wenn Sie keine Metrik auswählen, wählt Canvas standardmäßig eine für Sie aus. Beschreibungen der verfügbaren Metriken finden Sie unter [Referenz zu den Metriken](canvas-metrics.md).

   1. Wenn Sie einen Standard-Build ausführen, wird der Abschnitt **Algorithmen** angezeigt. In diesem Abschnitt wählen Sie die Algorithmen für die Zeitreihenprognose aus, die Sie für die Erstellung Ihres Modells verwenden möchten. Sie können eine Teilmenge der verfügbaren Algorithmen auswählen oder Sie können alle auswählen, wenn Sie sich nicht sicher sind, welche Sie ausprobieren sollen.

      Wenn Sie Ihren Standard-Build ausführen, erstellt Canvas ein Ensemble-Modell, das alle Algorithmen miteinander kombiniert, um die Vorhersagegenauigkeit zu optimieren.
**Anmerkung**  
Wenn Sie einen Quick-Build ausführen, verwendet Canvas einen einzigen baumbasierten Lernalgorithmus, um Ihr Modell zu trainieren, und Sie müssen keine Algorithmen auswählen.

   1. Geben Sie für **Prognosequantile** bis zu 5 durch Kommas getrennte Quantilwerte ein, um die Ober- und Untergrenzen Ihrer Vorhersage festzulegen.

   1. Nachdem Sie die **erweiterten** Einstellungen konfiguriert haben, wählen Sie **Speichern** aus.

1. Wählen Sie Spalten in Ihren Daten aus oder deaktivieren Sie sie, um sie in Ihren Build aufzunehmen oder daraus zu entfernen.
**Anmerkung**  
Wenn Sie mit Ihrem Modell nach der Erstellung Batch-Vorhersagen treffen, fügt Canvas Ihren Prognoseergebnissen gelöschte Spalten hinzu. Canvas fügt die gelöschten Spalten jedoch nicht zu Ihren Batch-Vorhersagen für Zeitreihenmodelle hinzu.

1. (Optional) Verwenden Sie die von Canvas bereitgestellten Visualisierungs- und Analysetools, um Ihre Daten zu visualisieren und zu bestimmen, welche Funktionen Sie möglicherweise in Ihr Modell aufnehmen möchten. Weitere Informationen finden Sie unter [Erkunden und Analysieren Ihrer Daten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html).

1. (Optional) Verwenden Sie Datentransformationen, um Ihre Daten zu bereinigen, zu transformieren und für die Modellerstellung vorzubereiten. Weitere Informationen finden Sie unter [ Vorbereiten Ihrer Daten mit erweiterten Transformationen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html). Sie können Ihre Transformationen anzeigen und entfernen, indem Sie **Modellrezept** wählen, um den Seitenbereich **Modellrezept** zu öffnen.

1. (Optional) Weitere Funktionen wie die Vorschau der Genauigkeit Ihres Modells, die Validierung Ihres Datensatzes und die Änderung der Größe der Zufallsstichprobe, die Canvas Ihrem Datensatz entnimmt, finden Sie unter [Zeigen Sie eine Vorschau Ihres Modells an](canvas-preview-model.md).

1. Nachdem Sie Ihre Daten überprüft und Änderungen an Ihrem Datensatz vorgenommen haben, wählen Sie **Schnellaufbau** oder **Standardaufbau**, um mit dem Build für Ihr Modell zu beginnen.

Nachdem Ihr Modell mit der Erstellung begonnen hat, können Sie die Seite verlassen. Wenn das Modell auf der Seite **Meine Modelle** als **Bereit** angezeigt wird, ist es bereit für Analysen und Vorhersagen.

# Erweiterte Konfigurationen für die Modellerstellung
<a name="canvas-advanced-settings"></a>

Amazon SageMaker Canvas unterstützt verschiedene erweiterte Einstellungen, die Sie beim Erstellen eines Modells konfigurieren können. Auf der folgenden Seite sind alle erweiterten Einstellungen zusammen mit zusätzlichen Informationen zu ihren Optionen und Konfigurationen aufgeführt.

**Anmerkung**  
Die folgenden erweiterten Einstellungen werden derzeit nur für numerische, kategoriale und Zeitreihenprognosemodelle unterstützt.

## Erweiterte Einstellungen für numerische und kategoriale Vorhersagemodelle
<a name="canvas-advanced-settings-predictive"></a>

Canvas unterstützt die folgenden erweiterten Einstellungen für numerische und kategoriale Vorhersagemodelltypen.

### Zielmetrik
<a name="canvas-advanced-settings-predictive-obj-metric"></a>

Die Zielmetrik ist die Metrik, die Canvas beim Erstellen Ihres Modells optimieren soll. Wenn Sie keine Metrik auswählen, wählt Canvas standardmäßig eine für Sie aus. Beschreibungen der verfügbaren Metriken finden Sie unter [Referenz zu den Metriken](canvas-metrics.md).

### Trainingsmethode
<a name="canvas-advanced-settings-predictive-method"></a>

Canvas kann anhand der Datensatzgröße die Trainingsmethode automatisch auswählen oder Sie können sie manuell auswählen. Die folgenden Trainingsmethoden stehen Ihnen zur Auswahl:
+ **Ensembling** — SageMaker KI nutzt die AutoGluon Bibliothek, um mehrere Basismodelle zu trainieren. Um die optimale Kombination für Ihren Datensatz zu finden, führt der Ensemble-Modus 5–10 Versuche mit unterschiedlichen Modell- und Metaparametereinstellungen durch. Anschließend werden diese Modelle mithilfe einer Stacking-Ensemble-Methode kombiniert, um ein optimales Vorhersagemodell zu erstellen. Eine Liste der Algorithmen, die vom Ensemble-Modus für tabellarische Daten unterstützt werden, finden Sie im folgenden [Algorithmen](#canvas-advanced-settings-predictive-algos)-Abschnitt.
+ **Hyperparameter-Optimierung (HPO)** — SageMaker KI findet die beste Version eines Modells, indem sie Hyperparameter mithilfe der Bayesschen Optimierung oder der Multi-Fidelity-Optimierung optimiert und gleichzeitig Trainingsaufgaben an Ihrem Datensatz ausführt. Der HPO-Modus wählt die Algorithmen aus, die für Ihren Datensatz am ehesten relevant sind, und wählt den optimalen Bereich für die Hyperparameter für die Optimierung Ihrer Modelle aus. Zur Optimierung Ihrer Modelle führt der HPO-Modus bis zu 100 Versuche durch (Standard), um die optimalen Einstellungen für die Hyperparameter innerhalb des ausgewählten Bereichs zu finden. Wenn Ihre Datensatzgröße weniger als 100 MB beträgt, verwendet KI die Bayessche Optimierung. SageMaker SageMaker KI entscheidet sich für die Multi-Fidelity-Optimierung, wenn Ihr Datensatz größer als 100 MB ist.

  Eine Liste der Algorithmen, die vom HPO-Modus für tabellarische Daten unterstützt werden, finden Sie im folgenden [Algorithmen](#canvas-advanced-settings-predictive-algos)-Abschnitt.
+ **Automatisch** — SageMaker KI wählt je nach Größe Ihres Datensatzes automatisch entweder den Ensembling-Modus oder den HPO-Modus. Wenn Ihr Datensatz größer als 100 MB ist, wählt SageMaker AI den HPO-Modus. Andernfalls wählt er den Ensembling-Modus.

### Algorithmen
<a name="canvas-advanced-settings-predictive-algos"></a>

Im **Ensembling**-Modus unterstützt Autopilot die folgenden Algorithmen für Machine Learning:
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) – Ein optimiertes Framework, das Baumalgorithmen mit Gradientenverstärkung nutzt. Dieser Algorithmus verwendet Bäume, die eher in die Breite als in die Tiefe wachsen, und ist in hohem Maße auf Geschwindigkeit optimiert.
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)— Ein Framework, das baumbasierte Algorithmen mit Gradientenverstärkung verwendet. Es ist für den Umgang mit kategorischen Variablen optimiert.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Ein Framework, das baumbasierte Algorithmen mit Gradientenverstärkung verwendet, die eher an Tiefe als an Breite zunehmen.
+ [Random Forest](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) – Ein Baumalgorithmus, der mehrere Entscheidungsbäume für zufällige Teilstichproben der Daten verwendet und ersetzt. Die Bäume werden auf jeder Ebene in optimale Knoten aufgeteilt. Die Entscheidungen der einzelnen Bäume werden zusammen gemittelt, um Überanpassungen zu vermeiden und die Prognosen zu verbessern.
+ [Extra Trees](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) – Ein Baumalgorithmus, der für den gesamten Datensatz mehrere Entscheidungsbäume verwendet. Die Bäume werden auf jeder Ebene nach dem Zufallsprinzip aufgeteilt. Die Entscheidungen der einzelnen Bäume werden gemittelt, um Überanpassungen zu vermeiden und die Prognosen zu verbessern. Zusätzliche Bäume sorgen im Vergleich zum Random-Forest-Algorithmus für ein gewisses Maß an Randomisierung.
+ [Lineare Modelle](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) – Ein Framework, das die Beziehung zwischen zwei Variablen in den beobachteten Daten mit Hilfe einer linearen Gleichung modelliert.
+ Neural Network Torch – Ein Modell für ein neuronales Netzwerk, das mit [Pytorch](https://pytorch.org/) implementiert wird.
+ Neural Network fast.ai – Ein Modell für ein neuronales Netzwerk, das mit [fast.ai](https://www.fast.ai/) implementiert wird.

Im **HPO**-Modus unterstützt Canvas die folgenden Algorithmen für Machine Learning:
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)— Ein Algorithmus für überwachtes Lernen, der versucht, eine Zielvariable genau vorherzusagen, indem er ein Ensemble von Schätzungen aus einer Reihe einfacherer und schwächerer Modelle kombiniert.
+ Deep-Learning-Algorithmus – Ein künstliches neuronales Netzwerk mit mehrschichtigem Perceptron (MLP) und Feedforward. Dieser Algorithmus kann Daten verarbeiten, die nicht linear trennbar sind.

### Datenteilung
<a name="canvas-advanced-settings-predictive-split"></a>

Sie haben die Möglichkeit, festzulegen, wie Sie Ihren Datensatz zwischen dem Trainingssatz (dem Teil Ihres Datensatzes, der zum Erstellen des Modells verwendet wird) und dem Validierungssatz (dem Teil Ihres Datensatzes, der zum Überprüfen der Genauigkeit des Modells verwendet wird) aufteilen möchten. Ein gängiges Aufteilungsverhältnis ist beispielsweise 80 % Training und 20 % Validierung, wobei 80 % Ihrer Daten zum Aufbau des Modells verwendet werden, während 20 % für die Messung der Modellleistung gespeichert werden. Wenn Sie kein benutzerdefiniertes Verhältnis angeben, teilt Canvas Ihren Datensatz automatisch auf.

### Max. Kandidaten
<a name="canvas-advanced-settings-predictive-candidates"></a>

**Anmerkung**  
Diese Feature ist ausschließlich im HPO-Trainingsmodus verfügbar.

Sie können die maximale Anzahl von Modellkandidaten angeben, die Canvas beim Erstellen Ihres Modells generiert. Wir empfehlen Ihnen, die Standardanzahl von Kandidaten (100) zu verwenden, um möglichst genaue Modelle zu erstellen. Die maximale Anzahl, die Sie angeben können, ist 250. Eine Verringerung der Anzahl der Modellkandidaten kann sich auf die Genauigkeit Ihres Modells auswirken.

### Max. Auftragslaufzeit
<a name="canvas-advanced-settings-predictive-runtime"></a>

Sie können die maximale Auftragslaufzeit oder die maximale Zeit festlegen, die Canvas für die Erstellung Ihres Modells benötigt. Nach Ablauf des Zeitlimits beendet Canvas die Erstellung und wählt den besten Modellkandidaten aus.

Die maximale Zeit, die Sie angeben können, beträgt 720 Stunden. Es wird dringend empfohlen, die maximale Auftragslaufzeit auf mehr als 30 Minuten festzulegen, um sicherzustellen, dass Canvas genügend Zeit hat, Modellkandidaten zu generieren und die Erstellung Ihres Modells abzuschließen.

## Erweiterte Einstellungen für Zeitreihen-Prognosemodelle
<a name="canvas-advanced-settings-time-series"></a>

Für Zeitreihen-Prognosemodelle unterstützt Canvas die Objective-Metrik, die im vorherigen Abschnitt aufgeführt ist.

Zeitreihen-Prognosemodelle unterstützen auch die folgenden erweiterten Einstellungen:

### Algorithmusauswahl
<a name="canvas-advanced-settings-time-series-algos"></a>

Wenn Sie ein Zeitreihen-Prognosemodell erstellen, verwendet Canvas ein *Ensemble* (oder eine Kombination) aus statistischen und Machine-Learning-Lernalgorithmen, um äußert genaue Zeitreihenprognosen zu liefern. Standardmäßig wählt Canvas die optimale Kombination aller verfügbaren Algorithmen auf der Grundlage der Zeitreihen in Ihrem Datensatz aus. Sie haben jedoch die Möglichkeit, einen oder mehrere Algorithmen anzugeben, die für Ihr Prognosemodell verwendet werden sollen. In diesem Fall bestimmt Canvas die beste Mischung nur anhand der von Ihnen ausgewählten Algorithmen. Wenn Sie sich nicht sicher sind, welchen Algorithmus Sie für das Training Ihres Modells auswählen sollen, empfehlen wir Ihnen, alle verfügbaren Algorithmen auszuwählen.

**Anmerkung**  
Die Auswahl des Algorithmus wird nur für Standard-Builds unterstützt. Wenn Sie in den erweiterten Einstellungen keine Algorithmen auswählen, führt SageMaker KI standardmäßig einen Schnellaufbau durch und trainiert Modellkandidaten mithilfe eines einzigen baumbasierten Lernalgorithmus. Weitere Informationen zum Unterschied zwischen Quick-Builds und Standard-Builds finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).

Canvas unterstützt die folgenden Algorithmen für Zeitreihenprognosen:
+ [Autoregressive Integrated Moving Average (ARIMA)](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average) – ein einfaches stochastisches Zeitreihenmodell, das statistische Analysen zur Interpretation der Daten und zur Erstellung von Zukunftsprognosen verwendet. Dieser Algorithmus ist nützlich für einfache Datensätze mit weniger als 100 Zeitreihen.
+ [Convolutional Neural Network – Quantile Regression (CNN-QR)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-algo-cnnqr.html) – ein proprietärer, überwachter Lernalgorithmus, der ein globales Modell aus einer großen Sammlung von Zeitreihen trainiert und einen Quantil-Decoder verwendet, um Vorhersagen zu treffen. CNN-QR eignet sich am besten für große Datensätze, die Hunderte von Zeitreihen enthalten.
+ [DeePar\$1](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) — Ein proprietärer, überwachter Lernalgorithmus zur Prognose skalarer Zeitreihen unter Verwendung rekurrenter neuronaler Netze (RNNs), um ein einzelnes Modell gemeinsam über alle Zeitreihen zu trainieren. DeepAR\$1 funktioniert am besten mit umfangreichen Datensätzen, die Hunderte von Feature-Zeitreihen enthalten.
+ [Non-Parametric Time Series (NPTS)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-npts.html) – ein skalierbares, probabilistisches Basisprognosemodell, das die zukünftige Wertverteilung einer bestimmten Zeitreihe durch Stichproben aus vergangenen Beobachtungen vorhersagt. NPTS ist nützlich bei der Arbeit mit spärlichen oder intermittierenden Zeitreihen (z. B. bei der Prognose der Nachfrage nach einzelnen Artikeln, bei denen die Zeitreihe viele Nullen oder niedrige Werte aufweist).
+ [Exponential Smoothing (ETS)](https://en.wikipedia.org/wiki/Exponential_smoothing) – eine Prognosemethode, die Prognosen erstellt, die gewichtete Durchschnittswerte vergangener Beobachtungen sind, wobei die Gewichtung älterer Beobachtungen exponentiell abnimmt. Der Algorithmus eignet sich für einfache Datensätze mit weniger als 100 Zeitreihen und Datensätze mit saisonalen Mustern.
+ [Prophet](https://facebook.github.io/prophet/) – ein additives Regressionsmodell, das am besten bei Zeitreihen mit starken saisonalen Effekten und mehreren Saisons historischer Daten funktioniert. Der Algorithmus ist nützlich für Datensätze mit nichtlinearen Wachstumstrends, die sich einem Grenzwert nähern.

### Prognosequantile
<a name="canvas-advanced-settings-time-series-quantiles"></a>

Für Zeitreihenprognosen trainiert SageMaker KI 6 Modellkandidaten anhand Ihrer Zielzeitreihen. Anschließend kombiniert SageMaker KI diese Modelle mithilfe einer Stacking-Ensemble-Methode, um ein optimales Prognosemodell für eine bestimmte Zielmetrik zu erstellen. Jedes Prognosemodell erstellt eine probabilistische Prognose, indem es Prognosen in Quantilen zwischen P1 und P99 erstellt. Mit Hilfe dieser Quantile wird der Prognoseunsicherheit Rechnung getragen. Standardmäßig werden Prognosen für 0,1 (`p10`), 0,5 (`p50`) und 0,9 (`p90`) erzeugt. Sie können bis zu fünf Ihrer eigenen Quantile zwischen 0,01 (`p1`) und 0,99 (`p99`) in Schritten von 0,01 oder höher angeben.

# Bearbeiten Sie einen Bilddatensatz
<a name="canvas-edit-image"></a>

In Amazon SageMaker Canvas können Sie Ihre Bilddatensätze bearbeiten und Ihre Beschriftungen überprüfen, bevor Sie ein Modell erstellen. Möglicherweise möchten Sie Aufgaben wie das Zuweisen von Beschriftungen zu Bildern ohne Beschriftung oder das Hinzufügen weiterer Bilder zum Datensatz ausführen. Diese Aufgaben können alle in der Canvas-Anwendung ausgeführt werden, sodass Sie Ihren Datensatz an einem Ort ändern und ein Modell erstellen können.

**Anmerkung**  
Bevor Sie ein Modell erstellen, müssen Sie allen Bildern in Ihrem Datensatz Beschriftungen zuweisen. Außerdem müssen Sie mindestens 25 Bilder pro Beschriftung und mindestens zwei Beschriftungen haben. Weitere Informationen zum Zuweisen von Beschriftungen finden Sie im Abschnitt **Zuweisen von Beschriftungen zu Bildern ohne Beschriftung** auf dieser Seite. Wenn Sie keine Beschriftung für ein Bild ermitteln können, sollten Sie es aus Ihrem Datensatz löschen. Weitere Informationen zum Löschen von Bildern in diesem, finden Sie im Abschnitt unter [Bilder zum Datensatz hinzufügen oder daraus löschen](#canvas-edit-image-add-delete).

Um mit der Bearbeitung Ihres Bilddatensatzes zu beginnen, sollten Sie sich während der Erstellung Ihres Bildvorhersagemodells mit nur einer Bezeichnung auf der Registerkarte **Erstellen** befinden.

Eine neue Seite wird geöffnet, auf der die Bilder in Ihrem Datensatz zusammen mit ihren Beschriftungen angezeigt werden. Auf dieser Seite wird Ihr Bilddatensatz in **Bilder insgesamt**, **Beschriftete Bilder** und **Nicht beschriftete Bilder** unterteilt. Best Practices zur Erstellung eines genaueren Bildvorhersagemodells finden Sie auch im **Leitfaden zur Datensatzvorbereitung**.

Der folgende Screenshot zeigt die Seite zur Bearbeitung Ihres Bilddatensatzes.

![\[Screenshot der Seite zur Verwaltung von Bilddatensätzen in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/dataset-management-page.png)


Auf dieser Seite können Sie die folgenden Aktionen ausführen.

## Sehen Sie sich die Eigenschaften für jedes Bild an (Beschriftung, Größe, Abmessungen)
<a name="canvas-edit-image-view"></a>

Um ein einzelnes Bild anzusehen, können Sie in der Suchleiste anhand des Dateinamens danach suchen. Wählen Sie dann das Bild aus, um die Vollansicht zu öffnen. Sie können die Bildeigenschaften anzeigen und dem Bild die Beschriftung neu zuweisen. Wählen Sie **Speichern**, wenn Sie das Bild ansehen.

## Hinzufügen, Umbenennen oder Löschen von Beschriftungen im Datensatz
<a name="canvas-edit-image-labels"></a>

Canvas listet die Beschriftungen für Ihren Datensatz im linken Navigationsbereich auf. Sie können dem Datensatz neue Beschriftungen hinzufügen, indem Sie eine Bezeichnung in das Textfeld **Bezeichnung hinzufügen** eingeben.

Um eine Beschriftung aus Ihrem Datensatz umzubenennen oder zu löschen, wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben der Beschriftung aus und wählen Sie entweder **Umbenennen** oder **Löschen** aus. Wenn Sie die Beschriftung umbenennen, können Sie den neuen Beschrfiftungsnamen eingeben und **Bestätigen** wählen. Wenn Sie die Beschriftung löschen, wird die Beschriftung aus allen Bildern in Ihrem Datensatz entfernt, die diese Beschriftung haben. Alle Bilder mit dieser Beschriftung werden nicht beschriftet.

## Weisen Sie Bildern ohne Beschriftung Beschriftungen zu
<a name="canvas-edit-image-assign"></a>

Um die unbeschrifteten Bilder in Ihrem Datensatz anzuzeigen, wählen Sie im linken Navigationsbereich **Unbeschriftet** aus. Wählen Sie jedes Bild aus und öffnen Sie die Beschriftung mit dem Titel **Unbeschriftet**. Wählen Sie dann aus der Dropdown-Liste eine Beschriftung aus, das dem Bild zugewiesen werden soll. Sie können auch mehr als ein Bild auswählen und diese Aktion ausführen. Allen ausgewählten Bildern wird dann die von Ihnen gewählte Beschriftung zugewiesen.

## Ordnen Sie Bildern Beschriftungen neu zu
<a name="canvas-edit-image-reassign"></a>

Sie können Bildern Beschriftungen neu zuweisen, indem Sie das Bild (oder mehrere Bilder gleichzeitig) auswählen und das Dropdown-Menü mit der aktuellen Beschriftung öffnen. Wählen Sie die gewünschte Beschriftung aus, und das Bild oder die Bilder werden mit der neuen Beschriftung aktualisiert.

## Sortieren Sie Ihre Bilder nach Beschriftung
<a name="canvas-edit-image-sort"></a>

Sie können alle Bilder für eine bestimmte Beschriftung anzeigen, indem Sie die Beschriftung im linken Navigationsbereich auswählen.

## Bilder zum Datensatz hinzufügen oder daraus löschen
<a name="canvas-edit-image-add-delete"></a>

Sie können Ihrem Datensatz weitere Bilder hinzufügen, indem Sie im oberen Navigationsbereich **Bilder hinzufügen** auswählen. Sie werden durch den Arbeitsablauf zum Importieren weiterer Bilder geführt. Die Bilder, die Sie importieren, werden Ihrem vorhandenen Datensatz hinzugefügt.

Sie können Bilder aus Ihrem Datensatz löschen, indem Sie sie auswählen und dann im oberen Navigationsbereich auf **Löschen** klicken.

**Anmerkung**  
Nachdem Sie Änderungen an Ihrem Datensatz vorgenommen haben, wählen Sie **Datensatz speichern**, um sicherzustellen, dass Ihre Änderungen nicht verloren gehen.

# Datenexploration und Analyse
<a name="canvas-explore-data"></a>

**Anmerkung**  
Sie können SageMaker Canvas-Visualisierungen und -Analysen nur für Modelle verwenden, die auf tabellarischen Datensätzen basieren. Textvorhersagemodelle mit mehreren Kategorien sind ebenfalls ausgeschlossen.

In Amazon SageMaker Canvas können Sie die Variablen in Ihrem Datensatz mithilfe von Visualisierungen und Analysen untersuchen und anwendungsinterne Visualisierungen und Analysen erstellen. Sie können diese Untersuchungen verwenden, um Beschriftungen zwischen Ihren Variablen aufzudecken, bevor Sie Ihr Modell erstellen.

Weitere Informationen zu Visualisierungstechniken in Canvas finden Sie unter [Erkunden Ihrer Daten mit Visualisierungstechniken](canvas-explore-data-visualization.md).

Weitere Informationen zu Analytics in Canvas finden Sie unter [Erkunden Ihrer Daten mit Analytik](canvas-explore-data-analytics.md).

# Erkunden Ihrer Daten mit Visualisierungstechniken
<a name="canvas-explore-data-visualization"></a>

**Anmerkung**  
Sie können SageMaker Canvas-Visualisierungen nur für Modelle verwenden, die auf tabellarischen Datensätzen basieren. Textvorhersagemodelle mit mehreren Kategorien sind ebenfalls ausgeschlossen.

Mit Amazon SageMaker Canvas können Sie Ihre Daten untersuchen und visualisieren, um erweiterte Einblicke in Ihre Daten zu gewinnen, bevor Sie Ihre ML-Modelle erstellen. Sie können mithilfe von Streudiagrammen, Balkendiagrammen und Boxplots visualisieren, was Ihnen helfen kann, Ihre Daten zu verstehen und die Beziehungen zwischen Features zu ermitteln, die sich auf die Modellgenauigkeit auswirken könnten.

Wählen Sie auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung **Data Visualizer** aus, um mit der Erstellung Ihrer Visualisierungen zu beginnen.

Sie können die Stichprobengröße der Visualisierung ändern, um die Größe der Zufallsstichprobe aus Ihrem Datensatz anzupassen. Ein zu großer Stichprobenumfang kann sich auf die Leistung Ihrer Datenvisualisierungen auswirken. Wir empfehlen Ihnen daher, einen geeigneten Stichprobenumfang zu wählen. Um die Stichprobengröße zu ändern, führen Sie die folgenden Schritte aus.

1. Wählen Sie **Visualisierungsbeispiel** aus.

1. Verwenden Sie den Schieberegler, um die gewünschte Stichprobengröße auszuwählen.

1. Wählen Sie **Aktualisieren**, um die Änderung Ihrer Stichprobengröße zu bestätigen.

**Anmerkung**  
Bestimmte Visualisierungstechniken erfordern Spalten eines bestimmten Datentyps. Beispielsweise können Sie numerische Spalten nur für die X- und Y-Achsen von Streudiagrammen verwenden.

## Streudiagramm
<a name="canvas-explore-data-scatterplot"></a>

Um mit Ihrem Datensatz ein Streudiagramm zu erstellen, wählen Sie im Bedienfeld **Visualisierung** die Option **Streudiagramm**. Wählen Sie im Abschnitt **Spalten** die Features aus, die Sie auf der X- und Y-Achse zeichnen möchten. Sie können die Spalten per Drag-and-Drop auf die Achsen ziehen oder, sobald eine Achse gelöscht wurde, eine Spalte aus der Liste der unterstützten Spalten auswählen.

Sie können **Farbe nach** verwenden, um die Datenpunkte im Diagramm mit einer dritten Featureseinzufärben. Sie können auch **Gruppieren nach** verwenden, um die Daten auf der Grundlage eines vierten Features in separate Diagramme zu gruppieren.

Die folgende Abbildung zeigt ein Streudiagramm, in dem **Farbe nach** und **Gruppieren nach** verwendet werden. In diesem Beispiel wird jeder Datenpunkt nach dem `MaritalStatus` Feature farbig dargestellt, und die Gruppierung nach dem `Department` Feature führt zu einem Streudiagramm für die Datenpunkte der einzelnen Abteilungen.

![\[Screenshot eines Streudiagramms in der Datenvisualisierer-Ansicht der Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-eda-scatter-plot.png)


## Balkendiagramm
<a name="canvas-explore-data-barchart"></a>

Um ein Balkendiagramm mit Ihrem Datensatz zu erstellen, wählen Sie im **Visualisierungsfenster** die Option **Balkendiagramm** aus. Wählen Sie im Abschnitt **Spalten** die Features aus, die Sie auf der X- und Y-Achse zeichnen möchten. Sie können die Spalten per Drag-and-Drop auf die Achsen ziehen oder, sobald eine Achse gelöscht wurde, eine Spalte aus der Liste der unterstützten Spalten auswählen.

Sie können **Gruppieren nach** verwenden, um das Balkendiagramm nach einer dritten Feature zu gruppieren. Sie können **Stack nach** verwenden, um jeden Balken auf der Grundlage der Einzelwerte eines vierten Features vertikal zu schattieren.

Die folgende Abbildung zeigt ein Balkendiagramm, das **Gruppieren nach** und **Stack nach** verwendet. In diesem Beispiel wird das Balkendiagramm nach dem `MaritalStatus` Feature gruppiert und nach dem `JobLevel` Feature gestapelt. Für jede `JobRole` auf der X-Achse gibt es einen eigenen Balken für die einzelnen Kategorien im `MaritalStatus` Feature, und jeder Balken wird vertikal nach dem `JobLevel` Feature gestapelt.

![\[Screenshot eines Balkendiagramms in der Datenvisualisierer-Ansicht der Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-eda-bar-chart.png)


## Boxplot
<a name="canvas-explore-data-boxplot"></a>

Um einen Boxplot mit Ihrem Datensatz zu erstellen, wählen Sie im **Visualisierungsfenster** die Option **Boxplot** aus. Wählen Sie im Abschnitt **Spalten** die Features aus, die Sie auf der X- und Y-Achse zeichnen möchten. Sie können die Spalten per Drag-and-Drop auf die Achsen ziehen oder, sobald eine Achse gelöscht wurde, eine Spalte aus der Liste der unterstützten Spalten auswählen.

Sie können **Gruppieren nach** verwenden, um die Boxplots nach einer dritten Feature zu gruppieren.

Die folgende Abbildung zeigt einen Boxplot, der **Gruppieren nach** verwendet. In diesem Beispiel zeigen die X- und Y-Achsen jeweils `JobLevel` und `JobSatisfaction`, die farbigen Boxplots sind nach dem `Department` Feature gruppiert.

![\[Screenshot eines Boxplots in der Datenvisualisierer-Ansicht der Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-eda-box-plot.png)


# Erkunden Ihrer Daten mit Analytik
<a name="canvas-explore-data-analytics"></a>

**Anmerkung**  
Sie können SageMaker Canvas-Analysen nur für Modelle verwenden, die auf tabellarischen Datensätzen basieren. Textvorhersagemodelle mit mehreren Kategorien sind ebenfalls ausgeschlossen.

Mit Analysen in Amazon SageMaker Canvas können Sie Ihren Datensatz untersuchen und Einblicke in all Ihre Variablen gewinnen, bevor Sie ein Modell erstellen. Sie können die Beziehungen zwischen Features in Ihrem Datensatz mithilfe von Korrelationsmatrizen bestimmen. Sie können diese Technik verwenden, um Ihren Datensatz in einer Matrix zusammenzufassen, die die Korrelationen zwischen zwei oder mehr Werten zeigt. Auf diese Weise können Sie Muster in einem bestimmten Datensatz für eine erweiterte Datenanalyse identifizieren und visualisieren.

In der Matrix wird die Korrelation zwischen den einzelnen Features als positiv, negativ oder neutral dargestellt. Möglicherweise möchten Sie beim Erstellen Ihres Modells Features einbeziehen, die eine hohe Korrelation zueinander aufweisen. Features, die wenig bis gar keine Korrelation aufweisen, sind für Ihr Modell möglicherweise irrelevant, und Sie können diese Features beim Erstellen Ihres Modells weglassen.

Informationen zu den ersten Schritten mit Korrelationsmatrizen in SageMaker Canvas finden Sie im folgenden Abschnitt.

## Erstellen Sie eine Korrelationsmatrix
<a name="canvas-explore-data-analytics-correlation-matrix"></a>

Sie können eine Korrelationsmatrix erstellen, wenn Sie die Erstellung eines Modells auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung vorbereiten.

Eine Anleitung, wie Sie mit der Erstellung eines Modells beginnen, finden Sie unter [Ein Modell erstellen](canvas-build-model-how-to.md).

Nachdem Sie mit der Vorbereitung eines Modells in der SageMaker Canvas-Anwendung begonnen haben, gehen Sie wie folgt vor:

1. Wählen Sie auf der Registerkarte **Erstellen** die Option **Datenvisualisierung** aus.

1. Wählen Sie dann **Analytics** aus.

1. Wählen Sie **Korrelationsmatrix**.

Sie sollten eine Visualisierung sehen, die dem folgenden Screenshot ähnelt. Sie zeigt bis zu 15 Spalten des Datensatzes, die in einer Korrelationsmatrix organisiert sind.

![\[Screenshot einer Korrelationsmatrix in der Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-correlation-matrix-2.png)


Nachdem Sie die Korrelationsmatrix erstellt haben, können Sie sie folgendermaßen anpassen:

### 1. Wählen Sie Ihre Spalten
<a name="canvas-explore-data-analytics-correlation-matrix-columns"></a>

Für **Spalten** können Sie die Spalten auswählen, die Sie in die Matrix aufnehmen möchten. Sie können bis zu 15 Spalten aus Ihrem Datensatz vergleichen.

**Anmerkung**  
Sie können numerische, kategoriale oder binäre Spaltentypen für eine Korrelationsmatrix verwenden. Die Korrelationsmatrix unterstützt keine Spaltentypen für Datetime- oder Textdaten.

Um der Korrelationsmatrix Spalten hinzuzufügen oder aus ihr zu entfernen, wählen Sie Spalten im **Spalten**-Bedienfeld aus und deaktivieren Sie sie. Sie können Spalten auch direkt aus dem Bedienfeld in die Matrix ziehen und dort ablegen. Wenn Ihr Datensatz viele Spalten enthält, können Sie in der Leiste **Spalten durchsuchen** nach den gewünschten Spalten suchen.

Um die Spalten nach Datentyp zu filtern, wählen Sie die Dropdown-Liste aus und wählen Sie **Alle**, **Numerisch** oder **Kategorisch** aus. Wenn Sie **Alle** auswählen, werden Ihnen alle Spalten aus Ihrem Datensatz angezeigt, wohingegen die Filter **Numerisch** und **Kategorisch** nur die numerischen oder kategorialen Spalten in Ihrem Datensatz anzeigen. Beachten Sie, dass binäre Spaltentypen in den numerischen oder kategorialen Filtern enthalten sind.

Die besten Dateneinblicke erhalten Sie, wenn Sie Ihre Zielspalte in die Korrelationsmatrix aufnehmen. Wenn Sie Ihre Zielspalte in die Korrelationsmatrix aufnehmen, wird sie als letztes Feature in der Matrix mit einem Zielsymbol angezeigt.

### 2. Wählen Sie Ihren Korrelationstyp
<a name="canvas-explore-data-analytics-correlation-matrix-cor-type"></a>

SageMaker Canvas unterstützt verschiedene *Korrelationstypen* oder Methoden zur Berechnung der Korrelation zwischen Ihren Spalten.

Um den Korrelationstyp zu ändern, verwenden Sie den im vorherigen Abschnitt erwähnten **Spaltenfilter**, um nach Ihrem gewünschten Spaltentyp und den gewünschten Spalten zu filtern. Sie sollten den **Korrelationstyp** im Seitenbereich sehen. Für numerische Vergleiche haben Sie die Möglichkeit, entweder **Pearson** oder **Spearman** auszuwählen. **Für kategoriale Vergleiche ist der Korrelationstyp auf MI festgelegt.** Für kategoriale und gemischte Vergleiche wird der Korrelationstyp auf **Spearman** & MI festgelegt.

Bei Matrizen, die nur numerische Spalten vergleichen, ist der Korrelationstyp entweder Pearson oder Spearman. Die Pearson-Messgröße bewertet die lineare Beziehung zwischen zwei kontinuierlichen Variablen. Das Spearman-Maß bewertet die monotone Beziehung zwischen zwei Variablen. Sowohl bei Pearson als auch bei Spearman reicht die Korrelationsskala von -1 bis 1, wobei jedes Ende der Skala auf eine perfekte Korrelation (eine direkte 1:1 -Beziehung) und 0 auf keine Korrelation hinweist. Möglicherweise möchten Sie Pearson auswählen, wenn Ihre Daten linearere Beziehungen aufweisen (wie eine [Streudiagrammvisualisierung](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html#canvas-explore-data-scatterplot) zeigt). Wenn Ihre Daten nicht linear sind oder eine Mischung aus linearen und monotonen Beziehungen enthalten, sollten Sie Spearman auswählen.

Für Matrizen, die nur kategoriale Spalten vergleichen, ist der Korrelationstyp auf Mutual Information Classification (MI) festgelegt. Der MI-Wert ist ein Maß für die wechselseitige Abhängigkeit zwischen zwei Zufallsvariablen. Das MI-Maß liegt auf einer Skala von 0 bis 1, wobei 0 für keine Korrelation und 1 für eine perfekte Korrelation steht.

Bei Matrizen, die eine Mischung aus numerischen und kategorialen Spalten vergleichen, ist der Korrelationstyp **Spearman & MI** eine Kombination der Korrelationstypen Spearman und MI. Für Korrelationen zwischen zwei numerischen Spalten zeigt die Matrix den Spearman-Wert. Bei Korrelationen zwischen einer numerischen und einer kategorialen Spalte oder zwei kategorialen Spalten zeigt die Matrix den MI-Wert.

Denken Sie abschließend daran, dass Korrelation nicht unbedingt auf eine Kausalität hindeutet. Ein starker Korrelationswert weist nur darauf hin, dass ein Zusammenhang zwischen zwei Variablen besteht, aber die Variablen haben möglicherweise keinen kausalen Zusammenhang. Prüfen Sie die für Sie interessanten Spalten sorgfältig, um Verzerrungen bei der Modellerstellung zu vermeiden.

### 3. Ihre Korrelationen filtern
<a name="canvas-explore-data-analytics-correlation-matrix-filter"></a>

Im Seitenbereich können Sie die Funktion **Korrelationen filtern** verwenden, um nach dem Bereich von Korrelationswerten zu filtern, den Sie in die Matrix aufnehmen möchten. Wenn Sie beispielsweise nach Features filtern möchten, die nur eine positive oder neutrale Korrelation aufweisen, können Sie den **Minimalwert** auf 0 und den **Höchstwert** auf 1 festlegen (gültige Werte sind -1 bis 1).

Für Spearman- und Pearson-Vergleiche können Sie den **Korrelationsbereich des Filters** auf einen beliebigen Wert von -1 bis 1 festlegen, wobei 0 bedeutet, dass keine Korrelation besteht. -1 und 1 bedeuten, dass die Variablen eine starke negative bzw. positive Korrelation aufweisen.

Bei MI-Vergleichen reicht der Korrelationsbereich nur von 0 bis 1, wobei 0 bedeutet, dass keine Korrelation besteht und 1 bedeutet, dass die Variablen eine starke Korrelation aufweisen, entweder positiv oder negativ.

Jedes Feature hat eine perfekte Korrelation (1) mit sich selbst. Daher stellen Sie möglicherweise fest, dass die oberste Zeile der Korrelationsmatrix immer 1 ist. Wenn Sie diese Werte ausschließen möchten, können Sie den Filter verwenden, um den **Höchstwert** auf weniger als 1 festzulegen.

Denken Sie daran, dass, wenn Ihre Matrix eine Mischung aus numerischen und kategorialen Spalten vergleicht und den Korrelationstyp **Spearman & MI** verwendet, die *kategorialen x-numerischen* und *kategorialen x-kategorialen* Korrelationen (die das MI-Maß verwenden) auf einer Skala von 0 bis 1 liegen, wohingegen die *numerischen x-numerischen* Korrelationen (die das Spearman-Maß verwenden) auf einer Skala von -1 bis 1 liegen. Prüfen Sie Ihre interessierenden Korrelationen sorgfältig, um sicherzustellen, dass Sie den Korrelationstyp kennen, der zur Berechnung der einzelnen Werte verwendet wird.

### 4. Wählen Sie die Visualisierung-Methode aus.
<a name="canvas-explore-data-analytics-correlation-matrix-viz-method"></a>

Im Seitenbereich können Sie **Visualize by** verwenden, um die Visualisierungsmethode der Matrix zu ändern. Wählen Sie die Visualisierungsmethode **Numerisch** aus, um den Korrelationswert (Pearson, Spearman oder MI) anzuzeigen, oder wählen Sie die Visualisierungsmethode **Größe** aus, um die Korrelation mit unterschiedlich großen und farbigen Punkten darzustellen. Wenn Sie **Größe** wählen, können Sie den Mauszeiger über einen bestimmten Punkt in der Matrix bewegen, um den tatsächlichen Korrelationswert zu sehen.

### 5. Wählen Sie eine Farbpalette
<a name="canvas-explore-data-analytics-correlation-matrix-color"></a>

Im Seitenbereich können Sie mithilfe der **Farbauswahl die Farbpalette** ändern, die für die Skala zwischen negativer und positiver Korrelation in der Matrix verwendet wird. Wählen Sie eine der alternativen Farbpaletten aus, um die in der Matrix verwendeten Farben zu ändern.

# Vorbereiten der Daten für die Modellerstellung
<a name="canvas-prepare-data"></a>

**Anmerkung**  
Mit Data Wrangler können Sie jetzt eine erweiterte Datenvorbereitung in SageMaker Canvas durchführen. Data Wrangler bietet Ihnen eine Benutzeroberfläche in natürlicher Sprache und über 300 integrierte Transformationen. Weitere Informationen finden Sie unter [Datenaufbereitung](canvas-data-prep.md).

Ihr Datensatz für Machine Learning erfordert möglicherweise eine Datenvorbereitung, bevor Sie Ihr Modell erstellen. Möglicherweise möchten Sie Ihre Daten aufgrund verschiedener Probleme bereinigen, zu denen auch fehlende Werte oder Ausreißer gehören können, und Feature-Engineering durchführen, um die Genauigkeit Ihres Modells zu verbessern. Amazon SageMaker Canvas bietet ML-Datentransformationen, mit denen Sie Ihre Daten bereinigen, transformieren und für die Modellerstellung vorbereiten können. Sie können diese Transformationen für Ihre Datensätze ohne Code verwenden. SageMaker Canvas fügt die von Ihnen verwendeten Transformationen dem **Model-Rezept** hinzu. Dabei handelt es sich um eine Aufzeichnung der Datenvorbereitung, die vor der Erstellung des Modells an Ihren Daten vorgenommen wurde. Alle Datentransformationen, die Sie verwenden, ändern nur die Eingabedaten für die Modellerstellung und ändern nicht Ihre ursprüngliche Datenquelle.

Die Vorschau Ihres Datensatzes zeigt die ersten 100 Zeilen des Datensatzes. Wenn Ihr Datensatz mehr als 20.000 Zeilen enthält, nimmt Canvas eine Zufallsstichprobe von 20.000 Zeilen und zeigt eine Vorschau der ersten 100 Zeilen aus dieser Stichprobe an. Sie können nur nach Werten aus den in der Vorschau angezeigten Zeilen suchen und diese angeben, und die Filterfunktion filtert nur die in der Vorschau angezeigten Zeilen und nicht den gesamten Datensatz.

Die folgenden Transformationen sind in SageMaker Canvas verfügbar, damit Sie Ihre Daten für die Erstellung vorbereiten können.

**Anmerkung**  
Sie können erweiterte Transformationen nur für Modelle verwenden, die auf tabellarischen Datensätzen basieren. Textvorhersagemodelle mit mehreren Kategorien sind ebenfalls ausgeschlossen.

## Spalten abwerfen
<a name="canvas-prepare-data-drop"></a>

Sie können eine Spalte aus Ihrem Modellbuild ausschließen, indem Sie sie auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung ablegen. Deaktivieren Sie die Spalte, die Sie löschen möchten, und sie wird beim Erstellen des Modells nicht berücksichtigt.

**Anmerkung**  
Wenn Sie Spalten löschen und dann [Batch-Vorhersagen](canvas-make-predictions.md) mit Ihrem Modell treffen, fügt SageMaker Canvas die gelöschten Spalten wieder dem Ausgabedatensatz hinzu, der für Sie zum Herunterladen verfügbar ist. SageMaker Canvas fügt die gelöschten Spalten für Zeitreihenmodelle jedoch nicht wieder hinzu.

## Zeilen filtern
<a name="canvas-prepare-data-filter"></a>

Die Filterfunktion filtert die in der Vorschau angezeigten Zeilen (die ersten 100 Zeilen Ihres Datensatzes) gemäß den von Ihnen angegebenen Bedingungen. Das Filtern von Zeilen erzeugt eine temporäre Vorschau der Daten und hat keine Auswirkungen auf die Modellerstellung. Sie können filtern, um eine Vorschau von Zeilen anzuzeigen, die fehlende Werte enthalten, Ausreißer enthalten oder benutzerdefinierte Bedingungen in einer von Ihnen ausgewählten Spalte erfüllen.

### Filtern Sie Zeilen nach fehlenden Werten
<a name="canvas-prepare-data-filter-missing"></a>

Fehlende Werte treten häufig in maschinellen Lerndatensätzen auf. Wenn Sie Zeilen mit Nullwerten oder leeren Werten in bestimmten Spalten haben, möchten Sie möglicherweise nach diesen Zeilen filtern und eine Vorschau anzeigen.

Um fehlende Werte aus den in der Vorschau angezeigten Daten zu filtern, führen Sie die folgenden Schritte aus.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Nach Zeilen filtern** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) aus.

1. Wählen Sie die **Spalte** aus, die Sie auf fehlende Werte überprüfen möchten.

1. Wählen Sie für die **Operation** die Option **Fehlt** aus.

SageMaker Canvas filtert nach Zeilen, die fehlende Werte in der ausgewählten **Spalte** enthalten, und bietet eine Vorschau der gefilterten Zeilen.

![\[Screenshot des Vorgangs „Filtern nach fehlenden Werten“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-filter-missing.png)


### Zeilen nach Ausreißern filtern
<a name="canvas-prepare-data-filter-outliers"></a>

Ausreißer oder seltene Werte in der Verteilung und im Bereich Ihrer Daten können sich negativ auf die Modellgenauigkeit auswirken und zu längeren Erstellungszeiten führen. SageMaker Mit Canvas können Sie Zeilen erkennen und filtern, die Ausreißer in numerischen Spalten enthalten. Sie können wählen, ob Sie Ausreißer entweder mit Standardabweichungen oder einem benutzerdefinierten Bereich definieren möchten.

Um nach Ausreißern in Ihren Daten zu filtern, führen Sie die folgenden Schritte aus.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Nach Zeilen filtern** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) aus.

1. Wählen Sie die **Spalte** aus, die Sie auf Ausreißer überprüfen möchten.

1. Wählen Sie für die **Operation** **Ist ein Ausreißer**.

1. Stellen Sie den **Bereich für Ausreißer** entweder auf **Standardabweichung** oder **Benutzerdefinierter** Bereich ein.

1. Wenn Sie **Standardabweichung** wählen, geben Sie einen **SD-Wert** (Standardabweichung) zwischen 1–3 an. Wenn Sie **Benutzerdefinierter Bereich** wählen, wählen Sie entweder **Perzentil** oder **Zahl** und geben Sie dann die **Min** – und **Max** Werte an.

Mit der Option **Standardabweichung** werden Ausreißer in numerischen Spalten anhand des Mittelwerts und der Standardabweichung erkannt und danach gefiltert. Sie geben die Anzahl der Standardabweichungen an, bei denen ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie beispielsweise `3` für **SD** angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden.

Mit der Option **Benutzerdefinierter Bereich** werden Ausreißer in numerischen Spalten anhand von Minimal- und Maximalwerten erkannt und danach gefiltert. Verwenden Sie diese Methode, wenn Sie Ihre Schwellenwerte zur Begrenzung von Ausreißern kennen. Sie können den **Typ** des Bereichs entweder auf **Perzentil** oder **Zahl** festlegen. Wenn Sie **Perzentil** wählen, sollten die Werte **Min** und **Max** dem Minimum und Maximum des Perzentilbereichs (0-100) entsprechen, den Sie zulassen möchten. Wenn Sie **Zahl** wählen, sollten die **Min** – und **Max** Werte die minimalen und maximalen numerischen Werte sein, die Sie in den Daten filtern möchten.

![\[Bildschirmfoto des Vorgangs „Nach Ausreißern filtern“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-filter-outlier.png)


### Filtern Sie Zeilen nach benutzerdefinierten Werten
<a name="canvas-prepare-data-filter-custom"></a>

Sie können nach Zeilen mit Werten filtern, die benutzerdefinierte Bedingungen erfüllen. Möglicherweise möchten Sie eine Vorschau von Zeilen mit einem Preiswert von mehr als 100 anzeigen, bevor Sie sie entfernen. Mit dieser Funktion können Sie Zeilen filtern, die den von Ihnen festgelegten Schwellenwert überschreiten, und eine Vorschau der gefilterten Daten anzeigen.

Um die benutzerdefinierte Filterfunktion zu verwenden, führen Sie die folgenden Schritte aus.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Nach Zeilen filtern** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/filter-icon.png)) aus.

1. Wählen Sie die **Spalte** aus, die Sie überprüfen möchten.

1. Wählen Sie den **Operationstyp** aus, den Sie verwenden möchten, und geben Sie dann die Werte für die ausgewählte Bedingung an.

Für die **Operation** können Sie eine der folgenden Optionen wählen. Beachten Sie, dass die verfügbaren Operationen vom Datentyp der ausgewählten Spalte abhängen. Beispielsweise können Sie keine `is greater than` Operation für eine Spalte erstellen, die Textwerte enthält.


| Operation | Unterstützte Datentypen | Unterstützter Feature-Typ | Funktion | 
| --- | --- | --- | --- | 
|  ist gleich  |  Numerisch, Text  | Binär, kategorisch |  Filtert Zeilen, in denen der Wert in **Spalte** den von Ihnen angegebenen Werten entspricht.  | 
|  Ist nicht gleich  |  Numerisch, Text  | Binär, kategorisch |  Filtert Zeilen, in denen der Wert in **Spalte** nicht den von Ihnen angegebenen Werten entspricht.  | 
|  Ist kleiner als  |  Numerischer Wert  | – |  Filtert Zeilen, in denen der Wert in **Spalte** kleiner als der von Ihnen angegebene Wert ist.  | 
|  Ist kleiner als oder gleich  |  Numerischer Wert  | – |  Filtert Zeilen, in denen der Wert in **Spalte** kleiner oder gleich dem von Ihnen angegebenen Wert ist.  | 
|  Ist größer als  |  Numerischer Wert  | – |  Filtert Zeilen, in denen der Wert in **Spalte** größer als der von Ihnen angegebene Wert ist.  | 
|  Ist größer als oder gleich  |  Numerischer Wert  | – |  Filtert Zeilen, in denen der Wert in **Spalte** größer oder gleich dem von Ihnen angegebenen Wert ist.  | 
|  Ist zwischen  |  Numerischer Wert  | – |  Filtert Zeilen, in denen der Wert in **Spalte** zwischen oder gleich zwei von Ihnen angegebenen Werten liegt.  | 
|  Enthält  |  Text  | Kategorisch |  Filtert Zeilen, in denen der Wert in **Spalte** die von Ihnen angegebenen Werte enthält.  | 
|  Beginnt mit  |  Text  | Kategorisch |  Filtert Zeilen, in denen der Wert in **Spalte** mit einem von Ihnen angegebenen Wert beginnt.  | 
|  Endet mit  |  Kategorisch  | Kategorisch |  Filtert Zeilen, in denen der Wert in **Spalte** mit einem von Ihnen angegebenen Wert endet.  | 

Nachdem Sie den Filtervorgang festgelegt haben, aktualisiert SageMaker Canvas die Vorschau des Datensatzes, sodass Ihnen die gefilterten Daten angezeigt werden.

![\[Screenshot des Vorgangs „Filtern nach benutzerdefinierten Werten“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-filter-custom.png)


## Funktionen und Operatoren
<a name="canvas-prepare-data-custom-formula"></a>

Sie können mathematische Funktionen und Operatoren verwenden, um Ihre Daten zu untersuchen und zu verteilen. Sie können die von SageMaker Canvas unterstützten Funktionen verwenden oder Ihre eigene Formel mit Ihren vorhandenen Daten erstellen und eine neue Spalte mit dem Ergebnis der Formel erstellen. Sie können beispielsweise die entsprechenden Werte von zwei Spalten hinzufügen und das Ergebnis in einer neuen Spalte speichern.

Sie können Anweisungen verschachteln, um komplexere Funktionen zu erstellen. Im Folgenden finden Sie einige Beispiele für verschachtelte Funktionen, die Sie verwenden könnten.
+ Um den BMI zu berechnen, könnten Sie die Funktion `weight / (height ^ 2)` verwenden.
+ Um das Alter zu klassifizieren, könnten Sie die Funktion `Case(age < 18, 'child', age < 65, 'adult', 'senior')` verwenden.

Sie können Funktionen in der Datenvorbereitungsphase angeben, bevor Sie Ihr Modell erstellen. Um eine Funktion zu verwenden, gehen Sie wie folgt vor.
+ Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte „**Erstellen**“ die Option „**Alle anzeigen**“ und anschließend „**Benutzerdefinierte Formel**“, um das Bedienfeld „**Benutzerdefinierte Formel**“ zu öffnen.
+ Im Bedienfeld „**Benutzerdefinierte Formel**“ können Sie eine **Formel** auswählen, die Sie Ihrem **Modellrezept** hinzufügen möchten. Jede Formel wird auf alle Werte in den von Ihnen angegebenen Spalten angewendet. Verwenden Sie für Formeln, die zwei oder mehr Spalten als Argumente akzeptieren, Spalten mit übereinstimmenden Datentypen. Andernfalls erhalten Sie einen Fehler oder `null`-Werte in der neuen Spalte. 
+ Nachdem Sie eine **Formel** angegeben haben, fügen Sie im Feld „**Neuer Spaltenname“ einen Spaltennamen** hinzu. SageMaker Canvas verwendet diesen Namen für die neue Spalte, die erstellt wird.
+ (Optional) Wählen Sie **Vorschau**, um eine Vorschau Ihrer Transformation anzuzeigen.
+ Um die Funktion zu Ihrem **Modellrezept** hinzuzufügen, wählen Sie **Hinzufügen**.

SageMaker Canvas speichert das Ergebnis Ihrer Funktion in einer neuen Spalte unter dem Namen, den Sie unter **Neuer Spaltenname** angegeben haben. Sie können Funktionen im Bedienfeld **Modellrezepte** anzeigen oder entfernen.

SageMaker Canvas unterstützt die folgenden Operatoren für Funktionen. Sie können entweder das Textformat oder das Inline-Format verwenden, um Ihre Funktion zu spezifizieren.


| Operator | Description | Unterstützte Datentypen | Textformat | Inline-Format | 
| --- | --- | --- | --- | --- | 
|  Addition  |  Gibt die Summe der Werte  |  Numerischer Wert  | Addieren Sie (Umsatz1, Umsatz2) | Umsatz1 \$1 Umsatz2 | 
|  Subtraktion  |  Gibt den Unterschied zwischen den Werten zurück  |  Numerischer Wert  | Subtrahieren Sie (Umsatz1, Umsatz2) | Umsatz1 ‐ Umsatz2 | 
|  Multiply (Multiplikation)  |  Gibt das Produkt der Werte zurück  |  Numerischer Wert  | Multipliziere (Umsatz1, Umsatz2) | Umsatz1 \$1 Umsatz2 | 
|  Division  |  Gibt den Quotienten der Werte zurück  |  Numerischer Wert  | Divide (Umsatz1, Umsatz2) | Umsatz1//Umsatz2 | 
|  Mod  |  Gibt das Ergebnis des Modulo-Operators zurück (den Rest nach der Division der beiden Werte)  |  Numerischer Wert  | Mod (Umsatz1, Umsatz2) | Umsatz 1% Umsatz 2 | 
|  Abs  | Gibt den absoluten Wert des Wertes zurück |  Numerischer Wert  | Abs (Umsatz1) | – | 
|  Negiert  | Gibt das Negative des Werts zurück |  Numerischer Wert  | Negiere (c1) | -c1 | 
|  Exp  |  Gibt e (Eulersche Zahl) potenziert mit dem Wert zurück  |  Numerischer Wert  | Exp (Umsatz1) | – | 
|  Protokoll  |  Gibt den Logarithmus (Basis 10) des Wertes  |  Numerischer Wert  | Protokoll (Umsatz1) | – | 
|  Ln  |  Gibt den natürlichen Logarithmus (Basis e) des Werts zurück  |  Numerischer Wert  | Ln (Umsatz1) | – | 
|  pow  |  Gibt den potenzierten Wert zurück  |  Numerischer Wert  | Pow (Umsatz1, 2) | Umsatz1 ^ 2 | 
|  Wenn  |  Gibt basierend auf einer von Ihnen angegebenen Bedingung eine Bezeichnung „wahr“ oder „falsch“ zurück  |  Boolescher Wert, Numerisch, Text  | Wenn (sales1>7000, 'truelabel', 'falselabel') | – | 
|  Oder  |  Gibt einen booleschen Wert zurück, der angibt, ob einer der angegebenen Werte oder Bedingungen wahr ist oder nicht  |  Boolesch  | Oder (Vollpreis, discount) | Vollpreis \$1\$1 Rabatt | 
|  Bedingung 2  |  Gibt einen booleschen Wert zurück, der angibt, ob zwei der angegebenen Werte oder Bedingungen wahr sind oder nicht  |  Boolesch  | Und (Umsatz1, Umsatz2) | Umsatz1 && Umsatz2 | 
|  Nicht  |  Gibt einen booleschen Wert zurück, der das Gegenteil des angegebenen Werts oder der angegebenen Bedingungen darstellt  |  Boolesch  | Nicht (sales1) | \$1Umsatz 1 | 
|  Case  |  Gibt einen booleschen Wert zurück, der auf bedingten Anweisungen basiert (gibt c1 zurück, wenn cond1 wahr ist, gibt c2 zurück, wenn cond2 wahr ist, andernfalls wird c3 zurückgegeben)  |  Boolescher Wert, Numerisch, Text  | Groß- und Kleinschreibung (cond1, c1, cond2, c2, c3) | – | 
|  Gleich  |  Gibt einen booleschen Wert zurück, der angibt, ob zwei Werte gleich sind  |  Boolescher Wert, Numerisch, Text  | – | c1 = c2c1 == c2 | 
|  Ungleich  |  Gibt einen booleschen Wert zurück, der angibt, ob zwei Werte nicht gleich sind  |  Boolescher Wert, Numerisch, Text  | – | c1 \$1= c2 | 
|  Kleiner als  |  Gibt einen booleschen Wert zurück, der angibt, ob c1 kleiner als c2 ist  |  Boolescher Wert, Numerisch, Text  | – | c1 < c2 | 
|  Größer als  |  Gibt einen booleschen Wert zurück, der angibt, ob c1 größer als c2 ist  |  Boolescher Wert, Numerisch, Text  | – | c1 > c2 | 
|  Kleiner als oder gleich  |  Gibt einen booleschen Wert zurück, der angibt, ob c1 kleiner als oder gleich c2 ist  |  Boolescher Wert, Numerisch, Text  | – | c1 <= c2 | 
|  Größer als oder gleich  |  Gibt einen booleschen Wert zurück, der angibt, ob c1 größer als oder gleich c2 ist  |  Boolescher Wert, Numerisch, Text  | – | c1 >= c2 | 

SageMaker Canvas unterstützt auch Aggregatoperatoren, mit denen Operationen wie die Berechnung der Summe aller Werte oder das Ermitteln des Mindestwerts in einer Spalte ausgeführt werden können. Sie können Aggregatoperatoren in Kombination mit Standardoperatoren in Ihren Funktionen verwenden. Um beispielsweise die Differenz zwischen Werten und dem Mittelwert zu berechnen, könnten Sie die Funktion verwenden`Abs(height – avg(height))`. SageMaker Canvas unterstützt die folgenden Aggregatoperatoren.


| Aggregat-Operatoren | Description | Format | Beispiel | 
| --- | --- | --- | --- | 
|  sum  |  Gibt die Summe aller Werte in einer Spalte zurück  | sum | Summe(c1) | 
|  Minimum  |  Gibt den Minimalwert einer Spalte zurück  | min | min(c2) | 
|  Maximum  |  Gibt den Maximalwert einer Spalte zurück  | max | max(c3) | 
|  Durchschnitt  |  Gibt den Durchschnittswert einer Spalte zurück  | avg | avg(c4) | 
|  Std  | Gibt die Standardabweichung der Stichprobe einer Spalte zurück | Std | std(c1) | 
|  stddev  | Gibt die Standardabweichung der Werte in einer Spalte zurück | stddev | Stdabq(c1) | 
|  Varianz  | Gibt die unverzerrte Varianz der Werte in einer Spalte zurück | Varianz | Varianz(c1) | 
|  APPROX\$1COUNT\$1DISTINCT  | Gibt die ungefähre Anzahl verschiedener Elemente in einer Spalte zurück | APPROX\$1COUNT\$1DISTINCT | APPROX\$1COUNT\$1DISTINCT | 
|  count  | Gibt den Cosinus einer Zahl zurück. | count | Anzahl(c1) | 
|  Erste  |  Gibt den ersten Wert einer Spalte zurück  | Erste | zuerst(c1) | 
|  Letzte  |  Gibt den letzten Wert einer Spalte zurück  | Letzte | letzter(c1) | 
|  stddev\$1pop  | Gibt die Standardabweichung der Grundgesamtheit einer Spalte zurück | stddev\$1pop | stddev\$1pop(c1) | 
|  Varianz\$1Pop  |  Gibt die Populationsvarianz der Werte in einer Spalte zurück  | variance\$1pop | variance\$1pop(c1) | 

## Zeilen verwalten
<a name="canvas-prepare-data-manage"></a>

Mit der Transformation „Zeilen verwalten“ können Sie Datenzeilen sortieren, nach dem Zufallsprinzip mischen und Datenzeilen aus dem Datensatz entfernen.

### Zeilen sortieren
<a name="canvas-prepare-data-manage-sort"></a>

Gehen Sie wie folgt vor, um die Zeilen in einem Datensatz nach einer bestimmten Spalte zu sortieren.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** und anschließend **Zeilen sortieren** aus.

1. Wählen Sie unter **Spalte sortieren** die Spalte aus, nach der Sie sortieren möchten.

1. Wählen Sie für **Sortierreihenfolge** entweder **Aufsteigend** oder **Absteigend** aus.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

### Zeilen mischen
<a name="canvas-prepare-data-manage-shuffle"></a>

Gehen Sie wie folgt vor, um die Zeilen in einem Datensatz nach dem Zufallsprinzip zu mischen.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** und anschließend **Zeilen mischen** aus.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

### Doppelte Zeilen verwerfen
<a name="canvas-prepare-data-manage-drop-duplicate"></a>

Gehen Sie wie folgt vor, um doppelte Zeilen in einem Datensatz zu entfernen.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** und anschließend **Doppelte Zeilen löschen** aus.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

### Entfernen Sie Zeilen nach fehlenden Werten
<a name="canvas-prepare-data-remove-missing"></a>

Fehlende Werte treten häufig in Datensätzen des maschinellen Lernens auf und können sich auf die Modellgenauigkeit auswirken. Verwenden Sie diese Transformation, wenn Sie Zeilen mit Nullwerten oder leeren Werten in bestimmten Spalten löschen möchten.

Gehen Sie wie folgt vor, um Zeilen zu entfernen, die fehlende Werte in einer bestimmten Spalte enthalten.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** aus.

1. Wählen Sie **Zeilen nach fehlenden Werten löschen** aus.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

SageMaker Canvas löscht Zeilen, die fehlende Werte in der ausgewählten **Spalte** enthalten. Nach dem Entfernen der Zeilen aus dem Datensatz fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, kehren die Zeilen zu Ihrem Datensatz zurück.

![\[Screenshot der Operation „Zeilen durch fehlende Werte entfernen“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-remove-missing.png)


### Zeilen nach Ausreißern entfernen
<a name="canvas-prepare-data-remove-outliers"></a>

Ausreißer oder seltene Werte in der Verteilung und im Bereich Ihrer Daten können sich negativ auf die Modellgenauigkeit auswirken und zu längeren Erstellungszeiten führen. Mit SageMaker Canvas können Sie Zeilen erkennen und entfernen, die Ausreißer in numerischen Spalten enthalten. Sie können wählen, ob Sie Ausreißer entweder mit Standardabweichungen oder einem benutzerdefinierten Bereich definieren möchten.

Gehen Sie wie folgt vor, um Ausreißer aus Ihren Daten zu entfernen.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** aus.

1. Wählen Sie **Zeilen nach Ausreißerwerten löschen**.

1. Wählen Sie die **Spalte** aus, die Sie auf Ausreißer überprüfen möchten.

1. Stellen Sie den **Operator** auf **Standardabweichung**, **Benutzerdefinierter numerischer Bereich** oder **Benutzerdefinierter Quantilbereich** ein.

1. Wenn Sie **Standardabweichung** wählen, geben Sie einen Wert für **Standardabweichungen** (Standardabweichung) zwischen 1–3 an. Wenn Sie **Benutzerdefinierter numerischer Bereich** oder **Benutzerdefinierter Quantilbereich** wählen, geben Sie die **Min** und **Max** Werte an (Zahlen für numerische Bereiche oder Perzentile zwischen 0 und 100% für Quantilbereiche).

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

Mit der Option **Standardabweichung** werden Ausreißer in numerischen Spalten anhand des Mittelwerts und der Standardabweichung erkannt und entfernt. Sie geben die Anzahl der Standardabweichungen an, bei denen ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie beispielsweise `3` für **Standardabweichungen** angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden.

Mit den Optionen **Benutzerdefinierter numerischer Bereich** und **Benutzerdefinierter Quantilbereich** werden Ausreißer in numerischen Spalten anhand von Minimal- und Maximalwerten erkannt und entfernt. Verwenden Sie diese Methode, wenn Sie Ihre Schwellenwerte kennen, mit denen Ausreißer abgegrenzt werden. Wenn Sie einen numerischen Bereich wählen, sollten die **Min** – und **Max** Werte die minimalen und maximalen numerischen Werte sein, die Sie in den Daten zulassen möchten. Wenn Sie einen Quantilbereich wählen, sollten die **Min** und **Max** Werte den Mindest- und Höchstwerten des Perzentilbereichs (0–100) entsprechen, den Sie zulassen möchten.

Nach dem Entfernen der Zeilen aus dem Datensatz fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, kehren die Zeilen zu Ihrem Datensatz zurück.

![\[Screenshot des Vorgangs „Zeilen nach Ausreißern entfernen“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-remove-outlier.png)


### Zeilen anhand benutzerdefinierter Werte entfernen
<a name="canvas-prepare-data-remove-custom"></a>

Sie können Zeilen mit Werten entfernen, die benutzerdefinierte Bedingungen erfüllen. Beispielsweise möchten Sie beim Erstellen Ihres Modells möglicherweise alle Zeilen mit einem Preiswert von mehr als 100 ausschließen. Mit dieser Transformation können Sie eine Regel erstellen, die alle Zeilen entfernt, die den von Ihnen festgelegten Schwellenwert überschreiten.

Gehen Sie wie folgt vor, um die benutzerdefinierte Transformation zum Entfernen zu verwenden.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Zeilen verwalten** aus.

1. Wählen Sie **Zeilen nach Formel löschen**.

1. Wählen Sie die **Spalte** aus, die Sie überprüfen möchten.

1. Wählen Sie den **Operationstyp** aus, den Sie verwenden möchten, und geben Sie dann die Werte für die ausgewählte Bedingung an.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

Für die **Operation** können Sie eine der folgenden Optionen wählen. Beachten Sie, dass die verfügbaren Operationen vom Datentyp der ausgewählten Spalte abhängen. Beispielsweise können Sie keine `is greater than` Operation für eine Spalte erstellen, die Textwerte enthält.


| Operation | Unterstützte Datentypen | Unterstützter Feature-Typ | Funktion | 
| --- | --- | --- | --- | 
|  ist gleich  |  Numerisch, Text  |  Binär, kategorisch  |  Entfernt Zeilen, in denen der Wert in **Spalte** den von Ihnen angegebenen Werten entspricht.  | 
|  Ist nicht gleich  |  Numerisch, Text  |  Binär, kategorisch  |  Entfernt Zeilen, in denen der Wert in **Spalte** nicht den von Ihnen angegebenen Werten entspricht.  | 
|  Ist kleiner als  |  Numerischer Wert  | – |  Entfernt Zeilen, in denen der Wert in **Spalte** kleiner als der von Ihnen angegebene Wert ist.  | 
|  Ist kleiner als oder gleich  |  Numerischer Wert  | – |  Entfernt Zeilen, in denen der Wert in **Spalte** kleiner oder gleich dem von Ihnen angegebenen Wert ist.  | 
|  Ist größer als  |  Numerischer Wert  | – |  Entfernt Zeilen, in denen der Wert in **Spalte** größer als der von Ihnen angegebene Wert ist.  | 
|  Ist größer als oder gleich  | Numerischer Wert | – |  Entfernt Zeilen, in denen der Wert in **Spalte** größer oder gleich dem von Ihnen angegebenen Wert ist.  | 
|  Ist zwischen  | Numerischer Wert | – |  Entfernt Zeilen, in denen der Wert in **Spalte** zwischen oder gleich zwei von Ihnen angegebenen Werten liegt.  | 
|  Enthält  |  Text  | Kategorisch |  Entfernt Zeilen, in denen der Wert in **Column** die von Ihnen angegebenen Werte enthält.  | 
|  Beginnt mit  |  Text  | Kategorisch |  Entfernt Zeilen, in denen der Wert in **Column** mit einem von Ihnen angegebenen Wert beginnt.  | 
|  Endet mit  |  Text  | Kategorisch |  Entfernt Zeilen, in denen der Wert in **Column** mit einem von Ihnen angegebenen Wert endet.  | 

Nach dem Entfernen der Zeilen aus dem Datensatz fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, kehren die Zeilen zu Ihrem Datensatz zurück.

![\[Screenshot des Vorgangs „Zeilen mit benutzerdefinierten Werten entfernen“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-remove-custom.png)


## Spalten umbenennen
<a name="canvas-prepare-data-rename"></a>

Mit der Transformation zum Umbenennen von Spalten können Sie Spalten in Ihren Daten umbenennen. Wenn Sie eine Spalte umbenennen, ändert SageMaker Canvas den Spaltennamen in der Modelleingabe.

Sie können eine Spalte in Ihrem Datensatz umbenennen, indem Sie auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung auf den Spaltennamen doppelklicken und einen neuen Namen eingeben. Durch Drücken der **Eingabetaste** wird die Änderung übermittelt, und wenn Sie auf eine beliebige Stelle außerhalb der Eingabe klicken, wird die Änderung rückgängig gemacht. Sie können eine Spalte auch umbenennen, indem Sie auf das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) klicken, das sich in der Listenansicht am Ende der Zeile oder in der Tabellenansicht am Ende der Kopfzeilenzelle befindet, und **Umbenennen** wählen.

Ihr Spaltenname darf nicht länger als 32 Zeichen sein oder doppelte Unterstriche (\$1\$1) enthalten, und Sie können eine Spalte nicht in denselben Namen wie eine andere Spalte umbenennen. Sie können eine gelöschte Spalte auch nicht umbenennen.

Der folgende Screenshot zeigt, wie Sie eine Spalte umbenennen, indem Sie auf den Spaltennamen doppelklicken.

![\[Screenshot des Umbenennens einer Spalte mit der Doppelklick-Methode in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-rename-column.png)


Wenn Sie eine Spalte umbenennen, fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, nimmt die Spalte wieder ihren ursprünglichen Namen an.

## Spalten verwalten
<a name="canvas-prepare-data-manage-cols"></a>

Mit den folgenden Transformationen können Sie den Datentyp von Spalten ändern und fehlende Werte oder Ausreißer für bestimmte Spalten ersetzen. SageMaker Canvas verwendet beim Erstellen Ihres Modells die aktualisierten Datentypen oder Werte, ändert jedoch nicht Ihren ursprünglichen Datensatz. Beachten Sie, dass Sie Werte in dieser Spalte nicht ersetzen können, wenn Sie mithilfe der [Spalten abwerfen](#canvas-prepare-data-drop) Transformation eine Spalte aus Ihrem Datensatz gelöscht haben.

### Fehlende Werte ersetzen
<a name="canvas-prepare-data-replace-missing"></a>

Fehlende Werte treten häufig in Datensätzen des maschinellen Lernens auf und können sich auf die Modellgenauigkeit auswirken. Sie können sich dafür entscheiden, Zeilen mit fehlenden Werten zu löschen, aber Ihr Modell ist genauer, wenn Sie stattdessen die fehlenden Werte ersetzen. Mit dieser Transformation können Sie fehlende Werte in numerischen Spalten durch den Mittelwert oder Median der Daten in einer Spalte ersetzen, oder Sie können auch einen benutzerdefinierten Wert angeben, durch den fehlende Werte ersetzt werden sollen. Bei nicht numerischen Spalten können Sie fehlende Werte durch den Modus (den häufigsten Wert) der Spalte oder einen benutzerdefinierten Wert ersetzen.

Verwenden Sie diese Transformation, wenn Sie die Null- oder Leerwerte in bestimmten Spalten ersetzen möchten. Gehen Sie wie folgt vor, um fehlende Werte in einer bestimmten Spalte zu ersetzen. 

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Spalten verwalten** aus.

1. Wählen Sie **Fehlende Werte ersetzen**.

1. Wählen Sie die **Spalte** aus, in der Sie fehlende Werte ersetzen möchten.

1. Stellen Sie den **Modus** auf **Manuell** ein, um fehlende Werte durch von Ihnen angegebene Werte zu ersetzen. Mit der Einstellung **Automatisch (Standard)** ersetzt SageMaker Canvas fehlende Werte durch imputierte Werte, die am besten zu Ihren Daten passen. Diese Imputationsmethode wird automatisch für jede Modellerstellung durchgeführt, sofern Sie nicht den Modus **Manuell** angeben.

1. Stellen Sie den Wert **Ersetzen durch** ein:
   + Wenn Ihre Spalte numerisch ist, wählen Sie **Mittelwert**, **Median** oder **Benutzerdefiniert** aus. Durch **Mittelwert** werden fehlende Werte durch den Mittelwert für die Spalte ersetzt, und **Median** ersetzt fehlende Werte durch den Median für die Spalte. Wenn Sie **Benutzerdefiniert** wählen, müssen Sie einen benutzerdefinierten Wert angeben, den Sie verwenden möchten, um fehlende Werte zu ersetzen.
   + Wenn Ihre Spalte nicht numerisch ist, wählen Sie **Modus** oder **Benutzerdefiniert**. **Mode** ersetzt fehlende Werte durch den Modus oder den gebräuchlichsten Wert für die Spalte. Geben Sie für **Benutzerdefiniert** einen benutzerdefinierten Wert an, den Sie verwenden möchten, um fehlende Werte zu ersetzen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

Nach dem Ersetzen der fehlenden Werte im Datensatz fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, kehren die fehlenden Werte in den Datensatz zurück.

![\[Screenshot des Vorgangs zum Ersetzen fehlender Werte in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-replace-missing.png)


### Ausreißer ersetzen
<a name="canvas-prepare-data-replace-outliers"></a>

Ausreißer oder seltene Werte in der Verteilung und im Bereich Ihrer Daten können sich negativ auf die Modellgenauigkeit auswirken und zu längeren Erstellungszeiten führen. SageMaker Mit Canvas können Sie Ausreißer in numerischen Spalten erkennen und die Ausreißer durch Werte ersetzen, die innerhalb eines akzeptierten Bereichs in Ihren Daten liegen. Sie können wählen, ob Sie Ausreißer entweder mit Standardabweichungen oder einem benutzerdefinierten Bereich definieren möchten, und Sie können Ausreißer durch die Minimal- und Maximalwerte im akzeptierten Bereich ersetzen.

Um Ausreißer in Ihren Daten zu ersetzen, führen Sie die folgenden Schritte aus.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option Spalten **verwalten** aus.

1. Wählen Sie **Ausreißerwerte ersetzen**.

1. Wählen Sie die **Spalte**, in der Sie Ausreißer ersetzen möchten.

1. Wählen Sie für **Ausreißer definieren** die Optionen **Standardabweichung**, **Benutzerdefinierter numerischer Bereich** oder **Benutzerdefinierter Quantilbereich** aus.

1. Wenn Sie **Standardabweichung** wählen, geben Sie einen Wert für **Standardabweichungen** (Standardabweichung) zwischen 1–3 an. Wenn Sie **Benutzerdefinierter numerischer Bereich** oder **Benutzerdefinierter Quantilbereich** wählen, geben Sie die **Min** und **Max** Werte an (Zahlen für numerische Bereiche oder Perzentile zwischen 0 und 100% für Quantilbereiche).

1. Wählen Sie für **Ersetzen durch** den **Min-/Max-Bereich** aus.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

Mit der Option **Standardabweichung** werden Ausreißer in numerischen Spalten anhand des Mittelwerts und der Standardabweichung erkannt. Sie geben die Anzahl der Standardabweichungen an, bei denen ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie beispielsweise 3 für **Standardabweichungen** angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden. SageMaker Canvas ersetzt Ausreißer durch den Minimal- oder Maximalwert im akzeptierten Bereich. Wenn Sie beispielsweise die Standardabweichungen so konfigurieren, dass sie nur Werte zwischen 200 und 300 enthalten, ändert SageMaker Canvas einen Wert von 198 auf 200 (das Minimum).

Die Optionen **Benutzerdefinierter numerischer Bereich** und **Benutzerdefinierter Quantilbereich** erkennen Ausreißer in numerischen Spalten anhand von Minimal- und Maximalwerten. Verwenden Sie diese Methode, wenn Sie Ihre Schwellenwerte kennen, mit denen Ausreißer abgegrenzt werden. Wenn Sie einen numerischen Bereich wählen, sollten die **Min** - und **Max-Werte** die minimalen und maximalen numerischen Werte sein, die Sie zulassen möchten. SageMaker Canvas ersetzt alle Werte, die außerhalb der Minimal- und Maximalwerte liegen, durch die Minimal- und Maximalwerte. Wenn Ihr Bereich beispielsweise nur Werte zwischen 1 und 100 zulässt, ändert SageMaker Canvas einen Wert von 102 auf 100 (das Maximum). Wenn Sie einen Quantilbereich wählen, sollten die **Min** – und **Max** Werte dem Minimum und Maximum des Perzentilbereichs (0–100) entsprechen, den Sie zulassen möchten.

Nach dem Ersetzen der Werte im Datensatz fügt SageMaker Canvas die Transformation im Abschnitt **Modellrezept** hinzu. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, kehren die ursprünglichen Werte zum Datensatz zurück.

![\[Screenshot des Vorgangs „Ausreißer ersetzen“ in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-replace-outlier.png)


### Ändern des Datentyps
<a name="canvas-prepare-data-change-type"></a>

SageMaker Canvas bietet Ihnen die Möglichkeit, den *Datentyp* Ihrer Spalten zwischen numerisch, text und datetime zu ändern und gleichzeitig den zugehörigen *Feature-Typ für diesen Datentyp* anzuzeigen. Ein *Datentyp* bezieht sich auf das Format der Daten und die Art und Weise, wie sie gespeichert werden, während sich der *Feature-Typ* auf die Eigenschaften der Daten bezieht, die in Algorithmen für Machine Learning verwendet werden, z. B. binär oder kategorisch. Dies gibt Ihnen die Flexibilität, den Datentyp in Ihren Spalten basierend auf den Funktionen manuell zu ändern. Die Möglichkeit, den richtigen Datentyp auszuwählen, gewährleistet Datenintegrität und Genauigkeit, bevor Modelle erstellt werden. Diese Datentypen werden beim Erstellen von Modellen verwendet.

**Anmerkung**  
Derzeit wird das Ändern des Feature-Typs (z. B. von binär zu kategorisch) nicht unterstützt.

In der folgenden Tabelle sind alle in Canvas unterstützten Datentypen aufgeführt.


| Datentyp | Description | Beispiel | 
| --- | --- | --- | 
| Numerischer Wert | Numerische Daten stehen für numerische Werte | 1, 2, 31.1, 1.2. 1.3 | 
| Text | Textdaten stellen Zeichenfolgen wie Namen oder Beschreibungen dar | A, B, C, DApfel, Banane, Orange1A\$1 , 2A\$1 , 3A\$1 | 
| DateTime | Datetime-Daten stellen Daten und Uhrzeiten im Zeitstempelformat dar | 01.07.2019 01:00:00, 01.07.2019 02:00:00, 01.07.2019 03:00:00 | 

Die folgende Tabelle führt alle unterstützten Feature-Typen in Canvas auf.


| Feature-Typ | Description | Beispiel | 
| --- | --- | --- | 
| Binär | Binäre Merkmale stellen zwei mögliche Werte dar | 0, 1, 0, 1, 0 (2 verschiedene Werte)wahr, falsch, wahr (2 unterschiedliche Werte) | 
| Kategorisch | Kategoriale Merkmale stehen für unterschiedliche Kategorien oder Gruppen | Apfel, Banane, Orange, Apfel (3 unterschiedliche Werte)A, B, C, D, E, A, D, C (5 verschiedene Werte) | 

Gehen Sie wie folgt vor, um den Datentyp einer Spalte in einem Datensatz zu ändern.

1. Gehen Sie auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung zur **Spalten- oder **Rasteransicht**** und wählen Sie das Dropdownmenü **Datentyp** für die jeweilige Spalte aus.

1. Wählen Sie in der Dropdown-Liste **Datentyp** den Datentyp aus, in den konvertiert werden soll. Der folgende Screenshot zeigt das Dropdown-Menü.  
![\[Das Dropdown-Menü zur Konvertierung von Datentypen für eine Spalte, das auf der Registerkarte Erstellen angezeigt wird.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-change.png)

1. Wählen Sie unter **Spalte** die Spalte aus, für die Sie den Datentyp ändern möchten, oder überprüfen Sie sie.

1. Wählen Sie unter **Neuer Datentyp** den neuen Datentyp aus, in den Sie konvertieren möchten, oder überprüfen Sie ihn.

1. Wenn der **neue Datentyp** `Datetime` oder `Numeric` lautet, wählen Sie unter **Ungültige Werte behandeln** eine der folgenden Optionen aus:

   1. Durch **leeren Wert ersetzen** – Ungültige Werte werden durch einen leeren Wert ersetzt

   1. **Zeilen löschen** – Zeilen mit einem ungültigen Wert werden aus dem Datensatz entfernt

   1. Durch **benutzerdefinierten Wert ersetzen** – Ungültige Werte werden durch den von Ihnen angegebenen **benutzerdefinierten Wert** ersetzt.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

Der Datentyp für Ihre Spalte sollte jetzt aktualisiert sein.

## Bereitstellen von Zeitreihendaten
<a name="canvas-prepare-data-timeseries"></a>

Verwenden Sie die folgenden Funktionen, um Ihre Zeitreihendaten für die Erstellung von Zeitreihen-Prognosemodellen vorzubereiten.

### Abtastung von Zeitreihendaten
<a name="canvas-prepare-data-resample"></a>

Durch das Resampling von Zeitreihendaten können Sie regelmäßige Intervalle für die Beobachtungen in Ihrem Zeitreihendatensatz festlegen. Dies ist besonders nützlich, wenn Sie mit Zeitreihendaten arbeiten, die Beobachtungen in unregelmäßigen Abständen enthalten. Beispielsweise können Sie Resampling verwenden, um einen Datensatz mit Beobachtungen, die alle eine Stunde, zwei Stunden und drei Stunden aufgezeichnet wurden, in ein reguläres Intervall von einer Stunde zwischen den Beobachtungen umzuwandeln. Prognosealgorithmen erfordern, dass die Beobachtungen in regelmäßigen Abständen gemacht werden.

Gehen Sie wie folgt vor, um Zeitreihendaten erneut abzutasten.

1. Wählen Sie in der SageMaker Canvas-Anwendung auf der Registerkarte **Erstellen** die Option **Time series** aus.

1. Wählen Sie **Resample**.

1. Wählen Sie unter **Timestamp-Spalte** die Spalte aus, auf die Sie die Transformation anwenden möchten. Sie können nur Spalten vom Typ **Datetime** auswählen.

1. Wählen Sie im Bereich **Frequenzeinstellungen** eine **Frequenz** und eine **Rate** aus. **Frequenz** ist die Einheit der Frequenz und **Rate** ist das Intervall der Frequenzeinheit, das auf die Spalte angewendet werden soll. Wenn Sie beispielsweise für **Häufigkeitswert** und `Calendar Day` `1` für **Rate** wählen, wird das Intervall so festgelegt, dass es alle einen Kalendertag verlängert wird, z. B. `2023-03-26 00:00:00`, `2023-03-27 00:00:00`,`2023-03-28 00:00:00`. Eine vollständige Liste der **Häufigkeitswerte** finden Sie in der Tabelle nach diesem Verfahren. 

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

In der folgenden Tabelle sind alle **Frequenztypen** aufgeführt, die Sie beim Resampling von Zeitreihendaten auswählen können.


| Frequency (Frequenz) | Description | Beispielwerte (vorausgesetzt, Rate ist 1) | 
| --- | --- | --- | 
|  Geschäftstag  |  Geben Sie für die Beobachtungen in der Datetime-Spalte eine Stichprobe von 5 Geschäftstagen der Woche (Montag, Dienstag, Mittwoch, Donnerstag, Freitag) ein  |  2023-03-24 00:00:00 2023-03-27 00:00:00 2023-03-28 00:00:00 2023-03-29 00:00:00 2023-03-30 00:00:00 2023-03-31 00:00:00 2023-04-03 00:00:00  | 
|  Kalendertag  |  Geben Sie den Beobachtungen in der Datetime-Spalte eine Stichprobe für alle 7 Wochentage (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag)  |  2023-03-26 00:00:00 2023-03-27 00:00:00 2023-03-28 00:00:00 2023-03-29 00:00:00 2023-03-30 00:00:00 2023-03-31 00:00:00 2023-04-01 00:00:00  | 
|  Woche  |  Nehmen Sie für die Beobachtungen in der Datetime-Spalte eine Neuberechnung auf den ersten Tag jeder Woche vor  |  2023-03-13 00:00:00 2023-03-20 00:00:00 2023-03-27 00:00:00 2023-04-03 00:00:00  | 
|  Monat  |  Vervollständigen Sie die Beobachtungen in der Datetime-Spalte mit dem ersten Tag jedes Monats  |  2023-03-01 00:00:00 2023-04-01 00:00:00 2023-05-01 00:00:00 2023-06-01 00:00:00  | 
|  Jährliches Quartal  |  Geben Sie für die Beobachtungen in der Datetime-Spalte eine Stichprobe auf den letzten Tag jedes Quartals zurück  |  2023-03-31 00:00:00 2023-06-30 00:00:00 2023-09-30 00:00:00 2023-12-31 00:00:00  | 
|  Jahr  |  Nehmen Sie für die Beobachtungen in der Datetime-Spalte eine Neuberechnung auf den letzten Tag jedes Jahres vor  |  31.12.2022 0:00:00 2023-12-31 00:00:00 2024-12-31 00:00:00  | 
|  Stunde  |  Fügen Sie Beobachtungen in der Datetime-Spalte für jede Stunde jeden Tages neu.  |  2023-03-24 00:00:00 2023-03-24 01:00:00 2023-03-24 02:00:00 2023-03-24 03:00:00  | 
|  Minute  |  Geben Sie für die Beobachtungen in der Datetime-Spalte eine Neuberechnung für jede Minute jeder Stunde ein  |  2023-03-24 00:00:00 2023-03-24 00:01:00 2023-03-24 00:02:00 2023-03-24 00:03:00  | 
|  Sekunde  |  Geben Sie für die Beobachtungen in der Datetime-Spalte eine Neuberechnung auf jede Sekunde jeder Minute ein  |  2023-03-24 00:00:00 2023-03-24 00:00:01 2023-03-24 00:00:02 2023-03-24 00:00:03  | 

Wenn Sie die Resampling-Transformation anwenden, können Sie mit der Option **Erweitert** angeben, wie die Ergebniswerte der restlichen Spalten (mit Ausnahme der Zeitstempelspalte) in Ihrem Datensatz geändert werden. Dies kann erreicht werden, indem Sie die Resampling-Methode angeben, bei der es sich entweder um ein Downsampling oder ein Upsampling sowohl für numerische als auch für nicht numerische Spalten handeln kann.

Durch das *Downsampling* wird das Intervall zwischen den Beobachtungen im Datensatz verlängert. Wenn Sie beispielsweise Beobachtungen, die entweder jede Stunde oder alle zwei Stunden aufgenommen werden, neu berechnen, wird jede Beobachtung in Ihrem Datensatz alle zwei Stunden aufgenommen. Die Werte anderer Spalten der stündlichen Beobachtungen werden mithilfe einer Kombinationsmethode zu einem einzigen Wert aggregiert. Die folgenden Tabellen zeigen ein Beispiel für die Neuabtastung von Zeitreihendaten unter Verwendung des Mittelwerts als Kombinationsmethode. Die Daten werden alle zwei Stunden auf jede Stunde heruntergerechnet.

Die folgende Tabelle zeigt die stündlichen Temperaturwerte über einen Tag vor dem Downsampling.


| Zeitstempel | Temperatur (Celsius) | 
| --- | --- | 
| 12:00 pm | 30 | 
| 1:00 am | 32 | 
| 2:00 am | 35 | 
| 3:00 am | 32 | 
| 4:00 am | 30 | 

Die folgende Tabelle zeigt die Temperaturwerte nach dem Downsampling auf alle zwei Stunden.


| Zeitstempel | Temperatur (Celsius) | 
| --- | --- | 
| 12:00 pm | 30 | 
| 2:00 am | 33,5 | 
| 2:00 am | 35 | 
| 4:00 am | 32,5 | 

Gehen Sie wie folgt vor, um Zeitreihendaten neu berechnen zu lassen:

1. Erweitern Sie den Abschnitt **Erweitert ** unter der Transformation **Resample**.

1. Wählen Sie „**Nichtnumerische Kombination**, um die Kombinationsmethode für nicht numerische Spalten anzugeben aus. In der nachfolgenden Tabelle finden Sie eine vollständige Liste der Kombinationsmethoden.

1. Wählen Sie **Numerische Kombination**, um die Kombinationsmethode für numerische Spalten anzugeben aus. In der nachfolgenden Tabelle finden Sie eine vollständige Liste der Kombinationsmethoden.

Wenn Sie keine Kombinationsmethoden angeben, gelten die Standardwerte `Most Common` für die **nichtnumerische Kombination** und `Mean` für die **numerische Kombination**. In der folgenden Tabelle sind die Methoden für numerische und nichtnumerische Kombinationen aufgeführt.


| Methode der Downsampling-Methode | Kombinationsmethode | Description | 
| --- | --- | --- | 
| Nichtnumerische Kombination | Am häufigsten | Aggregieren Sie die Werte in der nicht numerischen Spalte nach dem am häufigsten vorkommenden Wert | 
| Nichtnumerische Kombination | Letzte | Aggregieren Sie die Werte in der nicht numerischen Spalte nach dem letzten Wert in der Spalte | 
| Nichtnumerische Kombination | Erste | Aggregieren Sie die Werte in der nicht numerischen Spalte nach dem ersten Wert in der Spalte | 
| Numerische Kombination | Mean | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie den Mittelwert aller Werte in der Spalte bilden | 
| Numerische Kombination | Median | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie den Median aller Werte in der Spalte bilden | 
| Numerische Kombination | Min | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie das Minimum aller Werte in der Spalte nehmen | 
| Numerische Kombination | Max | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie das Maximum aller Werte in der Spalte nehmen | 
| Numerische Kombination | Summe | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie alle Werte in der Spalte addieren | 
| Numerische Kombination | Quantil | Aggregieren Sie die Werte in der numerischen Spalte, indem Sie das Quantil aller Werte in der Spalte nehmen | 

Durch *Upsampling* wird das Intervall zwischen den Beobachtungen im Datensatz reduziert. Wenn Sie beispielsweise Beobachtungen, die alle zwei Stunden aufgenommen werden, in stündliche Beobachtungen umwandeln, werden die Werte der anderen Spalten der stündlichen Beobachtungen anhand der Werte interpoliert, die alle zwei Stunden aufgenommen wurden.

Gehen Sie wie folgt vor, um Zeitreihendaten hochzuladen:

1. Erweitern Sie den Abschnitt **Erweitert** unter der Transformation **Resample**.

1. Wählen Sie **Nichtnumerische Schätzung**, um die Schätzmethode für nicht numerische Spalten anzugeben. Eine vollständige Liste der Methoden finden Sie in der Tabelle nach diesem Verfahren.

1. Wählen Sie **Numerische Schätzung**, um die Schätzmethode für numerische Spalten anzugeben. In der nachfolgenden Tabelle finden Sie eine vollständige Liste der Methoden.

1. (Optional) Wählen Sie **ID-Spalte**, um die Spalte anzugeben, die IDs die Beobachtungen der Zeitreihe enthält. Geben Sie diese Option an, wenn Ihr Datensatz zwei Zeitreihen enthält. Wenn Sie eine Spalte haben, die nur eine Zeitreihe darstellt, geben Sie keinen Wert für dieses Feld an. Sie können beispielsweise einen Datensatz haben, der die Spalten `id` und `purchase` enthält. Die `id` Spalte hat die folgenden Werte: `[1, 2, 2, 1]`. Die `purchase` Spalte hat die folgenden Werte `[$2, $3, $4, $1]`. Daher hat der Datensatz zwei Zeitreihen – eine Zeitreihe ist: `1: [$2, $1]` und die andere Zeitreihe ist `2: [$3, $4]`.

Wenn Sie keine Schätzmethoden angeben, gelten die Standardwerte `Forward Fill` für **nichtnumerische Schätzung** und `Linear` für **numerische Schätzung**. In der folgende Tabelle sind die Schätzmethoden aufgeführt.


| Upsampling-Methode | Methode zur Schätzung | Description | 
| --- | --- | --- | 
| Nichtnumerische Schätzung | Vorwärts füllen | Interpolieren Sie Werte in der nicht numerischen Spalte, indem Sie nach allen Werten in der Spalte die aufeinanderfolgenden Werte nehmen | 
| Nichtnumerische Schätzung | Rückwärts füllen | Interpolieren Sie Werte in der nicht numerischen Spalte, indem Sie die aufeinanderfolgenden Werte vor allen Werten in der Spalte nehmen | 
| Nichtnumerische Schätzung | Immer wieder vermisst | Interpolieren Sie Werte in der nicht numerischen Spalte, indem Sie leere Werte anzeigen | 
| Numerische Schätzung | Linear, Zeit, Index, Null, S-Linear, Nearest, Quadratisch, Kubisch, Baryzentrisch, Polynomial, Krogh, Stückweises Polynom, Spline, P-Chip, Akima, Kubisches Spline, Aus Ableitungen | Interpolieren Sie Werte in der numerischen Spalte mithilfe des angegebenen Interpolators. [Informationen zu Interpolationsmethoden finden Sie unter Pandas. DataFrame.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html) in der Pandas-Dokumentation. | 

Der folgende Screenshot zeigt die **erweiterten** Einstellungen mit ausgefüllten Feldern für Downsampling und Upsampling.

![\[Die Canvas-Anwendung mit dem Seitenbereich für das Resampling von Zeitreihen mit den erweiterten Optionen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-resampling.png)


### Verwenden von Datums-/Uhrzeitab
<a name="canvas-prepare-data-datetime"></a>

Mit der Datetime-Extraktionstransformation können Sie Werte aus einer Datetime-Spalte in eine separate Spalte extrahieren. Wenn Sie beispielsweise über eine Spalte mit Kaufdaten verfügen, können Sie den Monatswert in eine separate Spalte extrahieren und die neue Spalte beim Erstellen Ihres Modells verwenden. Sie können mit einer einzigen Transformation auch mehrere Werte in separate Spalten extrahieren.

Ihre Datetime-Spalte muss ein unterstütztes Zeitstempelformat verwenden. Eine Liste der Formate, die SageMaker Canvas unterstützt, finden Sie unter. [Zeitreihenprognosen in Amazon SageMaker Canvas](canvas-time-series.md) Wenn Ihr Datensatz keines der unterstützten Formate verwendet, aktualisieren Sie Ihren Datensatz auf ein unterstütztes Zeitstempelformat und importieren Sie ihn erneut in Amazon SageMaker Canvas, bevor Sie Ihr Modell erstellen.

Gehen Sie wie folgt vor, um eine Datums-/Uhrzeit-Extraktion durchzuführen.

1. **Wählen Sie auf der Registerkarte **Erstellen** der SageMaker Canvas-Anwendung in der Transformationsleiste die Option Alle anzeigen aus.**

1. Wählen Sie **Funktionen extrahieren**.

1. Wählen Sie die **Timestamp-Spalte** aus, aus der Sie Werte extrahieren möchten.

1. Wählen Sie unter **Werte** einen oder mehrere Werte aus, die aus der Spalte extrahiert werden sollen. Die Werte, die Sie aus einer Zeitstempelspalte extrahieren können, sind **Jahr**, **Monat**, **Tag**, **Stunde**, **Woche des Jahres**, **Tag des Jahres** und **Quartal**.

1. (Optional) Wählen Sie **Vorschau**, um eine Vorschau der Transformationsergebnisse anzuzeigen.

1. Wählen Sie **Hinzufügen**, um die Transformation zum **Modellrezept** hinzuzufügen.

SageMaker Canvas erstellt für jeden der Werte, die Sie extrahieren, eine neue Spalte im Datensatz. Mit Ausnahme der **Jahreswerte** verwendet SageMaker Canvas eine auf 0 basierende Kodierung für die extrahierten Werte. Wenn Sie beispielsweise den **Monatswert** extrahieren, wird Januar als 0 und Februar als 1 extrahiert.

![\[Screenshot des Datetime-Extraktionsfeldes in der SageMaker Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-datetime-extract.png)


Die Transformation ist im Abschnitt **Modellrezept** aufgeführt. Wenn Sie die Transformation aus dem Abschnitt **Modellrezept** entfernen, werden die neuen Spalten aus dem Datensatz entfernt.

# Bewertung des Modells
<a name="canvas-evaluate-model"></a>

Nachdem Sie Ihr Modell erstellt haben, können Sie bewerten, wie gut Ihr Modell bei Ihren Daten abgeschnitten hat, bevor Sie es für Vorhersagen verwenden. Sie können Informationen wie die Genauigkeit des Modells bei der Vorhersage von Labels und erweiterten Metriken verwenden, um festzustellen, ob Ihr Modell ausreichend genaue Vorhersagen für Ihre Daten treffen kann.

Im Abschnitt [Bewerten Sie die Leistung Ihres Modells](canvas-scoring.md)wird beschrieben, wie Sie die Informationen auf der Seite **Analysieren** Ihres Modells anzeigen und interpretieren können. Der Abschnitt [Verwenden Sie erweiterte Metriken in Ihren Analysen](canvas-advanced-metrics.md) enthält detailliertere Informationen zu den **erweiterten Metriken**, mit denen die Genauigkeit Ihres Modells quantifiziert wird.

Sie können sich auch detailliertere Informationen zu bestimmten *Modellkandidaten* anzeigen lassen. Dabei handelt es sich um alle Modelliterationen, die Canvas bei der Erstellung Ihres Modells durchläuft. Basierend auf den erweiterten Metriken für einen bestimmten Modellkandidaten können Sie einen anderen Kandidaten als Standardkandidaten oder die Version auswählen, die für Prognosen und die Bereitstellung verwendet wird. Für jeden Modellkandidaten können Sie sich die Informationen zu den **erweiterten Metriken** ansehen, um zu entscheiden, welchen Modellkandidaten Sie als Standard auswählen möchten. Sie können diese Informationen einsehen, indem Sie den Modellkandidaten aus der **Modell-Bestenliste** auswählen. Weitere Informationen finden Sie unter [Anzeigen von Modellkandidaten in der Modell-Bestenliste](canvas-evaluate-model-candidates.md).

Canvas bietet auch die Möglichkeit, ein Jupyter Notebook herunterzuladen, damit Sie den Code, der zum Erstellen Ihres Modells verwendet wurde, anzeigen und ausführen können. Dies ist nützlich, wenn Sie Anpassungen am Code vornehmen oder mehr darüber erfahren möchten, wie Ihr Modell erstellt wurde. Weitere Informationen finden Sie unter [Herunterladen eines Modell-Notebooks](canvas-notebook.md).

# Bewerten Sie die Leistung Ihres Modells
<a name="canvas-scoring"></a>

Amazon SageMaker Canvas bietet Übersichts- und Bewertungsinformationen für die verschiedenen Modelltypen. Anhand der Punktzahl Ihres Modells können Sie feststellen, wie genau Ihr Modell ist, wenn es Vorhersagen trifft. Die zusätzlichen Erkenntnisse zur Bewertung können Ihnen helfen, die Unterschiede zwischen den tatsächlichen und den vorhergesagten Werten zu quantifizieren.

Um die Analyse Ihres Modells anzusehen, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie das Modell aus, das Sie gebaut haben.

1. Wählen Sie im Navigationsbereich die Registerkarte **Analyzieren** aus.

1. Auf der Registerkarte **Analysieren** können Sie die Übersicht und die Bewertungsinformationen für Ihr Modell einsehen.

In den folgenden Abschnitten wird die Interpretation der Bewertung für jeden Modelltyp beschrieben.

## Bewerten Sie kategoriale Vorhersagemodelle
<a name="canvas-scoring-categorical"></a>

Auf der Registerkarte **Übersicht** werden die Auswirkungen der einzelnen Spalten angezeigt. Die **Auswirkung auf Spalten** ist ein Prozentwert, der angibt, wie wichtig eine Spalte im Vergleich zu den anderen Spalten für Prognosen ist. Bei einer Spaltenauswirkung von 25% gewichtet Canvas die Prognose mit 25% für die Spalte und 75% für die anderen Spalten.

Der folgende Screenshot zeigt den **Genauigkeitswert** für das Modell zusammen mit der **Optimierungsmetrik**. Dabei handelt es sich um die Metrik, die Sie beim Erstellen des Modells für die Optimierung ausgewählt haben. In diesem Fall ist die **Optimierungsmetrik** **Accuracy**. Sie können eine andere Optimierungsmetrik angeben, wenn Sie eine neue Version Ihres Modells erstellen.

![\[Screenshot des Genauigkeitswerts und der Optimierungsmetrik auf der Registerkarte Analysieren in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-category.png)


Auf der Registerkarte **Bewertung** für ein kategoriales Prognosemodell können Sie alle Vorhersagen visualisieren. Liniensegmente erstrecken sich von links auf der Seite und geben alle Vorhersagen an, die das Modell getroffen hat. In der Mitte der Seite laufen die Liniensegmente zu einem senkrechten Segment zusammen, um das Verhältnis der einzelnen Vorhersagen zu einer einzelnen Kategorie anzugeben. Von der vorhergesagten Kategorie verzweigen sich die Segmente zur tatsächlichen Kategorie. Sie können sich ein Bild davon machen, wie genau die Vorhersagen waren, indem Sie jedem Liniensegment von der vorhergesagten Kategorie bis zur tatsächlichen Kategorie folgen.

Die folgende Abbildung zeigt ein Beispiel für einen Abschnitt **Bewertung** für ein **Vorhersagemodell mit mehr als 3 Kategorien**.

![\[Screenshot der Registerkarte Bewertung für ein Vorhersagemodell für Kategorien mit mehr als 3 Kategorien.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-multiclass-classification.png)


Auf der Registerkarte **Erweiterte Metriken** finden Sie auch detailliertere Informationen zur Leistung Ihres Modells, z. B. erweiterte Metriken, Fehlerdichtediagramme oder Konfusionsmatrizen. Weitere Informationen zur Registerkarte **Erweiterte Metriken** finden Sie unter [Verwenden Sie erweiterte Metriken in Ihren Analysen](canvas-advanced-metrics.md).

## Evaluieren Sie numerische Vorhersagemodelle
<a name="canvas-scoring-numeric"></a>

Auf der Registerkarte **Übersicht** werden die Auswirkungen der einzelnen Spalten angezeigt. Die **Auswirkung auf Spalten** ist ein Prozentwert, der angibt, wie wichtig eine Spalte im Vergleich zu den anderen Spalten für Prognosen ist. Bei einer Spaltenauswirkung von 25% gewichtet Canvas die Prognose mit 25% für die Spalte und 75% für die anderen Spalten.

Der folgende Screenshot zeigt die**RMSE** Punktzahl für das Modell auf der Registerkarte **Übersicht**. In diesem Fall handelt es sich um die **Optimierungsmetrik**. Die **Optimierungsmetrik** ist die Metrik, die Sie beim Erstellen des Modells optimieren möchten. Sie können eine andere Optimierungsmetrik angeben, wenn Sie eine neue Version Ihres Modells erstellen.

![\[Screenshot der RMSE-Optimierungsmetrik auf der Registerkarte Analysieren in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-numeric.png)


Auf der Registerkarte **Bewertung** für numerische Vorhersagen wird eine Linie angezeigt, die den prognostizierten Wert des Modells im Verhältnis zu den Daten angibt, die für die Vorhersagen verwendet wurden. Die Werte der numerischen Vorhersage entsprechen häufig \$1/- dem RMSE-Wert (Root Mean Squared Error). Der vom Modell vorhergesagte Wert liegt häufig im Bereich des RMSE. Die Breite des violetten Bandes um die Linie gibt den RMSE-Bereich an. Die vorhergesagten Werte liegen häufig innerhalb des Bereichs.

Die folgende Abbildung zeigt den Abschnitt **Bewertung** für numerische Vorhersagen.

![\[Screenshot der Registerkarte Bewertung für ein numerisches Prognosemodell.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-analyze-regression-scoring.png)


Auf der Registerkarte **Erweiterte Metriken** finden Sie auch detailliertere Informationen zur Leistung Ihres Modells, z. B. erweiterte Metriken, Fehlerdichtediagramme oder Konfusionsmatrizen. Weitere Informationen zur Registerkarte **Erweiterte Metriken** finden Sie unter [Verwenden Sie erweiterte Metriken in Ihren Analysen](canvas-advanced-metrics.md).

## Evaluieren Sie Zeitreihen-Prognosemodelle
<a name="canvas-scoring-time-series"></a>

Auf der Seite **Analysieren** für Zeitreihen-Prognosemodelle finden Sie einen Überblick über die Metriken des Modells. Bewegen Sie den Mauszeiger über die einzelnen Kennzahlen, um weitere Informationen anzuzeigen, oder sehen Sie sich [Verwenden Sie erweiterte Metriken in Ihren Analysen](canvas-advanced-metrics.md) für detaillierte Informationen zu den einzelnen Kennzahlen an.

Im Abschnitt **Auswirkung auf die Spalten** können Sie den Punktestand für jede Spalte einsehen. Die **Auswirkung auf Spalten** ist ein Prozentwert, der angibt, wie wichtig eine Spalte im Vergleich zu den anderen Spalten für Prognosen ist. Bei einer Spaltenauswirkung von 25% gewichtet Canvas die Prognose mit 25% für die Spalte und 75% für die anderen Spalten.

Der folgende Screenshot zeigt die Ergebnisse der Zeitreihenmetriken für das Modell zusammen mit der **Optimierungsmetrik**. Dabei handelt es sich um die Metrik, die Sie beim Erstellen des Modells für die Optimierung ausgewählt haben. In diesem Fall ist die **Optimierungsmetrik** **RMSE**. Sie können eine andere Optimierungsmetrik angeben, wenn Sie eine neue Version Ihres Modells erstellen. Diese Metrikwerte stammen aus Ihren Backtest-Ergebnissen, die auf der Registerkarte **Artefakte** zum Download zur Verfügung stehen.

![\[Screenshot der RMSE-Optimierungsmetrik auf der Registerkarte Analysieren in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-time-series.png)


Die Registerkarte **Artefakte** bietet Zugriff auf mehrere wichtige Ressourcen, mit denen Sie sich eingehender mit der Leistung Ihres Modells befassen und weiter daran arbeiten können:
+ **Gemischte Trainings- und Validierungsaufteilungen**: Dieser Abschnitt enthält Links zu den Artefakten, die bei der Aufteilung Ihres Datensatzes in Trainings- und Validierungssätze generiert wurden, sodass Sie die Datenverteilung und mögliche Verzerrungen überprüfen können.
+ **Backtest-Ergebnisse**: Dieser Abschnitt enthält einen Link zu den prognostizierten Werten für Ihren Validierungsdatensatz, der zur Generierung von Genauigkeitsmetriken und Bewertungsdaten für Ihr Modell verwendet wird.
+ **Genauigkeitsmetriken**: In diesem Abschnitt werden die erweiterten Metriken aufgeführt, mit denen die Leistung Ihres Modells bewertet wird, z. B. Root Mean Squared Error (RMSE). Weitere Informationen zu den jeweiligen Metriken finden Sie unter [Metriken für Zeitreihenprognosen](canvas-metrics.md#canvas-time-series-forecast-metrics).
+ **Bericht zur Erklärbarkeit**: Dieser Abschnitt enthält einen Link zum Herunterladen des Berichts zur Erklärbarkeit, der Einblicke in den Entscheidungsprozess des Modells und die relative Bedeutung der Eingabespalten bietet. Dieser Bericht kann Ihnen dabei helfen, Verbesserungspotenziale zu identifizieren.

Auf der Seite **Analysieren** können Sie auch auf die Schaltfläche **Herunterladen** klicken, um die Backtest-Ergebnisse, Genauigkeitsmetriken und Artefakte der Berichte zur Erklärbarkeit direkt auf Ihren lokalen Computer herunterzuladen.

## Evaluieren Sie Bildvorhersagemodelle
<a name="canvas-scoring-image"></a>

Auf der Registerkarte **Übersicht** wird die **Leistung pro Etikett** angezeigt, sodass Sie einen Gesamtgenauigkeitswert für die für jedes Etikett vorhergesagten Bilder erhalten. Sie können ein Etikett auswählen, um genauere Details zu sehen, z. B. die Bilder **Korrekt vorhergesagt** und **Falsch vorhergesagt** für das Etikett.

Sie können den **Heatmap-Schalter** einschalten, um für jedes Bild eine Heatmap zu sehen. Die Heatmap zeigt Ihnen die Interessenbereiche, die den größten Einfluss haben, wenn Ihr Modell Vorhersagen trifft. Weitere Informationen zu Heatmaps und deren Verwendung zur Verbesserung Ihres Modells erhalten Sie, wenn Sie neben dem **Heatmap-Schalter** auf das Symbol **Weitere Informationen** klicken.

Auf der Registerkarte **Bewertung** für Modelle zur Vorhersage von Bildern mit nur einem Label können Sie vergleichen, was das Modell als Bezeichnung vorhergesagt hat, und was das tatsächliche Etikett war. Sie können bis zu 10 Etiketten auf einmal auswählen. Sie können die Beschriftungen in der Visualisierung ändern, indem Sie das Dropdown-Menü Beschriftungen auswählen und Beschriftungen auswählen oder deren Auswahl aufheben.

Sie können auch Erkenntnisse für einzelne Beschriftungen oder Gruppen von Beschriftungen anzeigen, z. B. für die drei Beschriftungen mit der höchsten oder niedrigsten Genauigkeit, indem Sie im Abschnitt Einblicke zur **Modellgenauigkeit** das Dropdown-Menü **Ergebnisse anzeigen für** auswählen.

Der folgende Screenshot zeigt die **Bewertungsinformationen** für ein Bildvorhersagemodell mit einem einzigen Etikett.

![\[Tatsächliche und vorhergesagte Labels auf der Bewertungsseite für ein Textvorhersagemodell mit mehreren Kategorien.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/analyze-image-scoring.png)


## Evaluieren Sie Modelle zur Textvorhersage
<a name="canvas-scoring-text"></a>

Auf der Registerkarte **Übersicht** wird die **Leistung pro Etikett** angezeigt, sodass Sie einen Gesamtwert für die Genauigkeit der für jedes Etikett vorhergesagten Textpassagen erhalten. Sie können ein Etikett auswählen, um genauere Details zu sehen, z. B. die Textpassagen **Korrekt vorhergesagt** und **Falsch vorhergesagt** für das Etikett.

Die Registerkarte **Bewertung** für Textvorhersagemodelle mit mehreren Kategorien zeigt Ihnen einen Vergleich zwischen dem, was das Modell als Bezeichnung vorhergesagt hat, und dem, was das tatsächliche Etikett war.

Im Abschnitt **Einblicke in die Modellgenauigkeit** finden Sie die **Kategorie „Am häufigsten**“. Sie gibt an, welche Kategorie das Modell am häufigsten vorhergesagt hat, und wie genau diese Vorhersagen waren. Wenn Ihr Modell in 99% der Fälle **positiv** vorhersagt, können Sie sich ziemlich sicher sein, dass Ihr Modell positive Stimmungen im Text gut vorhersagen kann.

Der folgende Screenshot zeigt die **Bewertungsinformationen** für ein Textvorhersagemodell mit mehreren Kategorien.

![\[Tatsächliche und vorhergesagte Labels auf der Bewertungsseite für ein Bildvorhersagemodell mit nur einer Bezeichnung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/analyze-text-scoring.png)


# Verwenden Sie erweiterte Metriken in Ihren Analysen
<a name="canvas-advanced-metrics"></a>

Im folgenden Abschnitt wird beschrieben, wie Sie die erweiterten Metriken für Ihr Modell in Amazon SageMaker Canvas finden und interpretieren.

**Anmerkung**  
Erweiterte Metriken sind derzeit nur für numerische und kategoriale Vorhersagemodelle verfügbar.

Gehen Sie wie folgt vor, um die Registerkarte **Erweiterte Metriken** zu finden:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie das Modell aus, das Sie gebaut haben.

1. Wählen Sie im Navigationsbereich die Registerkarte **Analyzieren** aus.

1. Wählen Sie auf der Registerkarte **Analysieren** die Registerkarte **Erweiterte Metriken** aus.

Auf der Registerkarte **Erweiterte Metriken** finden Sie die Registerkarte **Leistung**. Die Seite sieht wie im folgenden Screenshot aus.

![\[Screenshot der Registerkarte „Erweiterte Metriken“ für ein kategoriales Prognosemodell.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-analyze-performance.png)


Oben sehen Sie eine Übersicht über die Ergebnisse der Metriken, einschließlich der **Optimierungsmetrik**. Dabei handelt es sich um die Metrik, die Sie bei der Erstellung des Modells zur Optimierung ausgewählt haben (oder die von Canvas standardmäßig ausgewählt wurde).

In den folgenden Abschnitten werden detailliertere Informationen zur Registerkarte **Leistung** in den **erweiterten Metriken** beschrieben.

## Leistung
<a name="canvas-advanced-metrics-performance"></a>

Auf der Registerkarte **Leistung** sehen Sie eine **Tabelle mit Metriken** sowie Visualisierungen, die Canvas auf der Grundlage Ihres Modelltyps erstellt. Für kategoriale Vorhersagemodelle bietet Canvas eine *Wahrheitsmatrix*, während Canvas für numerische Vorhersagemodelle *Residuen* und *Fehlerdichte*-Diagramme bereitstellt.

In der **Tabelle mit den Metriken** finden Sie eine vollständige Liste der Ergebnisse Ihres Modells für jede erweiterte Metrik, die umfassender ist als die Ergebnisübersicht oben auf der Seite. Die hier angezeigten Metriken hängen von Ihrem Modelltyp ab. Eine Referenz, die Ihnen hilft, die einzelnen Metriken zu verstehen und zu interpretieren, finden Sie unter [Referenz zu den Metriken](canvas-metrics.md).

Informationen zu den Visualisierungen, die je nach Modelltyp angezeigt werden können, finden Sie in den folgenden Optionen:
+ **Wahrheitsmatrix** – Canvas verwendet Konfusionsmatrizen, um Ihnen zu helfen, zu visualisieren, wann ein Modell korrekte Vorhersagen trifft. In einer Konfusionsmatrix sind Ihre Ergebnisse so angeordnet, dass die vorhergesagten Werte mit den tatsächlichen Werten verglichen werden. Im folgenden Beispiel wird erklärt, wie eine Konfusionsmatrix für ein Vorhersagemodell mit zwei Kategorien funktioniert, das positive und negative Kennzeichnungen vorhersagt:
  + Richtig positiv – Das Modell hat korrekt positiv vorhergesagt, als das wahre Etikett positiv war.
  + Richtig negativ – Das Modell hat korrekt negativ vorhergesagt, obwohl das wahre Etikett negativ war.
  + Falsch positiv – Das Modell hat fälschlicherweise positiv vorhergesagt, obwohl das wahre Etikett negativ war.
  + Falsch negativ – Das Modell hat fälschlicherweise negativ vorhergesagt, obwohl das wahre Etikett positiv war.
+ **Präzisions-Recall-Kurve**: Die Präzisions-Recall-Kurve ist eine Visualisierung des Präzisionswerts des Modells, der gegen den Recall-Score des Modells aufgetragen wird. Im Allgemeinen würde ein Modell, das perfekte Vorhersagen treffen kann, sowohl eine Präzisions- als auch eine Recall-Bewertung von 1 aufweisen. Die Präzisions-Recall-Kurve für ein recht genaues Modell ist sowohl hinsichtlich der Präzision als auch des Recalls relativ hoch.
+ **Residuen**: Residuen sind die Differenz zwischen den tatsächlichen Werten und den vom Modell vorhergesagten Werten. Ein Residuen-Diagramm stellt die Residuen gegenüber den entsprechenden Werten dar, um ihre Verteilung und etwaige Muster oder Ausreißer zu visualisieren. Eine normale Verteilung der Residuen um Null herum zeigt, dass das Modell gut zu den Daten passt. Wenn die Residuen jedoch stark verzerrt sind oder Ausreißer aufweisen, kann dies darauf hindeuten, dass das Modell die Daten überanpasst oder dass andere Probleme vorliegen, die behoben werden müssen.
+ **Fehlerdichte**: Ein Fehlerdichte-Diagramm ist eine Darstellung der Verteilung der Fehler, die ein Modell macht. Es zeigt die Wahrscheinlichkeitsdichte der Fehler an jedem Punkt und hilft Ihnen dabei, Bereiche zu identifizieren, in denen das Modell möglicherweise überangepasst ist oder systematische Fehler macht.

# Anzeigen von Modellkandidaten in der Modell-Bestenliste
<a name="canvas-evaluate-model-candidates"></a>

Wenn Sie einen [Standard-Build](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) für tabellarische Prognosemodelle und Zeitreihenprognosemodelle in Amazon SageMaker Canvas ausführen, trainiert SageMaker KI mehrere *Modellkandidaten* (verschiedene Iterationen des Modells) und wählt standardmäßig den mit dem höchsten Wert für die Optimierungsmetrik aus. Für tabellarische Modelle erstellt Canvas bis zu 250 verschiedene Modellkandidaten mithilfe verschiedener Algorithmen und Hyperparametereinstellungen. Für Zeitreihen-Prognosemodelle erstellt Canvas sieben verschiedene Modelle – eines für jeden der [unterstützten Prognosealgorithmen](canvas-advanced-settings.md#canvas-advanced-settings-time-series) und ein Ensemble-Modell, das die Vorhersagen der anderen Modelle mittelt, um die Genauigkeit zu optimieren.

Der Standardmodellkandidat ist die einzige Version, die Sie in Canvas für Aktionen wie Vorhersagen, Registrierung in der Model Registry oder Bereitstellung an einem Endpunkt verwenden können. Sie sollten jedoch alle Modellkandidaten überprüfen und einen anderen Kandidaten als Standardmodell auswählen. Sie können alle Modellkandidaten und weitere Details zu jedem Kandidaten auf der **Model-Bestenliste** in Canvas einsehen.

Um die **Modell-Bestenliste** einzusehen, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die Canvas-Anwendung SageMaker .

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie das Modell aus, das Sie gebaut haben.

1. Wählen Sie im Navigationsbereich die Registerkarte **Analyzieren** aus.

1. Wählen Sie auf der Registerkarte **Analysieren** die Option **Modell-Bestenliste** aus.

Die Seite mit der **Modell-Bestenliste** wird geöffnet, die für tabellarische Modelle wie im folgenden Screenshot aussieht.

![\[Die Modell-Bestenliste, in der alle Modellkandidaten aufgeführt sind, die Canvas trainiert hat.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-model-leaderboard.png)


Bei den Zeitreihen-Prognosemodellen werden 7 Modelle angezeigt, darunter jeweils eines für jeden von Canvas unterstützten Zeitreihen-Prognosealgorithmus und ein Ensemble-Modell. Weitere Informationen die Algorithmen finden Sie unter [Erweiterte Einstellungen für Zeitreihen-Prognosemodelle](canvas-advanced-settings.md#canvas-advanced-settings-time-series).

Im vorherigen Screenshot können Sie sehen, dass der erste aufgeführte Modellkandidat als **Standardmodell** markiert ist. Dies ist der Modellkandidat, mit dem Sie Vorhersagen treffen oder die Bereitstellung auf Endpunkten durchführen können.

Um detailliertere Metrikinformationen zu den Modellkandidaten anzuzeigen und diese zu vergleichen, können Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen und **Modelldetails anzeigen** auswählen.

**Wichtig**  
 Das Laden der Modelldetails für Modellkandidaten, die nicht dem Standard entsprechen, kann einige Minuten dauern (in der Regel weniger als 10 Minuten), und es fallen Gebühren für SageMaker AI Hosting an. Weitere Informationen finden Sie unter [SageMaker KI-Preise](https://aws.amazon.com/sagemaker/pricing/).

Der Modellkandidat wird auf der Registerkarte **Analysieren** geöffnet und die angezeigten Metriken sind spezifisch für diesen Modellkandidaten. Wenn Sie mit der Überprüfung der Metriken des Modellkandidaten fertig sind, können Sie zurückgehen oder die Ansicht verlassen, um zur **Modell-Bestenliste** zurückzukehren.

Wenn Sie das **Standardmodell** auf einen anderen Kandidaten festlegen möchten, klicken Sie auf das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) und wählen Sie **Zum Standardmodell wechseln** aus. Das Ändern des Standardmodells für ein im HPO-Modus trainiertes Modell kann mehrere Minuten dauern.

**Anmerkung**  
Wenn Ihr Modell bereits in der Produktion eingesetzt, in [der Model Registry registriert](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html) ist oder mit [Automatisierungen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-automations.html) ausgestattet ist, müssen Sie Ihre Bereitstellung, Model Registry oder Automatisierungen löschen, bevor Sie das Standardmodell ändern können.

# Referenz zu den Metriken
<a name="canvas-metrics"></a>

In den folgenden Abschnitten werden die Metriken beschrieben, die in Amazon SageMaker Canvas für jeden Modelltyp verfügbar sind.

## Metriken für numerische Vorhersagen
<a name="canvas-numeric-metrics"></a>

Die folgende Liste definiert die Metriken für numerische Vorhersagen in SageMaker Canvas und gibt Ihnen Informationen darüber, wie Sie sie verwenden können.
+ InferenceLatency — Die ungefähre Zeitspanne zwischen der Anforderung einer Modellvorhersage und deren Empfang von einem Echtzeit-Endpunkt, auf dem das Modell bereitgestellt wird. Diese Metrik wird in Sekunden gemessen und ist nur für Modelle verfügbar, die im **Ensembling**-Modus erstellt wurden.
+ MAE – Mittlerer absoluter Fehler. Im Durchschnitt entspricht die Vorhersage für die Zielspalte \$1/- \$1MAE\$1 dem tatsächlichen Wert.

  Misst, wie stark die prognostizierten und tatsächlichen Werte voneinander abweichen, wenn sie über alle Werte gemittelt werden. MAE wird häufig in der numerischen Vorhersage verwendet, um Fehler bei der Modellprognose zu verstehen. Wenn die Vorhersagen linear sind, stellt MAE den durchschnittlichen Abstand zwischen einer vorhergesagten Linie und dem tatsächlichen Wert dar. MAE ist definiert als die Summe der absoluten Fehler geteilt durch die Anzahl der Beobachtungen. Die Werte reichen von 0 bis unendlich. Dabei weisen kleinere Zahlen auf eine bessere Anpassung des Modells an die Daten hin.
+ MAPE – Mittlerer absoluter Fehler in Prozent. Im Durchschnitt liegt die Vorhersage für die Zielspalte \$1/- \$1MAPE\$1% vom tatsächlichen Wert ab.

  MAPE ist der Mittelwert der absoluten Differenzen zwischen den tatsächlichen Werten und den vorhergesagten oder geschätzten Werten, geteilt durch die tatsächlichen Werte und ausgedrückt als Prozentsatz. Ein niedrigerer MAPE-Wert weist auf eine bessere Leistung hin, da dies bedeutet, dass die vorhergesagten oder geschätzten Werte näher an den tatsächlichen Werten liegen.
+ MSE – Mittlerer quadratischer Fehler oder der Durchschnitt der quadrierten Differenzen zwischen den vorhergesagten und den tatsächlichen Werten.

  MSE-Werte sind immer positiv. Je besser ein Modell die tatsächlichen Werte vorhersagen kann, desto kleiner ist der MSE-Wert.
+ R2 – Der Prozentsatz der Differenz in der Zielspalte, der durch die Eingabespalte erklärt werden kann.

  Quantifiziert, inwieweit ein Modell die Varianz einer abhängigen Variablen erklären kann. Die Werte reichen von Eins (1) bis negativ Eins (-1). Höhere Zahlen weisen auf einen höheren Anteil der Erklärbarkeit hin. Werte nahe Null (0) deuten darauf hin, dass nur ein sehr geringer Teil der abhängigen Variablen durch das Modell erklärt werden kann. Negative Werte deuten auf eine schlechte Anpassung hin und darauf, dass das Modell durch eine konstante Funktion (oder eine horizontale Linie) übertroffen wird.
+ RMSE – Root Mean Squared Error (quadratischer Mittelwertfehler) oder die Standardabweichung der Fehler.

  Misst die Quadratwurzel der quadrierten Differenz zwischen vorausgesagten und tatsächlichen Werten und wird über alle Werte gemittelt. Es wird verwendet, um Modellvorhersagefehler zu verstehen, und ist ein wichtiger Maßstab, um das Vorhandensein großer Modellfehler und Ausreißer anzuzeigen. Die Werte reichen von Null (0) bis unendlich. Dabei weisen kleinere Zahlen auf eine bessere Anpassung des Modells an die Daten hin. Der RMSE ist skalierungsabhängig und sollte nicht zum Vergleich von Datensätzen unterschiedlicher Art verwendet werden.

## Metriken für kategoriale Vorhersage
<a name="canvas-categorical-metrics"></a>

In diesem Abschnitt werden die Metriken für die kategoriale Vorhersage in SageMaker Canvas definiert und Sie erhalten Informationen darüber, wie Sie sie verwenden können.

Nachfolgend finden Sie eine Liste der verfügbaren Metriken für die 2-Kategorien-Vorhersage:
+ Genauigkeit – Der Prozentsatz der richtigen Vorhersagen.

  Oder das Verhältnis der Anzahl korrekt vorhergesagter Elemente zur Gesamtzahl der Vorhersagen. Die Genauigkeit gibt an, wie nahe die vorhergesagten Klassenwerte an den tatsächlichen Werten liegen. Die Werte für Genauigkeitsmetriken variieren zwischen Null (0) und Eins (1). Der Wert 1 steht für perfekte Genauigkeit, während 0 für völlige Ungenauigkeit steht.
+ AUC – Ein Wert zwischen 0 und 1, der angibt, wie gut Ihr Modell die Kategorien in Ihrem Datensatz trennen kann. Ein Wert von 1 gibt an, dass die Kategorien perfekt getrennt werden konnten.
+ BalancedAccuracy — Misst das Verhältnis von genauen Vorhersagen zu allen Vorhersagen.

  Dieses Verhältnis wird berechnet, nachdem wirklich positive (TP) und True negative Werte (TN) durch die Gesamtzahl der positiven (P) und negativen (N) Werte normalisiert wurden. Er ist wie folgt definiert: `0.5*((TP/P)+(TN/N))`, mit Werten im Bereich von 0 bis 1. Die Metrik „BalancedAccuracy“ liefert ein besseres Maß für die Genauigkeit, wenn die Anzahl der positiven oder negativen Ergebnisse in einem unausgewogenen Datensatz stark voneinander abweicht, beispielsweise wenn nur 1 % der E-Mails Spam sind.
+ F1 – Ein ausgewogenes Maß für Genauigkeit, das das Klassengleichgewicht berücksichtigt.

  Es handelt sich um den harmonischen Mittelwert der Präzisions- und Recall-Werte, der wie folgt definiert ist: `F1 = 2 * (precision * recall) / (precision + recall)`. Die F1-Werte variieren zwischen 0 und 1. Ein Wert von 1 steht für die bestmögliche Leistung und 0 für die schlechteste.
+ InferenceLatency — Die ungefähre Zeitspanne zwischen der Anforderung einer Modellvorhersage und deren Empfang von einem Echtzeit-Endpunkt, auf dem das Modell bereitgestellt wird. Diese Metrik wird in Sekunden gemessen und ist nur für Modelle verfügbar, die im **Ensembling**-Modus erstellt wurden.
+ LogLoss — Der Logverlust, auch bekannt als Kreuzentropieverlust, ist eine Metrik, die verwendet wird, um die Qualität der Wahrscheinlichkeitsausgaben und nicht die Ergebnisse selbst zu bewerten. Der Protokollverlust ist eine wichtige Kennzahl, die angibt, wann ein Modell mit hoher Wahrscheinlichkeit falsche Voraussagen trifft. Werte liegen zwischen 0 und unendlich. Ein Wert von 0 steht für ein Modell, das die Daten perfekt vorhersagt.
+ Genauigkeit – Von allen Vorhersagen für \$1category x\$1 war die Vorhersage in \$1precision\$1 % der Fälle korrekt.

  Mit der Präzision wird gemessen, wie gut ein Algorithmus unter allen von ihm identifizierten positiven Ergebnissen die wirklich positiven Ergebnisse (TP) voraussagt. Er ist wie folgt definiert: `Precision = TP/(TP+FP)`, mit Werten im Bereich von Null (0) bis Eins (1). Präzision ist eine wichtige Kennzahl, wenn die Kosten eines falsch positiven Ergebnisses hoch sind. Die Kosten eines falsch positiven Ergebnisses sind beispielsweise sehr hoch, wenn ein Flugzeugsicherheitssystem fälschlicherweise als flugsicher eingestuft wird. Ein falsch positives Ergebnis (FP) spiegelt eine positive Voraussage wider, die in den Daten tatsächlich negativ ist.
+ Erinnerung – Das Modell hat korrekt vorausgesagt, dass \$1recall\$1% \$1category x\$1 sein würde, obwohl \$1target\$1column\$1 tatsächlich \$1category x\$1 war.

  Der Erinnerungswert misst, wie gut ein Algorithmus alle wirklich positiven Ergebnisse (TP) in einem Datensatz korrekt voraussagt. Ein wirklich positives Ergebnis ist eine positive Voraussage, die auch einen tatsächlich positiver Wert in den Daten darstellt. Der Erinnerungswert ist wie folgt definiert: `Recall = TP/(TP+FN)`, mit Werten im Bereich von 0 bis 1. Höhere Werte spiegeln die bessere Fähigkeit des Modells wider, wirklich positive Ergebnisse (TP) in den Daten vorauszusagen. Oft reicht es nicht aus, nur den Erinnerungswert zu messen, da die Voraussage jeder Ausgabe als wirklich positiv zu einem perfekten Erinnerungswert führt.

Im Folgenden finden Sie eine Liste der verfügbaren Metriken für Vorhersagen in mehr als 3 Kategorien.
+ Genauigkeit – Der Prozentsatz der richtigen Vorhersagen.

  Oder das Verhältnis der Anzahl korrekt vorhergesagter Elemente zur Gesamtzahl der Vorhersagen. Die Genauigkeit gibt an, wie nahe die vorhergesagten Klassenwerte an den tatsächlichen Werten liegen. Die Werte für Genauigkeitsmetriken variieren zwischen Null (0) und Eins (1). Der Wert 1 steht für perfekte Genauigkeit, während 0 für völlige Ungenauigkeit steht.
+ BalancedAccuracy — Misst das Verhältnis von genauen Prognosen zu allen Vorhersagen.

  Dieses Verhältnis wird berechnet, nachdem wirklich positive (TP) und True negative Werte (TN) durch die Gesamtzahl der positiven (P) und negativen (N) Werte normalisiert wurden. Er ist wie folgt definiert: `0.5*((TP/P)+(TN/N))`, mit Werten im Bereich von 0 bis 1. Die Metrik „BalancedAccuracy“ liefert ein besseres Maß für die Genauigkeit, wenn die Anzahl der positiven oder negativen Ergebnisse in einem unausgewogenen Datensatz stark voneinander abweicht, beispielsweise wenn nur 1 % der E-Mails Spam sind.
+ F1-Makro – Der F1makro-Wert wendet die F1-Bewertung an, indem er die Präzision und die Erinnerung berechnet und dann deren harmonisches Mittelwert nimmt, um den F1-Wert für jede Klasse zu berechnen. Anschließend berechnet F1macro den Durchschnitt der einzelnen Werte, um den F1macro-Wert zu erhalten. Die F1macro-Werte variieren zwischen 0 und 1. Ein Wert von 1 steht für die bestmögliche Leistung und 0 für die schlechteste.
+ InferenceLatency — Die ungefähre Zeitspanne zwischen der Anforderung einer Modellvorhersage und deren Empfang von einem Echtzeit-Endpunkt, auf dem das Modell bereitgestellt wird. Diese Metrik wird in Sekunden gemessen und ist nur für Modelle verfügbar, die im **Ensembling**-Modus erstellt wurden.
+ LogLoss — Der Logverlust, auch bekannt als Kreuzentropieverlust, ist eine Metrik, die verwendet wird, um die Qualität der Wahrscheinlichkeitsausgaben und nicht die Ergebnisse selbst zu bewerten. Der Protokollverlust ist eine wichtige Kennzahl, die angibt, wann ein Modell mit hoher Wahrscheinlichkeit falsche Voraussagen trifft. Werte liegen zwischen 0 und unendlich. Ein Wert von 0 steht für ein Modell, das die Daten perfekt vorhersagt.
+ PrecisionMacro — Misst die Genauigkeit, indem die Genauigkeit für jede Klasse berechnet und der Durchschnitt der Ergebnisse gebildet wird, um die Genauigkeit für mehrere Klassen zu ermitteln. Die Werte reichen von Null (0) bis Eins (1). Höhere Werte spiegeln die Fähigkeit des Modells wider, wirklich positive Ergebnisse (TP) aus allen identifizierten positiven Ergebnissen vorauszusagen, wobei der Durchschnitt über mehrere Klassen hinweg berechnet wird.
+ RecallMacro — Misst den Erinnerungswert, indem der Erinnerungswert für jede Klasse berechnet und der Durchschnitt der Ergebnisse gebildet wird, um den Erinnerungswert für mehrere Klassen zu ermitteln. Werte liegen zwischen 0 und 1. Höhere Werte spiegeln die Fähigkeit des Modells wider, wirklich positive Ergebnisse (TP) in einem Datensatz vorauszusagen, wohingegen ein wirklich positives Ergebnis eine positive Voraussage widerspiegelt, die auch ein tatsächlich positiver Wert in den Daten ist. Oft reicht es nicht aus, nur den Erinnerungswert zu messen, da die Voraussage jeder Ausgabe als wirklich positiv zu einem perfekten Erinnerungswert führen wird.

Beachten Sie, dass Sie bei der Vorhersage von 3\$1 Kategorien auch die durchschnittlichen Metriken F1, Genauigkeit, Präzision und Sensitivität erhalten. Die Punktzahlen für diese Metriken sind lediglich die gemittelten Metrikpunktzahlen für alle Kategorien.

## Metriken für Bild- und Textvorhersagen
<a name="canvas-cv-nlp-metrics"></a>

Im Folgenden finden Sie eine Liste der verfügbaren Metriken für die Bildvorhersage und Textvorhersage.
+ Genauigkeit – Der Prozentsatz der richtigen Vorhersagen.

  Oder das Verhältnis der Anzahl korrekt vorhergesagter Elemente zur Gesamtzahl der Vorhersagen. Die Genauigkeit gibt an, wie nahe die vorhergesagten Klassenwerte an den tatsächlichen Werten liegen. Die Werte für Genauigkeitsmetriken variieren zwischen Null (0) und Eins (1). Der Wert 1 steht für perfekte Genauigkeit, während 0 für völlige Ungenauigkeit steht.
+ F1 – Ein ausgewogenes Maß für Genauigkeit, das das Klassengleichgewicht berücksichtigt.

  Es handelt sich um den harmonischen Mittelwert der Präzisions- und Recall-Werte, der wie folgt definiert ist: `F1 = 2 * (precision * recall) / (precision + recall)`. Die F1-Werte variieren zwischen 0 und 1. Ein Wert von 1 steht für die bestmögliche Leistung und 0 für die schlechteste.
+ Genauigkeit – Von allen Vorhersagen für \$1category x\$1 war die Vorhersage in \$1precision\$1 % der Fälle korrekt.

  Mit der Präzision wird gemessen, wie gut ein Algorithmus unter allen von ihm identifizierten positiven Ergebnissen die wirklich positiven Ergebnisse (TP) voraussagt. Er ist wie folgt definiert: `Precision = TP/(TP+FP)`, mit Werten im Bereich von Null (0) bis Eins (1). Präzision ist eine wichtige Kennzahl, wenn die Kosten eines falsch positiven Ergebnisses hoch sind. Die Kosten eines falsch positiven Ergebnisses sind beispielsweise sehr hoch, wenn ein Flugzeugsicherheitssystem fälschlicherweise als flugsicher eingestuft wird. Ein falsch positives Ergebnis (FP) spiegelt eine positive Voraussage wider, die in den Daten tatsächlich negativ ist.
+ Erinnerung – Das Modell hat korrekt vorausgesagt, dass \$1recall\$1% \$1category x\$1 sein würde, obwohl \$1target\$1column\$1 tatsächlich \$1category x\$1 war.

  Der Erinnerungswert misst, wie gut ein Algorithmus alle wirklich positiven Ergebnisse (TP) in einem Datensatz korrekt voraussagt. Ein wirklich positives Ergebnis ist eine positive Voraussage, die auch einen tatsächlich positiver Wert in den Daten darstellt. Der Erinnerungswert ist wie folgt definiert: `Recall = TP/(TP+FN)`, mit Werten im Bereich von 0 bis 1. Höhere Werte spiegeln die bessere Fähigkeit des Modells wider, wirklich positive Ergebnisse (TP) in den Daten vorauszusagen. Oft reicht es nicht aus, nur den Erinnerungswert zu messen, da die Voraussage jeder Ausgabe als wirklich positiv zu einem perfekten Erinnerungswert führt.

Beachten Sie, dass Sie bei Bild- und Textvorhersagemodellen, bei denen Sie drei oder mehr Kategorien vorhersagen, auch die *durchschnittlichen* F1-, Genauigkeits-, Präzisions- und Recall-Metriken erhalten. Die Punktzahlen für diese Metriken sind lediglich die gemittelten Metrikpunktzahlen für alle Kategorien.

## Metriken für Zeitreihenprognosen
<a name="canvas-time-series-forecast-metrics"></a>

Im Folgenden werden die erweiterten Metriken für Zeitreihenprognosen in Amazon SageMaker Canvas definiert und Sie erhalten Informationen darüber, wie Sie sie verwenden können.
+ Average Weighted Quantile Loss (wQL) – Wertet die Prognose aus, indem der Durchschnitt der Genauigkeit anhand der Quantile P10, P50 und P90 berechnet wird. Ein niedrigerer Wert bedeutet ein genaueres Modell.
+ Gewichteter absoluter prozentualer Fehler (WAPE) – Die Summe der absoluten Fehler, normalisiert durch die Summe der absoluten Zielwerte, die die Gesamtabweichung der prognostizierten Werte von den beobachteten Werten messen. Ein niedrigerer Wert steht für ein genaueres Modell, wobei WAPE = 0 ein Modell ohne Fehler ist.
+ Root Mean Square Error (RMSE) – Die Quadratwurzel der durchschnittlichen quadratischen Fehler. Ein niedrigerer RMSE steht für ein genaueres Modell, wobei RMSE = 0 für ein Modell ohne Fehler steht.
+ Mean Absolute Percent Error (MAPE) – Der prozentuale Fehler (prozentuale Differenz zwischen dem mittleren prognostizierten Wert und dem tatsächlichen Wert), der über alle Zeitpunkte gemittelt wird. Ein niedrigerer Wert steht für ein genaueres Modell, wobei MAPE = 0 ein Modell ohne Fehler ist.
+ Mean Absolute Scaled Error (MASE) – Der mittlere absolute Fehler der Prognose, normalisiert durch den mittleren absoluten Fehler einer einfachen Basisprognosemethode. Ein niedrigerer Wert weist auf ein genaueres Modell hin, bei dem MASE < 1 is estimated to be better than the baseline and MASE > 1 als schlechter eingeschätzt wird als der Basiswert.

# Vorhersagen mit benutzerdefinierten Modellen
<a name="canvas-make-predictions"></a>

Verwenden Sie das benutzerdefinierte Modell, das Sie in SageMaker Canvas erstellt haben, um Vorhersagen für Ihre Daten zu treffen. Die folgenden Abschnitte zeigen Ihnen, wie Sie Vorhersagen für numerische und kategoriale Vorhersagemodelle, Zeitreihenprognosen, Bildvorhersagemodelle und Textvorhersagemodelle erstellen.

Benutzerdefinierte Modelle für numerische und kategoriale Vorhersagen, Bildvorhersagen und Textvorhersagen unterstützen die Erstellung der folgenden Arten von Vorhersagen für Ihre Daten:
+ **Einzelne Vorhersagen** – Bei einer **einzigen Vorhersage** müssen Sie nur eine Vorhersage treffen. Sie haben beispielsweise ein Bild oder eine Textpassage, die Sie klassifizieren möchten.
+ **Batch-Vorhersagen** – Bei einer **Batch-Vorhersage** möchten Sie Vorhersagen für einen gesamten Datensatz treffen. Sie können Batch-Vorhersagen für Datensätze mit einer Größe von mehr als 1 TB treffen. Sie haben beispielsweise eine CSV-Datei mit Kundenrezensionen, für die Sie die Kundenstimmung vorhersagen möchten, oder Sie haben einen Ordner mit Bilddateien, die Sie klassifizieren möchten. Sie sollten Vorhersagen mit einem Datensatz treffen, der Ihrem Eingabedatensatz entspricht. Canvas bietet Ihnen die Möglichkeit, manuelle Batch-Vorhersagen durchzuführen, oder Sie können automatische Batch-Vorhersagen konfigurieren, die bei jeder Aktualisierung eines Datensatzes ausgeführt werden.

Für jede Vorhersage oder jede Gruppe von Vorhersagen gibt SageMaker Canvas Folgendes zurück:
+ Die vorhergesagten Werte
+ Die Wahrscheinlichkeit, dass der vorhergesagte Wert korrekt ist

**Erste Schritte**

Wählen Sie einen der folgenden Workflows, um Vorhersagen mit Ihrem benutzerdefinierten Modell zu treffen:
+ [Batch-Vorhersagen in SageMaker Canvas](canvas-make-predictions-batch.md)
+ [Treffen Sie einzelne Vorhersagen](canvas-make-predictions-single.md)

Nachdem Sie Prognosen mit Ihrem Modell generiert haben, können Sie auch Folgendes durchführen:
+ [Aktualisieren Sie Ihr Modell, indem Sie Versionen hinzufügen.](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html) Wenn Sie versuchen möchten, die Vorhersagegenauigkeit Ihres Modells zu verbessern, können Sie neue Versionen Ihres Modells erstellen. Sie können entweder Ihre ursprüngliche Modellbaukonfiguration und Ihren Datensatz klonen oder Ihre Konfiguration ändern und einen anderen Datensatz auswählen. Nachdem Sie eine neue Version hinzugefügt haben, können Sie die Versionen überprüfen und vergleichen, um die beste auszuwählen.
+ [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md). Sie können Versionen Ihres Modells in der SageMaker Model Registry registrieren. Dabei handelt es sich um eine Funktion zur Nachverfolgung und Verwaltung des Status von Modellversionen und Machine-Learning-Pipelines. Ein Datenwissenschaftler oder MLOps Teambenutzer mit Zugriff auf das SageMaker Model Registry kann Ihre Modellversionen überprüfen und sie genehmigen oder ablehnen, bevor sie in der Produktion eingesetzt werden.
+ [Senden Sie Ihre Batch-Prognosen an Quick.](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html) In Quick können Sie Dashboards mit Ihren Batch-Prognose-Datensätzen erstellen und veröffentlichen. Dies kann Ihnen helfen, die mit Ihrem benutzerdefinierten Modell generierten Ergebnisse zu analysieren und gemeinsam zu nutzen.

# Treffen Sie einzelne Vorhersagen
<a name="canvas-make-predictions-single"></a>

**Anmerkung**  
In diesem Abschnitt wird beschrieben, wie Sie einzelne Vorhersagen aus Ihrem Modell in der Canvas-Anwendung abrufen können. Informationen zum Ausführen von Echtzeitaufrufen in einer Produktionsumgebung durch die Bereitstellung Ihres Modells auf einem Endpunkt finden Sie unter. [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md)

Treffen Sie einzelne Vorhersagen, wenn Sie eine Vorhersage für einen einzelnen Datenpunkt erhalten möchten. Sie können diese Funktion verwenden, um Vorhersagen in Echtzeit zu erhalten oder mit Änderungen einzelner Werte zu experimentieren, um zu sehen, wie sie sich auf das Prognoseergebnis auswirken. Beachten Sie, dass einzelne Vorhersagen auf einem asynchronen Inferenz-Endpunkt basieren, der sich nach zwei Stunden Inaktivität (oder wenn keine Vorhersageanfragen eingehen) abschaltet.

Wählen Sie je nach Modelltyp eines der folgenden Verfahren aus.

## Treffen Sie Einzelvorhersagen mit numerischen und kategorialen Vorhersagemodellen
<a name="canvas-make-predictions-numeric-categorical"></a>

Gehen Sie wie folgt vor, um eine einzelne Vorhersage für ein numerisches oder kategoriales Vorhersagemodell zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Einzelne Vorhersage** aus.

1. Für jedes **Spalten** Feld, das die Spalten Ihrer Eingabedaten darstellt, können Sie den **Wert** ändern. Wählen Sie das Dropdown-Menü für den **Wert** aus, den Sie ändern möchten. Für numerische Felder können Sie eine neue Zahl eingeben. Für Felder mit Beschriftungen können Sie eine andere Bezeichnung auswählen.

1. Wenn Sie bereit sind, die Prognose zu generieren, wählen Sie im rechten **Prognosebereich** die Option **Aktualisieren** aus.

Im rechten **Prognosebereich** sehen Sie das Prognoseergebnis. Sie können das Prognoseergebnisdiagramm **kopieren** oder auch **Herunterladen** wählen, um entweder das Prognoseergebnisdiagramm als Bild oder die Werte und die Vorhersage als CSV-Datei herunterzuladen.

## Treffen einzelner Vorhersagen mit Zeitreihen-Prognosemodellen
<a name="canvas-make-predictions-forecast"></a>

Gehen Sie wie folgt vor, um eine einzelne Vorhersage für ein Zeitreihenprognosemodell zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie **Einzelne Vorhersage** aus.

1. Wählen Sie unter **Element** das Element aus, für das Sie Werte prognostizieren möchten.

1. Wenn Sie das Modell anhand einer Gruppierung nach Spalte trainiert haben, wählen Sie die Gruppierung nach Kategorie für das Element aus.

Das Vorhersageergebnis wird im unteren Bereich geladen und zeigt Ihnen ein Diagramm mit der Prognose für jedes Quantil. Wählen Sie die **Schemaansicht** aus, um die numerischen Vorhersagewerte anzuzeigen. Anschließend können Sie **Herunterladen** auswählen, um die Vorhersageergebnisse als CSV- oder ZIP-Datei herunterzuladen.

## Treffen Sie einzelne Vorhersagen mit Bildvorhersagemodellen
<a name="canvas-make-predictions-image"></a>

Gehen Sie wie folgt vor, um eine einzelne Vorhersage für ein Bildvorhersagemodell mit einer einzigen Bezeichnung zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Einzelne Vorhersage** aus.

1. Klicken Sie auf **Packet importieren**.

1. Sie werden aufgefordert, ein Bild hochzuladen. Sie können ein Bild von Ihrem lokalen Computer oder aus einem Amazon-S3-Bucket hochladen.

1. Wählen Sie **Import**, um Ihr Bild zu importieren und die Prognose zu generieren.

Im rechten Bereich mit den **Vorhersageergebnissen** listet das Modell die möglichen Beschriftungen für das Bild zusammen mit einem **Konfidenzwert** für jedes Etikett auf. Das Modell könnte beispielsweise die Bezeichnung **Meer** für ein Bild mit einem Konfidenzwert von 96 % vorhersagen. Das Modell könnte das Bild als **Gletscher** mit einem Konfidenzwert von nur 4 % vorhergesagt haben. Daher können Sie feststellen, dass Ihr Modell ziemlich sicher ist, wenn es darum geht, Bilder des Meeres vorherzusagen.

## Treffen Sie Einzelvorhersagen mit Textvorhersagemodellen
<a name="canvas-make-predictions-text"></a>

Gehen Sie wie folgt vor, um eine einzelne Vorhersage für ein Textvorhersagemodell mit mehreren Kategorien zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Einzelne Vorhersage** aus.

1. Geben Sie in das **Textfeld** den Text ein, für den Sie eine Vorhersage erhalten möchten.

1. Wählen Sie **Prognoseergebnisse generieren**, um Ihre Vorhersage zu erhalten.

Im rechten Bereich mit den **Prognoseergebnissen** erhalten Sie eine Analyse Ihres Textes sowie einen **Vertrauenswert** für jedes mögliche Label. Wenn Sie beispielsweise eine gute Bewertung für ein Produkt abgegeben haben, erhalten Sie möglicherweise den Wert **Positiv** mit einem Konfidenzwert von 85%, während der Konfidenzwert für **Neutral** bei 10% und der Konfidenzwert für **Negativ** nur bei 5% liegen kann.

# Batch-Vorhersagen in SageMaker Canvas
<a name="canvas-make-predictions-batch"></a>

Treffen Sie Batch-Vorhersagen, wenn Sie über einen gesamten Datensatz verfügen, für den Sie Vorhersagen generieren möchten. Amazon SageMaker Canvas unterstützt Batch-Vorhersagen für Datensätze mit einer Größe von bis zu PBs 6 Zoll.

Es gibt zwei Arten von Batch-Vorhersagen:
+ [Manuelle](canvas-make-predictions-batch-manual.md) Batch-Vorhersagen liegen vor, wenn Sie über einen Datensatz verfügen, für den Sie einmalige Vorhersagen treffen möchten.
+ [Automatische Batch-Vorhersagen](canvas-make-predictions-batch-auto.md) liegen vor, wenn Sie eine Konfiguration einrichten, die bei jeder Aktualisierung eines bestimmten Datensatzes ausgeführt wird. Wenn Sie beispielsweise wöchentliche Aktualisierungen für einen SageMaker Canvas-Datensatz mit Inventardaten konfiguriert haben, können Sie automatische Batch-Prognosen einrichten, die bei jeder Aktualisierung des Datensatzes ausgeführt werden. Nachdem Sie einen automatisierten Workflow für Batch-Vorhersagen eingerichtet haben, finden Sie weitere Informationen zum Anzeigen und Bearbeiten der Details Ihrer Konfiguration unter [So verwalten Sie Automatisierungen](canvas-manage-automations.md). Weitere Informationen zum Einrichten automatischer Datensatz-Updates finden Sie unter [Konfigurieren Sie automatische Updates für einen Datensatz](canvas-update-dataset-auto.md).

**Anmerkung**  
Zeitreihen-Prognosemodelle unterstützen keine automatischen Batch-Vorhersagen.  
Sie können automatische Batch-Vorhersagen nur für Datensätze einrichten, die über lokalen Upload oder Amazon S3 importiert wurden. Darüber hinaus können automatische Batch-Vorhersagen nur ausgeführt werden, wenn Sie bei der Canvas-Anwendung angemeldet sind. Wenn Sie sich von Canvas abmelden, werden automatische Batch-Vorhersageaufträge wieder aufgenommen, wenn Sie sich wieder anmelden.

Um zu beginnen, überprüfen Sie [Anforderungen an Batch-Prognosedatensätze](canvas-make-predictions-batch-preqreqs.md) und wählen Sie anschließend einen der folgenden manuellen oder automatischen Batch-Vorhersage-Workflows aus.

**Topics**
+ [Anforderungen an Batch-Prognosedatensätze](canvas-make-predictions-batch-preqreqs.md)
+ [Machen Sie manuelle Batch-Vorhersagen](canvas-make-predictions-batch-manual.md)
+ [Machen Sie automatische Batch-Vorhersagen](canvas-make-predictions-batch-auto.md)
+ [Bearbeiten Sie Ihre Konfiguration für die automatische Batch-Vorhersage](canvas-make-predictions-batch-auto-edit.md)
+ [Löschen Sie Ihre Konfiguration für die automatische Batch-Vorhersage](canvas-make-predictions-batch-auto-delete.md)
+ [Anzeigen Ihrer Batch-Vorhersageaufträge](canvas-make-predictions-batch-auto-view.md)

# Anforderungen an Batch-Prognosedatensätze
<a name="canvas-make-predictions-batch-preqreqs"></a>

Stellen Sie bei Batch-Prognosen sicher, dass Ihre Datensätze die unter [Erstellen eines Datensatzes](canvas-import-dataset.md) beschriebenen Anforderungen erfüllen. Wenn Ihr Datensatz größer als 5 GB ist, verwendet Canvas Amazon EMR Serverless, um Ihre Daten zu verarbeiten und in kleinere Batches aufzuteilen. Nachdem Ihre Daten aufgeteilt wurden, verwendet Canvas SageMaker AI Batch Transform, um Vorhersagen zu treffen. Nach der Ausführung von Batch-Vorhersagen werden Ihnen möglicherweise Gebühren für diese beiden Services angezeigt. Weitere Informationen finden Sie unter [Preise für Canvas](https://aws.amazon.com/sagemaker/canvas/pricing/).

Möglicherweise können Sie für einige Datensätze keine Vorhersagen treffen, da sie inkompatible *Schemata* haben. Ein *Schema* ist eine Organisationsstruktur. Bei einem tabellarischen Datensatz besteht das Schema aus den Namen der Spalten und dem Datentyp der Daten in den Spalten. Ein inkompatibles Schema kann aus folgenden Gründen auftreten:
+ Der Datensatz, den Sie für Prognosen verwenden, hat weniger Spalten als der Datensatz, den Sie zum Erstellen des Modells verwenden.
+ Die Datentypen in den Spalten, die Sie zum Erstellen des Datensatzes verwendet haben, unterscheiden sich möglicherweise von den Datentypen im Datensatz, den Sie für Vorhersagen verwenden.
+ Der Datensatz, den Sie für Vorhersagen verwenden, und der Datensatz, den Sie zum Erstellen des Modells verwendet haben, haben Spaltennamen, die nicht übereinstimmen. Für die Spaltennamen wird die Groß- und Kleinschreibung berücksichtigt. `Column1` ist nicht dasselbe wie `column1`.

Um sicherzustellen, dass Sie erfolgreich Batch-Vorhersagen generieren können, ordnen Sie das Schema Ihres Batch-Prognose-Datensatzes dem Datensatz zu, den Sie zum Trainieren des Modells verwendet haben.

**Anmerkung**  
Wenn Sie bei Batch-Vorhersagen beim Erstellen Ihres Modells Spalten gelöscht haben, fügt Canvas die gelöschten Spalten wieder zu den Prognoseergebnissen hinzu. Canvas fügt die gelöschten Spalten jedoch nicht zu Ihren Batch-Vorhersagen für Zeitreihenmodelle hinzu.

# Machen Sie manuelle Batch-Vorhersagen
<a name="canvas-make-predictions-batch-manual"></a>

Wählen Sie eines der folgenden Verfahren aus, um manuelle Batchvorhersagen auf der Grundlage Ihres Modelltyps zu erstellen.

## Erstellen Sie manuelle Batch-Vorhersagen mit numerischen, kategorialen und Zeitreihen-Vorhersagemodellen.
<a name="canvas-make-predictions-batch-numeric-categorical"></a>

Gehen Sie wie folgt vor, um manuelle Batch-Vorhersagen für numerische, kategoriale und Zeitreihen-Prognosemodelle zu erstellen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen** aus, um einen Datensatz für die Generierung von Vorhersagen auszuwählen.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und klicken Sie anschließend auf **Vorhersagen starten**, um Ihre Vorhersagen zu erhalten.

Nachdem die Ausführung des Vorhersageauftrags abgeschlossen ist, wird auf derselben Seite im Abschnitt **Vorhersagen** ein Ausgabedatensatz aufgeführt. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorschau** wählen, um eine Vorschau der Ausgabedaten anzuzeigen. Sie können sehen, wie die Eingabedaten mit der Vorhersage übereinstimmen und wie wahrscheinlich es ist, dass die Vorhersage korrekt ist. Anschließend können Sie **Prognose herunterladen** wählen, um die Ergebnisse als Datei herunterzuladen.

## Treffen Sie manuelle Batch-Vorhersagen mit Bildvorhersagemodellen
<a name="canvas-make-predictions-batch-image"></a>

Gehen Sie wie folgt vor, um manuelle Batch-Vorhersagen für ein Bildvorhersagemodell mit einer einzigen Bezeichnung zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen**, wenn Sie Ihren Datensatz bereits importiert haben. Wenn nicht, wählen Sie **Neuen Datensatz importieren** aus, und Sie werden dann durch den Datenimport-Workflow geleitet.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und wählen Sie **Prognosen generieren** aus, um Ihre Prognosen abzurufen.

Nachdem die Ausführung des Prognosejobs abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Prognosen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorhersageergebnisse anzeigen** wählen, um die Ausgabedaten anzuzeigen. Sie können die Bilder zusammen mit ihren vorhergesagten Bezeichnungen und Konfidenzwerten sehen. Anschließend können Sie **Prognose herunterladen** wählen, um die Ergebnisse als CSV- oder ZIP-Datei herunterzuladen.

## Erstellen Sie manuelle Batch-Vorhersagen mit Textvorhersagemodellen
<a name="canvas-make-predictions-batch-text"></a>

Gehen Sie wie folgt vor, um manuelle Batch-Vorhersagen für ein Textvorhersagemodell mit mehreren Kategorien zu treffen:

1. Wählen Sie im linken Navigationsbereich der Canvas-Anwendung **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Nachdem Sie Ihr Modell geöffnet haben, wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie auf der Seite **Vorhersagen ausführen** die Option **Batch-Vorhersage** aus.

1. Wählen Sie **Datensatz auswählen**, wenn Sie Ihren Datensatz bereits importiert haben. Wenn nicht, wählen Sie **Neuen Datensatz importieren** aus, und Sie werden dann durch den Datenimport-Workflow geleitet. Der Datensatz, den Sie auswählen, muss dieselbe Quellspalte haben wie der Datensatz, mit dem Sie das Modell erstellt haben.

1. Wählen Sie aus der Liste der verfügbaren Datensätze Ihren Datensatz aus und wählen Sie **Prognosen generieren** aus, um Ihre Prognosen abzurufen.

Nachdem die Ausführung des Prognosejobs abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Prognosen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorschau** wählen, um die Ausgabedaten anzuzeigen. Sie können die Bilder zusammen mit ihren vorhergesagten Bezeichnungen und Konfidenzwerten sehen. Anschließend können Sie **Vorhersage herunterladen** auswählen, um die Ergebnisse herunterzuladen.

# Machen Sie automatische Batch-Vorhersagen
<a name="canvas-make-predictions-batch-auto"></a>

**Anmerkung**  
Zeitreihen-Prognosemodelle unterstützen keine automatischen Batch-Vorhersagen.

Um einen Zeitplan für automatische Batchvorhersagen einzurichten, führen Sie die folgenden Schritte aus:

1. Wählen Sie im linken Navigationsbereich **Models (Modelle)** aus.

1. Wählen Sie Ihr Modell aus.

1. Wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie **Batch-Vorhersage**.

1. Wählen Sie für **Prognosen generieren** die Option **Automatisch** aus.

1. Das Dialogfeld **Batchvorhersagen automatisieren** wird geöffnet. Wählen Sie **Datensatz auswählen** und wählen Sie den Datensatz aus, für den Sie Prognosen automatisieren möchten. Beachten Sie, dass Sie nur einen Datensatz auswählen können, der durch lokalen Upload oder Amazon S3 importiert wurde.

1. Nachdem Sie einen Datensatz ausgewählt haben, wählen Sie **Einrichten**.

Canvas führt einen Batch-Vorhersagejob für den Datensatz aus, nachdem Sie die Konfiguration eingerichtet haben. Jedes Mal, wenn Sie [Aktualisieren eines Datensatzes](canvas-update-dataset.md) entweder manuell oder automatisch eingeben, wird ein weiterer Batch-Vorhersageauftrag ausgeführt.

Nachdem die Ausführung des Prognosejobs abgeschlossen ist, sehen Sie auf der Seite **Vorhersagen ausführen** einen Ausgabedatensatz, der unter **Prognosen** aufgeführt ist. Dieser Datensatz enthält Ihre Ergebnisse. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie **Vorschau** wählen, um eine Vorschau der Ausgabedaten anzuzeigen. Sie können sehen, wie die Eingabedaten mit der Vorhersage übereinstimmen und wie wahrscheinlich es ist, dass die Vorhersage korrekt ist. Anschließend können Sie **Herunterladen** wählen, um die Ergebnisse herunterzuladen.

In den folgenden Abschnitten wird beschrieben, wie Sie Ihre Konfiguration für automatische Batch-Vorhersagen über die Seite **Datensätze** in der Canvas-Anwendung anzeigen, aktualisieren und löschen können. Sie können in Canvas nur maximal 20 automatische Konfigurationen einrichten. Weitere Informationen zum Anzeigen Ihres Jobverlaufs für automatisierte Batchprognosen oder zum Vornehmen von Änderungen an Ihrer automatischen Konfiguration auf der Seite **Automatisierungen** finden Sie unter [So verwalten Sie Automatisierungen](canvas-manage-automations.md).

# Bearbeiten Sie Ihre Konfiguration für die automatische Batch-Vorhersage
<a name="canvas-make-predictions-batch-auto-edit"></a>

Möglicherweise möchten Sie Änderungen an der Konfiguration für die auto Aktualisierung eines Datensatzes vornehmen, z. B. die Häufigkeit der Aktualisierungen ändern. Möglicherweise möchten Sie auch die Konfiguration für automatische Updates deaktivieren, um die Aktualisierungen Ihres Datensatzes zu unterbrechen.

Wenn Sie eine Konfiguration für Batch-Vorhersagen bearbeiten, können Sie den Zieldatensatz ändern, nicht jedoch die Häufigkeit (da automatische Batch-Vorhersagen immer dann erfolgen, wenn der Datensatz aktualisiert wird).

Gehen Sie wie folgt vor, um Ihre Konfiguration für auto Updates zu bearbeiten:

1. Gehen Sie zur Registerkarte **Predict** Ihres Modells.

1. Wählen Sie unter **Prognosen** die Registerkarte **Konfiguration** aus.

1. Suchen Sie nach Ihrer Konfiguration und wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)).

1. Wählen Sie im Dropdown-Menü **Konfiguration aktualisieren** aus.

1. Das Dialogfeld **Batchvorhersage automatisieren** wird geöffnet. Sie können einen anderen Datensatz auswählen und **Einrichten** wählen, um Ihre Änderungen zu speichern.

Ihre Konfiguration für automatische Batch-Vorhersagen ist jetzt aktualisiert.

Um Ihre automatischen Batch-Vorhersagen zu unterbrechen, deaktivieren Sie Ihre automatische Konfiguration, indem Sie wie folgt vorgehen:

1. Gehen Sie zur Registerkarte **Predict** Ihres Modells.

1. Wählen Sie unter **Prognosen** die Registerkarte **Konfiguration** aus.

1. Suchen Sie in der Liste nach Ihrer Konfiguration und deaktivieren Sie die Option **Automatische Aktualisierung**.

Automatische Batch-Vorhersagen sind jetzt angehalten. Sie können den Schalter jederzeit wieder einschalten, um den Aktualisierungszeitplan fortzusetzen.

# Löschen Sie Ihre Konfiguration für die automatische Batch-Vorhersage
<a name="canvas-make-predictions-batch-auto-delete"></a>

Weitere Informationen zum Löschen der Konfiguration für automatische Batchvorhersagen finden Sie unter [Löschen einer automatischen Konfiguration](canvas-manage-automations-delete.md).

Sie können Ihre Konfiguration auch wie folgt löschen:

1. Gehen Sie zur Registerkarte **Predict** Ihres Modells.

1. Wählen Sie unter **Prognosen** die Registerkarte **Konfiguration** aus.

1. Suchen Sie in der Liste nach Ihrer Konfiguration und wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)).

1. Wählen Sie im Dropdown-Menü **Konfiguration löschen** aus.

Ihre Konfiguration sollte jetzt gelöscht sein.

# Anzeigen Ihrer Batch-Vorhersageaufträge
<a name="canvas-make-predictions-batch-auto-view"></a>

Um den Status und den Verlauf Ihrer Batch-Vorhersageaufträge anzuzeigen, navigieren Sie bitte zur Registerkarte **Vorhersagen** Ihres Modells.

Jeder Batch-Vorhersageauftrag wird auf der Registerkarte **Vorhersagen** Ihres Modells angezeigt. Unter **Prognosen** finden Sie die Registerkarten **Alle Jobs** und **Konfiguration**:
+ **Alle Aufträge** – Auf dieser Registerkarte können Sie alle manuellen und automatischen Batch-Vorhersageaufträge für dieses Modell einsehen. Sie können die Jobs nach dem Konfigurationsnamen filtern. Für jeden Auftrag werden die folgenden Felder angezeigt:
  + **Status** – der aktuelle Status des Auftrags für Batch-Vorhersagen. Wenn der Status **Fehlgeschlagen** oder **Teilweise fehlgeschlagen** lautet, können Sie mit der Maus über den Status fahren, um eine detailliertere Fehlermeldung anzuzeigen, die Ihnen bei der Fehlerbehebung hilft.
  + **Eingabe-Dataset** – der Name Ihres Canvas-Eingabe-Datasatzes, einschließlich der Datensatzversion.
  + **Prognosetyp** – ob der Vorhersageauftrag automatisch oder manuell war.
  + **Zeilen** – die Anzahl der vorhergesagten Zeilen.
  + **Konfigurationsname** – der Name der Konfiguration des Batch-Vorhersageauftrags.
  + **QuickSight**— Beschreibt, ob Sie die Batch-Vorhersagen an Quick gesendet haben.
  + **Erstellt** – die Erstellungszeit des Batch-Vorhersageauftrags.

  Wenn Sie das Symbol „**Weitere Optionen**“ (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie „**Details anzeigen**“, „**Vorhersage in der Vorschau** anzeigen“, „**Vorhersage herunterladen**“ oder „An **Quick senden**“ wählen. Wenn Sie **Details anzeigen** wählen, wird eine Seite geöffnet, auf der Ihnen alle Details des Batch-Vorhersage-Jobs angezeigt werden, einschließlich des Status, der Eingabe- und Ausgabedatenkonfigurationen, Informationen zu den Instances, die zur Ausführung des Jobs verwendet wurden, und des Zugriffs auf die CloudWatch Amazon-Protokolle. Die Seite sieht wie im folgenden Screenshot aus.  
![\[Seite mit Details zum Batch-Vorhersageauftrag, auf der alle zusätzlichen Details zu einem Auftrag angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-view-batch-prediction-job-details.png)
+ **Konfiguration** – Auf dieser Registerkarte sehen Sie alle Konfigurationen für automatische Batch-Vorhersagen, die Sie für dieses Modell erstellt haben. Für jede Konfiguration werden Felder wie der Zeitstempel zum Zeitpunkt der **Erstellung**, der **Eingabedatensatz**, den sie auf Aktualisierungen überwacht, und der **nächste geplante Auftrag** angezeigt, d. h. der Zeitpunkt, zu dem der nächste automatische Vorhersageauftrag starten soll. Wenn Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) wählen, können Sie **Alle Jobs anzeigen** wählen, um den Jobverlauf und die laufenden Jobs für die Konfiguration zu sehen.



# Prognosen an Quick senden
<a name="canvas-send-predictions"></a>

**Anmerkung**  
Für numerische und kategoriale Vorhersage- und Zeitreihenprognosemodelle können Sie Batch-Vorhersagen an Quick senden. Modelle zur Bildvorhersage mit einem Etikett und Textvorhersagemodelle mit mehreren Kategorien sind ausgeschlossen.

Sobald Sie Batch-Prognosen mit benutzerdefinierten tabellarischen Modellen in SageMaker Canvas generiert haben, können Sie diese Prognosen als CSV-Dateien an Quick senden, einen Business Intelligence (BI) -Service zum Erstellen und Veröffentlichen von Prognose-Dashboards.

Wenn Sie beispielsweise ein Prognosemodell mit zwei Kategorien erstellt haben, um zu ermitteln, ob ein Kunde abwandern wird, können Sie in Quick ein visuelles, vorausschauendes Dashboard erstellen, das den Prozentsatz der Kunden anzeigt, von denen eine Abwanderung erwartet wird. Weitere Informationen zu Quick finden Sie in der [Kurzanleitung](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) für Benutzer.

In den folgenden Abschnitten erfahren Sie, wie Sie Ihre Batchvorhersagen zur Analyse an Quick senden.

## Bevor Sie beginnen
<a name="canvas-send-predictions-prereqs"></a>

Ihr Benutzer muss über die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen verfügen, um Ihre Prognosen an Quick zu senden. Ihr Administrator kann die IAM-Berechtigungen für Ihren Benutzer einrichten. Weitere Informationen finden Sie unter [Erteilen Sie Ihren Benutzern die Erlaubnis, Prognosen an Quick zu senden](canvas-quicksight-permissions.md).

Ihr Quick-Konto muss den `default` Namespace enthalten, der eingerichtet wird, wenn Sie Ihr Quick-Konto zum ersten Mal erstellen. Wenden Sie sich an Ihren Administrator, um Zugriff auf Quick zu erhalten. Weitere Informationen finden Sie unter [Einrichtung von Quick](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html) in der *Kurzanleitung*.

Ihr Quick-Konto muss in derselben Region wie Ihre Canvas-Anwendung erstellt werden. Wenn sich die Heimatregion Ihres Quick-Kontos von der Region Ihrer Canvas-Anwendung unterscheidet, müssen Sie entweder Ihr Quick-Konto [schließen](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html) und neu erstellen oder [eine Canvas-Anwendung in derselben Region wie Ihr Quick-Konto einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites). Du kannst deine Quick Home-Region überprüfen, indem du wie folgt vorgehst (vorausgesetzt, du hast bereits ein Quick-Konto):

1. Öffnen Sie Ihre [Quick Console](https://quicksight.aws.amazon.com/).

1. Wenn die Seite geladen wird, wird Ihre Quick Home-Region im folgenden Format an die URL angehängt:`https://<your-home-region>.quicksight.aws.amazon.com/`.

Sie müssen die Benutzernamen der Quick-Benutzer kennen, an die Sie Ihre Vorhersagen senden möchten. Sie können Vorhersagen an sich selbst oder an andere Benutzer senden, die über die entsprechenden Berechtigungen verfügen. Alle Benutzer, an die Sie Vorhersagen senden, müssen sich im `default` [Namespace](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html) Ihres Quick-Kontos befinden und in Quick die `Admin` Rolle `Author` oder haben.

Darüber hinaus muss Quick Zugriff auf den SageMaker AI-Standard-Amazon S3-Bucket für Ihre Domain haben, der im folgenden Format benannt ist:`sagemaker-{REGION}-{ACCOUNT_ID}`. Die Region sollte der Heimatregion Ihres Quick-Kontos und der Region Ihrer Canvas-Anwendung entsprechen. Informationen dazu, wie Sie Schnellzugriff auf die in Ihrem Amazon S3-Bucket gespeicherten Batch-Vorhersagen gewähren [können, finden Sie im *Kurzleitfaden* unter Ich kann keine Verbindung zu Amazon S3](https://docs.aws.amazon.com/quicksight/latest/user/troubleshoot-connect-S3.html) herstellen.

## Unterstützte Datumsformate
<a name="canvas-send-predictions-formatting"></a>

Bevor Sie Ihre Prognosen senden, überprüfen Sie, ob das Datenformat Ihrer Batch-Vorhersagen mit Quick kompatibel ist.
+ Weitere Informationen zu den akzeptierten Datenformaten für Zeitreihendaten finden Sie in der *Kurzanleitung* unter [Unterstützte Datumsformate](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html).
+ Weitere Informationen zu Datenwerten, die Sie möglicherweise daran hindern, Daten an Quick zu senden, finden Sie [in der *Kurzanleitung* unter Nicht unterstützte Werte in Daten](https://docs.aws.amazon.com/quicksight/latest/user/unsupported-data-values.html).

Beachten Sie auch, dass Quick das Zeichen `"` als Textbegrenzer verwendet. Wenn Ihre Canvas-Daten also `"` Zeichen enthalten, stellen Sie sicher, dass Sie alle passenden Anführungszeichen schließen. Nicht übereinstimmende Anführungszeichen können zu Problemen beim Senden Ihres Datensatzes an Quick führen.

## Senden Sie Ihre Batch-Prognosen an Quick
<a name="canvas-send-predictions-send"></a>

Gehen Sie wie folgt vor, um Ihre Prognosen an Quick zu senden:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus.

1. Wählen Sie die Registerkarte **Vorhersage**.

1. Wählen Sie unter **Prognosen** den Datensatz (oder die Datensätze) mit Batch-Vorhersagen aus, die Sie teilen möchten. Sie können bis zu 5 Datensätze mit Batch-Vorhersagen gleichzeitig teilen.

1. Nachdem Sie Ihren Datensatz ausgewählt haben, wählen Sie „**An Quick senden**“.
**Anmerkung**  
Die Schaltfläche „**An Quick senden**“ wird erst aktiviert, wenn Sie einen oder mehrere Datensätze auswählen.

   Alternativ können Sie eine Vorschau Ihrer Prognosen anzeigen, indem Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) und dann **Prognoseergebnisse anzeigen** auswählen. In der Datensatzvorschau können Sie „An **schnell senden**“ wählen. Der folgende Screenshot zeigt Ihnen die Schaltfläche „**An Quick senden**“ in einer Datensatzvorschau.  
![\[Screenshot einer Datensatzvorschau mit der Schaltfläche „An Quick senden“ unten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight-preview.png)

1. Gehen **Sie im Dialogfeld „An Quick senden**“ wie folgt vor:

   1. Geben Sie für **QuickSight Benutzer** den Namen der Quick-Benutzer ein, an die Sie Ihre Vorhersagen senden möchten. Wenn Sie sie an sich selbst senden möchten, geben Sie Ihren eigenen Benutzernamen ein. Sie können Vorhersagen nur an Benutzer im `default` Namespace des Quick-Kontos senden, und der Benutzer muss in Quick die `Admin` Rolle `Author` oder haben.

   1. Wählen Sie **Send (Senden)** aus.

   Der folgende Screenshot zeigt das Dialogfeld „**An Quick senden**“:  
![\[Das Dialogfeld „An Quick senden“.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight.png)

Nachdem Sie Ihre Batchprognosen gesendet haben, wird das **QuickSight**Feld für die von Ihnen gesendeten Datensätze als `Sent` angezeigt. In dem Bestätigungsfeld, das bestätigt, dass Ihre Prognosen gesendet wurden, können Sie „**Schnell öffnen**“ wählen, um Ihre Schnellanwendung zu öffnen. Wenn Sie Canvas nicht mehr verwenden, sollten Sie sich von der Canvas-Anwendung [abmelden](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-log-out.html).

Die Quick-Benutzer, an die Sie Datensätze gesendet haben, können ihre Quick-Anwendung öffnen und sich die Canvas-Datasets ansehen, die mit ihnen geteilt wurden. Anschließend können sie prädiktive Dashboards mit den Daten erstellen. Weitere Informationen finden Sie unter [Erste Schritte mit der schnellen Datenanalyse](https://docs.aws.amazon.com/quicksight/latest/user/getting-started.html) in der *Kurzanleitung*.

Standardmäßig verfügen alle Benutzer, an die Sie Prognosen senden, über Eigentümerberechtigungen für den Datensatz in Quick. Besitzer können Analysen erstellen, Datensätze aktualisieren, bearbeiten, löschen und erneut teilen. Die Änderungen, die Eigentümer an einem Datensatz vornehmen, ändern den Datensatz für alle Benutzer mit Zugriff. Um die Berechtigungen zu ändern, rufen Sie den Datensatz in Quick auf und verwalten Sie dessen Berechtigungen. Weitere Informationen finden Sie in [der *Kurzanleitung unter Benutzerberechtigungen* anzeigen und bearbeiten, mit denen ein Datensatz geteilt wird](https://docs.aws.amazon.com/quicksight/latest/user/sharing-data-sets.html#view-users-data-set).

# Herunterladen eines Modell-Notebooks
<a name="canvas-notebook"></a>

**Anmerkung**  
Das Notebook-Feature des Modells ist für tabellarische Quick-Build- und Standard-Build-Modelle sowie für optimierte Grundlagenmodelle verfügbar. Modell-Notebooks werden für Modelle zur Bildvorhersage, Textvorhersage oder Zeitreihenprognose nicht unterstützt.  
Wenn Sie ein Modell-Notebook für ein tabellarisches Modell erstellen möchten, das vor der Einführung dieses Features erstellt wurde, müssen Sie das Modell neu erstellen, um ein Notebook zu generieren.

Für geeignete Modelle, die Sie erfolgreich in Amazon SageMaker Canvas erstellt haben, wird ein Jupyter-Notizbuch generiert, das einen Bericht über alle Schritte der Modellerstellung enthält. Dieses Jupyter-Notebook enthält Python-Code, den Sie lokal oder in einer Umgebung wie Amazon SageMaker Studio Classic ausführen können, um die zum Erstellen Ihres Modells erforderlichen Schritte zu replizieren. Das Notebook kann nützlich sein, wenn Sie mit dem Code experimentieren oder die Backend-Details zur Modellerstellung von Canvas einsehen möchten.

So greifen Sie auf das Modell-Notebook zu:

1. Öffnen Sie die Canvas-Anwendung. SageMaker 

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie das von Ihnen erstellte Modell und die Version aus.

1. Wählen Sie auf der Seite der Modellversion in der Kopfzeile das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) aus.

1. Wählen Sie im Dropdown-Menü **Notebook anzeigen** aus.

1. Ein Popup mit dem Notebook-Inhalt wird angezeigt. Sie können **Herunterladen** auswählen und dann einen der folgenden Schritte ausführen:

   1. Wählen Sie **Herunterladen** aus, um den Notebook-Inhalt auf Ihrem lokalen Gerät zu speichern.

   1. Wählen Sie **S3-URI kopieren** aus, um den Amazon-S3-Speicherort zu kopieren, an dem das Notebook gespeichert ist. Das Notebook wird in dem Amazon-S3-Bucket gespeichert, der in Ihrer **Canvas-Speicherkonfiguration** angegeben ist, die im Abschnitt [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites) konfiguriert ist.

Sie sollten das Notebook jetzt entweder lokal oder als Objekt in Amazon S3 anzeigen können. Sie können das Notebook in eine IDE hochladen, um den Code zu bearbeiten und auszuführen, oder Sie können das Notizbuch zur Überprüfung für andere Personen in Ihrer Organisation freigeben.

# Senden Sie Ihr Modell an Quick
<a name="canvas-send-model-to-quicksight"></a>

Wenn Sie Quick verwenden und SageMaker Canvas in Ihren Quick-Visualisierungen nutzen möchten, können Sie ein Amazon SageMaker Canvas-Modell erstellen und es als *Prognosefeld* in Ihrem Quick-Datensatz verwenden. Ein *Vorhersagefeld* ist ein Feld in Ihrem Quick-Datensatz, das Vorhersagen für eine bestimmte Spalte in Ihrem Datensatz treffen kann, ähnlich wie Canvas-Benutzer Einzel- oder Batch-Vorhersagen mit einem Modell treffen. Weitere Informationen darüber, wie Sie die prädiktiven Fähigkeiten von Canvas in Ihre Quick-Datasets integrieren können, finden Sie unter [SageMaker Canvas-Integration](https://docs.aws.amazon.com/quicksight/latest/user/sagemaker-canvas-integration.html) in der [Kurzanleitung](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) für Benutzer.

In den folgenden Schritten wird erklärt, wie Sie Ihrem Quick-Datensatz mithilfe eines Canvas-Modells ein Vorhersagefeld hinzufügen können:

1. Öffnen Sie die Canvas-Anwendung und erstellen Sie ein Modell mit Ihrem Datensatz.

1. Nachdem Sie das Modell in Canvas erstellt haben, senden Sie es an Quick. Eine Schemadatei wird automatisch auf Ihren lokalen Computer heruntergeladen, wenn Sie das Modell an Quick senden. Sie laden diese Schemadatei im nächsten Schritt auf Quick hoch.

1. Öffnen Sie Quick und wählen Sie einen Datensatz mit demselben Schema wie den Datensatz aus, den Sie zum Erstellen Ihres Modells verwendet haben. Fügen Sie dem Datensatz ein Vorhersagefeld an und führen Sie die folgenden Schritte aus:

   1. Geben Sie das von Canvas gesendete Modell an.

   1. Laden Sie die Schemadatei hoch, die in Schritt 2 heruntergeladen wurde.

1. Speichern und veröffentlichen Sie Ihre Änderungen und generieren Sie dann Prognosen für den neuen Datensatz. Quick verwendet das Modell, um die Zielspalte mit Prognosen zu füllen.

Um ein Modell von Canvas an Quick zu senden, müssen Sie die folgenden Voraussetzungen erfüllen:
+ Sie müssen sowohl Canvas als auch Quick eingerichtet haben. Ihr Quick-Konto muss in derselben Weise AWS-Region wie Ihre Canvas-Anwendung erstellt werden. Wenn sich die Heimatregion Ihres Quick-Kontos von der Region Ihrer Canvas-Anwendung unterscheidet, müssen Sie entweder Ihr Quick-Konto [schließen](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html) und neu erstellen oder [eine Canvas-Anwendung in derselben Region wie Ihr Quick-Konto einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites). Ihr Quick-Konto muss auch den Standard-Namespace enthalten, den Sie bei der ersten Erstellung Ihres Quick-Kontos eingerichtet haben. Wenden Sie sich an Ihren Administrator, um Zugriff auf Quick zu erhalten. Weitere Informationen finden Sie unter [Einrichtung von Quick](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html) in der *Kurzanleitung*.
+ Ihr Benutzer muss über die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen verfügen, um Ihre Prognosen an Quick senden zu können. Ihr Administrator kann die IAM-Berechtigungen für Ihren Benutzer einrichten. Weitere Informationen finden Sie unter [Erteilen Sie Ihren Benutzern Berechtigungen zum Senden von Prognosen an Quick](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html).
+ Quick muss Zugriff auf den Amazon S3 S3-Bucket haben, den Sie für den Canvas-Anwendungsspeicher angegeben haben. Weitere Informationen finden Sie unter [Konfigurieren Sie Ihren Amazon S3-Speicher](canvas-storage-configuration.md).

# Zeitreihenprognosen in Amazon SageMaker Canvas
<a name="canvas-time-series"></a>

**Anmerkung**  
Prognosemodelle für Zeitreihen werden nur für tabellarische Datensätze unterstützt.

Amazon SageMaker Canvas bietet Ihnen die Möglichkeit, Zeitreihenprognosen für maschinelles Lernen zu verwenden. Zeitreihenprognosen bieten Ihnen die Möglichkeit, Vorhersagen zu treffen, die mit der Zeit variieren können.

Sie können eine Zeitreihenprognose für die folgenden Beispiele erstellen:
+ Prognose Ihres Lagerbestands in den kommenden Monaten.
+ Die Anzahl der in den nächsten vier Monaten verkauften Artikel.
+ Die Auswirkung einer Preissenkung auf den Umsatz während der Weihnachtszeit.
+ Artikelbestand in den nächsten 12 Monaten.
+ Die Anzahl der Kunden, die in den nächsten Stunden ein Geschäft betreten.
+ Prognose, wie sich eine Senkung des Preises eines Produkts um 10% auf den Umsatz über einen bestimmten Zeitraum auswirkt.

Um eine Zeitreihenprognose zu erstellen, muss Ihr Datensatz Folgendes enthalten:
+ Eine Zeitstempelspalte mit allen Werten des `datetime` Typs.
+ Eine Zielspalte mit den Werten, die Sie zur Prognose future Werte verwenden.
+ Eine Spalte mit Element-IDs, die eindeutige Identifikatoren für jeden Artikel in Ihrem Datensatz enthält, z. B. SKU-Nummern.

Die `datetime` Werte in der Timestamp-Spalte müssen eines der folgenden Formate verwenden:
+ `YYYY-MM-DD HH:MM:SS`
+ `YYYY-MM-DDTHH:MM:SSZ`
+ `YYYY-MM-DD`
+ `MM/DD/YY`
+ `MM/DD/YY HH:MM`
+ `MM/DD/YYYY`
+ `YYYY/MM/DD HH:MM:SS`
+ `YYYY/MM/DD`
+ `DD/MM/YYYY`
+ `DD/MM/YY`
+ `DD-MM-YY`
+ `DD-MM-YYYY`

Sie können Prognosen für die folgenden Intervalle erstellen:
+ 1 Minute
+ 5 Minuten
+ 15 Minuten
+ 30 Minuten
+ 1 Stunde
+ 1 Tag
+ 1 Woche
+ 1 Monat
+ 1 Jahr

## Zukünftige Werte in Ihrem Eingabedatensatz
<a name="canvas-time-series-future"></a>

Canvas erkennt automatisch Spalten in Ihrem Datensatz, die möglicherweise future Werte enthalten könnten. Falls vorhanden, können diese Werte die Genauigkeit von Vorhersagen verbessern. Canvas markiert diese spezifischen Spalten mit einer `Future values` Bezeichnung. Canvas leitet die Beziehung zwischen den Daten in diesen Spalten und der Zielspalte ab, die Sie vorhersagen möchten, und verwendet diese Beziehung, um genauere Prognosen zu erstellen.

Sie können beispielsweise die Menge an Eiscreme prognostizieren, die in einem Lebensmittelgeschäft verkauft wird. Um eine Prognose erstellen zu können, benötigen Sie eine Zeitstempelspalte und eine Spalte, die angibt, wie viel Eiscreme das Lebensmittelgeschäft verkauft hat. Für eine genauere Prognose kann Ihr Datensatz auch den Preis, die Umgebungstemperatur, den Geschmack der Eiscreme oder eine eindeutige Kennung für die Eiscreme enthalten.

Der Verkauf von Eiscreme kann steigen, wenn das Wetter wärmer ist. Ein Rückgang des Eispreises könnte dazu führen, dass mehr Einheiten verkauft werden. Mit einer Spalte mit Daten zur Umgebungstemperatur und einer Spalte mit Preisdaten können Sie besser prognostizieren, wie viele Eiscremeeinheiten das Lebensmittelgeschäft verkauft.

Die Angabe future Werte ist zwar optional, hilft Ihnen aber dabei, Was-wäre-wenn-Analysen direkt in der Canvas-Anwendung durchzuführen und Ihnen zu zeigen, wie Änderungen future Werte Ihre Prognosen beeinflussen könnten.

## Umgang mit fehlenden Werten
<a name="canvas-time-series-missing"></a>

Fehlende Daten können aus verschiedenen Gründen auftreten. Der Grund für Ihre fehlenden Daten könnte sich darauf auswirken, wie Canvas sie zuordnen soll. Beispielsweise könnte Ihre Organisation ein automatisches System verwenden, das nur nachverfolgt, wann ein Verkauf stattfindet. Wenn Sie einen Datensatz verwenden, der aus einem solchen automatischen System stammt, fehlen in der Zielspalte Werte.

**Wichtig**  
Wenn in der Zielspalte Werte fehlen, empfehlen wir, einen Datensatz zu verwenden, der diese Werte nicht enthält. SageMaker Canvas verwendet die Zielspalte, um future Werte vorherzusagen. Fehlende Werte in der Zielspalte können die Genauigkeit der Prognose erheblich beeinträchtigen.

Bei fehlenden Werten im Datensatz impliziert Canvas automatisch die fehlenden Werte für Sie, indem die Zielspalte mit dem Medianwert der Spalte `0` und andere numerische Spalten mit dem Medianwert der Spalte gefüllt werden.

Sie können jedoch Ihre eigene Fülllogik für die Zielspalte und andere numerische Spalten in Ihren Datensätzen auswählen. Für Zielspalten gelten andere Richtlinien und Einschränkungen für das Ausfüllen als für die übrigen numerischen Spalten. Zielspalten werden bis zum Ende des historischen Zeitraums gefüllt, während numerische Spalten sowohl für historische als auch für future Perioden bis zum Ende des Prognosezeitraums gefüllt werden. Canvas füllt future Werte in eine numerische Spalte nur, wenn Ihre Daten mindestens einen Datensatz mit einem future Zeitstempel und einem Wert für diese bestimmte Spalte enthalten.

Sie können eine der folgenden Optionen für Fülllogik auswählen, um fehlende Werte in Ihren Daten zu imputieren:
+ `zero` – Füllen mit `0`.
+ `NaN` – Füllen Sie mit NaN oder keiner Zahl. Dies wird nur für die Zielspalte unterstützt.
+ `mean` – Füllen Sie mit dem Mittelwert der Datenreihe.
+ `median` – Füllen Sie mit dem Medianwert der Datenreihe.
+ `min` – Mit dem Minimalwert aus der Datenreihe auffüllen.
+ `max` – Mit dem Maximalwert aus der Datenreihe auffüllen.

Bei der Auswahl einer Fülllogik sollten Sie berücksichtigen, wie Ihr Modell die Logik interpretiert. In einem Einzelhandelsszenario unterscheidet sich beispielsweise die Erfassung von Nullverkäufen eines verfügbaren Artikels von der Erfassung von Nullverkäufen eines nicht verfügbaren Artikels, da letzteres Szenario nicht unbedingt einen Mangel an Kundeninteresse an dem nicht verfügbaren Artikel bedeutet. In diesem Fall kann das Ausfüllen mithilfe `0` der Zielspalte des Datensatzes dazu führen, dass das Modell bei seinen Prognosen unvoreingenommen ist und auf mangelndes Kundeninteresse an nicht verfügbaren Artikeln schließen lässt. Umgekehrt `NaN` kann das Auffüllen mit dazu führen, dass das Modell das tatsächliche Vorkommen von Null verkauften Artikeln unter den verfügbaren Artikeln ignoriert.

## Arten von Prognosen
<a name="canvas-time-series-types"></a>

Sie können eine der folgenden Arten von Prognosen erstellen:
+ **Einzelner Artikel**
+ **Alle Elemente**

Für eine Prognose für alle Elemente in Ihrem Datensatz gibt SageMaker Canvas eine Prognose für die future Werte für jedes Element in Ihrem Datensatz zurück.

Bei einer Prognose für einen einzelnen Artikel geben Sie das Element an und SageMaker Canvas gibt eine Prognose für die future Werte zurück. Die Prognose umfasst ein Liniendiagramm, in dem die prognostizierten Werte im Zeitverlauf dargestellt werden.

**Topics**
+ [Zukünftige Werte in Ihrem Eingabedatensatz](#canvas-time-series-future)
+ [Umgang mit fehlenden Werten](#canvas-time-series-missing)
+ [Arten von Prognosen](#canvas-time-series-types)
+ [Zusätzliche Optionen zur Vorhersage von Insights](canvas-additional-insights.md)

# Zusätzliche Optionen zur Vorhersage von Insights
<a name="canvas-additional-insights"></a>

In Amazon SageMaker Canvas können Sie die folgenden optionalen Methoden verwenden, um mehr Erkenntnisse aus Ihrer Prognose zu gewinnen:
+ Spalte gruppieren
+ Urlaubsplan
+ Was-wäre-wenn-Szenario

Sie können eine Spalte in Ihrem Datensatz als **Gruppenspalte** angeben. Amazon SageMaker Canvas gruppiert die Prognose nach jedem Wert in der Spalte. Sie können die Prognose beispielsweise nach Spalten gruppieren, die Preisdaten oder eindeutige Artikelkennungen enthalten. Wenn Sie eine Prognose nach einer Spalte gruppieren, können Sie genauere Prognosen erstellen. Wenn Sie beispielsweise eine Prognose nach einer Spalte gruppieren, die Artikelkennungen enthält, können Sie die Prognose für jedes Element sehen.

Der Gesamtverkauf von Artikeln kann durch das Vorhandensein von Feiertagen beeinflusst werden. In den Vereinigten Staaten kann sich beispielsweise die Anzahl der verkauften Artikel sowohl im November als auch im Dezember stark von der Anzahl der im Januar verkauften Artikel unterscheiden. Wenn Sie die Daten von November und Dezember verwenden, um die Verkäufe im Januar zu prognostizieren, sind Ihre Ergebnisse möglicherweise ungenau. Die Verwendung eines Feiertagskalenders verhindert, dass Sie ungenaue Ergebnisse erhalten. Sie können einen Feiertagsplan für 251 Länder verwenden.

Für eine Prognose zu einem einzelnen Element in Ihrem Datensatz können Sie Was-wäre-wenn-Szenarien verwenden. Ein Was-wäre-wenn-Szenario gibt Ihnen die Möglichkeit, Werte in Ihren Daten und die Prognose zu ändern. Sie können beispielsweise die folgenden Fragen anhand eines Was-wäre-wenn-Szenarios beantworten:  „Was wäre, wenn ich die Preise senken würde? Wie würde sich das auf die Anzahl der verkauften Artikel auswirken?“

# Hinzufügen von Modellversionen in Amazon SageMaker Canvas
<a name="canvas-update-model"></a>

In Amazon SageMaker Canvas können Sie die von Ihnen erstellten Modelle aktualisieren, indem Sie *Versionen* hinzufügen. Jedes Modell, das Sie erstellen, hat eine Versionsnummer. Das erste Modell ist Version 1 oder `V1`. Sie können Modellversionen verwenden, um Änderungen der Vorhersagegenauigkeit zu erkennen, wenn Sie Ihre Daten aktualisieren oder [erweiterte Transformationen](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html) verwenden.

Wenn Sie sich Ihr Modell ansehen, zeigt Ihnen SageMaker Canvas den Modellverlauf an, sodass Sie alle von Ihnen gebauten Modellversionen vergleichen können. Sie können auch Versionen löschen, die für Sie nicht mehr nützlich sind. Indem Sie mehrere Modellversionen erstellen und deren Genauigkeit bewerten, können Sie die Leistung Ihres Modells schrittweise verbessern.

**Anmerkung**  
Modelle zur Textvorhersage und Bildvorhersage unterstützen nur eine Modellversion.

Um eine Modellversion hinzuzufügen, können Sie entweder eine vorhandene Version klonen oder eine neue Version erstellen. 

Das Klonen einer vorhandenen Version kopiert die aktuelle Modellkonfiguration, einschließlich des Modellrezepts und des Eingabedatensatzes. Alternativ können Sie eine neue Version erstellen, wenn Sie ein neues Modellrezept konfigurieren oder einen anderen Datensatz auswählen möchten. 

Wenn Sie eine neue Version erstellen und einen anderen Datensatz auswählen, müssen Sie einen Datensatz mit derselben Zielspalte und demselben Schema wie der Datensatz aus Version 1 auswählen.

Bevor Sie eine neue Version hinzufügen können, müssen Sie mindestens eine Modellversion erfolgreich erstellt haben. Anschließend können Sie [eine Modellversion in der SageMaker Modellregistrierung registrieren](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html). Verwenden Sie die Registrierung, um Modellversionen zu verfolgen und mit Studio-Classic-Benutzern bei der Freigabe von Produktionsmodellen zusammenzuarbeiten.

Wenn Sie für Ihre erste Modellversion einen Quick-Build erstellt haben, haben Sie die Möglichkeit, beim Hinzufügen einer Version einen Standard-Build auszuführen. Standardversionen weisen im Allgemeinen eine höhere Genauigkeit auf. Wenn Sie von Ihrer Quick-Build-Konfiguration überzeugt sind, können Sie einen Standard-Build ausführen, um eine endgültige Version Ihres Modells zu erstellen. Weitere Informationen zu den Unterschieden zwischen Quick-Builds und Standard-Builds finden Sie unter [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).

Die folgenden Verfahren zeigen Ihnen, wie Sie Modellversionen hinzufügen können. Das Verfahren unterscheidet sich je nachdem, ob Sie eine Version desselben Build-Typs oder eines anderen Build-Typs (Quick oder Standard) hinzufügen. Verwenden Sie das Verfahren **Neue Modellversion hinzufügen**, um Versionen desselben Build-Typs hinzuzufügen. Um nach dem Ausführen eines Quick-Builds eine Standard-Build-Modellversion hinzuzufügen, gehen Sie wie folgt vor: **So führen Sie einen Standard-Build aus**.

**So fügen Sie eine neue Modellversion hinzu**

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus. Um Ihr Modell zu finden, können Sie **Nach Problemtyp filtern** auswählen.

1. Nachdem Ihr Modell geöffnet wurde, wählen Sie im oberen Bereich die Schaltfläche **Version hinzufügen** aus.

1. Wählen Sie aus dem Dropdown-Menü eine der folgenden Optionen aus:

   1. **Neue Version von Grund auf hinzufügen**: Wenn Sie diese Option auswählen, wird die Registerkarte **Erstellen** mit dem Entwurf für eine neue Modellversion geöffnet. Sie können einen anderen Datensatz auswählen (sofern das Schema mit dem Schema des Datensatzes der ersten Modellversion übereinstimmt) und ein neues Modellrezept konfigurieren. Für weitere Informationen zum Erstellen einer Modellversion siehe [Ein Modell erstellen](canvas-build-model-how-to.md).

   1. **Eine bestehende Version mit Konfigurationen klonen**: In einem Dialogfeld werden Sie aufgefordert, die Version auszuwählen, die Sie klonen möchten. Nachdem Sie die gewünschte Version ausgewählt haben, wählen Sie **Klonen** aus. Die Registerkarte **Build** wird mit dem Entwurf für eine neue Modellversion geöffnet. Alle Modellrezeptkonfigurationen werden aus der geklonten Version kopiert. Für weitere Informationen zum Erstellen einer Modellversion siehe [Ein Modell erstellen](canvas-build-model-how-to.md).

**So führen Sie einen Standard-Build aus**

1. Öffnen Sie Ihre SageMaker Canvas-Anwendung. Weitere Informationen finden Sie unter [Erste Schritte mit der Verwendung von Amazon SageMaker Canvas](canvas-getting-started.md).

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus. Sie können nach **Nach Problemtyp filtern** auswählen, um Ihr Modell leichter zu finden.

1. Nachdem Ihr Modell geöffnet wurde, wählen Sie die Registerkarte **Analysieren** aus.

1. Wählen Sie **Standard-Build** aus.  
![\[Die Registerkarte „Analysieren“ eines Canvas-Modells zeigt die Standard-Build-Schaltfläche.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-add-version-quick-to-standard.png)

   Auf der Modellentwurfsseite, die sich auf der Registerkarte **Build** öffnet, können Sie Ihre Modellkonfiguration ändern und einen Build starten. Für weitere Informationen zum Erstellen einer Modellversion siehe [Ein Modell erstellen](canvas-build-model-how-to.md).

Sie sollten nun eine neue Modellversion in Bearbeitung haben. Für weitere Informationen zum Erstellen eines Modells siehe [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md).

Nachdem Sie eine Modellversion erstellt haben, können Sie jederzeit zur Detailseite Ihres Modells zurückkehren, um alle Versionen anzuzeigen oder weitere Versionen hinzuzufügen. Die folgende Abbildung zeigt die **Versionsseite** für ein Modell.

![\[Die Seite mit den Modellversionen für ein Modell in Canvas.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/model-versions.png)


Auf der Seite **Versionen** können Sie die folgenden Informationen für jede Ihrer Modellversionen einsehen:
+ **Status** – In diesem Feld erfahren Sie, ob Ihr Modell derzeit gebaut (`In building`), fertig gebaut (`Ready`), nicht gebaut werden konnte (`Failed`) oder noch bearbeitet wird (`In draft`).
+ **Modellbewertung**, **F1**, **Präzision**, **Rückruf** und **AUC** – Wenn Sie auf dieser Seite die Option **Erweiterte Metriken anzeigen** aktivieren, können Sie diese Modellmetriken sehen. Diese Metriken geben die Genauigkeit und Leistung Ihres Modells an. Weitere Informationen finden Sie unter [Bewerten Ihres Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html).
+ **Geteilt** — Dieses Feld gibt an, ob Sie die Modellversion für SageMaker Studio Classic-Benutzer freigegeben haben.
+ **Model Registry** – In diesem Feld erfahren Sie, ob Sie die Version in einer Model Registry registriert haben oder nicht. Weitere Informationen finden Sie unter [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md).

# MLOps
<a name="canvas-mlops"></a>

Nachdem Sie ein Modell in SageMaker Canvas erstellt haben, mit dem Sie sich sicher sind, möchten Sie Ihr Modell möglicherweise in die Operations (MLOps) -Prozesse für maschinelles Lernen in Ihrer Organisation integrieren. MLOps umfasst allgemeine Aufgaben wie die Bereitstellung eines Modells zur Verwendung in der Produktion oder die Einrichtung von CI/CD-Pipelines (Continuous Integration and Continuous Deployment).

In den folgenden Themen wird beschrieben, wie Sie Funktionen in Canvas verwenden können, um ein in Canvas erstelltes Modell in der Produktion zu verwenden.

**Topics**
+ [Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker](canvas-register-model.md)
+ [Stellen Sie Ihre Modelle auf einem Endpunkt bereit](canvas-deploy-model.md)
+ [Sehen Sie sich Ihre Bereitstellungen an](canvas-deploy-model-view.md)
+ [Erstellen einer Bereitstellungskonfiguration](canvas-deploy-model-update.md)
+ [Testen der Bereitstellung](canvas-deploy-model-test.md)
+ [Rufen Sie Ihren Endpunkt auf](canvas-deploy-model-invoke.md)
+ [Löschen einer Modellbereitstellung](canvas-deploy-model-delete.md)

# Registrieren Sie eine Modellversion in der AI-Modellregistrierung SageMaker
<a name="canvas-register-model"></a>

Mit SageMaker Canvas können Sie mehrere Iterationen oder Versionen Ihres Modells erstellen, um es im Laufe der Zeit zu verbessern. Möglicherweise möchten Sie eine neue Version Ihres Modells erstellen, wenn Sie bessere Trainingsdaten erhalten oder wenn Sie versuchen möchten, die Genauigkeit des Modells zu verbessern. Weitere Informationen zum Hinzufügen von Versionen zu Ihrem Modell finden Sie unter [Aktualisieren eines Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html).

Nachdem Sie [ein Modell erstellt](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html) haben, bei dem Sie sich sicher sind, möchten Sie möglicherweise dessen Leistung bewerten und es von einem Datenwissenschaftler oder MLOps Ingenieur in Ihrer Organisation überprüfen lassen, bevor Sie es in der Produktion verwenden. Zu diesem Zweck können Sie Ihre Modellversionen in der [SageMaker Modellregistrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html) registrieren. Die SageMaker Model Registry ist ein Repository, das Datenwissenschaftler oder Ingenieure verwenden können, um Modelle für maschinelles Lernen (ML) zu katalogisieren und Modellversionen und die zugehörigen Metadaten, wie z. B. Trainingsmetriken, zu verwalten. Sie können auch den Genehmigungsstatus eines Modells verwalten und protokollieren.

Nachdem Sie Ihre Modellversionen in der SageMaker Model Registry registriert haben, kann ein Datenwissenschaftler oder Ihr MLOps Team über [SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html), eine webbasierte integrierte Entwicklungsumgebung (IDE) für die Arbeit mit Modellen für maschinelles Lernen, auf die SageMaker Model Registry zugreifen. In der SageMaker Model Registry-Oberfläche in Studio Classic kann der Datenwissenschaftler oder das MLOps Team Ihr Modell bewerten und den Genehmigungsstatus aktualisieren. Wenn das Modell die Anforderungen nicht erfüllt, kann der Datenwissenschaftler oder MLOps das Team den Status auf ändern`Rejected`. Wenn das Modell die Anforderungen erfüllt, kann der Datenwissenschaftler oder MLOps das Team den Status auf aktualisieren`Approved`. Anschließend können sie [Ihr Modell auf einem Endpunkt bereitstellen oder die](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html#deploy-model-prereqs) [Modellbereitstellung mithilfe von CI/CD Pipelines automatisieren](https://aws.amazon.com/blogs/machine-learning/building-automating-managing-and-scaling-ml-workflows-using-amazon-sagemaker-pipelines/). Sie können die SageMaker KI-Modellregistrierungsfunktion verwenden, um in Canvas erstellte Modelle nahtlos in die MLOps Prozesse in Ihrer Organisation zu integrieren.

Das folgende Diagramm fasst ein Beispiel für die Registrierung einer in Canvas erstellten Modellversion in der SageMaker Model Registry zur Integration in einen MLOps Workflow zusammen.

![\[Die Schritte zum Registrieren einer in Canvas erstellten Modellversion für die Integration in einen MLOps Workflow.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-model-registration-diagram.jpg)


Sie können tabellarische Modellversionen, Bild- und Textmodellversionen in der SageMaker Model Registry registrieren. Dazu gehören Zeitreihen-Prognosemodelle und darauf JumpStart basierende, [fein abgestimmte Basismodelle](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html).

**Anmerkung**  
Derzeit können Sie auf Amazon Bedrock basierende, fein abgestimmte Foundation-Modelle, die in Canvas erstellt wurden, nicht in der SageMaker Model Registry registrieren.

In den folgenden Abschnitten erfahren Sie, wie Sie eine Modellversion von Canvas aus in der SageMaker Model Registry registrieren.

## Berechtigungsverwaltung
<a name="canvas-register-model-prereqs"></a>

Standardmäßig sind Sie berechtigt, Modellversionen in der SageMaker Model Registry zu registrieren. SageMaker AI gewährt diese Berechtigungen für alle neuen und vorhandenen Canvas-Benutzerprofile über die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie, die der AWS IAM-Ausführungsrolle für die SageMaker AI-Domäne zugeordnet ist, die Ihre Canvas-Anwendung hostet.

Wenn Ihr Canvas-Administrator eine neue Domain oder ein neues Benutzerprofil einrichtet, aktiviert SageMaker KI bei der Einrichtung der Domain und beim Befolgen der Anweisungen [zu den Voraussetzungen im Handbuch Erste Schritte](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites) die Modellregistrierungsberechtigungen über die **Konfigurationsoption ML Ops-Berechtigungen**, die standardmäßig aktiviert ist.

Der Canvas-Administrator kann die Berechtigungen für die Modellregistrierung auch auf Benutzerprofilebene verwalten. Wenn der Administrator beispielsweise einigen Benutzerprofilen Modellregistrierungsberechtigungen gewähren, anderen jedoch Berechtigungen entziehen möchte, kann er die Berechtigungen für einen bestimmten Benutzer bearbeiten. Das folgende Verfahren zeigt, wie Sie Modellregistrierungsberechtigungen für ein bestimmtes Benutzerprofil deaktivieren:

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain des Benutzerprofils aus.

1. Wählen Sie auf der Seite mit den **Domaindetails** das **Benutzerprofil** aus, dessen Berechtigungen Sie bearbeiten möchten.

1. Klicken Sie auf der Seite **Details des Benutzers** auf **Bearbeiten**.

1. Wählen Sie im linken Navigationsbereich die Option **Canvas Einstellungen** aus.

1. Deaktivieren Sie im Abschnitt **Konfiguration der ML Ops-Berechtigungen** die Option **Registrierungsberechtigungen für die Modellregistrierung aktivieren**.

1. Wählen Sie **Absenden** aus, um die Änderungen an Ihren Domaineinstellungen zu speichern.

Das Benutzerprofil sollte keine Modellregistrierungsberechtigungen mehr haben.

## Registrieren Sie eine Modellversion in der SageMaker AI-Modellregistrierung
<a name="canvas-register-model-register"></a>

SageMaker Model Registry verfolgt alle Modellversionen, die Sie zur Lösung eines bestimmten Problems in einer *Modellgruppe* erstellen. Wenn Sie ein SageMaker Canvas-Modell erstellen und es bei SageMaker Model Registry registrieren, wird es einer Modellgruppe als neue Modellversion hinzugefügt. Wenn Sie beispielsweise vier Versionen Ihres Modells erstellen und registrieren, kann ein Datenwissenschaftler oder ein MLOps Team, das in der SageMaker Model Registry-Oberfläche arbeitet, die Modellgruppe einsehen und alle vier Versionen des Modells an einem Ort überprüfen.

Bei der Registrierung eines Canvas-Modells in der SageMaker Model Registry wird automatisch eine Modellgruppe erstellt und nach Ihrem Canvas-Modell benannt. Optional können Sie es in einen Namen Ihrer Wahl umbenennen oder eine vorhandene Modellgruppe in der SageMaker Model Registry verwenden. Weitere Informationen zum Erstellen einer Modellgruppe finden Sie unter [Erstellen einer Modellgruppe](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-model-group.html).

**Anmerkung**  
Derzeit können Sie nur in Canvas erstellte Modelle mit demselben Konto bei der SageMaker Model Registry registrieren.

Gehen Sie wie folgt vor, um eine SageMaker Modellversion von der Canvas-Anwendung aus in der Model Registry zu registrieren:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich **Meine Modelle** aus.

1. Wählen Sie auf der Seite **Meine Modelle** Ihr Modell aus. Sie können **nach Problemtyp filtern**, um Ihr Modell leichter zu finden.

1. Nachdem Sie Ihr Modell ausgewählt haben, wird die Seite **Versionen** geöffnet, auf der alle Versionen Ihres Modells aufgeführt sind. Sie können den Schalter **Erweiterte Metriken anzeigen** aktivieren, um die erweiterten Metriken wie **Recall** und **Precision** anzuzeigen, um Ihre Modellversionen zu vergleichen und zu entscheiden, welche Sie registrieren möchten.

1. Wählen Sie in der Liste der Modellversionen für die Version, die Sie registrieren möchten, das **Weitere Optionen** Symbol (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) aus. Sie können auch auf die Version doppelklicken, die Sie registrieren möchten, und dann auf der Seite mit den Versionsdetails das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen.

1. Wählen Sie in der Dropdown-Liste die Option **Zur Modellregistrierung hinzufügen** aus. Das Dialogfeld **Zur Modellregistrierung hinzufügen** wird geöffnet.

1. Führen Sie im Dialogfeld **Registrierungswert hinzufügen** die folgenden Schritte aus:

   1. (Optional) Geben Sie im Bereich **SageMaker Studio Classic-Modellgruppe** **in das Feld Modellgruppenname** den Namen der Modellgruppe ein, für die Sie Ihre Version registrieren möchten. Sie können den Namen für eine neue Modellgruppe angeben, die SageMaker AI für Sie erstellt, oder Sie können eine vorhandene Modellgruppe angeben. Wenn Sie dieses Feld nicht angeben, registriert Canvas Ihre Version in einer Standardmodellgruppe mit demselben Namen wie Ihr Modell.

   1. Wählen Sie **Hinzufügen** aus.

Ihre Modellversion sollte jetzt für die Modellgruppe in der SageMaker Modellregistrierung registriert sein. Wenn Sie eine Modellversion für eine Modellgruppe in der SageMaker Model Registry registrieren, werden alle nachfolgenden Versionen des Canvas-Modells in derselben Modellgruppe registriert (falls Sie sie registrieren möchten). Wenn Sie Ihre Versionen für eine andere Modellgruppe registrieren, müssen Sie zur SageMaker Modellregistrierung wechseln und [die Modellgruppe löschen](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-delete-model-group.html). Anschließend können Sie Ihre Modellversionen erneut für die neue Modellgruppe registrieren.

Um den Status Ihrer Modelle einzusehen, können Sie in der Canvas-Anwendung zur **Versionsseite** für Ihr Modell zurückkehren. Auf dieser Seite wird der Status der **Modellregistrierung** für jede Version angezeigt. Wenn der Status lautet `Registered`, wurde das Modell erfolgreich registriert.

Wenn Sie die Details Ihrer registrierten Modellversion für den Status der **Modellregistrierung** anzeigen möchten, können Sie den Mauszeiger über das Feld **Registriert** bewegen, um das Popup-Feld mit den **Details zur Modellregistrierung** zu sehen. Diese Details enthalten weitere Informationen, z. B. die folgenden:
+ Der **Name der Modellpaketgruppe** ist die Modellgruppe, für die Ihre Version in der SageMaker Modellregistrierung registriert ist.
+ Der **Genehmigungsstatus**, der `Pending Approval`, `Approved`, oder `Rejected` sein kann. Wenn ein Studio Classic-Benutzer Ihre Version in der SageMaker Model Registry genehmigt oder ablehnt, wird dieser Status auf der Seite mit den Modellversionen aktualisiert, wenn Sie die Seite aktualisieren.

Der folgende Screenshot zeigt das Feld mit den **Details zur Modellregistrierung** sowie **den Genehmigungsstatus** `Approved` für diese bestimmte Modellversion.

![\[Screenshot des Felds mit den Details zur SageMaker Modellregistrierung in der Canvas-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/approved-mr.png)


# Stellen Sie Ihre Modelle auf einem Endpunkt bereit
<a name="canvas-deploy-model"></a>

In Amazon SageMaker Canvas können Sie Ihre Modelle auf einem Endpunkt bereitstellen, um Vorhersagen zu treffen. SageMaker AI stellt die ML-Infrastruktur bereit, mit der Sie Ihr Modell auf einem Endpunkt mit den von Ihnen ausgewählten Recheninstanzen hosten können. Anschließend können Sie den Endpunkt *aufrufen* (eine Prognoseanfrage senden) und anhand Ihres Modells eine Vorhersage in Echtzeit abrufen. Mit dieser Funktion können Sie Ihr Modell in der Produktion verwenden, um auf eingehende Anfragen zu antworten, und Sie können Ihr Modell in bestehende Anwendungen und Workflows integrieren.

Zu Beginn sollten Sie über ein Modell verfügen, das Sie bereitstellen möchten. Sie können von Ihnen erstellte benutzerdefinierte Modellversionen, Amazon SageMaker JumpStart Foundation-Modelle und fein abgestimmte JumpStart Foundation-Modelle bereitstellen. Für weitere Informationen zum Erstellen eines Modells in Canvas, siehe [So funktionieren benutzerdefinierte Modelle](canvas-build-model.md). Weitere Informationen zu JumpStart Foundation-Modellen in Canvas finden Sie unter[Generative KI-Grundmodelle in SageMaker Canvas](canvas-fm-chat.md).

Lesen Sie den folgenden Abschnitt **zur Rechteverwaltung** und beginnen Sie dann im Abschnitt Modell **bereitstellen** mit der Erstellung neuer Bereitstellungen.

## Berechtigungsverwaltung
<a name="canvas-deploy-model-prereqs"></a>

Standardmäßig sind Sie berechtigt, Modelle auf SageMaker AI Hosting-Endpunkten bereitzustellen. SageMaker AI gewährt diese Berechtigungen für alle neuen und vorhandenen Canvas-Benutzerprofile über die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)Richtlinie, die der AWS IAM-Ausführungsrolle für die SageMaker AI-Domäne zugeordnet ist, die Ihre Canvas-Anwendung hostet.

Wenn Ihr Canvas-Administrator eine neue Domäne oder ein neues Benutzerprofil einrichtet, aktiviert SageMaker KI bei der Einrichtung der Domain und bei der Befolgung der erforderlichen Anweisungen in der die [Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites) Berechtigungen für die Modellbereitstellung über die Option **Direkte Bereitstellung von Canvas-Modellen aktivieren**, die standardmäßig aktiviert ist.

Der Canvas-Administrator kann die Berechtigungen für die Modellbereitstellung auch auf Benutzerprofilebene verwalten. Wenn der Administrator beispielsweise bei der Einrichtung einer Domain nicht allen Benutzerprofilen Berechtigungen für die Modellbereitstellung gewähren möchte, kann er bestimmten Benutzern Berechtigungen gewähren, nachdem die Domain erstellt wurde.

Das folgende Verfahren zeigt, wie die Berechtigungen zur Modellbereitstellung für ein bestimmtes Benutzerprofil geändert werden:

1. Öffnen Sie die SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin Konfigurationen** die Option **Domains** aus.

1. Wählen Sie aus der Liste der Domains die Domain des Benutzerprofils aus.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus.

1. Wählen Sie Ihr **Benutzerprofil** aus.

1. Wählen Sie auf der Seite mit dem Benutzerprofil die Registerkarte **App-Konfigurationen** aus.

1. Klicken Sie im Abschnitt **Canvas** auf **Bearbeiten**.

1. Deaktivieren Sie im Abschnitt **ML-Ops-Konfiguration** die Option **Direkte Bereitstellung von Canvas-Modellen aktivieren**, um Bereitstellungsberechtigungen zu aktivieren.

1. Wählen Sie **Absenden** aus, um die Änderungen an Ihren Domaineinstellungen zu speichern.

Das Benutzerprofil sollte keine Berechtigungen für die Modellbereitstellung haben.

Nachdem Sie die Berechtigungen für die Domain oder das Benutzerprofil erteilt haben, stellen Sie sicher, dass sich der Benutzer aus seiner Canvas-Anwendung abmeldet und erneut anmeldet, damit die Berechtigungsänderungen übernommen werden.

## Bereitstellen eines Modells
<a name="canvas-deploy-model-deploy"></a>

Um mit der Bereitstellung Ihres Modells zu beginnen, erstellen Sie eine neue Bereitstellung in Canvas und geben die Modellversion an, die Sie zusammen mit der ML-Infrastruktur bereitstellen möchten, z. B. den Typ und die Anzahl der Rechen-Instances, die Sie zum Hosten des Modells verwenden möchten.

Canvas schlägt basierend auf Ihrem Modelltyp einen Standardtyp und eine Standardanzahl von Instances vor. Weitere Informationen zu den verschiedenen SageMaker KI-Instance-Typen finden Sie auf der [ SageMaker Amazon-Preisseite](https://aws.amazon.com/sagemaker/pricing/). Solange Ihr Endpunkt aktiv ist, werden Ihnen Gebühren auf der Grundlage der SageMaker KI-Instance-Preise berechnet.

Bei der JumpStart Bereitstellung von Basismodellen haben Sie auch die Möglichkeit, die Länge der Bereitstellungszeit anzugeben. Sie können das Modell auf unbestimmte Zeit auf einem Endpunkt bereitstellen (d. h. der Endpunkt bleibt aktiv, bis Sie die Bereitstellung löschen). Oder, wenn Sie den Endpunkt nur für einen kurzen Zeitraum benötigen und die Kosten senken möchten, können Sie das Modell für einen bestimmten Zeitraum auf einem Endpunkt bereitstellen. Danach fährt SageMaker KI den Endpunkt für Sie herunter.

**Anmerkung**  
Wenn Sie ein Modell für einen bestimmten Zeitraum bereitstellen, bleiben Sie für die Dauer des Endpunkts in der Canvas-Anwendung angemeldet. Wenn Sie sich von der Anwendung abmelden oder sie löschen, kann Canvas den Endpunkt zum angegebenen Zeitpunkt nicht herunterfahren.

Nachdem Ihr Modell auf einem SageMaker [KI-Hosting-Echtzeit-Inferenzendpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) bereitgestellt wurde, können Sie damit beginnen, Vorhersagen zu treffen, indem Sie den Endpunkt *aufrufen*.

Es gibt verschiedene Möglichkeiten, ein Modell von der Canvas-Anwendung aus bereitzustellen. Sie können mit einer der folgenden Methoden auf die Modellbereitstellungsoption zugreifen:
+ Wählen Sie auf der Seite **Meine Modelle** der Canvas-Anwendung das Modell aus, das Sie bereitstellen möchten. Anschließend wählen Sie auf der Seite **Versionen** des Modells das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) neben einer Modellversion und **Bereitstellen** aus.
+ Wenn Sie sich auf der Detailseite für eine Modellversion auf der Registerkarte **Analysieren** befinden, wählen Sie die Option **Bereitstellen** aus.
+ Wenn Sie sich auf der Detailseite für eine Modellversion auf der Registerkarte **Prognose** befinden, wählen Sie oben auf der Seite das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) und dann **Bereitstellen** aus.
+ Auf der Seite **ML Ops** der Canvas-Anwendung wählen Sie die Registerkarte **Bereitstellungen** und dann **Bereitstellung erstellen** aus.
+  JumpStart Fundamentmodelle und fein abgestimmte Fundamentmodelle finden Sie auf der **Ready-to-use Modellseite der Canvas-Anwendung**. Wählen Sie **Inhalt generieren, extrahieren und zusammenfassen**. Suchen Sie dann das JumpStart Foundation-Modell oder das fein abgestimmte Foundation-Modell, das Sie bereitstellen möchten. Wählen Sie das Modell aus und klicken Sie auf der Chat-Seite des Modells auf die Schaltfläche **Bereitstellen**.

Bei all diesen Methoden wird der Seitenbereich **Deploy-Modell** geöffnet, in dem Sie die Bereitstellungskonfiguration für Ihr Modell angeben. Um das Modell über diesen Bereich bereitzustellen, führen Sie die folgenden Schritte aus:

1. (Optional) Wenn Sie eine Bereitstellung auf der Seite **ML Ops** erstellen, haben Sie die Möglichkeit, **Modell und Version auszuwählen**. Verwenden Sie die Dropdown-Menüs, um das Modell und die Modellversion auszuwählen, die Sie bereitstellen möchten.

1. Geben Sie einen Namen in das Feld **Bereitstellungsname** ein.

1. (Nur für JumpStart Foundation-Modelle und fein abgestimmte Foundation-Modelle) Wählen Sie eine **Bereitstellungsdauer** aus. Wählen Sie **Unbegrenzt** aus, um den Endpunkt so lange aktiv zu lassen, bis Sie ihn herunterfahren, oder wählen Sie **Dauer festlegen** aus und geben Sie dann den Zeitraum ein, für den der Endpunkt aktiv bleiben soll.

1. Zum **Beispiel den Instanztyp** erkennt SageMaker KI einen Standard-Instanztyp und eine Standard-Instanznummer, die für Ihr Modell geeignet sind. Sie können jedoch den Instance-Typ ändern, den Sie für das Hosten Ihres Modells verwenden möchten.
**Anmerkung**  
Wenn das Instance-Kontingent für den ausgewählten Instance-Typ in Ihrem AWS Konto aufgebraucht ist, können Sie eine Erhöhung des Kontingents beantragen. Weitere Informationen zu den Standardkontingenten und dazu, wie Sie eine Erhöhung beantragen können, finden Sie unter [Amazon SageMaker AI-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html) im *AWS Allgemeinen Referenzhandbuch.*

1. Unter **Anzahl der Instances** können Sie die Anzahl der aktiven Instances festlegen, die für Ihren Endpunkt verwendet werden. SageMaker KI erkennt eine Standardnummer, die für Ihr Modell geeignet ist. Sie können diese Zahl jedoch ändern.

1. Wenn Sie bereit sind, Ihr Modell bereitzustellen, wählen Sie **Bereitstellen** aus.

Ihr Modell sollte jetzt auf einem Endpunkt bereitgestellt werden.

# Sehen Sie sich Ihre Bereitstellungen an
<a name="canvas-deploy-model-view"></a>

Möglicherweise möchten Sie den Status oder die Details einer Modellbereitstellung in Amazon SageMaker Canvas überprüfen. Wenn Ihre Bereitstellung beispielsweise fehlgeschlagen ist, möchten Sie möglicherweise die Details zur Fehlerbehebung überprüfen.

Sie können Ihre Canvas-Modellbereitstellungen in der Canvas-Anwendung oder in der Amazon SageMaker AI-Konsole anzeigen.

Wählen Sie eines der folgenden Verfahren, um die Bereitstellungsdetails von Canvas aus anzuzeigen:

Gehen Sie wie folgt vor, um Ihre Bereitstellungsdetails von der Seite **ML Ops** aus aufzurufen:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **ML Ops**.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Wählen Sie den Namen der Bereitstellungsstufe.

Gehen Sie wie folgt vor, um Ihre Bereitstellungsdetails auf der Seite einer Modellversion anzuzeigen:

1. Rufen Sie in der SageMaker Canvas-Anwendung die Detailseite Ihrer Modellversion auf.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Suchen Sie im Abschnitt **Bereitstellungen**, in dem alle Bereitstellungskonfigurationen aufgeführt sind, die mit dieser Modellversion verknüpft sind, Ihre Bereitstellung.

1. Wählen Sie das Symbol **Weitere Optionen** (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) und dann **Details anzeigen** aus, um die Detailseite zu öffnen.

Die Detailseite für Ihre Bereitstellung wird geöffnet, und Sie können Informationen wie den Zeitpunkt der letzten Vorhersage, den Status und die Konfiguration des Endpunkts sowie die Modellversion anzeigen, die derzeit auf dem Endpunkt bereitgestellt wird.

Sie können Ihre derzeit aktiven Canvas-Workspace-Instanzen und aktiven Endpunkte auch über das **SageMaker AI-Dashboard in der [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/)** einsehen. Ihre Canvas-Endpunkte werden zusammen mit allen anderen von Ihnen erstellten SageMaker KI-Hosting-Endpunkten aufgeführt. Sie können sie filtern, indem Sie nach Endpunkten mit dem Canvas-Tag suchen.

Der folgende Screenshot zeigt das KI-Dashboard. SageMaker Im Bereich **Canvas** können Sie sehen, dass eine Workspace-Instance in Betrieb ist und vier Endpunkte aktiv sind.

![\[Screenshot des SageMaker AI-Dashboards mit den aktiven Canvas-Workspace-Instanzen und -Endpunkten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-sagemaker-dashboard.png)


# Erstellen einer Bereitstellungskonfiguration
<a name="canvas-deploy-model-update"></a>

Sie können die Bereitstellungskonfiguration für Modelle aktualisieren, die Sie auf Endpunkten in Amazon SageMaker Canvas bereitgestellt haben. Sie können beispielsweise eine aktualisierte Modellversion auf dem Endpunkt bereitstellen oder Sie können den Instance-Typ oder die Anzahl der Instances hinter dem Endpunkt entsprechend Ihren Kapazitätsanforderungen aktualisieren.

Es gibt verschiedene Möglichkeiten, Ihre Bereitstellung von der Canvas-Anwendung aus zu aktualisieren. Sie können eine der folgenden Methoden verwenden:
+ Auf der Seite **ML Ops** der Canvas-Anwendung können Sie die Registerkarte **Bereitstellungen** und dann die Bereitstellung auswählen, die Sie aktualisieren möchten. Wählen Sie **Konfiguration aktualisieren**.
+ Wenn Sie sich auf der Detailseite für eine Modellversion auf der Registerkarte **Bereitstellen** befinden, können Sie die Bereitstellungen für diese Version anzeigen. Wählen Sie neben der Bereitstellung das Symbol **Weitere Optionen** (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) und dann **Konfiguration aktualisieren** aus.

Beide oben genannten Methoden öffnen den Seitenbereich **Konfiguration aktualisieren**, in dem Sie Änderungen an Ihrer Bereitstellungskonfiguration vornehmen können. Zum Aktualisieren der Konfiguration führen Sie einen der folgenden Schritte aus:

1. Im Dropdown-Menü **Version auswählen** können Sie eine andere Modellversion für die Bereitstellung auf dem Endpunkt auswählen.
**Anmerkung**  
Wenn Sie eine Bereitstellungskonfiguration aktualisieren, können Sie nur eine andere Modellversion für die Bereitstellung auswählen. Um ein anderes Modell bereitzustellen, erstellen Sie eine neue Bereitstellung.

1. Als **Instance-Typ** können Sie einen anderen Instance-Typ für das Hosten Ihres Modells auswählen.

1. Zum Beispiel **Anzahl der Instances** können Sie die Anzahl der aktiven Instances ändern, die für Ihren Endpunkt verwendet werden.

1. Wählen Sie **Speichern**.

Ihre Bereitstellungskonfiguration sollte jetzt aktualisiert sein.

# Testen der Bereitstellung
<a name="canvas-deploy-model-test"></a>

Sie können eine Modellbereitstellung testen, indem Sie den Endpunkt aufrufen oder einzelne Prognoseanfragen über die Amazon SageMaker Canvas-Anwendung stellen. Sie können diese Funktion verwenden, um zu überprüfen, ob Ihr Endpunkt auf Anfragen reagiert, bevor Sie Ihren Endpunkt programmgesteuert in einer Produktionsumgebung aufrufen.

## Testen einer benutzerdefinierten Modellbereitstellung
<a name="canvas-deploy-model-test-custom"></a>

Sie können die Bereitstellung eines benutzerdefinierten Modells testen, indem Sie über die **ML-Ops-Seite** darauf zugreifen und einen einzelnen Aufruf durchführen, der eine Vorhersage zusammen mit der Wahrscheinlichkeit zurückgibt, dass die Vorhersage korrekt ist.

**Anmerkung**  
Die Ausführungsdauer ist eine Schätzung der Zeit, die benötigt wird, um den Endpunkt in Canvas aufzurufen und eine Antwort vom Endpunkt zu erhalten. Detaillierte Latenzmetriken finden Sie unter [SageMaker KI Endpoint Invocation](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-endpoint-invocation) Metrics.

Um Ihren Endpunkt mithilfe der Canvas-Anwendung zu testen, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Wählen Sie in der Liste der Bereitstellungen die Bereitstellung aus, die den Endpunkt enthält, den Sie aufrufen möchten.

1. Wählen Sie auf der Detailseite der Bereitstellung die Registerkarte **Testbereitstellung** aus.

1. Auf der Seite mit den Bereitstellungstests können Sie die **Werte** Feld ändern, um einen neuen Datenpunkt anzugeben. Für Zeitreihen-Prognosemodelle geben Sie die **Element-ID** an, für die Sie eine Prognose erstellen möchten.

1. Nachdem Sie die Werte geändert haben, wählen Sie **Aktualisieren**, um das Prognoseergebnis zu erhalten.

Die Vorhersage wird zusammen mit den **Aufrufergebnisfeldern** geladen, die angeben, ob der Aufruf erfolgreich war oder nicht und wie lange die Bearbeitung der Anfrage gedauert hat.

Der folgende Screenshot zeigt eine Vorhersage, die in der Canvas-Anwendung auf der Registerkarte **Testbereitstellung** durchgeführt wurde.

![\[Die Canvas-Anwendung, die eine Testvorhersage für ein bereitgestelltes Modell zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/canvas-test-deployments.png)


Für alle Modelltypen außer numerischer Vorhersage und Zeitreihenprognose gibt die Vorhersage die folgenden Felder zurück:
+  **predicted\$1label** – die vorhergesagte Ausgabe
+  **Wahrscheinlichkeit** – die Wahrscheinlichkeit, dass die vorhergesagte Beschriftung korrekt ist
+  **Beschriftungen** – die Liste aller möglichen Beschriftungen
+  **Wahrscheinlichkeiten** – die Wahrscheinlichkeiten, die jeder Beschriftung entsprechen (die Reihenfolge dieser Liste entspricht der Reihenfolge der Beschriftungen)

Bei numerischen Vorhersagemodellen enthält die Vorhersage nur das **Punktefeld**, das die prognostizierte Ausgabe des Modells darstellt, z. B. den prognostizierten Preis eines Hauses.

Bei Zeitreihen-Prognosemodellen handelt es sich bei der Vorhersage um ein Diagramm, das die Prognosen nach Quantilen darstellt. Sie können die **Schema-Ansicht** auswählen, um die prognostizierten numerischen Werte für jedes Quantil anzuzeigen.

Sie können weiterhin einzelne Vorhersagen auf der Seite mit den Bereitstellungstests treffen, oder im folgenden Abschnitt [Rufen Sie Ihren Endpunkt auf](canvas-deploy-model-invoke.md) erfahren Sie, wie Sie Ihren Endpunkt programmgesteuert von Anwendungen aus aufrufen können.

## Testen Sie eine Bereitstellung eines JumpStart Foundation-Modells
<a name="canvas-deploy-model-test-js"></a>

Sie können über die Canvas-Anwendung mit einem bereitgestellten JumpStart Foundation-Modell chatten, um dessen Funktionalität zu testen, bevor Sie es über Code aufrufen.

Gehen Sie wie folgt vor, um mit einem bereitgestellten JumpStart Foundation-Modell zu chatten:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Suchen Sie in der Liste der Bereitstellungen diejenige, die Sie aufrufen möchten, und wählen Sie das Symbol **Weitere Optionen** (![\[More options icon for a model deployment.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) aus.

1. Wählen Sie im Kontextmenü die Option **Testbereitstellung** aus.

1. Es wird ein neuer Chat zum **Generieren, Extrahieren und Zusammenfassen von Inhalten** mit dem JumpStart Basismodell geöffnet, und Sie können mit der Eingabe von Eingabeaufforderungen beginnen. Beachten Sie, dass Eingabeaufforderungen aus diesem Chat als Anfragen an Ihren SageMaker AI Hosting-Endpunkt gesendet werden.

# Rufen Sie Ihren Endpunkt auf
<a name="canvas-deploy-model-invoke"></a>

**Anmerkung**  
Wir empfehlen Ihnen, [Ihre Modellbereitstellung in Amazon SageMaker Canvas zu testen](canvas-deploy-model-test.md), bevor Sie einen SageMaker KI-Endpunkt programmgesteuert aufrufen.

Sie können Ihre Amazon SageMaker Canvas-Modelle, die Sie auf einem SageMaker KI-Endpunkt bereitgestellt haben, in der Produktion mit Ihren Anwendungen verwenden. [Rufen Sie den Endpunkt programmgesteuert auf die gleiche Weise auf, wie Sie jeden anderen SageMaker KI-Echtzeit-Endpunkt aufrufen.](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) Der programmgesteuerte Aufruf eines Endpunkts gibt ein Antwortobjekt zurück, das dieselben Felder enthält, die in [Testen der Bereitstellung](canvas-deploy-model-test.md) beschrieben sind.

Weitere Informationen zum programmgesteuerten Aufrufen von Endpunkten finden Sie unter. [Aufrufen von Modellen für Echtzeit-Inferenz](realtime-endpoints-test-endpoints.md)

Die folgenden Python-Beispiele zeigen Ihnen, wie Sie Ihren Endpunkt basierend auf dem Modelltyp aufrufen.

## JumpStart Grundlegende Modelle
<a name="canvas-invoke-js-example"></a>

Das folgende Beispiel zeigt Ihnen, wie Sie ein JumpStart Foundation-Modell aufrufen, das Sie auf einem Endpunkt bereitgestellt haben.

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(
    [['feature_column1', 'feature_column2'], 
    ['feature_column1', 'feature_column2']]
).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## Numerische und kategoriale Vorhersagemodelle
<a name="canvas-invoke-tabular-example"></a>

Im folgenden Beispiel wird gezeigt, wie Sie numerische oder kategoriale Prognosemodelle aufrufen.

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## Zeitreihen-Prognosemodelle
<a name="canvas-invoke-forecast-example"></a>

Das folgende Beispiel zeigt, wie Sie Zeitreihenprognosemodelle aufrufen können. Ein vollständiges Beispiel für den Testaufruf eines Zeitreihen-Prognosemodells finden Sie unter [Zeitreihenprognosen mit Amazon Autopilot](https://github.com/aws/amazon-sagemaker-examples/blob/eef13dae197a6e588a8bc111aba3244f99ee0fbb/autopilot/autopilot_time_series.ipynb). SageMaker 

```
import boto3
import pandas as pd

csv_path = './real-time-payload.csv'
data = pd.read_csv(csv_path)

client = boto3.client("runtime.sagemaker")

body = data.to_csv(index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## Modelle zur Bildvorhersage
<a name="canvas-invoke-cv-example"></a>

Das folgende Beispiel zeigt, wie Sie Bildvorhersagemodelle aufrufen können.

```
import boto3
client = boto3.client("runtime.sagemaker")
with open("example_image.jpg", "rb") as file:
    body = file.read()
    response = client.invoke_endpoint(
        EndpointName="endpoint_name",
        ContentType="application/x-image",
        Body=body,
        Accept="application/json"
    )
```

## Modelle zur Textvorhersage
<a name="canvas-invoke-nlp-example"></a>

Das folgende Beispiel zeigt, wie Sie Textvorhersagemodelle aufrufen können.

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

# Löschen einer Modellbereitstellung
<a name="canvas-deploy-model-delete"></a>

Sie können Ihre Modellbereitstellungen aus der Amazon SageMaker Canvas-Anwendung löschen. Durch diese Aktion wird auch der Endpunkt aus der SageMaker AI-Konsole gelöscht und alle Ressourcen, die sich auf den Endpunkt beziehen, heruntergefahren.

**Anmerkung**  
Optional können Sie Ihren Endpunkt über die [SageMaker KI-Konsole oder mithilfe der KI-API](https://console.aws.amazon.com/sagemaker/) löschen. SageMaker `DeleteEndpoint` Weitere Informationen finden Sie unter [Endpunkte und Ressourcen löschen](realtime-endpoints-delete-resources.md). Wenn Sie den Endpunkt jedoch über die SageMaker AI-Konsole oder APIs anstelle der Canvas-Anwendung löschen, wird die Liste der Bereitstellungen in Canvas nicht automatisch aktualisiert. Sie müssen die Bereitstellung auch aus der Canvas-Anwendung löschen, um sie aus der Liste zu entfernen.

Um eine Bereitstellung in Canvas zu löschen, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die SageMaker Canvas-Anwendung.

1. Wählen Sie im linken Navigationsbereich die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Bereitstellen**.

1. Wählen Sie in der Liste der Bereitstellungen die aus, die Sie löschen möchten.

1. Wählen Sie oben auf der Bereitstellungsdetails-Seite das Symbol **Weitere Optionen** (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) aus.

1. Wählen Sie **Bereitstellung löschen** aus.

1. Wählen Sie im Dialogfeld **Bereitstellung löschen** die Option **Löschen** aus.

Ihr Bereitstellungs- und SageMaker KI-Hosting-Endpunkt sollten jetzt sowohl aus Canvas als auch aus der SageMaker AI-Konsole gelöscht werden.

# So verwalten Sie Automatisierungen
<a name="canvas-manage-automations"></a>

In SageMaker Canvas können Sie Automatisierungen erstellen, die Ihren Datensatz aktualisieren oder nach einem Zeitplan Vorhersagen anhand Ihres Modells generieren. Beispielsweise erhalten Sie möglicherweise täglich neue Versanddaten. Sie können eine automatische Aktualisierung für Ihren Datensatz und automatische Batchvorhersagen einrichten, die bei jeder Aktualisierung des Datensatzes ausgeführt werden. Mithilfe dieser Funktionen können Sie einen automatisierten Workflow einrichten und den Zeitaufwand für die manuelle Aktualisierung von Datensätzen und das Erstellen von Prognosen reduzieren.

**Anmerkung**  
Sie können in Ihrer Canvas-Anwendung nur maximal 20 automatische Konfigurationen einrichten. Automatisierungen sind nur aktiv, solange Sie bei der Canvas-Anwendung angemeldet sind. Wenn Sie sich von Canvas abmelden, werden Ihre automatischen Jobs angehalten, bis Sie sich wieder anmelden.

In den folgenden Abschnitten wird beschrieben, wie Sie Konfigurationen für vorhandene Automatisierungen anzeigen, bearbeiten und löschen. Weitere Informationen zum Einrichten von Automatisierungen finden Sie in den folgenden Themen:
+ Informationen zum Einrichten automatischer Datensatzaktualisierungen finden Sie unter [Aktualisieren eines Datensatzes](canvas-update-dataset.md).
+ Informationen zum Einrichten automatischer Batchvorhersagen finden Sie unter [Batch-Vorhersagen in SageMaker Canvas](canvas-make-predictions-batch.md).

**Topics**
+ [Anzeige Ihrer Automatisierungen](canvas-manage-automations-view.md)
+ [Bearbeiten Ihrer automatischen Konfigurationen](canvas-manage-automations-edit.md)
+ [Löschen einer automatischen Konfiguration](canvas-manage-automations-delete.md)

# Anzeige Ihrer Automatisierungen
<a name="canvas-manage-automations-view"></a>

Sie können auch alle Ihre Jobs für auto Updates anzeigen, indem Sie im linken Navigationsbereich von Canvas **ML Ops** auswählen. Auf der Seite **ML Operations** werden Automatisierungen sowohl für automatische Datensatzaktualisierungen als auch für automatische Batch-Vorhersagen kombiniert. Auf der Registerkarte **Automatisierungen** können Sie die folgenden Unterregisterkarten sehen:
+ **Alle Jobs** – Sie können jede Instance eines Auftrages zur **Datensatzaktualisierung** oder **Batch-Vorhersage** sehen, den Canvas ausgeführt hat. Für jeden Auftrag können Sie Felder wie den zugehörigen **Eingabedatensatz**, den **Konfigurationsnamen** der zugehörigen Konfiguration für die autom. Aktualisierung und den **Status** sehen, der anzeigt, ob der Auftrag erfolgreich war oder nicht. Sie können die Aufträge nach dem Konfigurationsnamen filtern:
  + Bei Aufträgen zur Datensatz-Aktualisierung können Sie die neueste Version des Datensatzes oder den neuesten Auftrag auswählen, um eine Vorschau des Datensatzes anzuzeigen.
  + Bei Aufträgen zur Batchvorhersage können Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, um die Prognosen für diesen Auftrag anzuzeigen oder herunterzuladen. Sie können auch **Details anzeigen** auswählen, um weitere Informationen zu Ihrem Vorhersageauftrag anzuzeigen. Weitere Informationen zu Details von Batch-Vorhersageaufträgen finden Sie unter [Anzeigen Ihrer Batch-Vorhersageaufträge](canvas-make-predictions-batch-auto-view.md).
+ **Konfiguration** – Sie können alle Konfigurationen für **Datensatz-Updates** und **Batch-Vorhersagen** sehen, die Sie erstellt haben. Für jede Konfiguration können Sie Felder wie den zugehörigen **Eingabedatensatz** und die **Häufigkeit** der Aufträge sehen. Sie können auch den Schalter **Automatische Aktualisierung** ein- oder ausschalten, um automatische Updates anzuhalten oder fortzusetzen. Wenn Sie für eine bestimmte Konfiguration das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) auswählen, können Sie wählen, ob Sie **alle Aufträge für die Konfiguration anzeigen**, **Konfiguration aktualisieren oder Konfiguration** **löschen** auswählen.

# Bearbeiten Ihrer automatischen Konfigurationen
<a name="canvas-manage-automations-edit"></a>

Nach der Einrichtung einer Konfiguration möchten Sie möglicherweise Änderungen daran vornehmen. Für automatische Datensatzaktualisierungen können Sie den Amazon S3-Speicherort für Canvas zum Importieren von Daten, die Häufigkeit der Aktualisierungen und die Startzeit aktualisieren. Für automatische Batch-Vorhersagen können Sie den Datensatz ändern, der in der Konfiguration auf Aktualisierungen folgt. Sie können die Automatisierung auch ausschalten, um Aktualisierungen vorübergehend anzuhalten, bis Sie sie fortsetzen möchten.

In den folgenden Abschnitten wird gezeigt, wie Sie die einzelnen Konfigurationstypen aktualisieren.

**Anmerkung**  
Sie können die Häufigkeit für automatische Batch-Vorhersagen nicht ändern, da automatische Batch-Vorhersagen bei jeder Aktualisierung des Ziel-Datensatzes ausgeführt werden.

**Topics**
+ [Bearbeiten Sie Ihre Konfiguration für die automatische Datensatzaktualisierung](canvas-manage-automations-edit-dataset.md)
+ [Bearbeiten Sie Ihre Konfiguration für die automatische Batch-Vorhersage](canvas-manage-automations-edit-batch.md)

# Bearbeiten Sie Ihre Konfiguration für die automatische Datensatzaktualisierung
<a name="canvas-manage-automations-edit-dataset"></a>

Möglicherweise möchten Sie Änderungen an der Konfiguration für die auto Aktualisierung eines Datensatzes vornehmen, z. B. die Häufigkeit der Aktualisierungen ändern. Möglicherweise möchten Sie auch die Konfiguration für automatische Updates deaktivieren, um die Aktualisierungen Ihjres Datensatzes zu unterbrechen.

Gehen Sie wie folgt vor, um Änderungen an der Konfiguration für die auto Aktualisierung eines Datensatzes vorzunehmen:

1. Wählen Sie im linken Navigationsbereich von Canvas die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Automatisierungen** aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Wählen Sie für Ihre auto Update-Konfiguration das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)).

1. Wählen Sie im Dropdown-Menü **Konfiguration aktualisieren** aus. Sie werden zur Registerkarte **Automatische Updates** des Datensatzes weitergeleitet.

1. Nehmen Sie Ihre Änderungen an der Konfiguration vor. Wenn Sie die gewünschten Änderungen vorgenommen haben, wählen Sie **Speichern** aus.

Um Ihre Datensatzaktualisierungen zu unterbrechen, schalten Sie Ihre automatische Konfiguration aus. Eine Möglichkeit, auto Updates zu deaktivieren, besteht darin, wie folgt vorzugehen:

1. Wählen Sie im linken Navigationsbereich von Canvas die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Automatisierungen** aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Suchen Sie Ihre Konfiguration in der Liste und schalten Sie den Schalter **Automatische Aktualisierung** aus.

Automatische Aktualisierungen für Ihren Datensatz sind jetzt angehalten. Sie können diesen Schalter jederzeit wieder einschalten, um den Aktualisierungsplan fortzusetzen.

# Bearbeiten Sie Ihre Konfiguration für die automatische Batch-Vorhersage
<a name="canvas-manage-automations-edit-batch"></a>

Wenn Sie eine Konfiguration für Batch-Vorhersagen bearbeiten, können Sie den Zieldatensatz ändern, nicht jedoch die Häufigkeit (da automatische Batch-Vorhersagen immer dann erfolgen, wenn der Datensatz aktualisiert wird).

Gehen Sie wie folgt vor, um Änderungen an Ihrer Konfiguration für automatische Batch-Vorhersagen vorzunehmen:

1. Wählen Sie im linken Navigationsbereich von Canvas die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Automatisierungen** aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Wählen Sie für Ihre auto Update-Konfiguration das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)).

1. Wählen Sie im Dropdown-Menü **Konfiguration aktualisieren** aus. Sie werden zur Registerkarte **Automatische Updates** des Datensatzes weitergeleitet.

1. Das Dialogfeld **Batchvorhersage automatisieren** wird geöffnet. Sie können einen anderen Datensatz auswählen und **Einrichten** wählen, um Ihre Änderungen zu speichern.

Ihre Konfiguration für automatische Batch-Vorhersagen ist jetzt aktualisiert.

Um Ihre automatischen Batch-Vorhersagen anzuhalten, schalten Sie Ihre automatische Konfiguration aus. Gehen Sie wie folgt vor, um Ihre Konfiguration zu deaktivieren:

1. Wählen Sie im linken Navigationsbereich von Canvas die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Automatisierungen** aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Suchen Sie Ihre Konfiguration in der Liste und schalten Sie den Schalter **Automatische Aktualisierung** aus.

Automatische Batch-Vorhersagen für Ihren Datensatz sind jetzt angehalten. Sie können diesen Schalter jederzeit wieder einschalten, um den Aktualisierungsplan fortzusetzen.

# Löschen einer automatischen Konfiguration
<a name="canvas-manage-automations-delete"></a>

Möglicherweise möchten Sie eine Konfiguration löschen, um Ihren automatisierten Workflow in SageMaker Canvas zu beenden.

Gehen Sie wie folgt vor, um eine Konfiguration für automatische Datensatzaktualisierungen oder automatische Batch-Prognosen zu löschen:

1. Wählen Sie im linken Navigationsbereich von Canvas die Option **ML Ops** aus.

1. Wählen Sie die Registerkarte **Automatisierungen** aus.

1. Wählen Sie die Registerkarte **Konfiguration** aus.

1. Suchen Sie nach Ihrer Konfiguration für auto Updates und wählen Sie das Symbol **Weitere Optionen** (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)).

1. Wählen Sie **Delete configuration (Konfiguration löschen)**aus.

1. Wählen Sie in dem sich öffnenden Dialogfeld die Option **Löschen** aus.

Ihre Konfiguration für auto Updates ist jetzt gelöscht.

# Von Amazon SageMaker Canvas abmelden
<a name="canvas-log-out"></a>

Nachdem Sie Ihre Arbeit in Amazon SageMaker Canvas abgeschlossen haben, können Sie sich abmelden oder Ihre Anwendung so konfigurieren, dass die *Workspace-Instance* automatisch beendet wird. Jedes Mal, wenn Sie eine Canvas-Anwendung starten, wird Ihnen eine Workspace-Instance zur Verfügung gestellt. Die Kosten werden Ihnen für die gesamte Laufzeit der Instance in Rechnung gestellt. Durch das Abmelden oder Beenden der Workspace-Instance wird die Abrechnung für die Workspace-Instance beendet. Weitere Informationen finden Sie unter [SageMaker  – Preise](https://aws.amazon.com/sagemaker/pricing/).

In den folgenden Abschnitten wird beschrieben, wie Sie sich aus Ihrer Canvas-Anwendung abmelden und wie Sie Ihre Anwendung so konfigurieren, dass sie sich automatisch nach einem festgelegten Zeitplan herunterfährt.

## Abmelden vom Canvas
<a name="canvas-log-out-how-to"></a>

Wenn Sie sich aus Canvas abmelden, bleiben Ihre Modelle und Datensätze davon unberührt. Alle Quick- oder Standard-Modell-Builds oder [umfangreiche Datenverarbeitungsaufträge](canvas-export-data.md#canvas-export-data-s3) werden auch nach Ihrer Abmeldung weiter ausgeführt.

Um sich abzumelden, wählen Sie im linken Bereich der SageMaker Canvas-Anwendung die Schaltfläche **Abmelden** (![\[Filter icon in the SageMaker Canvas app.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/canvas/logout-icon.png)).

Sie können sich auch von der SageMaker Canvas-Anwendung abmelden, indem Sie Ihren Browser-Tab schließen und dann [die Anwendung in der Konsole löschen](canvas-manage-apps-delete.md).

Nachdem Sie sich abgemeldet haben, fordert Sie SageMaker Canvas auf, auf einer anderen Registerkarte neu zu starten. Die Anmeldung dauert etwa 1 Minute. Wenn Sie einen Administrator haben, der SageMaker Canvas für Sie eingerichtet hat, verwenden Sie die Anweisungen, die er Ihnen gegeben hat, um sich wieder anzumelden. Wenn Sie keinen Administrator haben, finden Sie Informationen zum Verfahren für den Zugriff auf SageMaker Canvas unter[Voraussetzungen für die Einrichtung von Amazon SageMaker Canvas](canvas-getting-started.md#canvas-prerequisites).

## Automatisches Herunterfahren von Canvas
<a name="canvas-auto-shutdown"></a>

Wenn Sie Canvas-Administrator sind, möchten Sie möglicherweise Anwendungen regelmäßig herunterfahren, um Kosten zu sparen. Sie können entweder einen Zeitplan zum Herunterfahren aktiver Canvas-Anwendungen erstellen oder eine Automatisierung einrichten, um Canvas-Anwendungen herunterzufahren, sobald sie *inaktiv* sind (d. h. wenn der Benutzer seit 2 Stunden nicht mehr aktiv war).

Sie können diese Lösungen mithilfe von AWS Lambda Funktionen erstellen, die unter bestimmten Bedingungen die `DeleteApp` API aufrufen und Canvas-Anwendungen löschen. Weitere Informationen zu diesen Lösungen und Zugriff auf CloudFormation Vorlagen, die Sie verwenden können, finden Sie im Blog [Optimierung der Kosten für Amazon SageMaker Canvas durch automatisches Herunterfahren inaktiver Apps](https://aws.amazon.com/blogs/machine-learning/optimizing-costs-for-amazon-sagemaker-canvas-with-automatic-shutdown-of-idle-apps/).

**Anmerkung**  
Möglicherweise fehlen [ CloudWatchAmazon-Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html), wenn bei der Einrichtung Ihres Zeitplans für das Herunterfahren im Leerlauf ein Fehler oder ein CloudWatch Fehler aufgetreten ist. Wir empfehlen Ihnen, einen CloudWatch Alarm hinzuzufügen, der nach fehlenden Messwerten sucht. Wenn Sie auf dieses Problem stoßen, wenden Sie sich an uns, Support um Hilfe zu erhalten.

# Einschränkungen und Fehlerbehebung
<a name="canvas-limits"></a>

Im folgenden Abschnitt werden die Hilfe zur Fehlerbehebung und die Einschränkungen beschrieben, die bei der Verwendung von Amazon SageMaker Canvas gelten. Sie können dieses Thema verwenden, um Ihnen bei der Behebung von Problemen zu helfen, auf die Sie stoßen.

## Behebung von Problemen bei der Erteilung von Berechtigungen über die SageMaker AI-Konsole
<a name="canvas-troubleshoot-trusted-services"></a>

Wenn Sie Probleme haben, Ihrem Benutzer Canvas-Basisberechtigungen oder Ready-to-use Modellberechtigungen zu gewähren, hat Ihr Benutzer möglicherweise eine AWS IAM-Ausführungsrolle mit mehr als einer Vertrauensstellung zu anderen AWS Diensten. Eine Vertrauensstellung ist eine mit Ihrer Rolle verknüpfte Richtlinie, die definiert, welche Prinzipale (Benutzer, Rollen, Konten oder Services) die Rolle übernehmen können. Beispielsweise könnte ein Problem auftreten, wenn Sie Ihrem Benutzer zusätzliche Canvas-Berechtigungen gewähren, wenn seine Ausführungsrolle sowohl zu Amazon SageMaker AI als auch zu Amazon Forecast eine Vertrauensbeziehung hat.

Sie können dieses Problem beheben, indem Sie eine der folgenden Optionen auswählen.

### 1. Entfernen Sie alle vertrauenswürdigen Services bis auf einen aus der Rolle.
<a name="canvas-troubleshoot-trusted-services-remove"></a>

Bei dieser Lösung müssen Sie die Vertrauensstellung für die IAM-Rolle Ihres Benutzerprofils bearbeiten und alle AWS Dienste außer SageMaker KI entfernen.

Gehen Sie wie folgt vor, um die Vertrauensstellung für Ihre IAM-Ausführungsrolle zu bearbeiten:

1. Gehen Sie zur IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich der IAM Console **Roles** (Rollen) aus. In der Konsole werden die Rollen für Ihr Konto angezeigt.

1. Wählen Sie den Namen der Rolle aus, die Sie ändern möchten, und öffnen Sie die Registerkarte **Trust relationships** auf der Detailseite.

1. Wählen Sie **Vertrauensrichtlinie bearbeiten** aus.

1. Fügen Sie im **Editor für die Vertrauensstellung** Folgendes ein, und wählen Sie dann **Richtlinie aktualisieren**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

Sie können dieses Richtliniendokument auch mit der IAM CLI aktualisieren. Weitere Informationen finden Sie unter [update-trust](https://docs.aws.amazon.com/cli/latest/reference/ds/update-trust.html) in der *IAM-Befehlszeilenreferenz*.

Sie können jetzt erneut versuchen, Ihrem Benutzer die Canvas-Basisberechtigungen oder die Ready-to-use Modellberechtigungen zu gewähren.

### 2. Verwenden Sie eine andere Rolle mit einem oder weniger vertrauenswürdigen Services.
<a name="canvas-troubleshoot-trusted-services-alternate"></a>

Für diese Lösung müssen Sie eine andere IAM-Rolle für Ihr Benutzerprofil angeben. Verwenden Sie diese Option, wenn Sie bereits eine IAM-Rolle haben, die Sie ersetzen können.

Um eine andere Ausführungsrolle für Ihren Benutzer anzugeben, führen Sie die folgenden Schritte aus:

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie aus der Liste der Domains die Domain aus, für die Sie eine Liste mit Benutzerprofilen anzeigen möchten.

1. Wählen Sie auf der Seite mit den **Domaindetails** die Registerkarte **Benutzerprofile** aus.

1. Wählen Sie den Benutzer, dessen Berechtigungen Sie bearbeiten möchten. Wählen Sie auf der Seite **Benutzerdetails** die Option **Bearbeiten**.

1. Wählen Sie auf der Seite **Allgemeine Einstellungen** die Dropdown-Liste **Ausführungsrolle** und wählen Sie die Rolle aus, die Sie verwenden möchten.

1. Wählen Sie **Senden**, um Ihre Änderungen am Benutzerprofil zu speichern.

Ihr Benutzer sollte jetzt eine Ausführungsrolle mit nur einem vertrauenswürdigen Dienst (SageMaker KI) verwenden.

Sie können erneut versuchen, Ihrem Benutzer die Canvas-Basisberechtigungen oder die Ready-to-use Modellberechtigungen zu gewähren.

### 3. Hängen Sie die AWS verwaltete Richtlinie manuell an die Ausführungsrolle an, anstatt den Schalter in den SageMaker AI-Domäneneinstellungen zu verwenden.
<a name="canvas-troubleshoot-trusted-services-manual"></a>

Anstatt den Schalter in den Domains- oder Benutzerprofileinstellungen zu verwenden, können Sie die verwalteten AWS -Richtlinien, die einem Benutzer die richtigen Berechtigungen gewähren, manuell anhängen.

Um einem Benutzer Canvas-Basisberechtigungen zu gewähren, hängen Sie die [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)Richtlinie an. Um einem Ready-to-use Benutzermodell Berechtigungen zu gewähren, fügen Sie die [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) bei.

Gehen Sie wie folgt vor, um Ihrer Rolle eine AWS verwaltete Richtlinie hinzuzufügen:

1. Rufen Sie die IAM-Konsole unter auf [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Wählen Sie **Roles**.

1. Suchen Sie im Suchfeld anhand des Namens nach der IAM-Rolle des Benutzers und wählen Sie sie aus.

1. Wählen Sie auf der Seite für die Benutzerrolle unter **Berechtigungen** die Option **Berechtigungen hinzufügen** aus.

1. Wählen Sie aus dem Dropdown-Menü die Option **Richtlinien anhängen**.

1. Suchen Sie nach der Richtlinie oder den Richtlinien, die Sie der Ausführungsrolle des Benutzers zuordnen möchten, und wählen Sie sie aus:

   1. Um Canvas-Basisberechtigungen zu gewähren, suchen Sie nach der [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)Richtlinie und wählen Sie sie aus.

   1. Um den Ready-to-use Modellen Berechtigungen zu gewähren, suchen Sie nach der [AmazonSageMakerCanvasAIServicesZugriffsrichtlinie](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) und wählen Sie sie aus.

1. Wählen Sie **Berechtigungen hinzufügen**, um die Richtlinie mit der Rolle zu verknüpfen.

Nachdem Sie der Rolle des Benutzers über die IAM-Konsole eine AWS verwaltete Richtlinie hinzugefügt haben, sollte Ihr Benutzer nun über die Canvas-Basisberechtigungen oder Ready-to-use Modellberechtigungen verfügen.

## Behebung von Problemen beim Erstellen einer Canvas-Anwendung aufgrund eines Bereichsfehlers
<a name="canvas-troubleshoot-spaces"></a>

Wenn Sie beim Erstellen einer neuen Canvas-Anwendung auf einen Fehler stoßen, bedeutet dies`Unable to create app <app-arn> because space <space-arn> is not in InService state`, dass die Erstellung des zugrunde liegenden Amazon SageMaker Studio-Speicherplatzes fehlgeschlagen ist. Ein *Studio*-Bereich ist der zugrunde liegende Speicher, der Ihre Canvas-Anwendungsdaten hostet. Allgemeinere Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md). Allgemeinere Informationen zur Konfiguration von Bereichen in Canvas finden Sie unter [Speichern Sie SageMaker Canvas-Anwendungsdaten in Ihrem eigenen KI-Bereich SageMaker](canvas-spaces-setup.md).

Um die Hauptursache dafür zu ermitteln, warum die Erstellung des Speicherplatzes fehlgeschlagen ist, können Sie das `FailureReason` Feld mithilfe der [DescribeSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSpace.html)API überprüfen. Weitere Informationen zu den möglichen Status der Bereiche und ihrer Bedeutung finden Sie unter [Entitäten und Status der Amazon SageMaker AI-Domain](sm-domain.md).

Um dieses Problem zu beheben, suchen Sie in der SageMaker AI-Konsole nach Ihrer Domain und löschen Sie den fehlerhaften Speicherplatz, der in der Fehlermeldung aufgeführt ist, die Sie erhalten haben. Ausführliche Schritte zum Suchen und Löschen eines Bereichs finden Sie auf der Seite [Stoppen und Löschen Ihrer laufenden Studio-Anwendungen und -Bereiche](studio-updated-running-stop.md). Folgen Sie dort den Anweisungen zum **Löschen eines Studio-Bereichs**. Durch das Löschen des Bereichs werden auch alle mit diesem Bereich verbundenen Anwendungen gelöscht. Nachdem Sie den Bereich gelöscht haben, können Sie erneut versuchen, Ihre Canvas-Anwendung zu erstellen. Der Bereich sollte jetzt erfolgreich bereitgestellt werden, sodass Canvas gestartet werden kann.

# Abrechnung und Kosten in SageMaker Canvas
<a name="canvas-manage-cost"></a>

Um die mit Ihrer SageMaker Canvas-Anwendung verbundenen Kosten zu verfolgen, können Sie den AWS Fakturierung und Kostenmanagement Service nutzen. Das Rechnungs- und Kostenmanagement bietet Tools, mit denen Sie Informationen über Ihre Kosten und Nutzung sammeln, Ihre Kostentreiber und Nutzungstrends analysieren und Maßnahmen zur Budgetierung Ihrer Ausgaben ergreifen können. Weitere Informationen finden Sie unter [Was ist AWS Fakturierung und Kostenmanagement?](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)

Die Abrechnung in SageMaker Canvas besteht aus den folgenden Komponenten:
+ Gebühren für Workspace-Instanzen — Ihnen wird die Anzahl der Stunden in Rechnung gestellt, für die Sie angemeldet sind oder SageMaker Canvas verwenden. Wir empfehlen Ihnen, sich abzumelden oder einen Zeitplan zum Herunterfahren aller Canvas-Anwendungen zu erstellen, die Sie nicht aktiv nutzen, um Kosten zu sparen. Weitere Informationen finden Sie unter [Von Amazon SageMaker Canvas abmelden](canvas-log-out.md).
+ AWS Servicegebühren — Ihnen werden Gebühren für die Erstellung und Erstellung von Prognosen mit benutzerdefinierten Modellen oder für die Erstellung von Prognosen mit Ready-to-use Modellen in Rechnung gestellt:
  + Trainingsgebühren: Für alle Modelltypen werden Ihnen die Gebühren entsprechend Ihrer Ressourcennutzung während der Modellerstellung in Rechnung gestellt. Zu diesen Ressourcen gehören alle Rechen-Instances, die Canvas bereitstellt. Diese Gebühren werden in Ihrem Konto möglicherweise als Hosting-, Trainings-, Verarbeitungs- oder Batch-Transformationsaufträge aufgeführt.
  + Prognosegebühren — Ihnen werden die für die Erstellung von Prognosen verwendeten Ressourcen in Rechnung gestellt, je nachdem, welche Art von benutzerdefiniertem Modell Sie erstellt haben oder welche Art von Ready-to-use Modell Sie verwendet haben.

Die [Ready-to-use Modelle](canvas-ready-to-use-models.md) in Canvas nutzen andere AWS Dienste, um Vorhersagen zu generieren. Wenn Sie ein Ready-to-use Modell verwenden, wird Ihnen der jeweilige Service in Rechnung gestellt, und es gelten die jeweiligen Preisbedingungen:
+ Für die Stimmungsanalyse, die Extraktion von Entitäten, die Spracherkennung und die Erkennung personenbezogener Daten werden Ihnen die [Amazon Comprehend-Preise](https://aws.amazon.com/comprehend/pricing/) berechnet.
+ Für die Objekterkennung in Bildern und die Texterkennung in Bildern werden Ihnen die [Amazon-Rekognition-Preise](https://aws.amazon.com/rekognition/pricing/) berechnet.
+ Für die Kostenanalyse, die Analyse von Ausweisdokumenten und die Dokumentenanalyse werden Ihnen die [Amazon-Textract-Preise](https://aws.amazon.com/textract/pricing/) berechnet.

Weitere Informationen finden Sie unter [SageMaker Preise für Canvas](https://aws.amazon.com/sagemaker/canvas/pricing/).

Um Ihnen zu helfen, Ihre Kosten in Billing and Cost Management nachzuverfolgen, können Sie Ihrer SageMaker Canvas-App und Ihren Benutzern benutzerdefinierte Tags zuweisen. Sie können die Kosten verfolgen, die Ihren Apps entstehen, und indem Sie einzelne Benutzerprofile taggen, können Sie die Kosten anhand des Benutzerprofils verfolgen. Weitere Informationen zu Tags finden Sie unter [Verwendung von Kostenumlage-Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html).

Sie können Ihrer SageMaker Canvas-App und Ihren Benutzern Tags hinzufügen, indem Sie wie folgt vorgehen:
+ Wenn Sie Ihre Amazon SageMaker AI-Domain und SageMaker Canvas zum ersten Mal einrichten, folgen Sie den Anweisungen für die ersten [Schritte](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) und fügen Sie Tags hinzu, wenn Sie Ihre Domain oder Benutzer erstellen. Sie können Tags entweder über die **Allgemeinen Einstellungen** im Domain-Konsolen-Setup oder über das APIs ([CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)oder [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)) hinzufügen. SageMaker AI fügt die in Ihrer Domain angegebenen Tags oder UserProfile allen SageMaker Canvas-Apps oder Benutzern hinzu, die Sie nach der Erstellung der Domain erstellen.
+ Wenn Sie Tags zu Apps in einer vorhandenen Domain hinzufügen möchten, müssen Sie Tags entweder der Domain oder der hinzufügen UserProfile. Sie können Tags entweder über die Konsole oder die [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html)API hinzufügen. Wenn Sie Tags über die Konsole hinzufügen, müssen Sie Ihre SageMaker Canvas-App löschen und neu starten, damit die Tags in der App verbreitet werden. Wenn Sie die API verwenden, werden die Tags direkt zur App hinzugefügt. [Weitere Informationen zum Löschen und Neustarten einer SageMaker Canvas-App finden Sie unter Apps verwalten.](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-apps.html)

Nachdem Sie Ihrer Domain Tags hinzugefügt haben, kann es bis zu 24 Stunden dauern, bis die Tags zur Aktivierung in der AWS Fakturierung und Kostenmanagement Konsole angezeigt werden. Nachdem sie in der Konsole angezeigt wurden, dauert es weitere 24 Stunden, bis die Tags aktiviert sind.

Auf der **Cost Explorer**-Seite können Sie Ihre Kosten nach Tags und Nutzungsarten gruppieren und filtern, um Ihre Workspace-Instance-Gebühren von Ihren Trainingsgebühren zu trennen. Die jeweiligen Gebühren sind wie folgt aufgeführt:
+ Gebühren für Workspace-Instances: Die Gebühren werden unter der Nutzungsart `REGION-Canvas:Session-Hrs (Hrs)` angezeigt.
+ Schulungsgebühren: Die Gebühren werden unter den Nutzungsarten für SageMaker KI-Hosting-, Schulungs-, Verarbeitungs- oder Batch-Transform-Jobs angezeigt.

# SageMaker Geospatial-Funktionen von Amazon
<a name="geospatial"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Wenn Sie vor dem 30. November 2023 eine Amazon SageMaker AI-Domain erstellt haben, bleibt Studio Classic das Standarderlebnis. Domains, die nach dem 30. November 2023 erstellt wurden, verwenden standardmäßig das neue Studio-Erlebnis.  
 SageMaker Geospatiale Funktionen und Ressourcen von Amazon sind *nur* in Studio Classic verfügbar. Weitere Informationen zum Einrichten einer Domain und zu den ersten Schritten mit Studio finden Sie unter [Erste Schritte mit Amazon SageMaker Geospatial](geospatial-getting-started.md).

Die SageMaker Geodatenfunktionen von Amazon erleichtern es Datenwissenschaftlern und Technikern für maschinelles Lernen (ML), ML-Modelle mithilfe von Geodaten schneller zu erstellen, zu trainieren und bereitzustellen. Sie haben Zugriff auf Open-Source-Daten-, Verarbeitungs- und Visualisierungstools von Drittanbietern, um die Aufbereitung von Geodaten für ML effizienter zu gestalten. Sie können Ihre Produktivität steigern, indem Sie speziell entwickelte Algorithmen und vortrainierte ML-Modelle verwenden, um die Modellbildung und das Training zu beschleunigen, und integrierte Visualisierungstools verwenden, um die Prognoseergebnisse auf einer interaktiven Karte zu untersuchen und dann teamübergreifend an Erkenntnissen und Ergebnissen zu arbeiten.

**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt.  
Wenn die SageMaker Geospatial-Benutzeroberfläche in Ihrer aktuellen Studio Classic-Instanz nicht verfügbar ist, überprüfen Sie, ob Sie sich derzeit in der Region USA West (Oregon) befinden.
<a name="why-use-geo"></a>
**Warum SageMaker Geodatenfunktionen verwenden?**  
Mithilfe von SageMaker Geodatenfunktionen können Sie Vorhersagen für Geodaten schneller treffen als mit Lösungen. do-it-yourself SageMaker Geodatenfunktionen erleichtern den Zugriff auf Geodaten aus Ihren bestehenden Kundendatenseen, Open-Source-Datensätzen und anderen Geodatenanbietern. SageMaker SageMaker Geodatenfunktionen minimieren den Bedarf an maßgeschneiderten Infrastrukturen und Datenvorverarbeitungsfunktionen, indem sie speziell entwickelte Algorithmen für effiziente Datenaufbereitung, Modelltraining und Inferenz anbieten. Sie können auch benutzerdefinierte Visualisierungen und Daten von Amazon SageMaker Studio Classic aus erstellen und mit Ihrem Unternehmen teilen. SageMaker Geodatenfunktionen bieten vortrainierte Modelle für allgemeine Anwendungen in der Landwirtschaft, im Immobilienbereich, im Versicherungswesen und im Finanzdienstleistungssektor.

## Wie kann ich georäumliche Funktionen nutzen SageMaker ?
<a name="how-use-geo"></a>

Sie können SageMaker Geodatenfunktionen auf zwei Arten verwenden.
+ Über die SageMaker Geospatial-Benutzeroberfläche als Teil der Amazon SageMaker Studio Classic-Benutzeroberfläche.
+ Über eine Studio-Notebook-Instance, die das **Geospatial 1.0**-Image verwendet.

**SageMaker KI verfügt über die folgenden räumlichen Funktionen**
+ Verwenden Sie ein speziell entwickeltes SageMaker Geodatenbild, das sowohl CPU- als auch GPU-basierte Notebook-Instanzen unterstützt und außerdem häufig verwendete Open-Source-Bibliotheken enthält, die in Workflows für maschinelles Lernen mit Geodaten verwendet werden.
+ Verwenden Sie Amazon SageMaker Processing und den SageMaker Geospatial-Container, um umfangreiche Workloads mit Ihren eigenen Datensätzen auszuführen, darunter Boden-, Wetter-, Klima-, LiDAR- und kommerzielle Luft- und Satellitenbilder.
+ Führen Sie einen [Erdbeobachtungsauftrag](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-eoj.html) für die Rasterdatenverarbeitung aus.
+ Führen Sie einen [Vector Enrichment-Job](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-vej.html) aus, um Breiten- und Längengrade in für Menschen lesbare Adressen umzuwandeln und verrauschte GPS-Tracks bestimmten Straßen zuzuordnen.
+ Verwenden Sie [direkt in Studio Classic integrierte Visualisierungstools, um Geodaten oder Modellvorhersagen interaktiv auf einer Karte anzuzeigen](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html).

Sie können auch Daten aus einer Sammlung von Geodatenanbietern verwenden. Derzeit sind unter anderem folgende Datensammlungen verfügbar:
+ [https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con](https://www.usgs.gov/centers/eros/data-citation?qt-science_support_page_related_con=0#qt-science_support_page_related_con)
+ [https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice](https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice)
+ [https://sentinel.esa.int/web/sentinel/missions/sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2)
+ [https://registry.opendata.aws/copernicus-dem/](https://registry.opendata.aws/copernicus-dem/)
+ [https://registry.opendata.aws/naip/](https://registry.opendata.aws/naip/)

## Verwenden Sie Geospatial zum ersten Mal? SageMaker
<a name="first-time-geospatial-data"></a>

Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Nach dem 30. November 2023 erstellte neue Domains werden standardmäßig in der Studiokonfiguration angezeigt. Der Zugriff auf SageMaker Geospatial ist auf Studio Classic beschränkt. Weitere Informationen finden Sie unter[Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md).

Wenn Sie Amazon SageMaker AI zum ersten Mal AWS verwenden, empfehlen wir Ihnen, Folgendes zu tun:

1. **Erstellen Sie eine AWS-Konto.**

   Informationen zur Einrichtung eines AWS Kontos und zu den ersten Schritten mit SageMaker KI finden Sie unter[Vollständige Amazon SageMaker AI-Voraussetzungen](gs-set-up.md).

1. **Erstellen Sie eine Benutzerrolle und eine Ausführungsrolle, die mit SageMaker Geospatial funktionieren**.

   Als verwalteter Service führt Amazon SageMaker Geospatial Capabilities in Ihrem Namen Operationen auf der AWS Hardware durch, die SageMaker KI verwaltet. Eine SageMaker KI-Ausführungsrolle kann nur die Operationen ausführen, die Benutzer gewähren. Um mit SageMaker Geodatenfunktionen arbeiten zu können, müssen Sie eine Benutzerrolle und eine Ausführungsrolle einrichten. Weitere Informationen finden Sie unter [SageMaker Funktionen und Rollen im Zusammenhang mit räumlichen Daten](sagemaker-geospatial-roles.md).

1. **Aktualisieren Sie Ihre Vertrauensrichtlinie, sodass sie auch SageMaker Geodaten einbezieht**.

   SageMaker Geospatial definiert einen zusätzlichen Dienstprinzipal. Informationen zum Erstellen oder Aktualisieren der Vertrauensrichtlinie für Ihre SageMaker KI-Ausführungsrolle finden Sie unter[Den SageMaker Geospatial Service Principal zu einer bestehenden SageMaker AI-Ausführungsrolle hinzufügen](sagemaker-geospatial-roles-pass-role.md).

1. **Richten Sie eine Amazon SageMaker AI-Domain für den Zugriff auf Amazon SageMaker Studio Classic ein.**

   Um SageMaker Geospatial verwenden zu können, ist eine Domain erforderlich. Für Domains, die vor dem 30. November 2023 erstellt wurden, ist Studio Classic die Standardkonfiguration. Für Domains, die nach dem 30. November 2023 erstellt wurden, ist es Studio. Weitere Informationen zum Zugriff auf Studio Classic von Studio aus finden Sie unter [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md).

1. **Denken Sie daran, die Ressourcen herunterzufahren.**

   Wenn Sie die Nutzung der SageMaker Geodatenfunktionen beendet haben, fahren Sie die Instanz herunter, auf der sie ausgeführt wird, um zusätzliche Kosten zu vermeiden. Weitere Informationen finden Sie unter [Ressourcen von Amazon SageMaker Studio Classic herunterfahren](notebooks-run-and-manage-shut-down.md). 

**Topics**
+ [Wie kann ich georäumliche Funktionen nutzen SageMaker ?](#how-use-geo)
+ [Verwenden Sie Geospatial zum ersten Mal? SageMaker](#first-time-geospatial-data)
+ [Erste Schritte mit Amazon SageMaker Geospatial](geospatial-getting-started.md)
+ [Verwendung eines Verarbeitungsauftrags für benutzerdefinierte Geodaten-Workloads](geospatial-custom-operations.md)
+ [Jobs im Bereich Erdbeobachtung](geospatial-eoj.md)
+ [Jobs im Bereich Vektoranreicherung](geospatial-vej.md)
+ [Visualisierung mithilfe von SageMaker Geodatenfunktionen](geospatial-visualize.md)
+ [Amazon SageMaker Geospatial Map SDK](geospatial-notebook-sdk.md)
+ [SageMaker Häufig gestellte Fragen zu Geodatenfunktionen](geospatial-faq.md)
+ [SageMaker Geospatiale Sicherheit und Berechtigungen](geospatial-security-general.md)
+ [Arten von Recheninstances](geospatial-instances.md)
+ [Datenerfassung](geospatial-data-collections.md)

# Erste Schritte mit Amazon SageMaker Geospatial
<a name="geospatial-getting-started"></a>

 SageMaker Geospatial bietet einen speziell entwickelten **Image** - und **Instance-Typ** für Amazon SageMaker Studio Classic-Notebooks. **Sie können entweder CPU- oder GPU-fähige Notebooks mit dem SageMaker Geospatial Image verwenden.** Sie können Ihre Geodaten auch mit einem speziell entwickelten Visualizer visualisieren. Darüber hinaus können Sie mit SageMaker Geospatial auch APIs Rasterdatensammlungen abfragen. Sie können auch vortrainierte Modelle verwenden, um Geodaten zu analysieren, Geokodierung rückgängig zu machen und Karten abzugleichen.

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Wenn Sie vor dem 30. November 2023 eine Amazon SageMaker AI-Domain erstellt haben, bleibt Studio Classic das Standarderlebnis. Domains, die nach dem 30. November 2023 erstellt wurden, verwenden standardmäßig das neue Studio-Erlebnis.

Gehen Sie wie folgt vor, um auf Amazon SageMaker Geospatial zuzugreifen und mit der Nutzung zu beginnen:

**Topics**
+ [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md)
+ [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md)
+ [Greifen Sie auf die Sentinel-2-Rasterdatensammlung zu und erstellen Sie einen Erdbeobachtungsauftrag zur Landsegmentierung](geospatial-demo.md)

# Zugreifen auf Geospatial SageMaker
<a name="access-studio-classic-geospatial"></a>

**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) und in Studio Classic unterstützt.  
Wenn die SageMaker Geospatial-Benutzeroberfläche in Ihrer aktuellen Studio Classic-Instanz nicht verfügbar ist, überprüfen Sie, ob Sie sich derzeit in der Region USA West (Oregon) befinden.

Für den Zugriff auf SageMaker Geospatial ist eine Domäne erforderlich. Wenn Sie vor dem 30. November 2023 eine Domain erstellt haben, ist das Standardkonfiguration Studio Classic.

Wenn Sie eine Domäne nach dem 30. November 2023 erstellt haben oder wenn Sie zu Studio migriert sind, können Sie das folgende Verfahren verwenden, um Studio Classic von Studio aus zu aktivieren, um SageMaker Geodatenfunktionen zu verwenden.

Weitere Informationen zum Erstellen einer Domain finden Sie unter [Onboard to Amazon SageMaker AI domain](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html).

**So greifen Sie von Studio aus auf Studio Classic zu**

1. Starten Sie Amazon SageMaker Studio.

1. Wählen Sie unter **Anwendungen** die Option **Studio Classic** aus.

1. Wählen Sie dann **Studio-Classic-Bereich erstellen** aus.

1. Geben Sie auf der Seite **Studio-Classic-Bereich erstellen** einen **Namen** ein.

1. Deaktivieren Sie die Option **Mit meiner Domain teilen**. SageMaker Geospatial ist in gemeinsam genutzten Domänen nicht verfügbar.

1. Wählen Sie dann **Bereich erstellen** aus.

Bei Erfolg ändert sich der **Status** zu **Wird aktualisiert**. Wenn Ihre Studio-Classic-Anwendung einsatzbereit ist, ändert sich der Status in **Gestoppt**.

Um Ihre Studio-Classic-Anwendung zu starten, wählen Sie **Ausführen** aus.

# Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds
<a name="geospatial-launch-notebook"></a>

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt 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 SageMaker Studio](studio-updated.md).  
Studio Classic wird weiterhin für bestehende Workloads beibehalten, ist aber 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, [Ihren Workload auf das neue Studio-Erlebnis zu migrieren](studio-updated-migrate.md).

**Anmerkung**  
Derzeit werden SageMaker Geodaten nur in der Region USA West (Oregon) unterstützt.  
Wenn Sie in Ihrer aktuellen Domain oder Notebook-Instanz nicht sehen, dass SageMaker Geodaten in Ihrer aktuellen Domain oder Notebook-Instanz verfügbar sind, stellen Sie sicher, dass Sie sich derzeit in der Region USA West (Oregon) befinden.

Gehen Sie wie folgt vor, um ein Studio Classic-Notizbuch mit dem SageMaker Geodatenbild zu erstellen. Wenn Sie Studio als Standardversion verwenden, finden Sie unter [Zugreifen auf Geospatial SageMaker](access-studio-classic-geospatial.md) weitere Informationen zum Starten einer Studio-Classic-Anwendung.

**So erstellen Sie ein Studio Classic-Notizbuch mit dem SageMaker Geodatenbild**

1. Starten von Studio Classic

1. Wählen Sie in der Menüleiste **Startseite**.

1. Wählen Sie unter **Schnellaktionen** die Option **Launcher öffnen** aus.

1. Wenn das **Launcher**-Dialogfeld geöffnet wird. Wählen Sie unter **Notebooks und Rechenressourcen** die Option **Umgebung ändern** aus.

1. Wenn, wird das Dialogfeld **Umgebung ändern** geöffnet. Wählen Sie das Dropdown-Menü **Bild** und wählen Sie **Geospatial 1.0** aus, oder geben Sie es ein.  
![\[Ein Dialogfeld, in dem das richtige Geodatenbild und der gewählte Instance-Typ angezeigt werden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial-environment-dialogue.png)

1. Wählen Sie als Nächstes einen **Instance-Typ** aus der Dropdown-Liste aus.

   SageMaker Geospatial unterstützt zwei Arten von Notebook-Instanzen: CPU und GPU. Die unterstützte CPU-Instance heißt **ml.geospatial.interactive**. Jede GPU-Instance der G5-Familie kann mit dem Geospatial 1.0-Image verwendet werden.
**Anmerkung**  
Wenn Sie beim Versuch, eine GPU-basierte Instanz zu starten, eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Informationen zur Beantragung einer Quotenerhöhung für Service Quotas finden Sie unter [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Service Quotas-Benutzerhandbuch* 

1. Wählen Sie **Select (Auswählen)**.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**.

Nachdem Sie ein Notizbuch erstellt haben, können Sie das SageMaker Geospatial-Tutorial ausprobieren, um mehr über [SageMaker Geodaten](geospatial-demo.md) zu erfahren. Es zeigt Ihnen, wie Sie Sentinel-2-Bilddaten verarbeiten und mithilfe der API für Erdbeobachtungsjobs eine Landsegmentierung durchführen. 

# Greifen Sie auf die Sentinel-2-Rasterdatensammlung zu und erstellen Sie einen Erdbeobachtungsauftrag zur Landsegmentierung
<a name="geospatial-demo"></a>

Dieses Python-basierte Tutorial verwendet das SDK für Python (Boto3) und ein Amazon Studio Classic-Notizbuch. SageMaker Um diese Demo erfolgreich abzuschließen, stellen Sie sicher, dass Sie über die erforderlichen AWS Identity and Access Management (IAM-) Berechtigungen für die Verwendung von Geospatial und Studio Classic verfügen. SageMaker SageMaker Geospatial erfordert, dass Sie über einen Benutzer, eine Gruppe oder eine Rolle verfügen, die auf Studio Classic zugreifen können. Sie müssen außerdem über eine SageMaker AI-Ausführungsrolle verfügen, die den Prinzipal des SageMaker Geospatial Service `sagemaker-geospatial.amazonaws.com` in ihrer Vertrauensrichtlinie spezifiziert. 

Weitere Informationen zu diesen Anforderungen finden Sie unter [SageMaker Geospatial IAM-Rollen](sagemaker-geospatial-roles.md).

In diesem Tutorial erfahren Sie, wie Sie die SageMaker Geospatial-API verwenden, um die folgenden Aufgaben auszuführen:
+ Finden Sie die verfügbaren Raster-Datensammlungen mit `list_raster_data_collections`.
+ Suchen Sie eine angegebene Raster-Datensammlung mithilfe von `search_raster_data_collection`.
+ Erstellen Sie einen Erdbeobachtungsauftrag (EOJ) mithilfe von `start_earth_observation_job`.

## Verwenden von `list_raster_data_collections`, um verfügbare Datensammlungen zu finden
<a name="demo-use-list-rdc"></a>

SageMaker Geospatial unterstützt mehrere Rasterdatensammlungen. Weitere Informationen zu den verfügbaren Datensammlungen finden Sie unter [Datenerfassung](geospatial-data-collections.md).

In dieser Demo werden Satellitendaten verwendet, die von [Sentinel-2Cloud-optimierten GeoTIFF-Satelliten](https://registry.opendata.aws/sentinel-2-l2a-cogs/) gesammelt wurden. Diese Satelliten decken alle fünf Tage die Landoberfläche der Erde weltweit ab. Die Sentinel-2-Satelliten sammeln nicht nur Oberflächenbilder der Erde, sondern auch Daten über eine Vielzahl von Spektralbändern.

Um ein Interessengebiet (AOI) zu durchsuchen, benötigen Sie den ARN, der mit den Sentinel-2-Satellitendaten verknüpft ist. Verwenden Sie den `list_raster_data_collections` API-Vorgang, um die verfügbaren Datensammlungen und die zugehörigen Datensammlungen ARNs in Ihrem AWS-Region zu finden.

Da die Antwort paginiert werden kann, müssen Sie den `get_paginator` Vorgang verwenden, um alle relevanten Daten zurückzugeben:

```
import boto3
import sagemaker
import sagemaker_geospatial_map
import json 

## SageMaker Geospatial  is currently only avaialable in US-WEST-2  
session = boto3.Session(region_name='us-west-2')
execution_role = sagemaker.get_execution_role()

## Creates a SageMaker Geospatial client instance 
geospatial_client = session.client(service_name="sagemaker-geospatial")

# Creates a resusable Paginator for the list_raster_data_collections API operation 
paginator = geospatial_client.get_paginator("list_raster_data_collections")

# Create a PageIterator from the paginator class
page_iterator = paginator.paginate()

# Use the iterator to iterate throught the results of list_raster_data_collections
results = []
for page in page_iterator:
    results.append(page['RasterDataCollectionSummaries'])

print(results)
```

Dies ist ein Beispiel für eine JSON-Antwort aus dem `list_raster_data_collections` API-Vorgang. Sie ist so gekürzt, dass sie nur die Datensammlung (Sentinel-2) enthält, die in  diesem Codebeispiel verwendet wird. Weitere Informationen zu einer bestimmten Raster-Datensammlung erhalten Sie mit `get_raster_data_collection`:

```
{
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
    "Description": "Sentinel-2a and Sentinel-2b imagery, processed to Level 2A (Surface Reflectance) and converted to Cloud-Optimized GeoTIFFs",
    "DescriptionPageUrl": "https://registry.opendata.aws/sentinel-2-l2a-cogs",
    "Name": "Sentinel 2 L2A COGs",
    "SupportedFilters": [
        {
            "Maximum": 100,
            "Minimum": 0,
            "Name": "EoCloudCover",
            "Type": "number"
        },
        {
            "Maximum": 90,
            "Minimum": 0,
            "Name": "ViewOffNadir",
            "Type": "number"
        },
        {
            "Name": "Platform",
            "Type": "string"
        }
    ],
    "Tags": {},
    "Type": "PUBLIC"
}
```

Nachdem Sie das vorherige Codebeispiel ausgeführt haben, erhalten Sie den ARN der Sentinel-2-Raster-Datensammlung, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`. Im [nächsten Abschnitt](#demo-search-raster-data) können Sie die Sentinel-2-Datensammlung mithilfe der `search_raster_data_collection` API abfragen.

## Durchsuchen der Sentinel-2 Raster-Datensammlung mit `search_raster_data_collection`
<a name="demo-search-raster-data"></a>

Im vorherigen Abschnitt haben Sie `list_raster_data_collections` den ARN für die Sentinel-2 Datenerfassung abgerufen. Jetzt können Sie diesen ARN verwenden, um die Datensammlung über einen bestimmten Interessenbereich (AOI), einen bestimmten Zeitraum, Eigenschaften und die verfügbaren UV-Bänder zu durchsuchen.

Um die `search_raster_data_collection` API aufzurufen, müssen Sie dem Python `RasterDataCollectionQuery` Parameter ein  Wörterbuch übergeben. Dieses Beispiel verwendet `AreaOfInterest`, `TimeRangeFilter`, `PropertyFilters`, und `BandFilter`. Der Einfachheit halber können Sie das Python-Wörterbuch mithilfe der Variablen **search\$1rdc\$1query** angeben, die die Suchabfrageparameter enthalten:

```
search_rdc_query = {
    "AreaOfInterest": {
        "AreaOfInterestGeometry": {
            "PolygonGeometry": {
                "Coordinates": [
                    [
                        # coordinates are input as longitute followed by latitude 
                        [-114.529, 36.142],
                        [-114.373, 36.142],
                        [-114.373, 36.411],
                        [-114.529, 36.411],
                        [-114.529, 36.142],
                    ]
                ]
            }
        }
    },
    "TimeRangeFilter": {
        "StartTime": "2022-01-01T00:00:00Z",
        "EndTime": "2022-07-10T23:59:59Z"
    },
    "PropertyFilters": {
        "Properties": [
            {
                "Property": {
                    "EoCloudCover": {
                        "LowerBound": 0,
                        "UpperBound": 1
                    }
                }
            }
        ],
        "LogicalOperator": "AND"
    },
    "BandFilter": [
        "visual"
    ]
}
```

In diesem Beispiel fragen Sie einen `AreaOfInterest` ab, der [Lake Mead](https://en.wikipedia.org/wiki/Lake_Mead) in Utah enthält. Darüber hinaus unterstützt Sentinel-2 mehrere Arten von Bildbändern. Um die Veränderung der Wasseroberfläche zu messen, benötigen Sie nur das `visual` Band.

Nachdem Sie die Abfrageparameter erstellt haben, können Sie die `search_raster_data_collection` API verwenden, um die Anfrage zu stellen. 

Das folgende Codebeispiel implementiert eine `search_raster_data_collection` API-Anfrage. Diese API unterstützt keine Paginierung mithilfe der `get_paginator` API. Um sicherzustellen, dass die vollständige API-Antwort erfasst wurde, verwendet das Codebeispiel eine `while` Schleife, um zu überprüfen, ob `NextToken` vorhanden ist. Das Codebeispiel wird dann verwendet`.extend()`, um das Satellitenbild URLs und andere Antwortmetadaten an die `items_list` anzuhängen. 

Weitere Informationen zu finden Sie [SearchRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_SearchRasterDataCollection.html)in der *Amazon SageMaker AI API-Referenz*. `search_raster_data_collection`

```
search_rdc_response = sm_geo_client.search_raster_data_collection(
    Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
    RasterDataCollectionQuery=search_rdc_query
)


## items_list is the response from the API request. 
items_list = []

## Use the python .get() method to check that the 'NextToken' exists, if null returns None breaking the while loop 
while search_rdc_response.get('NextToken'):
    items_list.extend(search_rdc_response['Items'])
    search_rdc_response = sm_geo_client.search_raster_data_collection(
        Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
        RasterDataCollectionQuery=search_rdc_query, NextToken=search_rdc_response['NextToken']
    )

## Print the number of observation return based on the query
print (len(items_list))
```

Nachfolgend sehen Sie eine JSON-Antwort auf Ihre Abfrage. Sie wurde aus Gründen der Übersichtlichkeit gekürzt. Nur das in der Anfrage angegebene **"BandFilter": ["visual"]** wird im Schlüssel-Wert-Paar `Assets` zurückgegeben:

```
{
    'Assets': {
        'visual': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/6/S2A_15TUH_20220623_0_L2A/TCI.tif'
        }
    },
    'DateTime': datetime.datetime(2022, 6, 23, 17, 22, 5, 926000, tzinfo = tzlocal()),
    'Geometry': {
        'Coordinates': [
            [
                [-114.529, 36.142],
                [-114.373, 36.142],
                [-114.373, 36.411],
                [-114.529, 36.411],
                [-114.529, 36.142],
            ]
        ],
        'Type': 'Polygon'
    },
    'Id': 'S2A_15TUH_20220623_0_L2A',
    'Properties': {
        'EoCloudCover': 0.046519,
        'Platform': 'sentinel-2a'
    }
}
```

Jetzt, wo Sie Ihre Abfrageergebnisse haben, können Sie die Ergebnisse im nächsten Abschnitt visualisieren, indem Sie `matplotlib` verwenden. Auf diese Weise wird überprüft, ob die Ergebnisse aus der richtigen geografischen Region stammen. 

## Visualisierung von `search_raster_data_collection` mit `matplotlib`
<a name="demo-geospatial-visualize"></a>

Bevor Sie mit dem Erdbeobachtungsjob (EOJ) beginnen, können Sie ein Ergebnis unserer Abfrage mit `matplotlib` visualisieren. Das folgende Codebeispiel verwendet das erste Element, `items_list[0]["Assets"]["visual"]["Href"]`, aus der `items_list`-Variablen, die im vorherigen Codebeispiel erstellt wurde, und druckt ein Bild mit `matplotlib`.

```
# Visualize an example image.
import os
from urllib import request
import tifffile
import matplotlib.pyplot as plt

image_dir = "./images/lake_mead"
os.makedirs(image_dir, exist_ok=True)

image_dir = "./images/lake_mead"
os.makedirs(image_dir, exist_ok=True)

image_url = items_list[0]["Assets"]["visual"]["Href"]
img_id = image_url.split("/")[-2]
path_to_image = image_dir + "/" + img_id + "_TCI.tif"
response = request.urlretrieve(image_url, path_to_image)
print("Downloaded image: " + img_id)

tci = tifffile.imread(path_to_image)
plt.figure(figsize=(6, 6))
plt.imshow(tci)
plt.show()
```

Nachdem Sie überprüft haben, ob sich die Ergebnisse in der richtigen geografischen Region befinden, können Sie im nächsten Schritt den Earth Observation Job (EOJ) starten. Sie verwenden das EOJ, um die Gewässer anhand der Satellitenbilder zu identifizieren, indem Sie ein Verfahren verwenden, das als Landsegmentierung bezeichnet wird.

## Starten Sie einen Erdbeobachtungsauftrag (EOJ), der eine Landsegmentierung anhand einer Reihe von Satellitenbildern durchführt
<a name="demo-start-eoj"></a>

SageMaker Geospatial bietet mehrere vortrainierte Modelle, mit denen Sie Geodaten aus Rasterdatensammlungen verarbeiten können. Weitere Informationen zu den verfügbaren vortrainierten Modellen und benutzerdefinierten Operationen finden Sie unter [Arten von Operationen](geospatial-eoj-models.md).

Um die Veränderung der Wasseroberfläche zu berechnen, müssen Sie ermitteln, welche Pixel in den Bildern Wasser entsprechen. Die Landbedeckungssegmentierung ist ein semantisches Segmentierungsmodell, das von der `start_earth_observation_job` API unterstützt wird. Semantische Segmentierungsmodelle ordnen jedem Pixel in jedem Bild eine Bezeichnung zu. In den Ergebnissen wird jedem Pixel eine Bezeichnung zugewiesen, die auf der Klassenzuweisung für das Modell basiert. Im Folgenden finden Sie die Klassenkarte für das Landsegmentierungsmodell:

```
{
    0: "No_data",
    1: "Saturated_or_defective",
    2: "Dark_area_pixels",
    3: "Cloud_shadows",
    4: "Vegetation",
    5: "Not_vegetated",
    6: "Water",
    7: "Unclassified",
    8: "Cloud_medium_probability",
    9: "Cloud_high_probability",
    10: "Thin_cirrus",
    11: "Snow_ice"
}
```

Verwenden Sie die `start_earth_observation_job` API, um einen Erdbeobachtungsjob zu starten. Beim Senden Ihrer Anfrage müssen Sie Folgendes angeben:
+ `InputConfig`(*dict*) – Wird verwendet, um die Koordinaten des Bereichs, den Sie durchsuchen möchten, und andere Metadaten, die mit Ihrer Suche verknüpft sind, anzugeben.
+ `JobConfig`(*dict*) – Wird verwendet, um den Typ der EOJ-Operation anzugeben, die Sie mit den Daten ausgeführt haben. Dieses Beispiel verwendet **LandCoverSegmentationConfig**.
+ `ExecutionRoleArn`(*string*) — Der ARN der SageMaker AI-Ausführungsrolle mit den erforderlichen Berechtigungen zur Ausführung des Jobs.
+ `Name`(*string*) – Ein Name für den Erdbeobachtungsauftrag.

Das `InputConfig` ist ein Python Wörterbuch. Verwenden Sie die folgende Variable **eoj\$1input\$1config**, um die Suchabfrageparameter zu speichern. Verwenden Sie diese Variable, wenn Sie die `start_earth_observation_job` API-Anfrage stellen. w.

```
# Perform land cover segmentation on images returned from the Sentinel-2 dataset.
eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates":[
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
    }
}
```

Das `JobConfig` ist ein Python Wörterbuch, das verwendet wird, um die EOJ-Operation zu spezifizieren, die Sie für Ihre Daten ausführen möchten:

```
eoj_config = {"LandCoverSegmentationConfig": {}}
```

Nachdem die Wörterbuchelemente jetzt angegeben sind, können Sie Ihre `start_earth_observation_job` API-Anfrage mithilfe des folgenden Codebeispiels einreichen:

```
# Gets the execution role arn associated with current notebook instance 
execution_role_arn = sagemaker.get_execution_role()

# Starts an earth observation job
response = sm_geo_client.start_earth_observation_job(
    Name="lake-mead-landcover",
    InputConfig=eoj_input_config,
    JobConfig=eoj_config,
    ExecutionRoleArn=execution_role_arn,
)
            
print(response)
```

Der Job „Eine Erdbeobachtung starten“ gibt einen ARN zusammen mit anderen Metadaten zurück.

Um eine Liste aller laufenden und aktuellen Erdbeobachtungsaufträge abzurufen, verwenden Sie die `list_earth_observation_jobs` API. Verwenden Sie die `get_earth_observation_job` API, um den Status eines einzelnen Erdbeobachtungsauftrags zu überwachen. Verwenden Sie für diese Anfrage den ARN, der nach dem Absenden Ihrer EOJ-Anfrage erstellt wurde. Weitere Informationen finden Sie [GetEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetEarthObservationJob.html)in der *Amazon SageMaker AI API-Referenz*.

Um die mit Ihnen ARNs EOJs verbundenen `list_earth_observation_jobs` API-Operationen zu finden. Weitere Informationen finden Sie [ListEarthObservationJobs](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_geospatial_ListEarthObservationJobs.html)in der *Amazon SageMaker AI API-Referenz*.

```
# List all jobs in the account
sg_client.list_earth_observation_jobs()["EarthObservationJobSummaries"]
```

Nachfolgend finden Sie ein Beispiel einer JSON-Antwort:

```
{
    'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/futg3vuq935t',
    'CreationTime': datetime.datetime(2023, 10, 19, 4, 33, 54, 21481, tzinfo = tzlocal()),
    'DurationInSeconds': 3493,
    'Name': 'lake-mead-landcover',
    'OperationType': 'LAND_COVER_SEGMENTATION',
    'Status': 'COMPLETED',
    'Tags': {}
}, {
    'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/wu8j9x42zw3d',
    'CreationTime': datetime.datetime(2023, 10, 20, 0, 3, 27, 270920, tzinfo = tzlocal()),
    'DurationInSeconds': 1,
    'Name': 'mt-shasta-landcover',
    'OperationType': 'LAND_COVER_SEGMENTATION',
    'Status': 'INITIALIZING',
    'Tags': {}
}
```

Nachdem der Status Ihres EOJ-Auftrags auf `COMPLETED` geändert wurde, fahren Sie mit dem nächsten Abschnitt fort, um die Änderung der Fläche von Lake Mead's  zu berechnen.

## Berechnung der Veränderung der Oberfläche des Mead-Sees
<a name="demo-geospatial-calc"></a>

Um die Änderung der Oberfläche von Lake Mead zu berechnen, exportieren Sie zunächst die Ergebnisse des EOJ nach Amazon S3, indem Sie Folgendes verwenden: `export_earth_observation_job`

```
sagemaker_session = sagemaker.Session()
s3_bucket_name = sagemaker_session.default_bucket()  # Replace with your own bucket if needed
s3_bucket = session.resource("s3").Bucket(s3_bucket_name)
prefix = "export-lake-mead-eoj"  # Replace with the S3 prefix desired
export_bucket_and_key = f"s3://{s3_bucket_name}/{prefix}/"

eoj_output_config = {"S3Data": {"S3Uri": export_bucket_and_key}}
export_response = sm_geo_client.export_earth_observation_job(
    Arn="arn:aws:sagemaker-geospatial:us-west-2:111122223333:earth-observation-job/7xgwzijebynp",
    ExecutionRoleArn=execution_role_arn,
    OutputConfig=eoj_output_config,
    ExportSourceImages=False,
)
```

Um den Status Ihres Exportauftrags zu sehen, verwenden Sie: `get_earth_observation_job`

```
export_job_details = sm_geo_client.get_earth_observation_job(Arn=export_response["Arn"])
```

Um die Veränderungen des Wasserspiegels von Lake Mead zu berechnen, laden Sie die Landbedeckungsmasken auf die lokale SageMaker Notebook-Instanz herunter und laden Sie die Quellbilder aus unserer vorherigen Abfrage herunter. In der Klassenkarte für das Landsegmentierungsmodell ist der Klassenindex für Wasser 6.

Gehen Sie wie folgt vor, um die Wassermaske aus einem Sentinel-2-Bild zu extrahieren. Zählen Sie zunächst die Anzahl der Pixel, die im Bild als Wasser (Klassenindex 6) markiert sind. Zweitens multiplizieren Sie die Anzahl mit der Fläche, die jedes Pixel abdeckt. Bänder können sich in ihrer räumlichen Auflösung unterscheiden. Für das Modell der Landbedeckungssegmentierung werden alle Bänder auf eine räumliche Auflösung von 60 Metern heruntergerechnet.

```
import os
from glob import glob
import cv2
import numpy as np
import tifffile
import matplotlib.pyplot as plt
from urllib.parse import urlparse
from botocore import UNSIGNED
from botocore.config import Config

# Download land cover masks
mask_dir = "./masks/lake_mead"
os.makedirs(mask_dir, exist_ok=True)
image_paths = []
for s3_object in s3_bucket.objects.filter(Prefix=prefix).all():
    path, filename = os.path.split(s3_object.key)
    if "output" in path:
        mask_name = mask_dir + "/" + filename
        s3_bucket.download_file(s3_object.key, mask_name)
        print("Downloaded mask: " + mask_name)

# Download source images for visualization
for tci_url in tci_urls:
    url_parts = urlparse(tci_url)
    img_id = url_parts.path.split("/")[-2]
    tci_download_path = image_dir + "/" + img_id + "_TCI.tif"
    cogs_bucket = session.resource(
        "s3", config=Config(signature_version=UNSIGNED, region_name="us-west-2")
    ).Bucket(url_parts.hostname.split(".")[0])
    cogs_bucket.download_file(url_parts.path[1:], tci_download_path)
    print("Downloaded image: " + img_id)

print("Downloads complete.")

image_files = glob("images/lake_mead/*.tif")
mask_files = glob("masks/lake_mead/*.tif")
image_files.sort(key=lambda x: x.split("SQA_")[1])
mask_files.sort(key=lambda x: x.split("SQA_")[1])
overlay_dir = "./masks/lake_mead_overlay"
os.makedirs(overlay_dir, exist_ok=True)
lake_areas = []
mask_dates = []

for image_file, mask_file in zip(image_files, mask_files):
    image_id = image_file.split("/")[-1].split("_TCI")[0]
    mask_id = mask_file.split("/")[-1].split(".tif")[0]
    mask_date = mask_id.split("_")[2]
    mask_dates.append(mask_date)
    assert image_id == mask_id
    image = tifffile.imread(image_file)
    image_ds = cv2.resize(image, (1830, 1830), interpolation=cv2.INTER_LINEAR)
    mask = tifffile.imread(mask_file)
    water_mask = np.isin(mask, [6]).astype(np.uint8)  # water has a class index 6
    lake_mask = water_mask[1000:, :1100]
    lake_area = lake_mask.sum() * 60 * 60 / (1000 * 1000)  # calculate the surface area
    lake_areas.append(lake_area)
    contour, _ = cv2.findContours(water_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    combined = cv2.drawContours(image_ds, contour, -1, (255, 0, 0), 4)
    lake_crop = combined[1000:, :1100]
    cv2.putText(lake_crop, f"{mask_date}", (10,50), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 0), 3, cv2.LINE_AA)
    cv2.putText(lake_crop, f"{lake_area} [sq km]", (10,100), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 0), 3, cv2.LINE_AA)
    overlay_file = overlay_dir + '/' + mask_date + '.png'
    cv2.imwrite(overlay_file, cv2.cvtColor(lake_crop, cv2.COLOR_RGB2BGR))

# Plot water surface area vs. time.
plt.figure(figsize=(20,10))
plt.title('Lake Mead surface area for the 2021.02 - 2022.07 period.', fontsize=20)
plt.xticks(rotation=45)
plt.ylabel('Water surface area [sq km]', fontsize=14)
plt.plot(mask_dates, lake_areas, marker='o')
plt.grid('on')
plt.ylim(240, 320)
for i, v in enumerate(lake_areas):
    plt.text(i, v+2, "%d" %v, ha='center')
plt.show()
```

Mithilfe von `matplotlib` können Sie die Ergebnisse grafisch visualisieren. Die Grafik zeigt, dass die Oberfläche des Sees Mead von Januar 2021 bis Juli 2022 abgenommen hat.

![\[Ein Balkendiagramm zeigt, dass die Oberfläche von Lake Mead von Januar 2021 bis Juli 2022 abgenommen hat\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/lake-mead-decrease.png)


# Verwendung eines Verarbeitungsauftrags für benutzerdefinierte Geodaten-Workloads
<a name="geospatial-custom-operations"></a>

Mit [Amazon SageMaker Processing](processing-job.md) können Sie eine vereinfachte, verwaltete SageMaker KI-Umgebung nutzen, um Ihre Datenverarbeitungs-Workloads mit dem speziell entwickelten Geospatial-Container auszuführen.

 Die zugrunde liegende Infrastruktur für einen Amazon SageMaker Processing-Job wird vollständig von SageMaker KI verwaltet. Während eines Verarbeitungsauftrags werden Cluster-Ressourcen für die Dauer Ihres Jobs bereitgestellt und nach Abschluss eines Jobs bereinigt.

![\[Ausführen eines Verarbeitungsauftrags.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Processing-1.png)


Das obige Diagramm zeigt, wie SageMaker KI einen Auftrag zur Verarbeitung von Geodaten ausführt. SageMaker KI nimmt Ihr Geospatial-Workload-Skript, kopiert Ihre Geodaten aus Amazon Simple Storage Service (Amazon S3) und ruft dann den angegebenen Geodatencontainer ab. Die dem Verarbeitungsauftrag zugrunde liegende Infrastruktur wird vollständig von KI verwaltet. SageMaker Cluster-Ressourcen werden für die Dauer Ihres Jobs bereitgestellt und nach Abschluss eines Jobs bereinigt. Die Ausgabe des Verarbeitungsauftrags wird in dem von Ihnen angegebenen Bucket gespeichert. 

**Einschränkungen bei der Pfadbenennung**  
Die lokalen Pfade innerhalb eines Containers für Verarbeitungsaufträge müssen mit **/opt/ml/processing/** beginnen.

SageMaker Geospatial stellt einen speziell entwickelten Container bereit`081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest`, der bei der Ausführung eines Verarbeitungsauftrags spezifiziert werden kann.

**Topics**
+ [Überblick: Führen Sie Verarbeitungsaufträge mithilfe eines Geodatencontainers aus `ScriptProcessor` SageMaker](geospatial-custom-operations-overview.md)
+ [Verwenden von `ScriptProcessor` zur Berechnung des Normalized Difference Vegetation Index (NDVI) anhand von Sentinel-2-Satellitendaten](geospatial-custom-operations-procedure.md)

# Überblick: Führen Sie Verarbeitungsaufträge mithilfe eines Geodatencontainers aus `ScriptProcessor` SageMaker
<a name="geospatial-custom-operations-overview"></a>

SageMaker Geospatial bietet einen speziell entwickelten Verarbeitungscontainer,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Sie können diesen Container verwenden, wenn Sie einen Job mit Amazon SageMaker Processing ausführen. Wenn Sie eine Instanz der [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)Klasse erstellen, die über das *Amazon SageMaker Python SDK for Processing* verfügbar ist, geben Sie dies an`image_uri`.

**Anmerkung**  
Wenn Sie beim Versuch, einen Verarbeitungsjob zu starten, eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Informationen zur Beantragung einer Quotenerhöhung für Service Quotas finden Sie unter [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Service Quotas-Benutzerhandbuch* 

**Voraussetzungen für die Verwendung von `ScriptProcessor`**

1. Sie haben ein Python Skript erstellt, das Ihre Geospatial-ML-Arbeitslast spezifiziert.

1. Sie haben der SageMaker AI-Ausführungsrolle Zugriff auf alle benötigten Amazon S3 S3-Buckets gewährt.

1. Bereiten Sie Ihre Daten für den Import in den Container vor. Amazon SageMaker Processing Jobs unterstützen entweder die Einstellung `s3_data_type` gleich `"ManifestFile"` oder gleich`"S3Prefix"`.

Das folgende Verfahren zeigt Ihnen, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz von Amazon SageMaker Processing erstellen `ScriptProcessor` und einen Auftrag einreichen.

**So erstellen Sie eine `ScriptProcessor` Instance und reichen einen Amazon SageMaker Processing-Job mithilfe eines SageMaker Geodatencontainers ein**

1. Instanziieren Sie eine Instanz der `ScriptProcessor` Klasse mithilfe des Geodatenbilds: SageMaker 

   ```
   from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput
   	
   sm_session = sagemaker.session.Session()
   execution_role_arn = sagemaker.get_execution_role()
   
   # purpose-built geospatial container
   image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'
   
   script_processor = ScriptProcessor(
   	command=['python3'],
   	image_uri=image_uri,
   	role=execution_role_arn,
   	instance_count=4,
   	instance_type='ml.m5.4xlarge',
   	sagemaker_session=sm_session
   )
   ```

   *execution\$1role\$1arn*Ersetzen Sie es durch den ARN der SageMaker KI-Ausführungsrolle, die Zugriff auf die in Amazon S3 gespeicherten Eingabedaten und alle anderen AWS Dienste hat, die Sie in Ihrem Verarbeitungsjob aufrufen möchten. Sie können die `instance_count` und die `instance_type` aktualisieren, um sie an die Anforderungen Ihres Verarbeitungsjobs anzupassen.

1. Verwenden Sie die folgende `.run()` Methode, um einen Verarbeitungsjob zu starten:

   ```
   # Can be replaced with any S3 compliant string for the name of the folder.
   s3_folder = geospatial-data-analysis
   
   # Use .default_bucket() to get the name of the S3 bucket associated with your current SageMaker session
   s3_bucket = sm_session.default_bucket()
   					
   s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json'
   s3_prefix_uri =  f's3://{s3_bucket}/{s3_folder}/image-prefix
   
   script_processor.run(
   	code='preprocessing.py',
   	inputs=[
   		ProcessingInput(
   			source=s3_manifest_uri | s3_prefix_uri ,
   			destination='/opt/ml/processing/input_data/',
   			s3_data_type= "ManifestFile" | "S3Prefix",
   			s3_data_distribution_type= "ShardedByS3Key" | "FullyReplicated"
   		)
   	],
   	outputs=[
           ProcessingOutput(
               source='/opt/ml/processing/output_data/',
               destination=s3_output_prefix_url
           )
       ]
   )
   ```
   + *preprocessing.py*Ersetzen Sie es durch den Namen Ihres eigenen Python-Datenverarbeitungsskripts.
   + Ein Verarbeitungsjob unterstützt zwei Methoden zum Formatieren Ihrer Eingabedaten. Sie können entweder eine Manifestdatei erstellen, die auf alle Eingabedaten für Ihren Verarbeitungsauftrag verweist, oder Sie können für jede einzelne Dateneingabe ein gemeinsames Präfix verwenden. Wenn Sie eine Manifestdatei erstellt haben, die `s3_manifest_uri` gleich `"ManifestFile"` ist. Wenn Sie ein Dateipräfix verwendet haben, das `s3_manifest_uri` gleich `"S3Prefix"` gesetzt ist. Sie geben den Pfad zu Ihren Daten mit `source` an.
   + Sie können die Daten Ihres Verarbeitungsauftrags auf zwei Arten verteilen:
     + Verteilen Sie Ihre Daten auf alle Verarbeitungsinstances, indem Sie `s3_data_distribution_type` gleich `FullyReplicated` setzen.
     + Verteilen Sie Ihre Daten auf der Grundlage des Amazon S3-Schlüssels in Shards, indem Sie `s3_data_distribution_type` gleich `ShardedByS3Key` setzen. Bei der Verwendung von `ShardedByS3Key` wird an jede Verarbeitungsinstance ein Datenbruchstück gesendet.

    Sie können ein Skript verwenden, um SageMaker Geodaten zu verarbeiten. Dieses Skript finden Sie in [Schritt 3: Schreiben eines Skripts, das den NDVI berechnen kann](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Weitere Informationen zum `.run()` API-Betrieb finden Sie [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run)im *Amazon SageMaker Python SDK for Processing*.

Um den Fortschritt Ihres Verarbeitungsauftrags zu überwachen, unterstützt die `ProcessingJobs` Klasse eine [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe) Methode. Diese Methode gibt eine Antwort vom `DescribeProcessingJob` API-Aufruf zurück. Weitere Informationen finden Sie [`DescribeProcessingJob`in der *Amazon SageMaker AI API-Referenz*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

Im nächsten Thema erfahren Sie, wie Sie mithilfe des SageMaker Geospatial-Containers eine Instanz der `ScriptProcessor` Klasse erstellen und anschließend anhand von Bildern den Normalized Difference Vegetation Index (NDVI) berechnen. Sentinel-2



# Verwenden von `ScriptProcessor` zur Berechnung des Normalized Difference Vegetation Index (NDVI) anhand von Sentinel-2-Satellitendaten
<a name="geospatial-custom-operations-procedure"></a>

Die folgenden Codebeispiele zeigen Ihnen, wie Sie den normalisierten Differenzvegetationsindex eines bestimmten geografischen Gebiets mithilfe des speziell erstellten Geodatenbilds in einem Studio Classic-Notizbuch berechnen und mithilfe [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)des AI Python SDK eine umfangreiche Arbeitslast mit Amazon SageMaker Processing ausführen. SageMaker 

Diese Demo verwendet auch eine Amazon SageMaker Studio Classic-Notebook-Instance, die den Geospatial-Kernel und den Instance-Typ verwendet. Informationen zum Erstellen einer Geodaten-Notebook-Instance von Studio Classic finden Sie unter [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md).

Sie können dieser Demo in Ihrer eigenen Notebook-Instance folgen, indem Sie die folgenden Codefragmente kopieren und einfügen:

1. [Verwenden Sie `search_raster_data_collection`, um ein bestimmtes Gebiet von Interesse (AOI) über einen bestimmten Zeitraum unter Verwendung einer bestimmten Rasterdatensammlung,Sentinel-2, abzufragen.](#geospatial-custom-operations-procedure-search)

1. [Erstellen Sie eine Manifestdatei, die angibt, welche Daten während des Verarbeitungsjobs verarbeitet werden.](#geospatial-custom-operations-procedure-manifest)

1. [Schreiben Sie ein Python-Skript zur Datenverarbeitung, das den NDVI berechnet.](#geospatial-custom-operations-script-mode)

1. [Erstellen Sie eine `ScriptProcessor` Instance und starten Sie den Amazon SageMaker Processing Job](#geospatial-custom-operations-create).

1. [Visualisieren der Ergebnisse Ihres Verarbeitungsauftrags](#geospatial-custom-operations-visual).

## Fragen Sie die Sentinel-2 Raster-Datenerfassung ab mit `SearchRasterDataCollection`
<a name="geospatial-custom-operations-procedure-search"></a>

Mit `search_raster_data_collection` können Sie unterstützte Raster-Datensammlungen abfragen. In diesem Beispiel werden Daten verwendet, die von Sentinel-2-Satelliten abgerufen wurden. Das angegebene Interessengebiet (`AreaOfInterest`) ist ländliches Gebiet im Norden von Iowa, und der Zeitraum (`TimeRangeFilter`) reicht vom 1. Januar 2022 bis 30. Dezember 2022. Um die verfügbaren Rasterdatensammlungen in Ihrem AWS-Region zu sehen, verwenden Sie `list_raster_data_collections`. Ein Codebeispiel mit dieser API finden Sie [`ListRasterDataCollections`](geospatial-data-collections.md)im *Amazon SageMaker AI Developer Guide*.

In den folgenden Codebeispielen verwenden Sie den mit der Sentinel-2-Rasterdatensammlung verbundenen ARN, `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`.

Eine `search_raster_data_collection` API-Anfrage erfordert zwei Parameter:
+ Sie müssen einen `Arn` Parameter angeben, der der Raster-Datenerfassung entspricht, die Sie abfragen möchten.
+ Sie müssen auch einen `RasterDataCollectionQuery` Parameter angeben, der in ein Python Wörterbuch aufgenommen wird.

Das folgende Codebeispiel enthält die erforderlichen Schlüssel-Wert-Paare für den Parameter `RasterDataCollectionQuery`, der in der Variablen `search_rdc_query` gespeichert wird.

```
search_rdc_query = {
    "AreaOfInterest": {
        "AreaOfInterestGeometry": {
            "PolygonGeometry": {
                "Coordinates": [[
                    [
              -94.50938680498298,
              43.22487436936203
            ],
            [
              -94.50938680498298,
              42.843474642037194
            ],
            [
              -93.86520004156142,
              42.843474642037194
            ],
            [
              -93.86520004156142,
              43.22487436936203
            ],
            [
              -94.50938680498298,
              43.22487436936203
            ]
               ]]
            }
        }
    },
    "TimeRangeFilter": {"StartTime": "2022-01-01T00:00:00Z", "EndTime": "2022-12-30T23:59:59Z"}
}
```

Um die `search_raster_data_collection`-Anfrage zu stellen, müssen Sie den ARN der `arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8`-Rasterdatensammlung angeben: Sentinel-2. Sie müssen auch das zuvor definierte Python-Wörterbuch übergeben, das Abfrageparameter spezifiziert. 

```
## Creates a SageMaker Geospatial client instance 
sm_geo_client= session.create_client(service_name="sagemaker-geospatial")

search_rdc_response1 = sm_geo_client.search_raster_data_collection(
    Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
    RasterDataCollectionQuery=search_rdc_query
)
```

Die Ergebnisse dieser API können nicht paginiert werden. Um alle von der `search_raster_data_collection` Operation zurückgegebenen Satellitenbilder zu sammeln, können Sie eine `while` Schleife implementieren. Damit wird geprüft, ob `NextToken` in der API-Antwort enthalten ist:

```
## Holds the list of API responses from search_raster_data_collection
items_list = []
while search_rdc_response1.get('NextToken') and search_rdc_response1['NextToken'] != None:
    items_list.extend(search_rdc_response1['Items'])
    
    search_rdc_response1 = sm_geo_client.search_raster_data_collection(
    	Arn='arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
        RasterDataCollectionQuery=search_rdc_query, 
        NextToken=search_rdc_response1['NextToken']
    )
```

Die API-Antwort gibt eine Liste mit URLs Untertiteln des `Assets` Schlüssels zurück, die bestimmten Bildbändern entsprechen. Im Folgenden finden Sie eine gekürzte Version der API-Antwort. Einige der Bildbänder wurden aus Gründen der Übersichtlichkeit entfernt.

```
{
	'Assets': {
        'aot': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/12/S2A_15TUH_20221230_0_L2A/AOT.tif'
        },
        'blue': {
            'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/15/T/UH/2022/12/S2A_15TUH_20221230_0_L2A/B02.tif'
        },
        'swir22-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/B12.jp2'
        },
        'visual-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/TCI.jp2'
        },
        'wvp-jp2': {
            'Href': 's3://sentinel-s2-l2a/tiles/15/T/UH/2022/12/30/0/WVP.jp2'
        }
    },
    'DateTime': datetime.datetime(2022, 12, 30, 17, 21, 52, 469000, tzinfo = tzlocal()),
    'Geometry': {
        'Coordinates': [
            [
                [-95.46676936182894, 43.32623760511659],
                [-94.11293433656887, 43.347431265475954],
                [-94.09532154452742, 42.35884880571144],
                [-95.42776890002203, 42.3383710796791],
                [-95.46676936182894, 43.32623760511659]
            ]
        ],
        'Type': 'Polygon'
    },
    'Id': 'S2A_15TUH_20221230_0_L2A',
    'Properties': {
        'EoCloudCover': 62.384969,
        'Platform': 'sentinel-2a'
    }
}
```

Im [nächsten Abschnitt](#geospatial-custom-operations-procedure-manifest) erstellen Sie eine Manifestdatei mit dem `'Id'` Schlüssel aus der API-Antwort.

## Erstellen Sie eine Eingabe-Manifestdatei mit dem `Id` Schlüssel aus der `search_raster_data_collection` API-Antwort
<a name="geospatial-custom-operations-procedure-manifest"></a>

Wenn Sie einen Verarbeitungsauftrag ausführen, müssen Sie eine Dateneingabe von Amazon S3 angeben. Der Eingabedatentyp kann entweder eine Manifestdatei sein, die dann auf die einzelnen Datendateien verweist. Sie können jeder Datei, die Sie verarbeiten möchten, auch ein Präfix hinzufügen. Das folgende Codebeispiel definiert den Ordner, in dem Ihre Manifestdateien generiert werden.

Verwenden Sie SDK für Python (Boto3), um den Standard-Bucket und den ARN der Ausführungsrolle abzurufen, die Ihrer Notebook-Instance von Studio Classic zugeordnet ist:

```
sm_session = sagemaker.session.Session()
s3 = boto3.resource('s3')
# Gets the default excution role associated with the notebook
execution_role_arn = sagemaker.get_execution_role() 

# Gets the default bucket associated with the notebook
s3_bucket = sm_session.default_bucket() 

# Can be replaced with any name
s3_folder = "script-processor-input-manifest"
```

Als Nächstes erstellen Sie eine Manifestdatei. Sie enthält die URLs Satellitenbilder, die Sie verarbeiten wollten, wenn Sie Ihren Verarbeitungsauftrag später in Schritt 4 ausführen.

```
# Format of a manifest file
manifest_prefix = {}
manifest_prefix['prefix'] = 's3://' + s3_bucket + '/' + s3_folder + '/'
manifest = [manifest_prefix]

print(manifest)
```

Das folgende Codebeispiel gibt die S3-URI zurück, unter der Ihre Manifestdateien erstellt werden.

```
[{'prefix': 's3://sagemaker-us-west-2-111122223333/script-processor-input-manifest/'}]
```

Alle Antwortelemente aus der search\$1raster\$1data\$1collection-Antwort werden nicht benötigt, um den Verarbeitungsjob auszuführen. 

Der folgende Codeausschnitt entfernt die unnötigen Elemente `'Properties'`, `'Geometry'`, und `'DateTime'`. Das `'Id'` Schlüssel-Wert-Paar, `'Id': 'S2A_15TUH_20221230_0_L2A'`, enthält das Jahr und den Monat. Im folgenden Codebeispiel werden diese Daten analysiert, um neue Schlüssel im Python Wörterbuch **dict\$1month\$1items** zu erstellen. Die Werte sind die Assets, die von der `SearchRasterDataCollection` Abfrage zurückgegeben werden. 

```
# For each response get the month and year, and then remove the metadata not related to the satelite images.
dict_month_items = {}
for item in items_list:
    # Example ID being split: 'S2A_15TUH_20221230_0_L2A' 
    yyyymm = item['Id'].split("_")[2][:6]
    if yyyymm not in dict_month_items:
        dict_month_items[yyyymm] = []
    
    # Removes uneeded metadata elements for this demo 
    item.pop('Properties', None)
    item.pop('Geometry', None)
    item.pop('DateTime', None)

    # Appends the response from search_raster_data_collection to newly created key above
    dict_month_items[yyyymm].append(item)
```

In diesem Codebeispiel lädt  die `dict_month_items` als JSON-Objekt unter Verwendung der API-Operation [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/upload_file.html](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/upload_file.html) in Amazon S3 hoch:

```
## key_ is the yyyymm timestamp formatted above
## value_ is the reference to all the satellite images collected via our searchRDC query 
for key_, value_ in dict_month_items.items():
    filename = f'manifest_{key_}.json'
    with open(filename, 'w') as fp:
        json.dump(value_, fp)
    s3.meta.client.upload_file(filename, s3_bucket, s3_folder + '/' + filename)
    manifest.append(filename)
    os.remove(filename)
```

In diesem Codebeispiel wird eine übergeordnete `manifest.json` Datei hochgeladen, die auf alle anderen Manifeste verweist, die auf Amazon S3 hochgeladen wurden. Es speichert auch den Pfad zu einer lokalen Variablen: **s3\$1manifest\$1uri**. Sie verwenden diese Variable erneut, um die Quelle der Eingabedaten anzugeben, wenn Sie den Verarbeitungsauftrag in Schritt 4 ausführen.

```
with open('manifest.json', 'w') as fp:
    json.dump(manifest, fp)
s3.meta.client.upload_file('manifest.json', s3_bucket, s3_folder + '/' + 'manifest.json')
os.remove('manifest.json')

s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json'
```

Nachdem Sie die Eingabemanifestdateien erstellt und hochgeladen haben, können Sie ein Skript schreiben, das Ihre Daten im Verarbeitungsauftrag verarbeitet. Es verarbeitet die Daten aus den Satellitenbildern, berechnet den NDVI und sendet die Ergebnisse dann an einen anderen Amazon S3-Standort zurück.

## Schreiben Sie ein Skript, das den NDVI berechnet
<a name="geospatial-custom-operations-script-mode"></a>

Amazon SageMaker Studio Classic unterstützt die Verwendung des `%%writefile` Cell Magic-Befehls. Nachdem Sie eine Zelle mit diesem Befehl ausgeführt haben, wird ihr Inhalt in Ihrem lokalen Studio-Classic-Verzeichnis gespeichert. Dieser Code ist spezifisch für die Berechnung von NDVI. Folgendes kann jedoch nützlich sein, wenn Sie Ihr eigenes Skript für einen Verarbeitungsjob schreiben:
+ In Ihrem Verarbeitungsjob-Container müssen die lokalen Pfade innerhalb des Containers mit `/opt/ml/processing/` beginnen. In diesem Beispiel werden **input\$1data\$1path = '/opt/ml/processing/input\$1data/' ** und **processed\$1data\$1path = '/opt/ml/processing/output\$1data/'** auf diese Weise angegeben.
+ Mit Amazon SageMaker Processing kann ein  Skript, das ein Verarbeitungsauftrag ausführt, Ihre verarbeiteten Daten direkt auf Amazon S3 hochladen. Stellen Sie dazu sicher, dass die Ihrer `ScriptProcessor` Instance zugeordnete Ausführungsrolle die erforderlichen Voraussetzungen für den Zugriff auf den S3-Bucket erfüllt. Sie können auch einen Ausgabeparameter angeben, wenn Sie Ihren Verarbeitungsjob ausführen. Weitere Informationen finden Sie unter [`.run()`API-Betrieb](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run) im *Amazon SageMaker Python SDK*. In diesem Codebeispiel werden die Ergebnisse der Datenverarbeitung direkt auf Amazon S3 hochgeladen.
+ Verwenden Sie den `volume_size_in_gb` Parameter, um die Größe des an Ihren Verarbeitungsauftrag EBScontainer angehängten Amazon zu verwalten. Die Standardgröße der Container ist 30 GB. Sie können optional auch die Python-Bibliothek [Abfall-Sammler](https://docs.python.org/3/library/gc.html) verwenden, um den Speicher in Ihrem Amazon EBS-Container zu verwalten.

  Das folgende Codebeispiel lädt die Arrays in den Verarbeitungsjob-Container. Wenn sich Arrays aufbauen und den Speicher füllen, stürzt der Verarbeitungsjob ab. Um diesen Absturz zu verhindern, enthält das folgende Beispiel Befehle, mit denen die Arrays aus dem Container des Verarbeitungsjobs entfernt werden.

```
%%writefile compute_ndvi.py

import os
import pickle
import sys
import subprocess
import json
import rioxarray

if __name__ == "__main__":
    print("Starting processing")
    
    input_data_path = '/opt/ml/processing/input_data/'
    input_files = []
    
    for current_path, sub_dirs, files in os.walk(input_data_path):
        for file in files:
            if file.endswith(".json"):
                input_files.append(os.path.join(current_path, file))
    
    print("Received {} input_files: {}".format(len(input_files), input_files))

    items = []
    for input_file in input_files:
        full_file_path = os.path.join(input_data_path, input_file)
        print(full_file_path)
        with open(full_file_path, 'r') as f:
            items.append(json.load(f))
            
    items = [item for sub_items in items for item in sub_items]

    for item in items:
        red_uri = item["Assets"]["red"]["Href"]
        nir_uri = item["Assets"]["nir"]["Href"]

        red = rioxarray.open_rasterio(red_uri, masked=True)
        nir = rioxarray.open_rasterio(nir_uri, masked=True)

        ndvi = (nir - red)/ (nir + red)
        
        file_name = 'ndvi_' + item["Id"] + '.tif'
        output_path = '/opt/ml/processing/output_data'
        output_file_path = f"{output_path}/{file_name}"
        
        ndvi.rio.to_raster(output_file_path)
        print("Written output:", output_file_path)
```

Sie haben jetzt ein Skript, das den NDVI berechnen kann. Als Nächstes können Sie eine Instanz des Verarbeitungsjobs erstellen ScriptProcessor und diesen ausführen.

## Erstellen einer Instance der `ScriptProcessor`-Klasse
<a name="geospatial-custom-operations-create"></a>

Diese Demo verwendet die [ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)Klasse, die über das Amazon SageMaker Python SDK verfügbar ist. Zuerst müssen Sie eine Instance der Klasse erstellen und dann können Sie Ihren Verarbeitungsjob mithilfe der `.run()`-Methode starten.

```
from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput

image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'

processor = ScriptProcessor(
	command=['python3'],
	image_uri=image_uri,
	role=execution_role_arn,
	instance_count=4,
	instance_type='ml.m5.4xlarge',
	sagemaker_session=sm_session
)

print('Starting processing job.')
```

Wenn Sie Ihren Verarbeitungsjob starten, müssen Sie ein [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingInput](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingInput) Objekt angeben. In diesem Objekt geben Sie Folgendes an:
+ Der Pfad zur Manifestdatei, die Sie in Schritt 2 erstellt haben, **s3\$1manifest\$1uri**. Dies ist die Quelle der Eingabedaten für den Container.
+ Der Pfad zu dem Ort, an dem die Eingabedaten im Container gespeichert werden sollen. Dieser muss mit dem Pfad übereinstimmen, den Sie in Ihrem Skript angegeben haben.
+ Verwenden Sie den Parameter `s3_data_type`, um die Eingabe als `"ManifestFile"` zu spezifizieren.

```
s3_output_prefix_url = f"s3://{s3_bucket}/{s3_folder}/output"

processor.run(
    code='compute_ndvi.py',
    inputs=[
        ProcessingInput(
            source=s3_manifest_uri,
            destination='/opt/ml/processing/input_data/',
            s3_data_type="ManifestFile",
            s3_data_distribution_type="ShardedByS3Key"
        ),
    ],
    outputs=[
        ProcessingOutput(
            source='/opt/ml/processing/output_data/',
            destination=s3_output_prefix_url,
            s3_upload_mode="Continuous"
        )
    ]
)
```

Im folgenden Codebeispiel wird die [`.describe()`Methode](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe) verwendet, um Details zu Ihrem Verarbeitungsjob abzurufen.

```
preprocessing_job_descriptor = processor.jobs[-1].describe()
s3_output_uri = preprocessing_job_descriptor["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
print(s3_output_uri)
```

## Visualisieren Sie Ihre Ergebnisse mit `matplotlib`
<a name="geospatial-custom-operations-visual"></a>

Mit der Python-Bibliothek [Matplotlib](https://matplotlib.org/stable/index.html) können Sie Rasterdaten plotten. Bevor Sie die Daten plotten, müssen Sie den NDVI anhand von Beispielbildern der Sentinel-2-Satelliten berechnen. Im folgenden Codebeispiel werden die Bildarrays mithilfe der `.open_rasterio()`-API-Operation geöffnet und anschließend der NDVI anhand der `nir` und der `red`-Bildbänder aus den Sentinel-2-Satellitendaten berechnet. 

```
# Opens the python arrays 
import rioxarray

red_uri = items[25]["Assets"]["red"]["Href"]
nir_uri = items[25]["Assets"]["nir"]["Href"]

red = rioxarray.open_rasterio(red_uri, masked=True)
nir = rioxarray.open_rasterio(nir_uri, masked=True)

# Calculates the NDVI
ndvi = (nir - red)/ (nir + red)

# Common plotting library in Python 
import matplotlib.pyplot as plt

f, ax = plt.subplots(figsize=(18, 18))
ndvi.plot(cmap='viridis', ax=ax)
ax.set_title("NDVI for {}".format(items[25]["Id"]))
ax.set_axis_off()
plt.show()
```

Die Ausgabe des vorherigen Codebeispiels ist ein Satellitenbild, dem die NDVI-Werte überlagert sind. Ein NDVI-Wert nahe 1 bedeutet, dass viel Vegetation vorhanden ist, und Werte nahe 0 bedeuten, dass keine Vegetation vorhanden ist.

![\[Ein Satellitenbild von Nord-Iowa mit überlagertem NDVI\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/ndvi-iowa.png)


Damit ist die Demo der Verwendung von `ScriptProcessor` abgeschlossen.

# Jobs im Bereich Erdbeobachtung
<a name="geospatial-eoj"></a>

Mithilfe eines Erdbeobachtungsauftrags (EOJ) können Sie Geodaten erfassen, transformieren und visualisieren, um Vorhersagen zu treffen. Sie können aus einer Vielzahl von Operationen und Modellen eine Operation auswählen, die Ihrem Anwendungsfall entspricht. Sie haben die Flexibilität, Ihr Interessengebiet und die Datenanbieter auszuwählen und Zeitbereiche und cloud-cover-percentage-based Filter festzulegen. Nachdem SageMaker KI ein EOJ für Sie erstellt hat, können Sie die Eingaben und Ausgaben des Jobs mithilfe der Visualisierungsfunktion visualisieren. Ein EOJ bietet verschiedene Anwendungsfälle, darunter den Vergleich der Entwaldung im Laufe der Zeit und die Diagnose der Pflanzengesundheit. Sie können ein EOJ erstellen, indem Sie ein SageMaker Notizbuch mit einem SageMaker Geodatenbild verwenden. Sie können auch auf die SageMaker Geospatial-Benutzeroberfläche als Teil der Amazon SageMaker Studio Classic-Benutzeroberfläche zugreifen, um die Liste all Ihrer Jobs einzusehen. Sie können die Benutzeroberfläche auch verwenden, um einen laufenden Job anzuhalten oder zu beenden. Sie können einen Job aus der Liste der verfügbaren EOJ auswählen, um die **Job-Zusammenfassung** und die **Job-Details** sowie die **Job-Ausgabe** zu visualisieren.

**Topics**
+ [Erstellen Sie einen Erdbeobachtungsauftrag mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild](geospatial-eoj-ntb.md)
+ [Arten von Operationen](geospatial-eoj-models.md)

# Erstellen Sie einen Erdbeobachtungsauftrag mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild
<a name="geospatial-eoj-ntb"></a>

**So verwenden Sie ein SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild:**

1. Wählen Sie im **Launcher** unter **Notebooks und Compute-Ressourcen** die Option **Umgebung ändern**.

1. Als Nächstes wird das Dialogfeld „**Umgebung ändern**“ geöffnet.

1. Wählen Sie das Dropdown-Menü **Bild** aus und wählen Sie **Geospatial 1.0**. Der **Instance-Typ** sollte **ml.geospatial.interactive** sein. Ändern Sie die Standardwerte für andere Einstellungen nicht.

1. Wählen Sie **Select (Auswählen)**.

1. Klicken Sie auf **Create Notebook (Notebook erstellen)**.

Sie können ein EOJ mit einem Amazon SageMaker Studio Classic-Notizbuch mit einem SageMaker Geodatenbild mithilfe des unten angegebenen Codes initiieren.

```
import boto3
import sagemaker
import sagemaker_geospatial_map

session = boto3.Session()
execution_role = sagemaker.get_execution_role()
sg_client = session.client(service_name="sagemaker-geospatial")
```

Im Folgenden finden Sie ein Beispiel dafür, wie Sie ein EOJ in der Region USA West (Oregon) erstellen.

```
#Query and Access Data
search_rdc_args = {
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",  # sentinel-2 L2A COG
    "RasterDataCollectionQuery": {
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates": [
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
        "BandFilter": ["visual"],
    },
}

tci_urls = []
data_manifests = []
while search_rdc_args.get("NextToken", True):
    search_result = sg_client.search_raster_data_collection(**search_rdc_args)
    if search_result.get("NextToken"):
        data_manifests.append(search_result)
    for item in search_result["Items"]:
        tci_url = item["Assets"]["visual"]["Href"]
        print(tci_url)
        tci_urls.append(tci_url)

    search_rdc_args["NextToken"] = search_result.get("NextToken")
        
# Perform land cover segmentation on images returned from the sentinel dataset.
eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8",
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates": [
                        [
                            [-114.529, 36.142],
                            [-114.373, 36.142],
                            [-114.373, 36.411],
                            [-114.529, 36.411],
                            [-114.529, 36.142],
                        ]
                    ]
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2021-01-01T00:00:00Z",
            "EndTime": "2022-07-10T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 1}}}],
            "LogicalOperator": "AND",
        },
    }
}
eoj_config = {"LandCoverSegmentationConfig": {}}

response = sg_client.start_earth_observation_job(
    Name="lake-mead-landcover",
    InputConfig=eoj_input_config,
    JobConfig=eoj_config,
    ExecutionRoleArn=execution_role,
)
```

Nachdem Ihr EOJ erstellt wurde, wird `Arn` an Sie zurückgegeben. Sie verwenden den `Arn`, um einen Job zu identifizieren und weitere Operationen durchzuführen. Um den Status eines Auftrags abzurufen, können Sie `sg_client.get_earth_observation_job(Arn = response['Arn'])` ausführen.

Das folgende Beispiel zeigt, wie Sie den Status eines EOJ abfragen, bis es abgeschlossen ist.

```
eoj_arn = response["Arn"]
job_details = sg_client.get_earth_observation_job(Arn=eoj_arn)
{k: v for k, v in job_details.items() if k in ["Arn", "Status", "DurationInSeconds"]}
# List all jobs in the account
sg_client.list_earth_observation_jobs()["EarthObservationJobSummaries"]
```

Nachdem das EOJ abgeschlossen ist, können Sie die EOJ-Ausgaben direkt im Notebook visualisieren. Das folgende Beispiel zeigt, wie eine interaktive Karte gerendert werden kann.

```
map = sagemaker_geospatial_map.create_map({
'is_raster': True
})
map.set_sagemaker_geospatial_client(sg_client)
# render the map
map.render()
```

Das folgende Beispiel zeigt, wie die Karte auf einen Interessenbereich zentriert werden kann und die Eingabe und Ausgabe des EOJ als separate Ebenen innerhalb der Karte gerendert werden können.

```
# visualize the area of interest
config = {"label": "Lake Mead AOI"}
aoi_layer = map.visualize_eoj_aoi(Arn=eoj_arn, config=config)

# Visualize input.
time_range_filter = {
    "start_date": "2022-07-01T00:00:00Z",
    "end_date": "2022-07-10T23:59:59Z",
}
config = {"label": "Input"}

input_layer = map.visualize_eoj_input(
    Arn=eoj_arn, config=config, time_range_filter=time_range_filter
)
# Visualize output, EOJ needs to be in completed status.
time_range_filter = {
    "start_date": "2022-07-01T00:00:00Z",
    "end_date": "2022-07-10T23:59:59Z",
}
config = {"preset": "singleBand", "band_name": "mask"}
output_layer = map.visualize_eoj_output(
    Arn=eoj_arn, config=config, time_range_filter=time_range_filter
)
```

Sie können die `export_earth_observation_job` Funktion verwenden, um die EOJ-Ergebnisse in Ihren Amazon-S3-Bucket zu exportieren. Die Exportfunktion macht es einfach, Ergebnisse teamübergreifend zu teilen. SageMaker KI vereinfacht auch die Datensatzverwaltung. Wir können die EOJ-Ergebnisse einfach mithilfe des Job-ARN teilen, anstatt Tausende von Dateien im S3-Bucket zu crawlen. Jedes EOJ wird zu einem Asset im Datenkatalog, da die Ergebnisse nach dem Job-ARN gruppiert werden können. Das folgende Beispiel zeigt, wie Sie die Ergebnisse eines EOJ exportieren können.

```
sagemaker_session = sagemaker.Session()
s3_bucket_name = sagemaker_session.default_bucket()  # Replace with your own bucket if needed
s3_bucket = session.resource("s3").Bucket(s3_bucket_name)
prefix = "eoj_lakemead"  # Replace with the S3 prefix desired
export_bucket_and_key = f"s3://{s3_bucket_name}/{prefix}/"

eoj_output_config = {"S3Data": {"S3Uri": export_bucket_and_key}}
export_response = sg_client.export_earth_observation_job(
    Arn=eoj_arn,
    ExecutionRoleArn=execution_role,
    OutputConfig=eoj_output_config,
    ExportSourceImages=False,
)
```

Sie können den Status Ihres Exportauftrags mithilfe des folgenden Snippets überwachen.

```
# Monitor the export job status
export_job_details = sg_client.get_earth_observation_job(Arn=export_response["Arn"])
{k: v for k, v in export_job_details.items() if k in ["Arn", "Status", "DurationInSeconds"]}
```

Nach dem Löschen des EOJ werden Ihnen keine Speichergebühren berechnet.

Ein Beispiel, das zeigt, wie ein EOJ ausgeführt wird, finden Sie in diesem [Blogbeitrag](https://aws.amazon.com/blogs/machine-learning/monitoring-lake-mead-drought-using-the-new-amazon-sagemaker-geospatial-capabilities/).

Weitere Notizbücher zu SageMaker Geodatenfunktionen finden Sie in diesem [GitHub Repository](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker-geospatial).

# Arten von Operationen
<a name="geospatial-eoj-models"></a>

Wenn Sie ein EOJ erstellen, wählen Sie eine Operation basierend auf Ihrem Anwendungsfall aus. Die SageMaker Geospatial-Funktionen von Amazon bieten eine Kombination aus speziell entwickelten Vorgängen und vortrainierten Modellen. Sie können diese Operationen verwenden, um die Auswirkungen von Umweltveränderungen und menschlichen Aktivitäten im Laufe der Zeit zu verstehen oder wolken- und wolkenfreie Pixel zu identifizieren.

**Cloud-Maskierung**

Die Identifizierung von Wolken in Satellitenbildern ist ein wichtiger Vorverarbeitungsschritt bei der Erstellung hochwertiger Geodaten. Das Ignorieren von Wolkenpixeln kann zu Analysefehlern führen, und eine übermäßige Erkennung von Wolkenpixeln kann die Anzahl gültiger Beobachtungen verringern. Durch Wolkenmaskierung können wolkige und wolkenfreie Pixel in Satellitenbildern identifiziert werden. Eine genaue Wolkenmaske hilft dabei, Satellitenbilder für die Verarbeitung zu erhalten, und verbessert die Datengenerierung. Im Folgenden finden Sie die Klassenübersicht für Cloud-Maskierung.

```
{
0: "No_cloud",
1: "cloud"
}
```

**Entfernung von Wolken**

Die Wolkenentfernung für Sentinel-2-Daten verwendet ein ML-basiertes semantisches Segmentierungsmodell, um Wolken im Bild zu identifizieren. Getrübte Pixel können durch Pixel aus anderen Zeitstempeln ersetzt werden. Die USGS Landsat-Daten enthalten Landsat-Metadaten, die zur Wolkenentfernung verwendet werden.

**Zeitliche Statistik**

Mit temporalen Statistiken werden Statistiken für Geodaten im Zeitverlauf berechnet. Die derzeit unterstützten zeitlichen Statistiken umfassen Mittelwert, Median und Standardabweichung. Sie können diese Statistiken berechnen, indem Sie `GROUPBY` verwenden und es entweder auf `all` oder auf `yearly` einstellen. Sie können auch die `TargetBands` erwähnen.

**Zonale Statistik**

Bei der zonalen Statistik werden statistische Operationen für einen bestimmten Bereich im Bild ausgeführt. 

**Resampling**

Resampling wird verwendet, um die Auflösung eines Geobildes herauf- und herunter zu skalieren. Das `value` Attribut beim Resampling stellt die Länge einer Seite des Pixels dar.

**Geomosaik**

Mit Geomosaic können Sie kleinere Bilder zu einem großen Bild zusammenfügen.

**Stapeln von Bändern**

Beim Bandstapeln werden mehrere Bildbänder als Eingabe verwendet und zu einem einzigen GeoTIFF gestapelt. Das `OutputResolution`-Attribut bestimmt die Auflösung des Ausgabebilds. Basierend auf den Auflösungen der Eingabebilder können Sie sie auf `lowest`, `highest` oder `average` einstellen.

**Band-Mathematik**

Bandmathematik, auch bekannt als Spektralindex, ist ein Verfahren, bei dem die Beobachtungen von mehreren Spektralbändern in ein einzelnes Band umgewandelt werden, wodurch die relative Fülle der interessierenden Merkmale angegeben wird. Beispielsweise sind der Normalized Difference Vegetation Index (NDVI) und der Enhanced Vegetation Index (EVI) hilfreich, um das Vorhandensein grüner Vegetationsmerkmale zu beobachten.

**Segmentierung der Landbedeckung**

Die Segmentierung der Landbedeckung ist ein semantisches Segmentierungsmodell, mit dem physische Materialien wie Vegetation, Wasser und nackter Boden auf der Erdoberfläche identifiziert werden können. Eine genaue Methode zur Kartierung der Landbedeckungsmuster hilft Ihnen, die Auswirkungen von Umweltveränderungen und menschlichen Aktivitäten im Laufe der Zeit zu verstehen. Die Segmentierung der Landbedeckung wird häufig für die Regionalplanung, die Katastrophenabwehr, das ökologische Management und die Umweltverträglichkeitsprüfung verwendet. Im Folgenden finden Sie die Klassenübersicht für die Segmentierung der Landbedeckung.

```
{
0: "No_data",
1: "Saturated_or_defective",
2: "Dark_area_pixels",
3: "Cloud_shadows",
4: "Vegetation",
5: "Not_vegetated",
6: "Water",
7: "Unclassified",
8: "Cloud_medium_probability",
9: "Cloud_high_probability",
10: "Thin_cirrus",
11: "Snow_ice"
}
```

## Verfügbarkeit von EOJ Operations
<a name="geospatial-eoj-models-avail"></a>

Die Verfügbarkeit von Vorgängen hängt davon ab, ob Sie die SageMaker Geospatial-Benutzeroberfläche oder die Amazon SageMaker Studio Classic-Notizbücher mit einem SageMaker Geodatenbild verwenden. Derzeit unterstützen Notebooks alle Funktionen. Zusammenfassend lässt sich sagen, dass die folgenden Geodatenoperationen von KI unterstützt werden: SageMaker 


| Operationen |  Description  |  Verfügbarkeit  | 
| --- | --- | --- | 
| Cloud-Maskierung | Identifizieren Sie wolkenfreie und wolkenfreie Pixel, um bessere und genauere Satellitenbilder zu erhalten. | Benutzeroberfläche, Notebook | 
| Entfernung von Wolken | Entfernen Sie Pixel, die Teile einer Wolke enthalten, aus Satellitenbildern. | Notebook | 
| Temporäre Statistik | Berechnet Statistiken im Zeitverlauf für ein bestimmtes GeoTIFF. | Notebook | 
| Zonenbasierte Statistiken | Berechnet Statistiken über benutzerdefinierte Regionen. | Notebook | 
| Resampling | Skalieren Sie Bilder auf verschiedene Auflösungen. | Notebook | 
| Geomosaik | Kombinieren Sie mehrere Bilder für mehr Genauigkeit. | Notebook | 
| Stapeln von Bändern | Kombinieren Sie mehrere Spektralbänder, um ein einziges Bild zu erstellen. | Notebook | 
| Bandmathematik/Spektralindex | Ermitteln Sie eine Kombination von Spektralbändern, die die Fülle der interessierenden Merkmale angeben. | Benutzeroberfläche, Notebook | 
| Segmentierung der Landbedeckung | Identifizieren Sie Landbedeckungstypen wie Vegetation und Wasser in Satellitenbildern. | Benutzeroberfläche, Notebook | 

# Jobs im Bereich Vektoranreicherung
<a name="geospatial-vej"></a>

Ein Vector Enrichment Job (VEJ) führt Operationen mit Ihren Vektordaten durch. Derzeit können Sie einen VEJ verwenden, um umgekehrte Geokodierung oder Kartenabgleich durchzuführen.
<a name="geospatial-vej-rev-geo"></a>
**Umgekehrte Geokodierung**  
Mit einem VEJ mit umgekehrter Geokodierung können Sie geografische Koordinaten (Breitengrad, Längengrad) in für Menschen lesbare Adressen konvertieren, die von Amazon Location Service unterstützt werden. Wenn Sie eine CSV-Datei hochladen, die die Längen- und Breitengradkoordinaten enthält, werden die Adressnummer, das Land, die Bezeichnung, die Gemeinde, das Viertel, die Postleitzahl und die Region dieses Standorts zurückgegeben. Die Ausgabedatei besteht aus Ihren Eingabedaten sowie Spalten, die diese am Ende angehängten Werte enthalten. Diese Jobs sind für die Aufnahme von Zehntausenden von GPS-Tracks optimiert. 
<a name="geospatial-vej-map-match"></a>
**Kartenabgleich**  
Beim Kartenabgleich können Sie GPS-Koordinaten auf Straßensegmente übertragen. Die Eingabe sollte eine CSV-Datei sein, die die Trace-ID (Route), den Längengrad, den Breitengrad und die Timestamp-Attribute enthält. Pro Route können mehrere GPS-Koordinaten vorhanden sein. Die Eingabe kann auch mehrere Routen enthalten. Die Ausgabe ist eine GeoJSON-Datei, die Links der vorhergesagten Route enthält. Sie enthält auch die in der Eingabe angegebenen Fangpunkte. Diese Jobs sind so optimiert, dass sie Zehntausende von Laufwerken in einer Anfrage akzeptieren. Der Kartenabgleich wird unterstützt von. [OpenStreetMap](https://www.openstreetmap.org/) Der Kartenabgleich schlägt fehl, wenn die Namen im Eingabequellenfeld nicht mit denen in `MapMatchingConfig` übereinstimmen. Die Fehlermeldung, die Sie erhalten, enthält die Feldnamen, die in der Eingabedatei vorhanden sind, und den erwarteten Feldnamen, der in `MapMatchingConfig` nicht gefunden wurde. 

Die CSV-Eingabedatei für einen VEJ muss Folgendes enthalten:
+ Eine Kopfzeile
+ Breitengrad und Längengrad in separaten Spalten
+ Die Spalten ID und Timestamp können im numerischen Format oder im Zeichenkettenformat vorliegen. Alle anderen Spaltendaten dürfen nur im numerischen Format vorliegen
+ Lassen Sie sich passende Anführungszeichen nicht entgehen

Für die Zeitstempelspalte unterstützen SageMaker Geodatenfunktionen die Epochenzeit in Sekunden und Millisekunden (lange Ganzzahl). Die unterstützten Zeichenkettenformate lauten wie folgt:
+ "tt.MM.jjjj HH:mm:ss z"
+ "jjjj-MM-td'T'HH:mm:ss.SSS'Z'"
+ "jjjj-MM-td'T'HH:mm:ss"
+ „hh:mm:ss a“ yyyy-MM-dd 
+ „yyyy-MM-dd hh:mm:ss“
+ „yyyy MMddHHmmss“

Sie müssen zwar ein Amazon SageMaker Studio Classic-Notebook verwenden, um einen VEJ auszuführen, aber Sie können alle Jobs anzeigen, die Sie über die Benutzeroberfläche erstellen. Um die Visualisierung im Notebook verwenden zu können, müssen Sie zuerst Ihre Ausgabe in Ihren S3-Bucket exportieren. Die VEJ-Aktionen, die Sie ausführen können, lauten wie folgt.
+ [StartVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartVectorEnrichmentJob.html)
+ [GetVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetVectorEnrichmentJob.html)
+ [ListVectorEnrichmentJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListVectorEnrichmentJobs.html)
+ [StopVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopVectorEnrichmentJob.html)
+ [DeleteVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteVectorEnrichmentJob.html)

# Visualisierung mithilfe von SageMaker Geodatenfunktionen
<a name="geospatial-visualize"></a>

Mithilfe der von Amazon SageMaker Geospatial bereitgestellten Visualisierungsfunktionen können Sie Geodaten, die Eingaben für Ihre EOJ- oder VEJ-Jobs sowie die aus Ihrem Amazon S3 S3-Bucket exportierten Ausgaben visualisieren. Das Visualisierungstool wird von [Foursquare Studio](https://studio.foursquare.com/home) unterstützt. Die folgende Abbildung zeigt das Visualisierungstool, das von Geodatenfunktionen unterstützt wird. SageMaker 

![\[Das Visualisierungstool mit SageMaker Geodatenfunktionen zeigt eine Karte der kalifornischen Küste.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial_vis.png)


Sie können den linken Navigationsbereich verwenden, um Daten, Ebenen, Filter und Spalten hinzuzufügen. Sie können auch Änderungen an der Art und Weise vornehmen, wie Sie mit der Karte interagieren.

**Datensatz**

Die für die Visualisierung verwendete Datenquelle wird als **Datensatz** bezeichnet. Um Daten für die Visualisierung hinzuzufügen, wählen Sie im linken Navigationsbereich **Daten hinzufügen** aus. Sie können die Daten entweder von Ihrem Amazon-S3-Bucket oder Ihrem lokalen Computer hochladen. Die unterstützten Datenformate sind CSV, JSON und GeoJSON. Sie können Ihrer Karte mehrere Datensätze hinzufügen. Nachdem Sie den Datensatz hochgeladen haben, können Sie sehen, wie er auf dem Kartenbildschirm geladen ist. 

**Ebenen**

Im Ebenenfenster wird automatisch eine Ebene erstellt und gefüllt, wenn Sie einen Datensatz hinzufügen. Wenn Ihre Karte aus mehr als einem Datensatz besteht, können Sie auswählen, welcher Datensatz zu einer Ebene gehört. Sie können neue Ebenen erstellen und diese gruppieren. SageMaker SageMaker Geodatenfunktionen unterstützen verschiedene Ebenentypen, darunter Punkt, Bogen, Symbol und Polygon. 

Sie können jedem Datenpunkt in einer Ebene einen **Umriss** zuweisen. Sie können die Datenpunkte auch weiter anpassen. Sie können beispielsweise den Ebenentyp **Punkt** und dann **Füllfarbe** auf der Grundlage einer beliebigen Spalte Ihres Datensatzes auswählen. Sie können auch den Radius der Punkte ändern. 

Die folgende Abbildung zeigt das Ebenenfenster, das von SageMaker Geodatenfunktionen unterstützt wird.

![\[Das Ebenenfenster mit Datenpunkten auf einer Karte der USA, unterstützt durch SageMaker Geodatenfunktionen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geospatial_vis_layer.png)


**Spalten**

Sie können die in Ihrem Datensatz vorhandenen Spalten mithilfe der Registerkarte **Spalten** im linken Navigationsbereich anzeigen.

**Filter**

Sie können Filter verwenden, um die Datenpunkte einzuschränken, die auf der Karte angezeigt werden.

**Interaktionen**

Im Bereich **Interaktionen** können Sie anpassen, wie Sie mit der Karte interagieren. Sie können beispielsweise auswählen, welche Metriken angezeigt werden sollen, wenn Sie den Tooltip über einen Datenpunkt bewegen.

**Basiskarte**

Derzeit unterstützt SageMaker KI nur die Amazon Dark-Basiskarte.

**Modi für geteilte Karten**

Sie können eine **einzelne Karte**, **zweifache Karten** oder **Swipe-Karten** verwenden. Mit **Dual Maps** können Sie dieselbe Karte side-by-side anhand verschiedener Ebenen vergleichen. Verwenden Sie **Swipe-Karten**, um zwei Karten übereinander zu legen, und verwenden Sie die verschiebbare Trennlinie, um sie zu vergleichen. Sie können den Modus „Geteilte Karten“ auswählen, indem Sie auf die Schaltfläche **Teilungsmodus** in der oberen rechten Ecke Ihrer Karte klicken.

## Legenden für EOJ in der SageMaker Geospatial-Benutzeroberfläche
<a name="geo-legends-eoj"></a>

Die Ausgabevisualisierung eines EOJ hängt von der Operation ab, mit der Sie es erstellen. Die Legende basiert auf der Standardfarbskala. Sie können die Legende anzeigen, indem Sie in der oberen rechten Ecke Ihrer Karte auf die Schaltfläche **Legende anzeigen** klicken.

**Spektralindex**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Spektralindex-Operation verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Spektralindex-Mapping.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_spectral_index.png)


**Wolkenmaskierung**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Cloud-Maskierungsoperation verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Kartenerstellung von Wolkenmaskierungen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_cloud_masking.png)


**Segmentierung der Landbedeckung**

Wenn Sie die Ausgabe für ein EOJ visualisieren, das die Operation Landbedeckungssegmentierung verwendet, können Sie die Kategorie anhand der Farbe aus der Legende zuordnen, wie in der Abbildung gezeigt.

![\[Die Legende für die Kartierung der Landbedeckungssegmentierung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/geo_landcover_ss.png)


# Amazon SageMaker Geospatial Map SDK
<a name="geospatial-notebook-sdk"></a>

Sie können die SageMaker Geospatial-Funktionen von Amazon verwenden, um Karten innerhalb der SageMaker Geospatial-Benutzeroberfläche sowie SageMaker Notizbücher mit einem Geodatenbild zu visualisieren. Diese Visualisierungen werden von der Kartenvisualisierungsbibliothek namens [Foursquare Studio](https://studio.foursquare.com/home) unterstützt

Sie können das vom SageMaker Geospatial Map SDK APIs bereitgestellte SDK verwenden, um Ihre Geodaten zu visualisieren, einschließlich Eingabe, Ausgabe und AoI für EOJ.

**Topics**
+ [add\$1dataset-API](#geo-add-dataset)
+ [update\$1dataset-API](#geo-update-dataset)
+ [add\$1layer-API](#geo-add-layer)
+ [update\$1layer-API](#geo-update-layer)
+ [visualize\$1eoj\$1aoi API](#geo-visualize-eoj-aoi)
+ [visualize\$1eoj\$1input API](#geo-visualize-eoj-input)
+ [visualize\$1eoj\$1output API](#geo-visualize-eoj-output)

## add\$1dataset-API
<a name="geo-add-dataset"></a>

Fügt der Karte ein Raster- oder Vektor-Datensatz-Objekt hinzu.

**Erforderliche Syntax**

```
Request = 
    add_dataset(
      self,
      dataset: Union[Dataset, Dict, None] = None,
      *,
      auto_create_layers: bool = True,
      center_map: bool = True,
      **kwargs: Any,
    ) -> Optional[Dataset]
```

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Positionale Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `dataset` | Union [Datensatz, Diktat, Keine] | Daten, die zur Erstellung eines Datensatzes verwendet werden, im CSV-, JSON- oder GeoJSON-Format (für lokale Datensätze) oder in einer UUID-Zeichenfolge. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Beschreibung  | 
| --- | --- | --- | 
| `auto_create_layers` | Boolesch | Ob versucht werden soll, beim Hinzufügen eines Datensatzes neue Ebenen zu erstellen. Der Standardwert ist `False`. | 
| `center_map` | Boolesch | Ob die Karte auf dem erstellten Datensatz zentriert werden soll. Der Standardwert ist `True`. | 
| `id` | Zeichenfolge | Eindeutige Kennung des Datensatzes. Wenn Sie ihn nicht angeben, wird eine zufällige ID generiert. | 
| `label` | Zeichenfolge | Datensatz-Bezeichnung, die angezeigt wird. | 
| `color` | Tupel [Float, Float, Float] | Farbbezeichnung des Datensatzes. | 
| `metadata` | Dictionary | Objekt, das Tileset-Metadaten enthält (für gekachelte Datensätze). | 

**Antwort**

Diese API gibt das [Datensatz-Objekt](https://location.foursquare.com/developer/docs/studio-map-sdk-types#dataset) zurück, das der Map hinzugefügt wurde.

## update\$1dataset-API
<a name="geo-update-dataset"></a>

Aktualisiert die bestehenden Datensatzeinstellungen.

**Erforderliche Syntax**

```
Request = 
    update_dataset(
    self,
    dataset_id: str,
    values: Union[_DatasetUpdateProps, dict, None] = None,
    **kwargs: Any,
) -> Dataset
```

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Positionale Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `dataset_id` | Zeichenfolge | Die Kennung des zu aktualisierenden Datensatzes. | 
| `values` | Union [[\$1DatasetUpdateProps, dict](https://location.foursquare.com/developer/docs/studio-map-sdk-types#datasetupdateprops), Keine] | Die zu aktualisierenden Werte. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `label` | Zeichenfolge | Datensatz-Bezeichnung, die angezeigt wird. | 
| `color` | [RGBColor](https://location.foursquare.com/developer/docs/studio-map-sdk-types#rgbcolor) | Farbbezeichnung des Datensatzes. | 

**Antwort**

Diese API gibt das aktualisierte Datensatzobjekt für interaktive Karten oder `None` für nicht interaktive HTML-Umgebungen zurück. 

## add\$1layer-API
<a name="geo-add-layer"></a>

Fügt der Karte eine neue Ebene hinzu. Diese Funktion erfordert mindestens eine gültige Layer-Konfiguration.

**Erforderliche Syntax**

```
Request = 
    add_layer(
    self,
    layer: Union[LayerCreationProps, dict, None] = None,
    **kwargs: Any
) -> Layer
```

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `layer` | Union [[LayerCreationProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layercreationprops), dict, Keine] | Eine Reihe von Eigenschaften, die zum Erstellen einer Ebene verwendet werden. | 

**Antwort**

Das Ebenenobjekt, das der Karte hinzugefügt wurde.

## update\$1layer-API
<a name="geo-update-layer"></a>

Aktualisieren Sie eine bestehende Ebene mit den angegebenen Werten.

**Erforderliche Syntax**

```
Request = 
    update_layer(
  self,
  layer_id: str,
  values: Union[LayerUpdateProps, dict, None],
  **kwargs: Any
) -> Layer
```

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Positionale Argumente |  Typ  |  Description  | 
| --- | --- | --- | 
| `layer_id` | Zeichenfolge | Die ID der zu aktualisierenden Ebene. | 
| `values` | Union [[LayerUpdateProps](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerupdateprops), dict, Keine] | Die zu aktualisierenden Werte. | 

Schlüsselwort-Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `type` | [LayerType](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layertype) | Der Ebenentyp. | 
| `data_id` | Zeichenfolge | Eindeutige Kennung für den Datensatz, den dieser Layer visualisiert. | 
| `fields` | Diktat [Zeichenfolge, optional [Zeichenfolge]] | Wörterbuch, das Felder, die der Layer für die Visualisierung benötigt, entsprechenden Datensatzfeldern zuordnet. | 
| `label` | Zeichenfolge | Kanonische Bezeichnung dieser Ebene. | 
| `is_visible` | Boolesch | Ob die Ebene sichtbar ist oder nicht. | 
| `config` | [LayerConfig](https://location.foursquare.com/developer/docs/studio-map-sdk-types#layerconfig) | Typspezifische Layer-Konfiguration.  | 

**Antwort**

Gibt das aktualisierte Ebenenobjekt zurück.

## visualize\$1eoj\$1aoi API
<a name="geo-visualize-eoj-aoi"></a>

Visualisieren Sie die AoI des angegebenen Auftrags-ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Zeichenfolge  |  Der ARN des Auftrags.  | 
|  `config`  |  Dictionary config = \$1label: <string>benutzerdefiniertes Label der hinzugefügten AoI-Ebene, Standard-AoI\$1  |  Eine Option zum Übergeben von Ebeneneigenschaften.  | 

**Antwort**

Referenz des hinzugefügten Eingabe-Layer-Objekts.

## visualize\$1eoj\$1input API
<a name="geo-visualize-eoj-input"></a>

Visualisieren Sie die Eingabe des angegebenen EOJ ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
| `Arn` | Zeichenfolge | Der ARN des Auftrags. | 
| `time_range_filter` |  Dictionary time\$1range\$1filter = \$1 <string>start\$1date: Datum im ISO-Format <string>end\$1date: Datum im ISO-Format \$1  | Eine Option zur Angabe der Start- und Endzeit. Standardmäßig wird das Start- und Enddatum der Suche für die Raster-Datenerfassung verwendet. | 
| `config` |  Dictionary config = \$1label: <string>benutzerdefinierte Bezeichnung des hinzugefügten Ausgabe-Layers, Standardeingabe\$1  | Eine Option zum Übergeben von Layer-Eigenschaften. | 

**Antwort**

Referenz des hinzugefügten Eingabe-Layer-Objekts.

## visualize\$1eoj\$1output API
<a name="geo-visualize-eoj-output"></a>

Visualisieren Sie die Ausgabe des angegebenen EOJ ARN.

**Anfrageparameter**

Die Anfrage akzeptiert die folgenden Parameter.

Argumente


| Argument |  Typ  |  Description  | 
| --- | --- | --- | 
|  `Arn`  |  Zeichenfolge  |  Der ARN des Auftrags.  | 
|  `time_range_filter`  |  Dictionary time\$1range\$1filter = \$1 <string>start\$1date: Datum im ISO-Format <string>end\$1date: Datum im ISO-Format \$1  | Eine Option zur Angabe der Start- und Endzeit. Standardmäßig wird das Start- und Enddatum der Suche für die Raster-Datenerfassung verwendet. | 
| `config` |  Dictionary config = \$1 label: <string>benutzerdefinierte Bezeichnung des hinzugefügten Ausgabe-Layers, Standardausgabe Voreinstellung: <string>SingleBand oder TrueColor, band\$1name:<string>, nur für die Voreinstellung 'SingleBand' erforderlich. Zulässige Bänder für ein EOJ \$1  | Eine Option zum Übergeben von Layer-Eigenschaften. | 

**Antwort**

Referenz des hinzugefügten Ausgabe-Layer-Objekts.

Weitere Informationen zur Visualisierung Ihrer Geodaten finden Sie unter [Visualization Using Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/geospatial-visualize.html) Geospatial.

# SageMaker Häufig gestellte Fragen zu Geodatenfunktionen
<a name="geospatial-faq"></a>

In den folgenden häufig gestellten Fragen finden Sie Antworten auf häufig gestellte Fragen zu SageMaker Geodatenfunktionen.

1. **In welchen Regionen sind die SageMaker Geodatenfunktionen von Amazon verfügbar?**

   Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt. Um SageMaker Geodaten anzuzeigen, wählen Sie in der Navigationsleiste der Konsole den Namen der aktuell angezeigten Region aus. Wählen Sie dann die Region US West (Oregon).

1. **Welche AWS Identity and Access Management Berechtigungen und Richtlinien sind für die Verwendung von SageMaker Geodaten erforderlich?**

   Um SageMaker Geospatial verwenden zu können, benötigen Sie einen Benutzer, eine Gruppe oder eine Rolle, die auf KI zugreifen SageMaker kann. Sie müssen auch eine SageMaker KI-Ausführungsrolle erstellen, damit SageMaker Geospatial Operationen in Ihrem Namen ausführen kann. Weitere Informationen finden Sie unter Rollen im Bereich [SageMaker Geospatial Capabilities](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-geospatial-roles.html).

1. **Ich habe bereits eine SageMaker KI-Ausführungsrolle. Muss ich diese aktualisieren?**

   Ja. Um SageMaker Geospatial verwenden zu können, müssen Sie in Ihrer IAM-Vertrauensrichtlinie einen zusätzlichen Dienstprinzipal angeben:. `sagemaker-geospatial.amazonaws.com` Weitere Informationen zur Angabe eines Service Principals in einer Vertrauensbeziehung finden Sie [Den SageMaker Geospatial Service Principal zu einer bestehenden SageMaker AI-Ausführungsrolle hinzufügen](sagemaker-geospatial-roles-pass-role.md) im *Amazon SageMaker AI Developer Guide*.

1. **Kann ich SageMaker Geodatenfunktionen in meiner VPC-Umgebung nutzen?**

   Ja, Sie können SageMaker Geodaten über ein VPN verwenden. Weitere Informationen hierzu finden Sie unter [Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md).

1. **Warum kann ich den Visualizer, das Bild oder den Instanztyp für SageMaker Geodatenkarten nicht sehen, wenn ich zu Amazon SageMaker Studio Classic navigiere?**

   Stellen Sie sicher, dass Sie Amazon SageMaker Studio Classic in der Region USA West (Oregon) starten und dass Sie keinen gemeinsam genutzten Bereich verwenden.

1. **Warum kann ich das SageMaker Geodatenbild oder den Instanztyp nicht sehen, wenn ich versuche, eine Notebook-Instanz in Studio Classic zu erstellen?**

   Stellen Sie sicher, dass Sie Amazon SageMaker Studio Classic in der Region USA West (Oregon) starten und dass Sie keinen gemeinsam genutzten Bereich verwenden. Weitere Informationen hierzu finden Sie unter [Erstellen Sie ein Amazon SageMaker Studio Classic-Notizbuch mithilfe des Geodatenbilds](geospatial-launch-notebook.md).

1. **Welche Bänder werden für verschiedene Raster-Datensammlungen unterstützt?**

   Verwenden Sie die `GetRasterDataCollection` API-Antwort und suchen Sie `ImageSourceBands` im Feld nach den Bändern, die für diese bestimmte Datenerfassung unterstützt werden.

# SageMaker Geospatiale Sicherheit und Berechtigungen
<a name="geospatial-security-general"></a>

In den Themen auf dieser Seite erfahren Sie mehr über Funktionen und Sicherheitsfunktionen im SageMaker Bereich Geodaten. Erfahren Sie außerdem, wie Sie SageMaker Geodatenfunktionen in einer Amazon Virtual Private Cloud nutzen und Ihre Daten im Ruhezustand mithilfe von Verschlüsselung schützen können.

Weitere Informationen über IAM-Benutzer und -Rollen finden Sie unter [Identitäten (Benutzer, Gruppen und Rollen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) im IAM-Benutzerhandbuch. 

Weitere Informationen zur Verwendung von IAM mit SageMaker KI finden Sie unter. [AWS Identity and Access Management für Amazon SageMaker AI](security-iam.md)

**Topics**
+ [Konfiguration und Schwachstellenanalyse in Geodaten SageMaker](geospatial-config-vulnerability.md)
+ [Bewährte Sicherheitsmethoden für SageMaker raumbezogene Funktionen](geospatial-sec-best-practices.md)
+ [Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud](geospatial-notebooks-and-internet-access-vpc-requirements.md)
+ [AWS KMS Berechtigungen für SageMaker Geodatenfunktionen von Amazon verwenden](geospatial-kms.md)

# Konfiguration und Schwachstellenanalyse in Geodaten SageMaker
<a name="geospatial-config-vulnerability"></a>

Konfiguration und IT-Kontrollen liegen in der gemeinsamen Verantwortung von AWS Ihnen, unserem Kunden. AWS kümmert sich um grundlegende Sicherheitsaufgaben wie das Patchen von Gastbetriebssystemen (OS) und Datenbanken, die Firewall-Konfiguration und die Notfallwiederherstellung. Diese Verfahren wurden von qualifizierten Dritten überprüft und zertifiziert. Weitere Informationen finden Sie in den folgenden Ressourcen: 
+ [Modell der übergreifenden Verantwortlichkeit](https://aws.amazon.com/compliance/shared-responsibility-model/).
+ [Amazon Web Services: Übersicht über Sicherheitsverfahren](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

# Bewährte Sicherheitsmethoden für SageMaker raumbezogene Funktionen
<a name="geospatial-sec-best-practices"></a>

Die SageMaker Geospatial-Funktionen von Amazon bieten eine Reihe von Sicherheitsfunktionen, die Sie bei der Entwicklung und Implementierung Ihrer eigenen Sicherheitsrichtlinien berücksichtigen sollten. Die folgenden bewährten Methoden stellen allgemeine Richtlinien und keine vollständige Sicherheitslösung dar. Da diese bewährten Methoden für Ihre Umgebung möglicherweise nicht angemessen oder ausreichend sind, sollten Sie sie als hilfreiche Überlegungen und nicht als bindend ansehen.
<a name="geospatial-least-privilege"></a>
**Anwendung des Prinzips der geringsten Privilegien**  
Die SageMaker Geospatial-Funktionen von Amazon bieten detaillierte Zugriffsrichtlinien für Anwendungen, die IAM-Rollen verwenden. Wir empfehlen, den Rollen nur die für den Auftrag erforderlichen Mindestberechtigungen zu gewähren. Wir empfehlen außerdem, die Aufträge regelmäßig und bei jeder Änderung an Ihrer Bewerbung auf Berechtigungen zu überprüfen.
<a name="geospatial-role-access"></a>
**Rollenbasierte Zugriffskontrolle (RBAC) Berechtigungen**  
Administratoren sollten die Berechtigungen für die rollenbasierte Zugriffskontrolle (RBAC) für die Geodatenfunktionen von Amazon strikt kontrollieren. SageMaker 
<a name="geospatial-temp-creditentials"></a>
**Verwenden Sie, wann immer möglich, temporäre Anmeldeinformationen**  
Verwenden Sie nach Möglichkeit temporäre Anmeldeinformationen anstelle von langfristigen Anmeldeinformationen, wie z. B. Zugangsschlüsseln. Für Szenarien, in denen Sie IAM-Benutzer mit programmatischem Zugriff und langfristigen Anmeldeinformationen benötigen, empfehlen wir, die Zugriffsschlüssel zu rotieren. Regelmäßig rotierende langfristige Anmeldeinformationen helfen Ihnen dabei, sich mit dem Prozess vertraut zu machen. Dies ist nützlich, wenn Sie sich jemals in einer Situation befinden, in der Sie Anmeldeinformationen rotieren müssen, z. B. wenn ein Mitarbeiter Ihr Unternehmen verlässt. Wir empfehlen, dass Sie IAM-Zugriff auf zuletzt verwendete Informationen verwenden, um Zugriffsschlüssel sicher zu rotieren und zu entfernen. Weitere Informationen finden Sie unter [Rotierende Zugriffsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey) und [bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
<a name="geospatial-cloudtrail-log"></a>
**Wird zum Anzeigen und Protokollieren von AWS CloudTrail API-Aufrufen verwendet**  
AWS CloudTrail verfolgt jeden, der API-Aufrufe in Ihrem AWS Konto tätigt. API-Aufrufe werden protokolliert, wenn jemand die Amazon SageMaker Geospatial Capabilities API, die Amazon SageMaker Geospatial Capabilities Console oder Amazon SageMaker Geospatial Capabilities CLI-Befehle verwendet. AWS Aktivieren Sie die Protokollierung und legen Sie einen Amazon-S3-Bucket zum Speichern der Protokolle fest.

Ihr Vertrauen, Ihre Privatsphäre und die Sicherheit Ihrer Inhalte sind unsere obersten Prioritäten. Wir implementieren verantwortungsvolle und ausgeklügelte technische und physische Kontrollen, die den unbefugten Zugriff auf Ihre Inhalte oder deren Offenlegung verhindern und sicherstellen, dass unsere Nutzung unseren Verpflichtungen gegenüber Ihnen entspricht. Weitere Informationen finden Sie in den [AWS Häufig gestellten Fragen zum Datenschutz](https://aws.amazon.com/compliance/data-privacy-faq/).

# Verwenden Sie die SageMaker Geospatial-Funktionen von Amazon in Ihrer Amazon Virtual Private Cloud
<a name="geospatial-notebooks-and-internet-access-vpc-requirements"></a>

Das folgende Thema enthält Informationen zur Verwendung von SageMaker Notizbüchern mit einem SageMaker Geodatenbild in einer Amazon SageMaker AI-Domain im Modus „Nur VPC“. Weitere Informationen zu Amazon VPCs SageMaker Studio Classic finden [Sie unter Wählen Sie eine Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-vpc.html).

## `VPC only` Kommunikation mit dem Internet
<a name="studio-notebooks-and-internet-access-vpc-geospatial"></a>

Standardmäßig verwendet die SageMaker AI-Domain zwei Amazon VPC. Eine der Amazon VPC wird von Amazon SageMaker AI verwaltet und bietet direkten Internetzugang. Sie geben die andere Amazon VPC an, die verschlüsselten Datenverkehr zwischen der Domain und Ihrem Volume von Amazon Elastic File System (Amazon EFS) bereitstellt.

Sie können dieses Verhalten so ändern, dass SageMaker KI den gesamten Datenverkehr über Ihre angegebene Amazon VPC sendet. Wenn bei der Erstellung der SageMaker AI-Domäne der Netzwerkzugriffsmodus ausgewählt `VPC only` wurde, müssen die folgenden Anforderungen berücksichtigt werden, um die Verwendung von SageMaker Studio Classic-Notebooks innerhalb der erstellten SageMaker AI-Domäne weiterhin zu ermöglichen.

## Voraussetzungen für die Verwendung des `VPC only`-Modus
<a name="studio-notebooks-and-internet-access-vpc-geospatial-requirements"></a>

**Anmerkung**  
Um die Visualisierungskomponenten der SageMaker Geodatenfunktionen nutzen zu können, muss der Browser, den Sie für den Zugriff auf die SageMaker Studio Classic-Benutzeroberfläche verwenden, mit dem Internet verbunden sein.

Wenn Sie `VpcOnly` wählen, gehen Sie folgendermaßen vor:

1. Sie dürfen nur private Subnetze verwenden. Sie können öffentliche Subnetze nicht im `VpcOnly` Modus verwenden.

1. Stellen Sie sicher, dass Ihre Subnetze über die erforderliche Anzahl an IP-Adressen verfügen. Die erwartete Anzahl an IP-Adressen, die pro Benutzer benötigt werden, kann je nach Anwendungsfall variieren. Wir empfehlen zwischen 2 und 4 IP-Adressen pro Benutzer. Die gesamte IP-Adresskapazität für eine Studio-Classic-Domain ist die Summe der verfügbaren IP-Adressen für jedes Subnetz, die bei der Erstellung der Domain bereitgestellt wurden. Stellen Sie sicher, dass Ihre geschätzte IP-Adressnutzung die Kapazität nicht überschreitet, die von der Anzahl der von Ihnen bereitgestellten Subnetze unterstützt wird. Darüber hinaus kann die Verwendung von Subnetzen, die über viele Availability Zones verteilt sind, die Verfügbarkeit von IP-Adressen erhöhen. Weitere Informationen finden Sie unter [VPC und Subnetzdimensionierung](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4) für. IPv4
**Anmerkung**  
Sie können nur Subnetze mit einer Standard-Tenancy-VPC konfigurieren, in der Ihre Instance auf freigegebenen Hardware läuft. [Weitere Informationen zum Tenancy-Attribut für finden Sie unter Dedicated VPCs Instances.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)

1. Richten Sie eine oder mehrere Sicherheitsgruppen mit Regeln für eingehenden und ausgehenden Datenverkehr ein, die zusammen den folgenden Datenverkehr zulassen:
   + [NFS-Verkehr über TCP auf Port 2049](https://docs.aws.amazon.com/efs/latest/ug/network-access.html) zwischen der Domain und dem Amazon EFS-Volume.
   + [TCP-Verkehr innerhalb der Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances). Dies ist für die Konnektivität zwischen der JupyterServer App und den KernelGateway Apps erforderlich. Sie müssen den Zugriff auf mindestens Ports im Bereich `8192-65535` zulassen.

1. Wenn Sie den Internetzugang zulassen möchten, müssen Sie ein [NAT-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) mit Internetzugang verwenden, z. B. über ein [Internet-Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html).

1. Wenn Sie den Internetzugang nicht zulassen möchten, [erstellen Sie Schnittstellen-VPC-Endpunkte](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) (AWS PrivateLink), damit Studio Classic mit den entsprechenden Dienstnamen auf die folgenden Dienste zugreifen kann. Sie müssen diesen Endpunkten auch die Sicherheitsgruppen für Ihre VPC zuordnen.
**Anmerkung**  
Derzeit werden SageMaker Geodatenfunktionen nur in der Region USA West (Oregon) unterstützt.
   + SageMaker API: `com.amazonaws.us-west-2.sagemaker.api` 
   + SageMaker KI-Laufzeit:`com.amazonaws.us-west-2.sagemaker.runtime`. Dies ist erforderlich, um Studio Classic-Notebooks mit einem SageMaker Geodatenbild auszuführen.
   + Amazon S3: `com.amazonaws.us-west-2.s3`.
   + Um SageMaker Projekte zu verwenden:`com.amazonaws.us-west-2.servicecatalog`.
   + SageMaker Geospatiale Funktionen: `com.amazonaws.us-west-2.sagemaker-geospatial`

    Wenn Sie das [SageMaker Python-SDK](https://sagemaker.readthedocs.io/en/stable/) verwenden, um Remote-Trainingsjobs auszuführen, müssen Sie auch die folgenden Amazon VPC-Endpunkte erstellen.
   + AWS -Security-Token-Service: `com.amazonaws.region.sts`
   + Amazon CloudWatch:. `com.amazonaws.region.logs` Dies ist erforderlich, damit das SageMaker Python-SDK den Status des Ferntrainingsjobs abrufen kann Amazon CloudWatch.

**Anmerkung**  
Bei einem Kunden, der im VPC-Modus arbeitet, können Firmenfirewalls Verbindungsprobleme mit SageMaker Studio Classic oder zwischen JupyterServer und dem verursachen. KernelGateway Führen Sie die folgenden Prüfungen durch, wenn Sie bei der Verwendung von SageMaker Studio Classic hinter einer Firewall auf eines dieser Probleme stoßen.  
Vergewissern Sie sich, dass die Studio-Classic-URL auf der Zulassungsliste Ihres Netzwerks steht.
Vergewissern Sie sich, dass die Websocket-Verbindungen nicht blockiert sind. Jupyter verwendet Websocket unter der Haube. Wenn die KernelGateway Anwendung dies ist InService, JupyterServer kann möglicherweise keine Verbindung zum hergestellt werden KernelGateway. Dieses Problem sollte auch auftreten, wenn Sie das System Terminal öffnen. 

# AWS KMS Berechtigungen für SageMaker Geodatenfunktionen von Amazon verwenden
<a name="geospatial-kms"></a>

Sie können Ihre Daten im Ruhezustand schützen, indem Sie die Verschlüsselung für SageMaker Geodatenfunktionen verwenden. Standardmäßig verwendet es serverseitige Verschlüsselung mit einem Amazon SageMaker Geospatial-eigenen Schlüssel. SageMaker Geospatial Capabilities unterstützt auch eine Option für serverseitige Verschlüsselung mit einem vom Kunden verwalteten KMS-Schlüssel.

## Serverseitige Verschlüsselung mit verwaltetem Amazon SageMaker Geospatial Key (Standard)
<a name="geospatial-managed-key"></a>

SageMaker Geospatial-Funktionen verschlüsseln all Ihre Daten, einschließlich der Rechenergebnisse Ihrer Erdbeobachtungsaufträge (EOJ) und Vector Enrichment-Jobs (VEJ) zusammen mit all Ihren Service-Metadaten. Es gibt keine Daten, die unverschlüsselt in Geospatial Capabilities gespeichert werden. SageMaker Es verwendet einen AWS eigenen Standardschlüssel, um all Ihre Daten zu verschlüsseln.

## Serverseitige Verschlüsselung mit vom Kunden verwaltetem KMS-Schlüssel (optional)
<a name="geospatial-customer-managed-key"></a>

SageMaker Geospatiale Funktionen unterstützen die Verwendung eines symmetrischen, vom Kunden verwalteten Schlüssels, den Sie erstellen, besitzen und verwalten, um eine zweite Verschlüsselungsebene über der vorhandenen AWS eigenen Verschlüsselung hinzuzufügen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:
+ Festlegung und Pflege wichtiger Richtlinien
+ Festlegung und Aufrechterhaltung von IAM-Richtlinien und -Zuschüssen
+ Aktivieren und Deaktivieren wichtiger Richtlinien
+ Kryptographisches Material mit rotierendem Schlüssel
+ Hinzufügen von -Tags
+ Erstellen von Schlüsselaliasen
+ Schlüssel für das Löschen von Schlüsseln planen

Weitere Informationen finden Sie unter [Kundenverwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

## So nutzt SageMaker Geospatial Capabilities Zuschüsse in AWS KMS
<a name="geospatial-grants-cmk"></a>

 SageMaker Für Geospatial Capabilities ist ein Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel nutzen zu können. Wenn Sie ein EOJ oder ein VEJ erstellen, das mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt SageMaker Geospatial Capabilities in Ihrem Namen einen Zuschuss, indem es eine Anfrage an sendet. `CreateGrant` AWS KMS Grants in AWS KMS werden verwendet, um SageMaker Geospatial Capabilities Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren. Sie können den Zugriff auf die Genehmigung jederzeit widerrufen oder den Zugriff des Services auf den vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, können SageMaker Geodatenfunktionen nicht auf die Daten zugreifen, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden, was sich auf Vorgänge auswirkt, die von diesen Daten abhängig sind. 

## Erstellen eines kundenseitig verwalteten Schlüssels
<a name="geospatial-create-cmk"></a>

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mithilfe der AWS Management Console oder der erstellen. AWS KMS APIs

**Einen symmetrischen kundenverwalteten Schlüssel erstellen**

Folgen Sie den Schritten zum [Erstellen von KMS-Schlüsseln mit symmetrischer Verschlüsselung](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im AWS Key Management Service Entwicklerhandbuch.

**Schlüsselrichtlinie**

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter [Bestimmung des Zugriffs auf AWS KMS Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/determining-access.html) im *AWS Key Management Service Entwicklerhandbuch*.

Um Ihren vom Kunden verwalteten Schlüssel mit Ihren Ressourcen für SageMaker Geodatenfunktionen verwenden zu können, müssen die folgenden API-Operationen in der Schlüsselrichtlinie zugelassen sein. Der Hauptbenutzer für diese Operationen sollte die Ausführungsrolle sein, die Sie in der Anfrage für SageMaker Geodatenfunktionen angegeben haben. SageMaker Geospatial Capabilities übernimmt die in der Anforderung angegebene Ausführungsrolle zur Ausführung dieser KMS-Operationen.
+ `[kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `kms:GenerateDataKeyWithoutPlaintext`

Im Folgenden finden Sie Beispiele für Richtlinienerklärungen, die Sie für SageMaker Geodatenfunktionen hinzufügen können:

**CreateGrant**

```
"Statement" : [ 
    {
      "Sid" : "Allow access to Amazon SageMaker geospatial capabilities",
      "Effect" : "Allow",
      "Principal" : {
        "AWS" : "<Customer provided Execution Role ARN>"
      },
      "Action" : [ 
          "kms:CreateGrant",
           "kms:Decrypt",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource" : "*",
    },
 ]
```

Weitere Informationen zum Festlegen von Berechtigungen in einer Richtlinie finden Sie unter [AWS KMS Berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) im *AWS Key Management Service Entwicklerhandbuch*. Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung beim Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) im *AWS Key Management Service Entwicklerhandbuch*. 

Wenn Ihre Schlüsselrichtlinie nicht Ihren Kontostamm als Schlüsseladministrator vorsieht, müssen Sie dieselben KMS-Berechtigungen für Ihre Ausführungsrolle ARN hinzufügen. Hier ist eine Beispielrichtlinie, die Sie der Ausführungsrolle hinzufügen können:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "kms:CreateGrant",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext"
            ],
            "Resource": [
              "arn:aws:kms:us-east-1:111122223333:key/key-id"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Überwachung Ihrer Verschlüsselungsschlüssel im Hinblick auf SageMaker Geodatenfunktionen
<a name="geospatial-monitor-cmk"></a>

Wenn Sie einen vom AWS KMS Kunden verwalteten Schlüssel mit Ihren SageMaker Geospatial-Ressourcen verwenden, können Sie Amazon CloudWatch Logs verwenden AWS CloudTrail , um Anfragen zu verfolgen, an die SageMaker Geospatial gesendet wird. AWS KMS

Wählen Sie eine Registerkarte in der folgenden Tabelle aus, um Beispiele für AWS CloudTrail Ereignisse zur Überwachung von KMS-Vorgängen zu sehen, die von SageMaker Geospatial Capabilities aufgerufen werden, um auf Daten zuzugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden.

------
#### [ CreateGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SageMaker-Geospatial-StartEOJ-KMSAccess",
        "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole/SageMaker-Geospatial-StartEOJ-KMSAccess",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE3",
                "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole",
                "accountId": "111122223333",
                "userName": "SageMakerGeospatialCustomerRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-03-17T18:02:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "arn:aws:iam::111122223333:root"
    },
    "eventTime": "2023-03-17T18:02:06Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "retiringPrincipal": "sagemaker-geospatial.us-west-2.amazonaws.com",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt"
        ],
        "granteePrincipal": "sagemaker-geospatial.us-west-2.amazonaws.com"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "sagemaker-geospatial.amazonaws.com"
    },
    "eventTime": "2023-03-24T00:29:45Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "sagemaker-geospatial.amazonaws.com",
    "userAgent": "sagemaker-geospatial.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:s3:arn": "arn:aws:s3:::axis-earth-observation-job-378778860802/111122223333/napy9eintp64/output/consolidated/32PPR/2022-01-04T09:58:03Z/S2B_32PPR_20220104_0_L2A_msavi.tif"
        },
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "keySpec": "AES_256"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ Decrypt ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "sagemaker-geospatial.amazonaws.com"
    },
    "eventTime": "2023-03-28T22:04:24Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "sagemaker-geospatial.amazonaws.com",
    "userAgent": "sagemaker-geospatial.amazonaws.com",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "encryptionContext": {
            "aws:s3:arn": "arn:aws:s3:::axis-earth-observation-job-378778860802/111122223333/napy9eintp64/output/consolidated/32PPR/2022-01-04T09:58:03Z/S2B_32PPR_20220104_0_L2A_msavi.tif"
        },
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKeyWithoutPlainText ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SageMaker-Geospatial-StartEOJ-KMSAccess",
        "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole/SageMaker-Geospatial-StartEOJ-KMSAccess",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AKIAIOSFODNN7EXAMPLE3",
                "arn": "arn:aws:sts::111122223333:assumed-role/SageMakerGeospatialCustomerRole",
                "accountId": "111122223333",
                "userName": "SageMakerGeospatialCustomerRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-03-17T18:02:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "arn:aws:iam::111122223333:root"
    },
    "eventTime": "2023-03-28T22:09:16Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKeyWithoutPlaintext",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------

# Arten von Recheninstances
<a name="geospatial-instances"></a>

SageMaker Geospatial-Funktionen bieten drei Arten von Recheninstanzen.
+ **SageMaker Geospatial-Notebook-Instanzen von Studio Classic** — SageMaker Geospatial unterstützt sowohl CPU- als auch GPU-basierte Notebook-Instanzen in Studio Classic. Notebook-Instances werden zum Erstellen, Trainieren und Bereitstellen von ML-Modellen verwendet. Eine Liste der verfügbaren Notebook-Instance-Typen, die mit dem Geodatenbild funktionieren, finden Sie unter [Unterstützte Notebook-Instance-Typen](#supported-geospatial-instances). 
+ **SageMaker Instanzen für Geodatenaufträge** — Führen Sie Verarbeitungsaufträge aus, um Satellitenbilddaten zu transformieren.
+ **SageMaker Inferenztypen für Geodatenmodelle — Treffen** Sie Vorhersagen, indem Sie vorab trainierte ML-Modelle auf Satellitenbildern verwenden.

Der Instance-Typ wird durch die von Ihnen ausgeführten Operationen bestimmt.

Die folgende Tabelle zeigt die verfügbaren SageMaker geodatenspezifischen Operationen und  Instanztypen, die Sie verwenden können.


|  Operationen  |  Instance  | 
| --- | --- | 
| Temporäre Statistik | ml.geospatial.jobs | 
| Zonenbasierte Statistiken | ml.geospatial.jobs | 
| Resampling | ml.geospatial.jobs | 
| Geomosaik | ml.geospatial.jobs | 
| Stapeln von Bändern | ml.geospatial.jobs | 
| Band Mathe | ml.geospatial.jobs | 
| Entfernung von Wolken mit Landsat8 | ml.geospatial.jobs | 
| Entfernung von Wolken mit Sentinel-2 | ml.geospatial.models | 
| Cloud-Maskierung | ml.geospatial.models | 
| Segmentierung der Landbedeckung | ml.geospatial.models | 

## SageMaker Von Geospatial unterstützte Notebook-Instanztypen
<a name="notebook-instances"></a>

SageMaker Geospatial unterstützt sowohl CPU- als auch GPU-basierte Notebook-Instanzen in Studio Classic. Wenn Sie beim Starten einer GPU-fähigen Notebook-Instanz eine ResourceLimitExceededFehlermeldung erhalten, müssen Sie eine Erhöhung des Kontingents beantragen. Weitere Informationen zur [Beantragung einer Quotenerhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) für Service Quotas finden Sie unter Beantragung einer Quotenerhöhung im *Service Quotas-Benutzerhandbuch*.

Unterstützte Notebook-Instance-Typen von Studio Classic


|  Name  |  Instance-Typ  | 
| --- | --- | 
| ml.geospatial.interactive | CPU | 
| ml.g5.xlarge | GPU | 
| ml.g5.2xlarge | GPU | 
| ml.g5.4xlarge | GPU | 
| ml.g5.8xlarge | GPU | 
| ml.g5.16xlarge | GPU | 
| ml.g5.12xlarge | GPU | 
| ml.g5.24xlarge | GPU | 
| ml.g5.48xlarge | GPU | 

Für jeden Typ von Rechen-Instance, den Sie verwenden, werden Ihnen unterschiedliche Tarife berechnet. Weitere Informationen zur Preisgestaltung finden Sie unter [Geospatial ML with Amazon SageMaker AI](https://aws.amazon.com/sagemaker/geospatial).

## SageMaker Geodatenbibliotheken
<a name="geospatial-notebook-libraries"></a>

Der SageMaker georäumspezifische **Instanztyp** **ml.geospatial.interactive** enthält die folgenden Python-Bibliotheken.

Geodatenbibliotheken, die für den Geospatial-Instance-Typ verfügbar sind


|  Name der Bibliothek  |  Verfügbare Versionen  | 
| --- | --- | 
| numpy | 1.23.4 | 
| scipy | 1.11.2 | 
| pandas | 1.4.4 | 
| gdal | 3.2.2 | 
| fiona | 1.8.22 | 
| geopandas | 0.11.1 | 
| Shapley | 1.8.4 | 
| seaborn | 0,11.2 | 
| notebook | 1.8.22 | 
| scikit-image | 0,11.2 | 
| rasterio | 6.4.12 | 
| Scikit-learn | 0,19.2 | 
| ipyleaflet | 1.0.1 | 
| rtree | 0,17.2 | 
| opencv | 4.6.0,66 | 
| supy | 2022.4.7 | 
| SNAP toolbox | 9.0 | 
| cdsapi | 0.6.1 | 
| arosics | 1.8.1 | 
| rasterstats | 0.18.0 | 
| rioxarray | 0,14,1 | 
| pyroSAR | 0,20,0 | 
| eo-learn | 1.4.1 | 
| deepforest | 1.2.7 | 
| scrapy | 2.8.0 | 
| netto CDF4 | 1.6.3 | 
| xarray[vollständig] | 0,20,1 | 
| Orfeotoolbox | OTB-8.1.1 | 
| pytorch | 2.0.1 | 
| pytorch-cuda | 11.8 | 
| pytorch-cuda | 0,15.2 | 
| torchaudio | 2.0.2 | 
| pytorch-lightning | 2.0.6 | 
| tensorflow | 2.13.0 | 

# Datenerfassung
<a name="geospatial-data-collections"></a>

Amazon SageMaker Geospatial unterstützt die folgenden Raster-Datensammlungen. Von den folgenden Datensammlungen können Sie die USGS Landsat- und die Cloud-optimierten Sentinel-2-Datensammlungen verwenden, wenn Sie einen Erdbeobachtungsauftrag (EOJ) starten. Weitere Informationen über die finden Sie EOJs unter[Jobs im Bereich Erdbeobachtung](geospatial-eoj.md).
+ [Copernicus Digital Elevation Model (DEM) – GLO-30](https://registry.opendata.aws/copernicus-dem/)
+ [Copernicus Digital Elevation Model (DEM) – GLO-90](https://registry.opendata.aws/copernicus-dem/)
+ [https://registry.opendata.aws/sentinel-2-l2a-cogs/](https://registry.opendata.aws/sentinel-2-l2a-cogs/)
+ [https://registry.opendata.aws/sentinel-1/](https://registry.opendata.aws/sentinel-1/)
+ [National Agriculture Imagery Program (NAIP)nein AWS](https://registry.opendata.aws/naip/)
+ [https://registry.opendata.aws/usgs-landsat/](https://registry.opendata.aws/usgs-landsat/)

Um die Liste der verfügbaren Raster-Datensammlungen in Ihrem zu finden AWS-Regionen, verwenden Sie`ListRasterDataCollections`. In der [`ListRasterDataCollections`Antwort](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax) erhalten Sie ein [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html#API_geospatial_ListRasterDataCollections_ResponseSyntax)Objekt, das Details zu den verfügbaren Raster-Datensammlungen enthält.

**Example Beispiel — Aufrufen der `ListRasterDataCollections` API mit dem AWS SDK für Python (Boto3)**  <a name="list-raster-data-collections"></a>
Wenn Sie das SDK for Python (Boto3) und SageMaker Geospatial verwenden, müssen Sie einen Geospatial-Client erstellen. `geospatial_client` Verwenden Sie den folgenden Python Codeausschnitt, um die `list_raster_data_collections` API aufzurufen:  

```
import boto3
import sagemaker
import sagemaker_geospatial_map
import json 

## SageMaker Geospatial Capabilities is currently only avaialable in US-WEST-2  
session = boto3.Session(region_name='us-west-2')
execution_role = sagemaker.get_execution_role()

## Creates a SageMaker Geospatial client instance 
geospatial_client = session.client(service_name="sagemaker-geospatial")

# Creates a resusable Paginator for the list_raster_data_collections API operation 
paginator = geospatial_client.get_paginator("list_raster_data_collections")

# Create a PageIterator from the Paginator
page_iterator = paginator.paginate()

# Use the iterator to iterate throught the results of list_raster_data_collections
results = []
for page in page_iterator:
	results.append(page['RasterDataCollectionSummaries'])

print (results)
```
In der JSON-Antwort erhalten Sie Folgendes, das aus Gründen der Übersichtlichkeit gekürzt wurde:  

```
{
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:555555555555:raster-data-collection/public/dxxbpqwvu9041ny8",
    "Description": "Copernicus DEM is a Digital Surface Model which represents the surface of the Earth including buildings, infrastructure, and vegetation. GLO-30 is instance of Copernicus DEM that provides limited worldwide coverage at 30 meters.",
    "DescriptionPageUrl": "https://registry.opendata.aws/copernicus-dem/",
    "Name": "Copernicus DEM GLO-30",
    "Tags": {},
    "Type": "PUBLIC"
}
```

## Bildbandinformationen aus den USGS Landsat- und Sentinel-2-Datensammlungen
<a name="image-band-information"></a>

Bildbandinformationen aus den USGS Landsat 8 und Sentinel-2 Datensammlungen sind in der folgenden Tabelle aufgeführt.

USGS Landsat


| Band-Name | Wellenlängenbereich (nm) | Einheiten | Gültiger Bereich | Wert füllen | Räumliche Auflösung | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 435–451 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| Blau | 452–512 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| Grün | 533–590 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| red | 636–673 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| nir | 851–879 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| swir16 | 1 566–1 651 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| swir22 | 2 107–2 294 | Ohne Einheiten | 1–65 455 | 0 (ohne Daten) | 30m | 
| qa\$1aerosol | N/A | Bit Index | 0–255 | 1 | 30m | 
| qa\$1pixel | N/A | Bit Index | 1–65 455 | 1 (Bit 0) | 30m | 
| qa\$1radsat | N/A | Bit Index | 1–65 455 | N/A | 30m | 
| t | 10 600–11 190 | Skaliertes Kelvin | 1–65 455 | 0 (ohne Daten) | 30 m (skaliert ab 100 m) | 
| atran | N/A | Ohne Einheiten | 0–10 000 | -9999 (ohne Daten) | 30m | 
| cdist | N/A | Kilometer | 0–24 000 | -9999 (ohne Daten) | 30m | 
| drad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| urad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| trad | N/A | W/(m^2 sr µm)/DN | 0–28 000 | -9999 (ohne Daten) | 30m | 
| emis | N/A | Emissionskoeffizient | 1–10 000 | -9999 (ohne Daten) | 30m | 
| emsd | N/A | Emissionskoeffizient | 1–10 000 | -9999 (ohne Daten) | 30m | 

Sentinel-2


| Band-Name | Wellenlängenbereich (nm) | Skalieren | Gültiger Bereich | Wert füllen | Räumliche Auflösung | 
| --- | --- | --- | --- | --- | --- | 
| coastal | 443 | 0,0001 | N/A | 0 (ohne Daten) | 60 m | 
| Blau | 490 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| Grün | 560 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| red | 665 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| rededge1 | 705 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| rededge2 | 740 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| rededge3 | 783 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir | 842 | 0,0001 | N/A | 0 (ohne Daten) | 10m | 
| nir08 | 865 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir08 | 865 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| nir09 | 940 | 0,0001 | N/A | 0 (ohne Daten) | 60 m | 
| swir16 | 1610 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| swir22 | 2190 | 0,0001 | N/A | 0 (ohne Daten) | 20m | 
| aot | Optische Dicke des Aerosols | 0.001 | N/A | 0 (ohne Daten) | 10m | 
| wvp | Szenendurchschnitt Wasserdampf | 0.001 | N/A | 0 (ohne Daten) | 10m | 
| scl | Szenenklassifizierungsdaten | N/A | 1–11 | 0 (ohne Daten) | 20m | 

# RStudio auf Amazon SageMaker AI
<a name="rstudio"></a>

RStudio ist eine integrierte Entwicklungsumgebung für R mit einer Konsole, einem Syntaxhervorhebungseditor, der die direkte Codeausführung unterstützt, und Tools für Plotten, Verlauf, Debugging und Workspace-Management. Amazon SageMaker AI unterstützt RStudio als vollständig verwaltete integrierte Entwicklungsumgebung (IDE), die über Posit Workbench in die Amazon SageMaker AI-Domain integriert ist. RStudio ermöglicht es Kunden, mithilfe einer R-Umgebung datenwissenschaftliche Erkenntnisse zu gewinnen. Mit der RStudio Integration können Sie eine RStudio Umgebung in der Domain starten, um Ihre RStudio Workflows auf SageMaker KI-Ressourcen auszuführen. Weitere Informationen zu Posit Workbench finden Sie auf der [Posit-Webseite](https://posit.co/products/enterprise/workbench/). Diese Seite enthält Informationen zu wichtigen RStudio Konzepten.

SageMaker KI integriert sich RStudio durch die Erstellung einer RStudio ServerPro App.

 Folgendes wird von RStudio on SageMaker AI unterstützt. 
+ R-Entwickler verwenden die RStudio IDE-Schnittstelle mit beliebten Entwicklertools aus dem R-Ökosystem. Benutzer können mit RStudio Connect neue RStudio Sitzungen starten, R-Code schreiben, Abhängigkeiten aus dem RStudio Package Manager installieren und Shiny-Apps veröffentlichen. 
+ R-Entwickler können die zugrunde liegenden Rechenressourcen schnell skalieren, um umfangreiche Datenverarbeitungen und statistische Analysen durchzuführen.  
+ Plattformadministratoren können Benutzeridentitäten, Autorisierung, Netzwerk, Speicher und Sicherheit für ihre Data-Science-Teams durch AWS IAM Identity Center und AWS Identity and Access Management Integration einrichten. Dazu gehören die Verbindung zu privaten Amazon Virtual Private Cloud (Amazon VPC) -Ressourcen und der internetfreie Modus mit. AWS PrivateLink
+ Integration mit. AWS License Manager

 Informationen zu den Onboarding-Schritten zum Erstellen einer Domain mit RStudio aktivierter Option finden Sie unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

## Verfügbarkeit in Regionen
<a name="rstudio-region"></a>

Die folgende Tabelle enthält Informationen RStudio darüber AWS-Regionen , in welchen Bereichen SageMaker KI unterstützt wird.


|  Name der Region  |  Region  | 
| --- | --- | 
|  USA Ost (Ohio)  |  us-east-2  | 
|  USA Ost (Nord-Virginia)  |  us-east-1  | 
|  USA West (Nordkalifornien)  |  us-west-1  | 
|  USA West (Oregon)  |  us-west-2  | 
|  Asien-Pazifik (Mumbai)  |  ap-south-1  | 
|  Asien-Pazifik (Seoul)  |  ap-northeast-2  | 
|  Asien-Pazifik (Singapur)  |  ap-southeast-1  | 
|  Asien-Pazifik (Sydney)  |  ap-southeast-2  | 
|  Asien-Pazifik (Tokio)  |  ap-northeast-1  | 
|  Kanada (Zentral)  |  ca-central-1  | 
|  Europa (Frankfurt)  |  eu-central-1  | 
|  Europa (Irland)  |  eu-west-1  | 
|  Europa (London)  |  eu-west-2  | 
|  Europa (Paris)  |  eu-west-3  | 
|  Europa (Stockholm)  |  eu-north-1  | 
|  Südamerika (São Paulo)  |  sa-east-1  | 

## RStudio Komponenten
<a name="rstudio-components"></a>
+ *RStudioServerPro*: Die RStudio ServerPro App ist eine Mehrbenutzer-App, die von allen Benutzerprofilen in der Domain gemeinsam genutzt wird. Sobald eine RStudio App in einer Domain erstellt wurde, kann der Administrator Benutzern in der Domain Berechtigungen erteilen.  
+ *RStudio Benutzer*: RStudio Benutzer sind Benutzer innerhalb der Domain, die berechtigt sind, die RStudio Lizenz zu verwenden.
+ *RStudio admin*: Ein Administrator RStudio auf Amazon SageMaker AI kann auf das RStudio Administrator-Dashboard zugreifen. RStudio Auf Amazon unterscheiden sich SageMaker AI-Administratoren von „normalen“ Posit Workbench-Administratoren dadurch, dass sie keinen Root-Zugriff auf die Instance haben, auf der die RStudio ServerPro App ausgeführt wird, und die Konfigurationsdatei nicht ändern können. RStudio 
+ *RStudio Server*: Die RStudio Server-Instance ist dafür verantwortlich, die RStudio Benutzeroberfläche allen autorisierten Benutzern zur Verfügung zu stellen. Diese Instance wird auf einer Amazon SageMaker AI-Instance gestartet.
+ *RSession*: An RSession ist eine browserbasierte Schnittstelle zur RStudio IDE, die auf einer Amazon SageMaker AI-Instance ausgeführt wird. Benutzer können ihre RStudio Projekte über die erstellen und mit ihnen interagieren. RSession
+ *RSessionGateway*: Die RSession Gateway-App wird zur Unterstützung von verwendet RSession. 
+ *RStudio Administrator-Dashboard*: Dieses Dashboard enthält Informationen zu den RStudio Benutzern in der Amazon SageMaker AI-Domain und ihren Sitzungen. Auf dieses Dashboard können nur Benutzer zugreifen, die über RStudio Administratorberechtigungen verfügen.

## Unterschiede zu Posit Workbench
<a name="rstudio-differences"></a>

RStudio auf Amazon SageMaker AI weist einige signifikante Unterschiede zu [Posit Workbench](https://posit.co/products/enterprise/workbench/) auf.
+ Bei RStudio der Verwendung auf SageMaker KI haben Benutzer keinen Zugriff auf die RStudio Konfigurationsdateien. Amazon SageMaker AI verwaltet die Konfigurationsdatei und legt Standardwerte fest. Sie können den RStudio Connect- und RStudio Package Manager ändern URLs , wenn Sie Ihre RStudio -fähige Amazon SageMaker AI-Domain erstellen.
+ Projektfreigabe, Zusammenarbeit in Echtzeit und Job Launcher werden derzeit nicht unterstützt, wenn sie RStudio auf Amazon SageMaker AI verwendet werden.
+ Bei Verwendung RStudio auf SageMaker KI läuft die RStudio IDE auf Amazon SageMaker AI-Instances für containerisierte Rechenressourcen auf Abruf. 
+ RStudio on SageMaker AI unterstützt nur die RStudio IDE und keine anderen, die von einer Posit Workbench-Installation IDEs unterstützt werden.
+ RStudio on SageMaker AI unterstützt nur die in [RStudio Versionierung](rstudio-version.md) angegebene RStudio Version.

# RStudio zum Amazon SageMaker AI-Management
<a name="rstudio-manage"></a>

 Die folgenden Themen enthalten Informationen zur Verwaltung RStudio auf Amazon SageMaker AI. Dazu gehören Informationen über Ihre RStudio Umgebungskonfiguration, Benutzersitzungen und erforderliche Ressourcen. Informationen zur Verwendung RStudio von SageMaker KI finden Sie unter[RStudio auf Amazon SageMaker AI — Benutzerhandbuch](rstudio-use.md). 

 Informationen zum Erstellen einer Amazon SageMaker AI-Domain mit RStudio aktivierter Option finden Sie unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).  

 Informationen zu den AWS Regionen, in denen RStudio SageMaker KI nicht unterstützt wird, finden Sie unter[Unterstützte Regionen und Kontingente](regions-quotas.md).  

**Topics**
+ [Besorgen Sie sich eine RStudio Lizenz](rstudio-license.md)
+ [RStudio Versionierung](rstudio-version.md)
+ [Netzwerk und Speicher](rstudio-network.md)
+ [RStudioServerPro Instanztyp](rstudio-select-instance.md)
+ [Fügen Sie eine RStudio Connect-URL hinzu](rstudio-configure-connect.md)
+ [Aktualisieren Sie die URL des RStudio Paketmanagers](rstudio-configure-pm.md)
+ [Erstellen Sie eine Amazon SageMaker AI-Domain RStudio mit dem AWS CLI](rstudio-create-cli.md)
+ [Fügen Sie einer vorhandenen Domain RStudio Unterstützung hinzu](rstudio-add-existing.md)
+ [Benutzerdefinierte Bilder RStudio ohne SageMaker KI](rstudio-byoi.md)
+ [Erstellen Sie einen zu verwendenden Benutzer RStudio](rstudio-create-user.md)
+ [Melden Sie sich RStudio als ein anderer Benutzer an](rstudio-login-another.md)
+ [Beenden von Sitzungen für einen anderen Benutzer](rstudio-terminate-another.md)
+ [Verwenden Sie das RStudio Administrator-Dashboard](rstudio-admin.md)
+ [Herunterfahren RStudio](rstudio-shutdown.md)
+ [Fakturierung und Kosten](rstudio-billing.md)
+ [Probleme diagnostizieren und Support erhalten](rstudio-troubleshooting.md)

# Besorgen Sie sich eine RStudio Lizenz
<a name="rstudio-license"></a>

RStudio Bei Amazon SageMaker AI handelt es sich um ein kostenpflichtiges Produkt und erfordert, dass jeder Benutzer über eine entsprechende Lizenz verfügt. Lizenzen für RStudio Amazon SageMaker AI können direkt von RStudio PBC oder durch den Kauf eines Abonnements für Posit Workbench auf AWS Marketplace erworben werden. Für Bestandskunden von Posit Workbench Enterprise werden Lizenzen ohne zusätzliche Kosten ausgestellt. Um eine RStudio Lizenz mit Amazon SageMaker AI verwenden zu können, müssen Sie zunächst eine gültige RStudio Lizenz bei registriert haben AWS License Manager. Für Lizenzen, die direkt über Rstudio PBC gekauft wurden, muss eine Lizenzgewährung für Ihr AWS Konto erstellt werden. Kontaktieren Sie uns RStudio für direkte Lizenzkäufe oder zur Aktivierung vorhandener Lizenzen in. AWS License Manager Mehr Informationen über die Registrierung einer Lizenz bei AWS License Manager finden Sie unter [Vom Verkäufer ausgestellte Lizenzen unter AWS License Manager](https://docs.aws.amazon.com/license-manager/latest/userguide/seller-issued-licenses.html). 

Die folgenden Themen zeigen, wie Sie eine von RStudio PBC erteilte Lizenz erwerben und validieren können.

 **Holen Sie sich eine Lizenz RStudio ** 

1. Wenn Sie keine RStudio Lizenz haben, können Sie eine auf dem AWS Marketplace oder direkt bei RStudio PBC erwerben.
   + Um ein Abonnement auf dem AWS Marketplace zu erwerben, führen Sie die Schritte zum [Abonnieren mit einem SaaS-Vertrag](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-saas-products.html) durch, indem Sie nach **Posit Platform (RStudio on SageMaker)** suchen. Um die Lizenz zu erfüllen, werden Sie zu einem externen Formular außerhalb des AWS Marketplace weitergeleitet. Sie müssen zusätzliche Informationen angeben, einschließlich Ihres Firmennamens und Ihrer E-Mail-Adresse. Wenn Sie nicht auf dieses Formular zugreifen können, um einen Firmennamen und eine Kontakt-E-Mail anzugeben, erstellen Sie ein Ticket beim Posit-Support unter [https://support.posit. co/hc/en-us/requests/new](https://support.posit.co/hc/en-us/requests/new)mit Details zu Ihrem Kauf.
   + Wenn Sie direkt bei RStudio PBC einkaufen möchten, gehen Sie zu „[RStudio Preise](https://www.rstudio.com/pricing/)“ oder wenden Sie sich [an sales@rstudio.com](mailto:sales@rstudio.com). Wenn Sie eine RStudio Lizenz kaufen oder aktualisieren, müssen Sie das AWS Konto angeben, auf dem Ihre Amazon SageMaker AI-Domain gehostet wird. 

   Wenn Sie über eine bestehende RStudio Lizenz verfügen, wenden Sie sich an Ihren RStudio Vertriebsmitarbeiter oder [an sales@rstudio.com](mailto:sales@rstudio.com), um Amazon SageMaker AI zu Ihrer bestehenden Posit Workbench Enterprise-Lizenz hinzuzufügen RStudio oder Ihre Posit Workbench Standard-Lizenz zu konvertieren. Der RStudio Vertriebsmitarbeiter wird Ihnen das entsprechende elektronische Bestellformular zusenden.

1. RStudio gewährt Ihrem AWS Konto über AWS License Manager die Region USA Ost (Nord-Virginia) eine Posit Workbench-Lizenz. Obwohl die RStudio Lizenz in der Region USA Ost (Nord-Virginia) gewährt wird, kann Ihre Lizenz in jeder AWS Region genutzt werden, in RStudio der Amazon SageMaker AI unterstützt wird. Sie können davon ausgehen, dass der Lizenzerteilungsprozess innerhalb von drei Werktagen abgeschlossen ist, nachdem Sie Ihre AWS Konto-ID mit geteilt haben RStudio.

1. Wenn diese Lizenz erteilt wurde, erhalten Sie von Ihrem RStudio Vertriebsmitarbeiter eine E-Mail mit Anweisungen zur Annahme Ihrer Lizenzerteilung.

 **Bestätigen Sie Ihre RStudio Lizenz für die Verwendung mit Amazon SageMaker AI** 

1. Melden Sie sich in derselben Region wie Ihre Amazon SageMaker AI-Domain bei der AWS License Manager Konsole an. Wenn Sie es AWS License Manager zum ersten Mal verwenden, werden Sie AWS License Manager aufgefordert, die Erlaubnis zur Nutzung AWS License Manager zu erteilen. 

1.  Wählen Sie **Mit dem AWS Lizenzmanager beginnen** aus. 

1.  Wählen Sie `I grant AWS License Manager the required permissions` und dann **Berechtigungen erteilen** aus. 

1. Navigieren Sie im linken Bereich zu **Gewährte Lizenzen**. 

1. Wählen Sie die erteilte Lizenz mit `RSW-SageMaker` als `Product name` aus und wählen Sie **Anzeigen** aus.

1. Wählen Sie auf der Seite mit den Lizenzdetails die Option **Lizenz akzeptieren und aktivieren** aus. 

 **RStudio administratives Dashboard** 

Sie können das RStudio Administrator-Dashboard verwenden, um die Anzahl der Benutzer für die Lizenz zu sehen. Folgen Sie dazu den Schritten unter[Verwenden Sie das RStudio Administrator-Dashboard](rstudio-admin.md).

# RStudio Versionierung
<a name="rstudio-version"></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.

Dieses Handbuch enthält Informationen zum `2025.05.1+513.pro3` Versionsupdate für RStudio on SageMaker AI. Ab dem 31. Oktober 2025 werden neue Domains mit RStudio Support mit Posit Workbench Version erstellt`2025.05.1+513.pro3`. Dies gilt für die `RStudioServerPro` Anwendungen und `RSessionGateway` Standardanwendungen.

Die folgenden Abschnitte enthalten Informationen zur `2025.05.1+513.pro3` Version.

## Aktuelle Versionsupdates
<a name="rstudio-version-latest"></a>

Die neueste RStudio Version ist`2025.05.1+513.pro3`. 
+ Unterstützte R-Versionen:
  + 4.5.1
  + 4.4.3
  + 4.4.0
  + 4.3.3
  + 4.2.3
  + 4.2.1
  + 4.1.3
  + 4.0.2

Mehr Informationen über die Änderungen in dieser Version finden Sie unter [https://docs.posit.co/ide/news/](https://docs.posit.co/ide/news/). 

**Anmerkung**  
Um die Kompatibilität zu gewährleisten, empfehlen wir, ein Präfix zu verwenden RSessions , das der aktuellen Posit Workbench Version entspricht.  
Wenn die folgende Warnung angezeigt wird, besteht ein Versionskonflikt zwischen der `RSession` und der in RStudio SageMaker AI verwendeten Posit Workbench Version. Um dieses Problem zu beheben, aktualisieren Sie die RStudio Version für die Domain. Informationen zum Aktualisieren der RStudio Version finden Sie unter[Führen Sie ein Upgrade auf die neue Version durch](rstudio-version-upgrade.md).  

```
Session version 2024.04.2+764.pro1 does not match server version 2025.05.1+513.pro3 - this is an unsupported configuration, and you may experience unexpected issues as a result.
```

## Versionsverwaltung
<a name="rstudio-version-new"></a>

Derzeit gibt es zwei Versionen von, die von SageMaker AI Posit Workbench unterstützt werden. 
+ Letzte Version: `2025.05.1+513.pro3`

  Datum der Verfallsdatum: 5. Dezember 2026
+ Frühere Version: `2024.04.2+764.pro1`

  Datum der Verfallsdatum: 30. April 2026

**Anmerkung**  
Sie können zwar `2024.04.2+764.pro1` bis zum 30.04.2026 weiterhin neue Domains mit der älteren Version erstellen, indem Sie die Version explizit anheften, wenn Sie die Domain mithilfe der CLI erstellen. Wir empfehlen unseren Kunden jedoch dringend, die `2025.05` Version in allen Domänen zu verwenden. POSIT hat aufgehört, Sicherheitslücken für zu beheben. `2024.04.2+764.pro1`  
Versionen `2023.03.2-547.pro5` und `2022.02.2-485.pro2` sind veraltet und werden nicht mehr unterstützt. Wir empfehlen die Aktualisierung auf die neueste Version.

Die Posit Workbench Standardversion, die SageMaker AI auswählt, hängt vom Erstellungsdatum der Domain ab. 
+ Für Domains, die nach dem 31. Oktober 2025 erstellt wurden, `2025.05.1+513.pro3` ist Version die ausgewählte Standardversion. 
+ Für Domänen, die nach dem 04. September 2024 und vor dem 31. Oktober 2025 erstellt wurden, `2024.04.2+764.pro1` ist Version die standardmäßig ausgewählte Version. Sie können Ihre Domains auf die letzte Version (`2025.05.1+513.pro3`) aktualisieren, indem Sie sie als Standardversion für die Domain festlegen. Weitere Informationen finden Sie unter [Führen Sie ein Upgrade auf die neue Version durch](rstudio-version-upgrade.md).

**Anmerkung**  
Die `RSessionGateway` Standardanwendungsversion entspricht der aktuellen Version der `RStudioServerPro` Anwendung.

In der folgenden Tabelle ist das Image ARNs für beide Versionen für jede Version aufgeführt AWS-Region. Diese ARNs werden als Teil eines `update-domain` Befehls zum Einstellen der gewünschten Version übergeben.


|  Region | `2024.04.2+764.pro1` Image-ARN  | `2025.05.1+513.pro3` Image-ARN  | 
| --- | --- | --- | 
| us-east-1 |  arn:aws:sagemaker:us-east-1:081325390199:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:us-east-1:081325390199:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| us-east-2 |  arn:aws:sagemaker:us-east-2:429704687514:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:us-east-2:429704687514:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| us-west-1 |  arn:aws:sagemaker:us-west-1:742091327244:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:us-west-1:742091327244:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| us-west-2 |  arn:aws:sagemaker:us-west-2:236514542706:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:us-west-2:236514542706:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| af-south-1 |  arn:aws:sagemaker:af-south-1:559312083959:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:af-south-1:559312083959:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-east-1 |  arn:aws:sagemaker:ap-east-1:493642496378:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-east-1:493642496378:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-south-1 |  arn:aws:sagemaker:ap-south-1:394103062818:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-south-1:394103062818:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-northeast-2 |  arn:aws:sagemaker:ap-northeast-2:806072073708:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-northeast-2:806072073708:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-southeast-1 |  arn:aws:sagemaker:ap-southeast-1:492261229750:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-southeast-1:492261229750:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-southeast-2 |  arn:aws:sagemaker:ap-southeast-2:452832661640:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-southeast-2:452832661640:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ap-northeast-1 |  arn:aws:sagemaker:ap-northeast-1:102112518831:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ap-northeast-1:102112518831:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| ca-central-1 |  arn:aws:sagemaker:ca-central-1:310906938811:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:ca-central-1:310906938811:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-central-1 |  arn:aws:sagemaker:eu-central-1:936697816551:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-central-1:936697816551:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-west-1 |  arn:aws:sagemaker:eu-west-1:470317259841:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-west-1:470317259841:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-west-2 |  arn:aws:sagemaker:eu-west-2:712779665605:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-west-2:712779665605:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-west-3 |  arn:aws:sagemaker:eu-west-3:615547856133:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-west-3:615547856133:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-north-1 |  arn:aws:sagemaker:eu-north-1:243637512696:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-north-1:243637512696:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| eu-south-1 |  arn:aws:sagemaker:eu-south-1:592751261982:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:eu-south-1:592751261982:image/rstudio-workbench-2025.05-sagemaker-1.0  | 
| sa-east-1 |  arn:aws:sagemaker:sa-east-1:782484402741:image/rstudio-workbench-2024.04-sagemaker-1.1  |  arn:aws:sagemaker:sa-east-1:782484402741:image/rstudio-workbench-2025.05-sagemaker-1.0  | 

### Änderungen an BYOI Images
<a name="rstudio-version-byoi"></a>

Wenn Sie ein BYOI-Image mit verwenden RStudio und Ihre `RStudioServerPro` Version auf aktualisieren`2025.05.1+513.pro3`, müssen Sie Ihre benutzerdefinierten Images aktualisieren, um die Version verwenden zu können, und Ihre vorhandene `2025.05.1+513.pro3` Version erneut bereitstellen. RSessions Wenn Sie versuchen, ein nicht kompatibles Image in eine RSession Domain zu laden, die die `2025.05.1+513.pro3` Version verwendet, schlägt das RSession fehl, weil es die empfangenen Parameter nicht analysieren kann. Um Fehler zu vermeiden, aktualisieren Sie alle bereitgestellten benutzerdefinierten Images in Ihrer bestehenden `RStudioServerPro` Anwendung. 

Der `RSW_VERSION` in der Dockerfile muss mit der in RStudio AI verwendeten Posit Workbench Version übereinstimmen. SageMaker Sie können die aktuelle Version in Posit Workbench überprüfen. Verwenden Sie dazu den Versionsnamen, der sich in der unteren linken Ecke der Posit Workbench Launcher-Seite befindet.

```
ARG RSW_VERSION=2025.05.1+513.pro3
ENV RSTUDIO_FORCE_NON_ZERO_EXIT_CODE="1"
ARG RSW_NAME=rstudio-workbench
ARG OS_CODE_NAME=jammy
ARG RSW_DOWNLOAD_URL=https://s3.amazonaws.com/rstudio-ide-build/server/${OS_CODE_NAME}/amd64
RUN RSW_VERSION_URL=`echo -n "${RSW_VERSION}" | sed 's/+/-/g'` \
    && curl -o rstudio-workbench.deb ${RSW_DOWNLOAD_URL}/${RSW_NAME}-${RSW_VERSION_URL}-amd64.deb \
    && gdebi -n ./rstudio-workbench.deb
```

# Führen Sie ein Upgrade auf die neue Version durch
<a name="rstudio-version-upgrade"></a>

Bestehende Domains, die Version `2024.04.2+764.pro1` verwenden, können auf zwei Arten auf Version `2025.05.1+513.pro3` aktualisiert werden:
+ Erstellen Sie eine neue Domain AWS CLI mit RStudio aktiviertem.
+ Aktualisieren Sie eine bestehende Domain, um die `2025.05.1+513.pro3` Version zu verwenden.

Das folgende Verfahren zeigt, wie Sie die RStudio Anwendung für eine vorhandene Domäne löschen, die Standardversion auf `2025.05.1+513.pro3` festlegen und anschließend eine RStudio Anwendung erstellen.

1. Löschen Sie die `RStudioServerPro` Anwendung und alle `RSessionGateway` Anwendungen, die mit Ihrer vorhandenen Domain verknüpft sind. Informationen darüber, wie Sie Ihre Domain-ID finden, finden Sie unter [Anzeigen von Domains](domain-view.md). Mehr Informationen über das Löschen von Anwendungen finden Sie unter [Herunterfahren RStudio](rstudio-shutdown.md).

   ```
   aws sagemaker delete-app \
       --region region \
       --domain-id domainId \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

1. Wenn Ihre Domain RStudio Version verwendet`2024.04.2+764.pro1`, aktualisieren Sie die Domain, sodass sie sie `2025.05.1+513.pro3` als Posit Workbench Standardversion festlegt. Der `SageMakerImageArn` Wert im folgenden `update-domain` Befehl gibt die RStudio `2025.05.1+513.pro3` Version als Standardversion an. Dieser ARN muss mit dem Region übereinstimmen, in dem sich Ihre Domain befindet. Eine Liste aller verfügbaren ARNs Dateien finden Sie unter[Versionsverwaltung](rstudio-version.md#rstudio-version-new).

   Übergeben Sie einen Ausführungsrollen-ARN für die Domain, die Berechtigungen zum Aktualisieren der Domain bereitstellt. 

   ```
   aws sagemaker update-domain \
       --region region \
       --domain-id domainId \
       --domain-settings-for-update "{\"RStudioServerProDomainSettingsForUpdate\":{\"DefaultResourceSpec\": {\"SageMakerImageArn\": \"arn-for-2025.05.1+513.pro3-version\", \"InstanceType\": \"system\"}, \"DomainExecutionRoleArn\": \"execution-role-arn\"}}"
   ```

1. Erstellen Sie eine neue `RStudioServerPro` Anwendung in der vorhandenen Domain.

   ```
   aws sagemaker create-app \
       --region region
       --domain-id domainId \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

Ihre `RStudioServerPro` Anwendung ist jetzt auf Version `2025.05.1+513.pro3` aktualisiert. Sie können Ihre `RSessionGateway` Anwendungen jetzt neu starten.

# Führen Sie ein Downgrade auf eine frühere Version durch
<a name="rstudio-version-downgrade"></a>

Sie können die Version Ihrer vorhandenen RStudio Anwendung manuell auf die Version herabstufen. `2024.04.2+764.pro1` 

**Um ein Downgrade auf eine frühere Version durchzuführen**

1. Löschen Sie die `RStudioServerPro`-Anwendung, die mit Ihrer vorhandenen Domain verknüpft ist. Informationen darüber, wie Sie Ihre Domain-ID finden, finden Sie unter [Anzeigen von Domains](domain-view.md).

   ```
   aws sagemaker delete-app \
       --domain-id domainId \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

1. Übergeben Sie den entsprechenden `2024.04.2+764.pro1`-ARN für Ihr Region als Teil des `update-domain`-Befehls. Eine Liste aller verfügbaren Versionen finden Sie ARNs unter[Versionsverwaltung](rstudio-version.md#rstudio-version-new). Sie müssen auch einen Ausführungsrollen-ARN für die Domain übergeben, der Berechtigungen zum Aktualisieren der Domain bereitstellt. 

   ```
   aws sagemaker update-domain \
       --region region \
       --domain-id domainId \
       --domain-settings-for-update "{\"RStudioServerProDomainSettingsForUpdate\":{\"DefaultResourceSpec\": {\"SageMakerImageArn\": \"arn-for-2024.04.2+764.pro1-version\", \"InstanceType\": \"system\"}, \"DomainExecutionRoleArn\": \"execution-role-arn\"}}"
   ```

1. Erstellen Sie eine neue `RStudioServerPro` Anwendung in der vorhandenen Domain. Die RStudio Version ist standardmäßig auf`2024.04.2+764.pro1`.

   ```
   aws sagemaker create-app \
       --domain-id domainId \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

Ihre `RStudioServerPro` Anwendung wurde jetzt auf Version `2024.04.2+764.pro1` zurückgesetzt. 

# Netzwerk und Speicher
<a name="rstudio-network"></a>

Im folgenden Thema werden Überlegungen zum Netzwerkzugriff und zur Datenspeicherung für Ihre RStudio Instance beschrieben. Allgemeine Informationen zum Netzwerkzugriff und zur Datenspeicherung bei Verwendung von Amazon SageMaker AI finden Sie unter[Datenschutz in Amazon SageMaker AI](data-protection.md).

 **Amazon-EFS-Volumes**

RStudio auf Amazon SageMaker AI teilt sich ein Amazon EFS-Volume mit der Amazon SageMaker Studio Classic-Anwendung in der Domain. Wenn die RStudio Anwendung zu einer Domain hinzugefügt wird, erstellt SageMaker AI einen Ordner mit dem Namen `shared` im Amazon EFS-Verzeichnis. Wenn dieser `shared` Ordner manuell gelöscht oder geändert wird, funktioniert die RStudio Anwendung möglicherweise nicht mehr. Mehr Informationen über Amazon-EBS-Volume finden Sie unter [Verwalten Sie Ihr Amazon EFS-Speichervolume in Amazon SageMaker Studio Classic](studio-tasks-manage-storage.md).

 **Installierte Pakete und Skripte**

Pakete, die Sie von dort aus installieren, RStudio beziehen sich auf die Benutzerprofilebene. Das bedeutet, dass das installierte Paket für jedes Benutzerprofil, in dem es installiert ist, beim RSession Herunterfahren, Neustarten und RSessions für jedes Benutzerprofil, in dem es installiert ist, bestehen bleibt. R-Skripte, die in gespeichert sind, RSessions verhalten sich genauso. Sowohl Pakete als auch R-Skripte werden im Amazon-EFS-Volume des Benutzers gespeichert.

 **Verschlüsselung**

 RStudio auf Amazon SageMaker AI unterstützt Verschlüsselung im Ruhezustand.

 **Nur RStudio im VPC-Modus verwenden**

RStudio auf Amazon SageMaker AI unterstützt die [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html)Integration. Mit dieser Integration können Sie RStudio on SageMaker AI im Nur-VPC-Modus ohne direkten Zugriff auf das Internet verwenden. Wenn Sie RStudio den Nur-VPC-Modus verwenden, werden Ihre Sicherheitsgruppen automatisch vom Dienst verwaltet. Dies beinhaltet die Konnektivität zwischen Ihnen RServer und Ihrem. RSessions

Folgendes ist für die Verwendung RStudio im Nur-VPC-Modus erforderlich. Weitere Informationen zur Auswahl einer VPC finden Sie unter [Auswählen einer Amazon VPC](onboard-vpc.md).
+ Ein privates Subnetz mit Zugriff auf das Internet, um Amazon SageMaker AI & License Manager oder Amazon Virtual Private Cloud (Amazon VPC) -Endpunkte für Amazon SageMaker AI und License Manager anzurufen.
+ Die Domain kann nicht mehr als zwei zugeordnete Sicherheitsgruppen haben.
+ Eine Sicherheitsgruppen-ID zur Verwendung mit der Domain in den Domaineinstellungen. Dies muss allen ausgehenden Zugriff erlauben.
+ Eine Sicherheitsgruppen-ID zur Verwendung mit dem Amazon-VPC-Endpunkt. Diese Sicherheitsgruppe muss von der Domain-Sicherheitsgruppen-ID eingehenden Datenverkehr zulassen.
+ Amazon VPC-Endpunkt für `sagemaker.api` und AWS License Manager. Dies muss sich in derselben Amazon-VPC wie das private Subnetz befinden. 

# RStudioServerPro Instanztyp
<a name="rstudio-select-instance"></a>

Bei der Entscheidung, welcher Amazon EC2 EC2-Instance-Typ für Ihre RStudio ServerPro App verwendet werden soll, ist der Hauptfaktor, den Sie berücksichtigen sollten, die Bandbreite. Die Bandbreite ist wichtig, da die RStudio ServerPro Instance dafür verantwortlich ist, die RStudio Benutzeroberfläche für alle Benutzer bereitzustellen. Dazu gehören Workflows mit vielen Benutzeroberflächen, z. B. das Generieren von Figuren, Animationen und das Anzeigen vieler Datenzeilen. Daher kann es je nach Arbeitslast für alle Benutzer zu einer gewissen Beeinträchtigung der Leistung der Benutzeroberfläche kommen. Im Folgenden sind die verfügbaren Instanztypen aufgeführt, die Sie für Ihre verwenden können RStudioServerPro. Preisinformationen zu diesen Instances finden Sie unter [ SageMakerAmazon-Preise](https://aws.amazon.com/sagemaker/pricing/).
+ `system`: Dieser Instance-Typ wird für Domains mit geringer Nutzung der Benutzeroberfläche empfohlen.
**Anmerkung**  
Der `system`-Wert wird übersetzt in `ml.t3.medium`.
+ `ml.c5.4xlarge`: Dieser Instance-Typ wird für Domains mit mäßiger Nutzung der Benutzeroberfläche empfohlen.
+ `ml.c5.9xlarge`: Dieser Instance-Typ wird für Domains mit intensiver Nutzung der Benutzeroberfläche empfohlen.

 ** RStudio Instance-Typ ändern** 

Um Ihren Instanztyp zu ändern RStudioServerPro, übergeben Sie den neuen Instanztyp als Teil eines Aufrufs an den `update-domain` CLI-Befehl. Anschließend müssen Sie die vorhandene RStudio ServerPro App mit dem `delete-app` CLI-Befehl löschen und mit dem `create-app` CLI-Befehl eine neue RStudio ServerPro App erstellen. 

# Fügen Sie eine RStudio Connect-URL hinzu
<a name="rstudio-configure-connect"></a>

RStudio Connect ist eine Veröffentlichungsplattform für Shiny-Anwendungen, R Markdown-Berichte, Dashboards, Diagramme und mehr. RStudio Connect macht es einfach, Erkenntnisse aus maschinellem Lernen und Datenwissenschaft zu gewinnen, indem es das Hosten von Inhalten einfach und skalierbar macht. Wenn Sie über einen RStudio Connect-Server verfügen, können Sie den Server als Standardort für die Veröffentlichung von Apps festlegen. Weitere Informationen zu RStudio Connect finden Sie unter [RStudio Connect](https://www.rstudio.com/products/connect/).

Wenn Sie RStudio auf einer Amazon SageMaker AI-Domain nutzen, wird kein RStudio Connect-Server erstellt. Sie können einen RStudio Connect-Server auf einer Amazon EC2 EC2-Instance erstellen, um Connect with Amazon SageMaker AI-Domain zu verwenden. Informationen zur Einrichtung Ihres RStudio Connect-Servers finden Sie unter [Host RStudio Connect und Package Manager für ML-Entwicklung in RStudio Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/host-rstudio-connect-and-package-manager-for-ml-development-in-rstudio-on-amazon-sagemaker/). 

 **Fügen Sie eine RStudio Connect-URL hinzu** 

Wenn Sie eine RStudio Connect-URL haben, können Sie die Standard-URL aktualisieren, sodass Ihre RStudio Benutzer dort veröffentlichen können. 

1. Navigieren Sie zur Seite **Domains**. 

1. Wählen Sie die gewünschte Domain aus.

1. Wählen Sie **Domaineinstellungen** aus.

1. Wählen Sie unter **Allgemeine Einstellungen** die Option **Bearbeiten** aus.

1.  Wählen Sie auf der neuen Seite auf der linken Seite **RStudio Einstellungen** aus.  

1.  Geben **RStudio Sie unter Connect-URL** die RStudio Connect-URL ein, die hinzugefügt werden soll. 

1.  Wählen Sie **Absenden** aus. 

 **CLI** 

 Sie können bei der Erstellung Ihrer Domain eine RStudio Standard-Connect-URL festlegen. Die einzige Möglichkeit, Ihre RStudio Connect-URL von zu aktualisieren, AWS CLI besteht darin, Ihre Domain zu löschen und eine neue mit der aktualisierten RStudio Connect-URL zu erstellen. 

# Aktualisieren Sie die URL des RStudio Paketmanagers
<a name="rstudio-configure-pm"></a>

RStudio Package Manager ist ein Repository-Management-Server, der verwendet wird, um Pakete in Ihrer Organisation zu organisieren und zu zentralisieren. Weitere Informationen zum RStudio Package Manager finden Sie unter [RStudio Package Manager](https://www.rstudio.com/products/package-manager/). Wenn Sie keine eigene Package Manager-URL angeben, verwendet die Amazon SageMaker AI-Domain beim Onboarding das standardmäßige Package Manager-Repository. Folgen Sie dabei den RStudio Anweisungen unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). Weitere Informationen finden Sie unter [Host RStudio Connect und Package Manager für ML-Entwicklung in RStudio Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/host-rstudio-connect-and-package-manager-for-ml-development-in-rstudio-on-amazon-sagemaker/). Im folgenden Verfahren sehen Sie, wie Sie die Package-Manager-URL aktualisieren.

 **URL Package Paket-Managers aktualisieren** 

Sie können die Package Manager-URL, die für Ihre RStudio -fähige Domain verwendet wird, wie folgt aktualisieren.

1. Navigieren Sie zur Seite **Domains**. 

1. Wählen Sie die gewünschte Domain aus.

1. Wählen Sie **Domaineinstellungen** aus.

1. Wählen Sie unter **Allgemeine Einstellungen** die Option **Bearbeiten** aus.

1.  Wählen Sie auf der neuen Seite auf der linken Seite **RStudio Einstellungen** aus.  

1.  Geben Sie unter **RStudio Package Manager** Ihre RStudio Package Manager-URL ein. 

1.  Wählen Sie **Absenden** aus. 

 **CLI** 

Die einzige Möglichkeit, Ihre Package Manager-URL von zu aktualisieren, AWS CLI besteht darin, Ihre Domain zu löschen und eine neue mit der aktualisierten Package Manager-URL zu erstellen. 

# Erstellen Sie eine Amazon SageMaker AI-Domain RStudio mit dem AWS CLI
<a name="rstudio-create-cli"></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.

Das folgende Thema zeigt, wie Sie mit RStudio aktiviertem eine Amazon SageMaker AI-Domain einbinden können AWS CLI. Informationen zum Onboarding mit dem AWS-Managementkonsole finden Sie unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). 

## Voraussetzungen
<a name="rstudio-create-cli-prerequisites"></a>
+  Installieren und Konfigurieren von [AWS CLI Version 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) 
+  Konfigurieren Sie das [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) mit IAM-Anmeldeinformationen 

## Erstellen einer `DomainExecution`-Rolle
<a name="rstudio-create-cli-domainexecution"></a>

Um die RStudio App zu starten, müssen Sie eine `DomainExecution` Rolle angeben. Diese Rolle wird verwendet, um zu bestimmen, ob sie im Rahmen der Amazon SageMaker AI-Domainerstellung gestartet werden RStudio muss. Diese Rolle wird auch von Amazon SageMaker AI für den Zugriff auf die RStudio Lizenz und die RStudio Push-Protokolle verwendet.  

**Anmerkung**  
Die `DomainExecution` Rolle sollte mindestens über AWS License Manager Berechtigungen für den Zugriff auf die RStudio Lizenz und CloudWatch über Berechtigungen zum Versenden von Protokollen in Ihrem Konto verfügen.

Das folgende Verfahren zeigt, wie Sie die `DomainExecution` Rolle mit dem AWS CLI erstellen. 

1.  Erstellen Sie eine Datei mit dem Namen `assume-role-policy.json` und dem folgenden Inhalt. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "sts:AssumeRole",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ]
               }
           }
       ]
   }
   ```

------

1.  Erstellen Sie die `DomainExecution`-Rolle. `<REGION>` sollte die AWS -Region sein, in der Sie Ihre Domain starten möchten. 

   ```
   aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
   ```

1. Erstellen Sie eine Datei mit dem Namen `domain-setting-policy.json` und dem folgenden Inhalt. Diese Richtlinie ermöglicht der RStudio ServerPro App den Zugriff auf die erforderlichen Ressourcen und ermöglicht Amazon SageMaker AI, automatisch eine RStudio ServerPro App zu starten, wenn sich die bestehende RStudio ServerPro App im `Failed` Status `Deleted` oder befindet.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "license-manager:ExtendLicenseConsumption",
                   "license-manager:ListReceivedLicenses",
                   "license-manager:GetLicense",
                   "license-manager:CheckoutLicense",
                   "license-manager:CheckInLicense",
                   "logs:CreateLogDelivery",
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:DeleteLogDelivery",
                   "logs:Describe*",
                   "logs:GetLogDelivery",
                   "logs:GetLogEvents",
                   "logs:ListLogDeliveries",
                   "logs:PutLogEvents",
                   "logs:PutResourcePolicy",
                   "logs:UpdateLogDelivery",
                   "sagemaker:CreateApp"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1.  Erstellen Sie die Domaineinstellungsrichtlinie, die der `DomainExecution`-Rolle zugeordnet ist. Achten Sie auf die `PolicyArn` aus der Antwort, Sie müssen diese ARN in den folgenden Schritten eingeben. 

   ```
   aws iam create-policy --region <REGION> --policy-name domain-setting-policy --policy-document file://domain-setting-policy.json
   ```

1.  Verbinden Sie `domain-setting-policy` mit der Rolle `DomainExecution`. Verwenden Sie das im vorherigen Schritt zurückgegebene `PolicyArn`.

   ```
   aws iam attach-role-policy --role-name DomainExecution --policy-arn <POLICY_ARN>
   ```

## Amazon SageMaker AI-Domain mit RStudio App erstellen
<a name="rstudio-create-cli-domain"></a>

Die RStudio ServerPro App wird automatisch gestartet, wenn Sie eine Amazon SageMaker AI-Domain mithilfe des `create-domain` CLI-Befehls mit dem angegebenen `RStudioServerProDomainSettings` Parameter erstellen. Beim Starten der RStudio ServerPro App sucht Amazon SageMaker AI nach einer gültigen RStudio Lizenz im Konto und schlägt die Domain-Erstellung fehl, wenn die Lizenz nicht gefunden wird. 

Die Erstellung einer Amazon SageMaker AI-Domain unterscheidet sich je nach Authentifizierungsmethode und Netzwerktyp. Diese Optionen müssen zusammen verwendet werden, wobei eine Authentifizierungsmethode und ein Netzwerkverbindungstyp ausgewählt werden müssen. Weitere Informationen zu den Anforderungen für die Erstellung einer neuen Domain finden Sie unter [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html). 

Die folgenden Authentifizierungsmethoden werden unterstützt.
+  `IAM Auth` 
+  `SSO Auth` 

Die folgenden Netzwerkverbindungstypen werden unterstützt:
+  `PublicInternet` 
+  `VPCOnly` 

### Authentifizierungsmethoden
<a name="rstudio-create-cli-domain-auth"></a>

 **IAM-Authentifizierungsmodus** 

Im Folgenden wird gezeigt, wie Sie eine Amazon SageMaker AI-Domain mit RStudio aktiviertem und einem `IAM Auth` Netzwerktyp erstellen. Weitere Informationen dazu finden Sie AWS Identity and Access Management unter [Was ist IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)? .
+ `DomainExecutionRoleArn` sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.
+ `ExecutionRole`ist der ARN der Rolle, die Benutzern in der Amazon SageMaker AI-Domain zugewiesen wurde.
+ `vpc-id`sollte die ID Ihrer Amazon Virtual Private Cloud sein. `subnet-ids`sollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. [Hinweise zu `vpc-id` und finden Sie `subnet-ids` unter SubnetzeVPCs .](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ `RStudioPackageManagerUrl`und `RStudioConnectUrl` sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt werden.
+ `app-network-access-type` sollte entweder `PublicInternetOnly` oder `VPCOnly` sein.

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode IAM \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type <NETWORK_ACCESS_TYPE>
```

 **Authentifizierung mit IAM Identity Center** 

Im Folgenden wird gezeigt, wie Sie eine Amazon SageMaker AI-Domain mit RStudio aktiviertem und einem `SSO Auth` Netzwerktyp erstellen. AWS IAM Identity Center muss für die Region aktiviert sein, in der die Domain gestartet wird. Weitere Informationen zu IAM Identity Center finden Sie unter [Was ist AWS IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) .
+ `DomainExecutionRoleArn` sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.
+ `ExecutionRole`ist der ARN der Rolle, die Benutzern in der Amazon SageMaker AI-Domain zugewiesen wurde.
+ `vpc-id`sollte die ID Ihrer Amazon Virtual Private Cloud sein. `subnet-ids`sollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. [Hinweise zu `vpc-id` und finden Sie `subnet-ids` unter SubnetzeVPCs .](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ `RStudioPackageManagerUrl`und `RStudioConnectUrl` sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt werden.
+ `app-network-access-type` sollte entweder `PublicInternetOnly` oder `VPCOnly` sein.

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode SSO \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type <NETWORK_ACCESS_TYPE>
```

### Verbindungstypen
<a name="rstudio-create-cli-domain-connection"></a>

 **PublicInternet/Direkter Internetnetzwerktyp** 

Im Folgenden wird gezeigt, wie Sie eine Amazon SageMaker AI-Domain mit RStudio aktiviertem und einem `PublicInternet` Netzwerktyp erstellen.
+ `DomainExecutionRoleArn` sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.
+ `ExecutionRole`ist der ARN der Rolle, die Benutzern in der Amazon SageMaker AI-Domain zugewiesen wurde.
+ `vpc-id`sollte die ID Ihrer Amazon Virtual Private Cloud sein. `subnet-ids`sollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. [Hinweise zu `vpc-id` und finden Sie `subnet-ids` unter SubnetzeVPCs .](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ `RStudioPackageManagerUrl`und `RStudioConnectUrl` sind optional und sollten auf die URLs Ihres RStudio Package Managers bzw. RStudio Connect-Servers eingestellt werden.
+ `auth-mode` sollte entweder `SSO` oder `IAM` sein.

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode <AUTH_MODE> \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type PublicInternetOnly
```

 **VPCOnly mode** 

Im Folgenden wird gezeigt, wie Sie eine Amazon SageMaker AI-Domain mit RStudio aktiviertem und einem `VPCOnly` Netzwerktyp starten. Weitere Informationen zur Verwendung des `VPCOnly` Netzwerkzugriffstyps finden Sie unter [Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen](studio-notebooks-and-internet-access.md).
+ `DomainExecutionRoleArn` sollte der ARN für die -Rolle sein, die im vorigen Schritt erstellt wurde.
+ `ExecutionRole`ist der ARN der Rolle, die Benutzern in der Amazon SageMaker AI-Domain zugewiesen wurde.
+ `vpc-id`sollte die ID Ihrer Amazon Virtual Private Cloud sein. `subnet-ids`sollte eine durch Leerzeichen getrennte Liste von IDs Subnetzen sein. Ihr privates Subnetz muss entweder auf das Internet zugreifen können, um Amazon SageMaker AI anzurufen, AWS License Manager oder über Amazon VPC-Endpunkte für Amazon SageMaker AI und verfügen. AWS License Manager[Informationen zu Amazon VPC-Endpunkten finden Sie unter [Interface Amazon VPC-Endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html). Weitere Informationen zu `vpc-id` und `subnet-ids` finden Sie unter Subnetze. VPCs ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) 
+ `SecurityGroups`muss ausgehenden Zugriff auf die SageMaker Amazon-KI und die AWS License Manager Endpunkte zulassen.
+ `auth-mode` sollte entweder `SSO` oder `IAM` sein.

**Anmerkung**  
Wenn Sie Amazon Virtual Private Cloud-Endpunkte verwenden, muss die mit Ihren Amazon Virtual Private Cloud-Endpunkten verbundene Sicherheitsgruppe eingehenden Datenverkehr von der Sicherheitsgruppe zulassen, die Sie als Teil des `domain-setting` Parameters des `create-domain` CLI-Aufrufs übergeben.

Mit RStudio verwaltet Amazon SageMaker AI Sicherheitsgruppen für Sie. Das bedeutet, dass Amazon SageMaker AI Sicherheitsgruppenregeln verwaltet, um sicherzustellen, dass auf RStudio ServerPro Apps zugegriffen RSessions werden kann. Amazon SageMaker AI erstellt eine Sicherheitsgruppenregel pro Benutzerprofil.

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode <AUTH_MODE> \
    --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids "<SUBNET_IDS>" \
    --app-network-access-type VPCOnly --app-security-group-management Service
```

Hinweis: Die RStudio ServerPro App wird über ein spezielles Benutzerprofil mit dem Namen gestartet`domain-shared`. Daher wird diese App nicht als Teil von `list-app` API-Aufrufen durch andere Benutzerprofile zurückgegeben. 

Möglicherweise müssen Sie das Amazon VPC-Kontingent in Ihrem Konto erhöhen, um die Anzahl der Benutzer zu erhöhen. Weitere Informationen finden Sie unter [Amazon VPC-Kontingente](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-security-groups). 

## Überprüfen der Erstellung der Domain
<a name="rstudio-create-cli-domain-verify"></a>

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Ihre Domain mit einem `Status` von `InService` erstellt wurde. Ihre `domain-id` wird an den Domains-ARN angefügt. Beispiel, `arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>`.

```
aws sagemaker describe-domain --domain-id <DOMAIN_ID> --region <REGION>
```

# Fügen Sie einer vorhandenen Domain RStudio Unterstützung hinzu
<a name="rstudio-add-existing"></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.

 Wenn Sie eine RStudio Lizenz hinzugefügt haben AWS License Manager, können Sie eine neue Amazon SageMaker AI-Domain mit Unterstützung für RStudio keine SageMaker KI erstellen. Wenn Sie eine bestehende Domain haben, die nicht unterstützt wird RStudio, können Sie dieser Domain RStudio Unterstützung hinzufügen, ohne die Domain löschen und neu erstellen zu müssen.  

 Im folgenden Thema wird beschrieben, wie Sie diese Unterstützung hinzufügen können. 

## Voraussetzungen
<a name="rstudio-add-existing-prerequisites"></a>

 Sie müssen die folgenden Schritte ausführen, bevor Sie Ihre aktuelle Domain aktualisieren, um Unterstützung für RStudio SageMaker On-AI hinzuzufügen.  
+  Installieren und Konfigurieren von [AWS CLI Version 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) 
+  Konfigurieren Sie das [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) mit IAM-Anmeldeinformationen 
+  Erstellen Sie eine Domänenausführungsrolle gemäß den Schritten unter [Erstellen einer SageMaker AI-Domäne RStudio mithilfe von AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-create-cli.html#rstudio-create-cli-domainexecution). Diese IAM-Rolle auf Domänenebene ist für die App erforderlich. RStudio ServerPro Die Rolle erfordert Zugriff auf AWS License Manager zur Überprüfung einer gültigen Posit Workbench-Lizenz und Amazon CloudWatch Logs zur Veröffentlichung von Serverprotokollen.  
+  [Bringen Sie Ihre RStudio Lizenz dazu, die Schritte in RStudio der Lizenz zu AWS License Manager befolgen.](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-license.html) 
+  (Optional) Wenn Sie den RStudio `VPCOnly` In-Modus verwenden möchten, führen Sie die Schritte unter Nur [RStudio VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-network.html) aus. 
+  Stellen Sie sicher, dass die Sicherheitsgruppen, die Sie für jede Sicherheitsgruppe [UserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)in Ihrer Domain konfiguriert haben, die Kontingente auf Kontoebene erfüllen. Wenn Sie das Standardbenutzerprofil bei der Domainerstellung konfigurieren, können Sie mithilfe der `DefaultUserSettings` [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)API-Parameter die Profile hinzufügen`SecurityGroups`, die von allen in der Domäne erstellten Benutzerprofilen übernommen werden. Sie können auch zusätzliche Sicherheitsgruppen für einen bestimmten Benutzer als Teil des `UserSettings` [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)API-Parameters angeben. Wenn Sie Sicherheitsgruppen auf diese Weise hinzugefügt haben, müssen Sie sicherstellen, dass die Gesamtzahl der Sicherheitsgruppen pro Benutzerprofil das maximale Kontingent von 2 im `VPCOnly` Modus und 4 im `PublicInternetOnly` Modus nicht überschreitet. Wenn die resultierende Gesamtzahl der Sicherheitsgruppen für ein Benutzerprofil das Kontingent überschreitet, können Sie die Regeln mehrerer Sicherheitsgruppen zu einer Sicherheitsgruppe zusammenfassen.  

## Fügen Sie einer vorhandenen Domain RStudio Unterstützung hinzu
<a name="rstudio-add-existing-enable"></a>

Nachdem Sie die Voraussetzungen erfüllt haben, können Sie Ihrer bestehenden Domain RStudio Support hinzufügen. In den folgenden Schritten wird beschrieben, wie Sie Ihre bestehende Domain aktualisieren, um Unterstützung für hinzuzufügen RStudio. 

### Schritt 1: Löschen aller Apps in der Domain
<a name="rstudio-add-existing-enable-step1"></a>

Um Unterstützung für RStudio in Ihrer Domain hinzuzufügen, muss SageMaker AI die zugrunde liegenden Sicherheitsgruppen für alle vorhandenen Benutzerprofile aktualisieren. Um dies abzuschließen, müssen Sie alle vorhandenen Apps in der Domain löschen und erneut erstellen. Die folgenden Schritte zeigen, wie Sie alle Apps löschen. 

1.  Listen Sie alle Apps in der Domain auf. 

   ```
   aws sagemaker \
      list-apps \
      --domain-id-equals <DOMAIN_ID>
   ```

1.  Löschen Sie jede App für jedes Benutzerprofil in der Domain. 

   ```
   // JupyterServer apps 
   aws sagemaker \
       delete-app \
       --domain-id <DOMAIN_ID> \
       --user-profile-name <USER_PROFILE> \
       --app-type JupyterServer \
       --app-name <APP_NAME>
   
   // KernelGateway apps
   aws sagemaker \
       delete-app \
       --domain-id <DOMAIN_ID> \
       --user-profile-name <USER_PROFILE> \
       --app-type KernelGateway \
       --app-name <APP_NAME>
   ```

### Schritt 2 – Aktualisieren Sie alle Benutzerprofile mit der neuen Liste von Sicherheitsgruppen
<a name="rstudio-add-existing-enable-step2"></a>

 Dies ist eine einmalige Aktion, die Sie für alle vorhandenen Benutzerprofile in Ihrer Domain ausführen müssen, wenn Sie Ihre vorhandenen Sicherheitsgruppen überarbeitet haben. Dadurch wird verhindert, dass Sie das Kontingent für die maximale Anzahl von Sicherheitsgruppen erreichen. Der `UpdateUserProfile` API-Aufruf schlägt fehl, wenn der Benutzer Apps hat, die sich im [InService](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html#sagemaker-DescribeApp-response-Status)Status befinden. Löschen Sie alle Apps und rufen Sie dann die `UpdateUserProfile` API auf, um die Sicherheitsgruppen zu aktualisieren. 

**Anmerkung**  
Die folgende Anforderung für den `VPCOnly` Modus, die unter [Amazon SageMaker Studio Classic-Notebooks in einer VPC mit externen Ressourcen Connect](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-vpc-only) beschrieben ist, ist beim Hinzufügen von RStudio Support nicht mehr erforderlich, da sie vom SageMaker AI-Service verwaltet `AppSecurityGroupManagement` wird:  
[TCP-Verkehr innerhalb der Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances). Dies ist für die Konnektivität zwischen der JupyterServer App und den KernelGateway Apps erforderlich. Sie müssen den Zugriff auf mindestens Ports im Bereich `8192-65535`“ zulassen. 

```
aws sagemaker \
    update-user-profile \
    --domain-id <DOMAIN_ID>\
    --user-profile-name <USER_PROFILE> \
    --user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
```

### Schritt 3 — Aktivierung RStudio durch Aufrufen der UpdateDomain API
<a name="rstudio-add-existing-enable-step3"></a>

1.  Rufen Sie die [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)API RStudio auf, um Unterstützung für eine SageMaker KI hinzuzufügen. Der `defaultusersettings` Parameter wird nur benötigt, wenn Sie die Standardsicherheitsgruppen für Ihre Benutzerprofile überarbeitet haben. 
   +  Für `VPCOnly`-Modus: 

     ```
     aws sagemaker \
         update-domain \
         --domain-id <DOMAIN_ID> \
         --app-security-group-management Service \
         --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \
         --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
     ```
   +  Für `PublicInternetOnly`-Modus: 

     ```
     aws sagemaker \
         update-domain \
         --domain-id <DOMAIN_ID> \
         --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \
         --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
     ```

1. Überprüfen Sie, ob der Domainstatus `InService` lautet. Sobald der Domainstatus lautet`InService`, wird Unterstützung für RStudio SageMaker On-AI hinzugefügt.

   ```
   aws sagemaker \
       describe-domain \
       --domain-id <DOMAIN_ID>
   ```

1. Stellen Sie `InService` mithilfe des folgenden Befehls sicher, dass der Status der RStudio ServerPro App lautet.

   ```
   aws sagemaker list-apps --user-profile-name domain-shared
   ```

### Schritt 4 — RStudio Zugriff für bestehende Benutzer hinzufügen
<a name="rstudio-add-existing-enable-step4"></a>

 Im Rahmen des Updates in Schritt 3 markiert SageMaker KI alle vorhandenen Benutzerprofile in der Domain als `DISABLED` Standard. RStudio [AccessStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RStudioServerProAppSettings.html#sagemaker-Type-RStudioServerProAppSettings-AccessStatus) Dadurch wird verhindert, dass die in Ihrer aktuellen Lizenz zulässige Anzahl von Benutzern überschritten wird. Um den Zugriff für bestehende Benutzer hinzuzufügen, gibt es einen einmaligen Anmeldeschritt. Führen Sie das Opt-In durch, indem Sie die [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html)API wie folgt [RStudioServerProAppSettings](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UserSettings.html#sagemaker-Type-UserSettings-RStudioServerProAppSettings)aufrufen: 
+  `AccessStatus` = `ENABLED` 
+  *Optional* – `UserGroup` = `R_STUDIO_USER` oder `R_STUDIO_ADMIN` 

```
aws sagemaker \
    update-user-profile \
    --domain-id <DOMAIN_ID>\
    --user-profile-name <USER_PROFILE> \
    --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"ENABLED\"}}"
```

**Anmerkung**  
Standardmäßig RStudio beträgt die Anzahl der Benutzer, auf die zugegriffen werden kann, 60.

### Schritt 5 — Deaktivieren Sie RStudio den Zugriff für neue Benutzer
<a name="rstudio-add-existing-enable-step5"></a>

 Sofern beim Telefonieren nicht anders angegeben`UpdateDomain`, wird RStudio Unterstützung standardmäßig für alle neuen Benutzerprofile hinzugefügt, die erstellt wurden, nachdem Sie Unterstützung für RStudio keine SageMaker KI hinzugefügt haben. Um den Zugriff für ein neues Benutzerprofil zu deaktivieren, müssen Sie den Parameter `AccessStatus` im Rahmen des API-Aufrufs `DISABLED` ausdrücklich auf `CreateUserProfile` setzen. Wenn der `AccessStatus` Parameter nicht als Teil der `CreateUserProfile` API angegeben ist, lautet der Standardzugriffsstatus `ENABLED`. 

```
aws sagemaker \
    create-user-profile \
    --domain-id <DOMAIN_ID>\
    --user-profile-name <USER_PROFILE> \
    --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"DISABLED\"}}"
```

# Benutzerdefinierte Bilder RStudio ohne SageMaker KI
<a name="rstudio-byoi"></a>

Ein SageMaker Bild ist eine Datei, die Sprachpakete und andere Abhängigkeiten identifiziert, die für die Ausführung RStudio auf Amazon SageMaker AI erforderlich sind. SageMaker KI verwendet diese Images, um eine Umgebung zu erstellen, in der Sie arbeiten RStudio. Amazon SageMaker AI bietet ein integriertes RStudio Bild, das Sie verwenden können. Wenn Sie andere Funktionen benötigen, können Sie Ihre eigenen benutzerdefinierten Images mitbringen. Diese Seite enthält Informationen zu den wichtigsten Konzepten für die Verwendung benutzerdefinierter Bilder RStudio ohne SageMaker KI. Der Prozess, um Ihr eigenes Bild mit einer SageMaker KI RStudio zu verwenden, erfolgt in drei Schritten:

1. Erstellen Sie ein benutzerdefiniertes Image aus einer Dockerfile und übertragen Sie es in ein Repository in Amazon Elastic Container Registry (Amazon ECR).

1. Erstellen Sie ein SageMaker Bild, das auf ein Container-Image in Amazon ECR verweist, und hängen Sie es an Ihre Amazon SageMaker AI-Domain an.

1. Starten Sie eine neue Sitzung RStudio mit Ihrem benutzerdefinierten Bild.

Sie können Bilder und Bildversionen erstellen und Bildversionen an Ihre Domain anhängen, indem Sie das SageMaker AI-Kontrollpanel [AWS SDK für Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html), das und das [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/) verwenden. Sie können mit der SageMaker KI-Konsole auch Bilder und Bildversionen erstellen, auch wenn Sie noch nicht Mitglied einer Domain sind.

In den folgenden Themen wird gezeigt, wie Sie Ihr eigenes Image RStudio auf SageMaker KI übertragen können, indem Sie ein benutzerdefiniertes Image erstellen, anhängen und starten.

## Wichtige Begriffe
<a name="rstudio-byoi-basics"></a>

Im folgenden Abschnitt werden die wichtigsten Begriffe für die Verwendung Ihres eigenen Bilds RStudio auf SageMaker KI definiert.
+ **Dockerfile:** Ein Dockerfile ist eine Datei, die die Sprachpakete und andere Abhängigkeiten für Ihr Docker-Image identifiziert.
+ **Docker-Image**: Das Docker-Image ist ein gebautes Dockerfile. Dieses Bild wird in Amazon ECR eingecheckt und dient als Grundlage für das SageMaker KI-Bild.
+ **SageMaker Bild:** Ein SageMaker Bild ist ein Halter für eine Reihe von SageMaker Image-Versionen, die auf Docker-Images basieren. 
+ **Image-Version:** Eine Image-Version eines SageMaker Images stellt ein Docker-Image dar, das mit einem Amazon ECR-Repository kompatibel ist RStudio und dort gespeichert ist. Jede Image-Version ist unveränderlich. Diese Image-Versionen können an eine Domain angehängt und mit RStudio einer KI verwendet werden. SageMaker 

# Erfüllen der Voraussetzungen
<a name="rstudio-byoi-prerequisites"></a>

Sie müssen die folgenden Voraussetzungen erfüllen, bevor Sie Ihr eigenes Bild zur Verwendung RStudio auf Amazon SageMaker AI mitbringen können. 
+ Wenn Sie über eine bestehende Domain verfügen RStudio , die vor dem 7. April 2022 erstellt wurde, müssen Sie Ihre RStudio ServerPro Anwendung löschen und neu erstellen. Wie Sie eine Anwendung löschen können, erfahren Sie unter [Amazon SageMaker Studio Classic herunterfahren und aktualisieren](studio-tasks-update-studio.md).
+ Installieren Sie die Docker-Anwendung. Informationen zum Einrichten von Docker finden Sie unter [Orientierung und Einrichtung](https://docs.docker.com/get-started/).
+ Erstellen Sie eine lokale Kopie eines RStudio -kompatiblen Dockerfiles, das mit KI funktioniert. SageMaker Informationen zum Erstellen einer RStudio Beispiel-Docker-Datei finden Sie unter [Verwenden Sie ein benutzerdefiniertes Image, um Ihre eigene Entwicklungsumgebung RStudio auf Amazon SageMaker AI zu](https://aws.amazon.com/blogs/machine-learning/use-a-custom-image-to-bring-your-own-development-environment-to-rstudio-on-amazon-sagemaker/) verwenden.
+ Verwenden Sie eine AWS Identity and Access Management Ausführungsrolle, der die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt ist. Wenn Sie sich für eine Domain angemeldet haben, können Sie die Rolle im Bereich **Domain-Zusammenfassung** des SageMaker AI-Kontrollpanels abrufen.

  Verwendung der folgenden Berechtigungen für den Zugriff auf den Amazon Elastic Container Registry (Amazon ECR)-Service zu Ihrer Ausführungsrolle.

------
#### [ JSON ]

****  

  ```
  { 
      "Version":"2012-10-17",		 	 	  
      "Statement":[ 
          {
              "Sid": "VisualEditor0",
              "Effect":"Allow", 
              "Action":[ 
                  "ecr:CreateRepository", 
                  "ecr:BatchGetImage", 
                  "ecr:CompleteLayerUpload", 
                  "ecr:DescribeImages", 
                  "ecr:DescribeRepositories", 
                  "ecr:UploadLayerPart", 
                  "ecr:ListImages", 
                  "ecr:InitiateLayerUpload", 
                  "ecr:BatchCheckLayerAvailability", 
                  "ecr:PutImage" 
              ], 
              "Resource": "*" 
          }
      ]
  }
  ```

------
+ Installieren und konfigurieren Sie AWS CLI mit der folgenden (oder höheren) Version. Informationen zur Installation von finden Sie unter [Installation oder Aktualisierung der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). AWS CLI

  ```
  AWS CLI v1 >= 1.23.6
  AWS CLI v2 >= 2.6.2
  ```

# Benutzerdefinierte RStudio Bildspezifikationen
<a name="rstudio-byoi-specs"></a>

In diesem Leitfaden erfährst du, welche benutzerdefinierten RStudio Bildspezifikationen du verwenden kannst, wenn du dein eigenes Bild mitbringst. Es gibt zwei Arten von Anforderungen, die Sie mit Ihrem benutzerdefinierten RStudio Bild erfüllen müssen, um es mit Amazon SageMaker AI verwenden zu können. Diese Anforderungen werden von RStudio PBC und der Amazon SageMaker Studio Classic-Plattform gestellt. Wenn eine dieser Anforderungen nicht erfüllt ist, funktioniert Ihr benutzerdefiniertes Image nicht ordnungsgemäß.

## RStudio PBC-Anforderungen
<a name="rstudio-byoi-specs-rstudio"></a>

RStudio Die PBC-Anforderungen sind im Artikel [Verwenden von Docker-Images mit RStudio RStudio Workbench/Server Pro, Launcher](https://support.rstudio.com/hc/en-us/articles/360019253393-Using-Docker-images-with-RStudio-Server-Pro-Launcher-and-Kubernetes) und Kubernetes beschrieben. Folgen Sie den Anweisungen in diesem Artikel, um die Grundlage für Ihr benutzerdefiniertes Image zu erstellen. RStudio 

Anweisungen zur Installation mehrerer R-Versionen in Ihrem benutzerdefinierten Image finden Sie unter [Installieren mehrerer Versionen von R unter Linux](https://support.rstudio.com/hc/en-us/articles/215488098).

## Anforderungen SageMaker für Amazon Studio Classic
<a name="rstudio-byoi-specs-studio"></a>

Amazon SageMaker Studio Classic stellt die folgenden Installationsanforderungen für Ihr RStudio Image.
+ Sie müssen ein RStudio Basis-Image von mindestens `2025.05.1+513.pro3` verwenden. Weitere Informationen finden Sie unter [RStudio Versionierung](rstudio-version.md).
+ Installieren Sie die folgenden Pakete:

  ```
  yum install -y sudo \
  openjdk-11-jdk \
  libpng-dev \
  && yum clean all \
  && /opt/R/${R_VERSION}/bin/R -e "install.packages('reticulate', repos='https://packagemanager.rstudio.com/cran/__linux__/centos7/latest')" \
  && /opt/python/${PYTHON_VERSION}/bin/pip install --upgrade \
      'boto3>1.0<2.0' \
      'awscli>1.0<2.0' \
      'sagemaker[local]<3'
  ```
+ Sie müssen Standardwerte für die Umgebungswerte `RSTUDIO_CONNECT_URL` und `RSTUDIO_PACKAGE_MANAGER_URL` Umgebungswerte angeben.

  ```
  ENV RSTUDIO_CONNECT_URL "YOUR_CONNECT_URL"
  ENV RSTUDIO_PACKAGE_MANAGER_URL "YOUR_PACKAGE_MANAGER_URL"
  ENV RSTUDIO_FORCE_NON_ZERO_EXIT_CODE 1
  ```

Die folgenden allgemeinen Spezifikationen gelten für das Image, das durch eine RStudio Image-Version dargestellt wird.

**Das Image wird ausgeführt**  
`ENTRYPOINT`und `CMD` Anweisungen werden außer Kraft gesetzt, sodass das Image als RSession Anwendung ausgeführt wird.

**Stoppen des Images**  
Die `DeleteApp`-API gibt das Äquivalent zu einem `docker stop`-Befehl aus. Andere Prozesse im Container erhalten die SIGKILL/SIGTERM Signale nicht.

**Dateisystem**  
Die Verzeichnisse `/opt/.sagemakerinternal` und `/opt/ml` sind reserviert. Alle Daten in diesen Verzeichnissen sind zur Laufzeit möglicherweise nicht sichtbar.

**Benutzerdaten**  
Jeder Benutzer in einer SageMaker AI-Domain erhält ein Benutzerverzeichnis auf einem gemeinsam genutzten Amazon Elastic File System-Volume im Image. Der Speicherort des aktuellen Benutzerverzeichnisses auf dem Amazon Elastic File System-Volume ist `/home/sagemaker-user`.

**Metadaten**  
Eine Metadatendatei befindet sich unter. `/opt/ml/metadata/resource-metadata.json` Den im Image definierten Variablen werden keine zusätzlichen Umgebungsvariablen hinzugefügt. Weitere Informationen finden Sie unter [Abrufen von App-Metadaten](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app).

**GPU**  
Auf einer GPU-Instance wird das Image mit der `--gpus` Option ausgeführt. Nur das CUDA-Toolkit sollte im Image enthalten sein, nicht die NVIDIA-Treiber. Weitere Informationen finden Sie im [NVIDIA-Benutzerhandbuch](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html).

**Metriken und Protokollierung**  
Protokolle des RSession Prozesses werden CloudWatch im Kundenkonto an Amazon gesendet. Der Name der Protokollgruppe ist `/aws/sagemaker/studio`. Der Name des Protokollstream ist `$domainID/$userProfileName/RSession/$appName`.

**Größe des Bildes**  
Die Bildgröße ist auf 25 GB begrenzt. Führen Sie `docker image ls` aus, um die Größe Ihres Bilds anzuzeigen.

# Erstellen Sie ein benutzerdefiniertes RStudio Bild
<a name="rstudio-byoi-create"></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.

In diesem Thema wird beschrieben, wie Sie mithilfe der SageMaker AI-Konsole und der ein benutzerdefiniertes RStudio Image erstellen können AWS CLI. Wenn Sie das verwenden AWS CLI, müssen Sie die Schritte von Ihrem lokalen Computer aus ausführen. Die folgenden Schritte funktionieren nicht in Amazon SageMaker Studio Classic.

Wenn Sie ein Image erstellen, erstellt SageMaker AI auch eine erste Image-Version. Die Image-Version repräsentiert ein Container-Image in [Amazon Elastic Container Registry (ECR)](https://console.aws.amazon.com/ecr/). Das Container-Image muss die Anforderungen erfüllen, damit es verwendet werden kann RStudio. Weitere Informationen finden Sie unter [Benutzerdefinierte RStudio Bildspezifikationen](rstudio-byoi-specs.md).

Informationen zum lokalen Testen Ihres Images und zum Beheben häufig auftretender Probleme finden Sie im [SageMaker Studio Custom Image Samples Repo](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md).

**Topics**
+ [Fügen Sie Amazon SageMaker ECR ein KI-kompatibles RStudio Docker-Container-Image hinzu](#rstudio-byoi-sdk-add-container-image)
+ [Erstellen Sie ein SageMaker Image von der Konsole aus](#rstudio-byoi-create-console)
+ [Erstellen Sie ein Bild aus dem AWS CLI](#rstudio-byoi-create-cli)

## Fügen Sie Amazon SageMaker ECR ein KI-kompatibles RStudio Docker-Container-Image hinzu
<a name="rstudio-byoi-sdk-add-container-image"></a>

Gehen Sie wie folgt vor, um ein Docker-Container-Image zu Amazon ECR hinzuzufügen:
+ Erstellen Sie ein Amazon-ECR-Repository.
+ Authentifizieren bei Amazon ECR.
+ Erstellen Sie ein SageMaker KI-kompatibles Docker-Image RStudio .
+ Übertragen Sie das Image in das Amazon-ECR-Repository.

**Anmerkung**  
Das Amazon ECR-Repository muss sich in derselben Domain befinden AWS-Region wie Ihre Domain.

**So erstellt man ein Docker-Image und fügt es zu Amazon ECR**

1. Erstellen Sie ein Amazon ECR-Repository mit dem AWS CLI. Informationen zum Erstellen des Repositorys mithilfe der Amazon ECR-Konsole finden Sie unter [Erstellen eines Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --repository-name rstudio-custom \
       --image-scanning-configuration scanOnPush=true
   ```

   Antwort:

   ```
   {
       "repository": {
           "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/rstudio-custom",
           "registryId": "acct-id",
           "repositoryName": "rstudio-custom",
           "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom",
           ...
       }
   }
   ```

1. Authentifizieren Sie sich bei Amazon ECR mit der Repository-URI, die als Antwort vom Befehl `create-repository` zurückgegeben wird. Stellen Sie sicher, dass die Docker-Anwendung ausgeführt wird. Weitere Informationen finden Sie unter [Registrierungsauthentifizierung](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth).

   ```
   aws ecr get-login-password | \
       docker login --username AWS --password-stdin <repository-uri>
   ```

   Antwort:

   ```
   Login Succeeded
   ```

1. Erstellen Sie das Docker-Image. Führen Sie im Verzeichnis, das Ihre Docker-Datei enthält, den folgenden Befehl aus.

   ```
   docker build .
   ```

1. Kennzeichnen Sie Ihr erstelltes Image mit einem eindeutigen Tag.

   ```
   docker tag <image-id> "<repository-uri>:<tag>"
   ```

1. Verschieben Sie das Container-Image in das Amazon ECR-Repository. Weitere Informationen finden Sie unter [ImagePush](https://docs.docker.com/engine/api/v1.40/#operation/ImagePush)[Ein Bild übertragen](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html).

   ```
   docker push <repository-uri>:<tag>
   ```

   Antwort:

   ```
   The push refers to repository [<account-id>.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom]
   r: digest: <digest> size: 3066
   ```

## Erstellen Sie ein SageMaker Image von der Konsole aus
<a name="rstudio-byoi-create-console"></a>

**So erstellen Sie ein Image**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** die Option **Images**. 

1. Wählen Sie auf der Seite **Benutzerdefinierte Images** die Option **Image erstellen** aus.

1. Geben Sie als **Image-Quelle** den Registry-Pfad zum Container-Image in Amazon ECR ein. Der Pfad hat das folgende Format:

   ` acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest] `

1. Wählen Sie **Next**.

1. Geben Sie unter **Image-Eigenschaften** Folgendes ein:
   + Image-Name – Der Name muss für Ihr Konto im aktuellen AWS-Region eindeutig sein.
   + (Optional) Anzeigename des Images – Der Name, der auf der Domainbenutzeroberfläche angezeigt wird. Wenn nicht angegeben, wird `Image name` angezeigt.
   + (Optional) Beschreibung – Eine Beschreibung des Images.
   + IAM-Rolle — Der Rolle muss die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt sein. Verwenden Sie das Dropdown-Menü, um eine der folgenden Optionen zu wählen:
     + Erstellen Sie eine neue Rolle – Geben Sie alle zusätzlichen Amazon Simple Storage Service (Amazon S3) -Buckets an, auf die Ihre Notebook-Benutzer zugreifen sollen. Wenn Sie den Zugriff auf zusätzliche Bereiche nicht zulassen möchten, wählen Sie **Keine**.

       SageMaker KI ordnet die `AmazonSageMakerFullAccess` Richtlinie der Rolle zu. Die Rolle ermöglicht Ihren Notebook-Benutzern den Zugriff auf die Amazon-S3-Buckets, die neben den Häkchen aufgeführt sind.
     + Geben Sie einen benutzerdefinierten IAM-Rollennamen ein – Geben Sie den Amazon-Ressourcennamen (ARN) Ihrer IAM-Rolle ein.
     + Bestehende Rolle verwenden – Wählen Sie eine Ihrer vorhandenen Rollen aus der Liste aus.
   + (Optional) Image-Tags – Wählen Sie **Neues Tag hinzufügen**. Sie können bis zu 50 Tags hinzufügen. Tags können mit der SageMaker AI-Konsole oder der SageMaker `Search` KI-API durchsucht werden.

1. Wählen Sie unter **Bildtyp** die Option RStudio Bild aus.

1. Wählen Sie **Absenden** aus.

Das neue Image wird in der Liste **Benutzerdefinierte Images** angezeigt und kurz hervorgehoben. Nachdem das Image erfolgreich erstellt wurde, können Sie den Namen des Images wählen, um seine Eigenschaften anzuzeigen, oder **Version erstellen** wählen, um eine weitere Version zu erstellen.

**Um eine weitere Image-Version zu erstellen**

1. Wählen Sie **Version erstellen** in derselben Zeile wie das Image aus.

1. Geben Sie unter **Image-Quelle** den Registry-Pfad zum Amazon-ECR-Image ein. Das Bild sollte nicht dasselbe Bild sein, das in einer früheren Version des SageMaker AI-Images verwendet wurde.

Um das benutzerdefinierte Bild in zu verwenden RStudio, müssen Sie es an Ihre Domain anhängen. Weitere Informationen finden Sie unter [Hängen Sie ein benutzerdefiniertes SageMaker Bild an](rstudio-byoi-attach.md).

## Erstellen Sie ein Bild aus dem AWS CLI
<a name="rstudio-byoi-create-cli"></a>

In diesem Abschnitt wird gezeigt, wie Sie mit dem ein benutzerdefiniertes SageMaker Amazon-Image erstellen AWS CLI.

Gehen Sie wie folgt vor, um ein SageMaker Bild zu erstellen:
+ Erstellen einer `Image` VPC
+ Erstellen einer `ImageVersion` VPC
+ Erstellen einer Konfigurationsdatei
+ Erstellen einer `AppImageConfig`.

**Um die SageMaker Bild-Entitäten zu erstellen**

1. Erstellen Sie ein SageMaker Bild. Der Rolle ARN muss mindestens die `AmazonSageMakerFullAccessPolicy` Richtlinie angehängt sein.

   ```
   aws sagemaker create-image \
       --image-name rstudio-custom-image \
       --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>
   ```

   Antwort:

   ```
   {
       "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/rstudio-custom-image"
   }
   ```

1. Erstellen Sie eine SageMaker Image-Version aus dem Image. Übergeben Sie den eindeutigen Tag-Wert, den Sie ausgewählt haben, als Sie das Image an Amazon ECR übertragen haben.

   ```
   aws sagemaker create-image-version \
       --image-name rstudio-custom-image \
       --base-image <repository-uri>:<tag>
   ```

   Antwort:

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-image/1"
   }
   ```

1. Stellen Sie sicher, dass die Image-Version erfolgreich erstellt wurde.

   ```
   aws sagemaker describe-image-version \
       --image-name rstudio-custom-image \
       --version 1
   ```

   Antwort:

   ```
   {
       "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-custom-image/1",
       "ImageVersionStatus": "CREATED"
   }
   ```
**Anmerkung**  
Wenn die Antwort `"ImageVersionStatus": "CREATED_FAILED"` lautet, enthält die Antwort auch den Grund für den Fehler. Ein Problem mit Berechtigungen ist eine häufige Fehlerursache. Sie können auch Ihre CloudWatch Amazon-Logs überprüfen. Der Name der Protokollgruppe ist `/aws/sagemaker/studio`. Der Name des Protokollstroms ist `$domainID/$userProfileName/KernelGateway/$appName`.

1. Erstellen Sie eine Konfigurationsdatei mit dem Namen `app-image-config-input.json`. Die App-Image-Konfiguration wird zur Konfiguration für die Ausführung eines SageMaker Images als Kernel-Gateway-Anwendung verwendet.

   ```
   {
       "AppImageConfigName": "rstudio-custom-config"
   }
   ```

1. Erstellen Sie das AppImageConfig mit der Datei, die Sie im vorherigen Schritt erstellt haben.

   ```
   aws sagemaker create-app-image-config \
       --cli-input-json file://app-image-config-input.json
   ```

   Antwort:

   ```
   {
       "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/r-image-config"
   }
   ```

# Hängen Sie ein benutzerdefiniertes SageMaker Bild an
<a name="rstudio-byoi-attach"></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.

Diese Anleitung zeigt, wie Sie mithilfe der SageMaker AI-Konsole oder der AWS Command Line Interface (AWS CLI) ein benutzerdefiniertes RStudio Bild an Ihre Amazon SageMaker AI-Domain anhängen. 

Um ein benutzerdefiniertes SageMaker Bild zu verwenden, müssen Sie ein benutzerdefiniertes RStudio Bild an Ihre Domain anhängen. Wenn Sie eine Image-Version anhängen, wird sie im RStudio Launcher angezeigt und ist in der Dropdownliste **Bild auswählen** verfügbar. Sie verwenden das Drop-down-Menü, um das von verwendete Bild zu ändern. RStudio

Es gibt ein Limit für die Anzahl der Imageversionen, die Sie anhängen können. Wenn Sie das Limit erreicht haben, müssen Sie zuerst eine Version trennen, damit Sie eine andere Version des Images anhängen können.

**Topics**
+ [Anfügen einer Image-Version an Ihre Domain mithilfe der Konsole](#rstudio-byoi-attach-console)
+ [Hängen Sie eine bestehende Image-Version an Ihre Domain an, indem Sie den AWS CLI](#rstudio-byoi-attach-cli)

## Anfügen einer Image-Version an Ihre Domain mithilfe der Konsole
<a name="rstudio-byoi-attach-console"></a>

Sie können über das Control Panel der SageMaker AI-Konsole eine benutzerdefinierte SageMaker Image-Version an Ihre Domain anhängen. Sie können auch ein benutzerdefiniertes SageMaker Image und eine Image-Version erstellen und diese Version dann an Ihre Domain anhängen.

**Um ein vorhandenes Image anzuhängen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die gewünschte Domain aus.

1. Wählen Sie **Environment** (Umgebung) aus.

1. Wählen Sie unter **Benutzerdefinierte SageMaker Studio Classic-Bilder, die an die Domain angehängt** sind, die Option **Bild anhängen** aus.

1. Wählen Sie für **Image-Quelle** die Option **Bestehendes Image** oder **Neues Image**aus.

   Wenn Sie **Existierendes Bild** auswählen, wählen Sie ein Bild aus dem Amazon SageMaker Image Store aus.

   Wenn Sie **Neues Image** auswählen, geben Sie den Amazon ECR-Registry-Pfad für Ihr Docker-Image an. Der Pfad muss sich in der gleichen AWS-Region wie die Domain befinden. Das Amazon ECR-Repo muss sich in demselben Konto wie Ihre Domain befinden, oder es müssen kontoübergreifende Berechtigungen für SageMaker KI aktiviert sein.

1. Wählen Sie einen vorhandenen Benutzer aus der Liste aus.

1. Wählen Sie eine Version des Images aus der Liste aus.

1. Wählen Sie **Weiter** aus.

1. Geben Sie Werte für **Image-Name**, **Image-Anzeigename** und **Beschreibung** ein.

1. Wählen Sie die IAM-Rolle. Weitere Informationen finden Sie unter [Erstellen Sie ein benutzerdefiniertes RStudio Bild](rstudio-byoi-create.md).

1. (Optional) Fügen Sie Tags für das Image hinzu.

1. (Optional) Wählen Sie **Neues Tag hinzufügen** und fügen Sie dann ein Konfigurations-Tag hinzu.

1. **Wählen Sie als **Bildtyp** die Option Bild aus. RStudio**

1. Wählen Sie **Absenden** aus.

Warten Sie, bis die Image-Version an die Domain angehängt ist. Nachdem die Version angehängt wurde, wird sie in der Liste der **benutzerdefinierten Images** angezeigt und kurz hervorgehoben.

## Hängen Sie eine bestehende Image-Version an Ihre Domain an, indem Sie den AWS CLI
<a name="rstudio-byoi-attach-cli"></a>

Es werden zwei Methoden vorgestellt, um die Image-Version mithilfe der AWS CLI an Ihre Domain anzuhängen. Bei der ersten Methode erstellen Sie eine neue Domain mit der angehängten Version. Diese Methode ist einfacher, aber Sie müssen die Informationen und die Ausführungsrolle für Amazon Virtual Private Cloud (Amazon VPC) angeben, die für die Erstellung der Domain erforderlich sind.

Wenn Sie bereits Mitglied der Domain sind, können Sie die zweite Methode verwenden, um die Image-Version an Ihre aktuelle Domain anzuhängen. In diesem Fall müssen Sie die Amazon VPC-Informationen und die Ausführungsrolle nicht festlegen. Nachdem Sie die Version angehängt haben, löschen Sie alle Anwendungen in Ihrer Domain und starten Sie sie neu RStudio.

### Hängen Sie das SageMaker Bild an eine neue Domain an
<a name="rstudio-byoi-cli-attach-new-domain"></a>

Um diese Methode verwenden zu können, müssen Sie eine Ausführungsrolle angeben, der die [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)Richtlinie angehängt ist.

Gehen Sie wie folgt vor, um die Domain zu erstellen und das benutzerdefinierte SageMaker AI-Image anzuhängen:
+ Holen Sie sich Ihre Standard-VPC-ID und Ihr IDs Subnetz.
+ Erstellen Sie die Konfigurationsdatei für die Domain, die das Image spezifiziert.
+ Erstellen Sie die Domain mit der Konfigurationsdatei.

**Um das benutzerdefinierte SageMaker Image zu Ihrer Domain hinzuzufügen**

1. Holen Sie sich Ihre Standard-VPC-ID.

   ```
   aws ec2 describe-vpcs \
       --filters Name=isDefault,Values=true \
       --query "Vpcs[0].VpcId" --output text
   ```

   Antwort:

   ```
   vpc-xxxxxxxx
   ```

1. Rufen Sie Ihr Standardsubnetz IDs mit der VPC-ID aus dem vorherigen Schritt ab.

   ```
   aws ec2 describe-subnets \
       --filters Name=vpc-id,Values=<vpc-id> \
       --query "Subnets[*].SubnetId" --output json
   ```

   Antwort:

   ```
   [
       "subnet-b55171dd",
       "subnet-8a5f99c6",
       "subnet-e88d1392"
   ]
   ```

1. Erstellen Sie eine Konfigurationsdatei namens `create-domain-input.json`. Fügen Sie die VPC-ID, das Subnetz IDs und `AppImageConfigName` aus den vorherigen Schritten ein. `ImageName` Da `ImageVersionNumber` nicht angegeben ist, wird die neueste Version des Images verwendet, was in diesem Fall die einzige Version ist. Ihre Ausführungsrolle muss die Anforderungen in [Erfüllen der Voraussetzungen](rstudio-byoi-prerequisites.md) erfüllen.

   ```
   {
     "DomainName": "domain-with-custom-r-image",
     "VpcId": "<vpc-id>",
     "SubnetIds": [
       "<subnet-ids>"
     ],
     "DomainSettings": {
       "RStudioServerProDomainSettings": {
         "DomainExecutionRoleArn": "<execution-role>"
       }
     },
     "DefaultUserSettings": {
       "ExecutionRole": "<execution-role>",
       "RSessionAppSettings": {
         "CustomImages": [
           {
            "AppImageConfigName": "rstudio-custom-config",
            "ImageName": "rstudio-custom-image"
           }
         ]
        }
     },
     "AuthMode": "IAM"
   }
   ```

1. Erstellen Sie die Domain mit dem angehängten benutzerdefinierten SageMaker Image.

   ```
   aws sagemaker create-domain \
       --cli-input-json file://create-domain-input.json
   ```

   Antwort:

   ```
   {
       "DomainArn": "arn:aws:sagemaker:region:acct-id:domain/domain-id",
       "Url": "https://domain-id.studio.region.sagemaker.aws/..."
   }
   ```

### Hängen Sie das SageMaker Bild an eine bestehende Domain an
<a name="rstudio-byoi-cli-attach-current-domain"></a>

Bei dieser Methode wird davon ausgegangen, dass Sie bereits bei der Domain angemeldet sind. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

**Anmerkung**  
Sie müssen alle Anwendungen in Ihrer Domain löschen, um die Domain mit der neuen Image-Version zu aktualisieren. Informationen zum Löschen dieser Anwendungen finden Sie unter [Löschen Sie eine Amazon SageMaker AI-Domain](gs-studio-delete-domain.md).

Gehen Sie wie folgt vor, um das SageMaker Bild zu Ihrer aktuellen Domain hinzuzufügen.
+ Holen Sie sich Ihr `DomainID` von der SageMaker AI-Konsole.
+ Verwenden Sie das `DomainID`, um das `DefaultUserSettings` für die Domain abzurufen.
+ Fügen Sie das `ImageName` und `AppImageConfig` als ein `CustomImage` zum `DefaultUserSettings` hinzu.
+ Aktualisieren Sie Ihre Domain so, dass sie das benutzerdefinierte Image enthält.

**Um das benutzerdefinierte SageMaker Bild zu Ihrer Domain hinzuzufügen**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die gewünschte Domain aus.

1. Wählen Sie **Domaineinstellungen** aus.

1. Suchen Sie unter **Allgemeine Einstellungen** nach der **Domain-ID**. Die ID hat das folgende Format: `d-xxxxxxxxxxxx`.

1. Verwenden Sie die Domain-ID, um die Beschreibung der Domain abzurufen.

   ```
   aws sagemaker describe-domain \
       --domain-id <d-xxxxxxxxxxxx>
   ```

   Antwort:

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       "DefaultUserSettings": {
         "KernelGatewayAppSettings": {
           "CustomImages": [
           ],
           ...
         }
       }
   }
   ```

1. Speichern Sie den `DefaultUserSettings` Abschnitt der Antwort in einer Datei mit dem Namen `update-domain-input.json`.

1. Fügen Sie das `ImageName` und `AppImageConfigName` aus den vorherigen Schritten als benutzerdefiniertes Image ein. Da `ImageVersionNumber` nicht angegeben ist, wird die neueste Version des Images verwendet, was in diesem Fall die einzige Version ist.

   ```
   {
       "DefaultUserSettings": {
           "RSessionAppSettings": { 
              "CustomImages": [ 
                 { 
                    "ImageName": "rstudio-custom-image",
                    "AppImageConfigName": "rstudio-custom-config"
                 }
              ]
           }
       }
   }
   ```

1. Verwenden Sie die Domain-ID und die Datei mit den Standardbenutzereinstellungen, um Ihre Domain zu aktualisieren.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://update-domain-input.json
   ```

   Antwort:

   ```
   {
       "DomainArn": "arn:aws:sagemaker:region:acct-id:domain/domain-id"
   }
   ```

1. Löschen Sie die `RStudioServerPro`-Anwendung. Sie müssen die `RStudioServerPro` gemeinsam genutzte Domainanwendung neu starten, damit die RStudio Launcher-Benutzeroberfläche die neuesten Änderungen übernimmt.

   ```
   aws sagemaker delete-app \
       --domain-id <d-xxxxxxxxxxxx> --user-profile-name domain-shared \
       --app-type RStudioServerPro --app-name default
   ```

1. Erstellen Sie eine neue `RStudioServerPro`-Anwendung. Sie müssen diese Anwendung mit Hilfe von AWS CLI erstellen.

   ```
   aws sagemaker create-app \
       --domain-id <d-xxxxxxxxxxxx> --user-profile-name domain-shared \
       --app-type RStudioServerPro --app-name default
   ```

# Starten Sie ein benutzerdefiniertes Image SageMaker in RStudio
<a name="rstudio-byoi-launch"></a>

Sie können Ihr benutzerdefiniertes Image verwenden, wenn Sie eine RStudio Anwendung von der Konsole aus starten. Nachdem Sie Ihr benutzerdefiniertes SageMaker Image erstellt und an Ihre Domain angehängt haben, wird das Bild im Dialogfeld zur Bildauswahl des RStudio Launchers angezeigt. Um eine neue RStudio App zu starten, folgen Sie den Schritten unter [Starten Sie RSessions vom RStudio Launcher aus](rstudio-launcher.md) und wählen Sie Ihr benutzerdefiniertes Bild aus, wie in der folgenden Abbildung gezeigt.

![\[Screenshot des RStudio Launchers mit Bild-Dropdown.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/rstudio-launcher-custom.png)


# Bildressourcen bereinigen
<a name="rstudio-byoi-sdk-cleanup"></a>

Diese Anleitung zeigt, wie Sie RStudio Bildressourcen bereinigen, die Sie in den vorherigen Abschnitten erstellt haben. Um ein Bild zu löschen, führen Sie die folgenden Schritte entweder mit der SageMaker AI-Konsole oder dem aus AWS CLI, wie in dieser Anleitung gezeigt.
+ Trennen Sie das Bild und die Bildversionen von Ihrer Amazon SageMaker AI-Domain.
+ Löschen Sie das Bild, die Image-Version und die App-Image-Konfiguration.

Nachdem Sie diese Schritte abgeschlossen haben, können Sie das Container-Image und das Repository aus Amazon ECR löschen. Weitere Informationen zum Löschen des Container-Images und des Repositorys finden Sie unter [Löschen eines Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-delete.html).

## Bereinigen Sie Ressourcen von der SageMaker AI-Konsole
<a name="rstudio-byoi-sdk-cleanup-console"></a>

Wenn Sie ein Image von einer Domain trennen, werden alle Versionen des Images getrennt. Wenn ein Image getrennt wird, verlieren alle Benutzer der Domain den Zugriff auf die Image-Versionen.

**Trennen eines Images**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die gewünschte Domain aus.

1. Wählen Sie **Environment** (Umgebung) aus.

1. Wählen Sie unter **An die Domain angehängte benutzerdefinierte Bilder** das Bild aus und klicken Sie dann auf **Trennen**.

1. (Optional) Um das Bild und alle Versionen aus SageMaker AI zu löschen, wählen Sie **Auch die ausgewählten Bilder löschen...** aus. . Dadurch werden die zugehörigen Bilder nicht aus Amazon ECR gelöscht.

1. Wählen Sie **Trennen** aus.

## Säubere Ressourcen aus dem AWS CLI
<a name="rstudio-byoi-sdk-cleanup-cli"></a>

**So bereinigen Sie Ressourcen**

1. Trennen Sie das Image und die Image-Versionen von Ihrer Domain, indem Sie eine leere benutzerdefinierte Image-Liste an die Domain übergeben. Öffnen Sie die `update-domain-input.json`-Datei, die Sie in [Hängen Sie das SageMaker Bild an Ihre aktuelle Domain an](studio-byoi-attach.md#studio-byoi-sdk-attach-current-domain) erstellt haben.

1. Löschen Sie die `RSessionAppSettings` benutzerdefinierten Images und speichern Sie die Datei. Ändern Sie die `KernelGatewayAppSettings` benutzerdefinierten Bilder nicht.

   ```
   {
       "DomainId": "d-xxxxxxxxxxxx",
       "DefaultUserSettings": {
         "KernelGatewayAppSettings": {
            "CustomImages": [
            ],
            ...
         },
         "RSessionAppSettings": { 
           "CustomImages": [ 
           ],
           "DefaultResourceSpec": { 
           }
           ...
         }
       }
   }
   ```

1. Verwenden Sie die Domain-ID und die Datei mit den Standardbenutzereinstellungen, um Ihre Domain zu aktualisieren.

   ```
   aws sagemaker update-domain \
       --domain-id <d-xxxxxxxxxxxx> \
       --cli-input-json file://update-domain-input.json
   ```

   Antwort:

   ```
   {
       "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx"
   }
   ```

1. Löschen Sie die App-Image-Konfiguration.

   ```
   aws sagemaker delete-app-image-config \
       --app-image-config-name rstudio-image-config
   ```

1. Löschen Sie das SageMaker Bild, wodurch auch alle Image-Versionen gelöscht werden. Die Container-Images in Amazon ECR, die durch die Image-Versionen repräsentiert werden, werden nicht gelöscht.

   ```
   aws sagemaker delete-image \
       --image-name rstudio-image
   ```

# Erstellen Sie einen zu verwendenden Benutzer RStudio
<a name="rstudio-create-user"></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.

Nachdem Ihre Amazon SageMaker AI-Domain RStudio aktiviert ist, können Sie der Domain Benutzerprofile (UserProfiles) hinzufügen. In den folgenden Themen wird gezeigt, wie Sie Benutzerprofile erstellen, die zur Verwendung autorisiert sind RStudio, sowie wie Sie ein vorhandenes Benutzerprofil aktualisieren. Informationen zum Löschen einer RStudio App oder Domain finden Sie unter [Löschen einer Amazon SageMaker AI-Domain](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-delete-domain.html). UserProfile 

**Anmerkung**  
Das Limit für die Gesamtzahl von UserProfiles in einer Amazon SageMaker AI-Domain liegt bei 60.

 Es gibt zwei Arten von Benutzern: 
+ Nicht autorisiert: Dieser Benutzer kann nicht auf die RStudio App zugreifen.
+ Autorisiert: Dieser Benutzer kann auf die RStudio App zugreifen und einen der RStudio Lizenzplätze verwenden. Standardmäßig ist ein neuer Benutzer, `Authorized` wenn die Domain für aktiviert ist RStudio.

Das Ändern des Autorisierungsstatus eines Benutzers ist nur von `Unauthorized` zu `Authorized` gültig. Wenn ein Benutzer autorisiert ist, kann ihm eine der folgenden Zugriffsebenen gewährt werden RStudio. 
+  RStudio Benutzer: Dies ist ein RStudio Standardbenutzer und kann darauf zugreifen RStudio. 
+  RStudio Admin: Der Administrator Ihrer Amazon SageMaker AI-Domain kann Benutzer erstellen, bestehende Benutzer hinzufügen und die Berechtigungen vorhandener Benutzer aktualisieren. Administratoren können auch auf das RStudio Administrator-Dashboard zugreifen. Dieser Administrator ist jedoch nicht in der Lage, Parameter zu aktualisieren, die von Amazon SageMaker AI verwaltet werden.

## Methoden zum Erstellen von Benutzern
<a name="rstudio-create-user-methods"></a>

Die folgenden Themen zeigen, wie Sie einen Benutzer in Ihrer RStudio -aktivierten Amazon SageMaker AI-Domain erstellen.

 **Benutzerkonsole erstellen** 

Um von der Konsole aus einen Benutzer in Ihrer RStudio -aktivierten Amazon SageMaker AI-Domain zu erstellen, führen Sie die Schritte unter aus. [Benutzerprofil hinzufügen](domain-user-profile-add.md)

 **Benutzer-CLI erstellen** 

 Der folgende Befehl zeigt, wie Benutzer zu einer Amazon SageMaker AI-Domain mit IAM-Authentifizierung hinzugefügt werden. Ein Benutzer kann entweder der Benutzergruppe `R_STUDIO_USER` oder `R_STUDIO_ADMIN` angehören. 

```
aws sagemaker create-user-profile --region <REGION> \
    --domain-id <DOMAIN-ID> \
    --user-profile-name <USER_PROFILE_NAME-ID> \
    --user-settings RStudioServerProAppSettings={UserGroup=<USER-GROUP>}
```

Der folgende Befehl zeigt, wie Benutzer zu einer Amazon SageMaker AI-Domain mit Authentifizierung mithilfe von IAM Identity Center hinzugefügt werden. Ein Benutzer kann entweder der Benutzergruppe `R_STUDIO_USER` oder `R_STUDIO_ADMIN` angehören. 

```
aws sagemaker create-user-profile --region <REGION> \
    --domain-id <DOMAIN-ID> \
    --user-profile-name <USER_PROFILE_NAME-ID> \
    --user-settings RStudioServerProAppSettings={UserGroup=<USER-GROUP>} \
    --single-sign-on-user-identifier UserName \
    --single-sign-on-user-value <USER-NAME>
```

# Melden Sie sich RStudio als ein anderer Benutzer an
<a name="rstudio-login-another"></a>

Das folgende Thema zeigt, wie Sie sich als anderer Benutzer RStudio bei Amazon SageMaker AI anmelden.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **Admin-Konfigurationen**.

1. Wählen Sie unter **Admin-Konfigurationen** **Domains** aus. 

1. Wählen Sie die Domain aus, die das Benutzerprofil enthält.

1.  Wählen Sie einen Benutzernamen aus der Benutzerliste aus. Dadurch wird eine neue Seite mit Details zum Benutzerprofil und den laufenden Apps geöffnet. 

1.  Wählen Sie **Starten** aus. 

1.  Wählen Sie aus der Drop-down-Liste aus, ob **RStudio**Sie eine RStudio Instance starten möchten. 

# Beenden von Sitzungen für einen anderen Benutzer
<a name="rstudio-terminate-another"></a>

Das folgende Thema zeigt, wie Sie Sitzungen für einen anderen Benutzer in RStudio Amazon SageMaker AI beenden.

1.  Identifizieren Sie in der Liste der laufenden Apps die App aus, die Sie löschen möchten. 

1.  Klicken Sie für die App, die Sie löschen, auf die entsprechende Schaltfläche **App löschen**. 

# Verwenden Sie das RStudio Administrator-Dashboard
<a name="rstudio-admin"></a>

 In diesem Thema wird gezeigt, wie Sie auf das RStudio Administrator-Dashboard zugreifen und es verwenden. Mit dem RStudio Administrator-Dashboard können Administratoren Benutzer verwalten und RSessions Informationen zur Nutzung von RStudio Serverinstanzen und Amazon CloudWatch Logs einsehen.

 

## Starten Sie das RStudio Administrator-Dashboard
<a name="rstudio-admin-launch"></a>

Die `R_STUDIO_ADMIN` Autorisierung ermöglicht dem Benutzer den Zugriff auf das RStudio Administrator-Dashboard. Ein `R_STUDIO_ADMIN` Benutzer kann auf das RStudio Administrator-Dashboard zugreifen, indem er es `admin` in seiner RStudio URL manuell `workspaces` ersetzt. Im Folgenden wird gezeigt, wie Sie die URL für den Zugriff auf das RStudio Administrator-Dashboard ändern.

Zum Beispiel die folgende RStudio URL: 

```
https://<DOMAIN-ID>.studio.us-east-2.sagemaker.aws/rstudio/default/s/<SESSION-ID>/workspaces
```

Kann konvertiert werden in: 

```
https://<DOMAIN-ID>.studio.us-east-2.sagemaker.aws/rstudio/default/s/<SESSION-ID>/admin
```

## Registerkarte Dashboard
<a name="rstudio-admin-dashboard"></a>

Diese Registerkarte bietet einen Überblick über die Auslastung Ihrer RStudio Serverinstanz sowie Informationen zur Anzahl der aktiven Instanzen RSessions.

## Registerkarte Sitzungen
<a name="rstudio-admin-sessions"></a>

Auf dieser Registerkarte finden Sie Informationen zu den aktiven RSessions Geräten, z. B. zu dem Benutzer RSessions, der die gestartet hat, zur Zeit, zu der sie ausgeführt RSessions wurden, und zu ihrer Ressourcenauslastung.

## Registerkarte Benutzer
<a name="rstudio-admin-users"></a>

Diese Registerkarte enthält Informationen über die RStudio autorisierten Benutzer in der Domäne, z. B. den Zeitpunkt, zu dem die letzte Version gestartet RSession wurde, und deren Ressourcenauslastung.

## Registerkarte Statistiken
<a name="rstudio-admin-stats"></a>

Diese Registerkarte enthält Informationen zur Nutzung Ihrer RStudio Serverinstanz.

## Registerkarte Protokolle
<a name="rstudio-admin-logs"></a>

Auf dieser Registerkarte werden Amazon CloudWatch Logs für die RStudio Server-Instance angezeigt. Weitere Informationen zur Protokollierung von Ereignissen mit Amazon CloudWatch Logs finden Sie unter [Was ist Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) .

# Herunterfahren RStudio
<a name="rstudio-shutdown"></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.

Um Ihre Posit Workbench und die zugehörige RStudio ServerPro App herunterzufahren und neu zu starten, müssen Sie zuerst alle vorhandenen RSessions Apps herunterfahren. Sie können die RSession Gateway-Apps von innen RStudio herunterfahren. Anschließend können Sie die RStudio ServerPro App mit dem herunterfahren AWS CLI. Nachdem die RStudio ServerPro App heruntergefahren wurde, müssen Sie sie RStudio über die SageMaker AI-Konsole erneut öffnen.

Nicht gespeicherte Notebook-Informationen gehen dabei verloren. Die Benutzerdaten im Amazon EFS-Volume sind nicht betroffen.

**Anmerkung**  
Wenn Sie ein benutzerdefiniertes Image mit verwenden, stellen Sie sicher RStudio, dass Ihr Docker-Image eine RStudio Version verwendet, die mit der Version von Posit Workbench kompatibel ist, die von SageMaker AI verwendet wird, nachdem Sie Ihre RStudio ServerPro App neu gestartet haben.

Die folgenden Themen zeigen, wie Sie das RSession Gateway und die RStudio ServerPro Apps herunterfahren und neu starten.

## Sperren Sie Ihre RSessions
<a name="rstudio-suspend"></a>

Führen Sie das folgende Verfahren aus, um alle Ihre auszusetzen RSessions.

1. Identifizieren Sie im RStudio Launcher die RSession , die Sie sperren möchten. 

1. Wählen Sie **Aussetzen** für die Sitzung aus. 

1. Wiederhole das für alle RSessions.

## Lösche deine RSessions
<a name="rstudio-delete"></a>

Führen Sie das folgende Verfahren aus, um alle Ihre herunterzufahren RSessions.

1. Identifizieren Sie im RStudio Launcher die RSession , die Sie löschen möchten. 

1. Wählen Sie für die Sitzung **Beenden** aus. Dadurch wird ein neues Fenster **Sitzung beenden** geöffnet. 

1. Wählen Sie im Fenster **Sitzung beenden** die Option **Beenden erzwingen** aus, um alle untergeordneten Prozesse in der Sitzung zu beenden.

1. Wählen Sie **Sitzung beenden** aus, um das Löschen der Sitzung zu bestätigen.

1. Wiederhole das für alle RSessions.

## Lösche deine RStudio ServerPro App
<a name="rstudio-delete-restart"></a>

Führen Sie die folgenden Befehle aus AWS CLI , um Ihre RStudio ServerPro App zu löschen und neu zu starten.

1. Löschen Sie die RStudio ServerPro Anwendung mithilfe Ihrer aktuellen Domain-ID. 

   ```
   aws sagemaker delete-app \
       --domain-id <domainId> \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

1. Erstellen Sie die RStudio ServerPro Anwendung erneut. 

   ```
   aws sagemaker create-app \
       --domain-id <domainId> \
       --user-profile-name domain-shared \
       --app-type RStudioServerPro \
       --app-name default
   ```

# Fakturierung und Kosten
<a name="rstudio-billing"></a>

 Um die mit Ihrer RStudio Umgebung verbundenen Kosten nachzuverfolgen, können Sie den AWS Fakturierung und Kostenmanagement Service nutzen.AWS Fakturierung und Kostenmanagement bietet nützliche Tools, mit denen Sie Informationen zu Ihren Kosten und Ihrer Nutzung sammeln, Ihre Kostentreiber und Nutzungstrends analysieren und Maßnahmen zur Budgetierung Ihrer Ausgaben ergreifen können. Weitere Informationen finden Sie unter [Was ist AWS Fakturierung und Kosten-Management?](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html). Im Folgenden werden die Komponenten beschrieben, die für die Ausführung RStudio auf Amazon SageMaker AI erforderlich sind, und wie jede Komponente bei der Abrechnung Ihrer RStudio Instance berücksichtigt wird. 
+  RStudio Lizenz — Sie müssen eine RStudio Lizenz erwerben. Für die Nutzung Ihrer RStudio Lizenz mit Amazon SageMaker AI fallen keine zusätzlichen Gebühren an. Weitere Informationen zu Ihrer RStudio Lizenz finden Sie unter[Besorgen Sie sich eine RStudio Lizenz](rstudio-license.md).
+  RSession - Dies sind RStudio Arbeitssitzungen, die von Endbenutzern gestartet wurden. Sie zahlen, während der RSession läuft.
+  RStudio Server — Ein Server mit mehreren Mandanten verwaltet alle. RSessions Sie können den Instanztyp wählen, auf dem der RStudio Server ausgeführt werden soll, und die damit verbundenen Kosten tragen. Die Standard-Instance „System“ ist kostenlos, Sie können jedoch auch für höhere Stufen zahlen. Weitere Informationen zu den verfügbaren Instanztypen für Ihren RStudio Server finden Sie unter[RStudioServerPro Instanztyp](rstudio-select-instance.md). 

 **Nachverfolgung der Abrechnung auf Benutzerebene** 

 Informationen zur Nachverfolgung der Abrechnung auf Benutzerebene mithilfe von Kostenzuordnungs-Tags finden Sie unter [Verwenden von Kostenzuordnungs-Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html).

# Probleme diagnostizieren und Support erhalten
<a name="rstudio-troubleshooting"></a>

 In den folgenden Abschnitten wird beschrieben, wie Sie Probleme mit RStudio Amazon SageMaker AI diagnostizieren können. Um Support für RStudio Amazon SageMaker AI zu erhalten, wenden Sie sich an den Amazon SageMaker AI-Support. Wenn Sie Hilfe beim Kauf einer RStudio Lizenz oder beim Ändern der Anzahl der Lizenzplätze benötigen, wenden Sie sich [an sales@rstudio.com](mailto:sales@rstudio.com).

## Aktualisieren Sie Ihre Version
<a name="rstudio-troubleshooting-upgrade"></a>

Wenn Sie eine Warnung erhalten, dass zwischen Ihrer RSession und Ihren RStudio ServerPro Apps ein Versionskonflikt besteht, müssen Sie die Version Ihrer RStudio ServerPro App aktualisieren. Weitere Informationen finden Sie unter [RStudio Versionierung](rstudio-version.md).

## Metriken und Protokolle anzeigen
<a name="rstudio-troubleshooting-view"></a>

Sie können die Leistung Ihres Workflows überwachen, während Sie RStudio Amazon SageMaker AI verwenden. Zeigen Sie Datenprotokolle und Informationen zu Metriken im RStudio Administrator-Dashboard oder bei Amazon an CloudWatch. 

### Sehen Sie sich Ihre RStudio Logs vom RStudio Administrator-Dashboard aus an
<a name="rstudio-troubleshooting-logs"></a>

 Sie können Metriken und Protokolle direkt vom RStudio Administrator-Dashboard aus einsehen. 

1.  Melden Sie sich bei Ihrer **Amazon SageMaker AI-Domain** an. 

1.  Navigieren Sie zum RStudio Administrator-Dashboard, indem Sie den Schritten unter folgen[Verwenden Sie das RStudio Administrator-Dashboard](rstudio-admin.md). 

1.  Wählen Sie die Registerkarte **Protokolle** aus. 

### Ihre RStudio Logs von Amazon CloudWatch Logs aus einsehen
<a name="rstudio-troubleshooting-logs-cw"></a>

 Amazon CloudWatch überwacht Ihre AWS Ressourcen und die Anwendungen, auf denen Sie laufen, AWS in Echtzeit. Sie können Amazon verwenden, CloudWatch um Metriken zu sammeln und zu verfolgen. Dabei handelt es sich um Variablen, die Sie für Ihre Ressourcen und Anwendungen messen können. Um sicherzustellen, dass Ihre RStudio Apps über Berechtigungen für Amazon verfügen CloudWatch, müssen Sie die unter beschriebenen Berechtigungen angeben[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). Sie müssen keine Einrichtung vornehmen, um CloudWatch Amazon-Logs zu sammeln. 

 Die folgenden Schritte zeigen, wie Sie Amazon CloudWatch Logs für Sie anzeigen können RSession. 

Diese Protokolle finden Sie im `/aws/sagemaker/studio` Protokollstream der AWS CloudWatch Konsole.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie `Logs` von der linken Seite aus. Wählen Sie `Log groups` im Dropdown-Menü aus.

1. Suchen Sie auf dem `Log groups` Bildschirm nach `aws/sagemaker/studio`. Wählen Sie die Protokollgruppe aus.

1. Navigieren Sie auf dem `aws/sagemaker/studio` `Log group` Bildschirm zur `Log streams` Registerkarte.

1. Um die Protokolle für Ihre Domain zu finden, suchen Sie nach `Log streams` in folgendem Format:

   ```
   <DomainId>/domain-shared/rstudioserverpro/default
   ```

# RStudio auf Amazon SageMaker AI — Benutzerhandbuch
<a name="rstudio-use"></a>

Mit der RStudio Unterstützung in Amazon SageMaker AI können Sie Ihre Produktionsabläufe einrichten und SageMaker KI-Funktionen nutzen. Die folgenden Themen zeigen, wie Sie eine RStudio Sitzung starten und wichtige Workflows abschließen. Informationen zur Verwaltung RStudio mit SageMaker KI finden Sie unter[RStudio zum Amazon SageMaker AI-Management](rstudio-manage.md). 

Informationen zu den Onboarding-Schritten zur Erstellung einer Amazon SageMaker AI-Domain mit RStudio aktivierter Option finden Sie unter[Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).  

Informationen zu den AWS Regionen, in denen RStudio SageMaker KI nicht unterstützt wird, finden Sie unter[Unterstützte Regionen und Kontingente](regions-quotas.md).  

**Topics**
+ [Arbeiten Sie zusammen in RStudio](#rstudio-collaborate)
+ [Basis-Image](#rstudio-base-image)
+ [RSession Colocation von Anwendungen](#rstudio-colocation)
+ [Starten Sie RSessions vom RStudio Launcher aus](rstudio-launcher.md)
+ [Sperren Sie Ihre RSessions](rstudio-launcher-suspend.md)
+ [Lösche deine RSessions](rstudio-launcher-delete.md)
+ [RStudio Connect](rstudio-connect.md)
+ [Integration von Amazon SageMaker AI-Funktionen mit RStudio Amazon SageMaker AI](rstudio-sm-features.md)

## Arbeiten Sie zusammen in RStudio
<a name="rstudio-collaborate"></a>

 Um dein RStudio Projekt zu teilen, kannst du dich mit deinem Git-Repo verbinden RStudio . Informationen zur Einrichtung finden Sie unter [ Versionskontrolle mit Git und SVN](https://support.rstudio.com/hc/en-us/articles/200532077-Version-Control-with-Git-and-SVN). 

 Hinweis: Projektfreigabe und Zusammenarbeit in Echtzeit werden derzeit nicht unterstützt, wenn sie RStudio auf Amazon SageMaker AI verwendet werden.  

## Basis-Image
<a name="rstudio-base-image"></a>

 Beim Starten Ihrer RStudio Instance dient das Base R-Image als Grundlage für Ihre Instance. Dieses Image erweitert das [r-session-complete](https://hub.docker.com/r/rstudio/r-session-complete)Docker-Image.  

 Dieses Base R-Image beinhaltet Folgendes: 
+  R v4.0 oder höher
+  `awscli`, `sagemaker`, und `boto3` Python-Pakete 
+  [Reticulate](https://rstudio.github.io/reticulate/) Paket für die R SDK-Integration 

## RSession Colocation von Anwendungen
<a name="rstudio-colocation"></a>

Benutzer können mehrere RSession Anwendungen auf derselben Instanz erstellen. Jeder Instanztyp unterstützt bis zu vier Colocation-Anwendungen. RSession Dies gilt für jeden Benutzer unabhängig. Wenn beispielsweise zwei Benutzer Anwendungen erstellen, weist SageMaker KI jedem Benutzer unterschiedliche zugrunde liegende Instanzen zu. Jede dieser Instanzen würde 4 RSession Anwendungen unterstützen.

Kunden zahlen nur für den verwendeten Instance-Typ, unabhängig davon, wie viele rSession-Anwendungen auf der Instance ausgeführt werden. Wenn ein Benutzer eine Instanz RSession mit einem anderen zugehörigen Instanztyp erstellt, wird eine neue zugrunde liegende Instanz erstellt.

# Starten Sie RSessions vom RStudio Launcher aus
<a name="rstudio-launcher"></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.

 In den folgenden Abschnitten wird gezeigt, wie Sie den RStudio Launcher zum Starten verwenden RSessions. Sie enthalten auch Informationen darüber, wie Sie den RStudio Launcher öffnen können, wenn Sie ihn RStudio auf Amazon SageMaker AI verwenden.

## RStudio Launcher öffnen
<a name="rstudio-launcher-open"></a>

Öffnen Sie den RStudio Launcher mit den folgenden Verfahren, die zu Ihrer Umgebung passen.

### Öffnen Sie RStudio Launcher von der Amazon SageMaker AI Console aus
<a name="rstudio-launcher-console"></a>

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1.  Wählen Sie in der linken Navigationsleiste **RStudio**.

1.  Wählen Sie unter **Erste Schritte** die Domain und das Benutzerprofil aus, die gestartet werden sollen.

1.  Wählen Sie **Launch RStudio** (Starten) aus.

### RStudio Launcher von Amazon SageMaker Studio aus öffnen
<a name="rstudio-launcher-studio"></a>

1. Navigieren Sie zu Studio, indem Sie den Schritten unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md) folgen.

1. Wählen Sie unter **Anwendungen** die Option aus **RStudio**.

1. Wählen Sie auf der RStudio Landingpage die Option **Anwendung starten** aus.

### Öffnen Sie RStudio Launcher von AWS CLI
<a name="rstudio-launcher-cli"></a>

Das Verfahren zum Öffnen des RStudio Launchers mit dem AWS CLI hängt von der Methode ab, mit der Sie Ihre Benutzer verwalten. 

 **IAM Identity Center** 

1.  Verwenden Sie das AWS Zugangsportal, um Ihre Amazon SageMaker AI-Domain zu öffnen. 

1.  Ändern Sie den URL-Pfad wie folgt in „/rstudio/default“. 

   ```
   #Studio URL
   https://<domain-id>.studio.<region>.sagemaker.aws/jupyter/default/lab
   
   #modified URL
   https://<domain-id>.studio.<region>.sagemaker.aws/rstudio/default
   ```

 **IAM** 

 Gehen Sie wie folgt vor, um den RStudio Launcher AWS CLI im IAM-Modus zu öffnen. 

1.  Erstellen Sie mit dem folgenden Befehl eine vorsignierte URL. 

   ```
   aws sagemaker create-presigned-domain-url --region <REGION> \
       --domain-id <DOMAIN-ID> \
       --user-profile-name <USER-PROFILE-NAME>
   ```

1.  Hängen Sie *&redirect= RStudio ServerPro* an die generierte URL an. 

1.  Navigieren Sie zur aktualisierten URL. 

## Starten RSessions
<a name="rstudio-launcher-launch"></a>

 Nachdem Sie den RStudio Launcher gestartet haben, können Sie einen neuen erstellen RSession. 

1.  Wählen Sie **Neue Sitzung** aus. 

1.  Geben Sie einen **Bezeichnung der Sitzung** ein. 

1.  Wählen Sie einen Instanztyp aus, auf dem Sie RSession ausgeführt werden. Der Standardwert ist `ml.t3.medium`.

1.  Wählen Sie ein Image aus, das RSession Sie als Kernel verwenden. 

1.  Wählen Sie „Sitzung starten“ aus. 

1.  Nachdem Ihre Sitzung erstellt wurde, können Sie sie starten, indem Sie den Namen auswählen.  
**Anmerkung**  
Wenn Sie eine Warnung erhalten, dass zwischen Ihrer RSession und Ihren RStudio ServerPro Apps ein Versionskonflikt besteht, müssen Sie die Version Ihrer RStudio ServerPro App aktualisieren. Weitere Informationen finden Sie unter [RStudio Versionierung](rstudio-version.md).

# Sperren Sie Ihre RSessions
<a name="rstudio-launcher-suspend"></a>

Das folgende Verfahren zeigt, wie Sie bei Verwendung RStudio auf Amazon SageMaker AI eine Verbindung RSession aus dem RStudio Launcher aussetzen können. Informationen zum Zugriff auf den RStudio Launcher finden Sie unter[Starten Sie RSessions vom RStudio Launcher aus](rstudio-launcher.md).

1. Identifizieren Sie im RStudio Launcher die Datei RSession , die Sie sperren möchten. 

1. Wählen Sie **Aussetzen** für die Sitzung aus. 

# Lösche deine RSessions
<a name="rstudio-launcher-delete"></a>

Das folgende Verfahren zeigt, wie Sie eine RSession aus dem RStudio Launcher löschen, wenn Sie sie RStudio auf Amazon SageMaker AI verwenden. Informationen zum Zugriff auf den RStudio Launcher finden Sie unter[Starten Sie RSessions vom RStudio Launcher aus](rstudio-launcher.md).

1. Identifizieren Sie im RStudio Launcher die Dateien RSession , die Sie löschen möchten. 

1. Wählen Sie für die Sitzung **Beenden** aus. Dadurch wird ein neues Fenster **Sitzung beenden** geöffnet. 

1. Wählen Sie im Fenster **Sitzung beenden** die Option **Beenden erzwingen** aus, um alle untergeordneten Prozesse in der Sitzung zu beenden.

1. Wählen Sie **Sitzung beenden** aus, um das Löschen der Sitzung zu bestätigen.

# RStudio Connect
<a name="rstudio-connect"></a>

 RStudio Connect ermöglicht es Datenwissenschaftlern, Erkenntnisse, Dashboards und Webanwendungen von RStudio Amazon SageMaker AI aus zu veröffentlichen. Weitere Informationen finden Sie unter [Host RStudio Connect und Package Manager für ML-Entwicklung in RStudio Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/host-rstudio-connect-and-package-manager-for-ml-development-in-rstudio-on-amazon-sagemaker/).

 Weitere Informationen zu RStudio Connect finden Sie im [RStudio Connect-Benutzerhandbuch](https://docs.rstudio.com/connect/user/). 

# Integration von Amazon SageMaker AI-Funktionen mit RStudio Amazon SageMaker AI
<a name="rstudio-sm-features"></a>

 Einer der Vorteile der Nutzung RStudio auf Amazon SageMaker AI ist die Integration von Amazon SageMaker AI-Funktionen. Dies beinhaltet die Integration mit Amazon SageMaker Studio Classic und Reticulate. Im Folgenden finden Sie Informationen zu diesen Integrationen und Beispiele für deren Verwendung.

 **Verwenden Sie Amazon SageMaker Studio Classic und RStudio Amazon SageMaker AI** 

 Ihr Amazon SageMaker Studio Classic und Ihre RStudio Instances verwenden dasselbe Amazon EFS-Dateisystem. Das bedeutet, dass auf Dateien, die Sie mit Studio Classic importieren und erstellen, über Studio Classic zugegriffen werden kann RStudio und umgekehrt. Auf diese Weise können Sie mit Studio Classic an denselben Dateien arbeiten, RStudio ohne Ihre Dateien zwischen den beiden verschieben zu müssen. Weitere Informationen zu diesem Workflow finden Sie im Blog [Announcing Fully Managed RStudio on Amazon SageMaker AI for Data Scientists](https://aws.amazon.com/blogs/aws/announcing-fully-managed-rstudio-on-amazon-sagemaker-for-data-scientists).

 **Verwenden Sie Amazon SageMaker SDK mit Reticulate** 

Das [Reticulate-Paket](https://rstudio.github.io/reticulate) wird als R-Schnittstelle zum [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/) verwendet, um API-Aufrufe an Amazon zu tätigen. SageMaker Das Reticulate-Paket übersetzt zwischen R- und Python-Objekten, und Amazon SageMaker AI bietet eine serverlose Data-Science-Umgebung zum Trainieren und Bereitstellen von Machine-Learning-Modellen (ML) in großem Maßstab. Allgemeine Informationen zum Reticulate-Paket finden Sie unter [ R-Schnittstelle zu Python](https://rstudio.github.io/reticulate/).

Einen Blog, der beschreibt, wie Sie das Reticulate-Paket mit Amazon SageMaker AI verwenden, finden Sie unter [R mit Amazon SageMaker AI verwenden](https://aws.amazon.com/blogs/machine-learning/using-r-with-amazon-sagemaker/).

Die folgenden Beispiele zeigen, wie für bestimmte Anwendungsfälle verwendet wird.
+ Ein Notizbuch, das beschreibt, wie Sie Reticulate verwenden, um Batch-Transformationen durchzuführen, um Vorhersagen zu treffen, finden Sie unter [Batch-Transformation mit R mit Amazon SageMaker AI](https://sagemaker-examples.readthedocs.io/en/latest/r_examples/r_batch_transform/r_xgboost_batch_transform.html).
+ Ein Notizbuch, in dem beschrieben wird, wie Reticulate verwendet wird, um Hyperparameter zu optimieren und Vorhersagen zu generieren, finden Sie unter [Hyperparameter-Optimierung mit R mit Amazon AI](https://sagemaker-examples.readthedocs.io/en/latest/r_examples/r_xgboost_hpo_batch_transform/r_xgboost_hpo_batch_transform.html). SageMaker 

# Code-Editor in Amazon SageMaker Studio
<a name="code-editor"></a>

Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, hilft Ihnen beim Schreiben, Testen, Debuggen und Ausführen Ihres Analyse- und Machine-Learning-Codes. Der Code Editor ist erweiterbar und vollständig in Amazon SageMaker Studio integriert. Es unterstützt auch Erweiterungen für integrierte Entwicklungsumgebungen (IDE), die in der [Open VSX Registry](https://open-vsx.org/) verfügbar sind. Auf der folgenden Seite finden Sie Informationen zu Code Editor und wichtige Informationen zu seiner Verwendung.

Im Code-Editor ist die Erweiterung [AWS Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) vorinstalliert, die Verbindungen zu AWS-Services einem allgemeinen [Amazon CodeWhisperer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codewhisperer.html), auf maschinellem Lernen basierenden Codegenerator ermöglicht, der Codeempfehlungen in Echtzeit bereitstellt. Weitere Informationen zu Erweiterungen finden Sie unter [Verbindungen und Erweiterungen von Code Editor](code-editor-use-connections-and-extensions.md).

**Wichtig**  
Seit dem 30. November 2023 heißt das vorherige Amazon SageMaker Studio-Erlebnis jetzt Amazon SageMaker Studio Classic. Der folgende Abschnitt bezieht sich auf die Verwendung der aktualisierten Studio-Erfahrung. Informationen zur Verwendung der Studio-Classic-Anwendung finden Sie unter [Amazon SageMaker Studio Klassisch](studio.md).

Um Code Editor zu starten, erstellen Sie einen privaten Bereich für Code Editor. Der Code-Editor-Bereich verwendet eine einzige Instance von Amazon Elastic Compute Cloud (Amazon EC2) für Ihre Rechenleistung und ein einziges Volume von Amazon Elastic Block Store (Amazon EBS) für Ihren Speicherplatz. Alle Elemente in Ihrem Bereich, wie beispielsweise Ihr Code, Ihr Git-Profil und Ihre Umgebungsvariablen, werden auf demselben Amazon-EBS-Volume gespeichert. Das Volume hat 3000 IOPS und einen Durchsatz von 125 MBps. Ihr Administrator hat die standardmäßigen Amazon-EBS-Speichereinstellungen für Ihren Bereich konfiguriert.

Die Standardspeichergröße beträgt 5 GB, Ihr Administrator kann den verfügbaren Speicherplatz jedoch erhöhen. Weitere Informationen finden Sie unter [Ändern der Standardspeichergröße](code-editor-admin-storage-size.md).

Das Arbeitsverzeichnis Ihrer Benutzer innerhalb des Speichervolumes ist `/home/sagemaker-user`. Wenn Sie Ihren eigenen AWS KMS Schlüssel zur Verschlüsselung des Volumes angeben, wird alles im Arbeitsverzeichnis mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt. Wenn Sie keinen AWS KMS Schlüssel angeben, werden die `/home/sagemaker-user` darin enthaltenen Daten mit einem AWS verwalteten Schlüssel verschlüsselt. Unabhängig davon, ob Sie einen AWS KMS Schlüssel angeben, werden alle Daten außerhalb des Arbeitsverzeichnisses mit einem AWS verwalteten Schlüssel verschlüsselt.

Sie können Ihre Rechenleistung nach oben oder unten skalieren, indem Sie den Instance-Typ von Amazon EC2 ändern, auf dem Ihre Code-Editor-Anwendung ausgeführt wird. Bevor Sie den zugehörigen Instance-Typ ändern können, müssen Sie zuerst Ihren Code-Editor-Bereich beenden. Weitere Informationen finden Sie unter [Anwendungs-Instances und Images von Code-Editor](code-editor-use-instances.md).

Ihr Administrator stellt Ihnen möglicherweise eine Lebenszykluskonfiguration zur Verfügung, um Ihre Umgebung anzupassen. Sie können die Lebenszykluskonfiguration festlegen, wenn Sie den Bereich erstellen. Weitere Informationen finden Sie unter [Code-Editor-Lebenszykluskonfigurationen](code-editor-use-lifecycle-configurations.md).

Sie können auch Ihr eigenes Dateispeichersystem mitbringen, wenn Sie ein Amazon-EFS-Volume haben.

![\[Die Willkommensseite der Benutzeroberfläche der Code-Editor-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-home.png)


**Topics**
+ [Verwenden von Code Editor](code-editor-use.md)
+ [Administratorhandbuch für Code Editor](code-editor-admin.md)

# Verwenden von Code Editor
<a name="code-editor-use"></a>

Die Themen in diesem Abschnitt enthalten Anleitungen zur Verwendung des Code-Editors, darunter das Starten, Hinzufügen von Verbindungen AWS-Services, Herunterfahren von Ressourcen und vieles mehr. Nachdem Sie einen Code-Editor-Bereich erstellt haben, können Sie direkt über den Browser auf Ihre Code-Editor-Sitzung zugreifen.

In Ihrer Code-Editor-Umgebung können Sie folgende Aktionen ausführen: 
+ Greifen Sie auf alle Artefakte zu, die in Ihrem Stammverzeichnis gespeichert sind.
+ Klonen Sie Ihre GitHub Repositorys und übernehmen Sie die Änderungen
+ Greifen Sie auf das SDK zu SageMaker Python

Sie können zu Studio zurückkehren, um alle in Ihrer Code-Editor-Umgebung erstellten Ressourcen wie Experimente, Pipelines oder Trainingsjobs zu überprüfen. 

**Topics**
+ [Überprüfen der Version von Code Editor](code-editor-use-version.md)
+ [Anwendungs-Instances und Images von Code-Editor](code-editor-use-instances.md)
+ [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md)
+ [Starten Sie eine Code-Editor-Anwendung mit dem AWS CLI](code-editor-launch-cli.md)
+ [Klonen eines Repositorys in Code Editor](code-editor-use-clone-a-repository.md)
+ [Verbindungen und Erweiterungen von Code Editor](code-editor-use-connections-and-extensions.md)
+ [Herunterfahren der Code-Editor-Ressourcen](code-editor-use-log-out.md)

# Überprüfen der Version von Code Editor
<a name="code-editor-use-version"></a>

In den folgenden Schritten wird gezeigt, wie Sie die Version Ihrer Code-Editor-Anwendung überprüfen können.

**So überprüfen Sie die Version der Code-Editor-Anwendung**

1. Starten und führen Sie einen Code-Editor-Bereich aus und navigieren Sie zur Benutzeroberfläche der Code-Editor-Anwendung. Weitere Informationen finden Sie unter [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

1. Wählen Sie in der oberen linken Ecke der Code-Editor-Benutzeroberfläche die Menüschaltfläche (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-menu-icon.png)) aus. Wählen Sie dann **Hilfe** aus. Wählen Sie dann **Über** aus.

# Anwendungs-Instances und Images von Code-Editor
<a name="code-editor-use-instances"></a>

Nur einige Instances sind mit Code-Editor-Anwendungen kompatibel. Sie können den Instance-Typ, der mit Ihrem Anwendungsfall kompatibel ist, aus dem Dropdown-Menü **Instance** auswählen. 

Die **Schnellstart**-Instances starten viel schneller als die anderen Instances. Weitere Informationen zu den Instance-Typen für den Schnellstart in Studio finden Sie unter [Instance-Typen, die für die Verwendung mit Amazon SageMaker Studio Classic-Notebooks verfügbar sind](notebooks-available-instance-types.md).

**Anmerkung**  
Wenn Sie bei der Konfiguration Ihrer Code-Editor-Anwendung einen GPU-Instance-Typ verwenden, müssen Sie auch ein GPU-basiertes Image verwenden. Die Benutzeroberfläche des Code-Editor-Bereichs wählt automatisch ein kompatibles Image aus, wenn Sie Ihren Instance-Typ auswählen.

Innerhalb eines Bereichs werden Ihre Daten in einem Amazon-EBS-Volume gespeichert, das unabhängig von der Instance bestehen. Sie verlieren Ihre Daten nicht, wenn Sie Instances wechseln. Wenn Ihr Code-Editor-Bereich `Running` ist, müssen Sie Ihren Bereich beenden, bevor Sie die Instance-Typen ändern können.

In der folgenden Tabelle sind die verfügbaren CPU- und GPU-Images ARNs des Code-Editors für jede Region aufgeführt.


|  Region  |  CPU  |  GPU  | 
| --- | --- | --- | 
|  us-east-1  | arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-gpu | 
|  us-east-2  | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-gpu | 
|  us-west-1  | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-gpu | 
|  us-west-2  | arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-gpu | 
|  af-south-1  | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-cpu | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-gpu | 
|  ap-east-1  | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-gpu | 
|  ap-south-1  | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-gpu | 
|  ap-northeast-2  | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-gpu | 
|  ap-southeast-1  | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-gpu | 
|  ap-southeast-2  | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-gpu | 
|  ap-northeast-1  | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-gpu | 
|  ca-central-1  | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-gpu | 
|  eu-central-1  | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-gpu | 
|  eu-west-1  | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-gpu | 
|  eu-west-2  | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-gpu | 
|  eu-west-3  | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-gpu | 
|  eu-north-1  | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-gpu | 
|  eu-south-1  | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-gpu | 
|  sa-east-1  | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-cpu | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-gpu | 
|  ap-northeast-3  | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-gpu | 
|  ap-southeast-3  | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-gpu | 
|  me-south-1  | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-gpu | 
|  me-central-1  | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-gpu | 
|  il-central-1  | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-cpu | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-gpu | 
|  cn-north-1  | arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-gpu  | 
|  cn-northwest-1  | arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-gpu  | 
|  us-gov-west-1  | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-gpu | 
|  us-gov-east-1  | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-gpu | 

Wenn Sie auf Instance-Limits stoßen, wenden Sie sich an Ihren Administrator. Um mehr Speicherplatz und Rechenleistung für einen Benutzer zu erhalten, können Administratoren eine Erhöhung der AWS Benutzerkontingente beantragen. Weitere Informationen zur Beantragung einer Kontingenterhöhung finden Sie unter [Amazon SageMaker AI-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html).

# Starten einer Code-Editor-Anwendung in Studio
<a name="code-editor-use-studio"></a>

Um Ihre integrierte Entwicklungsumgebung Code Editor über Studio zu konfigurieren und darauf zuzugreifen, müssen Sie einen Code-Editor-Bereich erstellen. Weitere Informationen über Studio-Bereiche finden Sie unter [Amazon SageMaker Studio-Räume](studio-updated-spaces.md).

![\[Die Code-Editor-Anwendungsschaltfläche und die Übersichtskachel in der Studio-Benutzeroberfläche.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-studio-home.png)


Im folgenden Verfahren sehen Sie, wie Sie einen Code-Editor-Bereich erstellen und ausführen.

**So erstellen Sie einen Code-Editor-Bereich und führen Ihn aus**

1. Starten Sie die aktualisierte Studio-Konfiguration. Weitere Informationen finden Sie unter [Amazon SageMaker Studio starten](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html).

1. Führen Sie eine der folgenden Aktionen aus:
   + Wählen Sie in der aktualisierten Amazon SageMaker Studio-Benutzeroberfläche im **Anwendungsmenü** **Code Editor** aus.
   + Wählen Sie in der aktualisierten Amazon SageMaker Studio-Benutzeroberfläche **auf der Studio-Startseite im Bereich **Übersicht** die Option Code-Editor-Bereiche** anzeigen aus.

1. Wählen Sie in der oberen rechten Ecke der Code-Editor-Startseite die Option **Code-Editor-Bereich erstellen** aus.

1. Geben Sie einen Namen für den Code-Editor-Bereich ein. Der Name muss 1–62 Zeichen lang sein und darf nur Buchstaben, Zahlen und Bindestriche enthalten.

1. Wählen Sie **Bereich erstellen** aus.

1. Nachdem der Bereich erstellt wurde, stehen Ihnen einige Optionen zur Verfügung, bevor Sie den Bereich ausführen:
   + Sie können die Einstellungen **Speicher (GB)**, **Lebenszykluskonfiguration** oder **Benutzerdefiniertes EFS-Dateisystem anfügen** bearbeiten. Die Optionen für diese Einstellungen sind je nach Administratorspezifikation verfügbar.
   + Aus dem Dropdown-Menü **Instance** können Sie den Instance-Typ auswählen, der für Ihren Anwendungsfall am besten geeignet ist. Im Dropdownmenü **Image** können Sie ein SageMaker Distribution-Image oder ein von Ihrem Administrator bereitgestelltes benutzerdefiniertes Image auswählen.
**Anmerkung**  
Das Umschalten zwischen Sagemaker-Distribution-Images ändert die zugrunde liegende Version des verwendeten Code Editor, was aufgrund des Browser-Cachings zu Inkompatibilitäten führen kann. Sie sollten den Browser-Cache leeren, wenn Sie zwischen Images wechseln.

     Wenn Sie bei der Konfiguration Ihrer Code-Editor-Anwendung einen GPU-Instance-Typ verwenden, müssen Sie auch ein GPU-basiertes Image verwenden. Innerhalb eines Bereichs werden Ihre Daten in einem Amazon-EBS-Volume gespeichert, das unabhängig von der Instance bestehen. Sie verlieren Ihre Daten nicht, wenn Sie Instances wechseln.
**Wichtig**  
Benutzerdefinierte IAM-Richtlinien, die es Studio-Benutzern ermöglichen, Bereiche zu erstellen, müssen auch Berechtigungen zum Auflisten von Images (`sagemaker: ListImage`) gewähren, um benutzerdefinierte Images anzeigen zu können. Informationen zum Hinzufügen der Berechtigung finden Sie unter [Hinzufügen oder Entfernen von Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *AWS Identity and Access Management*-Benutzerhandbuch.   
[AWS verwaltete Richtlinien für Amazon SageMaker AI](security-iam-awsmanpol.md)die Berechtigungen zum Erstellen von SageMaker KI-Ressourcen gewähren, beinhalten bereits Berechtigungen zum Auflisten von Bildern bei der Erstellung dieser Ressourcen.
**Anmerkung**  
Um die Einstellungen für den Bereich zu aktualisieren, müssen Sie zunächst Ihren Bereich beenden. Wenn Ihr Code-Editor eine NVMe Instanz mit Instanzspeichern verwendet, werden alle im NVMe Store gespeicherten Daten gelöscht, wenn der Space gestoppt wird.

1. Nachdem Sie Ihre Einstellungen aktualisiert haben, wählen Sie auf der Detailseite des Bereichs die Option **Bereich ausführen** aus.

1. Wenn der Status des Bereichs `Running` lautet, wählen Sie **Code-Editor öffnen** aus, um zu Ihrer Code-Editor-Sitzung zu gelangen. 

![\[Die Bereichs-Detailseite für eine Code-Editor-Anwendung in der Studio-Benutzeroberfläche.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-open.png)


# Starten Sie eine Code-Editor-Anwendung mit dem AWS CLI
<a name="code-editor-launch-cli"></a>

Um Ihre integrierte Entwicklungsumgebung von Code Editor über AWS Command Line Interface (AWS CLI) zu konfigurieren und darauf zuzugreifen, müssen Sie einen Code-Editor-Bereich erstellen. Stellen Sie sicher, dass Sie [Erfüllen der Voraussetzungen](code-editor-admin-prerequisites.md) erfüllen, bevor Sie die folgenden Schritte ausführen. Verwenden Sie das folgende Verfahren, um einen Code-Editor-Bereich zu erstellen und auszuführen.

**So erstellen Sie einen Code-Editor-Bereich und führen Ihn aus**

1. Greifen Sie mithilfe von AWS Identity and Access Management (IAM) oder AWS IAM Identity Center Authentifizierung auf einen Bereich zu. Weitere Informationen zum Zugreifen auf Spaces mit dem AWS CLI finden Sie unter *Zugreifen auf Spaces mit dem AWS Command Line Interface* in[Amazon SageMaker Studio-Räume](studio-updated-spaces.md). 

1. Erstellen Sie eine Anwendung und geben Sie `CodeEditor` als `app-type` mit dem folgenden Befehl an.

   Wenn Sie bei der Erstellung Ihrer Code-Editor-Anwendung einen GPU-Instance-Typ verwenden, müssen Sie auch ein GPU-basiertes Image verwenden.

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:account-id:image/sagemaker-distribution-cpu"
   ```

   Weitere Informationen zu verfügbaren Code-Editor-Bildern ARNs finden Sie unter[Anwendungs-Instances und Images von Code-Editor](code-editor-use-instances.md).

1. Nachdem die Code-Editor-Anwendung in Betrieb genommen wurde, starten Sie die Anwendung mit einer vorsignierten URL. Sie können die `describe-app`-API verwenden, um zu überprüfen, ob Ihre Anwendung in Betrieb ist. Verwenden Sie die `create-presigned-domain-url`-API, um eine vorsignierte URL zu erstellen:

   ```
   aws sagemaker create-presigned-domain-url \
   --domain-id domain-id \
   --space-name space-name \
   --user-profile-name user-profile-name \
   --session-expiration-duration-in-seconds 43200 \
   --landing-uri app:CodeEditor:
   ```

1. Öffnen Sie die generierte URL, um mit der Arbeit in Ihrer Code-Editor-Anwendung zu beginnen.

# Klonen eines Repositorys in Code Editor
<a name="code-editor-use-clone-a-repository"></a>

Sie können im **Explorer-Fenster** der Benutzeroberfläche der Code-Editor-Anwendung durch Ordner navigieren und ein Repository klonen. 

Um ein Repository zu klonen, führen Sie die folgenden Schritte aus:

**So klonen Sie ein Repository**

1. Öffnen Sie Ihre Code-Editor-Anwendung im Browser und wählen Sie im linken Navigationsbereich die Schaltfläche **Exploration** (![\[Icon representing multiple documents or pages stacked on top of each other.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-exploration-icon.png)) aus.

1. Wählen Sie **Repository klonen** im **Explorer**-Fenster aus. Geben Sie dann eine Repository-URL ein oder wählen Sie im Prompt eine Repository-Quelle aus.

1. Wählen Sie einen Ordner aus, in den Sie Ihr Repository klonen möchten. Beachten Sie, dass der Standard-Ordner von Code Editor `/home/sagemaker-user/` ist. Das Klonen Ihres Repositorys kann etwas Zeit in Anspruch nehmen.

1. Um das geklonte Repository zu öffnen, wählen Sie entweder **In neuem Fenster öffnen** oder **Öffnen** aus.

1.  Um zur Startseite der Benutzeroberfläche der Code-Editor-Anwendung zurückzukehren, wählen Sie **Abbrechen** aus.

1. Im Repository werden Sie gefragt, ob Sie den Autoren der Dateien in Ihrem neuen Repository vertrauen. Sie haben zwei Möglichkeiten:

   1. Um dem Ordner zu vertrauen und alle Features zu aktivieren, wählen Sie **Ja, ich vertraue den Autoren** aus.

   1. Um den Inhalt des Repositorys im *eingeschränkten Modus* zu durchsuchen, wählen Sie **Nein, ich vertraue den Autoren nicht** aus.

      Im eingeschränkten Modus dürfen Aufgaben nicht ausgeführt werden, das Debugging ist deaktiviert, Workspace-Einstellungen werden nicht angewendet und Erweiterungen haben nur eingeschränkte Funktionalität.

      Um den eingeschränkten Modus zu verlassen, vertrauen Sie den Autoren aller Dateien in Ihrem aktuellen Ordner oder dessen übergeordnetem Ordner und aktivieren Sie alle Features, indem Sie im Banner **Eingeschränkter Modus** die Option **Verwalten** auswählen.

# Verbindungen und Erweiterungen von Code Editor
<a name="code-editor-use-connections-and-extensions"></a>

Der Code-Editor unterstützt IDE-Verbindungen AWS-Services sowie Erweiterungen, die in der [Open VSX Registry](https://open-vsx.org/) verfügbar sind. 

## Verbindungen zu AWS
<a name="code-editor-use-connections"></a>

Code-Editor-Umgebungen sind in das [AWS -Toolkit für VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) integriert, um AWS-Services-Verbindungen hinzuzufügen. Um mit Verbindungen zu beginnen AWS-Services, benötigen Sie gültige AWS Identity and Access Management (IAM-) Anmeldeinformationen. Weitere Informationen finden Sie unter [Authentifizierung und Zugriff für das AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html).

In Ihrer Code-Editor-Umgebung können Sie Verbindungen hinzufügen zu: 
+  [AWS Explorer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/aws-explorer.html) — AWS Ressourcen in Amazon S3 anzeigen, ändern und bereitstellen und vieles mehr. CloudWatch

  Für den Zugriff auf bestimmte Funktionen im AWS Explorer sind bestimmte AWS Berechtigungen erforderlich. Weitere Informationen finden Sie unter [Authentifizierung und Zugriff für das AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html).
+ [Amazon CodeWhisperer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codewhisperer.html): Schnellere Erstellung von Anwendungen mit KI-gestützten Codevorschlägen. 

  Für die Verwendung Amazon CodeWhisperer mit dem Code-Editor müssen Sie Ihrer SageMaker AI-Ausführungsrolle die folgenden Berechtigungen hinzufügen.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "CodeWhispererPermissions",
        "Effect": "Allow",
        "Action": ["codewhisperer:GenerateRecommendations"],
        "Resource": "*"
      }
    ]
  }
  ```

------

  Weitere Informationen finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) und [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *IAM-Benutzerhandbuch*.

## Erweiterungen
<a name="code-editor-use-extensions"></a>

Code Editor unterstützt IDE-Erweiterungen, die im [Open VSX Registry](https://open-vsx.org/) verfügbar sind. 

Um mit Erweiterungen in Ihrer Code-Editor-Umgebung zu beginnen, wählen Sie im linken Navigationsbereich das **Erweiterungssymbol** (![\[Icon showing two overlapping squares representing multiple windows or instances.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-extensions-icon.png)) aus. Hier können Sie Verbindungen zu AWS konfigurieren, indem Sie AWS Toolkit installieren. Weitere Informationen finden Sie unter [Installieren der AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html).

In der Suchleiste können Sie über das [Open VSX Registry](https://open-vsx.org/) direkt nach weiteren Erweiterungen suchen, wie z. B. Jupyter, und vieles mehr.

# Herunterfahren der Code-Editor-Ressourcen
<a name="code-editor-use-log-out"></a>

Wenn Sie einen Code-Editor-Bereich nicht mehr verwenden, können Sie ihn mit Studio beenden. Auf diese Weise fallen keine Kosten mehr für den Bereich an. 

Alternativ können Sie ungenutzte Ressourcen von Code Editor löschen, indem Sie die AWS CLI verwenden.

## Beenden Ihres Code-Editor-Speicherplatzes mithilfe von Studio
<a name="code-editor-use-log-out-stop-space"></a>

Gehen Sie wie folgt vor, um Ihren Code-Editor-Bereich in Studio zu beenden:

**So beenden Sie Ihren Code-Editor-Bereich in Studio**

1. Kehren Sie zur Landingpage von Code Editor zurück, indem Sie einen der folgenden Schritte ausführen: 

   1. Wählen Sie in der Navigationsleiste in der oberen linken Ecke die Option **Code Editor** aus.

   1. Sie können auch im linken Navigationsbereich im **Anwendungsmenü** die Option **Code Editor** auswählen.

1. Suchen Sie den Namen des Code-Editor-Bereichs, den Sie erstellt haben. Wenn Ihr Bereich den Status **Wird ausgeführt** hat, wählen Sie in der Spalte **Aktion** die Option **Beenden** aus. Sie können Ihren Bereich auch direkt auf der Bereichs-Detailseite beenden, indem Sie **Bereich beenden** wählen. Es kann einige Zeit dauern, bis der Bereich beendet wird.

![\[Eine Bereichs-Detailseite in der Benutzeroberfläche der Code-Editor-Anwendung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-stop-space.png)


Zusätzliche Ressourcen wie SageMaker KI-Endpunkte, Amazon EMR-Cluster (Amazon EMR) und Amazon Simple Storage Service (Amazon S3) -Buckets, die in Studio erstellt wurden, werden nicht automatisch gelöscht, wenn Ihre Space-Instance heruntergefahren wird. Um zu verhindern, dass für Ressourcen Gebühren anfallen, löschen Sie alle zusätzlichen Ressourcen. Weitere Informationen finden Sie unter [Löschen von nicht genutzten Ressourcen](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-admin-guide-clean-up.html).

## Löschen Sie die Ressourcen des Code-Editors mithilfe der AWS CLI
<a name="code-editor-use-log-out-shut-down-resources"></a>

Sie können Ihre Code-Editor-Anwendung und Ihren Speicherplatz mit AWS Command Line Interface (AWS CLI) löschen.
+ [DeleteApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)
+ [DeleteSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteSpace.html)

# Administratorhandbuch für Code Editor
<a name="code-editor-admin"></a>

Sie können Code Editor mit einer On-Demand-Instance für eine schnellere Startzeit und konfigurierbaren Speicher verwenden. Sie können eine Code-Editor-Anwendung über Amazon SageMaker Studio oder über den starten AWS CLI. Sie können die Standardeinstellungen von Code Editor auch in der Domain-Konsole bearbeiten. Weitere Informationen finden Sie unter [Bearbeiten von Domaineinstellungen](domain-edit.md). Die folgenden Themen beschreiben, wie Administratoren Code Editor auf Basis von Code-OSS, Visual Studio Code – Open Source, konfigurieren können, indem sie Speicheroptionen ändern, Umgebungen anpassen und Benutzerzugriffe verwalten. Außerdem enthalten sie Informationen zu den Voraussetzungen für die Verwendung von Code Editor.

**Topics**
+ [Erfüllen der Voraussetzungen](code-editor-admin-prerequisites.md)
+ [Gewähren von Zugriff für die Benutzer auf private Bereiche](code-editor-admin-user-access.md)
+ [Ändern der Standardspeichergröße](code-editor-admin-storage-size.md)
+ [Code-Editor-Lebenszykluskonfigurationen](code-editor-use-lifecycle-configurations.md)
+ [Benutzerdefinierte Images](code-editor-custom-images.md)

# Erfüllen der Voraussetzungen
<a name="code-editor-admin-prerequisites"></a>

Um den auf Code-OSS, Visual Studio Code – Open Source basierenden Code Editor verwenden zu können, müssen Sie die folgenden Voraussetzungen erfüllen.

1. Sie müssen zuerst in die Amazon SageMaker AI-Domain einsteigen und ein Benutzerprofil erstellen. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md).

1. Wenn Sie mithilfe von mit Ihrer Code-Editor-Anwendung interagieren AWS CLI, müssen Sie außerdem die folgenden Voraussetzungen erfüllen.

   1.  Aktualisieren Sie das, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen. 

   1.  Führen Sie `aws configure` von Ihrem lokalen Rechner aus und geben Sie Ihre AWS -Anmeldedaten ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 

1. (Optional) Um mehr Speicherplatz und Rechenleistung für Ihre Anwendung zu erhalten, können Sie eine Erhöhung Ihrer AWS Kontingente beantragen. Weitere Informationen zur Beantragung einer Kontingenterhöhung finden Sie unter [Amazon SageMaker AI-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html).

# Gewähren von Zugriff für die Benutzer auf private Bereiche
<a name="code-editor-admin-user-access"></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.

Dieser Abschnitt enthält eine Richtlinie, die Benutzern Zugriff auf private Bereiche gewährt. Sie können die Richtlinie auch verwenden, um private Bereiche und Anwendungen, die mit ihnen verknüpft sind, auf den Besitzer zu beschränken, der mit dem Benutzerprofil verknüpft ist. 

Sie müssen Ihren Benutzern die folgenden Berechtigungen erteilen:
+ Private Bereiche
+ Das Benutzerprofil, das für den Zugriff auf die privaten Bereiche erforderlich ist

Um Berechtigungen bereitzustellen, fügen Sie den IAM-Rollen Ihrer Benutzer die folgende Richtlinie hinzu.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    }
  ]
}
```

------

# Ändern der Standardspeichergröße
<a name="code-editor-admin-storage-size"></a>

Sie können die Standardspeichereinstellungen für Ihre Benutzer ändern. Sie können die Standardspeichereinstellungen auch entsprechend Ihren organisatorischen Anforderungen und den Bedürfnissen Ihrer Benutzer ändern.

So ändern Sie die Speichergröße Ihrer Benutzer:

1. Aktualisieren Sie die Amazon-EBS-Speichereinstellungen in der Domain. 

1. Erstellen Sie ein Benutzerprofil und geben Sie die darin enthaltenen Speichereinstellungen an.

Verwenden Sie den folgenden Befehl AWS Command Line Interface (AWS CLI), um die Domain zu aktualisieren.

```
aws --region $REGION sagemaker update-domain \
--domain-id $DOMAIN_ID \
--default-user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Verwenden Sie den folgenden AWS CLI Befehl, um das Benutzerprofil zu erstellen und die Standardspeichereinstellungen anzugeben.

```
aws --region $REGION sagemaker create-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Verwenden Sie die folgenden AWS CLI Befehle, um die Standardspeichereinstellungen im Benutzerprofil zu aktualisieren.

```
aws --region $REGION sagemaker update-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":25,
            "MaximumEbsVolumeSizeInGb":200
        }
    }
}'
```

# Code-Editor-Lebenszykluskonfigurationen
<a name="code-editor-use-lifecycle-configurations"></a>

Sie können Code-Editor-Lebenszykluskonfigurationen verwenden, um die Anpassung für Ihre Studio-Umgebung zu automatisieren. Diese Anpassung umfasst die Installation benutzerdefinierter Pakete, die Konfiguration von Erweiterungen, das Vorladen von Datensätzen und die Einrichtung von Quellcode-Repositorys.

In den folgenden Anweisungen wird das AWS Command Line Interface (AWS CLI) verwendet, um Lebenszykluskonfigurationen für den `CodeEditor` Anwendungstyp zu erstellen, anzuhängen, zu debuggen und zu trennen:
+ [Erstellen und Anfügen von Lebenszykluskonfigurationen in Studio](code-editor-use-lifecycle-configurations-studio-create.md)
+ [Debuggen von Lebenszykluskonfigurationen in Studio](code-editor-use-lifecycle-configurations-studio-debug.md)
+ [Trennen von Lebenszykluskonfigurationen in Studio](code-editor-use-lifecycle-configurations-studio-detach.md)

# Erstellen und Anfügen von Lebenszykluskonfigurationen in Studio
<a name="code-editor-use-lifecycle-configurations-studio-create"></a>

Der folgende Abschnitt enthält AWS CLI Befehle zum Erstellen einer Lebenszykluskonfiguration, zum Anhängen einer Lebenszykluskonfiguration beim Erstellen eines neuen Benutzerprofils und zum Anhängen einer Lebenszykluskonfiguration beim Aktualisieren eines Benutzerprofils. Voraussetzungen und allgemeine Schritte zum Erstellen und Anfügen von Lebenszykluskonfigurationen in Studio finden Sie unter [Erstellen der Lebenszykluskonfiguration](jl-lcc-create.md). 

Wenn Sie Ihre Studio-Lebenszykluskonfiguration mit dem `create-studio-lifecycle-config`-Befehl erstellen, geben Sie unbedingt an, dass der `studio-lifecycle-config-app-type` `CodeEditor` ist. Das folgende Beispiel veranschaulicht, wie Sie eine neue Studio-Lebenszykluskonfiguration für Ihre Code-Editor-Anwendung erstellen können.

```
aws sagemaker create-studio-lifecycle-config \
--studio-lifecycle-config-name my-code-editor-lcc \
--studio-lifecycle-config-content $LCC_CONTENT \
--studio-lifecycle-config-app-type CodeEditor
```

Notieren Sie sich den ARN der neu erstellten Lebenszykluskonfiguration, die zurückgegeben wird. Geben Sie beim Anfügen einer Lebenszykluskonfiguration diesen ARN in der `LifecycleConfigArns`-Liste von `CodeEditorAppSettings` an. 

Sie können beim Erstellen eines Benutzerprofils oder einer Domain eine Lebenszykluskonfiguration anfügen. Im folgenden Beispiel wird gezeigt, wie Sie ein neues Benutzerprofil mit angefügter Lebenszykluskonfiguration erstellen. Sie können auch eine neue Domain mit einer angefügter Lebenszykluskonfiguration erstellen, indem Sie den Befehl [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/create-domain.html) verwenden.

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

Sie können auch eine Lebenszykluskonfiguration anfügen, wenn Sie ein Benutzerprofil oder eine Domain aktualisieren. Im folgenden Beispiel wird gezeigt, wie Sie ein Benutzerprofil mit angefügter Lebenszykluskonfiguration aktualisieren. Sie können auch eine neue Domain mit einer angefügter Lebenszykluskonfiguration aktualisieren, indem Sie den Befehl [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) verwenden.

```
# Update a UserProfile
aws sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

# Debuggen von Lebenszykluskonfigurationen in Studio
<a name="code-editor-use-lifecycle-configurations-studio-debug"></a>

Um Skripte für die Lebenszykluskonfiguration für Code Editor zu debuggen, müssen Sie Studio verwenden. Weitere Informationen zum Debuggen von Lebenszykluskonfigurationen in Studio finden Sie unter [Konfigurationen für den Debug-Lebenszyklus](jl-lcc-debug.md). Um die Protokolle für eine bestimmte Anwendung zu finden, suchen Sie in den Protokollstreams nach dem folgenden Format:

```
domain-id/space-name/CodeEditor/default/LifecycleConfigOnStart
```

# Trennen von Lebenszykluskonfigurationen in Studio
<a name="code-editor-use-lifecycle-configurations-studio-detach"></a>

Um Lebenszykluskonfigurationen für Code Editor zu trennen, können Sie entweder die Konsole oder die AWS CLI verwenden. Schritte zum Trennen von Lebenszykluskonfigurationen von der Studio-Konsole finden Sie unter [Trennen von Lebenszykluskonfigurationen](jl-lcc-delete.md).

Um eine Lebenszykluskonfiguration mithilfe von zu trennen AWS CLI, entfernen Sie die gewünschte Lebenszykluskonfiguration aus der Liste der Lebenszykluskonfigurationen, die der Ressource zugeordnet sind. Anschließend übergeben Sie die Liste als Teil des jeweiligen Befehls:
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)

Der folgende Befehl entfernt beispielsweise alle Lebenszykluskonfigurationen für die Code-Editor-Anwendung, die mit der Domain verknüpft ist.

```
aws sagemaker update-domain --domain-id domain-id \
--default-user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# Erstellen einer Lebenszykluskonfiguration, um Repositorys in eine Code-Editor-Anwendung zu klonen
<a name="code-editor-use-lifecycle-configurations-repositories"></a>

In diesem Abschnitt erfahren Sie, wie Sie ein Repository klonen und eine Code-Editor-Anwendung mit angefügter Lebenszykluskonfiguration erstellen.

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

   ```
   #!/bin/bash
   set -eux
   ```

1. Klonen Sie das Repository Ihrer Wahl in Ihrem Skript für die Lebenszykluskonfiguration. 

   ```
   export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"
   git -C /home/sagemaker-user clone $REPOSITORY_URL
   ```

1. Nachdem Sie Ihr Skript fertiggestellt haben, erstellen Sie Ihre Lebenszykluskonfiguration und fügen Sie sie an. Weitere Informationen finden Sie unter [Erstellen und Anfügen von Lebenszykluskonfigurationen in Studio](code-editor-use-lifecycle-configurations-studio-create.md).

1. Erstellen Sie Ihre Code-Editor-Anwendung mit der angefügten Lebenszykluskonfiguration.

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   Weitere Informationen zum verfügbaren Code-Editor-Bild finden Sie ARNs unter[Anwendungs-Instances und Images von Code-Editor](code-editor-use-instances.md).

# Erstellen einer Lebenszykluskonfiguration zur Installation von Code-Editor-Erweiterungen
<a name="code-editor-use-lifecycle-configurations-extensions"></a>

In diesem Abschnitt wird gezeigt, wie Sie eine Lebenszykluskonfiguration erstellen, um Erweiterungen aus dem [Open VSX Registry](https://open-vsx.org/) in Ihrer Code-Editor-Umgebung zu installieren.

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

   ```
   #!/bin/bash
   set -eux
   ```

1. Installieren Sie im Skript die [Open VSX Registry](https://open-vsx.org/)-Erweiterung Ihrer Wahl:

   ```
   sagemaker-code-editor --install-extension AmazonEMR.emr-tools --extensions-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions
   ```

   Sie können den Namen der Erweiterung aus der URL der Erweiterung im [Open VSX Registry](https://open-vsx.org/) abrufen. Der im `sagemaker-code-editor`-Befehl zu verwendende Erweiterungsname sollte den gesamten Text enthalten, der `https://open-vsx.org/extension/` in der URL folgt. Ersetzen Sie alle Instances eines Schrägstrichs (`/`) durch einen Punkt (`.`). `AmazonEMR/emr-tools` sollte beispielsweise `AmazonEMR.emr-tools` sein.  
![\[Die Amazon-EMR-Erweiterungsseite im Open VSX Registry.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/code-editor/code-editor-emr-extension.png)

1. Nachdem Sie Ihr Skript fertiggestellt haben, erstellen Sie Ihre Lebenszykluskonfiguration und fügen Sie sie an. Weitere Informationen finden Sie unter [Erstellen und Anfügen von Lebenszykluskonfigurationen in Studio](code-editor-use-lifecycle-configurations-studio-create.md).

1. Erstellen Sie Ihre Code-Editor-Anwendung mit der angefügten Lebenszykluskonfiguration:

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   Weitere Informationen zum verfügbaren Code-Editor-Bild ARNs finden Sie unter[Anwendungs-Instances und Images von Code-Editor](code-editor-use-instances.md). Weitere Informationen zu Verbindungen und Erweiterungen finden Sie unter [Verbindungen und Erweiterungen von Code Editor](code-editor-use-connections-and-extensions.md).

# Benutzerdefinierte Images
<a name="code-editor-custom-images"></a>

Wenn Sie Funktionen benötigen, die sich von den im SageMaker Vertrieb bereitgestellten unterscheiden, können Sie mit Ihren benutzerdefinierten Erweiterungen und Paketen Ihr eigenes Image mitbringen. Sie können es auch verwenden, um die Code-Editor-Benutzeroberfläche an Ihre eigenen Branding- oder Compliance-Anforderungen anzupassen.

Auf der folgenden Seite finden Sie spezifische Informationen und Vorlagen für den Code-Editor, mit denen Sie Ihre eigenen benutzerdefinierten SageMaker KI-Images erstellen können. Dies soll die Informationen und Anweisungen von Amazon SageMaker Studio zur Erstellung Ihres eigenen SageMaker KI-Images und zum Einspielen Ihres eigenen Images in Studio ergänzen. Weitere Informationen zu benutzerdefinierten Amazon SageMaker AI-Images und dazu, wie Sie Ihr eigenes Bild in Studio importieren können, finden Sie unter[Bring Your Own Image (BYOI)](studio-updated-byoi.md). 

**Topics**
+ [Zustandsprüfung und URL für Anwendungen](#code-editor-custom-images-app-healthcheck)
+ [Dockerfile-Beispiele](#code-editor-custom-images-dockerfile-templates)

## Zustandsprüfung und URL für Anwendungen
<a name="code-editor-custom-images-app-healthcheck"></a>
+ `Base URL` – Die Basis-URL für die BYOI-Anwendung muss `CodeEditor/default` lauten. Es ist nur eine Anwendung zulässig, und diese muss stets den Namen `default` haben.
+ Health Check-Endpunkt — Sie müssen Ihren Code Editor-Server auf 0.0.0.0 Port 8888 hosten, damit SageMaker KI ihn erkennen kann.
+  Authentifizierung — Sie müssen `--without-connection-token` beim Öffnen den Vorgang bestehen`sagemaker-code-editor`, damit SageMaker KI Ihre Benutzer authentifizieren kann.

**Anmerkung**  
Wenn Sie Amazon SageMaker Distribution als Basis-Image verwenden, werden diese Anforderungen bereits als Teil des mitgelieferten `entrypoint-code-editor` Skripts erfüllt.

## Dockerfile-Beispiele
<a name="code-editor-custom-images-dockerfile-templates"></a>

Die folgenden Beispiele sind `Dockerfile`s, die den obigen Informationen und [Benutzerdefinierte Image-Daten](studio-updated-byoi-specs.md) entsprechen.

**Anmerkung**  
Wenn Sie Ihr eigenes Image in SageMaker Unified Studio verwenden, müssen Sie die [Dockerfile-Spezifikationen](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch* befolgen.  
`Dockerfile`Beispiele für SageMaker Unified Studio finden Sie im [Dockerfile-Beispiel](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

------
#### [ Example micromamba Dockerfile ]

Im Folgenden finden Sie ein Beispiel für eine Dockerfile, mit der Sie mithilfe einer [https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html)-Basisumgebung ein Image von Grund auf neu erstellen können: 

```
FROM mambaorg/micromamba:latest
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

USER root

RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor

USER $NB_UID

CMD eval "$(micromamba shell hook --shell=bash)"; \
    micromamba activate base; \
    sagemaker-code-editor --host 0.0.0.0 --port 8888 \
        --without-connection-token \
        --base-path "/CodeEditor/default"
```

------
#### [ Example SageMaker AI Distribution Dockerfile ]

Im Folgenden finden Sie ein Beispiel für ein Dockerfile zum Erstellen eines Images auf Basis von [Amazon SageMaker AI Distribution](https://github.com/aws/sagemaker-distribution/tree/main):

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100
ENV MAMBA_USER=$NB_USER

USER root

 # install scrapy in the base environment
RUN micromamba install -y --name base -c conda-forge scrapy

 # download VSCodeVim
RUN \
  wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \
  -P /tmp/exts/ --no-check-certificate

 # Install the extension
RUN \
  extensionloc=/opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \
  && sagemaker-code-editor \
    --install-extension "/tmp/exts/vim-1.27.2.vsix" \
    --extensions-dir "${extensionloc}"

USER $MAMBA_USER
ENTRYPOINT ["entrypoint-code-editor"]
```

------

# Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod"></a>

SageMaker HyperPod hilft Ihnen bei der Bereitstellung robuster Cluster für die Ausführung von Workloads für maschinelles Lernen (ML) und die Entwicklung von state-of-the-art Modellen wie großen Sprachmodellen (LLMs), Diffusionsmodellen und Basismodellen (). FMs Es beschleunigt die Entwicklung von, FMs indem der undifferenzierte Aufwand für den Aufbau und die Wartung großer Rechencluster entfällt, die von Tausenden von Beschleunigern wie AWS Trainium und NVIDIA A100 und H100 Graphical Processing Units () unterstützt werden. GPUs Wenn Beschleuniger ausfallen, erkennen und ersetzen die Resilienzfunktionen von SageMaker HyperPod Monitor the Cluster Instances die fehlerhafte Hardware automatisch im laufenden Betrieb, sodass Sie sich auf die Ausführung von ML-Workloads konzentrieren können.

Überprüfen Sie zunächst eine der folgenden Orchestrator-Optionen[Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md), die von unterstützt werden[AWS Identity and Access Management für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md), und richten Sie sie ein und wählen Sie sie aus. SageMaker HyperPod

**Slurm-Unterstützung in SageMaker HyperPod**

SageMaker HyperPod bietet Unterstützung für die Ausführung von Machine-Learning-Workloads auf belastbaren Clustern durch die Integration mit Slurm, einem Open-Source-Workload-Manager. Die Slurm-Unterstützung SageMaker HyperPod ermöglicht eine nahtlose Cluster-Orchestrierung durch die Slurm-Cluster-Konfiguration, sodass Sie Head-, Anmelde- und Worker-Knoten auf den SageMaker HyperPod Clustern einrichten können. Diese Integration erleichtert auch die SLURM-basierte Jobplanung für die Ausführung von ML-Workloads auf dem Cluster sowie den direkten Zugriff auf Clusterknoten für die Jobplanung. Mit HyperPod der Unterstützung für die Lebenszykluskonfiguration können Sie die Computerumgebung der Cluster an Ihre spezifischen Anforderungen anpassen. Darüber hinaus können Sie durch die Nutzung der verteilten Schulungsbibliotheken von Amazon SageMaker AI die Leistung der Cluster in Bezug auf AWS Rechen- und Netzwerkressourcen optimieren. Weitere Informationen hierzu finden Sie unter [Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md). 

**Amazon EKS-Unterstützung in SageMaker HyperPod**

SageMaker HyperPod lässt sich auch in Amazon EKS integrieren, um ein umfangreiches Training von Basismodellen auf langlebigen und belastbaren Rechenclustern zu ermöglichen. Auf diese Weise können Cluster-Administratoren HyperPod Cluster bereitstellen und sie an eine EKS-Steuerebene anhängen, was ein dynamisches Kapazitätsmanagement, direkten Zugriff auf Cluster-Instances und Resilienzfunktionen ermöglicht. Für Datenwissenschaftler HyperPod ermöglicht die Amazon EKS-Unterstützung die Ausführung containerisierter Workloads für das Training von Basismodellen, Inferenzen auf dem EKS-Cluster und die Nutzung der Funktion zur automatischen Wiederaufnahme von Jobs für Kubeflow-Schulungen. PyTorch Die Architektur beinhaltet eine 1-zu-1-Zuordnung zwischen einem EKS-Cluster (Kontrollebene) und einem HyperPod Cluster (Worker-Knoten) innerhalb einer VPC und bietet so eine eng integrierte Lösung für die Ausführung umfangreicher ML-Workloads. Weitere Informationen hierzu finden Sie unter [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**UltraServers mit HyperPod**

HyperPod mit UltraServers liefert KI-Rechenleistung durch die Integration von NVIDIA-Superchips in eine zusammenhängende, leistungsstarke Infrastruktur. Jede Instanz NVL72 UltraServer kombiniert 18 Instanzen mit 72 GPUs miteinander verbundenen NVIDIA-Blackwell-Instanzen NVLink, was im Vergleich zu Instances der vorherigen Generation schnellere Inferenzen und eine schnellere Trainingsleistung ermöglicht. Diese Architektur ist besonders nützlich für Unternehmen, die mit Basismodellen mit Billionen Parametern arbeiten, da der vereinheitlichte GPU-Speicher es ermöglicht, dass ganze Modelle in einer einzigen NVLink Domäne verbleiben, wodurch knotenübergreifende Netzwerkengpässe vermieden werden. HyperPod verstärkt diesen Hardwarevorteil durch eine intelligente topologieorientierte Planung, die die Verteilung der Arbeitslast optimiert, durch automatischen Austausch von Instanzen zur Minimierung von Unterbrechungen und durch flexible Bereitstellungsoptionen, die sowohl Konfigurationen für dedizierte als auch gemeinsam genutzte Ressourcen unterstützen. Für Teams, die die Grenzen der Modellgröße und -leistung erweitern möchten, bietet diese Integration die erforderliche Rechenbasis, um die fortschrittlichsten KI-Modelle mit beispielloser Effizienz zu trainieren und einzusetzen.

SageMaker HyperPod optimiert automatisch die Instanzplatzierung in Ihrem. UltraServers HyperPod Priorisiert standardmäßig alle Instanzen in einer, UltraServer bevor eine andere verwendet wird. Wenn Sie beispielsweise 14 Instanzen haben möchten und 2 UltraServers in Ihrem Plan haben, verwendet SageMaker KI alle Instanzen der ersten Instanz. UltraServer Wenn Sie 20 Instanzen benötigen, verwendet SageMaker KI alle 18 Instanzen in der ersten Instanz UltraServer und dann 2 weitere Instanzen in der zweiten.

## AWS-Regionen unterstützt von SageMaker HyperPod
<a name="sagemaker-hyperpod-available-regions"></a>

SageMaker HyperPod ist im Folgenden verfügbar AWS-Regionen. 
+ us-east-1
+ us-east-2
+ us-west-1
+ us-west-2
+ eu-central-1
+ eu-north-1
+ eu-west-1
+ eu-west-2
+ eu-south-2
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ ap-southeast-3
+ ap-southeast-4
+ ap-northeast-1
+ sa-east-1

**Topics**
+ [AWS-Regionen unterstützt von SageMaker HyperPod](#sagemaker-hyperpod-available-regions)
+ [SageMaker HyperPod Amazon-Schnellstart](sagemaker-hyperpod-quickstart.md)
+ [Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md)
+ [AWS Identity and Access Management für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md)
+ [Vom Kunden verwaltete Verschlüsselung für AWS KMS key SageMaker HyperPod](smcluster-cmk.md)
+ [SageMaker HyperPod Rezepte](sagemaker-hyperpod-recipes.md)
+ [Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md)
+ [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md)
+ [Verwendung von topologieorientierter Planung in Amazon SageMaker HyperPod](sagemaker-hyperpod-topology.md)
+ [Bereitstellen von Modellen auf Amazon SageMaker HyperPod](sagemaker-hyperpod-model-deployment.md)
+ [HyperPod im Studio](sagemaker-hyperpod-studio.md)
+ [SageMaker HyperPod Verweise](sagemaker-hyperpod-ref.md)
+ [SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md)
+ [SageMaker HyperPod Amazon-AMI](sagemaker-hyperpod-release-ami.md)

# SageMaker HyperPod Amazon-Schnellstart
<a name="sagemaker-hyperpod-quickstart"></a>

Dieser Schnellstart führt Sie durch die Erstellung Ihres ersten HyperPod Clusters mit Slurm- und Amazon EKS (EKS) -Orchestrierungen. Wählen Sie zunächst die Orchestrierung, die am besten zu Ihren Infrastrukturanforderungen passt. SageMaker HyperPod

**Topics**
+ [Erstellen Sie einen SLURM-orchestrierten Cluster SageMaker HyperPod](#sagemaker-hyperpod-quickstart-slurm)
+ [Erstellen Sie einen EKS-orchestrierten Cluster SageMaker HyperPod](#sagemaker-hyperpod-quickstart-eks)
+ [Übermitteln von Workloads](#sagemaker-hyperpod-quickstart-workload)

## Erstellen Sie einen SLURM-orchestrierten Cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-quickstart-slurm"></a>

Folgen Sie diesen Schritten, um Ihren ersten SageMaker HyperPod Cluster mit Slurm-Orchestrierung zu erstellen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **HyperPod Clusters** und dann **Cluster Management** aus.

1. Wählen Sie auf der Seite **SageMaker HyperPod Cluster** die Option ** HyperPod Cluster erstellen** aus. 

1. Wählen **Sie im Drop-down-Menü HyperPod Cluster erstellen** die Option **Orchestrated by Slurm aus**.

1. Wählen Sie auf der Seite zur Clustererstellung die Option **Quick Setup** aus. Mit dieser Option können Sie sofort mit den Standardeinstellungen beginnen. SageMaker KI erstellt bei der Erstellung Ihres Clusters neue Ressourcen wie VPC, Subnetze, Sicherheitsgruppen, Amazon S3 S3-Bucket, IAM-Rolle und FSx für Lustre.

1. Geben Sie unter **Allgemeine Einstellungen** einen Namen für den neuen Cluster an. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

1. Wählen Sie unter **Instance-Gruppen** die Option **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen. Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

   Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

   1. Wählen Sie unter **Instance-Gruppentyp** einen Typ für die Instance-Gruppe aus. Wählen Sie für diesen Schnellstart **Controller (Head)** für `my-controller-group`, **Login** für `my-login-group` und **Compute (Worker)** für `worker-group-1` aus. 

   1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an. Erstellen Sie für diesen Schnellstart drei Instance-Gruppen mit den Namen `my-controller-group`, `my-login-group` und `worker-group-1`.

   1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

   1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus. Wählen Sie für diesen Schnellstart `ml.c5.xlarge` für `my-controller-group`, `ml.m5.4xlarge` für `my-login-group` und `ml.trn1.32xlarge` für `worker-group-1` aus. 

      Stellen Sie sicher, dass Sie den Instance-Typ mit ausreichenden Kontingenten in Ihrem Konto auswählen, oder fordern Sie zusätzliche Kontingente an, indem Sie den Anweisungen unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas) folgen.

   1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Geben Sie für diesen Schnellstart **1** für alle drei Gruppen ein.

   1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

   1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com//ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

   1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

1.  Überprüfen Sie unter **Standardwerte für die Schnellkonfiguration** die Standardeinstellungen. In diesem Abschnitt sind alle Standardeinstellungen für Ihre Clustererstellung aufgeführt, einschließlich aller neuen AWS Ressourcen, die während der Clustererstellung erstellt werden.

1. Wählen Sie **Absenden** aus.

Weitere Informationen finden Sie unter [Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole](smcluster-getting-started-slurm-console.md).

## Erstellen Sie einen EKS-orchestrierten Cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-quickstart-eks"></a>

Gehen Sie wie folgt vor, um Ihren ersten SageMaker HyperPod Cluster mit Amazon EKS-Orchestrierung zu erstellen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **HyperPod Clusters** und dann **Cluster Management** aus.

1. Wählen Sie auf der Seite **SageMaker HyperPod Cluster** die Option ** HyperPod Cluster erstellen** aus. 

1. Wählen **Sie im Drop-down-Menü HyperPod Cluster erstellen** die Option **Orchestrated by Amazon EKS** aus.

1. Wählen Sie auf der Seite zur Clustererstellung die Option **Schnellkonfiguration** aus. Mit dieser Option können Sie sofort mit den Standardeinstellungen beginnen. SageMaker KI erstellt bei der Erstellung Ihres Clusters neue Ressourcen wie VPC, Subnetze, Sicherheitsgruppen, Amazon S3 S3-Bucket, IAM-Rolle und FSx für Lustre.

1. Geben Sie unter **Allgemeine Einstellungen** einen Namen für den neuen Cluster an. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde. 

1. Wählen Sie unter **Instance-Gruppen** die Option **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen. Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

   Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

   1. Wählen Sie als **Instance-Gruppentyp** **Standard** oder **Restricted Instance Group (RIG)** aus. Normalerweise wählen Sie **Standard**, denn es bietet eine allgemeine Datenverarbeitungsumgebung ohne zusätzliche Sicherheitseinschränkungen. **Restricted Instance Group (RIG)** ist eine spezialisierte Umgebung für die Anpassung von Grundlagenmodellen wie Amazon Nova. Weitere Informationen zur Einrichtung von RIG für die Amazon Nova-Modellanpassung finden Sie unter Amazon Nova-Anpassung SageMaker HyperPod im [Amazon Nova 1.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/userguide/nova-hp.html) oder im [Amazon Nova 2.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp.html).

   1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an.

   1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

   1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus. Stellen Sie sicher, dass Sie den Instance-Typ mit ausreichenden Kontingenten in Ihrem Konto auswählen, oder fordern Sie zusätzliche Kontingente an, indem Sie den Anweisungen unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas) folgen.

   1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Geben Sie für diesen Schnellstart **1** für alle drei Gruppen ein.

   1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

   1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com//ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

   1. Wählen Sie unter **Detaillierte Instance-Zustandsprüfungen** die gewünschte Option aus. Detaillierte Zustandsprüfungen überwachen den Zustand der Instances während der Erstellung und nach Softwareupdates und stellen fehlerhafte Instances automatisch durch Neustarts oder Austausch, sofern aktiviert, wieder her.

   1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

1.  Überprüfen Sie unter **Standardwerte für die Schnellkonfiguration** die Standardeinstellungen. In diesem Abschnitt sind alle Standardeinstellungen für Ihre Clustererstellung aufgeführt, einschließlich aller neuen AWS Ressourcen, die während der Clustererstellung erstellt werden.

1. Wählen Sie **Absenden** aus.

Weitere Informationen finden Sie unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

## Übermitteln von Workloads
<a name="sagemaker-hyperpod-quickstart-workload"></a>

Folgen Sie diesen Workshop-Tutorials, um Beispiel-Workloads zu übermitteln.
+ [Amazon SageMaker HyperPod für Slurm](https://catalog.workshops.aws/sagemaker-hyperpod/en-US)
+ [Amazon SageMaker HyperPod für Amazon EKS](https://catalog.workshops.aws/sagemaker-hyperpod-eks/en-US)

# Voraussetzungen für die Verwendung SageMaker HyperPod
<a name="sagemaker-hyperpod-prerequisites"></a>

In den folgenden Abschnitten werden die Voraussetzungen beschrieben, bevor Sie damit beginnen SageMaker HyperPod.

**Topics**
+ [SageMaker HyperPod Kontingente](#sagemaker-hyperpod-prerequisites-quotas)
+ [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](#sagemaker-hyperpod-prerequisites-optional-vpc)
+ [Einrichtung von Clustern über mehrere SageMaker HyperPod AZs](#sagemaker-hyperpod-prerequisites-multiple-availability-zones)
+ [Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle](#sagemaker-hyperpod-prerequisites-ssm)
+ [(Optional) Einrichtung SageMaker HyperPod mit Amazon FSx for Lustre](#sagemaker-hyperpod-prerequisites-optional-fsx)

## SageMaker HyperPod Kontingente
<a name="sagemaker-hyperpod-prerequisites-quotas"></a>

Sie können SageMaker HyperPod Cluster erstellen, wenn Sie die Kontingente für die *Clusternutzung* in Ihrem AWS Konto berücksichtigen.

**Wichtig**  
Weitere Informationen zur SageMaker HyperPod Preisgestaltung finden Sie unter [SageMaker HyperPod Preisgestaltung](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-pricing) und unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/).

### SageMaker HyperPod Amazon-Kontingente anzeigen mit dem AWS-Managementkonsole
<a name="sagemaker-hyperpod-prerequisites-quotas-view"></a>

Suchen Sie nach den Standardwerten und den angewendeten Werten eines *Kontingents*, das auch als *Limit* bezeichnet wird, für die *Cluster-Nutzung* SageMaker HyperPod.

1. Öffnen Sie die [Service Quotas -Konsole](https://console.aws.amazon.com/servicequotas/).

1. Wählen Sie im linken Navigationsbereich **AWS services** aus.

1. Suchen Sie in der **AWS Serviceliste** nach **Amazon SageMaker AI** und wählen Sie es aus.

1. In der Liste der **Servicekontingente** finden Sie den Namen des Servicekontingents, den angewendeten Wert (falls verfügbar), das AWS Standardkontingent und ob der Kontingentwert anpassbar ist. 

1. Geben Sie in die Suchleiste **Cluster-Nutzung** ein. Hier werden die Kontingente für die Cluster-Nutzung, die angewendeten Kontingente und die Standardkontingente angezeigt.

**Liste gängiger Servicekontingenten für die Erstellung eines HyperPod Clusters und der zugehörigen Voraussetzungen**

Möglicherweise möchten Sie in der AI-Konsole überprüfen, ob Sie für die folgenden Kontingente eine Erhöhung der Servicekontingenten beantragt haben, um einen neuen HyperPod Cluster zusammen mit den Voraussetzungen zu erstellen. SageMaker Navigieren Sie zur **Service Quota-Konsole** und suchen Sie nach den folgenden Begriffen.


****  

| Nein | Name des Kontingents | Suchbegriff | Description | 
| --- | --- | --- | --- | 
| 1 | Maximal zulässige Anzahl von Instanzen pro SageMaker HyperPod Cluster | Suchen Sie unter SageMaker KI nach „Maximale Anzahl erlaubter Instanzen pro SageMaker HyperPod Cluster“ | Ihr Kontingentwert auf Kontoebene muss höher sein als die Anzahl der Instanzen, die Sie Ihrem Cluster hinzufügen möchten | 
| 2 | Maximale Größe des EBS-Volumes in GB für eine Cluster-Instance SageMaker HyperPod  |  Suchen Sie unter SageMaker KI nach „Maximale Größe des EBS-Volumes in GB für eine HyperPod Cluster-Instance“   |  Ihr Kontingentwert auf Kontoebene muss höher sein als das EBS-Volume, das Sie Ihrem Cluster hinzufügen möchten  | 
| 3 | Gesamtzahl der in Clustern zulässigen Instances SageMaker HyperPod |  Suchen Sie unter SageMaker KI nach „Gesamtzahl der in SageMaker HyperPod Clustern zulässigen Instanzen“   | Ihr Kontingentwert auf Kontoebene muss höher sein als die Gesamtzahl der Instances, die Sie für alle Ihre Cluster in Ihrem Konto insgesamt hinzufügen möchten | 
| 4 |  Instanzkontingente   |  Suchen Sie unter SageMaker KI nach „ml. „<instance\$1type>für Cluster-Nutzung“, z. B.: ml.p5.48xlarge für Cluster-Nutzung  | Ihr Kontingentwert auf Kontoebene für den jeweiligen Instance-Typ (z. B.: ml.p5.48xlarge) muss größer sein als die Anzahl der Instances, die Sie für alle Ihre Cluster in Ihrem Konto insgesamt hinzufügen möchten. | 
| 5 |  VPCs pro Region  | Suchen Sie unter Amazon Virtual Private Cloud (Amazon VPC) nach „VPCspro Region“ | Ihr Kontingentwert auf Kontoebene muss ausreichen, um bei der Einrichtung Ihres Clusters eine neue VPC im Konto zu erstellen. HyperPod Überprüfen Sie in der VPC-Konsole, ob Sie dieses Kontingentlimit bereits ausgeschöpft haben. Diese Erhöhung des Kontingents ist nur erforderlich, wenn Sie über die Cluster-Setup-Option „Schnell“ oder „Benutzerdefiniert“ in der SageMaker HyperPod Konsole eine neue VPC erstellen. | 
| 6 |  Internet-Gateways pro Region  |  Suchen Sie unter Amazon Virtual Private Cloud (Amazon VPC) nach „Internet-Gateways pro Region“  | Ihr Kontingentwert auf Kontoebene muss ausreichen, um bei der Einrichtung Ihres Clusters ein zusätzliches Internet-Gateway im Konto einzurichten. SageMaker HyperPod Diese Erhöhung des Kontingents ist nur erforderlich, wenn Sie über die Cluster-Setup-Option „Schnell“ oder „Benutzerdefiniert“ in der SageMaker HyperPod Konsole eine neue VPC erstellen.  | 
| 7 | Netzwerkschnittstellen pro Region | Suchen Sie unter Amazon Virtual Private Cloud (Amazon VPC) nach „Netzwerkschnittstellen pro Region“ |  Ihr Kontingentwert auf Kontoebene muss bei der Einrichtung Ihres Clusters über genügend Netzwerkschnittstellen verfügen. HyperPod   | 
| 8 | EC2-VPC Elastisch IPs | Suchen Sie unter Amazon Elastic Compute Cloud (Amazon EC2) nach „EC2-VPC Elastic“ IPs | Ihr Kontingentwert auf Kontoebene muss ausreichen, um bei der Einrichtung Ihres Clusters eine neue VPC im Konto zu erstellen. HyperPod Überprüfen Sie in der VPC-Konsole, ob Sie dieses Kontingentlimit bereits ausgeschöpft haben. Diese Erhöhung des Kontingents ist nur erforderlich, wenn Sie über die Cluster-Setup-Option „Schnell“ oder „Benutzerdefiniert“ in der SageMaker HyperPod Konsole eine neue VPC erstellen. | 

### Beantragen Sie eine Erhöhung des SageMaker HyperPod Amazon-Kontingents mit dem AWS-Managementkonsole
<a name="sagemaker-hyperpod-prerequisites-quotas-increase"></a>

Erhöhen Sie Ihre Kontingente auf Konto- oder Ressourcenebene.

1. Um das Kontingent der Instances für die *Cluster-Nutzung* zu erhöhen, wählen Sie das Kontingent aus, das Sie erhöhen möchten.

1. Wenn das Kontingent anpassbar ist, können Sie eine Erhöhung des Kontingents entweder auf Konto- oder Ressourcenebene beantragen, basierend auf dem Wert, der in der Spalte **Anpassbarkeit** aufgeführt ist.

1. Geben Sie unter **Kontingentwert erhöhen** den neuen Wert ein. Der neue Wert muss größer als der aktuelle Wert sein.

1. Wählen Sie **Anfrage** aus.

1. Um ausstehende oder kürzlich gelöste Anfragen in der Konsole anzuzeigen, navigieren Sie auf der Detailseite des Services zur Registerkarte **Anfrageverlauf** oder wählen Sie im Navigationsbereich **Dashboard** aus. Wählen Sie für ausstehende Anfragen den Status der Anfrage, um die Anfrage zu öffnen. Der Anfangsstatus einer Anfrage ist **Pending** (Ausstehend). Nachdem sich der Status in „**Kontingent angefordert**“ geändert hat, sehen Sie die Fallnummer mit AWS Support. Wählen Sie die Fallnummer, um das Ticket für Ihre Anfrage zu öffnen.

Weitere Informationen zur Anforderung einer Erhöhung eines Kontingents finden Sie unter [Beantragen einer Kontingenterhöhung](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) im *Benutzerhandbuch zu AWS -Service-Quotas*.

## Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC
<a name="sagemaker-hyperpod-prerequisites-optional-vpc"></a>

Um einen SageMaker HyperPod Cluster mit einer benutzerdefinierten Amazon VPC einzurichten, überprüfen Sie die folgenden Voraussetzungen.

**Anmerkung**  
Die VPC-Konfiguration ist für die Amazon-EKS-Orchestrierung obligatorisch. Für die Slurm-Orchestrierung ist die VPC-Einrichtung optional.
+  Überprüfen Sie die [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENI) -Kapazität in Ihrem, AWS-Konto bevor Sie einen SageMaker HyperPod Cluster mit einer benutzerdefinierten VPC erstellen. Das ENI-Limit wird von Amazon EC2 gesteuert und variiert je nach AWS-Region. SageMaker HyperPod kann nicht automatisch Quotenerhöhungen beantragen. 

**So überprüfen Sie Ihr aktuelles ENI-Kontingent:**

  1. Öffnen Sie die [Service Quotas -Konsole](https://console.aws.amazon.com/servicequotas/).

  1. Verwenden **Sie im Abschnitt Kontingente verwalten** die Dropdownliste ** AWS Dienste**, um nach **VPC** zu suchen. 

  1. Wählen Sie die Option zum Anzeigen der Kontingente von **Amazon Virtual Private Cloud (Amazon VPC)**. 

  1. Suchen Sie nach dem Service Quota, den **Netzwerkschnittstellen pro Region** oder dem **Kontingentcode** `L-DF5E4CA3`.

  Wenn Ihr derzeitiges ENI-Limit für Ihre SageMaker HyperPod Cluster-Anforderungen nicht ausreicht, fordern Sie eine Erhöhung des Kontingents an. Wenn Sie im Voraus eine ausreichende ENI-Kapazität sicherstellen, können Sie Ausfälle bei der Cluster-Bereitstellung vermeiden.
+ Wenn Sie eine benutzerdefinierte VPC verwenden, um einen SageMaker HyperPod Cluster mit AWS Ressourcen zu verbinden, geben Sie IDs bei der Clustererstellung den VPC-Namen, die ID AWS-Region, das Subnetz IDs und die Sicherheitsgruppe an.
**Anmerkung**  
Wenn Ihre Amazon VPC und Subnetze auf Cluster- oder Instance-Gruppenebene mithilfe [https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateCluster.html#sagemaker-CreateCluster-request-VpcConfig](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateCluster.html#sagemaker-CreateCluster-request-VpcConfig)des `OverrideVPCConfig` Attributs von unterstützen IPv6 [https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html), unterscheidet sich die Netzwerkkommunikation je nach Cluster-Orchestrierungsplattform:  
Slurm-orchestrierte Cluster konfigurieren automatisch Knoten mit dualen Adressen IPv6 und IPv4 ermöglichen so eine sofortige Netzwerkkommunikation. IPv6 Neben den Einstellungen ist keine zusätzliche Konfiguration erforderlich. `VPCConfig` IPv6 
In EKS-orchestrierten Clustern erhalten Knoten eine Dual-Stack-Adressierung, aber Pods können nur verwendet werden, IPv6 wenn der Amazon EKS-Cluster explizit aktiviert ist. IPv6 Sie müssen einen neuen IPv6 Amazon EKS-Cluster erstellen. Bestehende IPv4 Amazon EKS-Cluster können nicht konvertiert werden IPv6. Informationen zur Bereitstellung eines IPv6 Amazon EKS-Clusters finden Sie unter [Amazon EKS IPv6 Cluster-Bereitstellung](https://docs.aws.amazon.com/eks/latest/userguide/deploy-ipv6-cluster.html#_deploy_an_ipv6_cluster_with_eksctl).
Zusätzliche Ressourcen für die IPv6 Konfiguration:  
Informationen zum Hinzufügen von IPv6 Unterstützung zu Ihrer VPC finden Sie unter [IPv6 Support für VPC](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-migrate-ipv6.html).
Informationen zum Erstellen einer neuen IPv6 -kompatiblen VPC finden Sie im [Amazon VPC Creation](https://docs.aws.amazon.com//vpc/latest/userguide/create-vpc.html) Guide.
Informationen zur Konfiguration SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC finden Sie unter [Benutzerdefiniertes Amazon VPC-Setup für](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-optional-vpc). SageMaker HyperPod
+ Stellen Sie sicher, dass alle Ressourcen im gleichen AWS-Region Cluster bereitgestellt werden. SageMaker HyperPod Konfigurieren Sie Sicherheitsgruppenregeln, um die Kommunikation zwischen Ressourcen innerhalb der VPC zu ermöglichen, wenn Sie beispielsweise eine VPC in `us-west-2` erstellen, Subnetze in einer oder mehreren Availability  Zones (z.B. `us-west-2a` oder`us-west-2b`) bereitstellen und eine Sicherheitsgruppe erstellen, die gruppeninternen Datenverkehr ermöglicht.
**Anmerkung**  
SageMaker HyperPod unterstützt die Bereitstellung in mehreren Verfügbarkeitszonen. Weitere Informationen finden Sie unter [Einrichtung von Clustern über mehrere SageMaker HyperPod AZs](#sagemaker-hyperpod-prerequisites-multiple-availability-zones).
+ Stellen Sie Amazon Simple Storage Service (Amazon S3) Konnektivität für von VPC bereitgestellte SageMaker HyperPod Instanzgruppen her, indem Sie einen VPC-Endpunkt erstellen. Ohne Internetzugang können Instance-Gruppen keine Lebenszyklusskripte, Trainingsdaten oder Modellartefakte speichern oder abrufen. Wir empfehlen Ihnen, eine benutzerdefinierte IAM-Richtlinie zu erstellen, die den Zugriff des Amazon-S3-Buckets auf die private VPC einschränkt. Weitere Informationen finden Sie unter [Endpunkte für Amazon S3](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints-s3.html) im *AWS PrivateLink -Benutzerhandbuch*.
+ Für HyperPod Cluster, die Elastic Fabric Adapter (EFA) -fähige Instances verwenden, konfigurieren Sie die Sicherheitsgruppe so, dass der gesamte ein- und ausgehende Datenverkehr zur und von der Sicherheitsgruppe selbst zugelassen wird. Vermeiden Sie insbesondere die Verwendung von `0.0.0.0/0` für ausgehende Regeln, da dies dazu führen kann, dass die EFA-Zustandsprüfung fehlschlägt. Weitere Informationen zu den Richtlinien zur Vorbereitung von EFA-Sicherheitsgruppen finden Sie unter [Schritt 1: Vorbereiten einer EFA-fähigen Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-security) im *Benutzerhandbuch für Amazon EC2*.
+ Überlegen Sie sich vor der Erstellung von Clustern sorgfältig die Blockgröße Ihres Subnetzes mit Classless Inter-Domain Routing (CIDR). HyperPod 
  + Die Größe des CIDR-Blocks des Subnetzes kann nach der Erstellung nicht mehr geändert werden. Dies ist besonders wichtig, wenn Sie große beschleunigte Instances wie P5 verwenden. Ohne ausreichende Blockgröße müssen Sie Ihre Cluster bei der Skalierung neu erstellen.
  + Berücksichtigen Sie bei der Auswahl der geeigneten CIDR-Blockgröße für das Subnetz folgende Faktoren: Ihre Instance-Typen, die erwartete Anzahl von Instances und die Anzahl der von jeder Instance belegten IP-Adressen.
  + Bei SLURM-orchestrierten Clustern kann jede P5-Instance 32 IP-Adressen (eine pro Netzwerkkarte) erstellen. Bei EKS-orchestrierten Clustern kann jede P5-Instance 81 IP-Adressen erstellen (50 von der primären Karte plus eine von jeder der verbleibenden 31 Karten). Detaillierte Spezifikationen finden Sie unter [Netzwerkspezifikationen](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network) im *Entwicklerhandbuch für Instance-Typen von Amazon EC2*.
  + [Beispiele für CloudFormation Vorlagen, die die CIDR-Blockgröße des Subnetzes angeben, finden Sie in der [HyperPod Slurm-Vorlage](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/sagemaker-hyperpod.yaml) und der [HyperPod Amazon EKS-Vorlage im Repository](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/cfn-templates/nested-stacks/private-subnet-stack.yaml). awsome-distributed-training ](https://github.com/aws-samples/awsome-distributed-training/tree/main)

## Einrichtung von Clustern über mehrere SageMaker HyperPod AZs
<a name="sagemaker-hyperpod-prerequisites-multiple-availability-zones"></a>

Sie können Ihre SageMaker HyperPod Cluster für mehrere Availability Zones (AZs) konfigurieren, um die Zuverlässigkeit und Verfügbarkeit zu verbessern.

**Anmerkung**  
Elastic Fabric Adapter (EFA) -Datenverkehr kann AZs oder VPCs nicht überqueren. Dies gilt nicht für normalen IP-Verkehr vom ENA-Gerät einer EFA-Schnittstelle. Weitere Informationen finden Sie unter [EFA-Einschränkungen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html).
+ **Standardverhalten**

  HyperPod stellt alle Cluster-Instances in einer einzigen Availability Zone bereit. Die VPC-Konfiguration bestimmt die Bereitstellungs-AZ:
  + Für SLURM-orchestrierte Cluster ist die VPC-Konfiguration optional. Wenn keine VPC-Konfiguration bereitgestellt wird, wird HyperPod standardmäßig ein Subnetz von der Plattform-VPC verwendet. 
  + Für EKS-orchestrierte Cluster ist die VPC-Konfiguration erforderlich.
  + Sowohl für Slurm- als auch für EKS-Orchestratoren [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html)wird, sofern angegeben, ein Subnetz aus der Subnetzliste des Anbieters HyperPod ausgewählt. `VpcConfig` Alle Instance-Gruppen erben die AZ des Subnetzes. 
**Anmerkung**  
Sobald Sie einen Cluster erstellt haben, können Sie seine `VpcConfig`-Einstellungen nicht mehr ändern.

  Weitere Informationen VPCs zur Konfiguration von HyperPod Clustern finden Sie im vorherigen Abschnitt,. [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](#sagemaker-hyperpod-prerequisites-optional-vpc)
+ ** Multi-AZ-Konfiguration **

  Sie können Ihren HyperPod Cluster für mehrere einrichten, AZs wenn Sie einen Cluster erstellen oder wenn Sie einem vorhandenen Cluster eine neue Instanzgruppe hinzufügen. Um Multi-AZ-Bereitstellungen zu konfigurieren, können Sie die VPC-Standardeinstellungen des Clusters überschreiben, indem Sie für einzelne Instance-Gruppen innerhalb Ihres Clusters unterschiedliche Subnetze und Sicherheitsgruppen angeben, möglicherweise über verschiedene Availability Zones hinweg. 

  SageMaker HyperPod API-Benutzer können die `OverrideVpcConfig` Eigenschaft innerhalb von verwenden [ClusterInstanceGroupSpecification](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html), wenn sie mit dem [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)oder arbeiten [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) APIs.

  Das Feld `OverrideVpcConfig`:
  + Kann nicht geändert werden, nachdem die Instance-Gruppe erstellt wurde.
  + ist optional. Wenn nicht anders angegeben, wird standardmäßig die Cluster-Ebene [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_VpcConfig.html) verwendet.
  + Kann für Slurm-orchestrierte Cluster nur angegeben werden, wenn die Clusterebene `VpcConfig` angegeben ist. Wenn auf Clusterebene `VpcConfig` angegeben ist, kann `OverrideVpcConfig` für keine Instance-Gruppe verwendet werden.
  + Enthält zwei Pflichtfelder:
    + `Subnets`- akzeptiert zwischen 1 und 16 Subnetze IDs
    + `SecurityGroupIds`- akzeptiert zwischen 1 und 5 Sicherheitsgruppen IDs

  Weitere Informationen zum Erstellen oder Aktualisieren eines SageMaker HyperPod Clusters über die Benutzeroberfläche der SageMaker HyperPod Konsole oder über AWS CLI:
  + Slurm-Orchestrierung: Siehe [Betrieb von HyperPod Slurm-orchestrierten](sagemaker-hyperpod-operate-slurm.md) Clustern.
  + EKS-Orchestrierung. [ HyperPodSiehe Betrieb von EKS-orchestrierten](sagemaker-hyperpod-eks-operate.md) Clustern.

**Anmerkung**  
Wenn Sie Workloads über mehrere ausführen, sollten Sie sich bewusst sein AZs, dass die Netzwerkkommunikation zwischen AZs diesen zu zusätzlicher Latenz führt. Berücksichtigen Sie diese Auswirkungen bei der Entwicklung latenzempfindlicher Anwendungen.

## Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle
<a name="sagemaker-hyperpod-prerequisites-ssm"></a>

[SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami)ist standardmäßig mit [AWS Systems Manager](https://aws.amazon.com/systems-manager/)(SSM) ausgestattet, um Ihnen bei der Verwaltung des Zugriffs auf Ihre SageMaker HyperPod Cluster-Instanzgruppen zu helfen. In diesem Abschnitt wird beschrieben, wie Sie Betriebssystembenutzer (OS) in Ihren SageMaker HyperPod Clustern erstellen und sie IAM-Benutzern und -Rollen zuordnen. Dies ist nützlich, um SSM-Sitzungen mithilfe der Anmeldeinformationen des Betriebssystem-Benutzerkontos zu authentifizieren.

**Anmerkung**  
Wenn Sie Benutzern Zugriff auf HyperPod Clusterknoten gewähren, können sie benutzerverwaltete Software auf den Knoten installieren und ausführen. Stellen Sie sicher, dass Sie das Prinzip der geringsten Berechtigung für Benutzer beibehalten.

### Aktivieren Sie Run As in Ihrem Konto AWS
<a name="sagemaker-hyperpod-prerequisites-ssm-enable-runas"></a>

Als AWS Kontoadministrator oder Cloud-Administrator können Sie den Zugriff auf SageMaker HyperPod Cluster auf IAM-Rollen- oder Benutzerebene verwalten, indem Sie die [Funktion „Ausführen als“ in SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html) verwenden. Mit diesem Feature können Sie jede SSM-Sitzung mit dem Betriebssystembenutzer starten, der der IAM-Rolle oder dem IAM-Benutzer zugeordnet ist.

Um Run As in Ihrem AWS Konto zu aktivieren, folgen Sie den Schritten [unter Run As-Unterstützung für verwaltete Linux- und macOS-Nodes](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html) aktivieren. Wenn Sie bereits Betriebssystembenutzer in Ihrem Cluster erstellt haben, stellen Sie sicher, dass Sie sie IAM-Rollen oder -Benutzern zuordnen, indem Sie sie wie in **Option 2** von Schritt 5 unter **So aktivieren Sie die Unterstützung von „Ausführen als“ für verwaltete Linux- und macOS-Knoten** beschrieben markieren.

## (Optional) Einrichtung SageMaker HyperPod mit Amazon FSx for Lustre
<a name="sagemaker-hyperpod-prerequisites-optional-fsx"></a>

Um mit der Verwendung SageMaker HyperPod und Zuordnung von Datenpfaden zwischen dem Cluster und Ihrem FSx for Lustre-Dateisystem zu beginnen, wählen Sie einen der AWS-Regionen unterstützten von. SageMaker HyperPod Nachdem AWS-Region Sie die von Ihnen bevorzugte ausgewählt haben, sollten Sie auch festlegen, welche Availability Zone (AZ) Sie verwenden möchten. 

Wenn Sie SageMaker HyperPod Rechenknoten an einem AZs anderen Ort als AZs dem verwenden, an dem Ihr FSx for Lustre-Dateisystem eingerichtet ist AWS-Region, kann es zu Kommunikations- und Netzwerkaufwand kommen. Wir empfehlen Ihnen, dieselbe physische AZ wie die für das SageMaker HyperPod Dienstkonto zu verwenden, um AZ-übergreifenden Verkehr zwischen SageMaker HyperPod Clustern und Ihrem FSx for Lustre-Dateisystem zu vermeiden. Stellen Sie außerdem sicher, dass Sie es mit Ihrer VPC konfiguriert haben. Wenn Sie Amazon FSx als Hauptdateisystem für die Speicherung verwenden möchten, müssen Sie SageMaker HyperPod Cluster mit Ihrer VPC konfigurieren.

# AWS Identity and Access Management für SageMaker HyperPod
<a name="sagemaker-hyperpod-prerequisites-iam"></a>

AWS Identity and Access Management (IAM) ist ein AWS Dienst, der einem Administrator hilft, den Zugriff auf Ressourcen sicher zu AWS kontrollieren. IAM-Administratoren kontrollieren, wer *authentifiziert* (angemeldet) und *autorisiert* (mit Berechtigungen ausgestattet) werden kann, um Amazon-EKS-Ressourcen zu nutzen. IAM ist ein AWS Dienst, den Sie ohne zusätzliche Kosten nutzen können.

**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.

Nehmen wir an, dass es zwei SageMaker HyperPod Hauptnutzerschichten gibt: *Cluster-Admin-Benutzer* und *Data-Scientist-Benutzer*.
+ **Cluster-Admin-Benutzer** — Sind für die Erstellung und Verwaltung von SageMaker HyperPod Clustern verantwortlich. Dazu gehören die Konfiguration der HyperPod Cluster und die Verwaltung des Benutzerzugriffs auf sie.
  + Erstellen und konfigurieren Sie SageMaker HyperPod Cluster mit Slurm oder Amazon EKS.
  + Erstellen und konfigurieren Sie IAM-Rollen für Data-Scientist-Benutzer und HyperPod Cluster-Ressourcen.
  + Für die SageMaker HyperPod Orchestrierung mit Amazon EKS müssen Sie [EKS-Zugriffseinträge](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html), [rollenbasierte Zugriffskontrolle (RBAC)](sagemaker-hyperpod-eks-setup-rbac.md) und Pod Identity erstellen und konfigurieren, um datenwissenschaftliche Anwendungsfälle zu erfüllen.
+ **Datenwissenschaftsbenutzer** – Konzentration auf das Training von ML-Modellen. Sie verwenden den Open-Source-Orchestrator oder die SageMaker HyperPod CLI, um Schulungsjobs einzureichen und zu verwalten.
  + Nehmen Sie die von Cluster-Admin-Benutzern bereitgestellte IAM-Rolle an und verwenden Sie sie.
  + Interagieren Sie mit dem Open-Source-Orchestrator, der von SageMaker HyperPod (Slurm oder Kubernetes) oder der SageMaker HyperPod CLI CLIs unterstützt wird, um die Clusterkapazität zu überprüfen, eine Verbindung zum Cluster herzustellen und Workloads einzureichen.

Richten Sie IAM-Rollen für Cluster-Administratoren ein, indem Sie die richtigen Berechtigungen oder Richtlinien für den Betrieb von Clustern hinzufügen. SageMaker HyperPod Cluster-Administratoren sollten außerdem IAM-Rollen einrichten, um SageMaker HyperPod Ressourcen bereitzustellen, die für den Betrieb und die Kommunikation mit den erforderlichen AWS Ressourcen wie Amazon S3 CloudWatch, Amazon und AWS Systems Manager (SSM) zuständig sind. Schließlich sollten der AWS Kontoadministrator oder die Cluster-Administratoren Wissenschaftlern Berechtigungen für den Zugriff auf die SageMaker HyperPod Cluster und die Ausführung von ML-Workloads gewähren.

Je nachdem, welchen Orchestrator Sie auswählen, können die für den Cluster-Administrator und die Wissenschaftler erforderlichen Berechtigungen variieren. Sie können auch den Umfang der Berechtigungen für verschiedene Aktionen in den Rollen mithilfe der Bedingungsschlüssel pro Service steuern. Verwenden Sie die folgenden Referenzen zur Serviceautorisierung, um den detaillierten Umfang der Dienste im Zusammenhang mit hinzuzufügen. SageMaker HyperPod
+ [Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html)
+ [Amazon Elastic Container Registry](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html) (für SageMaker HyperPod Cluster-Orchestrierung mit Amazon EKS)
+ [Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html) (für SageMaker HyperPod Cluster-Orchestrierung mit Amazon EKS)
+ [Amazon FSx](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonfsx.html)
+ [AWS IAM Identity Center (Nachfolger von Single Sign-On) AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiamidentitycentersuccessortoawssinglesign-on.html)
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html)
+ [Amazon Simple Storage Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html)
+ [Amazon SageMaker KI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)
+ [AWS Systems Manager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanager.html)

**Topics**
+ [IAM-Berechtigungen für die Clustererstellung](#sagemaker-hyperpod-prerequisites-iam-cluster-creation)
+ [IAM-Benutzer für den Clusteradministrator](#sagemaker-hyperpod-prerequisites-iam-cluster-admin)
+ [IAM-Benutzer für Wissenschaftler](#sagemaker-hyperpod-prerequisites-iam-cluster-user)
+ [IAM-Rolle für SageMaker HyperPod](#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod)

## IAM-Berechtigungen für die Clustererstellung
<a name="sagemaker-hyperpod-prerequisites-iam-cluster-creation"></a>

Für die Erstellung von HyperPod Clustern sind die im folgenden Richtlinienbeispiel beschriebenen IAM-Berechtigungen erforderlich. Wenn Sie AWS-Konto über [https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AdministratorAccess.html](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AdministratorAccess.html)Berechtigungen verfügen, werden diese Berechtigungen standardmäßig gewährt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCluster",
                "sagemaker:DeleteCluster",
                "sagemaker:UpdateCluster"
            ],
            "Resource": "arn:aws:sagemaker:*:*:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:AddTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListTags",
                "sagemaker:ListClusters",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListComputeQuotas",
                "sagemaker:ListTrainingPlans",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack",
                "cloudformation:ContinueUpdateRollback",
                "cloudformation:SetStackPolicy",
                "cloudformation:ValidateTemplate",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackEvents",
                "cloudformation:Get*",
                "cloudformation:List*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/sagemaker-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "eks.amazonaws.com",
                        "lambda.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole",
                "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "eks.amazonaws.com",
                        "lambda.amazonaws.com",
                        "cloudformation.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "AmazonVPCFullAccess",
            "Effect": "Allow",
            "Action": [
                "ec2:AcceptVpcPeeringConnection",
                "ec2:AcceptVpcEndpointConnections",
                "ec2:AllocateAddress",
                "ec2:AssignIpv6Addresses",
                "ec2:AssignPrivateIpAddresses",
                "ec2:AssociateAddress",
                "ec2:AssociateDhcpOptions",
                "ec2:AssociateRouteTable",
                "ec2:AssociateSecurityGroupVpc",
                "ec2:AssociateSubnetCidrBlock",
                "ec2:AssociateVpcCidrBlock",
                "ec2:AttachClassicLinkVpc",
                "ec2:AttachInternetGateway",
                "ec2:AttachNetworkInterface",
                "ec2:AttachVpnGateway",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateCarrierGateway",
                "ec2:CreateCustomerGateway",
                "ec2:CreateDefaultSubnet",
                "ec2:CreateDefaultVpc",
                "ec2:CreateDhcpOptions",
                "ec2:CreateEgressOnlyInternetGateway",
                "ec2:CreateFlowLogs",
                "ec2:CreateInternetGateway",
                "ec2:CreateLocalGatewayRouteTableVpcAssociation",
                "ec2:CreateNatGateway",
                "ec2:CreateNetworkAcl",
                "ec2:CreateNetworkAclEntry",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateRoute",
                "ec2:CreateRouteTable",
                "ec2:CreateSecurityGroup",
                "ec2:CreateSubnet",
                "ec2:CreateTags",
                "ec2:CreateVpc",
                "ec2:CreateVpcEndpoint",
                "ec2:CreateVpcEndpointConnectionNotification",
                "ec2:CreateVpcEndpointServiceConfiguration",
                "ec2:CreateVpcPeeringConnection",
                "ec2:CreateVpnConnection",
                "ec2:CreateVpnConnectionRoute",
                "ec2:CreateVpnGateway",
                "ec2:DeleteCarrierGateway",
                "ec2:DeleteCustomerGateway",
                "ec2:DeleteDhcpOptions",
                "ec2:DeleteEgressOnlyInternetGateway",
                "ec2:DeleteFlowLogs",
                "ec2:DeleteInternetGateway",
                "ec2:DeleteLocalGatewayRouteTableVpcAssociation",
                "ec2:DeleteNatGateway",
                "ec2:DeleteNetworkAcl",
                "ec2:DeleteNetworkAclEntry",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteRoute",
                "ec2:DeleteRouteTable",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSubnet",
                "ec2:DeleteTags",
                "ec2:DeleteVpc",
                "ec2:DeleteVpcEndpoints",
                "ec2:DeleteVpcEndpointConnectionNotifications",
                "ec2:DeleteVpcEndpointServiceConfigurations",
                "ec2:DeleteVpcPeeringConnection",
                "ec2:DeleteVpnConnection",
                "ec2:DeleteVpnConnectionRoute",
                "ec2:DeleteVpnGateway",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAddresses",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeCarrierGateways",
                "ec2:DescribeClassicLinkInstances",
                "ec2:DescribeCustomerGateways",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeEgressOnlyInternetGateways",
                "ec2:DescribeFlowLogs",
                "ec2:DescribeInstances",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeIpv6Pools",
                "ec2:DescribeLocalGatewayRouteTables",
                "ec2:DescribeLocalGatewayRouteTableVpcAssociations",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeMovingAddresses",
                "ec2:DescribeNatGateways",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInterfaceAttribute",
                "ec2:DescribeNetworkInterfacePermissions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribePrefixLists",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroupReferences",
                "ec2:DescribeSecurityGroupRules",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSecurityGroupVpcAssociations",
                "ec2:DescribeStaleSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcClassicLink",
                "ec2:DescribeVpcClassicLinkDnsSupport",
                "ec2:DescribeVpcEndpointConnectionNotifications",
                "ec2:DescribeVpcEndpointConnections",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcEndpointServiceConfigurations",
                "ec2:DescribeVpcEndpointServicePermissions",
                "ec2:DescribeVpcEndpointServices",
                "ec2:DescribeVpcPeeringConnections",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpnConnections",
                "ec2:DescribeVpnGateways",
                "ec2:DetachClassicLinkVpc",
                "ec2:DetachInternetGateway",
                "ec2:DetachNetworkInterface",
                "ec2:DetachVpnGateway",
                "ec2:DisableVgwRoutePropagation",
                "ec2:DisableVpcClassicLink",
                "ec2:DisableVpcClassicLinkDnsSupport",
                "ec2:DisassociateAddress",
                "ec2:DisassociateRouteTable",
                "ec2:DisassociateSecurityGroupVpc",
                "ec2:DisassociateSubnetCidrBlock",
                "ec2:DisassociateVpcCidrBlock",
                "ec2:EnableVgwRoutePropagation",
                "ec2:EnableVpcClassicLink",
                "ec2:EnableVpcClassicLinkDnsSupport",
                "ec2:GetSecurityGroupsForVpc",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:ModifySecurityGroupRules",
                "ec2:ModifySubnetAttribute",
                "ec2:ModifyVpcAttribute",
                "ec2:ModifyVpcEndpoint",
                "ec2:ModifyVpcEndpointConnectionNotification",
                "ec2:ModifyVpcEndpointServiceConfiguration",
                "ec2:ModifyVpcEndpointServicePermissions",
                "ec2:ModifyVpcPeeringConnectionOptions",
                "ec2:ModifyVpcTenancy",
                "ec2:MoveAddressToVpc",
                "ec2:RejectVpcEndpointConnections",
                "ec2:RejectVpcPeeringConnection",
                "ec2:ReleaseAddress",
                "ec2:ReplaceNetworkAclAssociation",
                "ec2:ReplaceNetworkAclEntry",
                "ec2:ReplaceRoute",
                "ec2:ReplaceRouteTableAssociation",
                "ec2:ResetNetworkInterfaceAttribute",
                "ec2:RestoreAddressToClassic",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "ec2:UnassignIpv6Addresses",
                "ec2:UnassignPrivateIpAddresses",
                "ec2:UpdateSecurityGroupRuleDescriptionsEgress",
                "ec2:UpdateSecurityGroupRuleDescriptionsIngress"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchPermissions",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:*",
                "logs:*",
                "sns:CreateTopic",
                "sns:ListSubscriptions",
                "sns:ListSubscriptionsByTopic",
                "sns:ListTopics",
                "sns:Subscribe",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "oam:ListSinks",
                "rum:*",
                "synthetics:*",
                "xray:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:PutBucketPolicy",
                "s3:PutBucketTagging",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutBucketLogging",
                "s3:DeleteBucketPolicy",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:PutEncryptionConfiguration",
                "s3:AbortMultipartUpload",
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": [
                "arn:aws:s3:::*",
                "arn:aws:s3:::*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "eks:CreateCluster",
                "eks:DeleteCluster",
                "eks:CreateNodegroup",
                "eks:DeleteNodegroup",
                "eks:UpdateNodegroupConfig",
                "eks:UpdateNodegroupVersion",
                "eks:UpdateClusterConfig",
                "eks:UpdateClusterVersion",
                "eks:CreateFargateProfile",
                "eks:DeleteFargateProfile",
                "eks:CreateAddon",
                "eks:DeleteAddon",
                "eks:UpdateAddon",
                "eks:CreateAccessEntry",
                "eks:DeleteAccessEntry",
                "eks:UpdateAccessEntry",
                "eks:AssociateAccessPolicy",
                "eks:AssociateIdentityProviderConfig",
                "eks:DisassociateIdentityProviderConfig",
                "eks:TagResource",
                "eks:UntagResource",
                "eks:AccessKubernetesApi",
                "eks:Describe*",
                "eks:List*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter",
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "sagemaker.*.amazonaws.com",
                        "ec2.*.amazonaws.com",
                        "s3.*.amazonaws.com",
                        "eks.*.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:UpdateFunctionCode",
                "lambda:UpdateFunctionConfiguration",
                "lambda:AddPermission",
                "lambda:RemovePermission",
                "lambda:PublishLayerVersion",
                "lambda:DeleteLayerVersion",
                "lambda:InvokeFunction",
                "lambda:Get*",
                "lambda:List*",
                "lambda:TagResource"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*",
                "arn:aws:lambda:*:*:layer:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteRole",
                "iam:DeleteRolePolicy"
            ],
            "Resource": [
                "arn:aws:iam::*:role/*sagemaker*",
                "arn:aws:iam::*:role/*eks*",
                "arn:aws:iam::*:role/*hyperpod*",
                "arn:aws:iam::*:policy/*sagemaker*",
                "arn:aws:iam::*:policy/*hyperpod*",
                "arn:aws:iam::*:role/*LifeCycleScriptStack*",
                "arn:aws:iam::*:role/*LifeCycleScript*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:TagRole",
                "iam:PutRolePolicy",
                "iam:Get*",
                "iam:List*",
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy"
            ],
            "Resource": [
                "arn:aws:iam::*:role/*",
                "arn:aws:iam::*:policy/*"
            ]
        },
        {
            "Sid": "FullAccessToFSx",
            "Effect": "Allow",
            "Action": [
                "fsx:AssociateFileGateway",
                "fsx:AssociateFileSystemAliases",
                "fsx:CancelDataRepositoryTask",
                "fsx:CopyBackup",
                "fsx:CopySnapshotAndUpdateVolume",
                "fsx:CreateAndAttachS3AccessPoint",
                "fsx:CreateBackup",
                "fsx:CreateDataRepositoryAssociation",
                "fsx:CreateDataRepositoryTask",
                "fsx:CreateFileCache",
                "fsx:CreateFileSystem",
                "fsx:CreateFileSystemFromBackup",
                "fsx:CreateSnapshot",
                "fsx:CreateStorageVirtualMachine",
                "fsx:CreateVolume",
                "fsx:CreateVolumeFromBackup",
                "fsx:DetachAndDeleteS3AccessPoint",
                "fsx:DeleteBackup",
                "fsx:DeleteDataRepositoryAssociation",
                "fsx:DeleteFileCache",
                "fsx:DeleteFileSystem",
                "fsx:DeleteSnapshot",
                "fsx:DeleteStorageVirtualMachine",
                "fsx:DeleteVolume",
                "fsx:DescribeAssociatedFileGateways",
                "fsx:DescribeBackups",
                "fsx:DescribeDataRepositoryAssociations",
                "fsx:DescribeDataRepositoryTasks",
                "fsx:DescribeFileCaches",
                "fsx:DescribeFileSystemAliases",
                "fsx:DescribeFileSystems",
                "fsx:DescribeS3AccessPointAttachments",
                "fsx:DescribeSharedVpcConfiguration",
                "fsx:DescribeSnapshots",
                "fsx:DescribeStorageVirtualMachines",
                "fsx:DescribeVolumes",
                "fsx:DisassociateFileGateway",
                "fsx:DisassociateFileSystemAliases",
                "fsx:ListTagsForResource",
                "fsx:ManageBackupPrincipalAssociations",
                "fsx:ReleaseFileSystemNfsV3Locks",
                "fsx:RestoreVolumeFromSnapshot",
                "fsx:TagResource",
                "fsx:UntagResource",
                "fsx:UpdateDataRepositoryAssociation",
                "fsx:UpdateFileCache",
                "fsx:UpdateFileSystem",
                "fsx:UpdateSharedVpcConfiguration",
                "fsx:UpdateSnapshot",
                "fsx:UpdateStorageVirtualMachine",
                "fsx:UpdateVolume"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## IAM-Benutzer für den Clusteradministrator
<a name="sagemaker-hyperpod-prerequisites-iam-cluster-admin"></a>

Clusteradministratoren (Admins) betreiben und konfigurieren SageMaker HyperPod Cluster und führen die Aufgaben in[SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md). Das folgende Richtlinienbeispiel umfasst die Mindestberechtigungen für Clusteradministratoren, um den SageMaker HyperPod Kern auszuführen APIs und SageMaker HyperPod Cluster innerhalb Ihres AWS Kontos zu verwalten.

**Anmerkung**  
IAM-Benutzer mit Cluster-Administratorrollen können Bedingungsschlüssel verwenden, um bei der Verwaltung von SageMaker HyperPod Clusterressourcen speziell für die Aktionen `CreateCluster` und `UpdateCluster` eine detaillierte Zugriffskontrolle zu gewährleisten. Um die Bedingungsschlüssel zu finden, die für diese Aktionen unterstützt werden, suchen Sie nach `CreateCluster` oder `UpdateCluster` in den [von SageMaker KI definierten Aktionen](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions).

------
#### [ Slurm ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCluster",
                "sagemaker:ListClusters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:DeleteCluster",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:UpdateCluster",
                "sagemaker:UpdateClusterSoftware",
                "sagemaker:BatchDeleteClusterNodes"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        }
    ]
}
```

------
#### [ Amazon EKS ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/execution-role-name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCluster",
                "sagemaker:DeleteCluster",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "sagemaker:UpdateCluster",
                "sagemaker:UpdateClusterSoftware",
                "sagemaker:BatchAddClusterNodes",
                "sagemaker:BatchDeleteClusterNodes",
                "sagemaker:ListComputeQuotas",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DeleteClusterSchedulerConfig",
                "sagemaker:DeleteComputeQuota",
                "eks:DescribeCluster",
                "eks:CreateAccessEntry",
                "eks:DescribeAccessEntry",
                "eks:DeleteAccessEntry",
                "eks:AssociateAccessPolicy",
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Um Berechtigungen für den Zugriff auf die SageMaker AI-Konsole zu erteilen, verwenden Sie die Beispielrichtlinie unter [Erforderliche Berechtigungen für die Nutzung der Amazon SageMaker AI-Konsole](https://docs.aws.amazon.com/sagemaker/latest/dg/security_iam_id-based-policy-examples.html#console-permissions).

Um Berechtigungen für den Zugriff auf die Amazon EC2 Systems Manager Manager-Konsole zu erteilen, verwenden Sie die Beispielrichtlinie, die Sie im * AWS Systems Manager Benutzerhandbuch* [unter Die AWS Systems Manager Konsole verwenden](https://docs.aws.amazon.com/systems-manager/latest/userguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) finden.

Sie könnten auch erwägen, die [`AmazonSageMakerFullAccess`](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)Richtlinie an die Rolle anzuhängen. Beachten Sie jedoch, dass die `AmazonSageMakerFullAccess` Richtlinie Berechtigungen für die gesamten SageMaker API-Aufrufe, Funktionen und Ressourcen gewährt.

Allgemeine Hinweise zu IAM-Benutzern finden Sie unter [IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) im *AWS Identity and Access Management -Benutzerhandbuch*.

## IAM-Benutzer für Wissenschaftler
<a name="sagemaker-hyperpod-prerequisites-iam-cluster-user"></a>

Wissenschaftler melden sich an und führen ML-Workloads auf SageMaker HyperPod Clusterknoten aus, die von Clusteradministratoren bereitgestellt werden. Wissenschaftlern in Ihrem AWS Konto sollten Sie die Erlaubnis erteilen, den `"ssm:StartSession"` SSM-Befehl auszuführen. `start-session` Im Folgenden finden Sie ein Beispiel für eine Richtlinie für IAM-Benutzer.

------
#### [ Slurm ]

Fügen Sie die folgende Richtlinie hinzu, um SSM-Sitzungsberechtigungen für die Verbindung mit einem SSM-Ziel für alle Ressourcen zu gewähren. Dadurch können Sie auf HyperPod Cluster zugreifen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	             
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession"
            ],
            "Resource": "*"    
        }
    ]
}
```

------

------
#### [ Amazon EKS ]

Gewähren Sie Datenwissenschaftlern die folgenden IAM-Rollenberechtigungen zur Ausführung `hyperpod list-clusters` und `hyperpod connect-cluster` Befehle unter den HyperPod CLI-Befehlen. Weitere Informationen zur HyperPod CLI finden Sie unter[Ausführung von Jobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert wurden](sagemaker-hyperpod-eks-run-jobs.md). Es umfasst auch SSM-Sitzungsberechtigungen für alle Ressourcen, um eine Verbindung zu einem SSM-Ziel herzustellen. Dadurch können Sie auf HyperPod Cluster zugreifen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeHyerpodClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeCluster"
            ],
            "Resource": "arn:aws:sagemaker:us-east-2:111122223333:cluster/hyperpod-cluster-name"
        },
        {
            "Sid": "UseEksClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:sagemaker:us-east-2:111122223333:cluster/eks-cluster-name"
        },
        {
            "Sid": "ListClustersPermission",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListClusters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession"
            ],
            "Resource": "*"    
        }
    ]
}
```

------

*Informationen darüber, wie Datenwissenschaftlern IAM-Benutzern oder -Rollen Zugriff auf Kubernetes APIs im Cluster gewährt werden, finden Sie unter [Gewähren Sie IAM-Benutzern und -Rollen Zugriff auf Kubernetes APIs](https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html) im Amazon EKS-Benutzerhandbuch.*

------

## IAM-Rolle für SageMaker HyperPod
<a name="sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod"></a>

Damit SageMaker HyperPod Cluster ausgeführt werden und mit den erforderlichen AWS Ressourcen kommunizieren können, müssen Sie eine IAM-Rolle erstellen, die der HyperPod Cluster übernehmen soll. 

Beginnen Sie mit dem Anfügen der verwalteten Rolle [AWS verwaltete Richtlinie: AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md). Aufgrund dieser AWS verwalteten Richtlinie übernehmen SageMaker HyperPod Cluster-Instance-Gruppen die Rolle, mit Amazon CloudWatch, Amazon S3 und AWS Systems Manager Agent (SSM-Agent) zu kommunizieren. Diese verwaltete Richtlinie ist die Mindestanforderung für den ordnungsgemäßen Betrieb von SageMaker HyperPod Ressourcen. Daher müssen Sie allen Instance-Gruppen eine IAM-Rolle mit dieser Richtlinie zuweisen. 

**Tipp**  
Je nachdem, wie Sie die Berechtigungen für mehrere Instance-Gruppen gestalten möchten, können Sie auch mehrere IAM-Rollen einrichten und diese verschiedenen Instance-Gruppen zuweisen. Wenn Sie Ihren Cluster-Benutzerzugriff auf bestimmte SageMaker HyperPod Clusterknoten einrichten, übernehmen die Knoten die Rolle mit den selektiven Berechtigungen, die Sie manuell zugewiesen haben.  
Wenn Sie den Zugriff für Wissenschaftler auf bestimmte Clusterknoten über [AWS Systems Manager](https://aws.amazon.com/systems-manager/) (siehe auch [Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm)) einrichten, übernehmen die Clusterknoten die Rolle mit den selektiven Berechtigungen, die Sie manuell zuweisen.

Wenn Sie mit der Erstellung der IAM-Rollen fertig sind, notieren Sie sich deren Namen und ARNs. Sie verwenden die Rollen beim Erstellen eines SageMaker HyperPod Clusters und gewähren dabei jeder Instanzgruppe die richtigen Berechtigungen, um mit den erforderlichen AWS Ressourcen zu kommunizieren.

------
#### [ Slurm ]

Für „ HyperPod Orchestrated with Slurm“ müssen Sie die folgende verwaltete Richtlinie an die SageMaker HyperPod IAM-Rolle anhängen.
+ [AmazonSageMakerClusterInstanceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerClusterInstanceRolePolicy.html)

**(Optional) Zusätzliche Berechtigungen für die Verwendung SageMaker HyperPod mit Amazon Virtual Private Cloud**

Wenn Sie Ihre eigene Amazon Virtual Private Cloud (VPC) anstelle der standardmäßigen SageMaker KI-VPC verwenden möchten, sollten Sie der IAM-Rolle für die folgenden zusätzlichen Berechtigungen hinzufügen. SageMaker HyperPod

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:DetachNetworkInterface"
    ],
    "Resource": "*"
}
{
    "Effect": "Allow",
    "Action": "ec2:CreateTags",
    "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
    ]
}
```

In der folgenden Liste ist aufgeführt, welche Berechtigungen erforderlich sind, um SageMaker HyperPod Cluster-Funktionen zu aktivieren, wenn Sie den Cluster mit Ihrer eigenen Amazon VPC konfigurieren.
+ Die folgenden `ec2` Berechtigungen sind erforderlich, um die Konfiguration eines SageMaker HyperPod Clusters mit Ihrer VPC zu ermöglichen.

  ```
  {
      "Effect": "Allow",
      "Action": [
          "ec2:CreateNetworkInterface",
          "ec2:CreateNetworkInterfacePermission",
          "ec2:DeleteNetworkInterface",
          "ec2:DeleteNetworkInterfacePermission",
          "ec2:DescribeNetworkInterfaces",
          "ec2:DescribeVpcs",
          "ec2:DescribeDhcpOptions",
          "ec2:DescribeSubnets",
          "ec2:DescribeSecurityGroups"
      ],
      "Resource": "*"
  }
  ```
+ Die folgende `ec2` Berechtigung ist erforderlich, um die [SageMaker HyperPod automatische Wiederaufnahmefunktion](sagemaker-hyperpod-resiliency-slurm-auto-resume.md) zu aktivieren.

  ```
  {
      "Effect": "Allow",
      "Action": [
          "ec2:DetachNetworkInterface"
      ],
      "Resource": "*"
  }
  ```
+ Die folgende `ec2` Berechtigung ermöglicht SageMaker HyperPod das Erstellen von Tags auf den Netzwerkschnittstellen in Ihrem Konto.

  ```
  {
      "Effect": "Allow",
      "Action": "ec2:CreateTags",
      "Resource": [
          "arn:aws:ec2:*:*:network-interface/*"
      ]
  }
  ```

------
#### [ Amazon EKS ]

Für die HyperPod Orchestrierung mit Amazon EKS müssen Sie die folgenden verwalteten Richtlinien an die SageMaker HyperPod IAM-Rolle anhängen.
+ [AmazonSageMakerClusterInstanceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerClusterInstanceRolePolicy.html)

Fügen Sie der Rolle zusätzlich zu den verwalteten Richtlinien die folgende Berechtigungsrichtlinie hinzu.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AssignPrivateIpAddresses",
        "ec2:AttachNetworkInterface",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceTypes",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeTags",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:DetachNetworkInterface",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:UnassignPrivateIpAddresses",
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:GetAuthorizationToken",
        "ecr:GetDownloadUrlForLayer",
        "eks-auth:AssumeRoleForPodIdentity"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ]
    }
  ]
}
```

------

**Anmerkung**  
Die `"eks-auth:AssumeRoleForPodIdentity"`-Erlaubnis ist optional. Sie ist erforderlich, wenn Sie EKS Pod Identity verwenden möchten.

**SageMaker HyperPod Mit einem Service verknüpfte Rolle**

 HyperPod Erstellt für Amazon EKS-Unterstützung in SageMaker HyperPod eine serviceverknüpfte Rolle mit [AWS verwaltete Richtlinie: AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md) zur Überwachung und Unterstützung der Resilienz Ihres EKS-Clusters, z. B. zum Ersetzen von Knoten und zum Neustarten von Jobs.

**Zusätzliche IAM-Richtlinien für Amazon-EKS-Cluster mit eingeschränkter Instance-Gruppe (RIG)**

Workloads, die in eingeschränkten Instance-Gruppen ausgeführt werden, benötigen die Ausführungsrolle, um Daten aus Amazon S3 zu laden. Sie müssen der Ausführungsrolle die zusätzlichen Amazon-S3-Berechtigungen hinzufügen, damit Anpassungsaufträge, die in eingeschränkten Instance-Gruppen ausgeführt werden, Eingabedaten ordnungsgemäß abrufen können.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket"      
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ]
    }
  ]
}
```

------

------

# Vom Kunden verwaltete Verschlüsselung für AWS KMS key SageMaker HyperPod
<a name="smcluster-cmk"></a>

Standardmäßig wird das Amazon EBS-Root-Volume, das an Ihren SageMaker HyperPod Cluster angehängt ist, mit einem AWS KMS key eigenen Volume verschlüsselt. AWS Sie haben nun die Möglichkeit, sowohl das Root-Volume von Amazon EBS als auch das sekundäre Volume mit Ihren eigenen, vom Kunden verwalteten KMS-Schlüsseln zu verschlüsseln. Im folgenden Thema wird beschrieben, wie vom Kunden verwaltete Schlüssel (CMKs) mit Volumes in HyperPod Clustern funktionieren.

**Anmerkung**  
Die folgenden Ausnahmen gelten für die Verwendung von kundenverwalteten Schlüsseln für SageMaker HyperPod Cluster:  
Die kundenseitig verwaltete Schlüsselverschlüsselung wird nur für Cluster mit kontinuierlichem Knotenbereitstellungsmodus unterstützt. Eingeschränkte Instance-Gruppen unterstützen keine kundenseitig verwalteten Schlüssel.
HyperPod Cluster unterstützen derzeit nicht die Weitergabe von AWS KMS Verschlüsselungskontext in vom Kunden verwalteten Schlüsselverschlüsselungsanforderungen. Stellen Sie daher sicher, dass Ihre KMS-Schlüsselrichtlinie nicht anhand von Verschlüsselungskontextbedingungen begrenzt ist, da dies verhindert, dass der Cluster den Schlüssel verwendet.
Die Übertragung von KMS-Schlüsseln wird derzeit nicht unterstützt, sodass Sie den in Ihrer Konfiguration angegebenen KMS-Schlüssel nicht ändern können. Um einen anderen Schlüssel zu verwenden, erstellen Sie eine neue Instance-Gruppe mit dem gewünschten Schlüssel und löschen Sie Ihre alte Instance-Gruppe.
Die Angabe von kundenverwalteten Schlüsseln für HyperPod Cluster über die Konsole wird derzeit nicht unterstützt.

## Berechtigungen
<a name="smcluster-cmk-permissions"></a>

Bevor Sie Ihren vom Kunden verwalteten Schlüssel mit verwenden können HyperPod, müssen Sie die folgenden Voraussetzungen erfüllen:
+ Stellen Sie sicher, dass der AWS IAM-Ausführungsrolle, die Sie für SageMaker KI verwenden, die folgenden Berechtigungen AWS KMS hinzugefügt wurden. Mit `[ kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)` dieser Berechtigung können HyperPod Sie mithilfe von Berechtigungen für Ihren KMS-Schlüssel die folgenden Aktionen ausführen:
  + Skalierung der Anzahl Ihrer Instanzen (UpdateCluster Operationen)
  + Hinzufügen von Clusterknoten (BatchAddClusterNodes Operationen)
  + Software patchen (UpdateClusterSoftware Operationen)

  Weitere Informationen zum Aktualisieren der Berechtigungen Ihrer IAM-Rolle finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) im *IAM-Benutzerhandbuch*.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "kms:CreateGrant",
                  "kms:DescribeKey"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ Fügen Sie Ihrer KMS-Schlüsselrichtlinie die folgenden Berechtigungen hinzu. Weitere Informationen finden Sie unter [Ändern einer Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) im *AWS KMS -Entwicklerhandbuch*.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "hyperpod-key-policy",
      "Statement": [
          {
              "Sid": "Enable IAM User Permissions",
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Action": "kms:*",
              "Resource": "*"
          },
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:role/<iam-role>"
              },
              "Action": "kms:CreateGrant",
              "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
              "Condition": {
                  "StringEquals": {
                      "kms:ViaService": "sagemaker.us-east-1.amazonaws.com"
                  },
                  "Bool": {
                      "kms:GrantIsForAWSResource": "true"
                  }
              }
          },
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:role/<iam-role>"
              },
              "Action": "kms:DescribeKey",
              "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
              "Condition": {
                  "StringEquals": {
                      "kms:ViaService": "sagemaker.us-east-1.amazonaws.com"
                  }
              }
          }
      ]
  }
  ```

------

## So verwenden Sie Ihren KMS-Schlüssel
<a name="smcluster-cmk-usage"></a>

Sie können Ihre vom Kunden verwalteten Schlüssel angeben, wenn Sie einen Cluster mithilfe der Operationen [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)und [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API erstellen oder aktualisieren. Die `InstanceStorageConfigs`-Struktur ermöglicht bis zu zwei `EbsVolumeConfig`-Konfigurationen, in denen Sie das Amazon EBS-Stammvolume und optional ein sekundäres Volume konfigurieren können. Sie können entweder denselben KMS-Schlüssel oder einen anderen KMS-Schlüssel für jedes Volume verwenden, je nach Ihren Anforderungen.

Sie können wählen, ob Sie einen kundenseitig verwalteten Schlüssel für keinen, beide oder einen der beiden Volumes angeben möchten. Sie können jedoch nicht zwei Root-Volumes oder zwei sekundäre Volumes angeben.

Bei der Konfiguration des Root-Volumes gelten folgende Anforderungen:
+ muss `RootVolume` auf `True` festgelegt sein. Der Standardwert ist `False`, wodurch stattdessen das sekundäre Volume konfiguriert wird.
+ Das `VolumeKmsKeyId`-Feld ist erforderlich und Sie müssen Ihren kundenseitig verwalteten Schlüssel angeben. Das liegt daran, dass das Root-Volume immer entweder mit einem AWS eigenen Schlüssel oder einem vom Kunden verwalteten Schlüssel verschlüsselt werden muss (wenn Sie keinen eigenen angeben, wird ein AWS eigener Schlüssel verwendet).
+ Sie können das `VolumeSizeInGB` Feld für Root-Volumes nicht angeben, da es die Größe des Root-Volumes für Sie HyperPod bestimmt.

Bei der Konfiguration des sekundären Volumes gelten folgende Anforderungen:
+ `RootVolume` muss `False` sein (der Wert für dieses Feld ist standardmäßig `False`).
+ Das Feld `VolumeKmsKeyId` ist optional. Sie können denselben kundenseitig verwalteten Schlüssel verwenden, den Sie für das Root-Volume angegeben haben, oder Sie können einen anderen Schlüssel verwenden.
+ Das Feld `VolumeSizeInGB` ist erforderlich, da Sie die gewünschte Größe für das sekundäre Volume angeben müssen.

**Wichtig**  
Wenn Sie kundenseitig verwaltete Schlüssel verwenden, empfehlen wir Ihnen dringend, für jede Instance-Gruppe in Ihrem Cluster unterschiedliche KMS-Schlüssel zu verwenden. Die Verwendung desselben kundenseitig verwalteten Schlüssels für mehrere Instance-Gruppen kann dazu führen, dass Berechtigungen unbeabsichtigt bestehen bleiben, selbst wenn Sie versuchen, eine Erteilung zu widerrufen. Wenn Sie beispielsweise einen AWS KMS Zuschuss für die Volumes einer Instanzgruppe widerrufen, kann diese Instanzgruppe weiterhin Skalierungs- und Patching-Operationen zulassen, da Zuschüsse für andere Instanzgruppen mit demselben Schlüssel bestehen. Um dieses Problem zu vermeiden, stellen Sie sicher, dass Sie jeder Instance-Gruppe in Ihrem Cluster eindeutige KMS-Schlüssel zuweisen. Wenn Sie Berechtigungen für Instance-Gruppen einschränken müssen, können Sie eine der folgenden Optionen verwenden:  
Deaktivieren Sie den KMS-Schlüssel.
Wenden Sie Ablehnungsrichtlinien auf die KMS-Schlüsselrichtlinie an.
Widerrufen Sie alle Instance-Gruppenberechtigungen für den Schlüssel (anstatt nur eine Berechtigung zu widerrufen).
Löschen Sie die Instance-Gruppe.
Löschen Sie den Cluster.

Die folgenden Beispiele zeigen, wie Sie mithilfe von und vom Kunden verwaltete Schlüssel sowohl für Stamm- als auch für Sekundärvolumes angeben. CreateCluster UpdateCluster APIs Diese Beispiele zeigen nur die erforderlichen Felder für die Integration von kundenseitig verwalteten Schlüsseln. Um einen kundenseitig verwalteten Schlüssel nur für eines der Volumes zu konfigurieren, geben Sie nur eine `EbsVolumeConfig` an.

Weitere Informationen zur Konfiguration von Clustererstellung und Aktualisierungsanforderungen finden Sie unter [Einen SageMaker HyperPod Cluster erstellen](sagemaker-hyperpod-eks-operate-cli-command-create-cluster.md) und [Die SageMaker HyperPod Cluster-Konfiguration wird aktualisiert](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md).

------
#### [ CreateCluster ]

Das folgende Beispiel zeigt eine AWS CLI Anfrage zur [Clustererstellung](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) mit vom Kunden verwalteter Schlüsselverschlüsselung.

```
aws sagemaker create-cluster \
  --cluster-name <your-hyperpod-cluster> \
  --instance-groups '[{
    "ExecutionRole": "arn:aws:iam::111122223333:role/<your-SageMaker-Execution-Role>",
    "InstanceCount": 2,
    "InstanceGroupName": "<your-ig-name>",
    "InstanceStorageConfigs": [
            {
                "EbsVolumeConfig": {
                    "RootVolume": True,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/root-volume-key-id"
                }
            },
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/secondary-volume-key-id"
                }
            }
    ],
    "InstanceType": "<desired-instance-type>"
  }]' \
  --vpc-config '{
    "SecurityGroupIds": ["<sg-id>"],
    "Subnets": ["<subnet-id>"]
  }'
```

------
#### [ UpdateCluster ]

Das folgende Beispiel zeigt eine [AWS CLI Cluster-Update-Anfrage](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) mit vom Kunden verwalteter Schlüsselverschlüsselung.

```
aws sagemaker update-cluster \
  --cluster-name <your-hyperpod-cluster> \
  --instance-groups '[{
    "InstanceGroupName": "<your-ig-name>",
    "InstanceStorageConfigs": [
            {
                "EbsVolumeConfig": {
                    "RootVolume": true,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/root-volume-key-id"
                }
            },
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/secondary-volume-key-id"
                }
            }
    ]
  }]'
```

------

# SageMaker HyperPod Rezepte
<a name="sagemaker-hyperpod-recipes"></a>

 SageMaker HyperPod Amazon-Rezepte sind vorkonfigurierte Trainingsstapel, die von bereitgestellt werden AWS , damit Sie schnell mit dem Training und der Feinabstimmung öffentlich verfügbarer Grundmodelle (FMs) aus verschiedenen Modellfamilien wie Llama, Mistral, Mixtral oder beginnen können. DeepSeek Rezepte automatisieren die end-to-end Trainingsschleife, einschließlich des Ladens von Datensätzen, der Anwendung verteilter Trainingstechniken und der Verwaltung von Prüfpunkten für eine schnellere Wiederherstellung nach Fehlern. 

SageMaker HyperPod Rezepte sind besonders nützlich für Benutzer, die möglicherweise nicht über fundierte Kenntnisse im Bereich maschinelles Lernen verfügen, da sie einen Großteil der Komplexität, die mit dem Training großer Modelle verbunden ist, abstrahieren.

Sie können Rezepte innerhalb SageMaker HyperPod oder als SageMaker Trainingsjobs ausführen.

Die folgenden Tabellen werden im SageMaker HyperPod GitHub Repository verwaltet und enthalten die meisten up-to-date Informationen zu den Modellen, die für die Vorbereitung und Feinabstimmung unterstützt werden, zu ihren jeweiligen Rezepten und Startskripten, zu den unterstützten Instance-Typen und mehr.
+ Die aktuelle Liste der unterstützten Modelle, Rezepte und Startskripte für das Training finden Sie in der [Vortraining-Tabelle](https://github.com/aws/sagemaker-hyperpod-recipes?tab=readme-ov-file#pre-training).
+ Die aktuelle Liste der unterstützten Modelle, Rezepte und Startskripte für die Feinabstimmung finden Sie in der [Feinabstimmungs-Tabelle](https://github.com/aws/sagemaker-hyperpod-recipes?tab=readme-ov-file#fine-tuning).

Für SageMaker HyperPod Benutzer ergibt sich die Automatisierung der end-to-end Trainingsabläufe aus der Integration des Trainingsadapters mit SageMaker HyperPod den Rezepten. Der Trainingsadapter basiert auf dem [ NeMo NVIDIA-Framework](https://docs.nvidia.com/nemo-framework/user-guide/latest/overview.html) und dem [Neuronx Distributed Training](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/libraries/neuronx-distributed/index.html) Package. Wenn Sie mit der Verwendung des Trainingsadapters vertraut sind NeMo, ist der Vorgang bei der Verwendung des Trainingsadapters derselbe. Der Trainingsadapter führt das Rezept auf Ihrem Cluster aus.

![\[Diagramm, das den SageMaker HyperPod Rezept-Arbeitsablauf zeigt. Ein „Rezept“ -Symbol oben führt in ein Feld mit dem Namen „HyperPod Rezeptstarter“. Dieses Feld ist mit einem größeren Abschnitt mit der Bezeichnung „Cluster: Slurm, K8s, ...” verbunden, der drei GPU-Symbole mit zugehörigen Rezeptdateien enthält. Der untere Teil des Cluster-Bereichs trägt die Aufschrift „Train with HyperPod Training Adapter“.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/sagemaker-hyperpod-recipes-overview.png)


Sie können auch Ihr eigenes Modell trainieren, indem Sie Ihr eigenes benutzerdefiniertes Rezept definieren.

Informationen zum Einstieg in ein Tutorial finden Sie unter [Lernprogramme](sagemaker-hyperpod-recipes-tutorials.md).

**Topics**
+ [Lernprogramme](sagemaker-hyperpod-recipes-tutorials.md)
+ [Standardkonfigurationen](default-configurations.md)
+ [Cluster-spezifische Konfigurationen](cluster-specific-configurations.md)
+ [Überlegungen](cluster-specific-configurations-special-considerations.md)
+ [Erweiterte Einstellungen](cluster-specific-configurations-advanced-settings.md)
+ [Anhang](appendix.md)

# Lernprogramme
<a name="sagemaker-hyperpod-recipes-tutorials"></a>

Die folgenden Schnellstart-Tutorials helfen Ihnen bei den ersten Schritten mit der Verwendung der Rezepte für das Training:
+ SageMaker HyperPod mit Slurm-Orchestrierung
  + Vortraining
    + [HyperPod Tutorial zur Vorbereitung des Slurm-Clusters (GPU)](hyperpod-gpu-slurm-pretrain-tutorial.md)
    + [Tutorial zum Vortraining des Trainium-Slurm-Clusters](hyperpod-trainium-slurm-cluster-pretrain-tutorial.md)
  + Feinabstimmung
    + [HyperPod Slurm-Cluster Left-LoRa-Tutorial (GPU)](hyperpod-gpu-slurm-peft-lora-tutorial.md)
    + [HyperPod Tutorial zum Slurm-Cluster DPO (GPU)](hyperpod-gpu-slurm-dpo-tutorial.md)
+ SageMaker HyperPod mit K8s Orchestrierung
  + Vortraining
    + [Tutorial zum Vortraining des Kubernetes-Cluster (GPU)](sagemaker-hyperpod-gpu-kubernetes-cluster-pretrain-tutorial.md)
    + [Tutorial zur Vorbereitung von SageMaker Trainium-Schulungsaufträgen](sagemaker-hyperpod-trainium-sagemaker-training-jobs-pretrain-tutorial.md)
+ SageMaker Ausbildungsberufe
  + Vortraining
    + [SageMaker Tutorial für Trainingsjobs vor dem Training (GPU)](sagemaker-hyperpod-gpu-sagemaker-training-jobs-pretrain-tutorial.md)
    + [Tutorial zur Vorbereitung von SageMaker Trainium-Schulungsaufträgen](sagemaker-hyperpod-trainium-sagemaker-training-jobs-pretrain-tutorial.md)

# HyperPod Tutorial zur Vorbereitung des Slurm-Clusters (GPU)
<a name="hyperpod-gpu-slurm-pretrain-tutorial"></a>

Das folgende Tutorial richtet die Slurm-Umgebung ein und startet einen Trainingsjob auf einem Lama-Modell mit 8 Milliarden Parametern.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung zur Ausführung des Rezepts beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
Richten Sie einen HyperPod GPU-Slurm-Cluster ein.  
In Ihrem HyperPod Slurm-Cluster müssen Nvidia Enroot und Pyxis aktiviert sein (diese sind standardmäßig aktiviert).
Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Sie benötigen ein HuggingFace Token, wenn Sie die Modellgewichte von HuggingFace für das Training oder die Feinabstimmung verwenden. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## HyperPod Einrichtung der GPU-Slurm-Umgebung
<a name="hyperpod-gpu-slurm-environment-setup"></a>

Gehen Sie wie folgt vor, um einen Trainingsjob auf einem HyperPod GPU-Slurm-Cluster zu initiieren:

1. Verbinden Sie sich per SSH mit dem Hauptknoten Ihres Slurm-Clusters.

1. Nachdem Sie sich angemeldet haben, richten Sie die virtuelle Umgebung ein. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

   ```
   #set up a virtual environment
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. Klonen Sie die SageMaker HyperPod Rezepte und SageMaker HyperPod Adapter-Repositorys an einen gemeinsam genutzten Speicherort.

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo.git
   git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git
   cd sagemaker-hyperpod-recipes
   pip3 install -r requirements.txt
   ```

1. Erstellen Sie mit Enroot eine Squash-Datei. Die aktuelle Version des SMP-Containers finden Sie unter [Versionshinweise für die SageMaker Modellparallelitätsbibliothek](model-parallel-release-notes.md). Weitere Informationen zur Verwendung der Enroot-Datei finden Sie unter [Erstellen eines AWS optimierten Nemo-Launcher-Images](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/2.nemo-launcher#2-build-aws-optimized-nemo-launcher-image).

   ```
   REGION="<region>"
   IMAGE="658645717510.dkr.ecr.${REGION}.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121"
   aws ecr get-login-password --region ${REGION} | docker login --username AWS --password-stdin 658645717510.dkr.ecr.${REGION}.amazonaws.com
   enroot import -o $PWD/smdistributed-modelparallel.sqsh dockerd://${IMAGE}
   mv $PWD/smdistributed-modelparallel.sqsh "/fsx/<any-path-in-the-shared-filesystem>"
   ```

1. Um die Enroot-Squash-Datei zum Starten des Trainings zu verwenden, ändern Sie die `recipes_collection/config.yaml`-Datei anhand des folgenden Beispiels.

   ```
   container: /fsx/path/to/your/smdistributed-modelparallel.sqsh
   ```

## Starten eines Trainingsjobs
<a name="hyperpod-gpu-slurm-launch-training-job"></a>

Nachdem Sie die Abhängigkeiten installiert haben, starten Sie einen Trainingsjob aus dem `sagemaker-hyperpod-recipes/launcher_scripts`-Verzeichnis. [Sie erhalten die Abhängigkeiten, indem Sie das Rezept-Repository klonen: SageMaker HyperPod ](https://github.com/aws/sagemaker-hyperpod-recipes)

Wählen Sie zunächst Ihr Trainingsrezept von Github aus. Der Modellname wird als Teil des Rezepts angegeben. Im folgenden Beispiel verwenden wir das `launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh`-Skript, um ein Llama 8b mit einer Sequenzlänge von 8192, `llama/hf_llama3_8b_seq16k_gpu_p5x16_pretrain`, und einem Vorab-Trainingsrezept zu starten.
+ `IMAGE`: Der Container aus dem Abschnitt „Umgebungseinrichtung“.
+ (Optional) Sie können das HuggingFace Token bereitstellen, wenn Sie vorab trainierte Gewichtungen von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  recipes.model.hf_access_token=<your_hf_token>
  ```

```
#!/bin/bash
IMAGE="${YOUR_IMAGE}"
SAGEMAKER_TRAINING_LAUNCHER_DIR="${SAGEMAKER_TRAINING_LAUNCHER_DIR:-${PWD}}"

TRAIN_DIR="${YOUR_TRAIN_DIR}" # Location of training dataset
VAL_DIR="${YOUR_VAL_DIR}" # Location of validation dataset

# experiment ouput directory
EXP_DIR="${YOUR_EXP_DIR}"

HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
  recipes=training/llama/hf_llama3_8b_seq16k_gpu_p5x16_pretrain \
  base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
  recipes.run.name="hf_llama3_8b" \
  recipes.exp_manager.exp_dir="$EXP_DIR" \
  recipes.model.data.train_dir="$TRAIN_DIR" \
  recipes.model.data.val_dir="$VAL_DIR" \
  container="${IMAGE}" \
  +cluster.container_mounts.0="/fsx:/fsx"
```

Nachdem Sie alle erforderlichen Parameter im Launcher-Skript konfiguriert haben, können Sie das Skript mit dem folgenden Befehl ausführen.

```
bash launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh
```

Weitere Informationen zur Konfiguration des Slurm-Clusters finden Sie unter [Einen Trainingsjob auf HyperPod Slurm ausführen](cluster-specific-configurations-run-training-job-hyperpod-slurm.md).

# Tutorial zum Vortraining des Trainium-Slurm-Clusters
<a name="hyperpod-trainium-slurm-cluster-pretrain-tutorial"></a>

Das folgende Tutorial richtet eine Trainium-Umgebung auf einem Slurm-Cluster ein und startet einen Trainingsjob auf einem Lama-Modell mit 8 Milliarden Parametern.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
Richten Sie einen SageMaker HyperPod Trainium Slurm-Cluster ein.
Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Sie benötigen ein HuggingFace Token, wenn Sie die Modellgewichte von HuggingFace für das Training oder die Feinabstimmung verwenden. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Einrichten der Trainium-Umgebung auf dem Slurm-Cluster
<a name="hyperpod-trainium-slurm-cluster-pretrain-setup-trainium-environment"></a>

Um einen Trainingsjob auf einem Slurm-Cluster zu initiieren, führen Sie die folgenden Schritte aus:
+ Verbinden Sie sich per SSH mit dem Hauptknoten Ihres Slurm-Clusters.
+ Nachdem Sie sich angemeldet haben, richten Sie die Neuron-Umgebung ein. Informationen zur Einrichtung von Neuron finden Sie unter [Schritte zum Einrichten von Neuron](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/libraries/nxd-training/tutorials/hf_llama3_8B_SFT.html#setting-up-the-environment). Wir empfehlen, sich auf die Deep-Learning-AMIs zu verlassen, die mit den Treibern von Neuron vorinstalliert sind, z. B. [Ubuntu 20 mit DLAMI Pytorch](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/general/setup/neuron-setup/pytorch/neuronx/ubuntu/torch-neuronx-ubuntu20-pytorch-dlami.html#setup-torch-neuronx-ubuntu20-dlami-pytorch)
+ Klonen Sie das SageMaker HyperPod Rezept-Repository an einen gemeinsam genutzten Speicherort im Cluster. Der gemeinsam genutzte Speicherort kann ein FSx Amazon-Dateisystem oder ein NFS-System sein, auf das von den Clusterknoten aus zugegriffen werden kann.

  ```
  git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git
  cd sagemaker-hyperpod-recipes
  pip3 install -r requirements.txt
  ```
+ Gehen Sie das folgende Tutorial durch: [HuggingFace Llama3-8B](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/libraries/nxd-training/tutorials/hf_llama3_8B_pretraining.html#) Pretraining
+ Bereiten Sie eine Modellkonfiguration vor. Die im Neuron-Repo verfügbaren Modellkonfigurationen. Die in diesem Tutorial verwendete Modellkonfiguration finden Sie unter [llama3 8b-Modellkonfiguration](https://github.com/aws-neuron/neuronx-distributed/blob/main/examples/training/llama/tp_zero1_llama_hf_pretrain/8B_config_llama3/config.json)

## Starten des Trainingsjobs in Trainium
<a name="hyperpod-trainium-slurm-cluster-pretrain-launch-training-job-trainium"></a>

Um einen Trainingsjob in Trainium zu starten, geben Sie eine Cluster-Konfiguration und ein Neuron-Rezept an. Um beispielsweise einen lama3 8b-Vortrainigsjob in Trainium zu starten, legen Sie das Startskript `launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh` wie folgt fest:
+ `MODEL_CONFIG`: Die Modellkonfiguration aus dem Abschnitt „Umgebungseinrichtung“
+ (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichte von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  recipes.model.hf_access_token=<your_hf_token>
  ```

```
#!/bin/bash

#Users should set up their cluster type in /recipes_collection/config.yaml

SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}

COMPILE=0
TRAIN_DIR="${TRAIN_DIR}" # Location of training dataset
MODEL_CONFIG="${MODEL_CONFIG}" # Location of config.json for the model

HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
    base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
    instance_type="trn1.32xlarge" \
    recipes.run.compile="$COMPILE" \
    recipes.run.name="hf-llama3-8b" \
    recipes.trainer.num_nodes=4 \
    recipes=training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \
    recipes.data.train_dir="$TRAIN_DIR" \
    recipes.model.model_config="$MODEL_CONFIG"
```

Um den Trainingsjob zu starten, führen Sie bitte den folgenden Befehl aus:

```
bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
```

Weitere Informationen zur Konfiguration des Slurm-Clusters finden Sie unter [Einen Trainingsjob auf HyperPod Slurm ausführen](cluster-specific-configurations-run-training-job-hyperpod-slurm.md).

# HyperPod Tutorial zum Slurm-Cluster DPO (GPU)
<a name="hyperpod-gpu-slurm-dpo-tutorial"></a>

Das folgende Tutorial richtet die Slurm-Umgebung ein und startet einen Job von Direct Preference Optimization (DPO) auf einem Lama-Modell mit 8 Milliarden Parametern.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
 HyperPod GPU-Slurm-Cluster einrichten  
In Ihrem HyperPod Slurm-Cluster müssen Nvidia Enroot und Pyxis aktiviert sein (diese sind standardmäßig aktiviert).
Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
Ein tokenisierter binärer Präferenzdatensatz in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Wenn du die vortrainierten Gewichte von einem Lama 3.2-Modell benötigst HuggingFace oder wenn du ein Lama 3.2-Modell trainierst, musst du dir das HuggingFace Token besorgen, bevor du mit dem Training beginnst. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Richten Sie die HyperPod GPU-Slurm-Umgebung ein
<a name="hyperpod-gpu-slurm-dpo-hyperpod-gpu-slurm-environment"></a>

Um einen Trainingsjob auf einem Slurm-Cluster zu initiieren, führen Sie die folgenden Schritte aus:
+ Verbinden Sie sich per SSH mit dem Hauptknoten Ihres Slurm-Clusters.
+ Nachdem Sie sich angemeldet haben, richten Sie die virtuelle Umgebung ein. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

  ```
  #set up a virtual environment
  python3 -m venv ${PWD}/venv
  source venv/bin/activate
  ```
+ Klonen Sie die SageMaker HyperPod Rezepte und SageMaker HyperPod Adapter-Repositorys auf einen gemeinsam genutzten Speicherort. Der gemeinsam genutzte Speicherort kann ein FSx Amazon-Dateisystem oder ein NFS-System sein, auf das von den Clusterknoten aus zugegriffen werden kann.

  ```
  git clone https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo.git
  git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git
  cd sagemaker-hyperpod-recipes
  pip3 install -r requirements.txt
  ```
+ Erstellen Sie mit Enroot eine Squash-Datei. Die aktuelle Version des SMP-Containers finden Sie unter [Versionshinweise für die SageMaker Modellparallelitätsbibliothek](model-parallel-release-notes.md). Weitere Informationen zur Verwendung der Enroot-Datei finden Sie unter [Erstellen eines AWS optimierten Nemo-Launcher-Images](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/2.nemo-launcher#2-build-aws-optimized-nemo-launcher-image).

  ```
  REGION="<region>"
  IMAGE="658645717510.dkr.ecr.${REGION}.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121"
  aws ecr get-login-password --region ${REGION} | docker login --username AWS --password-stdin 658645717510.dkr.ecr.${REGION}.amazonaws.com
  enroot import -o $PWD/smdistributed-modelparallel.sqsh dockerd://${IMAGE}
  mv $PWD/smdistributed-modelparallel.sqsh "/fsx/<any-path-in-the-shared-filesystem>"
  ```
+ Um die Enroot-Squash-Datei zum Starten des Trainings zu verwenden, ändern Sie die `recipes_collection/config.yaml`-Datei anhand des folgenden Beispiels.

  ```
  container: /fsx/path/to/your/smdistributed-modelparallel.sqsh
  ```

## Starten eines Trainingsjobs
<a name="hyperpod-gpu-slurm-dpo-launch-training-job"></a>

Um einen DPO-Job für das Llama-Modell mit 8 Milliarden Parametern und einer Sequenzlänge von 8192 auf einem einzelnen Slurm-Rechenknoten zu starten, setzen Sie das Startskript, `launcher_scripts/llama/run_hf_llama3_8b_seq8k_gpu_dpo.sh`, auf Folgendes:
+ `IMAGE`: Der Container aus dem Abschnitt „Umgebungseinrichtung“.
+ `HF_MODEL_NAME_OR_PATH`: Definieren Sie den Namen oder den Pfad der vortrainierten Gewichte im Parameter hf\$1model\$1name\$1or\$1path des Rezepts.
+ (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichtungen von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  recipes.model.hf_access_token=${HF_ACCESS_TOKEN}
  ```

**Anmerkung**  
Das für DPO in dieser Einrichtung verwendete Referenzmodell wird automatisch aus dem trainierten Basismodell abgeleitet (es wird kein separates Referenzmodell explizit definiert). DPO-spezifische Hyperparameter sind mit den folgenden Standardwerten vorkonfiguriert:  
`beta`: 0,1 (steuert die Stärke der KL-Divergenz-Regularisierung)
`label_smoothing`: 0,0 (keine Glättung auf Präferenzbezeichnungen angewendet)

```
recipes.dpo.beta=${BETA}
recipes.dpo.label_smoothing=${LABEL_SMOOTHING}
```

```
#!/bin/bash
IMAGE="${YOUR_IMAGE}"
SAGEMAKER_TRAINING_LAUNCHER_DIR="${SAGEMAKER_TRAINING_LAUNCHER_DIR:-${PWD}}"

TRAIN_DIR="${YOUR_TRAIN_DIR}" # Location of training dataset
VAL_DIR="${YOUR_VAL_DIR}" # Location of validation dataset
# experiment output directory
EXP_DIR="${YOUR_EXP_DIR}"
HF_ACCESS_TOKEN="${YOUR_HF_TOKEN}"
HF_MODEL_NAME_OR_PATH="${HF_MODEL_NAME_OR_PATH}"
BETA="${BETA}"
LABEL_SMOOTHING="${LABEL_SMOOTHING}"

# Add hf_model_name_or_path and turn off synthetic_data
HYDRA_FULL_ERROR=1 python3 ${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py \
recipes=fine-tuning/llama/hf_llama3_8b_seq8k_gpu_dpo \
base_results_dir=${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results \
recipes.run.name="hf_llama3_dpo" \
recipes.exp_manager.exp_dir="$EXP_DIR" \
recipes.model.data.train_dir="$TRAIN_DIR" \
recipes.model.data.val_dir="$VAL_DIR" \
recipes.model.hf_model_name_or_path="$HF_MODEL_NAME_OR_PATH" \
container="${IMAGE}" \
+cluster.container_mounts.0="/fsx:/fsx" \
recipes.model.hf_access_token="${HF_ACCESS_TOKEN}" \
recipes.dpo.enabled=true \
recipes.dpo.beta="${BETA}" \
recipes.dpo.label_smoothing="${LABEL_SMOOTHING}$" \
```

Nachdem Sie alle erforderlichen Parameter im vorherigen Skript konfiguriert haben, können Sie den Trainingsjob starten, indem Sie ihn ausführen.

```
bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_gpu_dpo.sh
```

Weitere Informationen zur Konfiguration des Slurm-Clusters finden Sie unter [Einen Trainingsjob auf HyperPod Slurm ausführen](cluster-specific-configurations-run-training-job-hyperpod-slurm.md).

# HyperPod Slurm-Cluster Left-LoRa-Tutorial (GPU)
<a name="hyperpod-gpu-slurm-peft-lora-tutorial"></a>

Das folgende Tutorial richtet die Slurm-Umgebung ein und startet einen PEFT-Job (Parameter-Efficient Fine-Tuning) auf einem Lama-Modell mit 8 Milliarden Parametern.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
GPU-Slurm-Cluster einrichten HyperPod   
In Ihrem HyperPod Slurm-Cluster müssen Nvidia Enroot und Pyxis aktiviert sein (diese sind standardmäßig aktiviert).
Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Wenn du die vortrainierten Gewichte von einem Lama 3.2-Modell benötigst HuggingFace oder wenn du ein Lama 3.2-Modell trainierst, musst du dir das HuggingFace Token besorgen, bevor du mit dem Training beginnst. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Richten Sie die HyperPod GPU-Slurm-Umgebung ein
<a name="hyperpod-gpu-slurm-peft-lora-setup-hyperpod-gpu-slurm-environment"></a>

Um einen Trainingsjob auf einem Slurm-Cluster zu initiieren, führen Sie die folgenden Schritte aus:
+ Verbinden Sie sich per SSH mit dem Hauptknoten Ihres Slurm-Clusters.
+ Nachdem Sie sich angemeldet haben, richten Sie die virtuelle Umgebung ein. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

  ```
  #set up a virtual environment
  python3 -m venv ${PWD}/venv
  source venv/bin/activate
  ```
+ Klonen Sie die SageMaker HyperPod Rezepte und SageMaker HyperPod Adapter-Repositorys auf einen gemeinsam genutzten Speicherort. Der gemeinsam genutzte Speicherort kann ein FSx Amazon-Dateisystem oder ein NFS-System sein, auf das von den Clusterknoten aus zugegriffen werden kann.

  ```
  git clone https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo.git
  git clone --recursive https://github.com/aws/sagemaker-hyperpod-recipes.git
  cd sagemaker-hyperpod-recipes
  pip3 install -r requirements.txt
  ```
+ Erstellen Sie mit Enroot eine Squash-Datei. Die aktuelle Version des SMP-Containers finden Sie unter [Versionshinweise für die SageMaker Modellparallelitätsbibliothek](model-parallel-release-notes.md). Weitere Informationen zur Verwendung der Enroot-Datei finden Sie unter [Erstellen eines AWS optimierten Nemo-Launcher-Images](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/2.nemo-launcher#2-build-aws-optimized-nemo-launcher-image).

  ```
  REGION="<region>"
  IMAGE="658645717510.dkr.ecr.${REGION}.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121"
  aws ecr get-login-password --region ${REGION} | docker login --username AWS --password-stdin 658645717510.dkr.ecr.${REGION}.amazonaws.com
  enroot import -o $PWD/smdistributed-modelparallel.sqsh dockerd://${IMAGE}
  mv $PWD/smdistributed-modelparallel.sqsh "/fsx/<any-path-in-the-shared-filesystem>"
  ```
+ Um die Enroot-Squash-Datei zum Starten des Trainings zu verwenden, ändern Sie die `recipes_collection/config.yaml`-Datei anhand des folgenden Beispiels.

  ```
  container: /fsx/path/to/your/smdistributed-modelparallel.sqsh
  ```

## Starten eines Trainingsjobs
<a name="hyperpod-gpu-slurm-peft-lora-launch-training-job"></a>

Um einen PEFT-Job für das Llama-Modell mit 8 Milliarden Parametern und einer Sequenzlänge von 8192 auf einem einzelnen Slurm-Rechenknoten zu starten, setzen Sie das Startskript, `launcher_scripts/llama/run_hf_llama3_8b_seq8k_gpu_lora.sh`, auf Folgendes:
+ `IMAGE`: Der Container aus dem Abschnitt „Umgebungseinrichtung“.
+ `HF_MODEL_NAME_OR_PATH`: Definieren Sie den Namen oder den Pfad der vortrainierten Gewichte im Parameter hf\$1model\$1name\$1or\$1path des Rezepts.
+ (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichtungen von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  recipes.model.hf_access_token=${HF_ACCESS_TOKEN}
  ```

```
#!/bin/bash
IMAGE="${YOUR_IMAGE}"
SAGEMAKER_TRAINING_LAUNCHER_DIR="${SAGEMAKER_TRAINING_LAUNCHER_DIR:-${PWD}}"

TRAIN_DIR="${YOUR_TRAIN_DIR}" # Location of training dataset
VAL_DIR="${YOUR_VAL_DIR}" # Location of validation dataset

# experiment output directory
EXP_DIR="${YOUR_EXP_DIR}"
HF_ACCESS_TOKEN="${YOUR_HF_TOKEN}"
HF_MODEL_NAME_OR_PATH="${YOUR_HF_MODEL_NAME_OR_PATH}"

# Add hf_model_name_or_path and turn off synthetic_data
HYDRA_FULL_ERROR=1 python3 ${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py \
    recipes=fine-tuning/llama/hf_llama3_8b_seq8k_gpu_lora \
    base_results_dir=${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results \
    recipes.run.name="hf_llama3_lora" \
    recipes.exp_manager.exp_dir="$EXP_DIR" \
    recipes.model.data.train_dir="$TRAIN_DIR" \
    recipes.model.data.val_dir="$VAL_DIR" \
    recipes.model.hf_model_name_or_path="$HF_MODEL_NAME_OR_PATH" \
    container="${IMAGE}" \
    +cluster.container_mounts.0="/fsx:/fsx" \
    recipes.model.hf_access_token="${HF_ACCESS_TOKEN}"
```

Nachdem Sie alle erforderlichen Parameter im vorherigen Skript konfiguriert haben, können Sie den Trainingsjob starten, indem Sie ihn ausführen.

```
bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_gpu_lora.sh
```

Weitere Informationen zur Konfiguration des Slurm-Clusters finden Sie unter [Einen Trainingsjob auf HyperPod Slurm ausführen](cluster-specific-configurations-run-training-job-hyperpod-slurm.md).

# Tutorial zum Vortraining des Kubernetes-Cluster (GPU)
<a name="sagemaker-hyperpod-gpu-kubernetes-cluster-pretrain-tutorial"></a>

Es gibt zwei Möglichkeiten, einen Trainingsjob in einem GPU-Kubernetes-Cluster zu starten:
+ [(Empfohlen) Befehlszeilentool HyperPod ](https://github.com/aws/sagemaker-hyperpod-cli)
+ Der Style-Launcher NeMo 

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
Ein HyperPod GPU-Kubernetes-Cluster ist ordnungsgemäß eingerichtet.
Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Sie benötigen ein HuggingFace Token, wenn Sie die Modellgewichte von HuggingFace für das Training oder die Feinabstimmung verwenden. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Einrichten der GPU-Kubernetes-Umgebung
<a name="sagemaker-hyperpod-gpu-kubernetes-environment-setup"></a>

Gehen Sie zum Einrichten einer GPU-Kubernetes-Umgebung wie folgt vor:
+ Richten Sie die virtuelle Umgebung ein. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

  ```
  python3 -m venv ${PWD}/venv
  source venv/bin/activate
  ```
+ Installieren Sie Abhängigkeiten mit einer der folgenden Methoden:
  + (Empfohlen): Methode des [HyperPod Befehlszeilentools](https://github.com/aws/sagemaker-hyperpod-cli):

    ```
    # install HyperPod command line tools
    git clone https://github.com/aws/sagemaker-hyperpod-cli
    cd sagemaker-hyperpod-cli
    pip3 install .
    ```
  + SageMaker HyperPod Methode für Rezepte:

    ```
    # install SageMaker HyperPod Recipes.
    git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
    cd sagemaker-hyperpod-recipes
    pip3 install -r requirements.txt
    ```
+ [kubectl und eksctl einrichten](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)
+ [Helm installieren](https://helm.sh/docs/intro/install/)
+ Verbinden mit Ihrem Kubernetes-Cluster

  ```
  aws eks update-kubeconfig --region "CLUSTER_REGION" --name "CLUSTER_NAME"
  hyperpod connect-cluster --cluster-name "CLUSTER_NAME" [--region "CLUSTER_REGION"] [--namespace <namespace>]
  ```

## Starten Sie den Trainingsjob mit der SageMaker HyperPod CLI
<a name="sagemaker-hyperpod-gpu-kubernetes-launch-training-job-cli"></a>

Wir empfehlen, das SageMaker HyperPod Befehlszeilenschnittstellentool (CLI) zu verwenden, um Ihren Schulungsjob mit Ihren Konfigurationen einzureichen. Im folgenden Beispiel wird ein Trainingsjob für das Modell `hf_llama3_8b_seq16k_gpu_p5x16_pretrain` eingereicht.
+ `your_training_container`: Ein Deep-Learning-Container. Die aktuelle Version des SMP-Containers finden Sie unter [Versionshinweise für die SageMaker Modellparallelitätsbibliothek](model-parallel-release-notes.md).
+ (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichte von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  "recipes.model.hf_access_token": "<your_hf_token>"
  ```

```
hyperpod start-job --recipe training/llama/hf_llama3_8b_seq16k_gpu_p5x16_pretrain \
--persistent-volume-claims fsx-claim:data \
--override-parameters \
'{
"recipes.run.name": "hf-llama3-8b",
"recipes.exp_manager.exp_dir": "/data/<your_exp_dir>",
"container": "658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121",
"recipes.model.data.train_dir": "<your_train_data_dir>",
"recipes.model.data.val_dir": "<your_val_data_dir>",
"cluster": "k8s",
"cluster_type": "k8s"
}'
```

Nachdem Sie einen Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods
NAME                             READY   STATUS             RESTARTS        AGE
hf-llama3-<your-alias>-worker-0   0/1     running         0               36s
```

Wenn der `STATUS` `PENDING` oder `ContainerCreating` lautet, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten.

```
kubectl describe pod name_of_pod
```

Nachdem der Job-`STATUS` zu `Running` geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs name_of_pod
```

Der `STATUS` wird zu `Completed`, wenn Sie `kubectl get pods` ausführen.

## Starten des Trainingsjobs mit dem Launcher für Rezepte
<a name="sagemaker-hyperpod-gpu-kubernetes-launch-training-job-recipes"></a>

Alternativ kannst du die SageMaker HyperPod Rezepte verwenden, um deinen Ausbildungsjob einzureichen. Die Verwendung der Rezepte beinhaltet die Aktualisierung von `k8s.yaml`, `config.yaml` und Ausführung des Startskripts.
+ Aktualisieren Sie in `k8s.yaml` den Code `persistent_volume_claims`. Es fügt den FSx Amazon-Claim dem `/data` Verzeichnis jedes Computer-Pods hinzu

  ```
  persistent_volume_claims:
    - claimName: fsx-claim
      mountPath: data
  ```
+ In `config.yaml` aktualisieren Sie `repo_url_or_path` unter `git`.

  ```
  git:
    repo_url_or_path: <training_adapter_repo>
    branch: null
    commit: null
    entry_script: null
    token: null
  ```
+ Aktualisieren: `launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh`
  + `your_contrainer`: Ein Deep-Learning-Container. Die aktuelle Version des SMP-Containers finden Sie unter [Versionshinweise für die SageMaker Modellparallelitätsbibliothek](model-parallel-release-notes.md).
  + (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichte von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

    ```
    recipes.model.hf_access_token=<your_hf_token>
    ```

  ```
  #!/bin/bash
  #Users should setup their cluster type in /recipes_collection/config.yaml
  REGION="<region>"
  IMAGE="658645717510.dkr.ecr.${REGION}.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121"
  SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
  EXP_DIR="<your_exp_dir>" # Location to save experiment info including logging, checkpoints, ect
  TRAIN_DIR="<your_training_data_dir>" # Location of training dataset
  VAL_DIR="<your_val_data_dir>" # Location of talidation dataset
  
  HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
      recipes=training/llama/hf_llama3_8b_seq8k_gpu_p5x16_pretrain \
      base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
      recipes.run.name="hf-llama3" \
      recipes.exp_manager.exp_dir="$EXP_DIR" \
      cluster=k8s \
      cluster_type=k8s \
      container="${IMAGE}" \
      recipes.model.data.train_dir=$TRAIN_DIR \
      recipes.model.data.val_dir=$VAL_DIR
  ```
+ Starten eines Trainingsjobs

  ```
  bash launcher_scripts/llama/run_hf_llama3_8b_seq16k_gpu_p5x16_pretrain.sh
  ```

Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods
```

```
NAME READY   STATUS             RESTARTS        AGE
hf-llama3-<your-alias>-worker-0   0/1     running         0               36s
```

Wenn der `STATUS` `PENDING` oder `ContainerCreating` lautet, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten.

```
kubectl describe pod <name-of-pod>
```

Nachdem der Job-`STATUS` zu `Running` geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs name_of_pod
```

Der `STATUS` wechselt zu `Completed`, wenn Sie `kubectl get pods` ausführen.

Weitere Informationen zur Konfiguration des k8s-Clusters finden Sie unter [Einen Trainingsjob auf HyperPod k8s ausführen](cluster-specific-configurations-run-training-job-hyperpod-k8s.md).

# Tutorial zum Vortraining des Trainium-Kubernetes-Clusters
<a name="sagemaker-hyperpod-trainium-kubernetes-cluster-pretrain-tutorial"></a>

Sie können eine der folgenden Methoden verwenden, um einen Trainingsjob in einem Trainium-Kubernetes-Cluster zu starten.
+ [(Empfohlen) Befehlszeilentool HyperPod ](https://github.com/aws/sagemaker-hyperpod-cli)
+ Der Style-Launcher NeMo 

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
Richten Sie einen HyperPod Trainium Kubernetes-Cluster ein
Ein gemeinsam genutzter Speicherort, bei dem es sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln kann, auf das von den Clusterknoten aus zugegriffen werden kann.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Sie benötigen ein HuggingFace Token, wenn Sie die Modellgewichte von HuggingFace für das Training oder die Feinabstimmung verwenden. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Einrichten Ihrer Trainium-Kubernetes-Umgebung
<a name="sagemaker-hyperpod-trainium-setup-trainium-kubernetes-environment"></a>

Gehen Sie zum Einrichten einer Trainium-Kubernetes-Umgebung wie folgt vor:

1. **Führen Sie die Schritte im folgenden Tutorial aus: [HuggingFace Llama3-8B Pretraining](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/libraries/nxd-training/tutorials/hf_llama3_8B_pretraining.html#download-the-dataset), beginnend mit Datensatz herunterladen.** 

1. Bereiten Sie eine Modellkonfiguration vor. Sie sind im Neuron-Repo verfügbar. Für dieses Tutorial können Sie die llama3 8b-Modellkonfiguration verwenden.

1. Einrichtung der virtuellen Umgebung. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. Installieren der Abhängigkeiten
   + (Empfohlen) Verwenden Sie das folgende Befehlszeilentool HyperPod 

     ```
     # install HyperPod command line tools
     git clone https://github.com/aws/sagemaker-hyperpod-cli
     cd sagemaker-hyperpod-cli
     pip3 install .
     ```
   + Wenn Sie SageMaker HyperPod Rezepte verwenden, geben Sie Folgendes an

     ```
     # install SageMaker HyperPod Recipes.
     git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
     cd sagemaker-hyperpod-recipes
     pip3 install -r requirements.txt
     ```

1. [kubectl und eksctl einrichten](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. [Helm installieren](https://helm.sh/docs/intro/install/)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   hyperpod connect-cluster --cluster-name "${CLUSTER_NAME}" [--region "${CLUSTER_REGION}"] [--namespace <namespace>]
   ```

1. Container: Der [Neuron-Container](https://github.com/aws-neuron/deep-learning-containers?tab=readme-ov-file#pytorch-training-neuronx)

## Starten Sie den Trainingsjob mit der SageMaker HyperPod CLI
<a name="sagemaker-hyperpod-trainium-launch-training-job-cli"></a>

Wir empfehlen, das SageMaker HyperPod Befehlszeilenschnittstellentool (CLI) zu verwenden, um Ihren Schulungsjob mit Ihren Konfigurationen einzureichen. Im folgenden Beispiel wird ein Trainingsjob für das `hf_llama3_8b_seq8k_trn1x4_pretrain`-Trainium-Modell eingereicht.
+ `your_neuron_container`: Der [Neuron-Container](https://github.com/aws-neuron/deep-learning-containers?tab=readme-ov-file#pytorch-training-neuronx).
+ `your_model_config`: Die Modellkonfiguration aus dem Abschnitt „Umgebungseinrichtung“
+ (Optional) Sie können das HuggingFace Token angeben, wenn Sie vorab trainierte Gewichte von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  "recipes.model.hf_access_token": "<your_hf_token>"
  ```

```
hyperpod start-job --recipe training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \
--persistent-volume-claims fsx-claim:data \
--override-parameters \
'{
 "cluster": "k8s",
 "cluster_type": "k8s",
 "container": "<your_neuron_contrainer>",
 "recipes.run.name": "hf-llama3",
 "recipes.run.compile": 0,
 "recipes.model.model_config": "<your_model_config>",
 "instance_type": "trn1.32xlarge",
 "recipes.data.train_dir": "<your_train_data_dir>"
}'
```

Nachdem Sie einen Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods
NAME                              READY   STATUS             RESTARTS        AGE
hf-llama3-<your-alias>-worker-0   0/1     running         0               36s
```

Wenn der `STATUS` `PENDING` oder `ContainerCreating` lautet, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten.

```
kubectl describe pod name_of_pod
```

Nachdem der Job-`STATUS` zu `Running` geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs name_of_pod
```

Der `STATUS` wechselt zu `Completed`, wenn Sie `kubectl get pods` ausführen.

## Starten des Trainingsjobs mit dem Launcher für Rezepte
<a name="sagemaker-hyperpod-trainium-launch-training-job-recipes"></a>

Alternativ kannst du SageMaker HyperPod Rezepte verwenden, um deinen Ausbildungsjob einzureichen. Um den Trainingsjob mithilfe eines Rezepts einzureichen, aktualisieren Sie `k8s.yaml` und `config.yaml`. Führen Sie das Bash-Skript für das Modell aus, um es zu starten.
+ Aktualisieren Sie in persistent\$1volume\$1claims`k8s.yaml`, um den FSx Amazon-Claim im Verzeichnis /data in den Rechenknoten einzuhängen

  ```
  persistent_volume_claims:
    - claimName: fsx-claim
      mountPath: data
  ```
+ scripts/llama/runAktualisieren Sie launcher\$1 \$1hf\$1llama3\$18b\$1seq8k\$1trn1x4\$1pretrain.sh
  + `your_neuron_contrainer`: Der Container aus dem Abschnitt „Umgebungseinrichtung“.
  + `your_model_config`: Die Modellkonfiguration aus dem Abschnitt „Umgebungseinrichtung“

  (Optional) Sie können das HuggingFace Token bereitstellen, wenn Sie vorab trainierte Gewichte von benötigen, HuggingFace indem Sie das folgende Schlüssel-Wert-Paar festlegen:

  ```
  recipes.model.hf_access_token=<your_hf_token>
  ```

  ```
   #!/bin/bash
  #Users should set up their cluster type in /recipes_collection/config.yaml
  IMAGE="<your_neuron_contrainer>"
  MODEL_CONFIG="<your_model_config>"
  SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
  TRAIN_DIR="<your_training_data_dir>" # Location of training dataset
  VAL_DIR="<your_val_data_dir>" # Location of talidation dataset
  
  HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
    recipes=training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain \
    base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
    recipes.run.name="hf-llama3-8b" \
    instance_type=trn1.32xlarge \
    recipes.model.model_config="$MODEL_CONFIG" \
    cluster=k8s \
    cluster_type=k8s \
    container="${IMAGE}" \
    recipes.data.train_dir=$TRAIN_DIR \
    recipes.data.val_dir=$VAL_DIR
  ```
+ Starten des Jobs

  ```
  bash launcher_scripts/llama/run_hf_llama3_8b_seq8k_trn1x4_pretrain.sh
  ```

Nachdem Sie einen Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods
NAME                             READY   STATUS             RESTARTS        AGE
hf-llama3-<your-alias>-worker-0   0/1     running         0               36s
```

Wenn der `STATUS` `PENDING` oder `ContainerCreating` lautet, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten.

```
kubectl describe pod name_of_pod
```

Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs name_of_pod
```

Der `STATUS` wechselt zu `Completed`, wenn Sie `kubectl get pods` ausführen.

Weitere Informationen zur Konfiguration des k8s-Clusters finden Sie unter [Tutorial zum Vortraining des Trainium-Kubernetes-Clusters](#sagemaker-hyperpod-trainium-kubernetes-cluster-pretrain-tutorial).

# SageMaker Tutorial für Trainingsjobs vor dem Training (GPU)
<a name="sagemaker-hyperpod-gpu-sagemaker-training-jobs-pretrain-tutorial"></a>

Dieses Tutorial führt Sie durch den Prozess der Einrichtung und Ausführung eines Vortrainingsjobs mithilfe SageMaker von Trainingsaufträgen mit GPU-Instanzen.
+ So richten Sie Ihre Umgebung ein
+ Starten Sie einen Trainingsjob mithilfe von Rezepten SageMaker HyperPod 

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
 FSx Amazon-Dateisystem oder ein Amazon S3-Bucket, in den Sie die Daten laden und die Trainingsartefakte ausgeben können.
Ich habe ein Servicekontingent für 1x ml.p4d.24xlarge und 1x ml.p5.48xlarge auf Amazon AI angefordert. SageMaker Um eine Erhöhung der Servicekontingente zu beantragen, gehen Sie wie folgt vor:  
Navigieren Sie in der AWS Service Quotas Quotas-Konsole zu AWS Services,
Wählen Sie **Amazon SageMaker AI**.
Wählen Sie eine ml.p4d.24xlarge- und eine ml.p5.48xlarge-Instance aus.
Erstellen Sie eine AWS Identity and Access Management(IAM-) Rolle mit den folgenden verwalteten Richtlinien, um SageMaker KI Berechtigungen zur Ausführung der Beispiele zu erteilen.  
AmazonSageMakerFullAccess
Amazon EC2 FullAccess
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Sie müssen sich einen HuggingFace Token besorgen, wenn Sie die Modellgewichte von vor dem Training oder HuggingFace zur Feinabstimmung verwenden. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Einrichtung der Umgebung für SageMaker GPU-Trainingsjobs
<a name="sagemaker-hyperpod-gpu-sagemaker-training-jobs-environment-setup"></a>

Bevor Sie einen SageMaker Trainingsjob ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen und Ihre bevorzugte Region, indem Sie den `aws configure` Befehl ausführen. Als Alternative zum Befehl configure können Sie Ihre Anmeldeinformationen über Umgebungsvariablen wie `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY`, und angeben. `AWS_SESSION_TOKEN.` Weitere Informationen finden Sie unter [SageMaker AI Python SDK](https://github.com/aws/sagemaker-python-sdk).

Wir empfehlen dringend, ein SageMaker KI-Jupyter-Notizbuch in SageMaker KI JupyterLab zu verwenden, um einen SageMaker Trainingsjob zu starten. Weitere Informationen finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md).
+ (Optional) Richten Sie die virtuelle Umgebung und Abhängigkeiten ein. Wenn Sie ein Jupyter-Notizbuch in Amazon SageMaker Studio verwenden, können Sie diesen Schritt überspringen. Vergewissern Sie sich, dass Sie Python 3.9 oder höher verwenden.

  ```
  # set up a virtual environment
  python3 -m venv ${PWD}/venv
  source venv/bin/activate
  # install dependencies after git clone.
  
  git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
  cd sagemaker-hyperpod-recipes
  pip3 install -r requirements.txt
  # Set the aws region.
  
  aws configure set <your_region>
  ```
+ Installieren Sie das SageMaker AI Python SDK

  ```
  pip3 install --upgrade sagemaker
  ```
+ `Container`: Der GPU-Container wird automatisch vom SageMaker AI Python SDK festgelegt. Sie können auch Ihren eigenen Container bereitstellen.
**Anmerkung**  
Wenn Sie einen multimodalen Trainingsjob mit Llama 3.2 ausführen, muss die `transformers`-Version `4.45.2 ` oder höher sein.

  `source_dir`Nur `transformers==4.45.2` an `requirements.txt` in anhängen, wenn Sie das SageMaker AI Python SDK verwenden. Hängen Sie es beispielsweise an, wenn Sie es in einem Notizbuch in SageMaker AI verwenden. JupyterLab

  Wenn Sie HyperPod Rezepte verwenden, um mithilfe des Clustertyps zu starten`sm_jobs`, erfolgt dies automatisch.

## Starten des Trainingsjobs mit einem Jupyter Notebook
<a name="sagemaker-hyperpod-gpu-sagemaker-training-jobs-launch-training-job-notebook"></a>

Sie können den folgenden Python-Code verwenden, um einen SageMaker Trainingsjob mit Ihrem Rezept auszuführen. Es nutzt den PyTorch Schätzer aus dem [SageMaker AI Python SDK, um das](https://sagemaker.readthedocs.io/en/stable/) Rezept einzureichen. Im folgenden Beispiel wird das Rezept llama3-8b auf der AI-Trainingsplattform gestartet. SageMaker 

```
import os
import sagemaker,boto3
from sagemaker.debugger import TensorBoardOutputConfig

from sagemaker.pytorch import PyTorch

sagemaker_session = sagemaker.Session()
role = sagemaker.get_execution_role()

bucket = sagemaker_session.default_bucket() 
output = os.path.join(f"s3://{bucket}", "output")
output_path = "<s3-URI>"

overrides = {
    "run": {
        "results_dir": "/opt/ml/model",
    },
    "exp_manager": {
        "exp_dir": "",
        "explicit_log_dir": "/opt/ml/output/tensorboard",
        "checkpoint_dir": "/opt/ml/checkpoints",
    },   
    "model": {
        "data": {
            "train_dir": "/opt/ml/input/data/train",
            "val_dir": "/opt/ml/input/data/val",
        },
    },
}

tensorboard_output_config = TensorBoardOutputConfig(
    s3_output_path=os.path.join(output, 'tensorboard'),
    container_local_output_path=overrides["exp_manager"]["explicit_log_dir"]
)

estimator = PyTorch(
    output_path=output_path,
    base_job_name=f"llama-recipe",
    role=role,
    instance_type="ml.p5.48xlarge",
    training_recipe="training/llama/hf_llama3_8b_seq8k_gpu_p5x16_pretrain",
    recipe_overrides=recipe_overrides,
    sagemaker_session=sagemaker_session,
    tensorboard_output_config=tensorboard_output_config,
)

estimator.fit(inputs={"train": "s3 or fsx input", "val": "s3 or fsx input"}, wait=True)
```

Der obige Code erstellt ein PyTorch Schätzerobjekt mit dem Trainingsrezept und passt das Modell dann mithilfe der Methode an. `fit()` Verwenden Sie den Parameter training\$1recipe, um das Rezept anzugeben, das Sie für das Training verwenden möchten.

**Anmerkung**  
Wenn Sie einen multimodalen Trainingsjob mit Llama 3.2 ausführen, muss die Transformers-Version 4.45.2 oder höher sein.

`source_dir`Nur `transformers==4.45.2` an `requirements.txt` in anhängen, wenn Sie das SageMaker AI Python SDK direkt verwenden. Beispielsweise müssen Sie die Version an die Textdatei anfügen, wenn Sie ein Jupyter Notebook verwenden.

Wenn Sie den Endpunkt für einen SageMaker Trainingsjob bereitstellen, müssen Sie den Bild-URI angeben, den Sie verwenden. Wenn Sie den Image-URI nicht angeben, verwendet die Schätzfunktion das Trainings-Image als Image für die Bereitstellung. Die bereitgestellten Trainings-Images enthalten nicht die Abhängigkeiten, die für Inferenz und Bereitstellung erforderlich sind. SageMaker HyperPod Im Folgenden finden Sie ein Beispiel dafür, wie ein Inferenz-Image für die Bereitstellung verwendet werden kann:

```
from sagemaker import image_uris
container=image_uris.retrieve(framework='pytorch',region='us-west-2',version='2.0',py_version='py310',image_scope='inference', instance_type='ml.p4d.24xlarge')
predictor = estimator.deploy(initial_instance_count=1,instance_type='ml.p4d.24xlarge',image_uri=container)
```

**Anmerkung**  
Die Ausführung des vorherigen Codes auf der Sagemaker-Notebook-Instanz benötigt möglicherweise mehr als die von KI bereitgestellten Standardspeicher von 5 GB. SageMaker JupyterLab Wenn Sie auf Probleme mit nicht verfügbarem Speicherplatz stoßen, erstellen Sie eine neue Notebook-Instance, in der Sie eine andere Notebook-Instance verwenden, und vergrößern Sie den Speicherplatz des Notebooks.

## Starten des Trainingsjobs mit dem Launcher für Rezepte
<a name="sagemaker-hyperpod-gpu-sagemaker-training-jobs-launch-training-job-recipes"></a>

Aktualisieren Sie die `./recipes_collection/cluster/sm_jobs.yaml`-Datei wie folgt:

```
sm_jobs_config:
  output_path: <s3_output_path>
  tensorboard_config:
    output_path: <s3_output_path>
    container_logs_path: /opt/ml/output/tensorboard  # Path to logs on the container
  wait: True  # Whether to wait for training job to finish
  inputs:  # Inputs to call fit with. Set either s3 or file_system, not both.
    s3:  # Dictionary of channel names and s3 URIs. For GPUs, use channels for train and validation.
      train: <s3_train_data_path>
      val: null
  additional_estimator_kwargs:  # All other additional args to pass to estimator. Must be int, float or string.
    max_run: 180000
    enable_remote_debug: True
  recipe_overrides:
    exp_manager:
      explicit_log_dir: /opt/ml/output/tensorboard
    data:
      train_dir: /opt/ml/input/data/train
    model:
      model_config: /opt/ml/input/data/train/config.json
    compiler_cache_url: "<compiler_cache_url>"
```

Aktualisieren Sie `./recipes_collection/config.yaml`, um `sm_jobs` im `cluster` und `cluster_type` anzugeben.

```
defaults:
  - _self_
  - cluster: sm_jobs  # set to `slurm`, `k8s` or `sm_jobs`, depending on the desired cluster
  - recipes: training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain
cluster_type: sm_jobs  # bcm, bcp, k8s or sm_jobs. If bcm, k8s or sm_jobs, it must match - cluster above.
```

Starten des Jobs mit dem folgenden Befehl

```
python3 main.py --config-path recipes_collection --config-name config
```

Weitere Informationen zur Konfiguration von SageMaker Trainingsjobs finden Sie unter Trainingsjobs ausführen SageMaker .

# Tutorial zur Vorbereitung von SageMaker Trainium-Schulungsaufträgen
<a name="sagemaker-hyperpod-trainium-sagemaker-training-jobs-pretrain-tutorial"></a>

Dieses Tutorial führt Sie durch den Prozess der Einrichtung und Ausführung eines Vorbereitungsjobs mithilfe von Schulungsaufträgen mit SageMaker Trainium-Instanzen. AWS 
+ So richten Sie Ihre Umgebung ein
+ Starten eines Trainingsjobs

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.

**Voraussetzungen**  
Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:  
 FSx Amazon-Dateisystem oder S3-Bucket, in den Sie die Daten laden und die Trainingsartefakte ausgeben können.
Fordern Sie ein Service-Kontingent für die `ml.trn1.32xlarge` Instance auf Amazon SageMaker AI an. Um eine Erhöhung der Servicekontingente zu beantragen, gehen Sie wie folgt vor:  
Navigieren Sie zur AWS Service Quotas Quotas-Konsole.
Wählen Sie AWS Dienste aus.
Wählen Sie aus JupyterLab.
Geben Sie eine Instance für `ml.trn1.32xlarge` an.
Erstellen Sie eine AWS Identity and Access Management (IAM-) Rolle mit den `AmazonSageMakerFullAccess` und `AmazonEC2FullAccess` verwalteten Richtlinien. Diese Richtlinien gewähren Amazon SageMaker AI die Erlaubnis, die Beispiele auszuführen.
Daten in einem der folgenden Formate:  
JSON
JSONGZ (komprimiertes JSON)
ARROW
(Optional) Wenn du die vorab trainierten Gewichte von einem Lama 3.2-Modell benötigst HuggingFace oder wenn du ein Lama 3.2-Modell trainierst, musst du dir das HuggingFace Token besorgen, bevor du mit dem Training beginnst. Weitere Informationen zum Abrufen des Tokens finden Sie unter [Benutzerzugriffstoken](https://huggingface.co/docs/hub/en/security-tokens).

## Richten Sie Ihre Umgebung für Trainingsjobs bei SageMaker Trainium ein
<a name="sagemaker-hyperpod-trainium-sagemaker-training-jobs-environment-setup"></a>

Bevor Sie einen SageMaker Trainingsjob ausführen, konfigurieren Sie mit dem `aws configure` Befehl Ihre AWS Anmeldeinformationen und Ihre bevorzugte Region. Als Alternative können Sie Ihre Anmeldeinformationen auch über Umgebungsvariablen wie `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` und `AWS_SESSION_TOKEN` angeben. Weitere Informationen finden Sie unter [SageMaker AI Python SDK](https://github.com/aws/sagemaker-python-sdk).

Wir empfehlen dringend, ein SageMaker KI-Jupyter-Notizbuch in SageMaker KI JupyterLab zu verwenden, um einen SageMaker Trainingsjob zu starten. Weitere Informationen finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md).
+ (Optional) Wenn Sie das Jupyter-Notebook in Amazon SageMaker Studio verwenden, können Sie die Ausführung des folgenden Befehls überspringen. Stellen Sie sicher, dass Sie eine Version >= Python 3.9 verwenden.

  ```
  # set up a virtual environment
  python3 -m venv ${PWD}/venv
  source venv/bin/activate
  # install dependencies after git clone.
  
  git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
  cd sagemaker-hyperpod-recipes
  pip3 install -r requirements.txt
  ```
+ Installieren Sie das SageMaker AI Python SDK

  ```
  pip3 install --upgrade sagemaker
  ```
+ 
  + Wenn Sie einen multimodalen Trainingsjob mit llama 3.2 ausführen, muss die `transformers`-Version `4.45.2` oder höher sein.
    + Hängen Sie `transformers==4.45.2` es nur an `requirements.txt` in source\$1dir an, wenn Sie das SageMaker AI Python SDK verwenden.
    + Wenn Sie HyperPod Rezepte zum Starten `sm_jobs` als Clustertyp verwenden, müssen Sie die Transformer-Version nicht angeben.
  + `Container`: Der Neuron-Container wird automatisch vom SageMaker AI Python SDK festgelegt.

## Starten des Trainingsjobs mit einem Jupyter Notebook
<a name="sagemaker-hyperpod-trainium-sagemaker-training-jobs-launch-training-job-notebook"></a>

Sie können den folgenden Python-Code verwenden, um einen SageMaker Trainingsjob nach Ihrem Rezept auszuführen. Es nutzt den PyTorch Schätzer aus dem [SageMaker AI Python SDK, um das](https://sagemaker.readthedocs.io/en/stable/) Rezept einzureichen. Im folgenden Beispiel wird das Rezept llama3-8b als KI-Trainingsjob gestartet. SageMaker 
+ `compiler_cache_url`: Cache, der zum Speichern der kompilierten Artefakte verwendet wird, z. B. ein Amazon-S3-Artefakt.

```
import os
import sagemaker,boto3
from sagemaker.debugger import TensorBoardOutputConfig

from sagemaker.pytorch import PyTorch

sagemaker_session = sagemaker.Session()
role = sagemaker.get_execution_role()

recipe_overrides = {
    "run": {
        "results_dir": "/opt/ml/model",
    },
    "exp_manager": {
        "explicit_log_dir": "/opt/ml/output/tensorboard",
    },
    "data": {
        "train_dir": "/opt/ml/input/data/train",
    },
    "model": {
        "model_config": "/opt/ml/input/data/train/config.json",
    },
    "compiler_cache_url": "<compiler_cache_url>"
} 

tensorboard_output_config = TensorBoardOutputConfig(
    s3_output_path=os.path.join(output, 'tensorboard'),
    container_local_output_path=overrides["exp_manager"]["explicit_log_dir"]
)

estimator = PyTorch(
    output_path=output_path,
    base_job_name=f"llama-trn",
    role=role,
    instance_type="ml.trn1.32xlarge",
    sagemaker_session=sagemaker_session,
    training_recipe="training/llama/hf_llama3_70b_seq8k_trn1x16_pretrain",
    recipe_overrides=recipe_overrides,
)

estimator.fit(inputs={"train": "your-inputs"}, wait=True)
```

Der obige Code erstellt ein PyTorch Schätzerobjekt mit dem Trainingsrezept und passt das Modell dann mithilfe der Methode an. `fit()` Verwenden Sie den Parameter `training_recipe`, um das Rezept anzugeben, das Sie für das Training verwenden möchten.

## Starten des Trainingsjobs mit dem Launcher für Rezepte
<a name="sagemaker-hyperpod-trainium-sagemaker-training-jobs-launch-training-job-recipes"></a>
+ Aktualisieren: `./recipes_collection/cluster/sm_jobs.yaml`
  + compiler\$1cache\$1url: Die URL, die zum Speichern der Artefakte verwendet wurde. Es kann sich um eine Amazon-S3-URL handeln.

  ```
  sm_jobs_config:
    output_path: <s3_output_path>
    wait: True
    tensorboard_config:
      output_path: <s3_output_path>
      container_logs_path: /opt/ml/output/tensorboard  # Path to logs on the container
    wait: True  # Whether to wait for training job to finish
    inputs:  # Inputs to call fit with. Set either s3 or file_system, not both.
      s3:  # Dictionary of channel names and s3 URIs. For GPUs, use channels for train and validation.
        train: <s3_train_data_path>
        val: null
    additional_estimator_kwargs:  # All other additional args to pass to estimator. Must be int, float or string.
      max_run: 180000
      image_uri: <your_image_uri>
      enable_remote_debug: True
      py_version: py39
    recipe_overrides:
      model:
        exp_manager:
          exp_dir: <exp_dir>
        data:
          train_dir: /opt/ml/input/data/train
          val_dir: /opt/ml/input/data/val
  ```
+ Aktualisieren: `./recipes_collection/config.yaml`

  ```
  defaults:
    - _self_
    - cluster: sm_jobs
    - recipes: training/llama/hf_llama3_8b_seq8k_trn1x4_pretrain
  cluster_type: sm_jobs # bcm, bcp, k8s or sm_jobs. If bcm, k8s or sm_jobs, it must match - cluster above.
  
  instance_type: ml.trn1.32xlarge
  base_results_dir: ~/sm_job/hf_llama3_8B # Location to store the results, checkpoints and logs.
  ```
+ Starten des Jobs mit `main.py`

  ```
  python3 main.py --config-path recipes_collection --config-name config
  ```

Weitere Informationen zur Konfiguration von SageMaker Trainingsjobs finden Sie unter[SageMaker Tutorial für Trainingsjobs vor dem Training (GPU)](sagemaker-hyperpod-gpu-sagemaker-training-jobs-pretrain-tutorial.md).

# Standardkonfigurationen
<a name="default-configurations"></a>

In diesem Abschnitt werden die wesentlichen Komponenten und Einstellungen beschrieben, die für die Initiierung und Anpassung Ihrer LLM-Schulungsprozesse (Large Language Model) erforderlich sind. SageMaker HyperPod Dieser Abschnitt behandelt die wichtigsten Repositorys, Konfigurationsdateien und Rezeptstrukturen, die die Grundlage Ihrer Trainingsjobs bilden. Das Verständnis dieser Standardkonfigurationen ist entscheidend für die effektive Einrichtung und Verwaltung Ihrer LLM-Trainings-Workflows, unabhängig davon, ob Sie vordefinierte Rezepte verwenden oder diese an Ihre spezifischen Anforderungen anpassen.

**Topics**
+ [GitHub Repositorien](github-repositories.md)
+ [Allgemeine Konfiguration](sagemaker-hyperpod-recipes-general-configuration.md)

# GitHub Repositorien
<a name="github-repositories"></a>

Um einen Trainingsjob zu starten, verwenden Sie Dateien aus zwei verschiedenen GitHub Repositorys:
+ [SageMaker HyperPod Rezepte](https://github.com/aws/sagemaker-hyperpod-recipes)
+ [SageMaker HyperPod Trainingsadapter für NeMo](https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo)

Diese Repositorys enthalten wichtige Komponenten für die Initiierung, Verwaltung und Anpassung von Trainingsprozessen für große Sprachmodelle (LLMs). Sie verwenden die Skripte aus den Repositorys, um die Trainingsjobs für Sie LLMs einzurichten und auszuführen.

## HyperPod Rezept-Repository
<a name="sagemaker-hyperpod-recipe-repository"></a>

Verwenden Sie das [SageMaker HyperPod Rezept-Repository](https://github.com/aws/sagemaker-hyperpod-recipes), um ein Rezept abzurufen.

1. `main.py`: Diese Datei dient als primärer Einstiegspunkt für die Einleitung des Prozesses, bei dem ein Schulungsjob entweder einem Cluster oder einem SageMaker Schulungsjob zugewiesen wird.

1. `launcher_scripts`: Dieses Verzeichnis enthält eine Sammlung häufig verwendeter Skripte, die den Trainingsprozess für verschiedene Large Language Models (LLMs) erleichtern sollen.

1. `recipes_collection`: Dieser Ordner enthält eine Zusammenstellung von vordefinierten LLM-Rezepten, die von den Entwicklern bereitgestellt wurden. Benutzer können diese Rezepte in Verbindung mit ihren benutzerdefinierten Daten nutzen, um LLM-Modelle zu trainieren, die auf ihre spezifischen Anforderungen zugeschnitten sind.

Sie verwenden die SageMaker HyperPod Rezepte, um Schulungs- oder Feinabstimmungsaufgaben zu starten. Unabhängig davon, welchen Cluster Sie verwenden, ist der Prozess zum Einreichen des Jobs derselbe. Sie können beispielsweise dasselbe Skript verwenden, um einen Job an einen Slurm- oder Kubernetes-Cluster zu senden. Der Launcher sendet einen Trainingsjob auf der Grundlage von drei Konfigurationsdateien aus:

1. Allgemeine Konfiguration (`config.yaml`): enthält allgemeine Einstellungen wie die Standardparameter oder Umgebungsvariablen, die im Trainingsjob verwendet werden.

1. Cluster-Konfiguration (Cluster): nur für Trainingsjobs, bei denen Cluster verwendet werden. Wenn Sie einen Trainingsjob an einen Kubernetes-Cluster senden, müssen Sie möglicherweise Informationen wie Volumen, Bezeichnung oder Neustartrichtlinie angeben. Für Slurm-Cluster müssen Sie möglicherweise den Slurm-Jobnamen angeben. Alle Parameter beziehen sich auf den spezifischen Cluster, den Sie verwenden.

1. Rezept (Rezepte): Rezepte enthalten die Einstellungen für Ihren Trainingsjob, z. B. die Modelltypen, den Grad der Aufteilung oder die Datensatzpfade. Beispielsweise können Sie Llama als Ihr Trainingsmodell festlegen und es mithilfe von Modell- oder Datenparallelismus-Techniken wie Fully Sharded Distributed Parallel (FSDP) auf acht Maschinen trainieren. Sie können auch verschiedene Checkpoint-Frequenzen oder Pfade für Ihren Trainingsjob angeben.

Nachdem Sie ein Rezept angegeben haben, führen Sie das Launcher-Skript aus, um einen end-to-end Trainingsjob auf einem Cluster auf der Grundlage der Konfigurationen über den `main.py` Einstiegspunkt anzugeben. Für jedes Rezept, das Sie verwenden, gibt es zugehörige Shell-Skripte im Ordner launch\$1scripts. Diese Beispiele führen Sie durch das Einreichen und Initiieren von Trainingsjobs. Die folgende Abbildung zeigt, wie ein SageMaker HyperPod Rezept-Launcher einen Trainingsjob auf der Grundlage des Vorhergehenden an einen Cluster weiterleitet. Derzeit basiert der SageMaker HyperPod Recipe Launcher auf dem Nvidia NeMo Framework Launcher. Weitere Informationen finden Sie im [NeMo Launcher-Handbuch](https://docs.nvidia.com/nemo-framework/user-guide/latest/overview.html).

![\[Diagramm, das den Arbeitsablauf des HyperPod Recipe Launchers veranschaulicht. Auf der linken Seite, in einem gestrichelten Feld, befinden sich drei Dateisymbole mit den Bezeichnungen „Recipe“, „config.yaml“ und „slurm.yaml oder k8s.yaml oder sm_job.yaml (Cluster-Konfiguration)“. Ein Pfeil zeigt von diesem Feld auf ein zentrales Feld mit der Bezeichnung "HyperPod Recipe Launcher“. Von diesem zentralen Feld aus zeigt ein weiterer Pfeil nach rechts auf „Training Job“, wobei „main.py“ über dem Pfeil steht.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/sagemaker-hyperpod-recipe-launcher.png)


## HyperPod Rezeptadapter-Repository
<a name="hyperpod-recipe-adapter"></a>

Der SageMaker HyperPod Trainingsadapter ist ein Trainingsframework. Sie können damit den gesamten Lebenszyklus Ihrer Trainingsjobs verwalten. Verwenden Sie den Adapter, um das Vortraining oder die Feinabstimmung Ihrer Modelle auf mehrere Maschinen zu verteilen. Der Adapter verwendet verschiedene Parallelitätstechniken, um das Training zu verteilen. Er kümmert sich auch um die Implementierung und Verwaltung der Speicherung der Checkpoints. Weitere Details finden Sie unter [Erweiterte Einstellungen](cluster-specific-configurations-advanced-settings.md).

Verwenden Sie das [SageMaker HyperPod Rezeptadapter-Repository](https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo), um den Rezeptadapter zu verwenden.

1. `src`: Dieses Verzeichnis enthält die Implementierung des Trainings für große Sprachmodelle (LLMs) und umfasst verschiedene Features wie Modellparallelität, Training mit gemischter Genauigkeit und Checkpoint-Verwaltung.

1. `examples`: Dieser Ordner enthält eine Sammlung von Beispielen, die zeigen, wie ein Einstiegspunkt für das Training eines LLM-Modells erstellt wird, und dient als praktischer Leitfaden für Benutzer.

# Allgemeine Konfiguration
<a name="sagemaker-hyperpod-recipes-general-configuration"></a>

Die Datei config.yaml spezifiziert das Trainingsrezept und den Cluster. Sie enthält auch Laufzeitkonfigurationen wie Umgebungsvariablen für den Trainingsjob.

```
defaults:
  - _self_
  - cluster: slurm 
  - recipes: training/llama/hf_llama3_8b_seq8192_gpu
instance_type: p5.48xlarge
git:
  repo_url_or_path: null
  branch: null
  commit: null
  entry_script: null
  token: null
env_vars:
  NCCL_DEBUG: WARN
```

Sie können die folgenden Parameter in `config.yaml` ändern:

1. `defaults`: Geben Sie Ihre Standardeinstellungen an, z. B. den Standardcluster oder Standardrezepte.

1. `instance_type`: Passen Sie den Instance-Typ von Amazon EC2 an den von Ihnen verwendeten Instance-Typ an.

1. `git`: Geben Sie den Speicherort des SageMaker HyperPod Rezeptadapter-Repositorys für den Trainingsjob an.

1. `env_vars`: Sie können die Umgebungsvariablen angeben, die an Ihren Laufzeit-Trainingsjob übergeben werden sollen. Sie können beispielsweise die Protokollierungsebene von NCCL anpassen, indem Sie die Umgebungsvariable NCCL\$1DEBUG angeben.

Das Rezept ist die Kernkonfiguration, die Ihre Trainingsjob-Architektur definiert. Diese Datei enthält viele wichtige Informationen für Ihren Trainingsjob, z. B.:
+ Ob Modellparallelität verwendet werden soll
+ Die Quelle Ihrer Datensätze
+ Training mit gemischter Präzision
+ Konfigurationen im Zusammenhang mit Checkpoints

Sie können die Rezepte unverändert verwenden. Sie können auch die folgenden Informationen verwenden, um sie zu ändern.

## run
<a name="run"></a>

Im Folgenden finden Sie die grundlegenden Informationen zum Ausführen Ihres Trainingsjobs.

```
run:
  name: llama-8b
  results_dir: ${base_results_dir}/${.name}
  time_limit: "6-00:00:00"
  model_type: hf
```

1. `name`: Geben Sie den Namen für Ihren Trainingsjob in der Konfigurationsdatei an.

1. `results_dir`: Sie können das Verzeichnis angeben, in dem die Ergebnisse Ihres Trainingsjobs gespeichert werden.

1. `time_limit`: Sie können eine maximale Trainingszeit für Ihren Trainingsjob festlegen, um zu verhindern, dass er zu lange Hardwareressourcen beansprucht.

1. `model_type`: Sie können den Modelltyp angeben, den Sie verwenden. Sie können beispielsweise angeben, `hf` ob Ihr Modell von stammt HuggingFace.

## exp\$1manager
<a name="exp-manager"></a>

Der exp\$1manager konfiguriert das Experiment. Mit dem exp\$1manager können Sie Felder wie das Ausgabeverzeichnis oder Checkpoint-Einstellungen angeben. Im folgenden Beispiel wird gezeigt, wie Sie den exp\$1manager konfigurieren können.

```
exp_manager:
  exp_dir: null
  name: experiment
  create_tensorboard_logger: True
```

1. `exp_dir`: Das Experimentverzeichnis enthält die Standardausgabe- und Standardfehlerdateien für Ihren Trainingsjob. Standardmäßig verwendet es Ihr aktuelles Verzeichnis.

1. `name`: Der Name des Experiments, der zur Identifizierung Ihres Experiments unter dem exp\$1dir verwendet wurde.

1. `create_tensorboard_logger`: Geben Sie an `True``False`, ob der TensorBoard Logger aktiviert oder deaktiviert werden soll.

## Checkpointing
<a name="checkpointing"></a>

Wir unterstützen drei Arten von Checkpoints:
+ Automatisches Checkpointing
+ Manuelles Checkpointing
+ Vollständiges Checkpointing

### Automatisches Checkpointing
<a name="auto-checkpointing"></a>

Wenn Sie Checkpoints speichern oder laden, die automatisch vom SageMaker HyperPod Rezeptadapter verwaltet werden, können Sie sie aktivieren`auto_checkpoint`. Legen Sie `enabled` auf `True` fest, um `auto_checkpoint` zu aktivieren. Sie können das automatische Checkpointing sowohl für das Training als auch für die Feinabstimmung verwenden. Sie können das automatische Checkpointing sowohl für gemeinsam genutzte Dateisysteme als auch für Amazon S3 verwenden.

```
exp_manager
  checkpoint_dir: ${recipes.exp_manager.exp_dir}/checkpoints/
  auto_checkpoint:
    enabled: True
```

Beim automatischen Checkpoint wird das local\$1state\$1dict asynchron mit einem automatisch berechneten optimalen Speicherintervall gespeichert.

**Anmerkung**  
In diesem Checkpointing-Modus unterstützt das automatische Speichern von Checkpoints kein erneutes Sharding zwischen Trainingsausführungen. Um den letzten automatisch gespeicherten Checkpoint wieder aufzunehmen, müssen Sie die gleichen Shard-Grade beibehalten. Sie müssen keine zusätzlichen Informationen angeben, um die automatische Wiederaufnahme zu aktivieren.

### Manuelles Checkpointing
<a name="manual-checkpointing"></a>

Sie können `checkpoint_callback_params` ändern, um einen Zwischen-Checkpoint asynchron in shared\$1state\$1dict zu speichern. Beispielsweise können Sie die folgende Konfiguration festlegen, um alle 10 Schritte ein Sharded Checkpointing zu aktivieren und die letzten 3 Checkpoints zu behalten.

Mit Sharded Checkpointing können Sie die Shard-Grade zwischen den Trainingsausführungen ändern und den Checkpoint laden, indem Sie einstellen.

**Anmerkung**  
Wenn es sich um eine PEFT-Feinabstimmung handelt, unterstützt Sharded Checkpointing Amazon S3 nicht.
Automatisches und manuelles Checkpointing schließen sich gegenseitig aus.
Nur Änderungen von FSDP-Shard- und Replikationsgraden sind zulässig.

```
exp_manager:
  checkpoint_callback_params:
    # Set save_top_k = 0 to disable sharded checkpointing
    save_top_k: 3
    every_n_train_steps: 10
    monitor: "step"
    mode: "max"
    save_last: False
  resume_from_checkpoint: ${recipes.exp_manager.exp_dir}/checkpoints/
```

Weitere Informationen zum Checkpointing finden Sie unter [Checkpointing mit SMP](model-parallel-core-features-v2-checkpoints.md).

### Vollständiges Checkpointing
<a name="full-checkpointing"></a>

Der exportierte Checkpoint full\$1state\$1dict kann für Inferenz oder Feinabstimmung verwendet werden. Sie können einen vollständigen Checkpoint über hf\$1model\$1name\$1or\$1path laden. In diesem Modus werden nur die Modellgewichte gespeichert.

Um das Modell full\$1state\$1dict zu exportieren, können Sie die folgenden Parameter festlegen.

**Anmerkung**  
Derzeit wird vollständiges Checkpointing für Amazon-S3-Checkpointing nicht unterstützt. Sie können den S3-Pfad für `exp_manager.checkpoint_dir` nicht festlegen, wenn Sie das vollständige Checkpointing aktivieren. Sie können jedoch `exp_manager.export_full_model.final_export_dir` auf ein bestimmtes Verzeichnis in Ihrem lokalen Dateisystem setzen und gleichzeitig `exp_manager.checkpoint_dir` auf einen Amazon-S3-Pfad festlegen.

```
exp_manager:
  export_full_model:
    # Set every_n_train_steps = 0 to disable full checkpointing
    every_n_train_steps: 0
    save_last: True
    final_export_dir : null
```

## model
<a name="model"></a>

Definieren Sie verschiedene Aspekte Ihrer Modellarchitektur und Ihres Trainingsprozesses. Dazu gehören Einstellungen für Modellparallelität, Präzision und Datenverarbeitung. Im Folgenden sind die wichtigsten Komponenten aufgeführt, die Sie im Modellbereich konfigurieren können:

### Modellparallelität
<a name="model-parallelism"></a>

Nachdem Sie das Rezept festgelegt haben, definieren Sie das Modell, das Sie trainieren. Sie können auch die Modellparallelität definieren. Sie können beispielsweise tensor\$1model\$1parallel\$1degree definieren. Sie können andere Funktionen wie FP8 präzises Training aktivieren. Sie können beispielsweise ein Modell mit Tensorparallelität und Kontextparallelität trainieren:

```
model:
  model_type: llama_v3
  # Base configs
  train_batch_size: 4
  val_batch_size: 1
  seed: 12345
  grad_clip: 1.0

  # Model parallelism
  tensor_model_parallel_degree: 4
  expert_model_parallel_degree: 1
  context_parallel_degree: 2
```

Um ein besseres Verständnis der verschiedenen Arten von Modellparallelitätstechniken zu erlangen, können Sie auf die folgenden Ansätze zurückgreifen:

1. [Tensor-Parallelität](model-parallel-core-features-v2-tensor-parallelism.md)

1. [Expertenparallelität](model-parallel-core-features-v2-expert-parallelism.md)

1. [Kontextparallelität](model-parallel-core-features-v2-context-parallelism.md)

1. [Parallelität hybrider fragmentierter Daten](model-parallel-core-features-v2-sharded-data-parallelism.md)

### FP8
<a name="fp8"></a>

Zur Aktivierung FP8 (8-Bit-Gleitkomma-Präzision) können Sie die entsprechende Konfiguration im FP8 folgenden Beispiel angeben:

```
model:
  # FP8 config
  fp8: True
  fp8_amax_history_len: 1024
  fp8_amax_compute_algo: max
```

Es ist wichtig zu beachten, dass das FP8 Datenformat derzeit nur für den Instance-Typ P5 unterstützt wird. Wenn Sie einen älteren Instanztyp wie P4 verwenden, deaktivieren Sie die FP8 Funktion für Ihren Modelltrainingsprozess. Weitere Informationen zu finden Sie FP8 unter[Training mit gemischter Präzision](model-parallel-core-features-v2-mixed-precision.md).

### data
<a name="data"></a>

Sie können Ihre benutzerdefinierten Datensätze für Ihren Trainingsjob angeben, indem Sie die Datenpfade unter Daten hinzufügen. Das Datenmodul in unserem System unterstützt die folgenden Datenformate:

1. JSON

1. JSONGZ (komprimiertes JSON)

1. ARROW

Sie sind jedoch dafür verantwortlich, Ihren eigenen vortokenisierten Datensatz vorzubereiten. Wenn Sie ein fortgeschrittener Benutzer mit spezifischen Anforderungen sind, besteht auch die Möglichkeit, ein maßgeschneidertes Datenmodul zu implementieren und zu integrieren. Weitere Informationen zu HuggingFace Datensätzen finden Sie unter [Datensätze](https://huggingface.co/docs/datasets/v3.1.0/en/index).

```
model:
  data:
    train_dir: /path/to/your/train/data
    val_dir: /path/to/your/val/data
    dataset_type: hf
    use_synthetic_data: False
```

Sie können angeben, wie Sie das Modell trainieren. Standardmäßig verwendet das Rezept ein Vortraining anstelle einer Feinabstimmung. Im folgenden Beispiel wird das Rezept so konfiguriert, dass es einen Feinabstimmungsjob mit LoRa (Low-Rank Adaptation) ausführt.

```
model:
  # Fine tuning config
  do_finetune: True
  # The path to resume from, needs to be HF compatible
  hf_model_name_or_path: null
  hf_access_token: null
  # PEFT config
  peft:
    peft_type: lora
    rank: 32
    alpha: 16
    dropout: 0.1
```

[Informationen zu den Rezepten finden Sie unter SageMaker HyperPod Rezepte.](https://github.com/aws/sagemaker-hyperpod-recipes)

# Cluster-spezifische Konfigurationen
<a name="cluster-specific-configurations"></a>

SageMaker HyperPod bietet Flexibilität bei der Ausführung von Trainingsaufträgen in verschiedenen Cluster-Umgebungen. Jede Umgebung hat ihre eigenen Konfigurationsanforderungen und ihren eigenen Einrichtungsprozess. In diesem Abschnitt werden die Schritte und Konfigurationen beschrieben, die für die Ausführung von Trainingsjobs in SageMaker HyperPod Slurm, SageMaker HyperPod K8s und SageMaker Trainingsjobs erforderlich sind. Das Verständnis dieser Konfigurationen ist entscheidend, um das Potenzial von verteiltem Training in der von Ihnen gewählten Umgebung effektiv nutzen zu können.

Sie können ein Rezept in den folgenden Cluster-Umgebungen verwenden:
+ SageMaker HyperPod Slurm-Orchestrierung
+ SageMaker HyperPod Orchestrierung von Amazon Elastic Kubernetes Service
+ SageMaker Ausbildungsberufe

Um einen Trainingsjob in einem Cluster zu starten, müssen Sie die entsprechende Cluster-Konfiguration und -Umgebung einrichten und installieren.

**Topics**
+ [Einen Trainingsjob auf HyperPod Slurm ausführen](cluster-specific-configurations-run-training-job-hyperpod-slurm.md)
+ [Einen Trainingsjob auf HyperPod k8s ausführen](cluster-specific-configurations-run-training-job-hyperpod-k8s.md)
+ [SageMaker Einen Trainingsjob ausführen](cluster-specific-configurations-run-sagemaker-training-job.md)

# Einen Trainingsjob auf HyperPod Slurm ausführen
<a name="cluster-specific-configurations-run-training-job-hyperpod-slurm"></a>

SageMaker HyperPod Recipes unterstützt das Senden eines Trainingsjobs an einen GPU/Trainium Slurm-Cluster. Bevor Sie den Trainingsjob einreichen, aktualisieren Sie die Cluster-Konfiguration. Verwenden Sie eines der folgenden Verfahren zum Aktualisieren der Cluster-Konfiguration:
+ Ändern von `slurm.yaml`
+ Überschreiben über die Befehlszeile

Nachdem Sie die Clusterkonfiguration aktualisiert haben, installieren Sie die Umgebung.

## Konfigurieren des Clusters
<a name="cluster-specific-configurations-configure-cluster-slurm-yaml"></a>

Um einen Trainingsjob an einen Slurm-Cluster zu senden, geben Sie die Slurm-spezifische Konfiguration an. Ändern Sie `slurm.yaml`, um den Slurm-Cluster zu konfigurieren. Im Folgenden finden Sie ein Beispiel für eine Slurm-Clusterkonfiguration. Sie können diese Datei für Ihre eigenen Trainingsbedürfnisse ändern:

```
job_name_prefix: 'sagemaker-'
slurm_create_submission_file_only: False 
stderr_to_stdout: True
srun_args:
  # - "--no-container-mount-home"
slurm_docker_cfg:
  docker_args:
    # - "--runtime=nvidia" 
  post_launch_commands: 
container_mounts: 
  - "/fsx:/fsx"
```

1. `job_name_prefix`: Geben Sie ein Präfix für den Jobnamen an, um Ihre Einsendungen für den Slurm-Cluster leicht identifizieren zu können.

1. `slurm_create_submission_file_only`: Setzen Sie diese Konfiguration für einen Probelauf auf True, um Ihnen das Debuggen zu erleichtern.

1. `stderr_to_stdout`: Geben Sie an, ob Sie Ihren Standardfehler (stderr) zur Standardausgabe (stdout) umleiten möchten.

1. `srun_args`: Passen Sie zusätzliche Srun-Konfigurationen an, z. B. das Ausschließen bestimmter Rechenknoten. Weitere Informationen finden Sie in der srun-Dokumentation.

1. `slurm_docker_cfg`: Der SageMaker HyperPod Rezept-Launcher startet einen Docker-Container, um deinen Trainingsjob auszuführen. In diesem Parameter können Sie zusätzliche Docker-Argumente angeben.

1. `container_mounts`: Geben Sie die Volumes an, die Sie in den Container für den Rezept-Launcher mounten, damit Ihre Trainingsjobs auf die Dateien in diesen Volumes zugreifen können.

# Einen Trainingsjob auf HyperPod k8s ausführen
<a name="cluster-specific-configurations-run-training-job-hyperpod-k8s"></a>

SageMaker HyperPod Recipes unterstützt das Senden eines Trainingsjobs an einen GPU/Trainium-Kubernetes-Cluster. Bevor Sie den Trainingsjob einreichen, führen Sie einen der folgenden Schritte aus:
+ Ändern Sie die `k8s.yaml`-Cluster-Konfigurationsdatei.
+ Überschreiben Sie die Clusterkonfiguration über die Befehlszeile.

Nachdem Sie einen der vorherigen Schritte ausgeführt haben, installieren Sie die entsprechende Umgebung.

## Konfigurieren des Clusters unter Verwendung von `k8s.yaml`
<a name="cluster-specific-configurations-configure-cluster-k8s-yaml"></a>

Um einen Trainingsjob an einen Kubernetes-Cluster zu senden, geben Sie Kubernetes-spezifische Konfigurationen an. Die Konfigurationen beinhalten den Cluster-Namespace oder den Speicherort des persistenten Volumes.

```
pullPolicy: Always
restartPolicy: Never
namespace: default
persistent_volume_claims:
  - null
```

1. `pullPolicy`: Sie können die Pull-Richtlinie angeben, wenn Sie einen Trainingsjob einreichen. Wenn Sie „Immer“ angeben, ruft der Kubernetes-Cluster Ihr Image immer aus dem Repository ab. Weitere Informationen finden Sie unter [Richtlinie zum Image-Abruf](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy).

1. `restartPolicy`: Geben Sie an, ob Ihr Trainingsjob neu gestartet werden soll, falls er fehlschlägt.

1. `namespace`: Sie können den Kubernetes-Namespace angeben, in den Sie den Trainingsjob übermitteln.

1. `persistent_volume_claims`: Sie können ein gemeinsames Volume für Ihren Trainingsjob angeben, damit alle Trainingsprozesse auf die Dateien im Volume zugreifen können.

# SageMaker Einen Trainingsjob ausführen
<a name="cluster-specific-configurations-run-sagemaker-training-job"></a>

SageMaker HyperPod Recipes unterstützt das Einreichen eines SageMaker Trainingsjobs. Bevor Sie den Trainingsjob übermitteln, müssen Sie die Cluster-Konfiguration, `sm_job.yaml`, aktualisieren und die entsprechende Umgebung installieren.

## Verwende dein Rezept als SageMaker Ausbildungsjob
<a name="cluster-specific-configurations-cluster-config-sm-job-yaml"></a>

Sie können Ihr Rezept als SageMaker Trainingsjob verwenden, wenn Sie keinen Cluster hosten. Sie müssen die Konfigurationsdatei für den SageMaker Trainingsjob ändern`sm_job.yaml`, um Ihr Rezept ausführen zu können.

```
sm_jobs_config:
  output_path: null 
  tensorboard_config:
    output_path: null 
    container_logs_path: null
  wait: True 
  inputs: 
    s3: 
      train: null
      val: null
    file_system:  
      directory_path: null
  additional_estimator_kwargs: 
    max_run: 1800
```

1. `output_path`: Sie können angeben, wo Sie Ihr Modell unter einer Amazon-S3-URL speichern möchten.

1. `tensorboard_config`: Sie können eine TensorBoard zugehörige Konfiguration angeben, z. B. den Ausgabepfad oder den TensorBoard Protokollpfad.

1. `wait`: Sie können angeben, ob Sie darauf warten, dass der Job abgeschlossen ist, wenn Sie Ihren Trainingsjob einreichen.

1. `inputs`: Sie können die Pfade für Ihre Trainings- und Validierungsdaten angeben. Die Datenquelle kann aus einem gemeinsam genutzten Dateisystem wie Amazon FSx oder einer Amazon S3 S3-URL stammen.

1. `additional_estimator_kwargs`: Zusätzliche Schätzerargumente für die Einreichung einer Ausbildungsstelle auf der Plattform für SageMaker Ausbildungsangebote. Weitere Informationen finden Sie unter [Algorithmus-Schätzfunktion](https://sagemaker.readthedocs.io/en/stable/api/training/algorithm.html).

# Überlegungen
<a name="cluster-specific-configurations-special-considerations"></a>

Wenn Sie ein SageMaker HyperPod Amazon-Rezept verwenden, gibt es einige Faktoren, die den Prozess des Modelltrainings beeinflussen können.
+ Die `transformers`-Version muss `4.45.2` für Llama 3.2 oder höher sein. Wenn Sie einen Slurm- oder K8s-Workflow verwenden, wird die Version automatisch aktualisiert.
+ Mixtral unterstützt keine 8-Bit-Gleitkomma-Präzision () FP8
+ Amazon EC2 p4-Instance unterstützt nicht FP8

# Erweiterte Einstellungen
<a name="cluster-specific-configurations-advanced-settings"></a>

Der SageMaker HyperPod Rezeptadapter basiert auf den Frameworks Nvidia Nemo und PyTorch-Lightning. Wenn Sie diese Frameworks bereits verwendet haben, ist die Integration Ihrer benutzerdefinierten Modelle oder Funktionen in den SageMaker HyperPod Rezeptadapter ein ähnlicher Prozess. Sie können nicht nur den Rezeptadapter ändern, sondern auch Ihr eigenes Skript für die Vorbereitung oder Feinabstimmung ändern. Anleitungen zum Schreiben Ihres benutzerdefinierten Trainingsskripts finden Sie in den [Beispielen](https://github.com/aws/sagemaker-hyperpod-training-adapter-for-nemo/tree/main/examples).

## Verwenden Sie den SageMaker HyperPod Adapter, um Ihr eigenes Modell zu erstellen
<a name="cluster-specific-configurations-use-hyperpod-adapter-create-model"></a>

Im Rezeptadapter können Sie die folgenden Dateien an den folgenden Speicherorten anpassen:

1. `collections/data`: Enthält ein Modul, das für das Laden von Datensätzen verantwortlich ist. Derzeit unterstützt es nur Datensätze von HuggingFace. Wenn Sie erweiterte Anforderungen haben, können Sie mithilfe der Codestruktur benutzerdefinierte Datenmodule innerhalb desselben Ordners hinzufügen.

1. `collections/model`: Beinhaltet die Definitionen verschiedener Sprachmodelle. Derzeit unterstützt es gängige große Sprachmodelle wie Llama, Mixtral und Mistral. Sie haben die Flexibilität, Ihre eigenen Modelldefinitionen in diesen Ordner einzufügen.

1. `collections/parts`: Dieser Ordner enthält Strategien für das verteilte Training von Modellen. Ein Beispiel hierfür ist die Fully Sharded Data Parallel (FSDP)-Strategie, die es ermöglicht, ein großes Sprachmodell auf mehrere Beschleuniger aufzuteilen. Darüber hinaus unterstützen die Strategien verschiedene Formen der Modellparallelität. Sie haben auch die Möglichkeit, Ihre eigenen maßgeschneiderten Trainingsstrategien für das Modelltraining einzuführen.

1. `utils`: Enthält verschiedene Dienstprogramme, die die Verwaltung eines Trainingsjob erleichtern sollen. Es dient als Repository für Ihre eigenen Tools. Sie können Ihre eigenen Tools für Aufgaben wie Fehlerbehebung oder Benchmarking verwenden. Sie können diesem Ordner auch Ihre eigenen personalisierten PyTorch Lightning-Rückrufe hinzufügen. Sie können PyTorch Lightning-Rückrufe verwenden, um bestimmte Funktionen oder Abläufe nahtlos in den Schulungslebenszyklus zu integrieren.

1. `conf`: Enthält die Definitionen des Konfigurationsschemas, die für die Validierung bestimmter Parameter in einem Trainingsjob verwendet werden. Wenn Sie neue Parameter oder Konfigurationen einführen, können Sie Ihr benutzerdefiniertes Schema zu diesem Ordner hinzufügen. Sie können das benutzerdefinierte Schema verwenden, um die Validierungsregeln zu definieren. Sie können Datentypen, Bereiche oder jede andere Parameterbeschränkung validieren. Sie können auch Ihr eigenes benutzerdefiniertes Schema definieren, um die Parameter zu validieren.

# Anhang
<a name="appendix"></a>

Verwenden Sie die folgenden Informationen, um Informationen zur Überwachung und Analyse von Trainingsergebnissen zu erhalten.

## Überwachen der Trainingsergebnisse
<a name="monitor-training-results"></a>

Die Überwachung und Analyse von Schulungsergebnissen ist für Entwickler unerlässlich, um Konvergenz zu beurteilen und Probleme zu beheben. SageMaker HyperPod Rezepte bieten eine Tensorboard-Integration zur Analyse des Trainingsverhaltens. Um den Herausforderungen zu begegnen, die mit der Erstellung von Profilen großer, verteilter Trainingsjobs verbunden sind, beinhalten diese Rezepte auch Folgendes: VizTracer VizTracerist ein Tool mit geringem Aufwand zum Verfolgen und Visualisieren der Python-Codeausführung. Weitere Informationen VizTracer zu finden Sie unter. [VizTracer](https://viztracer.readthedocs.io/en/latest/installation.html)

In den folgenden Abschnitten erfahren Sie, wie Sie diese Funktionen in Ihren SageMaker HyperPod Rezepten implementieren.

### Tensorboard
<a name="tensorboard"></a>

Tensorboard ist ein leistungsstarkes Tool zur Visualisierung und Analyse des Trainingsprozesses. Um Tensorboard zu aktivieren, ändern Sie Ihr Rezept, indem Sie den folgenden Parameter einstellen:

```
exp_manager:
  exp_dir: null
  name: experiment
  create_tensorboard_logger: True
```

Nachdem Sie den Tensorboard-Logger aktiviert haben, werden die Trainingsprotokolle generiert und im Experimentverzeichnis gespeichert. Das geleitete Experiment ist in exp\$1manager.exp\$1dir definiert. Gehen Sie wie folgt vor, um auf diese Protokolle zuzugreifen und sie lokal zu analysieren:

**So greifen Sie auf Protokolle zu und analysieren sie:**

1. Laden Sie den Tensorboard-Experimentordner aus Ihrer Trainingsumgebung auf Ihren lokalen Computer herunter.

1. Öffnen Sie ein Terminal oder einen Prompt auf Ihrem lokalen Rechner.

1. Navigieren Sie zu dem Verzeichnis, das den heruntergeladenen Experimentordner enthält.

1. Starten Sie Tensorboard mit dem folgenden Befehl.

   ```
   tensorboard --port=<port> --bind_all --logdir experiment.
   ```

1. Öffnen Sie Ihren Browser und navigieren Sie zu http://localhost:8008.

Sie können jetzt den Status und die Visualisierungen Ihrer Trainingsjobs in der Tensorboard-Oberfläche sehen. Wenn Sie den Status und die Visualisierungen sehen, können Sie den Trainingsprozess überwachen und analysieren. Durch die Überwachung und Analyse des Trainingsprozesses können Sie Einblicke in das Verhalten und die Leistung Ihrer Modelle gewinnen. Weitere Informationen zur Überwachung und Analyse des Trainings mit Tensorboard finden Sie im [NVIDIA NeMo Framework-Benutzerhandbuch](https://docs.nvidia.com/nemo-framework/user-guide/latest/llms/index.html).

### VizTracer
<a name="viztracer"></a>

Zur Aktivierung können Sie Ihr Rezept ändern VizTracer, indem Sie den Parameter model.viztracer.enabled auf true setzen. Sie können beispielsweise Ihr Lama-Rezept aktualisieren, um es zu aktivieren VizTracer , indem Sie die folgende Konfiguration hinzufügen:

```
model:
  viztracer:
    enabled: true
```

Nach Abschluss der Schulung befindet sich Ihr VizTracer Profil im Experimentordner exp\$1dir/result.json. Um Ihr Profil zu analysieren, können Sie es herunterladen und mit dem VizViewer-Tool öffnen:

```
vizviewer --port <port> result.json
```

Dieser Befehl startet den VizViewer auf Port 9001. <port>Sie können Ihre anzeigen, VizTracer indem Sie http://localhost: in Ihrem Browser angeben. Nach dem Öffnen VizTracer beginnen Sie mit der Analyse des Trainings. Weitere Informationen zur Verwendung VizTracer finden Sie in der VizTracer Dokumentation.

## SageMaker JumpStart versus SageMaker HyperPod
<a name="sagemaker-jumpstart-vs-hyperpod"></a>

Die SageMaker HyperPod Rezepte SageMaker JumpStart bieten zwar Funktionen zur Feinabstimmung, bieten aber Folgendes:
+ Zusätzliche fein abgestufte Kontrolle über die Trainingsschleife
+ Anpassung des Rezepts für Ihre eigenen Modelle und Daten
+ Unterstützung für Modellparallelität

Verwenden Sie die SageMaker HyperPod Rezepte, wenn Sie Zugriff auf die Hyperparameter des Modells, das Training mit mehreren Knoten und die Anpassungsoptionen für die Trainingsschleife benötigen.

Weitere Informationen zur Feinabstimmung Ihrer Modelle finden Sie unter SageMaker JumpStart [Optimieren von öffentlich verfügbaren Basismodellen mit der `JumpStartEstimator`-Klasse](jumpstart-foundation-models-use-python-sdk-estimator-class.md)

# Orchestrierung von SageMaker HyperPod Clustern mit Slurm
<a name="sagemaker-hyperpod-slurm"></a>

Die Slurm-Unterstützung SageMaker HyperPod unterstützt Sie bei der Bereitstellung robuster Cluster für die Ausführung von Workloads für maschinelles Lernen (ML) und die Entwicklung von state-of-the-art Modellen wie großen Sprachmodellen (LLMs), Diffusionsmodellen und Basismodellen (). FMs Es beschleunigt die Entwicklung von, FMs indem der undifferenzierte Aufwand für den Aufbau und die Wartung großer Rechencluster entfällt, die von Tausenden von Beschleunigern wie AWS Trainium und NVIDIA A100 und H100 Graphical Processing Units () angetrieben werden. GPUs Wenn Beschleuniger ausfallen, erkennen die Ausfallsicherheitsfunktionen der SageMaker HyperPod Monitore die fehlerhafte Hardware automatisch und ersetzen sie im laufenden Betrieb, sodass Sie sich auf die Ausführung von ML-Workloads konzentrieren können. Darüber hinaus können Sie mit der Unterstützung für die Lebenszykluskonfiguration Ihre Computerumgebung an Ihre Bedürfnisse anpassen und sie mit den verteilten Schulungsbibliotheken von Amazon SageMaker AI konfigurieren, um eine optimale Leistung zu erzielen AWS. SageMaker HyperPod

**Betrieb von Clustern**

Sie können SageMaker HyperPod Cluster grafisch über die Konsolenbenutzeroberfläche (UI) und programmgesteuert über die AWS Befehlszeilenschnittstelle (CLI) oder erstellen, konfigurieren und verwalten. AWS SDK für Python (Boto3) Mit Amazon VPC können Sie das Cluster-Netzwerk sichern und auch die Vorteile der Konfiguration Ihres Clusters mit Ressourcen in Ihrer VPC nutzen, z. B. Amazon FSx for Lustre, das den schnellsten Durchsatz bietet. Sie können Cluster-Instance-Gruppen auch unterschiedliche IAM-Rollen zuweisen und die Aktionen einschränken, die Ihre Cluster-Ressourcen und Benutzer ausführen können. Weitere Informationen hierzu finden Sie unter [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md).

**Konfigurieren der ML-Umgebung**

SageMaker HyperPod wird ausgeführt[SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami), wodurch eine ML-Umgebung auf den Clustern eingerichtet wird. HyperPod Sie können zusätzliche Anpassungen für das DLAMI konfigurieren, indem Sie Lebenszyklusskripte zur Unterstützung Ihres Anwendungsfalls bereitstellen. Weitere Informationen zum Einrichten von Lebenszyklusskripten finden Sie unter [Erste Schritte mit SageMaker HyperPod](smcluster-getting-started-slurm.md) und [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

**Planen von Aufträgen**

Nachdem Sie erfolgreich einen HyperPod Cluster erstellt haben, können sich Clusterbenutzer bei den Clusterknoten (wie dem Head- oder Controller-Knoten, dem Anmeldeknoten und dem Worker-Knoten) anmelden und Jobs für die Ausführung von Workloads für maschinelles Lernen planen. Weitere Informationen hierzu finden Sie unter [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

**Widerstandskraft gegen Hardwareausfälle**

SageMaker HyperPod führt Integritätsprüfungen auf Clusterknoten durch und bietet eine Funktion zur automatischen Wiederaufnahme der Arbeitslast. Mit den Cluster-Resilienzfunktionen von HyperPod können Sie Ihre Arbeitslast ab dem letzten Checkpoint fortsetzen, den Sie gespeichert haben, nachdem fehlerhafte Knoten in Clustern mit mehr als 16 Knoten durch fehlerfreie ersetzt wurden. Weitere Informationen hierzu finden Sie unter [SageMaker HyperPod Cluster-Resilienz](sagemaker-hyperpod-resiliency-slurm.md).

**Protokollieren und Verwalten von Clustern**

Sie können Metriken zur SageMaker HyperPod Ressourcennutzung und Lebenszyklusprotokolle in Amazon finden und SageMaker HyperPod Ressourcen verwalten CloudWatch, indem Sie sie taggen. Jede `CreateCluster` API-Ausführung erstellt einen eigenen Protokollstream, der im Format `<cluster-name>-<timestamp>` benannt ist. Im Protokollstream können Sie die Hostnamen, die Namen fehlgeschlagener Lebenszyklusskripte und die Ausgaben der fehlgeschlagenen Skripte wie `stdout` und `stderr` überprüfen. Weitere Informationen finden Sie unter [SageMaker HyperPod Cluster-Verwaltung](sagemaker-hyperpod-cluster-management-slurm.md).

**Kompatibel mit SageMaker KI-Tools**

Mithilfe von SageMaker HyperPod SageMaker KI können Sie Cluster mit AWS optimierten Bibliotheken für kollektive Kommunikation konfigurieren, wie z. B. der [SageMaker AI Distributed Data Parallelism (SMDDP](data-parallel.md)) -Bibliothek. Die SMDDP-Bibliothek implementiert den für die AWS Rechen- und Netzwerkinfrastruktur optimierten `AllGather` Betrieb für die leistungsstärksten SageMaker KI-Instanzen für maschinelles Lernen, die auf NVIDIA A100 basieren. GPUs Weitere Informationen hierzu finden Sie unter [Ausführung verteilter Trainingsworkloads mit aktiviertem Slurm HyperPod](sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload.md).

**Platzierung von Instanzen mit UltraServers**

SageMaker KI weist automatisch Jobs Ihren Instances zu. Dies UltraServer basiert auf einer Best-Effort-Strategie, bei der alle Instanzen in einer Instanz verwendet werden, UltraServer bevor eine andere verwendet wird. Wenn Sie beispielsweise 14 Instanzen anfordern und 2 UltraServers in Ihrem Trainingsplan haben, verwendet SageMaker KI alle Instanzen der ersten Instanz. UltraServer Wenn du 20 Instanzen angefordert hast und 2 UltraServers in deinem Trainingsplan hast, verwendet SageMaker KI alle 17 Instanzen in der ersten Instanz UltraServer und dann 3 von der zweiten UltraServer.

**Topics**
+ [Erste Schritte mit SageMaker HyperPod](smcluster-getting-started-slurm.md)
+ [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md)
+ [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)
+ [SageMaker HyperPod Unterstützung für Multi-Head-Knoten](sagemaker-hyperpod-multihead-slurm.md)
+ [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md)
+ [SageMaker HyperPod Überwachung der Cluster-Ressourcen](sagemaker-hyperpod-cluster-observability-slurm.md)
+ [SageMaker HyperPod Cluster-Resilienz](sagemaker-hyperpod-resiliency-slurm.md)
+ [Kontinuierliche Bereitstellung für erweiterte Clusteroperationen mit Slurm](sagemaker-hyperpod-scaling-slurm.md)
+ [SageMaker HyperPod Cluster-Verwaltung](sagemaker-hyperpod-cluster-management-slurm.md)
+ [SageMaker HyperPod FAQs](sagemaker-hyperpod-faq-slurm.md)

# Erste Schritte mit SageMaker HyperPod
<a name="smcluster-getting-started-slurm"></a>

Beginnen Sie mit der Erstellung Ihres ersten SageMaker HyperPod Clusters und lernen Sie die Funktionen des Clusterbetriebs von kennen SageMaker HyperPod. Sie können einen SageMaker HyperPod Cluster über die Benutzeroberfläche der SageMaker AI-Konsole oder die AWS CLI Befehle erstellen. Dieses Tutorial zeigt, wie Sie mit Slurm, einer beliebten Workload-Scheduler-Software, einen neuen SageMaker HyperPod Cluster erstellen. Nachdem Sie dieses Tutorial durchgearbeitet haben, wissen Sie, wie Sie sich mit den AWS Systems Manager Befehlen () `aws ssm` bei den Cluster-Knoten anmelden. Nachdem Sie dieses Tutorial abgeschlossen haben, finden Sie unter auch weitere Informationen [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md) zu den SageMaker HyperPod grundlegenden Vorgängen und [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md) zum Planen von Jobs auf dem bereitgestellten Cluster.

**Tipp**  
[Praktische Beispiele und Lösungen finden Sie auch im Workshop. SageMaker HyperPod](https://catalog.workshops.aws/sagemaker-hyperpod)

**Topics**
+ [Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole](smcluster-getting-started-slurm-console.md)
+ [Cluster mithilfe von Vorlagen erstellen SageMaker HyperPod CloudFormation](smcluster-getting-started-slurm-console-create-cluster-cfn.md)
+ [Erste Schritte mit der SageMaker HyperPod Verwendung von AWS CLI](smcluster-getting-started-slurm-cli.md)

# Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole
<a name="smcluster-getting-started-slurm-console"></a>

Das folgende Tutorial zeigt, wie Sie einen neuen SageMaker HyperPod Cluster erstellen und ihn mit Slurm über die Benutzeroberfläche der SageMaker AI-Konsole einrichten. Im Anschluss an das Tutorial erstellen Sie einen HyperPod Cluster mit drei Slurm-Knoten, `my-controller-group``my-login-group`, und. `worker-group-1`

**Topics**
+ [Cluster erstellen](#smcluster-getting-started-slurm-console-create-cluster-page)
+ [Bereitstellen von Ressourcen](#smcluster-getting-started-slurm-console-create-cluster-deploy)
+ [Löschen des Clusters und Bereinigen der Ressourcen](#smcluster-getting-started-slurm-console-delete-cluster-and-clean)

## Cluster erstellen
<a name="smcluster-getting-started-slurm-console-create-cluster-page"></a>

Gehen Sie wie folgt vor, um zur **SageMaker HyperPod Cluster-Seite** zu navigieren **und Slurm-Orchestration** auszuwählen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **HyperPod Clusters** und dann **Cluster Management** aus.

1. Wählen Sie auf der Seite **SageMaker HyperPod Cluster** die Option ** HyperPod Cluster erstellen** aus. 

1. Wählen **Sie im Drop-down-Menü HyperPod Cluster erstellen** die Option **Orchestrated by Slurm aus**.

1. Auf der Seite zur Erstellung eines Slurm-Clusters sehen Sie zwei Optionen. Wählen Sie die Option aus, die Ihren Bedürfnissen am besten entspricht.

   1. **Quick Setup**: Um sofort mit den Standardeinstellungen zu beginnen, wählen Sie **Quick Setup** aus. Mit dieser Option erstellt SageMaker KI bei der Erstellung Ihres Clusters neue Ressourcen wie VPC, Subnetze, Sicherheitsgruppen, Amazon S3 S3-Bucket, IAM-Rolle und FSx für Lustre.

   1. **Benutzerdefinierte Einrichtung**: Um eine Integration mit vorhandenen Ressourcen vorzunehmen oder bestimmte Anforderungen hinsichtlich Netzwerk, Sicherheit oder Speicher zu erfüllen, wählen Sie **Benutzerdefinierte Einrichtung** aus. Mit dieser Option können Sie wählen, ob Sie die vorhandenen Ressourcen verwenden oder neue erstellen möchten, und Sie können die Konfiguration an Ihre Bedürfnisse anpassen.

## Quick Setup
<a name="smcluster-getting-started-slurm-console-create-cluster-default"></a>

Folgen Sie im Abschnitt **Schnelleinrichtung** diesen Schritten, um Ihren HyperPod Cluster mit Slurm-Orchestrierung zu erstellen.

### Allgemeine Einstellungen
<a name="smcluster-getting-started-slurm-console-create-cluster-default-general"></a>

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

### Instance-Gruppen
<a name="smcluster-getting-started-slurm-console-create-cluster-default-instance-groups"></a>

Um eine Instance-Gruppe hinzuzufügen, wählen Sie **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe für die Gruppentypen „Controller“ und „Compute“ hinzufügen.

**Wichtig**  
Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

1. Wählen Sie unter **Instance-Gruppentyp** einen Typ für die Instance-Gruppe aus. Für dieses Tutorial wählen Sie **Controller (Head)** für `my-controller-group`, **Login** für `my-login-group` und **Compute (Worker)** für `worker-group-1` aus.

1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an. Für dieses Tutorial erstellen Sie drei Instance-Gruppen mit den Namen `my-controller-group`, `my-login-group` und `worker-group-1`.

1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus. Wählen Sie für dieses Tutorial `ml.c5.xlarge` für `my-controller-group`, `ml.m5.4xlarge` für `my-login-group` und `ml.trn1.32xlarge` für `worker-group-1`. 
**Wichtig**  
Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie **1** für alle drei Gruppen ein.

1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

### Quick Setup – Standardwerte
<a name="smcluster-getting-started-slurm-console-create-cluster-default-settings"></a>

In diesem Abschnitt sind alle Standardeinstellungen für Ihre Clustererstellung aufgeführt, einschließlich aller neuen AWS Ressourcen, die während des Clustererstellungsprozesses erstellt werden. Überprüfen Sie die Standardeinstellungen.

## Benutzerdefinierte Einrichtung
<a name="smcluster-getting-started-slurm-console-create-cluster-custom"></a>

Gehen Sie im Abschnitt **Benutzerdefiniertes Setup** wie folgt vor, um Ihren HyperPod Cluster mit Slurm-Orchestrierung zu erstellen.

### Allgemeine Einstellungen
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-general"></a>

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

Wählen Sie für die **Instance-Wiederherstellung** **Automatisch – *empfohlen*** oder **Keine**.

### Netzwerk
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-network"></a>

Konfigurieren Sie Ihre Netzwerkeinstellungen für die Clustererstellung. Nachdem der Cluster erstellt wurde, können diese Einstellungen nicht mehr geändert werden.

1. Wählen Sie für **VPC** Ihre eigene VPC aus, falls Sie bereits eine haben, die SageMaker KI Zugriff auf Ihre VPC gewährt. Um eine neue VPC zu erstellen, folgen Sie den Anweisungen unter [Erstellen einer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) im *Benutzerhandbuch für Amazon Virtual Private Cloud*. Sie können es auf **None** belassen, um die standardmäßige SageMaker KI-VPC zu verwenden.

1. Geben Sie für den **VPC IPv4 CIDR-Block** die Start-IP Ihrer VPC ein.

1. Wählen Sie für **Availability Zones** die Availability Zones (AZ) aus, in denen Subnetze für HyperPod Ihren Cluster erstellt werden sollen. Wählen Sie AZs diese aus, die dem Standort Ihrer beschleunigten Rechenkapazität entsprechen.

1. Erstellen Sie für **Sicherheitsgruppen** eine Sicherheitsgruppe oder wählen Sie bis zu fünf Sicherheitsgruppen aus, die mit Regeln konfiguriert sind, um die Kommunikation zwischen Ressourcen innerhalb der VPC zu ermöglichen.

### Instance-Gruppen
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-instance-groups"></a>

Um eine Instance-Gruppe hinzuzufügen, wählen Sie **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen.

**Wichtig**  
Sie können jeweils eine Instance-Gruppe hinzufügen. Wenn Sie mehrere Instance-Gruppen erstellen möchten, wiederholen Sie den Vorgang für jede Instance-Gruppe.

Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

1. Wählen Sie unter **Instance-Gruppentyp** einen Typ für die Instance-Gruppe aus. Für dieses Tutorial wählen Sie **Controller (Head)** für `my-controller-group`, **Login** für `my-login-group` und **Compute (Worker)** für `worker-group-1` aus.

1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an. Für dieses Tutorial erstellen Sie drei Instance-Gruppen mit den Namen `my-controller-group`, `my-login-group` und `worker-group-1`.

1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus. Wählen Sie für dieses Tutorial `ml.c5.xlarge` für `my-controller-group`, `ml.m5.4xlarge` für `my-login-group` und `ml.trn1.32xlarge` für `worker-group-1`. 
**Wichtig**  
Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie **1** für alle drei Gruppen ein.

1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

### Lebenszyklusskripte
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-lifecycle"></a>

Sie können zwischen den Standard-Lebenszyklusskripten und den benutzerdefinierten Lebenszyklusskripten wählen, die in Ihrem Amazon-S3-Bucket gespeichert werden. Sie können die standardmäßigen Lebenszyklusskripte im [Awesome Distributed GitHub Training-Repository](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts) einsehen. Weitere Informationen zu den Lebenszyklusskripten finden Sie unter [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

1. Wählen Sie für **Lebenszyklusskripte**, ob Sie standardmäßige oder benutzerdefinierte Lebenszyklusskripte verwenden möchten.

1. Wählen Sie für **S3-Bucket für Lebenszyklusskripte**, ob Sie einen neuen Bucket erstellen oder einen vorhandenen Bucket zum Speichern der Lebenszyklusskripten verwenden möchten.

### Berechtigungen
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-permissions"></a>

Wählen oder erstellen Sie eine IAM-Rolle, mit der Sie die erforderlichen AWS Ressourcen in Ihrem Namen ausführen und darauf zugreifen können HyperPod .

### Speicher
<a name="smcluster-getting-started-slurm-console-create-cluster-custom-storage"></a>

Konfigurieren Sie das FSx for Lustre-Dateisystem, das auf dem Cluster bereitgestellt werden soll. HyperPod 

1. Wählen Sie für **Dateisystem** ein vorhandenes FSx for Lustre-Dateisystem aus, um ein neues FSx for Lustre-Dateisystem zu erstellen, oder stellen Sie kein FSx for Lustre-Dateisystem bereit.

1. Wählen Sie für **Durchsatz pro Speichereinheit** den Durchsatz aus, der pro TiB bereitgestellten Speichers verfügbar sein soll.

1. Geben Sie für **Speicherkapazität** einen Kapazitätswert in TB ein.

1. Wählen Sie als **Datenkomprimierungstyp** die Option **LZ4**Datenkomprimierung aktivieren.

1. Sehen Sie sich für die **Lustre-Version** den Wert an, der für die neuen Dateisysteme empfohlen wird.

### Tags – optional
<a name="smcluster-getting-started-slurm-console-create-cluster-tags"></a>

Fügen Sie **unter Tags — *optional*** Schlüssel- und Wertepaare zum neuen Cluster hinzu und verwalten Sie den Cluster als AWS Ressource. Weitere Informationen finden Sie unter [Markieren Ihrer AWS -Ressourcen](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

## Bereitstellen von Ressourcen
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy"></a>

Nachdem Sie die Clusterkonfigurationen entweder mit **Quick Setup** oder **Benutzerdefinierte Einrichtung** abgeschlossen haben, wählen Sie die folgende Option aus, um mit der Ressourcenbereitstellung und Clustererstellung zu beginnen.
+  **Absenden** — SageMaker KI beginnt mit der Bereitstellung der Standardkonfigurationsressourcen und der Erstellung des Clusters. 
+ ** CloudFormation Vorlagenparameter herunterladen** — Sie laden die JSON-Datei mit den Konfigurationsparametern herunter und führen einen AWS CLI Befehl aus, um den CloudFormation Stack bereitzustellen, um die Konfigurationsressourcen bereitzustellen und den Cluster zu erstellen. Sie können die heruntergeladene Parameter-JSON-Datei bei Bedarf bearbeiten. Wenn Sie diese Option auswählen, finden Sie weitere Anweisungen unter [Cluster mithilfe von Vorlagen erstellen SageMaker HyperPod CloudFormation](smcluster-getting-started-slurm-console-create-cluster-cfn.md).

## Löschen des Clusters und Bereinigen der Ressourcen
<a name="smcluster-getting-started-slurm-console-delete-cluster-and-clean"></a>

Nachdem Sie die Erstellung eines SageMaker HyperPod Clusters erfolgreich getestet haben, läuft er im `InService` Status weiter, bis Sie den Cluster löschen. Wir empfehlen, dass Sie alle Cluster löschen, die mit SageMaker On-Demand-AI-Instances erstellt wurden, wenn sie nicht verwendet werden, um zu vermeiden, dass weitere Servicegebühren aufgrund von On-Demand-Preisen anfallen. In diesem Tutorial haben Sie einen Cluster erstellt, der aus zwei Instance-Gruppen besteht. Eine davon verwendet eine C5-Instance. Stellen Sie also sicher, dass Sie den Cluster löschen, indem Sie den Anweisungen unter [Löschen Sie einen SageMaker HyperPod Cluster](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster) folgen.

Wenn Sie jedoch einen Cluster mit reservierter Rechenkapazität erstellt haben, hat der Status der Cluster keinen Einfluss auf die Serviceabrechnung.

Um die Lebenszyklusskripte aus dem für dieses Tutorial verwendeten S3-Bucket zu bereinigen, wechseln Sie zu dem S3-Bucket, den Sie bei der Clustererstellung verwendet haben, und entfernen Sie die Dateien vollständig.

Wenn Sie die Ausführung von Workloads auf dem Cluster getestet haben, vergewissern Sie sich, ob Sie Daten hochgeladen haben oder ob Ihr Job Artefakte in verschiedenen S3-Buckets oder Dateisystemdiensten wie Amazon FSx for Lustre und Amazon Elastic File System gespeichert hat. Um Gebühren zu vermeiden, löschen Sie alle Artefakte und Daten aus dem Speicher- oder Dateisystem.

# Cluster mithilfe von Vorlagen erstellen SageMaker HyperPod CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-cfn"></a>

Sie können SageMaker HyperPod Cluster mithilfe der CloudFormation Vorlagen für erstellen HyperPod. Sie müssen installieren AWS CLI , um fortzufahren.

**Topics**
+ [Konfigurieren Sie Ressourcen in der Konsole und stellen Sie sie bereit mit CloudFormation](#smcluster-getting-started-slurm-console-create-cluster-deploy-console)
+ [Ressourcen konfigurieren und bereitstellen mit CloudFormation](#smcluster-getting-started-slurm-console-create-cluster-deploy-cfn)

## Konfigurieren Sie Ressourcen in der Konsole und stellen Sie sie bereit mit CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy-console"></a>

Sie können Ressourcen mithilfe der konfigurieren AWS-Managementkonsole und mithilfe der CloudFormation Vorlagen bereitstellen. 

Dazu gehen Sie wie folgt vor:

1. *Anstatt auf **Senden zu klicken***, wählen Sie am Ende des Tutorials unter die Option ** CloudFormation Vorlagenparameter herunterladen** aus[Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole](smcluster-getting-started-slurm-console.md). Das Tutorial enthält wichtige Konfigurationsinformationen, die Sie benötigen, um Ihren Cluster erfolgreich zu erstellen.
**Wichtig**  
Wenn Sie **Absenden** auswählen, können Sie einen Cluster mit demselben Namen erst bereitstellen, wenn Sie den Cluster löschen.

   Nachdem Sie die Option ** CloudFormation Vorlagenparameter herunterladen** ausgewählt haben, wird **das Fenster Verwenden der Konfigurationsdatei zur Erstellung des AWS CLI Clusters mithilfe** des Fensters auf der rechten Seite angezeigt.

1. Wählen Sie im Fenster **Verwenden der Konfigurationsdatei zum Erstellen des Clusters unter Verwendung der AWS CLI** die Option **Konfigurationsparameter-Datei herunterladen** aus. Die Datei wird auf Ihren Computer heruntergeladen. Sie können die JSON-Konfigurationsdatei nach Ihren Bedürfnissen bearbeiten oder sie unverändert lassen, wenn keine Änderung erforderlich ist.

1. Navigieren Sie in einem Terminalfenster zum Speicherort der Parameterdatei `file://params.json`.

1. Führen Sie den AWS CLI Befehl [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) aus, um den CloudFormation Stack bereitzustellen, der die konfigurierten Ressourcen bereitstellt und den HyperPod Cluster erstellt.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url https://aws-sagemaker-hyperpod-cluster-setup.amazonaws.com/templates-slurm/main-stack-slurm-based-template.yaml
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. [Um den Status der Ressourcenbereitstellung einzusehen, navigieren Sie zur Konsole. CloudFormation ](https://console.aws.amazon.com/cloudformation)

   Nachdem die Clustererstellung abgeschlossen ist, sehen Sie sich den neuen **Cluster im Hauptbereich der SageMaker HyperPod Konsole unter Cluster** an. Sie können den Status in der Spalte **Status** überprüfen.

1. Wenn der Status des Clusters zu `InService` wechselt, können Sie mit der Anmeldung bei den Clusterknoten beginnen. Informationen zum Zugriff auf die Clusterknoten und zum Starten der Ausführung von ML-Workloads finden Sie unter [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

## Ressourcen konfigurieren und bereitstellen mit CloudFormation
<a name="smcluster-getting-started-slurm-console-create-cluster-deploy-cfn"></a>

Sie können Ressourcen konfigurieren und bereitstellen, indem Sie die CloudFormation Vorlagen für verwenden SageMaker HyperPod.

Dazu gehen Sie wie folgt vor:

1. Laden Sie eine CloudFormation Vorlage für SageMaker HyperPod aus dem [sagemaker-hyperpod-cluster-setup](https://github.com/aws/sagemaker-hyperpod-cluster-setup) GitHub Repository herunter.

1. Führen Sie den AWS CLI Befehl [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) aus, um den CloudFormation Stack bereitzustellen, der die konfigurierten Ressourcen bereitstellt und den HyperPod Cluster erstellt.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url URL_of_the_file_that_contains_the_template_body
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. Um den Status der Ressourcenbereitstellung einzusehen, navigieren Sie zur CloudFormation -Konsole.

   Nachdem die Clustererstellung abgeschlossen ist, sehen Sie sich den neuen **Cluster unter Cluster** im Hauptbereich der SageMaker HyperPod Konsole an. Sie können den Status in der Spalte **Status** überprüfen.

1. Wenn der Status des Clusters zu `InService` wechselt, können Sie mit der Anmeldung bei den Clusterknoten beginnen. Informationen zum Zugriff auf die Clusterknoten und zum Starten der Ausführung von ML-Workloads finden Sie unter [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

# Erste Schritte mit der SageMaker HyperPod Verwendung von AWS CLI
<a name="smcluster-getting-started-slurm-cli"></a>

Erstellen Sie Ihren ersten SageMaker HyperPod Cluster mit den AWS CLI Befehlen für HyperPod.

## Erstelle deinen ersten SageMaker HyperPod Cluster mit Slurm
<a name="smcluster-getting-started-slurm-cli-create-cluster"></a>

Das folgende Tutorial zeigt, wie Sie mithilfe der [AWS CLI Befehle](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-cli) für einen neuen SageMaker HyperPod Cluster erstellen und ihn mit Slurm einrichten. SageMaker HyperPod Im Anschluss an das Tutorial erstellen Sie einen HyperPod Cluster mit drei Slurm-Knoten: `my-controller-group``my-login-group`, und. `worker-group-1`

Mit dem API-gesteuerten Konfigurationsansatz definieren Sie Slurm-Knotentypen und Partitionszuweisungen direkt in der CreateCluster API-Anfrage mithilfe von. `SlurmConfig` Dadurch entfällt die Notwendigkeit einer separaten `provisioning_parameters.json` Datei und bietet eine integrierte Validierung, Drifterkennung und Konfiguration. per-instance-group FSx 

1. Bereiten Sie zunächst Lebenszyklusskripte vor und laden Sie sie in einen Amazon-S3-Bucket hoch. HyperPod Führt sie während der Clustererstellung in jeder Instanzgruppe aus. Laden Sie mithilfe des folgenden Befehls Lebenszyklusskripte in Amazon S3 hoch.

   ```
   aws s3 sync \
       ~/local-dir-to-lifecycle-scripts/* \
       s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
   ```
**Anmerkung**  
Der S3-Bucket-Pfad sollte mit einem Präfix beginnen`sagemaker-`, da die [IAM-Rolle für SageMaker HyperPod with](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) `AmazonSageMakerClusterInstanceRolePolicy` nur den Zugriff auf Amazon S3 S3-Buckets ermöglicht, die mit dem spezifischen Präfix beginnen.

   Wenn Sie bei Null anfangen, verwenden Sie Lebenszyklus-Beispielskripts, die im [Awsome Distributed](https://github.com/aws-samples/awsome-distributed-training/) Training Repository bereitgestellt werden. GitHub Die folgenden Teilschritte zeigen, wie Sie die Lebenszyklus-Beispielskripts herunterladen und in einen Amazon S3 S3-Bucket hochladen.

   1. Laden Sie eine Kopie der Beispiel-Lebenszyklusskripte in ein Verzeichnis auf Ihrem lokalen Computer herunter.

      ```
      git clone https://github.com/aws-samples/awsome-distributed-training/
      ```

   1. Gehen Sie in das Verzeichnis [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config), in dem Sie eine Reihe von Lebenszyklusskripten finden.

      ```
      cd awsome-distributed-training/1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config
      ```

      Weitere Informationen zu den Lebenszyklusskript-Beispielen finden Sie unter [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

   1. Laden Sie die Skripte auf `s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src` hoch. Sie können dazu die Amazon-S3-Konsole oder den folgenden AWS CLI -Amazon-S3-Befehl ausführen.

      ```
      aws s3 sync \
          ~/local-dir-to-lifecycle-scripts/* \
          s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src
      ```
**Anmerkung**  
Bei der API-gesteuerten Konfiguration müssen Sie keine Datei erstellen oder hochladen. `provisioning_parameters.json` Die Slurm-Konfiguration wird im nächsten Schritt direkt in der CreateCluster API-Anfrage definiert.

1. Bereiten Sie eine [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)Anforderungsdatei im JSON-Format vor und speichern Sie sie `create_cluster.json` unter.

   Bei der API-gesteuerten Konfiguration geben Sie mithilfe des Felds den Slurm-Knotentyp und die Partitionszuweisung für jede Instanzgruppe an. `SlurmConfig` Sie konfigurieren auch die Slurm-Einstellungen auf Clusterebene mithilfe von. `Orchestrator.Slurm`

   Geben Sie für `ExecutionRole` den ARN der IAM-Rolle an, die Sie mit der verwalteten `AmazonSageMakerClusterInstanceRolePolicy` in [Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md) erstellt haben.

   ```
   {
       "ClusterName": "my-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole",
               "InstanceStorageConfigs": [
                   {
                       "EbsVolumeConfig": {
                           "VolumeSizeInGB": 500
                       }
                   }
               ]
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Login"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Compute",
                   "PartitionNames": ["partition-1"]
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           }
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       }
   }
   ```

   **SlurmConfig Felder**:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

   **Orchestrator.Slurm-Felder:**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

   **SlurmConfigStrategy Optionen:**
   + `Managed`(empfohlen): Verwaltet `slurm.conf` und erkennt unberechtigte Änderungen HyperPod vollständig (Drift-Erkennung). Aktualisierungen schlagen fehl, wenn eine Abweichung erkannt wird.
   + `Overwrite`: HyperPod überschreibt `slurm.conf` bei Updates und ignoriert alle manuellen Änderungen.
   + `Merge`: HyperPod behält manuelle Änderungen bei und führt sie mit der API-Konfiguration zusammen.

   ** FSx Für Lustre hinzufügen (optional):**

   Um ein FSx for Lustre-Dateisystem auf Ihren Rechenknoten zu mounten, fügen Sie es der `FsxLustreConfig` Instanzgruppe `InstanceStorageConfigs` for hinzu. Dies erfordert eine benutzerdefinierte VPC-Konfiguration.

   ```
   {
       "InstanceGroupName": "worker-group-1",
       "InstanceType": "ml.trn1.32xlarge",
       "InstanceCount": 1,
       "SlurmConfig": {
           "NodeType": "Compute",
           "PartitionNames": ["partition-1"]
       },
       "InstanceStorageConfigs": [
           {
               "FsxLustreConfig": {
                   "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com",
                   "MountPath": "/fsx",
                   "MountName": "abcdefgh"
               }
           }
       ],
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
   }
   ```

   ** FSx Für OpenZFS hinzufügen (optional):**

   Sie können auch FSx für OpenZFS-Dateisysteme mounten:

   ```
   "InstanceStorageConfigs": [
       {
           "FsxOpenZfsConfig": {
               "DnsName": "fs-0xyz789abc123456.fsx.us-west-2.amazonaws.com",
               "MountPath": "/shared"
           }
       }
   ]
   ```
**Anmerkung**  
Jede Instanzgruppe kann höchstens eine FSx für die Lustre- und eine FSx für die OpenZFS-Konfiguration haben. Verschiedene Instanzgruppen können unterschiedliche Dateisysteme mounten.

   **VPC-Konfiguration hinzufügen (erforderlich für FSx):**

   Bei Verwendung FSx müssen Sie eine benutzerdefinierte VPC-Konfiguration angeben:

   ```
   {
       "ClusterName": "my-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::<account-id>:role/HyperPodExecutionRole"
           },
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       },
       "VpcConfig": {
           "SecurityGroupIds": ["sg-0abc123def456789a"],
           "Subnets": ["subnet-0abc123def456789a"]
       }
   }
   ```

1. Führen Sie den folgenden Befehl aus, um den Cluster zu erstellen.

   ```
   aws sagemaker create-cluster --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Dies sollte den ARN des erstellten Clusters zurückgeben.

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/my-hyperpod-cluster"
   }
   ```

   Wenn Sie aufgrund von Ressourcenbeschränkungen eine Fehlermeldung erhalten, stellen Sie sicher, dass Sie den Instance-Typ in Ihrem Konto in einen mit ausreichenden Kontingenten ändern oder zusätzliche Kontingente anfordern, indem Sie den folgenden Schritten folgen.

   **Häufige Validierungsfehler:**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html)

1. Führen Sie `describe-cluster` aus, um den Status des -Clusters zu prüfen.

   ```
   aws sagemaker describe-cluster --cluster-name my-hyperpod-cluster
   ```

   Beispielantwort:

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/my-hyperpod-cluster",
       "ClusterName": "my-hyperpod-cluster",
       "ClusterStatus": "Creating",
       "InstanceGroups": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceType": "ml.c5.xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Controller"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Login"
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceCount": 1,
               "CurrentCount": 0,
               "TargetCount": 1,
               "SlurmConfig": {
                   "NodeType": "Compute",
                   "PartitionNames": ["partition-1"]
               },
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://sagemaker-<bucket>/src",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodExecutionRole"
           }
       ],
       "Orchestrator": {
           "Slurm": {
               "SlurmConfigStrategy": "Managed"
           }
       },
       "CreationTime": "2024-01-15T10:30:00Z"
   }
   ```

   Nachdem der Status des Clusters auf **InService** geändert wurde, fahren Sie mit dem nächsten Schritt fort. Die Clustererstellung dauert in der Regel 10 bis 15 Minuten.

1. Führen Sie `list-cluster-nodes` aus, um die Details der Clusterknoten zu überprüfen.

   ```
   aws sagemaker list-cluster-nodes --cluster-name my-hyperpod-cluster
   ```

   Beispielantwort:

   ```
   {
       "ClusterNodeSummaries": [
           {
               "InstanceGroupName": "my-controller-group",
               "InstanceId": "i-0abc123def456789a",
               "InstanceType": "ml.c5.xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:35:00Z"
           },
           {
               "InstanceGroupName": "my-login-group",
               "InstanceId": "i-0abc123def456789b",
               "InstanceType": "ml.m5.4xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:35:00Z"
           },
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceId": "i-0abc123def456789c",
               "InstanceType": "ml.trn1.32xlarge",
               "InstanceStatus": {
                   "Status": "Running",
                   "Message": ""
               },
               "LaunchTime": "2024-01-15T10:36:00Z"
           }
       ]
   }
   ```

   `InstanceId`Das benötigen Ihre Cluster-Benutzer, um sich bei ihnen anzumelden (`aws ssm`). Weitere Informationen zur Anmeldung bei den Clusterknoten und zum Ausführen von ML-Workloads finden Sie unter [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

1. Stellen Sie mithilfe von AWS Systems Manager Session Manager eine Connect zu Ihrem Cluster her.

   ```
   aws ssm start-session \
       --target sagemaker-cluster:my-hyperpod-cluster_my-login-group-i-0abc123def456789b \
       --region us-west-2
   ```

   Sobald die Verbindung hergestellt ist, stellen Sie sicher, dass Slurm korrekt konfiguriert ist:

   ```
   # Check Slurm nodes
   sinfo
   
   # Check Slurm partitions
   sinfo -p partition-1
   
   # Submit a test job
   srun -p partition-1 --nodes=1 hostname
   ```

## Löschen des Clusters und Bereinigen der Ressourcen
<a name="smcluster-getting-started-slurm-cli-delete-cluster-and-clean"></a>

Nachdem Sie die Erstellung eines SageMaker HyperPod Clusters erfolgreich getestet haben, läuft er im `InService` Status weiter, bis Sie den Cluster löschen. Wir empfehlen, dass Sie alle Cluster löschen, die mithilfe von SageMaker On-Demand-KI-Kapazität erstellt wurden, wenn sie nicht genutzt werden, um zu vermeiden, dass weitere Servicegebühren aufgrund von On-Demand-Preisen anfallen. In diesem Tutorial haben Sie einen Cluster erstellt, der aus drei Instanzgruppen besteht. Stellen Sie sicher, dass Sie den Cluster löschen, indem Sie den folgenden Befehl ausführen.

```
aws sagemaker delete-cluster --cluster-name my-hyperpod-cluster
```

Um die Lebenszyklusskripte aus dem für dieses Tutorial verwendeten Amazon-S3-Bucket zu bereinigen, wechseln Sie zu dem Amazon-S3-Bucket, den Sie bei der Clustererstellung verwendet haben, und entfernen Sie die Dateien vollständig.

```
aws s3 rm s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src --recursive
```

Wenn Sie die Ausführung von Modelltraining-Workloads auf dem Cluster getestet haben, überprüfen Sie auch, ob Sie Daten hochgeladen haben oder ob Ihr Job Artefakte in verschiedenen Amazon S3 S3-Buckets oder Dateisystemdiensten wie Amazon FSx for Lustre und Amazon Elastic File System gespeichert hat. Um Gebühren zu vermeiden, löschen Sie alle Artefakte und Daten aus dem Speicher- oder Dateisystem.

## Verwandte Themen
<a name="smcluster-getting-started-slurm-cli-related-topics"></a>
+ [SageMaker HyperPod Slurm-Konfiguration](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-slurm-configuration)
+ [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)
+ [FSx Konfiguration über InstanceStorageConfigs](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-slurm-fsx-config)
+ [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md)

# SageMaker HyperPod Slurm-Clusteroperationen
<a name="sagemaker-hyperpod-operate-slurm"></a>

Dieser Abschnitt enthält Anleitungen zur Verwaltung SageMaker HyperPod über die Benutzeroberfläche der SageMaker AI-Konsole oder die AWS Command Line Interface (CLI). Sie erfahren, wie Sie verschiedene Aufgaben ausführen können SageMaker HyperPod, je nachdem, ob Sie eine visuelle Oberfläche bevorzugen oder mit Befehlen arbeiten.

**Topics**
+ [Verwaltung von SageMaker HyperPod Slurm-Clustern über die Konsole SageMaker](sagemaker-hyperpod-operate-slurm-console-ui.md)
+ [Verwaltung von SageMaker HyperPod Slurm-Clustern mit dem AWS CLI](sagemaker-hyperpod-operate-slurm-cli-command.md)

# Verwaltung von SageMaker HyperPod Slurm-Clustern über die Konsole SageMaker
<a name="sagemaker-hyperpod-operate-slurm-console-ui"></a>

Die folgenden Themen enthalten Anleitungen zur Verwaltung SageMaker HyperPod über die Benutzeroberfläche der Konsole.

**Topics**
+ [Erstellen Sie einen SageMaker HyperPod Cluster](#sagemaker-hyperpod-operate-slurm-console-ui-create-cluster)
+ [Durchsuchen Sie Ihre SageMaker HyperPod Cluster](#sagemaker-hyperpod-operate-slurm-console-ui-browse-clusters)
+ [Details zu den einzelnen SageMaker HyperPod Clustern anzeigen](#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters)
+ [Bearbeiten Sie einen SageMaker HyperPod Cluster](#sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters)
+ [Löschen Sie einen SageMaker HyperPod Cluster](#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster)

## Erstellen Sie einen SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-operate-slurm-console-ui-create-cluster"></a>

Anweisungen finden Sie unter [Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole](smcluster-getting-started-slurm-console.md) So erstellen Sie einen neuen SageMaker HyperPod Cluster über die Benutzeroberfläche der SageMaker HyperPod Konsole.

## Durchsuchen Sie Ihre SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-operate-slurm-console-ui-browse-clusters"></a>

Unter **Cluster** im Hauptbereich der SageMaker HyperPod Konsole auf der Hauptseite der SageMaker HyperPod Konsole sollten alle erstellten Cluster im Abschnitt **Cluster** aufgeführt werden, der eine Zusammenfassung der Cluster ARNs, ihres Status und der Erstellungszeit bietet.

## Details zu den einzelnen SageMaker HyperPod Clustern anzeigen
<a name="sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters"></a>

Unter **Cluster** auf der Hauptseite der Konsole sind die **Clusternamen** als Links aktiviert. Wählen Sie den Link zum Clusternamen aus, um Details zu den einzelnen Clustern anzuzeigen.

## Bearbeiten Sie einen SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters"></a>

1. Wählen Sie im Hauptbereich der SageMaker HyperPod Konsole unter **Cluster** den Cluster aus, den Sie aktualisieren möchten.

1. Wählen Sie Ihren Cluster aus und klicken Sie auf **Bearbeiten**.

1. Auf der Seite ** <your-cluster> bearbeiten** können Sie die Konfigurationen bestehender Instance-Gruppen bearbeiten, weitere Instance-Gruppen hinzufügen, Instance-Gruppen löschen und Tags für den Cluster ändern. Nachdem Sie die Änderungen vorgenommen haben, wählen Sie **Absenden** aus. 

   1. Im Abschnitt **Instance-Gruppen konfigurieren** können Sie weitere Instance-Gruppen hinzufügen, indem Sie **Instance-Gruppe erstellen** auswählen.

   1. Im Abschnitt **Instance-Gruppen konfigurieren** können Sie **Bearbeiten** auswählen, um die Konfiguration zu ändern, oder **Löschen**, um die Instance-Gruppe dauerhaft zu entfernen.
**Wichtig**  
Berücksichtigen Sie beim Löschen einer Instance-Gruppe die folgenden Punkte:  
Ihr SageMaker HyperPod Cluster muss immer mindestens eine Instanzgruppe verwalten.
Stellen Sie sicher, dass alle wichtigen Daten gesichert sind, bevor Sie sie entfernen.
Die Entfernung kann nicht rückgängig gemacht werden.
**Anmerkung**  
Durch das Löschen einer Instance-Gruppe werden alle mit dieser Gruppe verknüpften Rechenressourcen beendet.

   1. Im Abschnitt **Tags** können Sie die Tags für den Cluster aktualisieren.

## Löschen Sie einen SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster"></a>

1. Wählen Sie im Hauptbereich der SageMaker HyperPod Konsole unter **Cluster** den Cluster aus, den Sie löschen möchten.

1. Wählen Sie Ihren Cluster aus und klicken Sie auf **Löschen**.

1. Überprüfen Sie im Popup-Fenster für das Löschen von Clustern die Clusterinformationen sorgfältig, um sicherzustellen, dass Sie den richtigen Cluster zum Löschen ausgewählt haben.

1. Nachdem Sie die Clusterinformationen überprüft haben, wählen Sie **Ja, Cluster löschen** aus.

1. Geben Sie im Textfeld zur Bestätigung dieser Löschung **delete** ein.

1. Wählen Sie in der unteren rechten Ecke des Popup-Fensters **Löschen** aus, um das Senden der Anfrage zum Löschen des Clusters abzuschließen.

# Verwaltung von SageMaker HyperPod Slurm-Clustern mit dem AWS CLI
<a name="sagemaker-hyperpod-operate-slurm-cli-command"></a>

Die folgenden Themen enthalten Anleitungen zum Schreiben von SageMaker HyperPod API-Anforderungsdateien im JSON-Format und zum Ausführen dieser Dateien mithilfe der AWS CLI Befehle.

**Topics**
+ [Erstellen eines neuen Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-create-cluster)
+ [Beschreiben eines Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster)
+ [Listet die Details der Clusterknoten auf](#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes)
+ [Beschreiben der Details eines Cluster-Knotens](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster-node)
+ [Auflisten von Clustern](#sagemaker-hyperpod-operate-slurm-cli-command-list-clusters)
+ [Aktualisieren der Clusterkonfiguration](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster)
+ [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software)
+ [Herunterskalieren eines Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-scale-down)
+ [Einen Cluster löschen](#sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster)

## Erstellen eines neuen Clusters
<a name="sagemaker-hyperpod-operate-slurm-cli-command-create-cluster"></a>

1. Bereiten Sie Skripte zur Lebenszykluskonfiguration vor und laden Sie sie in einen S3-Bucket hoch, z. B. `s3://sagemaker-amzn-s3-demo-bucket/lifecycle-script-directory/src/`. Im folgenden Schritt 2 wird davon ausgegangen, dass sich im angegebenen S3-Bucket ein Einstiegspunktskript namens `on_create.sh` befindet.
**Wichtig**  
Legen Sie den S3-Pfad so fest, dass er mit `s3://sagemaker-` beginnt. An [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) ist die verwaltete [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) angefügt, wodurch der Zugriff auf S3-Buckets mit dem spezifischen Präfix `sagemaker-` ermöglicht wird.

1. Bereiten Sie eine [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)API-Anforderungsdatei im JSON-Format vor. Sie sollten Instance-Gruppen so konfigurieren, dass sie mit dem Slurm-Cluster übereinstimmen, den Sie in der `provisioning_parameters.json`-Datei entwerfen, die während der Clustererstellung als Teil der Ausführung einer Reihe von Lebenszyklusskripten verwendet wird. Weitere Informationen hierzu finden Sie unter [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md). Die folgende Vorlage enthält zwei Instance-Gruppen, um die Mindestanforderungen für einen Slurm-Cluster zu erfüllen: einen Controller-Knoten (Head) und einen Rechenknoten (Worker). Geben Sie für `ExecutionRole` den ARN der IAM-Rolle an, die Sie mit der verwalteten `AmazonSageMakerClusterInstanceRolePolicy` aus Abschnitt [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) erstellt haben.

   ```
   // create_cluster.json
   {
       "ClusterName": "your-hyperpod-cluster",
       "InstanceGroups": [
           {
               "InstanceGroupName": "controller-group",
               "InstanceType": "ml.m5.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
               // Optional: Configure an additional storage per instance group.
               "InstanceStorageConfigs": [
                   {
                      // Attach an additional EBS volume to each instance within the instance group.
                      // The default mount path for the additional EBS volume is /opt/sagemaker.
                      "EbsVolumeConfig":{
                         // Specify an integer between 1 and 16384 in gigabytes (GB).
                         "VolumeSizeInGB": integer,
                      }
                   }
               ]
           }, 
           {
               "InstanceGroupName": "worker-group-1",
               "InstanceType": "ml.p4d.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster"
           }
       ],
       // Optional
       "Tags": [ 
           { 
              "Key": "string",
              "Value": "string"
           }
       ],
       // Optional
       "VpcConfig": { 
           "SecurityGroupIds": [ "string" ],
           "Subnets": [ "string" ]
       }
   }
   ```

   Je nachdem, wie Sie die Clusterstruktur mithilfe Ihrer Lebenszyklusskripte entwerfen, können Sie bis zu 20 Instance-Gruppen unter dem `InstanceGroups`-Parameter konfigurieren.

   Für den `Tags` Anforderungsparameter können Sie benutzerdefinierte Tags hinzufügen, um den SageMaker HyperPod Cluster als AWS Ressource zu verwalten. Sie können Ihrem Cluster auf die gleiche Weise Tags hinzufügen, wie Sie sie in anderen AWS Diensten hinzufügen, die Tagging unterstützen. Weitere Informationen zum Taggen von AWS Ressourcen im Allgemeinen finden Sie im [Tagging AWS Resources User Guide](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

   Geben Sie für den `VpcConfig`-Anforderungsparameter die Informationen einer VPC an, die Sie verwenden möchten. Weitere Informationen finden Sie unter [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc).

1. Führen Sie den Befehl [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) aus, um den Cluster zu erstellen.

   ```
   aws sagemaker create-cluster \
       --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Dies sollte den ARN des neuen Clusters zurückgeben.

## Beschreiben eines Clusters
<a name="sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster"></a>

Führen Sie [describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html) aus, um den Status des Clusters zu prüfen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker describe-cluster --cluster-name your-hyperpod-cluster
```

Nachdem der Status des Clusters auf **InService** geändert wurde, fahren Sie mit dem nächsten Schritt fort. Mit dieser API können Sie auch Fehlermeldungen aus anderen HyperPod API-Vorgängen abrufen.

## Listet die Details der Clusterknoten auf
<a name="sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes"></a>

Führen Sie aus [list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html), um die wichtigsten Informationen der Clusterknoten zu überprüfen.

```
aws sagemaker list-cluster-nodes --cluster-name your-hyperpod-cluster
```

Dies gibt eine Antwort zurück und Ihre Cluster-Benutzer benötigen `InstanceId` für die Protokollierung (Verwendung von `aws ssm`) in ihnen.

## Beschreiben der Details eines Cluster-Knotens
<a name="sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster-node"></a>

Ausführen [describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html), um Details eines Clusterknotens abzurufen. Sie können die Clusterknoten-ID aus der list-cluster-nodes Ausgabe abrufen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker describe-cluster-node \
    --cluster-name your-hyperpod-cluster \
    --node-id i-111222333444555aa
```

## Auflisten von Clustern
<a name="sagemaker-hyperpod-operate-slurm-cli-command-list-clusters"></a>

Führen Sie [list-clusters](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html) aus, um alle Cluster in Ihrem Konto aufzulisten.

```
aws sagemaker list-clusters
```

Sie können auch zusätzliche Flags hinzufügen, um die Liste der Cluster zu filtern. Weitere Informationen darüber, wie dieser Befehl auf niedriger Ebene ausgeführt wird, und weitere Flags zum Filtern finden Sie in der [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html)API-Referenz.

## Aktualisieren der Clusterkonfiguration
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster"></a>

Führen Sie [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) aus, um die Konfiguration eines Clusters zu aktualisieren.

**Anmerkung**  
Sie können die `UpdateCluster` API verwenden, um ganze Instanzgruppen aus Ihrem SageMaker HyperPod Cluster zu verkleinern oder sie zu entfernen. Weitere Anweisungen zum Herunterskalieren oder Löschen von Instance-Gruppen finden Sie unter [Herunterskalieren eines Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-scale-down).

1. Erstellen Sie eine `UpdateCluster`-Anforderungsdatei im JSON-Format. Stellen Sie sicher, dass Sie den richtigen Clusternamen und Instance-Gruppennamen für die Aktualisierung angeben. Sie können den Instance-Typ, die Anzahl der Instances, das Einstiegspunktskript für die Lebenszykluskonfiguration und den Pfad zum Skript ändern.

   1. Geben Sie für `ClusterName` den Namen des Clusters an, den Sie aktualisieren möchten.

   1. Für `InstanceGroupName`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, geben Sie den Namen der Instance-Gruppe an, die Sie aktualisieren möchten.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie einen neuen Namen an, der in Ihrem Cluster nicht vorhanden ist.

   1. Für `InstanceType`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, müssen Sie den Instance-Typ, den Sie ursprünglich angegeben haben, der Gruppe zuordnen.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie einen Instance-Typ an, mit dem Sie die Gruppe konfigurieren möchten.

   1. Für `InstanceCount`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, geben Sie eine Ganzzahl an, die der gewünschten Anzahl von Instances entspricht. Sie können einen höheren oder niedrigeren Wert (bis 0) angeben, um die Instance-Gruppe herauf- oder herunterskalieren.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie eine Ganzzahl größer oder gleich 1 an. 

   1. Für `LifeCycleConfig` können Sie die Werte `SourceS3Uri` und `OnCreate` ändern, wenn Sie die Instance-Gruppe aktualisieren möchten.

   1. Für `ExecutionRole`

      1. Verwenden Sie zum Aktualisieren einer vorhandenen Instance-Gruppe weiterhin dieselbe IAM-Rolle, die Sie bei der Clustererstellung zugewiesen haben.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie eine IAM-Rolle an, die Sie anfügen möchten.

   1. Für `ThreadsPerCore`

      1. Verwenden Sie zum Aktualisieren einer vorhandenen Instance-Gruppe weiterhin denselben Wert, den Sie bei der Clustererstellung zugewiesen haben.

      1. Um eine neue Instance-Gruppe hinzuzufügen, können Sie einen beliebigen Wert aus den zulässigen Optionen pro Instance-Typ auswählen. Weitere Informationen finden Sie unter dem Instance-Typ und in der Spalte **Gültige Threads pro Kern** in der Referenztabelle unter [CPU-Kerne und Threads pro CPU-Kern pro Instance-Typ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) im *Benutzerhandbuch für Amazon EC2*.

   Der folgende Codeausschnitt ist eine JSON-Anforderungsdateivorlage, die Sie verwenden können. Weitere Informationen zur Anforderungssyntax und zu den Parametern dieser API finden Sie in der [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API-Referenz.

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "name-of-cluster-to-update",
       // Required
       "InstanceGroups": [
           {
               "InstanceGroupName": "name-of-instance-group-to-update",
               "InstanceType": "ml.m5.xlarge",
               "InstanceCount": 1,
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
                   "OnCreate": "on_create.sh"
               },
               "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
               // Optional: Configure an additional storage per instance group.
               "InstanceStorageConfigs": [
                   {
                      // Attach an additional EBS volume to each instance within the instance group.
                      // The default mount path for the additional EBS volume is /opt/sagemaker.
                      "EbsVolumeConfig":{
                         // Specify an integer between 1 and 16384 in gigabytes (GB).
                         "VolumeSizeInGB": integer,
                      }
                   }
               ]
           },
           // add more blocks of instance groups as needed
           { ... }
       ]
   }
   ```

1. Führen Sie den folgenden `update-cluster`-Befehl aus, um die Anfrage einzureichen. 

   ```
   aws sagemaker update-cluster \
       --cli-input-json file://complete/path/to/update_cluster.json
   ```

## Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software"></a>

Führen Sie aus [update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html), um vorhandene Cluster mit Software und Sicherheitspatches zu aktualisieren, die vom SageMaker HyperPod Dienst bereitgestellt werden. Für `--cluster-name` geben Sie entweder den Namen oder den ARN des zu aktualisierenden Clusters an.

**Wichtig**  
Vor der Ausführung dieser API müssen Sie eine Sicherungskopie Ihrer Arbeit erstellen. Der Patching-Prozess ersetzt das Root-Volume durch das aktualisierte AMI, was bedeutet, dass Ihre zuvor im Root-Volume der Instance gespeicherten Daten verloren gehen. Stellen Sie sicher, dass Sie Ihre Daten vom Instance-Root-Volume auf Amazon S3 oder Amazon FSx for Lustre sichern. Weitere Informationen finden Sie unter [Verwenden Sie das Backup-Skript von SageMaker HyperPod](#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).

```
aws sagemaker update-cluster-software --cluster-name your-hyperpod-cluster
```

Dieser Befehl ruft die [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API auf. SageMaker HyperPod Prüft nach dem API-Aufruf, ob ein neueres DLAMI für die Clusterinstanzen verfügbar ist. Wenn ein DLAMI-Update erforderlich ist, SageMaker HyperPod werden die Cluster-Instances so aktualisiert, dass sie die neuesten Versionen verwenden, [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) und Ihre Lifecycle-Skripte in dem Amazon S3 S3-Bucket ausführen, den Sie bei der Cluster-Erstellung oder -Aktualisierung angegeben haben. Wenn der Cluster bereits das neueste DLAMI verwendet, nimmt er keine Änderungen am Cluster vor und SageMaker HyperPod führt die Lebenszyklusskripts nicht erneut aus. Das SageMaker HyperPod Serviceteam bringt regelmäßig neue [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) Funktionen zur Erhöhung der Sicherheit und Verbesserung der Benutzererfahrung auf den Markt. Wir empfehlen Ihnen, immer auf die neueste Version von SageMaker HyperPod DLAMI zu aktualisieren. Für future SageMaker HyperPod DLAMI-Updates für Sicherheitspatches folgen Sie bitte. [SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md)

**Tipp**  
Wenn der Sicherheitspatch fehlschlägt, können Sie Fehlermeldungen abrufen, indem Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)-API wie unter [Beschreiben eines Clusters](#sagemaker-hyperpod-operate-slurm-cli-command-describe-cluster) beschrieben ausführen.

**Anmerkung**  
Sie können diese API nur programmgesteuert ausführen. Die Patching-Funktionalität ist nicht in der Benutzeroberfläche der Konsole implementiert. SageMaker HyperPod 

### Verwenden Sie das Backup-Skript von SageMaker HyperPod
<a name="sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup"></a>

SageMaker HyperPod bietet ein Skript zum Sichern und Wiederherstellen Ihrer Daten [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/patching-backup.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/patching-backup.sh)im *Awsome Distributed Training GitHub Repository*. Das Skript stellt die folgenden zwei Funktionen zur Verfügung.

**So sichern Sie Daten vor dem Patchen in einem S3-Bucket**

```
sudo bash patching-backup.sh --create <s3-buckup-bucket-path>
```

Nachdem Sie den Befehl ausgeführt haben, überprüft das Skript `squeue`, ob sich Aufträge in der Warteschlange befinden, beendet Slurm, wenn dies nicht der Fall ist, erstellt ein Backup von `mariadb` und kopiert lokale Elemente auf die unter `LOCAL_ITEMS` definierte Festplatte. Sie können weitere Dateien und Verzeichnisse zu `LOCAL_ITEMS` hinzufügen.

```
# Define files and directories to back up.
LOCAL_ITEMS=(
    "/var/spool/slurmd"
    "/var/spool/slurmctld"
    "/etc/systemd/system/slurmctld.service"
    "/home/ubuntu/backup_slurm_acct_db.sql"
    # ... Add more items as needed
)
```

Sie können dem bereitgestellten Skript auch benutzerdefinierten Code hinzufügen, um alle Anwendungen für Ihren Anwendungsfall zu sichern.

**So stellen Sie Daten nach dem Patchen aus einem S3-Bucket wieder her**

```
sudo bash patching-backup.sh --restore <s3-buckup-bucket-path>
```

## Herunterskalieren eines Clusters
<a name="sagemaker-hyperpod-operate-slurm-cli-command-scale-down"></a>

Sie können die Anzahl der Instanzen reduzieren oder Instanzgruppen in Ihrem SageMaker HyperPod Cluster löschen, um die Ressourcenzuweisung zu optimieren oder die Kosten zu senken.

Sie skalieren die Instance-Gruppe entweder mithilfe der `UpdateCluster`-API-Operation herunter, um Instances aus Ihrer Instance-Gruppe nach dem Zufallsprinzip bis auf eine bestimmte Anzahl zu reduzieren, oder indem Sie bestimmte Instances mithilfe der `BatchDeleteClusterNodes`-API-Operation beenden. Mithilfe der `UpdateCluster`-API können Sie auch ganze Instance-Gruppen vollständig entfernen. Weitere Informationen zum Herunterskalieren diesen Methoden finden Sie unter [Einen SageMaker HyperPod Cluster herunterskalieren](smcluster-scale-down.md).

**Anmerkung**  
Sie können keine Instances entfernen, die als Slurm-Controller-Knoten konfiguriert sind. Der Versuch, einen Slurm-Controller-Knoten zu löschen, führt zu einem Validierungsfehler mit dem Fehlercode `NODE_ID_IN_USE`.

## Einen Cluster löschen
<a name="sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster"></a>

Führen Sie [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html) aus, um einen Cluster zu löschen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker delete-cluster --cluster-name your-hyperpod-cluster
```

# Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm"></a>

SageMaker HyperPod bietet up-and-running Always-Compute-Cluster, die in hohem Maße anpassbar sind, da Sie Lebenszyklus-Skripte schreiben können, die angeben, SageMaker HyperPod wie die Cluster-Ressourcen eingerichtet werden. Die folgenden Themen enthalten bewährte Methoden für die Vorbereitung von Lebenszyklusskripten für die Einrichtung von SageMaker HyperPod Clustern mit Open-Source-Workload-Manager-Tools.

In den folgenden Themen werden ausführliche bewährte Methoden für die Vorbereitung von Lifecycle-Skripten für die Einrichtung von Slurm-Konfigurationen erörtert. SageMaker HyperPod

## Allgemeine Übersicht
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-highlevel-overview"></a>

Das folgende Verfahren ist der Hauptablauf für die Bereitstellung eines HyperPod Clusters und dessen Einrichtung mit Slurm. Die Schritte werden dabei ***von unten nach oben*** angeordnet.

1. Planen Sie, wie Sie Slurm-Knoten auf einem Cluster erstellen möchten. HyperPod Wenn Sie beispielsweise zwei Slurm-Knoten konfigurieren möchten, müssen Sie zwei Instanzgruppen in einem HyperPod Cluster einrichten.

1. Bereiten Sie die Slurm-Konfiguration vor. Wählen Sie einen der folgenden Ansätze:
   + **Option A: API-gesteuerte Konfiguration (empfohlen)** — Definieren Sie Slurm-Knotentypen und -partitionen direkt in der `CreateCluster` API-Payload und verwenden Sie sie `SlurmConfig` innerhalb jeder Instanzgruppe. Mit diesem Ansatz:
     + Es wird keine `provisioning_parameters.json` Datei benötigt
     + Die Slurm-Topologie ist in der API-Nutzlast zusammen mit den Definitionen der Instanzgruppen definiert
     + FSx Dateisysteme werden konfiguriert über per-instance-group `InstanceStorageConfigs`
     + Die Konfigurationsstrategie wird gesteuert über `Orchestrator.Slurm.SlurmConfigStrategy`

     Beispiel `SlurmConfig` in einer Instanzgruppe:

     ```
     {
         "InstanceGroupName": "gpu-compute",
         "InstanceType": "ml.p4d.24xlarge",
         "InstanceCount": 8,
         "SlurmConfig": {
             "NodeType": "Compute",
             "PartitionNames": ["gpu-training"]
         }
     }
     ```
   + **Option B: Legacy-Konfiguration** — Bereiten Sie eine `provisioning_parameters.json` Datei vor, bei der es sich um eine[Konfigurationsformular für provisioning\$1parameters.json](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-provisioning-forms-slurm). `provisioning_parameters.json`sollte Informationen zur Konfiguration des Slurm-Knotens enthalten, der HyperPod auf dem Cluster bereitgestellt werden soll. Dies sollte das Design der Slurm-Knotens aus Schritt 1 widerspiegeln.

1. Bereiten Sie eine Reihe von Lifecycle-Skripten vor, auf denen Slurm eingerichtet werden HyperPod soll, um Softwarepakete zu installieren und eine Umgebung im Cluster für Ihren Anwendungsfall einzurichten. Sie sollten die Lebenszyklusskripte so strukturieren, dass sie gemeinsam in einem zentralen Python-Skript (`lifecycle_script.py`) ausgeführt werden, und ein Einstiegspunkt-Shell-Skript (`on_create.sh`) schreiben, um das Python-Skript auszuführen. Das Entrypoint-Shell-Skript müssen Sie später in Schritt 5 für eine Anfrage zur HyperPod Clustererstellung bereitstellen. 

   Beachten Sie außerdem, dass Sie beim Schreiben der Skripts davon ausgehen sollten`resource_config.json`, dass sie HyperPod bei der Clustererstellung generiert werden. `resource_config.json`enthält HyperPod Cluster-Ressourceninformationen wie IP-Adressen, Instanztypen und, und ist genau das ARNs, was Sie für die Konfiguration von Slurm verwenden müssen.

1. Sammeln Sie alle Dateien aus den vorherigen Schritten in einem Ordner. Die Ordnerstruktur hängt vom Konfigurationsansatz ab, den Sie in Schritt 2 ausgewählt haben.

   Wenn Sie Option A (API-gesteuerte Konfiguration) ausgewählt haben:

   Ihr Ordner benötigt nur Lebenszyklusskripts für benutzerdefinierte Einrichtungsaufgaben. Die Konfiguration und FSx das Mounten von Slurm werden automatisch auf der HyperPod Grundlage der API-Payload durchgeführt.

   ```
   └── lifecycle_files // your local folder
   
       ├── on_create.sh
       ├── lifecycle_script.py
       └── ... // more setup scripts to be fed into lifecycle_script.py
   ```
**Anmerkung**  
Die `provisioning_parameters.json` Datei ist bei Verwendung einer API-gesteuerten Konfiguration nicht erforderlich.

   Wenn Sie Option B (Legacy-Konfiguration) ausgewählt haben:

   Ihr Ordner muss den vollständigen Satz von Lebenszyklus-Skripten enthalten`provisioning_parameters.json`.

   ```
   └── lifecycle_files // your local folder
   
       ├── provisioning_parameters.json
       ├── on_create.sh
       ├── lifecycle_script.py
       └── ... // more setup scrips to be fed into lifecycle_script.py
   ```

1. Laden Sie alle Dateien in einen S3-Bucket hoch. Kopieren Sie den S3-Bucket-Pfad und behalten Sie ihn. Beachten Sie, dass Sie einen S3-Bucket-Pfad erstellen sollten, der mit `sagemaker-` beginnt, da Sie eine [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) auswählen müssen, an die [`AmazonSageMakerClusterInstanceRolePolicy`](security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy.md) angefügt ist, wodurch nur S3-Bucket-Pfade zulässig sind, die mit dem Präfix `sagemaker-` beginnen. Der folgende Befehl ist ein Beispielbefehl zum Hochladen aller Dateien in einen S3-Bucket.

   ```
   aws s3 cp --recursive ./lifecycle_files s3://sagemaker-hyperpod-lifecycle/src
   ```

1. Bereiten Sie eine Anfrage zur HyperPod Clustererstellung vor. 
   + Option 1: Wenn Sie die verwenden AWS CLI, schreiben Sie eine Anfrage zur Clustererstellung im JSON-Format (`create_cluster.json`) gemäß den Anweisungen unter[Erstellen eines neuen Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-create-cluster).
   + Option 2: Wenn Sie die Benutzeroberfläche der SageMaker AI-Konsole verwenden, füllen Sie das Formular „**Clusteranfrage erstellen**“ in der Benutzeroberfläche der HyperPod Konsole aus. Folgen Sie dabei den Anweisungen unter[Erstellen Sie einen SageMaker HyperPod Cluster](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-create-cluster).

   Stellen Sie in dieser Phase sicher, dass Sie Instance-Gruppen in derselben Struktur erstellen, die Sie in Schritt 1 und 2 geplant haben. Achten Sie außerdem darauf, dass Sie den S3-Bucket aus Schritt 5 in den Anforderungsformularen angeben.

1. Reichen Sie die Anfrage zur Clustererstellung ein. HyperPod stellt auf der Grundlage der Anfrage einen Cluster bereit, erstellt dann eine `resource_config.json` Datei in den HyperPod Cluster-Instanzen und richtet Slurm auf dem Cluster ein, auf dem die Lifecycle-Skripten ausgeführt werden.

Die folgenden Themen führen Sie durch die einzelnen Schritte und gehen detailliert darauf ein, wie Sie Konfigurationsdateien und Lebenszyklusskripte so organisieren, dass sie bei der HyperPod Clustererstellung ordnungsgemäß funktionieren.

**Topics**
+ [Allgemeine Übersicht](#sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-highlevel-overview)
+ [Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md)
+ [Welche speziellen Konfigurationen werden in Slurm-Konfigurationsdateien verwaltet HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-what-hyperpod-overrides-in-slurm-conf.md)
+ [Rotationen im Slurm-Protokoll](sagemaker-hyperpod-slurm-log-rotation.md)
+ [Einbinden von Amazon FSx for Lustre und Amazon FSx for OpenZFS in einem Cluster HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-setup-with-fsx.md)
+ [Validierung der JSON-Konfigurationsdateien vor der Erstellung eines Slurm-Clusters auf HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-validate-json-files.md)
+ [Validierung der Laufzeit vor der Ausführung von Produktionsworkloads auf einem Slurm-Cluster HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-validate-runtime.md)
+ [Interaktive Entwicklung von Lebenszyklus-Skripten auf einem Clusterknoten HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-develop-lifecycle-scripts.md)

# Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config"></a>

In diesem Abschnitt werden Sie von oben nach ***unten durch alle Komponenten des grundlegenden Ablaufs der Einrichtung von Slurm geführt***. HyperPod Es beginnt mit der Vorbereitung einer Anfrage zur HyperPod Clustererstellung zur Ausführung der `CreateCluster` API und taucht tief in die hierarchische Struktur ein, bis hin zu Lebenszyklus-Skripten. Verwenden Sie die Beispiel-Lebenszyklus-Skripte, die im [Awsome Distributed Training GitHub ](https://github.com/aws-samples/awsome-distributed-training/) Repository bereitgestellt werden. Klonen Sie das Repository, indem Sie den folgenden Befehl ausführen.

```
git clone https://github.com/aws-samples/awsome-distributed-training/
```

Die grundlegenden Lebenszyklus-Skripte für die Einrichtung eines Slurm-Clusters SageMaker HyperPod finden Sie unter. [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config)

```
cd awsome-distributed-training/1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config
```

Das folgende Flussdiagramm zeigt eine detaillierte Übersicht darüber, wie Sie die Basis-Lebenszyklusskripte gestalten sollten. In den Beschreibungen unter dem Diagramm und dem Verfahrensleitfaden wird erklärt, wie sie während des HyperPod `CreateCluster` API-Aufrufs funktionieren.

![\[Ein detailliertes Flussdiagramm der HyperPod Clustererstellung und der Struktur von Lebenszyklusskripten.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-lifecycle-structure.png)


***Abbildung:** Ein detailliertes Flussdiagramm der HyperPod Clustererstellung und der Struktur von Lebenszyklusskripten. (1) Die gestrichelten Pfeile zeigen in die Richtung, in die die Kästen „aufgerufen“ werden, und veranschaulichen den Ablauf der Vorbereitung von Konfigurationsdateien und Lebenszyklusskripten. Der erste Schritt besteht in der Vorbereitung von `provisioning_parameters.json` und den Lebenszyklusskripten. Diese werden dann für eine gemeinsame Ausführung in der richtigen Reihenfolge in `lifecycle_script.py` codiert. Und die Ausführung des `lifecycle_script.py` Skripts erfolgt durch das `on_create.sh` Shell-Skript, das im HyperPod Instanzterminal ausgeführt werden soll. (2) Die durchgezogenen Pfeile zeigen den Hauptablauf bei der HyperPod Clustererstellung und wie die Boxen „aufgerufen“ oder „eingereicht“ werden. `on_create.sh`ist für die Anfrage zur Clustererstellung erforderlich, entweder im Formular zur **Clustererstellung `create_cluster.json` oder im Formular zur Clustererstellung** in der Benutzeroberfläche der Konsole. Nachdem Sie die Anfrage eingereicht haben, HyperPod wird die `CreateCluster` API auf der Grundlage der angegebenen Konfigurationsinformationen aus der Anfrage und den Lebenszyklusskripts ausgeführt. (3) Der gepunktete Pfeil weist darauf hin, dass die HyperPod Plattform während der Bereitstellung von Clusterressourcen Instances `resource_config.json` in den Clustern erstellt. `resource_config.json`enthält HyperPod Clusterressourceninformationen wie den Cluster-ARN, Instanztypen und IP-Adressen. Es ist wichtig zu beachten, dass Sie die Lebenszyklusskripte so vorbereiten sollten, dass sie die `resource_config.json`-Datei während der Clustererstellung erwarten. Weitere Informationen finden Sie in der folgenden Verfahrensanleitung.*

In der folgenden Anleitung wird erklärt, was bei der HyperPod Clustererstellung passiert und wie die grundlegenden Lebenszyklusskripts entworfen werden.

1. `create_cluster.json`— Um eine Anfrage zur HyperPod Clustererstellung einzureichen, bereiten Sie eine `CreateCluster` Anforderungsdatei im JSON-Format vor. In diesem Beispiel für bewährte Methoden gehen wir davon aus, dass die Anforderungsdatei `create_cluster.json` heißt. Schreiben Sie`create_cluster.json`, um einen HyperPod Cluster mit Instanzgruppen bereitzustellen. Es hat sich bewährt, die gleiche Anzahl von Instanzgruppen hinzuzufügen wie die Anzahl der Slurm-Knoten, die Sie auf dem HyperPod Cluster konfigurieren möchten. Stellen Sie sicher, dass Sie den Instance-Gruppen, die Sie den Slurm-Knoten zuweisen möchten, eindeutige Namen geben.

   Außerdem müssen Sie einen S3-Bucket-Pfad angeben, um Ihren gesamten Satz an Konfigurationsdateien und Lebenszyklusskripten im Feldnamen `InstanceGroups.LifeCycleConfig.SourceS3Uri` im `CreateCluster`-Anforderungsformular zu speichern, und den Dateinamen eines Einstiegspunkt-Shell-Skripts (angenommen, es heißt `on_create.sh`) als `InstanceGroups.LifeCycleConfig.OnCreate` angeben.
**Anmerkung**  
Wenn Sie das Formular „**Cluster erstellen**“ in der Benutzeroberfläche der HyperPod Konsole verwenden, verwaltet die Konsole das Ausfüllen und Senden der `CreateCluster` Anfrage in Ihrem Namen und führt die `CreateCluster` API im Backend aus. In diesem Fall müssen Sie `create_cluster.json` nicht erstellen. Achten Sie stattdessen darauf, dass Sie die richtigen Informationen zur Cluster-Konfiguration in das zu übermittelnde Formular **Cluster erstellen** eingeben.

1. `on_create.sh`— Für jede Instanzgruppe müssen Sie ein Einstiegs-Shell-Skript bereitstellen, um Befehle auszuführen`on_create.sh`, Skripte zur Installation von Softwarepaketen auszuführen und die HyperPod Clusterumgebung mit Slurm einzurichten. Die beiden Dinge, die Sie vorbereiten müssen, sind ein `provisioning_parameters.json` erforderliches HyperPod für die Einrichtung von Slurm und eine Reihe von Lifecycle-Skripten für die Installation von Softwarepaketen. Dieses Skript sollte so geschrieben werden, dass es die folgenden Dateien findet und ausführt, wie im Beispielskript unter [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/on_create.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/on_create.sh) gezeigt.
**Anmerkung**  
Stellen Sie sicher, dass Sie den gesamten Satz von Lebenszyklusskripten an den in den S3-Speicherort hochladen, den Sie in `create_cluster.json` angeben. Sie sollten Ihre `provisioning_parameters.json` auch an demselben Speicherort speichern.

   1. `provisioning_parameters.json`— Das ist ein[Konfigurationsformular für provisioning\$1parameters.json](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-provisioning-forms-slurm). Das `on_create.sh`-Skript findet diese JSON-Datei und definiert eine Umgebungsvariable, um den Pfad zu ihr zu identifizieren. Über diese JSON-Datei können Sie Slurm-Knoten und Speicheroptionen wie Amazon FSx for Lustre for Slurm für die Kommunikation konfigurieren. Stellen Sie sicher`provisioning_parameters.json`, dass Sie die HyperPod Cluster-Instanzgruppen mit den Namen, die Sie angegeben haben, den Slurm-Knoten entsprechend zuweisen, je nachdem, wie Sie sie einrichten möchten. `create_cluster.json`

      Das folgende Diagramm zeigt ein Beispiel dafür, wie die beiden JSON-Konfigurationsdateien `create_cluster.json` geschrieben werden `provisioning_parameters.json` sollten, um den HyperPod Slurm-Knoten Instanzgruppen zuzuweisen. In diesem Beispiel gehen wir von der Einrichtung von drei Slurm-Knoten aus: Controller-Knoten (Verwaltung), Anmeldeknoten (optional) und Rechenknoten (Worker).
**Tipp**  
Um Ihnen bei der Validierung dieser beiden JSON-Dateien zu helfen, stellt das HyperPod Serviceteam ein Validierungsskript zur Verfügung. [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/validate-config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/validate-config.py) Weitere Informationen hierzu finden Sie unter [Validierung der JSON-Konfigurationsdateien vor der Erstellung eines Slurm-Clusters auf HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-validate-json-files.md).  
![\[Direkter Vergleich zwischen .json-Dateien.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-lifecycle-slurm-config.png)

      ***Abbildung:** Direkter Vergleich zwischen `create_cluster.json` der HyperPod Clustererstellung und `provisiong_params.json` der Slurm-Konfiguration. Die Anzahl der Instance-Gruppen in `create_cluster.json` sollte der Anzahl der Knoten entsprechen, die Sie als Slurm-Knoten konfigurieren möchten. Im Fall des Beispiels in der Abbildung werden drei Slurm-Knoten auf einem HyperPod Cluster aus drei Instanzgruppen konfiguriert. Sie sollten die HyperPod Cluster-Instanzgruppen den Slurm-Knoten zuweisen, indem Sie die Namen der Instanzgruppen entsprechend angeben.*

   1. `resource_config.json`— Während der Clustererstellung wird das `lifecycle_script.py` Skript so geschrieben, dass es eine `resource_config.json` Datei von HyperPod erwartet. Diese Datei enthält Informationen über den Cluster, z. B. Instance-Typen und IP-Adressen.

      Wenn Sie die `CreateCluster` API ausführen, HyperPod erstellt es eine Ressourcenkonfigurationsdatei unter, die auf der `create_cluster.json` Datei `/opt/ml/config/resource_config.json` basiert. Der Dateipfad wird in der Umgebungsvariablen namens `SAGEMAKER_RESOURCE_CONFIG_PATH` gespeichert. 
**Wichtig**  
Die `resource_config.json` Datei wird automatisch von der HyperPod Plattform generiert und Sie müssen sie NICHT erstellen. Der folgende Code zeigt ein Beispiel für `resource_config.json`, die aus der Clustererstellung basierend auf `create_cluster.json` im vorherigen Schritt erstellt würde, und soll Ihnen helfen zu verstehen, was im Backend geschieht und wie eine automatisch generierte `resource_config.json` aussehen würde.

      ```
      {
      
          "ClusterConfig": {
              "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/abcde01234yz",
              "ClusterName": "your-hyperpod-cluster"
          },
          "InstanceGroups": [
              {
                  "Name": "controller-machine",
                  "InstanceType": "ml.c5.xlarge",
                  "Instances": [
                      {
                          "InstanceName": "controller-machine-1",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      }
                  ]
              },
              {
                  "Name": "login-group",
                  "InstanceType": "ml.m5.xlarge",
                  "Instances": [
                      {
                          "InstanceName": "login-group-1",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      }
                  ]
              },
              {
                  "Name": "compute-nodes",
                  "InstanceType": "ml.trn1.32xlarge",
                  "Instances": [
                      {
                          "InstanceName": "compute-nodes-1",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      },
                      {
                          "InstanceName": "compute-nodes-2",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      },
                      {
                          "InstanceName": "compute-nodes-3",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      },
                      {
                          "InstanceName": "compute-nodes-4",
                          "AgentIpAddress": "111.222.333.444",
                          "CustomerIpAddress": "111.222.333.444",
                          "InstanceId": "i-12345abcedfg67890"
                      }
                  ]
              }
          ]
      }
      ```

   1. `lifecycle_script.py`— Dies ist das wichtigste Python-Skript, das gemeinsam Lifecycle-Skripte ausführt, die Slurm auf dem HyperPod Cluster einrichten, während es bereitgestellt wird. Dieses Skript liest in `provisioning_parameters.json` und `resource_config.json` aus den in `on_create.sh` angegebenen oder identifizierten Pfaden, übergibt die relevanten Informationen an jedes Lebenszyklusskript und führt dann die Lebenszyklusskripte der Reihe nach aus.

      Lebenszyklusskripte sind eine Reihe von Skripten, die Sie vollständig flexibel anpassen können, um Softwarepakete zu installieren und während der Clustererstellung notwendige oder benutzerdefinierte Konfigurationen vorzunehmen, z. B. Slurm einrichten, Benutzer anlegen, Conda oder Docker installieren. Das [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py)Beispielskript ist darauf vorbereitet, andere grundlegende Lebenszyklusskripte im Repository auszuführen, z. B. Slurm deamons ([https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/start_slurm.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/start_slurm.sh)) zu starten, Amazon FSx for Lustre () zu mounten und MariaDB-Buchhaltung ([https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/mount_fsx.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/mount_fsx.sh)) und RDS-Buchhaltung ([https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/setup_mariadb_accounting.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/setup_mariadb_accounting.sh)) einzurichten. [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/setup_rds_accounting.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/setup_rds_accounting.sh) Sie können auch weitere Skripte hinzufügen, sie in dasselbe Verzeichnis packen und Codezeilen hinzufügen, um die Skripte ausführen zu `lifecycle_script.py` lassen. HyperPod Weitere Informationen zu den grundlegenden Lebenszyklus-Skripten finden Sie auch unter [3.1 Lifecycle-Skripten](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod#31-lifecycle-scripts) im *Awsome Distributed Training GitHub Repository*.
**Anmerkung**  
HyperPod läuft [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) auf jeder Instanz eines Clusters, und das AMI verfügt über vorinstallierte Softwarepakete, die Kompatibilitäten zwischen ihnen und Funktionen erfüllen. HyperPod Beachten Sie, dass Sie bei der Neuinstallation eines der vorinstallierten Pakete für die Installation kompatibler Pakete verantwortlich sind und beachten Sie, dass einige HyperPod Funktionen möglicherweise nicht wie erwartet funktionieren.

      Zusätzlich zu den Standardeinstellungen sind weitere Skripte zur Installation der folgenden Software im [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils)-Ordner verfügbar. Die `lifecycle_script.py`-Datei enthält bereits Codezeilen zum Ausführen der Installationsskripte. Suchen Sie diese Zeilen anhand der folgenden Angaben und entfernen Sie die Kommentare, um sie zu aktivieren.

      1. Die folgenden Codezeilen beziehen sich auf die Installation von [Docker](https://www.docker.com/), [Enroot](https://github.com/NVIDIA/enroot) und [Pyxis](https://github.com/NVIDIA/pyxis). Diese Pakete sind erforderlich, um Docker-Container auf einem Slurm-Cluster auszuführen. 

         Um diesen Installationsschritt zu aktivieren, legen Sie den `enable_docker_enroot_pyxis`-Parameter in der [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py)-Datei auf `True` fest.

         ```
         # Install Docker/Enroot/Pyxis
         if Config.enable_docker_enroot_pyxis:
             ExecuteBashScript("./utils/install_docker.sh").run()
             ExecuteBashScript("./utils/install_enroot_pyxis.sh").run(node_type)
         ```

      1. Sie können Ihren HyperPod Cluster mit [Amazon Managed Service for Prometheus und Amazon Managed](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) [Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) integrieren, um Metriken über den HyperPod Cluster und die Clusterknoten in Amazon Managed Grafana-Dashboards zu exportieren. Um Metriken zu exportieren und das [Slurm-Dashboard](https://grafana.com/grafana/dashboards/4323-slurm-dashboard/), das [Dashboard von NVIDIA DCGM Exporter](https://grafana.com/grafana/dashboards/12239-nvidia-dcgm-exporter-dashboard/) und das [EFA-Metrics-Dashboard](https://grafana.com/grafana/dashboards/20579-efa-metrics-dev/) auf Amazon Managed Grafana zu verwenden, müssen Sie den [Slurm-Exporter für Prometheus](https://github.com/vpenso/prometheus-slurm-exporter), den [NVIDIA-DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter) und den [EFA-Knoten-Exporter](https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation_and_observability/3.efa-node-exporter/README.md) installieren. Weitere Informationen zur Installation der Exportpakete und zur Verwendung von Grafana-Dashboards in einem Workspace von Amazon Managed Grafana finden Sie unter [SageMaker HyperPod Überwachung der Cluster-Ressourcen](sagemaker-hyperpod-cluster-observability-slurm.md). 

         Um diesen Installationsschritt zu aktivieren, legen Sie den `enable_observability`-Parameter in der [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py)-Datei auf `True` fest.

         ```
         # Install metric exporting software and Prometheus for observability
         
         if Config.enable_observability:
             if node_type == SlurmNodeType.COMPUTE_NODE:
                 ExecuteBashScript("./utils/install_docker.sh").run()
                 ExecuteBashScript("./utils/install_dcgm_exporter.sh").run()
                 ExecuteBashScript("./utils/install_efa_node_exporter.sh").run()
             
             if node_type == SlurmNodeType.HEAD_NODE:
                 wait_for_scontrol()
                 ExecuteBashScript("./utils/install_docker.sh").run()
                 ExecuteBashScript("./utils/install_slurm_exporter.sh").run()
                 ExecuteBashScript("./utils/install_prometheus.sh").run()
         ```

1. Stellen Sie sicher, dass Sie alle Konfigurationsdateien und Einrichtungsskripte aus **Schritt 2** in den S3-Bucket hochladen, den Sie in der `CreateCluster`-Anforderung in **Schritt 1** angegeben haben. Nehmen wir beispielsweise an, dass Ihre `create_cluster.json` Folgendes enthält.

   ```
   "LifeCycleConfig": { 
   
       "SourceS3URI": "s3://sagemaker-hyperpod-lifecycle/src",
       "OnCreate": "on_create.sh"
   }
   ```

   Dann sollte ihr `on_create.sh`, `lifecycle_script.py`, `provisioning_parameters.json` und alle anderen Einrichtungsskripte enthalten. Angenommen, Sie haben die Dateien wie folgt in einem lokalen Ordner vorbereitet.

   ```
   └── lifecycle_files // your local folder
       ├── provisioning_parameters.json
       ├── on_create.sh
       ├── lifecycle_script.py
       └── ... // more setup scrips to be fed into lifecycle_script.py
   ```

   Verwenden Sie den S3-Befehl wie folgt, um die Dateien hochzuladen.

   ```
   aws s3 cp --recursive ./lifecycle_scripts s3://sagemaker-hyperpod-lifecycle/src
   ```

# Welche speziellen Konfigurationen werden in Slurm-Konfigurationsdateien verwaltet HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-what-hyperpod-overrides-in-slurm-conf"></a>

Wenn Sie einen Slurm-Cluster erstellen HyperPod, richtet der HyperPod Agent die [https://slurm.schedmd.com/gres.conf.html](https://slurm.schedmd.com/gres.conf.html)Dateien [https://slurm.schedmd.com/slurm.conf.html](https://slurm.schedmd.com/slurm.conf.html)und die Dateien unter ein, `/opt/slurm/etc/` um den Slurm-Cluster auf der Grundlage Ihrer Anfrage zur Clustererstellung und Ihrer HyperPod Lebenszyklusskripte zu verwalten. Die folgende Liste zeigt, welche spezifischen Parameter der HyperPod Agent verarbeitet und überschreibt. 

**Wichtig**  
Es wird dringend empfohlen, diese von HyperPod verwalteten Parameter **nicht** zu ändern.
+ [https://slurm.schedmd.com/slurm.conf.html](https://slurm.schedmd.com/slurm.conf.html)In HyperPod richtet die folgenden grundlegenden Parameter ein: `ClusterName``SlurmctldHost`,`PartitionName`, und`NodeName`.

  Um die [Automatische Knotenwiederherstellung und automatische Wiederaufnahme](sagemaker-hyperpod-resiliency-slurm-auto-resume.md) Funktionalität zu aktivieren, HyperPod müssen außerdem die `SchedulerParameters` Parameter `TaskPlugin` und wie folgt festgelegt werden. Der HyperPod Agent richtet diese beiden Parameter standardmäßig mit den erforderlichen Werten ein.

  ```
  TaskPlugin=task/none
  SchedulerParameters=permit_job_expansion
  ```
+ In [https://slurm.schedmd.com/gres.conf.html](https://slurm.schedmd.com/gres.conf.html), HyperPod verwaltet `NodeName` für GPU-Knoten.

# Rotationen im Slurm-Protokoll
<a name="sagemaker-hyperpod-slurm-log-rotation"></a>

SageMaker HyperPod bietet automatische Protokollrotation für Slurm-Daemon-Logs, um die Speicherplatznutzung zu verwalten und die Systemleistung aufrechtzuerhalten. Die Rotation von Protokollen ist entscheidend, um zu verhindern, dass Protokolle übermäßig viel Speicherplatz beanspruchen, und um einen optimalen Systembetrieb sicherzustellen, indem alte Protokolldateien automatisch archiviert und entfernt werden, während die aktuellen Protokollierungsinformationen beibehalten werden. Slurm-Protokollrotationen sind standardmäßig aktiviert, wenn Sie einen Cluster erstellen.

## Wie funktioniert die Log-Rotation
<a name="sagemaker-hyperpod-slurm-log-rotation-how-it-works"></a>

Wenn diese Option aktiviert ist, gilt für die Konfiguration der Protokollrotation Folgendes:
+ Überwacht alle Slurm-Protokolldateien mit der Erweiterung, die `.log` sich im `/var/log/slurm/` Ordner auf den Controller-, Anmelde- und Rechenknoten befinden.
+ Dreht die Protokolle, wenn sie eine Größe von 50 MB erreichen.
+ Behält bis zu zwei rotierte Protokolldateien bei, bevor sie gelöscht werden.
+ Sendet nach der Rotation SIGUSR2 ein Signal an die Slurm-Daemons (`slurmctld``slurmd`, und`slurmdbd`).

## Liste der rotierten Protokolldateien
<a name="sagemaker-hyperpod-slurm-log-rotation-log-files-list"></a>

Slurm-Logs befinden sich im `/var/log/slurm/` Verzeichnis. Die Protokollrotation ist für alle `/var/log/slurm/*.log` übereinstimmenden Dateien aktiviert. Wenn eine Rotation stattfindet, haben rotierte Dateien numerische Suffixe (z. B.`slurmd.log.1`). Die folgende Liste erhebt keinen Anspruch auf Vollständigkeit, zeigt jedoch einige der kritischen Protokolldateien, die automatisch rotieren:
+ `/var/log/slurm/slurmctld.log`
+ `/var/log/slurm/slurmd.log`
+ `/var/log/slurm/slurmdb.log`
+ `/var/log/slurm/slurmrestd.log`

## Aktivieren oder deaktivieren Sie die Protokollrotation
<a name="sagemaker-hyperpod-slurm-log-rotation-enable-disable"></a>

Sie können die Funktion zur Protokollrotation mithilfe des `enable_slurm_log_rotation` Parameters im `config.py` Skript der Lifecycle-Skripten Ihres Clusters steuern, wie im folgenden Beispiel gezeigt:

```
class Config:
    # Set false if you want to disable log rotation of Slurm daemon logs
    enable_slurm_log_rotation = True  # Default value
```

Um die Log-Rotation zu deaktivieren, setzen Sie den Parameter auf`False`, wie im folgenden Beispiel gezeigt:

```
enable_slurm_log_rotation = False
```

**Anmerkung**  
Lifecycle-Skripten werden während der Clustererstellung auf allen Slurm-Knoten (Controller-, Anmelde- und Rechenknoten) ausgeführt. Sie werden auch auf neuen Knoten ausgeführt, wenn sie dem Cluster hinzugefügt werden. Die Aktualisierung der Protokollrotationskonfigurationen muss nach der Clustererstellung manuell erfolgen. Die Konfiguration der Protokollrotation ist in gespeichert`/etc/logrotate.d/sagemaker-hyperpod-slurm`. Wir empfehlen, die Protokollrotation aktiviert zu lassen, um zu verhindern, dass Protokolldateien übermäßig viel Speicherplatz beanspruchen. Um die Protokollrotation zu deaktivieren, löschen Sie die `sagemaker-hyperpod-slurm` Datei oder kommentieren Sie ihren Inhalt, indem Sie `#` am Anfang jeder Zeile in der `sagemaker-hyperpod-slurm` Datei etwas hinzufügen.

## Standardeinstellungen für die Protokollrotation
<a name="sagemaker-hyperpod-slurm-log-rotation-default-settings"></a>

Die folgenden Einstellungen werden automatisch für jede rotierte Protokolldatei konfiguriert:


| Einstellung | Wert | Description | 
| --- | --- | --- | 
| rotate | 2 | Anzahl der rotierten Protokolldateien, die aufbewahrt werden sollen | 
| size | 50 MB | Maximale Größe vor der Rotation | 
| copytruncate | aktiviert | Kopiert und kürzt die ursprüngliche Protokolldatei | 
| compress | disabled | Rotierte Protokolle werden nicht komprimiert | 
| missingok | aktiviert | Kein Fehler, wenn die Protokolldatei fehlt | 
| notifempty | aktiviert | Rotiert keine leeren Dateien | 
| noolddir | aktiviert | Rotierte Dateien bleiben im selben Verzeichnis | 

# Einbinden von Amazon FSx for Lustre und Amazon FSx for OpenZFS in einem Cluster HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-setup-with-fsx"></a>

Um ein gemeinsam genutztes Amazon FSx for Lustre-Dateisystem in Ihren HyperPod Cluster einzubinden, richten Sie Folgendes ein.

1. Verwenden Sie Ihre Amazon-VPC. 

   1. Damit HyperPod Cluster-Instances innerhalb Ihrer VPC kommunizieren können, stellen Sie sicher, dass Sie die der [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc) IAM-Rolle für zuordnen. SageMaker HyperPod 

   1. Fügen Sie in `create_cluster.json` die folgenden VPC-Informationen ein.

      ```
      "VpcConfig": { 
          "SecurityGroupIds": [ "string" ],
          "Subnets": [ "string" ]
      }
      ```

      Weitere Tipps zur Einrichtung von Amazon VPC finden Sie unter [Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md).

1. Um die Konfiguration von Slurm mit Amazon FSx for Lustre abzuschließen, können Sie einen der folgenden Ansätze verwenden. Sie finden die FSx Amazon-Informationen entweder in der Amazon FSx for Lustre-Konsole in Ihrem Konto oder indem Sie den folgenden AWS CLI Befehl ausführen:. `aws fsx describe-file-systems`

   **Option A: API-gesteuerte Konfiguration (empfohlen)**

   Geben Sie die FSx Amazon-Konfiguration direkt in der CreateCluster API-Nutzlast an und verwenden Sie sie `InstanceStorageConfigs` innerhalb jeder Instanzgruppe. Dieser Ansatz unterstützt sowohl FSx Lustre als auch OpenZFS und FSx ermöglicht die Konfiguration. per-instance-group FSx 

   ```
   "InstanceStorageConfigs": [
       {
           "FsxLustreConfig": {
               "DnsName": "fs-12345678a90b01cde.fsx.us-west-2.amazonaws.com",
               "MountPath": "/fsx",
               "MountName": "1abcdefg"
           }
       }
   ]
   ```

   Verwenden Sie FSx für OpenZFS stattdessen: `FsxOpenZfsConfig`

   ```
   "InstanceStorageConfigs": [
       {
           "FsxOpenZfsConfig": {
               "DnsName": "fs-12345678a90b01cde.fsx.us-west-2.amazonaws.com",
               "MountPath": "/fsx-openzfs"
           }
       }
   ]
   ```

   Weitere Informationen finden Sie unter [Erste Schritte mit der SageMaker HyperPod Verwendung der AWS CLI](sagemaker-hyperpod-quickstart.md).

   **Option B: Legacy-Konfiguration**

   Geben Sie den FSx Amazon-DNS-Namen und den FSx Amazon-Mount-Namen an, `provisioning_parameters.json` wie in der Abbildung im [Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) Abschnitt gezeigt.

   ```
   "fsx_dns_name": "fs-12345678a90b01cde.fsx.us-west-2.amazonaws.com",
   "fsx_mountname": "1abcdefg"
   ```

# Validierung der JSON-Konfigurationsdateien vor der Erstellung eines Slurm-Clusters auf HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-validate-json-files"></a>

Verwenden Sie das Konfigurationsvalidierungsskript [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/validate-config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/validate-config.py), um die JSON-Konfigurationsdateien zu validieren, bevor Sie ein Anforderung zur Clustererstellung übermitteln. Dieses Skript analysiert und vergleicht Ihre HyperPod Cluster-Konfigurations-JSON-Datei und die Slurm-Konfigurations-JSON-Datei und ermittelt, ob zwischen den beiden Dateien und auch zwischen Amazon EC2-, Amazon VPC- und Amazon-Ressourcen eine Fehlkonfiguration der Ressourcen vorliegt. FSx Um beispielsweise die Dateien `provisioning_parameters.json` und `create_cluster.json` aus dem [Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md)-Abschnitt zu validieren, führen Sie das Validierungsskript wie folgt aus.

```
python3 validate-config.py --cluster-config create_cluster.json --provisioning-parameters provisioning_parameters.json
```

Im Folgenden finden Sie eine Beispielausgabe für eine erfolgreiche Validierung.

```
✔️  Validated instance group name worker-group-1 is correct ...

✔️  Validated subnet subnet-012345abcdef67890 ...
✔️  Validated security group sg-012345abcdef67890 ingress rules ...
✔️  Validated security group sg-012345abcdef67890 egress rules ...
✔️  Validated FSx Lustre DNS name fs-012345abcdef67890.fsx.us-east-1.amazonaws.com
✔️  Validated FSx Lustre mount name abcdefgh
✅ Cluster Validation succeeded
```

# Validierung der Laufzeit vor der Ausführung von Produktionsworkloads auf einem Slurm-Cluster HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-validate-runtime"></a>

Verwenden Sie das Runtime-Validierungsskript, um die Laufzeit zu überprüfen HyperPod, bevor Sie Produktions-Workloads auf einem Slurm-Cluster ausführen. [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/hyperpod-precheck.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/hyperpod-precheck.py) Dieses Skript prüft, ob auf dem Slurm-Cluster alle Pakete für die Ausführung von Docker installiert sind, ob der Cluster über ein ordnungsgemäß FSx für Lustre gemountetes Dateisystem und ein Benutzerverzeichnis verfügt, das das Dateisystem gemeinsam nutzt, und ob der Slurm-Daemon auf allen Rechenknoten läuft.

Um das Skript auf mehreren Knoten gleichzeitig auszuführen, verwenden Sie `srun`, wie im folgenden Beispielbefehl zum Ausführen des Skripts auf einem Slurm-Cluster mit 8 Knoten gezeigt.

```
# The following command runs on 8 nodes
srun -N 8 python3 hyperpod-precheck.py
```

**Anmerkung**  
Weitere Informationen zum Validierungsskript, z. B. zu den Funktionen zur Laufzeitvalidierung, die das Skript bietet, und Richtlinien zur Lösung von Problemen, die die Validierungen nicht bestehen, finden Sie unter [Laufzeitvalidierung vor dem Ausführen von Workloads](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod#35-runtime-validation-before-running-workloads) im *Awsome Distributed GitHub Training-Repository*.

# Interaktive Entwicklung von Lebenszyklus-Skripten auf einem Clusterknoten HyperPod
<a name="sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-develop-lifecycle-scripts"></a>

In diesem Abschnitt wird erklärt, wie Sie interaktiv Lebenszyklusskripts entwickeln können, ohne wiederholt einen HyperPod Cluster erstellen und löschen zu müssen.

1. Erstellen Sie einen HyperPod Cluster mit den grundlegenden Lebenszyklusskripten.

1. Melden Sie sich bei einem Clusterknoten an.

1. Entwickeln Sie ein Skript (`configure_xyz.sh`), indem Sie es auf dem Knoten bearbeiten und wiederholt ausführen.

   1. HyperPod führt die Lebenszyklusskripts als Root-Benutzer aus. Wir empfehlen daher, dass Sie das während der Entwicklung `configure_xyz.sh` als Root-Benutzer ausführen, um sicherzustellen, dass das Skript unter derselben Bedingung getestet wird, während es von ausgeführt wird HyperPod.

1. Integrieren Sie das Skript in `lifecycle_script.py`, indem Sie eine Codezeile ähnlich der folgenden hinzufügen.

   ```
   ExecuteBashScript("./utils/configure_xyz.sh").run()
   ```

1. Laden Sie die aktualisierten Lebenszyklusskripte in den S3-Bucket hoch, den Sie ursprünglich für das Hochladen der grundlegenden Lebenszyklusskripte verwendet haben.

1. Testen Sie die integrierte Version von, `lifecycle_script.py` indem Sie einen neuen HyperPod Cluster erstellen. Sie können auch den manuellen Instanzersatz verwenden, um die aktualisierten Lebenszyklusskripts zu testen, indem Sie neue Instanzen erstellen. Eine ausführliche Anleitung finden Sie unter [Manuelles Ersetzen eines Knotens](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance.html#sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-replace). Beachten Sie, dass nur Worker-Knoten austauschbar sind.

# SageMaker HyperPod Unterstützung für Multi-Head-Knoten
<a name="sagemaker-hyperpod-multihead-slurm"></a>

Sie können mehrere Controller-Knoten (Head) in einem einzigen SageMaker HyperPod Slurm-Cluster erstellen, wobei einer als primärer Controller-Knoten und die anderen als Backup-Controller-Knoten dienen. Der primäre Controller-Knoten ist für die Steuerung der Rechenknoten (Worker-Knoten) und die Verarbeitung der Slurm-Operationen zuständig. Die Backup-Controller-Knoten überwachen den primären Controller-Knoten konstant. Wenn der primäre Controller-Knoten ausfällt oder nicht mehr reagiert, übernimmt einer der Backup-Controller-Knoten automatisch die Position des neuen primären Controller-Knotens.

Die Konfiguration mehrerer Controller-Knoten in SageMaker HyperPod Slurm-Clustern bietet mehrere wichtige Vorteile. Sie eliminiert das Risiko eines Ausfalls eines einzelnen Controller-Knotens durch die Bereitstellung von Controller-Hauptknoten, ermöglicht ein automatisches Failover auf Backup-Controller-Knoten mit schnellerer Wiederherstellung und ermöglicht Ihnen die unabhängige Verwaltung Ihrer eigenen Buchhaltungsdatenbanken und Slurm-Konfiguration.

## Die wichtigsten Konzepte
<a name="sagemaker-hyperpod-multihead-slurm-concepts"></a>

Im Folgenden finden Sie Einzelheiten zu den Konzepten im Zusammenhang mit der Unterstützung SageMaker HyperPod mehrerer Controller- (Kopf-) Knoten für Slurm-Cluster.

**Controller-Knoten**

Ein Controller-Knoten ist eine Amazon-EC2-Instance innerhalb eines Clusters, auf der wichtige Slurm-Services zur Verwaltung und Koordination der Cluster-Operationen ausgeführt werden. Insbesondere hostet er den [Slurm-Controller-Daemon (slurmctld)](https://slurm.schedmd.com/slurmctld.html) und den [Slurm-Datenbank-Daemon (slurmdbd)](https://slurm.schedmd.com/slurmdbd.html). Ein Controller-Knoten wird auch als Hauptknoten bezeichnet.

**Primärer Controller-Knoten**

Ein primärer Controller-Knoten ist der aktive und aktuell steuernde Controller-Knoten in einem Slurm-Cluster. Es wird von Slurm als primärer Controller-Knoten identifiziert, der für die Verwaltung des Clusters verantwortlich ist. Der primäre Controller-Knoten empfängt und führt Befehle von Benutzern aus, um Ressourcen auf den Rechenknoten für die Ausführung von Aufträgen zu steuern und zuzuweisen.

**Backup-Controller-Knoten**

Ein Backup-Controller-Knoten ist ein inaktiver und Standby-Controller-Knoten in einem Slurm-Cluster. Er wird von Slurm als Backup-Controller-Knoten identifiziert, der den Cluster derzeit nicht verwaltet. Auf dem Backup-Controller-Knoten wird der [Slurm-Controller-Daemon (slurmctld](https://slurm.schedmd.com/slurmctld.html)) im Standby-Modus ausgeführt. Alle Controller-Befehle, die auf den Backup-Controller-Knoten ausgeführt werden, werden zur Ausführung an den primären Controller-Knoten weitergegeben. Sein Hauptzweck besteht darin, den primären Controller-Knoten kontinuierlich zu überwachen und dessen Aufgaben zu übernehmen, wenn der primäre Controller-Knoten ausfällt oder nicht mehr reagiert.

**Rechenknoten**

Ein Rechenknoten ist eine Amazon-EC2-Instance innerhalb eines Clusters, der den [Slurm-Worker-Daemon (slurmd)](https://slurm.schedmd.com/slurmd.html) hostet. Die Hauptfunktion des Datenverarbeitungsknotens besteht darin, Aufträge auszuführen, die vom [Slurm-Controller-Daemon (slurmctld)](https://slurm.schedmd.com/slurmctld.html) zugewiesen werden, der auf dem primären Controller-Knoten ausgeführt wird. Wenn ein Auftrag geplant wird, erhält der Rechenknoten Anweisungen vom [Slurm-Controller-Daemon (slurmctld)](https://slurm.schedmd.com/slurmctld.html), um die für diesen Auftrag erforderlichen Aufgaben und Berechnungen innerhalb des Knotens selbst auszuführen. Ein Rechenknoten wird auch als Worker-Node bezeichnet.

## Funktionsweise
<a name="sagemaker-hyperpod-multihead-slurm-how"></a>

Das folgende Diagramm zeigt, wie verschiedene AWS Dienste zusammenarbeiten, um die Architektur mit mehreren Controller-Nodes (Head) für SageMaker HyperPod Slurm-Cluster zu unterstützen.

![\[SageMaker HyperPod Architekturdiagramm für Knoten mit mehreren Köpfen\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-multihead-architecture.png)


Zu den AWS Diensten, die zusammenarbeiten, um die Architektur mit SageMaker HyperPod mehreren Controller-Knoten (Hauptknoten) zu unterstützen, gehören die folgenden.


**AWS Dienste, die zusammenarbeiten, um die Architektur mit SageMaker HyperPod mehreren Controller-Knoten zu unterstützen**  

| Service | Description | 
| --- | --- | 
| ICH BIN ()AWS Identity and Access Management | Definiert zwei IAM-Rollen zur Steuerung der Zugriffsberechtigungen: eine Rolle für die Instance-Gruppe des Rechenknotens und eine weitere für die Instance-Gruppe des Controller-Knotens. | 
| Amazon RDS für MariaDB | Speichert Buchhaltungsdaten für Slurm, das Auftragsaufzeichnungen und Messdaten enthält. | 
| AWS Secrets Manager | Speichert und verwaltet Anmeldeinformationen, auf die Amazon FSx for Lustre zugreifen kann. | 
| Amazon FSx für Lustre  | Speichert Slurm-Konfigurationen und den Laufzeitstatus. | 
| Amazon VPC | Stellt eine isolierte Netzwerkumgebung bereit, in der der HyperPod Cluster und seine Ressourcen bereitgestellt werden. | 
| Amazon SNS  | Sendet Benachrichtigungen an Administratoren, wenn Statusänderungen (Slurm-Controller ist ON oder OFF) in Bezug auf den primären Controller-Knoten (Hauptknoten) auftreten. | 

Der HyperPod Cluster selbst besteht aus Controller-Knoten (primär und Backup) und Rechenknoten. Auf den Controller-Knoten laufen die Slurm-Controller- (SlurmCtld) und Datenbankkomponenten (SlurmDBd), die die Arbeitslast auf den Rechenknoten verwalten und überwachen.

Die Controller-Knoten greifen auf Slurm-Konfigurationen und den Laufzeitstatus zu, die im Amazon FSx for Lustre-Dateisystem gespeichert sind. Die Slurm-Buchhaltungsdaten werden in der Amazon RDS for MariaDB MariaDB-Datenbank gespeichert. AWS Secrets Manager bietet sicheren Zugriff auf die Datenbankanmeldedaten für die Controller-Knoten.

Wenn sich der Status der Slurm-Controller-Knoten ändert (Slurm-Controller ist `ON` oder `OFF`), sendet Amazon SNS Benachrichtigungen an den Administrator, damit dieser weitere Maßnahmen ergreifen kann.

Diese Architektur mit mehreren Controller-Knoten beseitigt den Single Point of Failure eines einzelnen Controller-Knotens (Hauptknotens), ermöglicht eine schnelle und automatische Failover-Wiederherstellung und gibt Ihnen die Kontrolle über die Slurm-Buchhaltungsdatenbank und -Konfigurationen.

# Einrichtung mehrerer Controller-Knoten für einen SageMaker HyperPod Slurm-Cluster
<a name="sagemaker-hyperpod-multihead-slurm-setup"></a>

In diesem Thema wird erklärt, wie Sie mehrere Controller-Knoten (Head) in einem SageMaker HyperPod Slurm-Cluster mithilfe von Lifecycle-Skripten konfigurieren. Bevor Sie beginnen, überprüfen Sie die in [Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md) aufgeführten Voraussetzungen und machen Sie sich mit den Lebenszyklusskripten in [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md) vertraut. Die Anweisungen in diesem Thema verwenden AWS CLI Befehle in der Amazon Linux-Umgebung. Beachten Sie, dass die in diesen Befehlen verwendeten Umgebungsvariablen in der aktuellen Sitzung verfügbar sind, sofern sie nicht explizit beibehalten werden.

**Topics**
+ [Bereitstellung von Ressourcen mithilfe von Stacks CloudFormation](sagemaker-hyperpod-multihead-slurm-cfn.md)
+ [Erstellen und Anfügen einer IAM-Richtlinie](sagemaker-hyperpod-multihead-slurm-iam.md)
+ [Vorbereiten und Hochladen von Lebenszyklusskripten](sagemaker-hyperpod-multihead-slurm-scripts.md)
+ [Einen SageMaker HyperPod Cluster erstellen](sagemaker-hyperpod-multihead-slurm-create.md)
+ [Berücksichtigung wichtiger Hinweise](sagemaker-hyperpod-multihead-slurm-notes.md)
+ [Überprüfen der Referenz zu Umgebungsvariablen](sagemaker-hyperpod-multihead-slurm-variables-reference.md)

# Bereitstellung von Ressourcen mithilfe von Stacks CloudFormation
<a name="sagemaker-hyperpod-multihead-slurm-cfn"></a>

Um mehrere Controller-Knoten in einem HyperPod Slurm-Cluster einzurichten, stellen Sie AWS Ressourcen über zwei CloudFormation Stacks bereit: und. [Bereitstellen von grundlegenden Ressourcen](#sagemaker-hyperpod-multihead-slurm-cfn-basic) [Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten](#sagemaker-hyperpod-multihead-slurm-cfn-multihead)

## Bereitstellen von grundlegenden Ressourcen
<a name="sagemaker-hyperpod-multihead-slurm-cfn-basic"></a>

Gehen Sie wie folgt vor, um grundlegende Ressourcen für Ihren Amazon SageMaker HyperPod Slurm-Cluster bereitzustellen.

1. Laden Sie die Vorlagendatei [sagemaker-hyperpod.yaml](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/sagemaker-hyperpod.yaml) auf Ihren Computer herunter. Diese YAML-Datei ist eine CloudFormation Vorlage, die die folgenden Ressourcen definiert, die Sie für Ihren Slurm-Cluster erstellen müssen.
   + Eine Ausführungs-IAM-Rolle für die Rechenknoten-Instance-Gruppe
   + Ein Amazon-S3-Bucket zum Speichern der Lebenszyklusskripte
   + Öffentliche und private Subnetze (private Subnetze haben Internetzugang über NAT-Gateways)
   + Internet-Gateways Gateway/NAT 
   + Zwei Amazon-EC2-Sicherheitsgruppen
   + Ein FSx Amazon-Volume zum Speichern von Konfigurationsdateien

1. Führen Sie den folgenden CLI-Befehl aus, um einen CloudFormation Stack mit dem Namen zu erstellen`sagemaker-hyperpod`. Definieren Sie die Availability Zone (AZ) IDs für Ihren Cluster in `PrimarySubnetAZ` und`BackupSubnetAZ`. *use1-az4*Ist beispielsweise eine AZ-ID für eine Availability Zone in der `us-east-1` Region. Weitere Informationen finden Sie unter [Availability Zone IDs](https://docs.aws.amazon.com//ram/latest/userguide/working-with-az-ids.html) und[Einrichtung von Clustern über mehrere SageMaker HyperPod AZs](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-multiple-availability-zones).

   ```
   aws cloudformation deploy \
   --template-file /path_to_template/sagemaker-hyperpod.yaml \
   --stack-name sagemaker-hyperpod \
   --parameter-overrides PrimarySubnetAZ=use1-az4 BackupSubnetAZ=use1-az1 \
   --capabilities CAPABILITY_IAM
   ```

   Weitere Informationen finden Sie in der AWS Command Line Interface Referenz unter [Bereitstellen](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/deploy/). Die Erstellung des Stacks kann einige Minuten in Anspruch nehmen. Wenn der Vorgang abgeschlossen ist, wird in Ihrer Befehlszeilenschnittstelle Folgendes angezeigt.

   ```
   Waiting for changeset to be created..
   Waiting for stack create/update to complete
   Successfully created/updated stack - sagemaker-hyperpod
   ```

1. (Optional) Überprüfen Sie den Stack in der [CloudFormation -Konsole](https://console.aws.amazon.com/cloudformation/home).
   + Wählen Sie im linken Navigationsbereich **Stack** aus.
   + Suchen Sie auf der **Stack**-Seite nach **sagemaker-hyperpod** und wählen Sie es aus.
   + Wählen Sie die Registerkarten wie **Ressourcen** und **Ergebnisse** aus, um die Ressourcen und Ergebnisse zu überprüfen.

1. Erstellen Sie Umgebungsvariablen aus den Stack-Ausgaben (`sagemaker-hyperpod`). Sie verwenden die Werte dieser Variablen, um [Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten](#sagemaker-hyperpod-multihead-slurm-cfn-multihead).

   ```
   source .env
   PRIMARY_SUBNET=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`PrimaryPrivateSubnet`].OutputValue' --output text)
   BACKUP_SUBNET=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`BackupPrivateSubnet`].OutputValue' --output text)
   EMAIL=$(bash -c 'read -p "INPUT YOUR SNSSubEmailAddress HERE: " && echo $REPLY')
   DB_USER_NAME=$(bash -c 'read -p "INPUT YOUR DB_USER_NAME HERE: " && echo $REPLY')
   SECURITY_GROUP=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`SecurityGroup`].OutputValue' --output text)
   ROOT_BUCKET_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`AmazonS3BucketName`].OutputValue' --output text)
   SLURM_FSX_DNS_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`FSxLustreFilesystemDNSname`].OutputValue' --output text)
   SLURM_FSX_MOUNT_NAME=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`FSxLustreFilesystemMountname`].OutputValue' --output text)
   COMPUTE_NODE_ROLE=$(aws --region $REGION cloudformation describe-stacks --stack-name $SAGEMAKER_STACK_NAME --query 'Stacks[0].Outputs[?OutputKey==`AmazonSagemakerClusterExecutionRoleArn`].OutputValue' --output text)
   ```

   Wenn Sie aufgefordert werden, Ihre E-Mail-Adresse und Ihren Datenbankbenutzernamen einzugeben, geben Sie Werte wie die folgenden ein.

   ```
   INPUT YOUR SNSSubEmailAddress HERE: Email_address_to_receive_SNS_notifications
   INPUT YOUR DB_USER_NAME HERE: Database_user_name_you_define
   ```

   Verwenden Sie den `print $variable`-Befehl, um Variablenwerte zu überprüfen.

   ```
   print $REGION
   us-east-1
   ```

## Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten
<a name="sagemaker-hyperpod-multihead-slurm-cfn-multihead"></a>

Gehen Sie wie folgt vor, um zusätzliche Ressourcen für Ihren Amazon SageMaker HyperPod Slurm-Cluster mit mehreren Controller-Knoten bereitzustellen.

1. Laden Sie die [sagemaker-hyperpod-slurm-multiVorlagendatei -headnode.yaml](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/sagemaker-hyperpod-slurm-multi-headnode.yaml) auf Ihren Computer herunter. Diese zweite YAML-Datei ist eine CloudFormation Vorlage, die die zusätzlichen Ressourcen definiert, die für die Unterstützung mehrerer Controller-Knoten in Ihrem Slurm-Cluster erstellt werden müssen.
   + Eine Ausführungs-IAM-Rolle für die Instance-Gruppe des Controller-Knotens
   + Eine Instance von Amazon RDS für MariaDB
   + Ein Amazon-SNS-Thema und -Abonnement
   + AWS Secrets Manager Anmeldeinformationen für Amazon RDS for MariaDB

1. Führen Sie den folgenden CLI-Befehl aus, um einen CloudFormation Stack mit dem Namen zu erstellen`sagemaker-hyperpod-mh`. Dieser zweite Stack verwendet die CloudFormation Vorlage, um zusätzliche AWS Ressourcen zur Unterstützung der Architektur mit mehreren Controller-Knoten zu erstellen.

   ```
   aws cloudformation deploy \
   --template-file /path_to_template/slurm-multi-headnode.yaml \
   --stack-name sagemaker-hyperpod-mh \
   --parameter-overrides \
   SlurmDBSecurityGroupId=$SECURITY_GROUP \
   SlurmDBSubnetGroupId1=$PRIMARY_SUBNET \
   SlurmDBSubnetGroupId2=$BACKUP_SUBNET \
   SNSSubEmailAddress=$EMAIL \
   SlurmDBUsername=$DB_USER_NAME \
   --capabilities CAPABILITY_NAMED_IAM
   ```

   Weitere Informationen finden Sie in der AWS Command Line Interface Referenz unter [Deploy](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/deploy/). Die Erstellung des Stacks kann einige Minuten in Anspruch nehmen. Wenn der Vorgang abgeschlossen ist, wird in Ihrer Befehlszeilenschnittstelle Folgendes angezeigt.

   ```
   Waiting for changeset to be created..
   Waiting for stack create/update to complete
   Successfully created/updated stack - sagemaker-hyperpod-mh
   ```

1. (Optional) Überprüfen Sie den Stack in der [Konsole von AWS Cloud Formation](https://console.aws.amazon.com/cloudformation/home).
   + Wählen Sie im linken Navigationsbereich **Stack** aus.
   + Suchen und wählen Sie auf der **Stack-Seite **sagemaker-hyperpod-mh****.
   + Wählen Sie die Registerkarten wie **Ressourcen** und **Ergebnisse** aus, um die Ressourcen und Ergebnisse zu überprüfen.

1. Erstellen Sie Umgebungsvariablen aus den Stack-Ausgaben (`sagemaker-hyperpod-mh`). Sie verwenden die Werte dieser Variablen, um die Konfigurationsdatei (`provisioning_parameters.json`) in [Vorbereiten und Hochladen von Lebenszyklusskripten](sagemaker-hyperpod-multihead-slurm-scripts.md) zu aktualisieren.

   ```
   source .env
   SLURM_DB_ENDPOINT_ADDRESS=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmDBEndpointAddress`].OutputValue' --output text)
   SLURM_DB_SECRET_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmDBSecretArn`].OutputValue' --output text)
   SLURM_EXECUTION_ROLE_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmExecutionRoleArn`].OutputValue' --output text)
   SLURM_SNS_FAILOVER_TOPIC_ARN=$(aws --region us-east-1 cloudformation describe-stacks --stack-name $MULTI_HEAD_SLURM_STACK --query 'Stacks[0].Outputs[?OutputKey==`SlurmFailOverSNSTopicArn`].OutputValue' --output text)
   ```

# Erstellen und Anfügen einer IAM-Richtlinie
<a name="sagemaker-hyperpod-multihead-slurm-iam"></a>

In diesem Abschnitt wird erklärt, wie Sie eine IAM-Richtlinie erstellen und sie an die Ausführungsrolle anfügen, die sie in [Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead) erstellt haben.

1. Laden Sie das [Beispiel für eine IAM-Richtlinie](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/1.AmazonSageMakerClustersExecutionRolePolicy.json) aus dem GitHub Repository auf Ihren Computer herunter.

1. Erstellen Sie eine IAM-Richtlinie mit dem heruntergeladenen Beispiel, indem Sie den CLI-Befehl [create-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/create-policy.html) verwenden.

   ```
   aws --region us-east-1 iam create-policy \
       --policy-name AmazonSagemakerExecutionPolicy \
       --policy-document file://1.AmazonSageMakerClustersExecutionRolePolicy.json
   ```

   Beispielausgabe des Befehls.

   ```
   {
       "Policy": {
           "PolicyName": "AmazonSagemakerExecutionPolicy",
           "PolicyId": "ANPAXISIWY5UYZM7WJR4W",
           "Arn": "arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "PermissionsBoundaryUsageCount": 0,
           "IsAttachable": true,
           "CreateDate": "2025-01-22T20:01:21+00:00",
           "UpdateDate": "2025-01-22T20:01:21+00:00"
       }
   }
   ```

1. Hängen Sie die Richtlinie mithilfe des [attach-role-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/attach-role-policy.html)CLI-Befehls `AmazonSagemakerExecutionPolicy` an die Slurm-Ausführungsrolle an[Bereitstellen zusätzlicher Ressourcen zur Unterstützung mehrerer Controller-Knoten](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead), in der Sie sie erstellt haben.

   ```
   aws --region us-east-1 iam attach-role-policy \
       --role-name AmazonSagemakerExecutionRole \
       --policy-arn arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy
   ```

   Dieser Befehl liefert keine Ausgabe.

   (Optional) Wenn Sie Umgebungsvariablen verwenden, finden Sie hier die Beispielbefehle.
   + So rufen Sie den Rollen- und Richtliniennamen ab 

     ```
     POLICY=$(aws --region $REGION iam list-policies --query 'Policies[?PolicyName==AmazonSagemakerExecutionPolicy].Arn' --output text)
     ROLENAME=$(aws --region $REGION iam list-roles --query "Roles[?Arn=='${SLURM_EXECUTION_ROLE_ARN}'].RoleName" —output text)
     ```
   + So fügen Sie die Richtlinie an

     ```
     aws  --region us-east-1 iam attach-role-policy \
          --role-name $ROLENAME --policy-arn $POLICY
     ```

Weitere Informationen finden Sie unter [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod).

# Vorbereiten und Hochladen von Lebenszyklusskripten
<a name="sagemaker-hyperpod-multihead-slurm-scripts"></a>

Nachdem Sie alle erforderlichen Ressourcen erstellt haben, müssen Sie [Lifecycle-Skripte](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) für Ihren SageMaker HyperPod Cluster einrichten. Diese [Lebenszyklus-Skripte](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) bieten eine [Basiskonfiguration](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config), mit der Sie einen grundlegenden HyperPod Slurm-Cluster erstellen können.

## Vorbereiten der Lebenszyklusskripte
<a name="sagemaker-hyperpod-multihead-slurm-prepare-scripts"></a>

Gehen Sie wie folgt vor, um die Lebenszyklusskripte anzurufen.

1. Laden Sie die [Lebenszyklus-Skripte](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) aus dem GitHub Repository auf Ihren Computer herunter.

1. Laden Sie die [Lebenszyklusskripte](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts) mit dem CLI-Befehl [cp](https://docs.aws.amazon.com//cli/latest/reference/s3/cp.html) in den Amazon-S3-Bucket hoch, den Sie in [Bereitstellen von grundlegenden Ressourcen](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-basic) erstellt haben.

   ```
   aws s3 cp --recursive LifeCycleScripts/base-config s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config
   ```

## Erstellen einer Konfigurationsdatei
<a name="sagemaker-hyperpod-multihead-slurm-update-config-file"></a>

Gehen Sie wie folgt vor, um die Konfigurationsdatei zu erstellen und sie in denselben Amazon-S3-Bucket hochzuladen, in dem Sie die Lebenszyklusskripte speichern.

1. Erstellen Sie eine Konfigurationsdatei namens `provisioning_parameters.json` mit der folgenden Konfiguration. Beachten Sie, dass `slurm_sns_arn` optional ist. Wenn nicht angegeben, HyperPod werden die Amazon SNS SNS-Benachrichtigungen nicht eingerichtet.

   ```
   cat <<EOF > /tmp/provisioning_parameters.json
   {
     "version": "1.0.0",
     "workload_manager": "slurm",
     "controller_group": "$CONTOLLER_IG_NAME",
     "login_group": "my-login-group",
     "worker_groups": [
       {
         "instance_group_name": "$COMPUTE_IG_NAME",
         "partition_name": "dev"
       }
     ],
     "fsx_dns_name": "$SLURM_FSX_DNS_NAME",
     "fsx_mountname": "$SLURM_FSX_MOUNT_NAME",
     "slurm_configurations": {
       "slurm_database_secret_arn": "$SLURM_DB_SECRET_ARN",
       "slurm_database_endpoint": "$SLURM_DB_ENDPOINT_ADDRESS",
       "slurm_shared_directory": "/fsx",
       "slurm_database_user": "$DB_USER_NAME",
       "slurm_sns_arn": "$SLURM_SNS_FAILOVER_TOPIC_ARN"
     }
   }
   EOF
   ```

1. Laden Sie die `provisioning_parameters.json`-Datei in denselben Amazon-S3-Bucket hoch, in dem Sie die Lebenszyklusskripte speichern.

   ```
   aws s3 cp /tmp/provisioning_parameters.json s3://${ROOT_BUCKET_NAME}/LifeCycleScripts/base-config/provisioning_parameters.json
   ```
**Anmerkung**  
Wenn Sie eine API-gesteuerte Konfiguration verwenden, ist die `provisioning_parameters.json` Datei nicht erforderlich. Bei der API-gesteuerten Konfiguration definieren Sie Slurm-Knotentypen, Partitionen und FSx Mounting direkt in der API-Nutzlast. CreateCluster Einzelheiten finden Sie unter [Erste Schritte mit](smcluster-getting-started-slurm-cli.md) der Verwendung von. SageMaker HyperPod AWS CLI

## Überprüfen von Dateien im Amazon-S3-Bucket
<a name="sagemaker-hyperpod-multihead-slurm-verify-s3"></a>

Nachdem Sie alle Lebenszyklusskripts und die `provisioning_parameters.json`-Datei hochgeladen haben, sollte Ihr Amazon-S3-Bucket wie folgt aussehen.

![\[Bild mit allen Lebenszyklusskripten, die in der Konsole von Amazon Simple Storage Service in den Amazon-S3-Bucket hochgeladen wurden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-scripts-s3.png)


Weitere Informationen finden Sie unter [Beginnen Sie mit grundlegenden Lebenszyklusskripten von HyperPod](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.html).

# Einen SageMaker HyperPod Cluster erstellen
<a name="sagemaker-hyperpod-multihead-slurm-create"></a>

Nachdem Sie alle erforderlichen Ressourcen eingerichtet und die Skripte in den Amazon-S3-Bucket hochgeladen haben, können Sie einen Cluster erstellen.

1. Führen Sie den [https://docs.aws.amazon.com//cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com//cli/latest/reference/sagemaker/create-cluster.html) AWS CLI Befehl aus, um einen Cluster zu erstellen. Der Erstellungsprozess kann bis zu 15 Minuten dauern.

   ```
   aws --region $REGION sagemaker create-cluster \
       --cluster-name $HP_CLUSTER_NAME \
       --vpc-config '{
           "SecurityGroupIds":["'$SECURITY_GROUP'"],
           "Subnets":["'$PRIMARY_SUBNET'", "'$BACKUP_SUBNET'"]
       }' \
       --instance-groups '[{                  
       "InstanceGroupName": "'$CONTOLLER_IG_NAME'",
       "InstanceType": "ml.t3.medium",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://'$BUCKET_NAME'",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "'$SLURM_EXECUTION_ROLE_ARN'",
       "ThreadsPerCore": 1
   },
   {
       "InstanceGroupName": "'$COMPUTE_IG_NAME'",          
       "InstanceType": "ml.c5.xlarge",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://'$BUCKET_NAME'",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "'$COMPUTE_NODE_ROLE'",
       "ThreadsPerCore": 1
   }]'
   ```

   Nach erfolgreicher Ausführung gibt der Befehl den Cluster-ARN wie folgt zurück.

   ```
   {
       "ClusterArn": "arn:aws:sagemaker:us-east-1:111122223333:cluster/cluster_id"
   }
   ```

1. (Optional) Um den Status Ihres Clusters zu überprüfen, können Sie die SageMaker AI-Konsole ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) verwenden. Wählen Sie in der linken Navigationsleiste **HyperPod Clusters** und anschließend **Cluster Management** aus. Wählen Sie einen Clusternamen aus, um die Cluster-Detailseite zu öffnen. Wenn Ihr Cluster erfolgreich erstellt wurde, sehen Sie, dass der Cluster-Status lautet **InService**.  
![\[Das Bild zeigt einen HyperPod Slurm-Cluster mit mehreren Controller-Knoten in der Amazon SageMaker AI-Konsole.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-multihead-cluster.png)

# Berücksichtigung wichtiger Hinweise
<a name="sagemaker-hyperpod-multihead-slurm-notes"></a>

Dieser Abschnitt enthält einige wichtige Hinweise, die für Sie hilfreich sein könnten. 

1. Gehen Sie wie folgt vor, um zu einem Slurm-Cluster mit mehreren Controllern zu migrieren.

   1. Folgen Sie den Anweisungen unter [Bereitstellung von Ressourcen mithilfe von Stacks CloudFormation](sagemaker-hyperpod-multihead-slurm-cfn.md), um alle erforderlichen Ressourcen bereitzustellen.

   1. Folgen Sie den Anweisungen unter [Vorbereiten und Hochladen von Lebenszyklusskripten](sagemaker-hyperpod-multihead-slurm-scripts.md), um die aktualisierten Lebenszyklusskripte hochzuladen. Verschieben Sie beim Aktualisieren der `provisioning_parameters.json`-Datei Ihre bestehende Controller-Gruppe in den `worker_groups`-Abschnitt und fügen Sie dem `controller_group`-Abschnitt einen neuen Controller-Gruppennamen hinzu.

   1. Führen Sie den API-Aufruf [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) aus, um eine neue Controller-Gruppe zu erstellen und die ursprünglichen Compute-Instance-Gruppen und die Controller-Gruppe beizubehalten.

1. Verwenden Sie den CLI-Befehl [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html), um die Anzahl der Controller-Knoten zu reduzieren. Für jede Controller-Instance-Gruppe beträgt die Mindestanzahl der Controller-Knoten, auf die Sie herunterskalieren können, 1. Das bedeutet, dass Sie die Anzahl der Controller-Knoten nicht auf 0 herunterskalieren können.
**Wichtig**  
Für Cluster, die vor dem 24. Januar 2025 erstellt wurden, müssen Sie zuerst Ihre Clustersoftware mithilfe der [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API aktualisieren, bevor Sie den CLI-Befehl [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) ausführen.

   Im Folgenden finden Sie ein Beispiel für einen CLI-Befehl zum Herunterskalieren der Anzahl der Controller-Knoten.

   ```
   aws sagemaker update-cluster \
       --cluster-name my_cluster \
       --instance-groups '[{                  
       "InstanceGroupName": "controller_ig_name",
       "InstanceType": "ml.t3.medium",
       "InstanceCount": 3,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://amzn-s3-demo-bucket1",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "slurm_execution_role_arn",
       "ThreadsPerCore": 1
   },
   {
       "InstanceGroupName": "compute-ig_name",       
       "InstanceType": "ml.c5.xlarge",
       "InstanceCount": 2,
       "LifeCycleConfig": {
           "SourceS3Uri": "s3://amzn-s3-demo-bucket1",
           "OnCreate": "on_create.sh"
       },
       "ExecutionRole": "compute_node_role_arn",
       "ThreadsPerCore": 1
   }]'
   ```

1. Verwenden Sie den [batch-delete-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/batch-delete-cluster-nodes.html)CLI-Befehl, um die Controller-Knoten stapelweise zu löschen. Für jede Controller-Instance-Gruppe müssen Sie mindestens einen Controller-Knoten behalten. Wenn Sie alle Controller-Knoten stapelweise löschen möchten, funktioniert die API-Operation nicht.
**Wichtig**  
Für Cluster, die vor dem 24. Januar 2025 erstellt wurden, müssen Sie zuerst Ihre Clustersoftware mithilfe der [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API aktualisieren, bevor Sie den [batch-delete-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/batch-delete-cluster-nodes.html)CLI-Befehl ausführen.

   Im Folgenden finden Sie ein Beispiel für einen CLI-Befehl, um die Controller-Knoten stapelweise zu löschen.

   ```
   aws sagemaker batch-delete-cluster-nodes --cluster-name my_cluster --node-ids instance_ids_to_delete
   ```

1. Um Ihre Probleme bei der Clustererstellung zu beheben, überprüfen Sie die Fehlermeldung auf der Seite mit den Cluster-Details in Ihrer SageMaker AI-Konsole. Sie können CloudWatch Protokolle auch verwenden, um Probleme bei der Clustererstellung zu beheben. Wählen Sie in der CloudWatch Konsole **Protokollgruppen** aus. Suchen Sie dann nach `clusters`, um die Liste der Protokollgruppen anzuzeigen, die sich auf Ihre Clustererstellung beziehen.  
![\[Bild, das SageMaker HyperPod Amazon-Cluster-Protokollgruppen in der CloudWatch Konsole zeigt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-lifecycle-multihead-logs.png)

# Überprüfen der Referenz zu Umgebungsvariablen
<a name="sagemaker-hyperpod-multihead-slurm-variables-reference"></a>

Die folgenden Umgebungsvariablen werden im Tutorial von [Einrichtung mehrerer Controller-Knoten für einen SageMaker HyperPod Slurm-Cluster](sagemaker-hyperpod-multihead-slurm-setup.md) definiert und verwendet. Diese Umgebungsvariablen sind nur in der aktuellen Sitzung verfügbar, sofern sie nicht explizit beibehalten werden. Sie werden mit der `$variable_name`-Syntax definiert. Variablen mit key/value Paaren stehen für AWS von ihnen erstellte Ressourcen, während Variablen ohne Schlüssel benutzerdefiniert sind.


**Referenz zu Umgebungsvariablen**  

| Variable | Description | 
| --- | --- | 
| \$1BACKUP\$1SUBNET |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1COMPUTE\$1IG\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1COMPUTE\$1NODE\$1ROLE |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1CONTOLLER\$1IG\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1DB\$1USER\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1EMAIL |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1PRIMARY\$1SUBNET |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1POLICY |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1REGION |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1ROOT\$1BUCKET\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SECURITY\$1GROUP |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1DB\$1ENDPOINT\$1ADDRESS |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1DB\$1SECRET\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1EXECUTION\$1ROLE\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1FSX\$1DNS\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1FSX\$1MOUNT\$1NAME |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 
| \$1SLURM\$1SNS\$1FAILOVER\$1TOPIC\$1ARN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-multihead-slurm-variables-reference.html)  | 

# Jobs auf Clustern SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm"></a>

Die folgenden Themen enthalten Verfahren und Beispiele für den Zugriff auf Rechenknoten und die Ausführung von ML-Workloads auf bereitgestellten SageMaker HyperPod Clustern. Je nachdem, wie Sie die Umgebung auf Ihrem HyperPod Cluster eingerichtet haben, gibt es viele Möglichkeiten, ML-Workloads auf Clustern auszuführen. HyperPod Beispiele für die Ausführung von ML-Workloads auf HyperPod Clustern finden Sie auch im [Awsome Distributed](https://github.com/aws-samples/awsome-distributed-training/) Training Repository. GitHub In den folgenden Themen erfahren Sie, wie Sie sich bei den bereitgestellten HyperPod Clustern anmelden und wie Sie mit der Ausführung von ML-Beispielworkloads beginnen können.

**Tipp**  
[Praktische Beispiele und Lösungen finden Sie auch im SageMaker HyperPod Workshop.](https://catalog.workshops.aws/sagemaker-hyperpod)

**Topics**
+ [Zugriff auf Ihre SageMaker HyperPod Clusterknoten](sagemaker-hyperpod-run-jobs-slurm-access-nodes.md)
+ [Planung eines Slurm-Jobs auf einem Cluster SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm-schedule-slurm-job.md)
+ [Docker-Container auf einem Slurm-Rechenknoten ausführen auf HyperPod](sagemaker-hyperpod-run-jobs-slurm-docker.md)
+ [Ausführung verteilter Trainingsworkloads mit aktiviertem Slurm HyperPod](sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload.md)

# Zugriff auf Ihre SageMaker HyperPod Clusterknoten
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes"></a>

Sie können über AWS Systems Manager (SSM) auf Ihren **InService**Cluster zugreifen, indem Sie den AWS CLI Befehl `aws ssm start-session` mit dem SageMaker HyperPod Cluster-Hostnamen im Format von `sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]` ausführen. Sie können die Cluster-ID, die Instanz-ID und den Namen der Instanzgruppe von der [SageMaker HyperPod Konsole](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) aus abrufen oder indem Sie `describe-cluster` und `list-cluster-nodes` die [AWS CLI Befehle für SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes) ausführen. Wenn Ihre Cluster-ID beispielsweise `aa11bbbbb222`, der Clusterknotenname `controller-group` und die Clusterknoten-ID `i-111222333444555aa` lautet, sollte der SSM-Befehl `start-session` wie folgt lauten.

**Anmerkung**  
Wenn Sie Benutzern Zugriff auf HyperPod Clusterknoten gewähren, können sie benutzerverwaltete Software auf den Knoten installieren und ausführen. Stellen Sie sicher, dass Sie das Prinzip der geringsten Berechtigung für Benutzer beibehalten.  
Wenn Sie noch keine Einrichtung vorgenommen haben AWS Systems Manager, folgen Sie den Anweisungen unter[Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

```
$ aws ssm start-session \
    --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa \
    --region us-west-2
Starting session with SessionId: s0011223344aabbccdd
root@ip-111-22-333-444:/usr/bin#
```

Beachten Sie, dass Sie dadurch zunächst als Root-Benutzer verbunden werden. Bevor Sie Aufträge ausführen, wechseln Sie zum `ubuntu`-Benutzer, indem Sie den folgenden Befehl ausführen.

```
root@ip-111-22-333-444:/usr/bin# sudo su - ubuntu
ubuntu@ip-111-22-333-444:/usr/bin#
```

Erweiterte Einstellungen für die praktische Verwendung von HyperPod Clustern finden Sie in den folgenden Themen.

**Topics**
+ [Zusätzliche Tipps für den Zugriff auf Ihre SageMaker HyperPod Clusterknoten](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips)
+ [Richten Sie über den Amazon FSx Shared Space eine Mehrbenutzerumgebung ein](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user-with-fxs-shared-space)
+ [Richten Sie eine Mehrbenutzerumgebung ein, indem Sie HyperPod Cluster in Active Directory integrieren](#sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user-with-active-directory)

## Zusätzliche Tipps für den Zugriff auf Ihre SageMaker HyperPod Clusterknoten
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-tips"></a>

**Verwenden Sie das von bereitgestellte `easy-ssh.sh` Skript, HyperPod um den Verbindungsvorgang zu vereinfachen**

Um aus dem vorherigen Prozess einen einzeiligen Befehl zu machen, stellt das HyperPod Team das [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh)Skript bereit, das Ihre Clusterinformationen abruft, sie im SSM-Befehl zusammenfasst und eine Verbindung zum Rechenknoten herstellt. Sie müssen nicht manuell nach den erforderlichen HyperPod Clusterinformationen suchen, da dieses Skript ausgeführt wird `describe-cluster` und die Informationen, die für die Ausführung des SSM-Befehls benötigt werden, `list-cluster-nodes` befiehlt und analysiert. Die folgenden Beispielbefehle veranschaulichen die Ausführung des [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/easy-ssh.sh)-Skripts. Wenn es erfolgreich ausgeführt wird, werden Sie als Root-Benutzer mit dem Cluster verbunden. Außerdem wird ein Codeausschnitt gedruckt, um SSH einzurichten, indem der HyperPod Cluster über einen SSM-Proxy als Remote-Host hinzugefügt wird. Durch die Einrichtung von SSH können Sie Ihre lokale Entwicklungsumgebung wie Visual Studio Code mit dem Cluster verbinden. HyperPod 

```
$ chmod +x easy-ssh.sh
$ ./easy-ssh.sh -c <node-group> <cluster-name>
Cluster id: <cluster_id>
Instance id: <instance_id>
Node Group: <node-group>
Add the following to your ~/.ssh/config to easily connect:

$ cat <<EOF >> ~/.ssh/config
Host <cluster-name>
  User ubuntu
  ProxyCommand sh -c "aws ssm start-session  --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id> --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
EOF

Add your ssh keypair and then you can do:

$ ssh <cluster-name>

aws ssm start-session --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id>

Starting session with SessionId: s0011223344aabbccdd
root@ip-111-22-333-444:/usr/bin#
```

Beachten Sie, dass Sie dadurch zunächst als Root-Benutzer verbunden werden. Bevor Sie Aufträge ausführen, wechseln Sie zum `ubuntu`-Benutzer, indem Sie den folgenden Befehl ausführen.

```
root@ip-111-22-333-444:/usr/bin# sudo su - ubuntu
ubuntu@ip-111-22-333-444:/usr/bin#
```

**Richten Sie den einfachen Zugriff mit SSH ein, indem Sie den HyperPod Rechenknoten als Remote-Host verwenden**

Um den Zugriff auf den Rechenknoten mithilfe von SSH von einem lokalen Computer aus weiter zu vereinfachen, gibt das `easy-ssh.sh` Skript einen Codeausschnitt zur Einrichtung des HyperPod Clusters als Remote-Host aus, wie im vorherigen Abschnitt gezeigt. Das Code-Snippet wird automatisch generiert, damit Sie es direkt zur `~/.ssh/config`-Datei auf Ihrem lokalen Gerät hinzufügen können. Das folgende Verfahren zeigt, wie Sie den einfachen Zugriff mithilfe von SSH über den SSM-Proxy einrichten, sodass Sie oder Ihre Clusterbenutzer direkt eine Verbindung `ssh <cluster-name>` zum Clusterknoten herstellen können. HyperPod 

1. Fügen Sie auf Ihrem lokalen Gerät den HyperPod Rechenknoten mit einem Benutzernamen als Remote-Host zur `~/.ssh/config` Datei hinzu. Der folgende Befehl zeigt, wie der automatisch generierte Codeausschnitt aus dem `easy-ssh.sh`-Skript an die `~/.ssh/config`-Datei angefügt wird. Stellen Sie sicher, dass Sie es aus der automatisch generierten Ausgabe des `easy-ssh.sh`-Skripts kopieren, das die richtigen Clusterinformationen enthält.

   ```
   $ cat <<EOF >> ~/.ssh/config
   Host <cluster-name>
     User ubuntu
     ProxyCommand sh -c "aws ssm start-session  --target sagemaker-cluster:<cluster_id>_<node-group>-<instance_id> --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
   EOF
   ```

1. Fügen Sie auf dem HyperPod Clusterknoten den öffentlichen Schlüssel auf Ihrem lokalen Gerät zur `~/.ssh/authorized_keys` Datei auf dem HyperPod Clusterknoten hinzu.

   1. Drucken Sie den öffentlichen Schlüsseldatei auf Ihrem lokalen Computer.

      ```
      $ cat ~/.ssh/id_rsa.pub
      ```

      Dies sollte Ihren Schlüssel zurückgeben. Kopieren Sie die Ausgabe dieses Befehls. 

      (Optional) Wenn Sie keinen öffentlichen Schlüssel haben, erstellen Sie einen, indem Sie den folgenden Befehl ausführen.

      ```
      $ ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
      ```

   1. Stellen Sie eine Verbindung zum Clusterknoten her und wechseln Sie zum Benutzer, um den Schlüssel hinzuzufügen. Der folgende Befehl ist ein Beispiel für den Zugriff als `ubuntu`-Benutzer. Ersetzen Sie `ubuntu` durch den Benutzernamen, für den Sie den einfachen Zugriff mit SSH einrichten möchten.

      ```
      $ ./easy-ssh.sh -c <node-group> <cluster-name>
      $ sudo su - ubuntu
      ubuntu@ip-111-22-333-444:/usr/bin#
      ```

   1. Öffnen Sie die `~/.ssh/authorized_keys`-Datei und fügen Sie den öffentlichen Schlüssel am Ende der Datei hinzu.

      ```
      ubuntu@ip-111-22-333-444:/usr/bin# vim ~/.ssh/authorized_keys
      ```

Nachdem Sie die Einrichtung abgeschlossen haben, können Sie als Benutzer eine Verbindung zum HyperPod Clusterknoten herstellen, indem Sie einen vereinfachten SSH-Befehl wie folgt ausführen.

```
$ ssh <cluster-name>
ubuntu@ip-111-22-333-444:/usr/bin#
```

Sie können den Host auch für die Remote-Entwicklung von einer IDE auf Ihrem lokalen Gerät aus verwenden, z. B. [Visual Studio Code Remote – SSH](https://code.visualstudio.com/docs/remote/ssh).

## Richten Sie über den Amazon FSx Shared Space eine Mehrbenutzerumgebung ein
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user-with-fxs-shared-space"></a>

Sie können den Amazon FSx Shared Space verwenden, um eine Mehrbenutzerumgebung in einem Slurm-Cluster auf zu verwalten. SageMaker HyperPod Wenn Sie Ihren Slurm-Cluster FSx während der HyperPod Cluster-Erstellung mit Amazon konfiguriert haben, ist dies eine gute Option, um Workspace für Ihre Cluster-Benutzer einzurichten. Erstellen Sie einen neuen Benutzer und richten Sie das Home-Verzeichnis für den Benutzer im FSx gemeinsamen Amazon-Dateisystem ein.

**Tipp**  
Damit Benutzer über ihren Benutzernamen und dedizierte Verzeichnisse auf Ihren Cluster zugreifen können, sollten Sie sie auch mit IAM-Rollen oder Benutzern verknüpfen, indem Sie sie gemäß den Anweisungen in **Option 2** von Schritt 5 unter dem Verfahren **So aktivieren Sie die Unterstützung von „Ausführen als“ für verwaltete Linux- und macOS-Knoten** im AWS Systems Manager -Benutzerhandbuch.[https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html) Siehe auch [Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

**Um eine Mehrbenutzer-Umgebung einzurichten und gleichzeitig einen Slurm-Cluster zu erstellen SageMaker HyperPod**

Das SageMaker HyperPod Serviceteam stellt ein Skript [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh)als Teil der Script-Beispiele für den Basislebenszyklus zur Verfügung. 

1. Bereiten Sie eine Textdatei mit dem Namen vor `shared_users.txt`, die Sie im folgenden Format erstellen müssen. Die erste Spalte ist für Benutzernamen, die zweite Spalte für eindeutige Benutzer IDs und die dritte Spalte für die Benutzerverzeichnisse im FSx gemeinsamen Amazon-Bereich.

   ```
   username1,uid1,/fsx/username1
   username2,uid2,/fsx/username2
   ...
   ```

1. Stellen Sie sicher, dass Sie die [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh)Dateien `shared_users.txt` und in den S3-Bucket für HyperPod Lifecycle-Skripte hochladen. Während die Clustererstellung, die Clusteraktualisierung oder die Cluster-Softwareaktualisierung läuft, liest [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh) die Daten in `shared_users.txt` und richtet die Benutzerverzeichnisse ordnungsgemäß ein.

**Um neue Benutzer zu erstellen und sie zu einem bestehenden Slurm-Cluster hinzuzufügen, der auf läuft SageMaker HyperPod **

1. Führen Sie auf dem Hauptknoten den folgenden Befehl aus, um ein Skript zu speichern, das beim Erstellen eines Benutzers hilft. Stellen Sie sicher, dass Sie dies mit Sudo-Berechtigungen ausführen.

   ```
   $ cat > create-user.sh << EOL
   #!/bin/bash
   
   set -x
   
   # Prompt user to get the new user name.
   read -p "Enter the new user name, i.e. 'sean': 
   " USER
   
   # create home directory as /fsx/<user>
   # Create the new user on the head node
   sudo useradd \$USER -m -d /fsx/\$USER --shell /bin/bash;
   user_id=\$(id -u \$USER)
   
   # add user to docker group
   sudo usermod -aG docker \${USER}
   
   # setup SSH Keypair
   sudo -u \$USER ssh-keygen -t rsa -q -f "/fsx/\$USER/.ssh/id_rsa" -N ""
   sudo -u \$USER cat /fsx/\$USER/.ssh/id_rsa.pub | sudo -u \$USER tee /fsx/\$USER/.ssh/authorized_keys
   
   # add user to compute nodes
   read -p "Number of compute nodes in your cluster, i.e. 8: 
   " NUM_NODES
   srun -N \$NUM_NODES sudo useradd -u \$user_id \$USER -d /fsx/\$USER --shell /bin/bash;
   
   # add them as a sudoer
   read -p "Do you want this user to be a sudoer? (y/N):
   " SUDO
   if [ "\$SUDO" = "y" ]; then
           sudo usermod -aG sudo \$USER
           sudo srun -N \$NUM_NODES sudo usermod -aG sudo \$USER
           echo -e "If you haven't already you'll need to run:\n\nsudo visudo /etc/sudoers\n\nChange the line:\n\n%sudo   ALL=(ALL:ALL) ALL\n\nTo\n\n%sudo   ALL=(ALL:ALL) NOPASSWD: ALL\n\nOn each node."
   fi
   EOL
   ```

1. Führen Sie das Skript mit dem folgenden Befehl aus. Sie werden aufgefordert, den Namen eines Benutzers und die Anzahl der Rechenknoten hinzuzufügen, auf die der Benutzer zugreifen kann.

   ```
   $ bash create-user.sh
   ```

1. Testen Sie den Benutzer, indem Sie die folgenden Befehle ausführen. 

   ```
   $ sudo su - <user> && ssh $(srun hostname)
   ```

1. Fügen Sie die Benutzerinformationen zur `shared_users.txt`-Datei hinzu, sodass der Benutzer auf allen neuen Rechenknoten oder neuen Clustern erstellt wird.

## Richten Sie eine Mehrbenutzerumgebung ein, indem Sie HyperPod Cluster in Active Directory integrieren
<a name="sagemaker-hyperpod-run-jobs-slurm-access-nodes-multi-user-with-active-directory"></a>

In praktischen Anwendungsfällen werden HyperPod Cluster in der Regel von mehreren Benutzern verwendet: Forschern für maschinelles Lernen (ML), Softwareingenieuren, Datenwissenschaftlern und Clusteradministratoren. Sie bearbeiten ihre eigenen Dateien und führen ihre eigenen Aufträge aus, ohne sich gegenseitig bei der Arbeit zu beeinträchtigen. Um eine Mehrbenutzerumgebung einzurichten, verwenden Sie den Linux-Benutzer- und Gruppenmechanismus, um mithilfe von Lebenszyklusskripten statisch mehrere Benutzer für jede Instance zu erstellen. Der Nachteil dieses Ansatzes besteht jedoch darin, dass Sie Benutzer- und Gruppeneinstellungen über mehrere Instances im Cluster hinweg duplizieren müssen, um bei Aktualisierungen wie dem Hinzufügen, Bearbeiten und Entfernen von Benutzern eine konsistente Konfiguration über alle Instances hinweg zu gewährleisten.

Um dieses Problem zu lösen, können Sie [Lightweight Directory Access Protocol (LDAP) und LDAP](https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol) [Over TLS/SSL (LDAPS)](https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol) verwenden, um die Integration in einen Directory Service wie den [Verzeichnisdienst für Microsoft AWS Active Directory](https://aws.amazon.com/directoryservice/) zu ermöglichen. Weitere Informationen zur Einrichtung von Active Directory und einer Mehrbenutzerumgebung in einem HyperPod Cluster finden Sie im Blogbeitrag [Integrieren von HyperPod Clustern mit Active Directory für](https://aws.amazon.com/blogs/machine-learning/integrate-hyperpod-clusters-with-active-directory-for-seamless-multi-user-login/) eine nahtlose Mehrbenutzeranmeldung.

# Planung eines Slurm-Jobs auf einem Cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-schedule-slurm-job"></a>

Sie können Trainingsjobs mit den Standard-Slurm-Befehlen `sbatch` oder `srun` starten. Um beispielsweise einen Trainingsjob mit 8 Knoten zu starten, können Sie `srun -N 8 --exclusive train.sh` SageMaker HyperPod unterstützende Schulungen in einer Reihe von Umgebungen ausführen, darunter`conda`, `venv``docker`, und`enroot`. Sie können eine ML-Umgebung konfigurieren, indem Sie Lifecycle-Skripten auf Ihren SageMaker HyperPod Clustern ausführen. Sie haben auch die Möglichkeit, ein gemeinsam genutztes Dateisystem wie Amazon anzuhängen FSx, das auch als virtuelle Umgebung verwendet werden kann.

Das folgende Beispiel zeigt, wie ein Job zum Trainieren von Llama-2 mit der FSDP-Technik (Fully Sharded Data Parallelism) auf einem SageMaker HyperPod Cluster mit einem gemeinsamen Amazon-Dateisystem ausgeführt wird. FSx [Weitere Beispiele finden Sie auch im Awsome Distributed Training Repository. GitHub ](https://github.com/aws-samples/awsome-distributed-training/)

**Tipp**  
Alle SageMaker HyperPod Beispiele sind im `3.test_cases` Ordner des [Awsome Distributed Training GitHub ](https://github.com/aws-samples/awsome-distributed-training/) Repositorys verfügbar.

1. Klonen Sie das [Awsome Distributed Training GitHub Repository](https://github.com/aws-samples/awsome-distributed-training/) und kopieren Sie die Beispiele für Trainingsjobs in Ihr FSx Amazon-Dateisystem. 

   ```
   $ TRAINING_DIR=/fsx/users/my-user/fsdp
   $ git clone https://github.com/aws-samples/awsome-distributed-training/
   ```

1. Führen Sie das [https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/10.FSDP/0.create_conda_env.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/10.FSDP/0.create_conda_env.sh)-Skript aus. Dadurch wird eine `conda` Umgebung auf Ihrem FSx Amazon-Dateisystem erstellt. Stellen Sie sicher, dass das Dateisystem für alle Knoten im Cluster zugänglich ist.

1. Erstellen Sie die virtuelle Conda-Umgebung, indem Sie einen Slurm-Auftrag mit einem einzelnen Knoten wie folgt starten.

   ```
   $ srun -N 1 /path_to/create_conda_env.sh
   ```

1. Nachdem die Umgebung erstellt wurde, können Sie einen Trainingsjob starten, indem Sie auf den Umgebungspfad auf dem gemeinsam genutzten Volume verweisen. Sie können sowohl Trainingsjobs mit einem Knoten als auch mit mehreren Knoten mit derselben Konfiguration starten. Um einen Job zu starten, erstellen Sie wie folgt ein Job-Launcher-Skript (auch als Einstiegspunktskript bezeichnet).

   ```
   #!/usr/bin/env bash
   set -ex
   
   ENV_PATH=/fsx/users/my_user/pytorch_env
   TORCHRUN=$ENV_PATH/bin/torchrun
   TRAINING_SCRIPT=/fsx/users/my_user/pt_train.py
   
   WORLD_SIZE_JOB=$SLURM_NTASKS
   RANK_NODE=$SLURM_NODEID
   PROC_PER_NODE=8
   MASTER_ADDR=(`scontrol show hostnames \$SLURM_JOB_NODELIST | head -n 1`)
   MASTER_PORT=$(expr 10000 + $(echo -n $SLURM_JOBID | tail -c 4))
   
   DIST_ARGS="--nproc_per_node=$PROC_PER_NODE \
              --nnodes=$WORLD_SIZE_JOB \
              --node_rank=$RANK_NODE \
              --master_addr=$MASTER_ADDR \
              --master_port=$MASTER_PORT \
             "
             
   $TORCHRUN $DIST_ARGS $TRAINING_SCRIPT
   ```
**Tipp**  
Wenn Sie Ihren Trainingsjob mithilfe der Funktion zur automatischen Wiederaufnahme von widerstandsfähiger gegen Hardwareausfälle machen möchten SageMaker HyperPod, müssen Sie die Umgebungsvariable `MASTER_ADDR` im Entrypoint-Skript ordnungsgemäß einrichten. Weitere Informationen hierzu finden Sie unter [Automatische Knotenwiederherstellung und automatische Wiederaufnahme](sagemaker-hyperpod-resiliency-slurm-auto-resume.md).

   In diesem Tutorial wird davon ausgegangen, dass dieses Skript unter `/fsx/users/my_user/train.sh` gespeichert ist.

1. Führen Sie mit diesem Skript im freigegebenen Volume unter `/fsx/users/my_user/train.sh` den folgenden `srun`-Befehl aus, um den Slurm-Auftrag zu planen.

   ```
   $ cd /fsx/users/my_user/
   $ srun -N 8 train.sh
   ```

# Docker-Container auf einem Slurm-Rechenknoten ausführen auf HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-docker"></a>

[https://github.com/NVIDIA/enroot](https://github.com/NVIDIA/enroot) Das Enroot-Paket hilft dabei, Docker-Images in eine Laufzeitumgebung zu konvertieren, die Slurm verstehen kann, während Pyxis die Planung der Laufzeitumgebung als Slurm-Auftrag über einen `srun`-Befehl, `srun --container-image=docker/image:tag`, ermöglicht. 

**Tipp**  
Die Docker-, Enroot- und Pyxis-Pakete sollten während der Clustererstellung als Teil der Ausführung der Lebenszyklusskripte wie in der Anleitung [Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) beschrieben installiert werden. Verwenden Sie bei der Erstellung [eines Clusters die vom HyperPod Serviceteam bereitgestellten Basis-Lebenszyklus-Skripte](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config). HyperPod Diese Basisskripte sind standardmäßig so eingerichtet, dass sie die Pakete installieren. Im [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py)-Skript gibt es die `Config`-Klasse mit dem Booleschen Typparameter für die Installation der Pakete, der auf `True` (`enable_docker_enroot_pyxis=True`) gesetzt ist. Dies wird vom [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py)-Skript aufgerufen und analysiert, das `install_docker.sh`- und `install_enroot_pyxis.sh`-Skripte aus dem [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils)-Ordner aufruft und ausführt. In den Installationsskripten finden die eigentlichen Installationen der Pakete statt. Darüber hinaus ermitteln die Installationsskripten, ob sie NVMe Speicherpfade von den Instances, auf denen sie ausgeführt werden, erkennen können, und richten die Root-Pfade für Docker und Enroot ein. `/opt/dlami/nvme` Das Standard-Root-Volume jeder neuen Instance wird `/tmp` nur mit einem 100-GB-EBS-Volume gemountet. Dieses Volume läuft aus, wenn der Workload, den Sie ausführen möchten, das Training von Docker-Containern LLMs und somit großen Docker-Containern beinhaltet. Wenn Sie Instance-Familien wie P und G mit lokalem NVMe Speicher verwenden, müssen Sie sicherstellen, dass Sie den NVMe Speicher verwenden, der unter angehängt ist`/opt/dlami/nvme`, und die Installationsskripten kümmern sich um die Konfigurationsprozesse.

**So überprüfen Sie, ob die Root-Pfade richtig eingerichtet sind**

Führen Sie auf einem Rechenknoten Ihres eingeschalteten Slurm-Clusters die folgenden Befehle aus SageMaker HyperPod, um sicherzustellen, dass das Lifecycle-Skript ordnungsgemäß funktioniert hat und das Root-Volume jedes Knotens auf `/opt/dlami/nvme/*` eingestellt ist. Die folgenden Befehle zeigen Beispiele für die Überprüfung des Enroot-Laufzeitpfads und des Daten-Root-Pfads für 8 Rechenknoten eines Slurm-Clusters.

```
$ srun -N 8 cat /etc/enroot/enroot.conf | grep "ENROOT_RUNTIME_PATH"
ENROOT_RUNTIME_PATH        /opt/dlami/nvme/tmp/enroot/user-$(id -u)
... // The same or similar lines repeat 7 times
```

```
$ srun -N 8 cat /etc/docker/daemon.json
{
    "data-root": "/opt/dlami/nvme/docker/data-root"
}
... // The same or similar lines repeat 7 times
```

Nachdem Sie überprüft haben, dass die Laufzeitpfade korrekt auf `/opt/dlami/nvme/*` festgelegt sind, können Sie Docker-Container mit Enroot und Pyxis erstellen und ausführen.

**So testen Sie Docker mit Slurm**

1. Probieren Sie auf Ihrem Rechenknoten die folgenden Befehle aus, um zu überprüfen, ob Docker und Enroot ordnungsgemäß installiert sind.

   ```
   $ docker --help
   $ enroot --help
   ```

1. Testen Sie, ob Pyxis und Enroot korrekt installiert wurden, indem Sie eines der Images von [NVIDIA CUDA Ubuntu](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda) ausführen.

   ```
   $ srun --container-image=nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY nvidia-smi
   pyxis: importing docker image: nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY
   pyxis: imported docker image: nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY
   DAY MMM DD HH:MM:SS YYYY
   +-----------------------------------------------------------------------------+
   | NVIDIA-SMI 470.141.03   Driver Version: 470.141.03   CUDA Version: XX.YY    |
   |-------------------------------+----------------------+----------------------+
   | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
   | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
   |                               |                      |               MIG M. |
   |===============================+======================+======================|
   |   0  Tesla T4            Off  | 00000000:00:1E.0 Off |                    0 |
   | N/A   40C    P0    27W /  70W |      0MiB / 15109MiB |      0%      Default |
   |                               |                      |                  N/A |
   +-------------------------------+----------------------+----------------------+
   
   +-----------------------------------------------------------------------------+
   | Processes:                                                                  |
   |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
   |        ID   ID                                                   Usage      |
   |=============================================================================|
   |  No running processes found                                                 |
   +-----------------------------------------------------------------------------+
   ```

   Sie können es auch testen, indem Sie ein Skript erstellen und einen `sbatch`-Befehl wie folgt ausführen.

   ```
   $ cat <<EOF >> container-test.sh
   #!/bin/bash
   #SBATCH --container-image=nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY
   nvidia-smi
   EOF
   
   $ sbatch container-test.sh
   pyxis: importing docker image: nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY
   pyxis: imported docker image: nvidia/cuda:XX.Y.Z-base-ubuntuXX.YY
   DAY MMM DD HH:MM:SS YYYY
   +-----------------------------------------------------------------------------+
   | NVIDIA-SMI 470.141.03   Driver Version: 470.141.03   CUDA Version: XX.YY    |
   |-------------------------------+----------------------+----------------------+
   | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
   | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
   |                               |                      |               MIG M. |
   |===============================+======================+======================|
   |   0  Tesla T4            Off  | 00000000:00:1E.0 Off |                    0 |
   | N/A   40C    P0    27W /  70W |      0MiB / 15109MiB |      0%      Default |
   |                               |                      |                  N/A |
   +-------------------------------+----------------------+----------------------+
   
   +-----------------------------------------------------------------------------+
   | Processes:                                                                  |
   |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
   |        ID   ID                                                   Usage      |
   |=============================================================================|
   |  No running processes found                                                 |
   +-----------------------------------------------------------------------------+
   ```

**So führen Sie einen Test-Slurm-Auftrag mit Docker aus**

Nachdem Sie die Einrichtung von Slurm mit Docker abgeschlossen haben, können Sie alle vorgefertigten Docker-Images verwenden und mit Slurm on ausführen. SageMaker HyperPod Im Folgenden finden Sie ein Beispiel für einen Anwendungsfall, der Ihnen zeigt, wie Sie einen Trainingsjob mit Docker und eingeschaltetem Slurm ausführen. SageMaker HyperPod Es zeigt ein Beispiel für das modellparallele Training des Llama-2-Modells mit der SageMaker AI-Bibliothek für Modellparallelismus (SMP).

1. Wenn Sie eines der vorgefertigten ECR-Images verwenden möchten, die von SageMaker AI oder DLC vertrieben werden, stellen Sie sicher, dass Sie Ihrem HyperPod Cluster die Berechtigungen zum Abrufen von ECR-Bildern über die geben. [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) Wenn Sie ein eigenes oder ein Docker-Image (Open Source) verwenden, können Sie diesen Schritt überspringen. Fügen Sie [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) die folgenden Berechtigungen hinzu. In diesem Tutorial verwenden wir das [SMP-Docker-Image](distributed-model-parallel-support-v2.md#distributed-model-parallel-supported-frameworks-v2), das mit der SMP-Bibliothek vorinstalliert ist.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ecr:BatchCheckLayerAvailability",
                   "ecr:BatchGetImage",
                   "ecr-public:*",
                   "ecr:GetDownloadUrlForLayer",
                   "ecr:GetAuthorizationToken",
                   "sts:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Klonen Sie auf dem Rechenknoten das Repository und wechseln Sie zu dem Ordner, der die Beispielskripte für das Training mit SMP enthält.

   ```
   $ git clone https://github.com/aws-samples/awsome-distributed-training/
   $ cd awsome-distributed-training/3.test_cases/17.SM-modelparallelv2
   ```

1. Führen Sie in diesem Tutorial das Beispielskript-[https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/17.SM-modelparallelv2/docker_build.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/17.SM-modelparallelv2/docker_build.sh) aus, das das SMP-Docker-Image abruft, den Docker-Container erstellt und ihn als Enroot-Laufzeitumgebung ausführt. Sie können dies nach Belieben ändern.

   ```
   $ cat docker_build.sh
   #!/usr/bin/env bash
   
   region=us-west-2
   dlc_account_id=658645717510
   aws ecr get-login-password --region $region | docker login --username AWS --password-stdin $dlc_account_id.dkr.ecr.$region.amazonaws.com
   
   docker build -t smpv2 .
   enroot import -o smpv2.sqsh  dockerd://smpv2:latest
   ```

   ```
   $ bash docker_build.sh
   ```

1. Erstellen Sie ein Batch-Skript, um einen Trainingsjob mit `sbatch` zu starten. In diesem Tutorial startet das bereitgestellte Beispielskript [https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/17.SM-modelparallelv2/launch_training_enroot.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/3.test_cases/17.SM-modelparallelv2/launch_training_enroot.sh) einen modellparallelen Trainingsjob des Llama 2-Modells mit 70 Milliarden Parametern und einem synthetischen Datensatz auf 8 Rechenknoten. Eine Reihe von Trainingsskripten wird unter [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2/scripts](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2/scripts) bereitgestellt und `launch_training_enroot.sh` nimmt `train_external.py` als Einstiegsskript.
**Wichtig**  
Um einen Docker-Container zu verwenden SageMaker HyperPod, müssen Sie das `/var/log` Verzeichnis vom Host-Computer, der in diesem Fall der HyperPod Rechenknoten ist, in das Verzeichnis im Container mounten. `/var/log` Sie können ihn einrichten, indem Sie die folgende Variable für Enroot hinzufügen.  

   ```
   "${HYPERPOD_PATH:="/var/log/aws/clusters":"/var/log/aws/clusters"}"
   ```

   ```
   $ cat launch_training_enroot.sh
   #!/bin/bash
   
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: MIT-0
   
   #SBATCH --nodes=8 # number of nodes to use, 2 p4d(e) = 16 A100 GPUs
   #SBATCH --job-name=smpv2_llama # name of your job
   #SBATCH --exclusive # job has exclusive use of the resource, no sharing
   #SBATCH --wait-all-nodes=1
   
   set -ex;
   
   ###########################
   ###### User Variables #####
   ###########################
   
   #########################
   model_type=llama_v2
   model_size=70b
   
   # Toggle this to use synthetic data
   use_synthetic_data=1
   
   
   # To run training on your own data  set Training/Test Data path  -> Change this to the tokenized dataset path in Fsx. Acceptable formats are huggingface (arrow) and Jsonlines.
   # Also change the use_synthetic_data to 0
   
   export TRAINING_DIR=/fsx/path_to_data
   export TEST_DIR=/fsx/path_to_data
   export CHECKPOINT_DIR=$(pwd)/checkpoints
   
   # Variables for Enroot
   : "${IMAGE:=$(pwd)/smpv2.sqsh}"
   : "${HYPERPOD_PATH:="/var/log/aws/clusters":"/var/log/aws/clusters"}" # This is needed for validating its hyperpod cluster
   : "${TRAIN_DATA_PATH:=$TRAINING_DIR:$TRAINING_DIR}"
   : "${TEST_DATA_PATH:=$TEST_DIR:$TEST_DIR}"
   : "${CHECKPOINT_PATH:=$CHECKPOINT_DIR:$CHECKPOINT_DIR}"   
   
   
   ###########################
   ## Environment Variables ##
   ###########################
   
   #export NCCL_SOCKET_IFNAME=en
   export NCCL_ASYNC_ERROR_HANDLING=1
   
   export NCCL_PROTO="simple"
   export NCCL_SOCKET_IFNAME="^lo,docker"
   export RDMAV_FORK_SAFE=1
   export FI_EFA_USE_DEVICE_RDMA=1
   export NCCL_DEBUG_SUBSYS=off
   export NCCL_DEBUG="INFO"
   export SM_NUM_GPUS=8
   export GPU_NUM_DEVICES=8
   export FI_EFA_SET_CUDA_SYNC_MEMOPS=0
   
   # async runtime error ...
   export CUDA_DEVICE_MAX_CONNECTIONS=1
   
   
   #########################
   ## Command and Options ##
   #########################
   
   if [ "$model_size" == "7b" ]; then
       HIDDEN_WIDTH=4096
       NUM_LAYERS=32
       NUM_HEADS=32
       LLAMA_INTERMEDIATE_SIZE=11008
       DEFAULT_SHARD_DEGREE=8
   # More Llama model size options
   elif [ "$model_size" == "70b" ]; then
       HIDDEN_WIDTH=8192
       NUM_LAYERS=80
       NUM_HEADS=64
       LLAMA_INTERMEDIATE_SIZE=28672
       # Reduce for better perf on p4de
       DEFAULT_SHARD_DEGREE=64
   fi
   
   
   if [ -z "$shard_degree" ]; then
       SHARD_DEGREE=$DEFAULT_SHARD_DEGREE
   else
       SHARD_DEGREE=$shard_degree
   fi
   
   if [ -z "$LLAMA_INTERMEDIATE_SIZE" ]; then
       LLAMA_ARGS=""
   else
       LLAMA_ARGS="--llama_intermediate_size $LLAMA_INTERMEDIATE_SIZE "
   fi
   
   
   if [ $use_synthetic_data == 1 ]; then
       echo "using synthetic data"
       declare -a ARGS=(
       --container-image $IMAGE
       --container-mounts $HYPERPOD_PATH,$CHECKPOINT_PATH
       )
   else
       echo "using real data...."
       declare -a ARGS=(
       --container-image $IMAGE
       --container-mounts $HYPERPOD_PATH,$TRAIN_DATA_PATH,$TEST_DATA_PATH,$CHECKPOINT_PATH
       )
   fi
   
   
   declare -a TORCHRUN_ARGS=(
       # change this to match the number of gpus per node:
       --nproc_per_node=8 \
       --nnodes=$SLURM_JOB_NUM_NODES \
       --rdzv_id=$SLURM_JOB_ID \
       --rdzv_backend=c10d \
       --rdzv_endpoint=$(hostname) \
   )
   
   srun -l "${ARGS[@]}" torchrun "${TORCHRUN_ARGS[@]}" /path_to/train_external.py \
               --train_batch_size 4 \
               --max_steps 100 \
               --hidden_width $HIDDEN_WIDTH \
               --num_layers $NUM_LAYERS \
               --num_heads $NUM_HEADS \
               ${LLAMA_ARGS} \
               --shard_degree $SHARD_DEGREE \
               --model_type $model_type \
               --profile_nsys 1 \
               --use_smp_implementation 1 \
               --max_context_width 4096 \
               --tensor_parallel_degree 1 \
               --use_synthetic_data $use_synthetic_data \
               --training_dir $TRAINING_DIR \
               --test_dir $TEST_DIR \
               --dataset_type hf \
               --checkpoint_dir $CHECKPOINT_DIR \
               --checkpoint_freq 100 \
   
   $ sbatch launch_training_enroot.sh
   ```

*Die herunterladbaren Codebeispiele finden Sie unter [Ausführen eines modellparallelen Trainingsjobs mithilfe der SageMaker AI-Modellparallelismusbibliothek, Docker und Enroot mit Slurm](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2#option-2----run-training-using-docker-and-enroot) im Awsome Distributed Training Repository. GitHub * Weitere Informationen zu verteiltem Training mit eingeschaltetem Slurm-Cluster finden Sie im nächsten Thema unter. SageMaker HyperPod [Ausführung verteilter Trainingsworkloads mit aktiviertem Slurm HyperPod](sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload.md)

# Ausführung verteilter Trainingsworkloads mit aktiviertem Slurm HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload"></a>

SageMaker HyperPod ist auf das Training großer Sprachmodelle (LLMs) und Basismodelle () spezialisiert. FMs Diese Workloads erfordern häufig den Einsatz mehrerer Parallelitätstechniken und optimierter Abläufe für die ML-Infrastruktur und -Ressourcen. Mithilfe von SageMaker HyperPod können Sie die folgenden verteilten SageMaker KI-Schulungs-Frameworks verwenden:
+ Die [SageMaker AI-Bibliothek für verteilte Datenparallelität (SMDDP)](data-parallel.md), die kollektive Kommunikationsoperationen bietet, die optimiert sind für. AWS
+ Die [SageMaker AI-Bibliothek für Modellparallelismus (SMP)](model-parallel-v2.md), die verschiedene Techniken zur Modellparallelität implementiert.

**Topics**
+ [Verwenden von SMDDP auf einem SageMaker HyperPod](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp)
+ [SMP auf einem Cluster verwenden SageMaker HyperPod](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp)

## Verwenden von SMDDP auf einem SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp"></a>

Die [SMDDP-Bibliothek](data-parallel.md) ist eine kollektive Kommunikationsbibliothek, die die Rechenleistung von parallelem Training mit verteilten Daten verbessert. Die SMDDP-Bibliothek funktioniert mit den folgenden verteilten Trainings-Frameworks (Open Source):
+ [PyTorchparallel verteilte Daten (DDP)](https://pytorch.org/docs/stable/notes/ddp.html)
+ [PyTorch vollständig vernetzte Datenparallelität (FSDP)](https://pytorch.org/docs/stable/fsdp.html)
+ [DeepSpeed](https://github.com/microsoft/DeepSpeed)
+ [Megatron- DeepSpeed](https://github.com/microsoft/Megatron-DeepSpeed)

Die SMDDP-Bibliothek deckt den Kommunikationsaufwand der wichtigsten kollektiven Kommunikationsoperationen ab, indem sie Folgendes für anbietet. SageMaker HyperPod
+ Die Bibliothek bietet `AllGather` optimierte Angebote für. AWS`AllGather`ist eine wichtige Operation, die beim Sharded Data Parallel Training verwendet wird. Dabei handelt es sich um eine speichereffiziente Technik zur Datenparallelität, die von gängigen Bibliotheken angeboten wird. Dazu gehören die Bibliothek SageMaker AI Model Parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (ZerO) und Fully Sharded Data Parallelism (FSDP). PyTorch 
+ Die Bibliothek ermöglicht eine optimierte node-to-node Kommunikation, indem sie die Netzwerkinfrastruktur und die KI-ML-Instanztopologie vollständig nutzt. AWS SageMaker 

**So führen Sie Beispiele für datenparallele Trainingsjobs aus**

Entdecken Sie die folgenden verteilten Trainingsbeispiele, die Datenparallelitätstechniken unter Verwendung der SMDDP-Bibliothek implementieren.
+ [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/12.SM-dataparallel-FSDP](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/12.SM-dataparallel-FSDP)
+ [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/13.SM-dataparallel-deepspeed](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/13.SM-dataparallel-deepspeed)

**Um eine Umgebung für die Verwendung der SMDDP-Bibliothek einzurichten auf SageMaker HyperPod**

Im Folgenden sind die Anforderungen an die Trainingsumgebung für die Verwendung der SMDDP-Bibliothek aufgeführt. SageMaker HyperPod
+ PyTorch v2.0.1 und höher
+ CUDA v11.8 und höher
+ `libstdc++`-Laufzeitversion 3 oder höher
+ Python v3.10.x oder höher
+ `ml.p4d.24xlarge` und `ml.p4de.24xlarge`, die von der SMDDP-Bibliothek unterstützte Instance-Typen sind
+ `imdsv2` auf dem Trainingshost aktiviert

Je nachdem, wie Sie den verteilten Trainingsjob ausführen möchten, gibt es zwei Möglichkeiten, die SMDDP-Bibliothek zu installieren:
+ Eine direkte Installation mithilfe der SMDDP-Binärdatei.
+ Verwenden der SageMaker AI Deep Learning Containers (DLCs), auf denen die SMDDP-Bibliothek vorinstalliert ist.

[Docker-Images, auf denen die SMDDP-Bibliothek oder die SMDDP-Binärdateien vorinstalliert sind, sind URLs in der Dokumentation zur SMDDP-Bibliothek unter Unterstützte Frameworks aufgeführt.](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks)

**So installieren Sie die SMDDP-Bibliothek auf dem DLAMI SageMaker HyperPod**
+ `pip install --no-cache-dir https://smdataparallel.s3.amazonaws.com/binary/pytorch/<pytorch-version>/cuXYZ/YYYY-MM-DD/smdistributed_dataparallel-X.Y.Z-cp310-cp310-linux_x86_64.whl`
**Anmerkung**  
Wenn Sie in einer Conda-Umgebung arbeiten, stellen Sie sicher, dass Sie die Installation mit statt mit. PyTorch `conda install` `pip`  

  ```
  conda install pytorch==X.Y.Z  torchvision==X.Y.Z torchaudio==X.Y.Z pytorch-cuda=X.Y.Z -c pytorch -c nvidia
  ```

**So verwenden Sie die SMDDP-Bibliothek in einem Docker-Container**
+ Die SMDDP-Bibliothek ist auf den SageMaker AI Deep Learning Containers () vorinstalliert. DLCs Eine Liste der SageMaker KI-Frameworks DLCs für PyTorch die SMDDP-Bibliothek finden Sie in der Dokumentation zur SMDDP-Bibliothek unter [Unterstützte Frameworks](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks). Sie können auch Ihren eigenen Docker-Container einspielen, in dem die erforderlichen Abhängigkeiten installiert sind, um die SMDDP-Bibliothek zu verwenden. Weitere Informationen zum Einrichten eines benutzerdefinierten Docker-Containers zur Verwendung der SMDDP-Bibliothek finden Sie auch unter [Erstellen Sie Ihren eigenen Docker-Container mit der SageMaker AI Distributed Data Parallel Library](data-parallel-bring-your-own-container.md).
**Wichtig**  
Um die SMDDP-Bibliothek in einem Docker-Container zu verwenden, mounten Sie das `/var/log`-Verzeichnis vom Host-Computer auf `/var/log` im Container. Dies kann erreicht werden, indem Sie beim Ausführen Ihres Containers die folgende Option hinzufügen.  

  ```
  docker run <OTHER_OPTIONS> -v /var/log:/var/log ...
  ```

Informationen zur Ausführung datenparalleler Trainingsaufträge mit SMDDP im Allgemeinen finden Sie unter [Verteiltes Training mit der SageMaker KI-Bibliothek für verteilte Datenparallelität](data-parallel-modify-sdp.md).

## SMP auf einem Cluster verwenden SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp"></a>

Die [SageMaker AI-Bibliothek für Modellparallelismus (SMP)](model-parallel-v2.md) bietet verschiedene Techniken zur [state-of-the-artModellparallelität](model-parallel-core-features-v2.md), darunter:
+ Parallelität vollständig fragmentierter Daten
+ Expertenparallelität
+ gemischtes Präzisionstraining mit/und Datentypen FP16 BF16 FP8 
+ Tensor-Parallelität

Die SMP-Bibliothek ist auch mit Open-Source-Frameworks wie PyTorch FSDP, NVIDIA Megatron und NVIDIA Transformer Engine kompatibel.

**So führen Sie ein Beispiel für einen Workload mit modellparallelem Training aus**

Die SageMaker KI-Serviceteams bieten unter Beispielschulungen zur Implementierung der Modellparallelität mit der SMP-Bibliothek an. [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2)

# SageMaker HyperPod Überwachung der Cluster-Ressourcen
<a name="sagemaker-hyperpod-cluster-observability-slurm"></a>

Um eine umfassende Beobachtbarkeit Ihrer SageMaker HyperPod Cluster-Ressourcen und Softwarekomponenten zu erreichen, integrieren Sie den Cluster in [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) und [Amazon](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) Managed Grafana. Die Integration mit Amazon Managed Service for Prometheus ermöglicht den Export von Metriken zu Ihren HyperPod Cluster-Ressourcen und bietet so Einblicke in deren Leistung, Auslastung und Zustand. Die Integration mit Amazon Managed Grafana ermöglicht die Visualisierung dieser Metriken über verschiedene Grafana-Dashboards, die eine intuitive Oberfläche für die Überwachung und Analyse des Clusterverhaltens bieten. Durch die Nutzung dieser Services erhalten Sie eine zentralisierte und einheitliche Ansicht Ihres HyperPod Clusters, was die proaktive Überwachung, Fehlerbehebung und Optimierung Ihrer verteilten Trainingsworkloads erleichtert.

**Tipp**  
[Praktische Beispiele und Lösungen finden Sie auch im SageMaker HyperPod Workshop.](https://catalog.workshops.aws/sagemaker-hyperpod)

![\[Ein Überblick über die Konfiguration SageMaker HyperPod mit Amazon Managed Service für Prometheus und Amazon Managed Grafana.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-observability-architecture.png)


Abbildung: Dieses Architekturdiagramm zeigt einen Überblick über die Konfiguration SageMaker HyperPod mit Amazon Managed Service für Prometheus und Amazon Managed Grafana.

Fahren Sie mit den folgenden Themen fort, um die Cluster-Observability einzurichten. SageMaker HyperPod 

**Topics**
+ [Voraussetzungen für die SageMaker HyperPod Cluster-Observability](sagemaker-hyperpod-cluster-observability-slurm-prerequisites.md)
+ [Installation von Metrics Exporter-Paketen auf Ihrem Cluster HyperPod](sagemaker-hyperpod-cluster-observability-slurm-install-exporters.md)
+ [Validierung des Prometheus-Setups auf dem Hauptknoten eines Clusters HyperPod](sagemaker-hyperpod-cluster-observability-slurm-validate-prometheus-setup.md)
+ [Einrichten eines Workspaces von Amazon Managed Grafana](sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws.md)
+ [Referenz zu exportierten Metriken](sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference.md)
+ [Amazon SageMaker HyperPod Slurm-Metriken](smcluster-slurm-metrics.md)

# Voraussetzungen für die SageMaker HyperPod Cluster-Observability
<a name="sagemaker-hyperpod-cluster-observability-slurm-prerequisites"></a>

Bevor Sie mit den Schritten unter [Installation von Metrics Exporter-Paketen auf Ihrem Cluster HyperPod](sagemaker-hyperpod-cluster-observability-slurm-install-exporters.md) fortfahren, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind.

## IAM Identity Center aktivieren
<a name="sagemaker-hyperpod-cluster-observability-slurm-prerequisites-iam-id-center"></a>

Um Observability für Ihren SageMaker HyperPod Cluster zu aktivieren, müssen Sie zuerst IAM Identity Center aktivieren. Dies ist eine Voraussetzung für die Bereitstellung eines CloudFormation Stacks, der den Amazon Managed Grafana-Workspace und Amazon Managed Service für Prometheus einrichtet. Beide Services benötigen außerdem das IAM Identity Center für die Authentifizierung und Autorisierung, um den sicheren Benutzerzugriff und die Verwaltung der Überwachungsinfrastruktur zu gewährleisten.

Eine ausführliche Anleitung zur Aktivierung von IAM Identity Center finden Sie im Abschnitt [Aktivierung von IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) im *Benutzerhandbuch für AWS IAM Identity Center*. 

Nachdem Sie IAM Identity Center erfolgreich aktiviert haben, richten Sie ein Benutzerkonto ein, das während der folgenden Konfigurationsschritte als Administratorbenutzer dient.

## Erstellen und implementieren Sie einen Stack für CloudFormation Observability SageMaker HyperPod
<a name="sagemaker-hyperpod-cluster-observability-slurm-prerequisites-cloudformation-stack"></a>

Erstellen und implementieren Sie mithilfe von Amazon Managed Service for Prometheus und Amazon Managed Grafana einen CloudFormation Stack für SageMaker HyperPod Observability, um HyperPod Cluster-Metriken in Echtzeit zu überwachen. Beachten Sie, dass Sie vor der Bereitstellung des Stacks auch Ihr [IAM Identity Center](https://console.aws.amazon.com/singlesignon) aktivieren sollten.

Verwenden Sie das CloudFormation Beispielskript [https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation_and_observability/4.prometheus-grafana/cluster-observability.yaml](https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation_and_observability/4.prometheus-grafana/cluster-observability.yaml), das Ihnen hilft, Amazon VPC-Subnetze, Amazon FSx for Lustre-Dateisysteme, Amazon S3 S3-Buckets und IAM-Rollen einzurichten, die für die Erstellung eines Cluster-Observability-Stacks erforderlich sind. HyperPod 

# Installation von Metrics Exporter-Paketen auf Ihrem Cluster HyperPod
<a name="sagemaker-hyperpod-cluster-observability-slurm-install-exporters"></a>

Zu den vom SageMaker HyperPod Team bereitgestellten [Lebenszyklusskripten für die Basiskonfiguration](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) gehört auch die Installation verschiedener Metrik-Export-Pakete. Um den Installationsschritt zu aktivieren, müssen Sie lediglich den Parameter `enable_observability=True` in der Datei [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py) festlegen. Die Lebenszyklusskripte dienen dazu, Ihren Cluster mit den folgenden Metrik-Exporter-Paketen (Open Source) zu booten.


|  |  |  | 
| --- |--- |--- |
| Name | Zielknoten für die Skriptbereitstellung | Beschreibung des Exporters | 
| [Slurm-Exporteur für Prometheus](https://github.com/vpenso/prometheus-slurm-exporter) | Hauptknoten (Controller) |  Exportiert die Buchhaltungsmetriken von Slurm  | 
|  [Knoten-Exporter von Elastic Fabric Adapter (EFA)](https://github.com/aws-samples/awsome-distributed-training/tree/main/4.validation_and_observability/3.efa-node-exporter)  |  Rechenknoten  |  Exportiert Metriken aus Clusterknoten und EFA. Das Paket ist eine Vergabelung des [Prometheus-Knoten-Exporters](https://github.com/prometheus/node_exporter).  | 
|  [Exporter für NVIDIA Data Center GPU Management (DCGM)](https://github.com/NVIDIA/dcgm-exporter)  | Rechenknoten |  Exportiert NVIDIA DCGM-Metriken zum Zustand und zur Leistung von NVIDIA. GPUs  | 

Mit `enable_observability=True` in der Datei [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/config.py) wird der folgende Installationsschritt im [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/lifecycle_script.py)-Skript aktiviert. 

```
# Install metric exporting software and Prometheus for observability
if Config.enable_observability:
    if node_type == SlurmNodeType.COMPUTE_NODE:
        ExecuteBashScript("./utils/install_docker.sh").run()
        ExecuteBashScript("./utils/install_dcgm_exporter.sh").run()
        ExecuteBashScript("./utils/install_efa_node_exporter.sh").run()

    if node_type == SlurmNodeType.HEAD_NODE:
        wait_for_scontrol()
        ExecuteBashScript("./utils/install_docker.sh").run()
        ExecuteBashScript("./utils/install_slurm_exporter.sh").run()
        ExecuteBashScript("./utils/install_prometheus.sh").run()
```

Auf den Rechenknoten installiert das Skript den NVIDIA Data Center GPU Management (DCGM)-Exporter und den Elastic Fabric Adapter (EFA)-Knoten-Exporter. Der DCGM-Exporter ist ein Exporter für Prometheus, der Metriken von NVIDIA sammelt und so die Überwachung der GPU-Nutzung GPUs, Leistung und Integrität ermöglicht. Der EFA-Knoten-Exporter hingegen erfasst Metriken zur EFA-Netzwerkschnittstelle, die für eine Kommunikation mit geringer Latenz und hoher Bandbreite in HPC-Clustern unerlässlich ist.

Auf dem Hauptknoten installiert das Skript den Slurm-Exporter für Prometheus und die [Open-Source-Software Prometheus](https://prometheus.io/docs/introduction/overview/). Der Slurm-Exporter stellt Prometheus Metriken zu Slurm-Aufträgen, Partitionen und Knotenstatus zur Verfügung.

Beachten Sie, dass die Lebenszyklusskripte so konzipiert sind, dass sie alle Exportpakete als Docker-Container installieren. Daher sollte das Docker-Paket auch sowohl auf dem Haupt- als auch auf dem Compute-Knoten installiert werden. *Die Skripte für diese Komponenten befinden sich praktischerweise im [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils)Ordner des Awsome Distributed Training Repositorys. GitHub *

Nachdem Sie Ihren HyperPod Cluster erfolgreich mit den Exportpaketen installiert haben, fahren Sie mit dem nächsten Thema fort, um die Einrichtung von Amazon Managed Service für Prometheus und Amazon Managed Grafana abzuschließen.

# Validierung des Prometheus-Setups auf dem Hauptknoten eines Clusters HyperPod
<a name="sagemaker-hyperpod-cluster-observability-slurm-validate-prometheus-setup"></a>

Nachdem Sie Ihren HyperPod Cluster erfolgreich mit den Exporter-Paketen installiert haben, überprüfen Sie, ob Prometheus auf dem Hauptknoten Ihres Clusters ordnungsgemäß eingerichtet ist. HyperPod 

1. Stellen Sie eine Verbindung mit dem Hauptknoten Ihres Clusters her. Anweisungen zum Zugriff auf einen Knoten finden Sie unter [Zugriff auf Ihre SageMaker HyperPod Clusterknoten](sagemaker-hyperpod-run-jobs-slurm-access-nodes.md).

1. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die vom Lebenszyklusskript erstellte Prometheus-Konfigurations- und Servicedatei `install_prometheus.sh` auf dem Controller-Knoten ausgeführt wird. Die Ausgabe sollte den Status „Aktiv“ als **active (running)** anzeigen.

   ```
   $ sudo systemctl status prometheus
   • prometheus service - Prometheus Exporter
   Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; preset:disabled)
   Active: active (running) since DAY YYYY-MM-DD HH:MM:SS UTC; Ss ago
   Main PID: 12345 (prometheus)
   Tasks: 7 (limit: 9281)
   Memory: 35M
   CPU: 234ms
   CGroup: /system.slice/prometheus.service
           -12345 /usr/bin/prometheus--config.file=/etc/prometheus/prometheus.yml
   ```

1. Überprüfen Sie die Prometheus-Konfigurationsdatei wie folgt. Die Ausgabe muss in etwa wie folgt aussehen, wobei drei Exporter mit den richtigen IP-Adressen der Rechenknoten konfiguriert sind.

   ```
   $ cat /etc/prometheus/prometheus.yml
   global:
     scrape_interval: 15s
     evaluation_interval: 15s
     scrape_timeout: 15s
   
   scrape_configs:
     - job_name: 'slurm_exporter'
       static_configs:
         - targets:
             - 'localhost:8080'
     - job_name: 'dcgm_exporter'
       static_configs:
         - targets:
             - '<ComputeNodeIP>:9400'
             - '<ComputeNodeIP>:9400'
     - job_name: 'efa_node_exporter'
       static_configs:
         - targets:
             - '<ComputeNodeIP>:9100'
             - '<ComputeNodeIP>:9100'
   
   remote_write:
     - url: <AMPReoteWriteURL>
       queue_config:
         max_samples_per_send: 1000
         max_shards: 200
         capacity: 2500
       sigv4:
         region: <Region>
   ```

1. Um zu testen, ob Prometheus die Slurm-, DCGM- und EFA-Metriken ordnungsgemäß exportiert, führen Sie den folgenden `curl`-Befehl für Prometheus auf dem Port `:9090` des Hauptknotens aus.

   ```
   $ curl -s http://localhost:9090/metrics | grep -E 'slurm|dcgm|efa'
   ```

   Nachdem die Metriken über die Remote-Write-Konfiguration von Prometheus vom Controller-Knoten zu Amazon Managed Service für Prometheus Workspace exportiert wurden, können Sie mit dem nächsten Thema fortfahren, um die Dashboards von Amazon Managed Grafana für die Anzeige der Metriken einzurichten.

# Einrichten eines Workspaces von Amazon Managed Grafana
<a name="sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws"></a>

Erstellen Sie einen neuen Workspace von Amazon Managed Grafana oder aktualisieren Sie einen bestehenden mit Amazon Managed Service für Prometheus als Datenquelle.

**Topics**
+ [Erstellen Sie einen Grafana-Workspace und legen Sie Amazon Managed Service für Prometheus als Datenquelle fest.](#sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-create)
+ [Öffnen des Grafana-Workspaces und Beenden der Einrichtung der Datenquelle](#sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-connect-data-source)
+ [Importieren von Open-Source-Dashboards von Grafana](#sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-import-dashboards)

## Erstellen Sie einen Grafana-Workspace und legen Sie Amazon Managed Service für Prometheus als Datenquelle fest.
<a name="sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-create"></a>

Um Metriken aus Amazon Managed Service für Prometheus zu visualisieren, erstellen Sie einen Workspace von Amazon Managed Grafana und richten Sie ihn so ein, dass Amazon Managed Service für Prometheus als Datenquelle verwendet wird.

1. Um einen Grafana-Workspace zu erstellen, befolgen Sie die Anweisungen unter [Erstellen eines Workspace](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-create-workspace.html#creating-workspace) im *Benutzerhandbuch für Amazon Managed Service für Prometheus*.

   1. Wählen Sie in Schritt 13 Amazon Managed Service für Prometheus als Datenquelle aus.

   1. In Schritt 17 können Sie den Admin-Benutzer und auch andere Benutzer in Ihrem IAM Identity Center hinzufügen.

Weitere Informationen finden Sie auch in den folgenden Ressourcen.
+ [Einrichten von Amazon Managed Grafana für die Verwendung mit Amazon Managed Service für Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-amg.html) im *Benutzerhandbuch für Amazon Managed Service für Prometheus*
+ [Verwenden Sie die AWS Datenquellenkonfiguration, um Amazon Managed Service for Prometheus als Datenquelle im *Amazon Managed Grafana-Benutzerhandbuch* hinzuzufügen](https://docs.aws.amazon.com/grafana/latest/userguide/AMP-adding-AWS-config.html)

## Öffnen des Grafana-Workspaces und Beenden der Einrichtung der Datenquelle
<a name="sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-connect-data-source"></a>

Nachdem Sie erfolgreich einen Workspace von Amazon Managed Grafana erstellt oder aktualisiert haben, wählen Sie die Workspace-URL aus, um den Workspace zu öffnen. Sie werden aufgefordert, einen Benutzernamen und das Passwort des Benutzers einzugeben, den Sie im IAM Identity Center eingerichtet haben. Sie sollten sich mit dem Admin-Benutzer anmelden, um die Einrichtung des Workspaces abzuschließen.

1. Wählen Sie auf der Workspace-**Startseite** **Apps**, **-Datenquellen** und **Datenquellen** aus.

1. Wählen Sie auf der Seite **Datenquellen** die Registerkarte **Datenquellen** aus.

1. Wählen Sie für **Service** Amazon Managed Service für Prometheus aus.

1. Wählen **Sie im Abschnitt Datenquellen durchsuchen und bereitstellen** die AWS Region aus, in der Sie einen Amazon Managed Service for Prometheus Workspace bereitgestellt haben.

1. Wählen Sie aus der Liste der Datenquellen in der ausgewählten Region die für Amazon Managed Service für Prometheus aus. Stellen Sie sicher, dass Sie die Ressourcen-ID und den Ressourcenalias des Amazon Managed Service for Prometheus Workspace überprüfen, den Sie für den HyperPod Observability Stack eingerichtet haben.

## Importieren von Open-Source-Dashboards von Grafana
<a name="sagemaker-hyperpod-cluster-observability-slurm-managed-grafana-ws-import-dashboards"></a>

Nachdem Sie Ihren Workspace von Amazon Managed Grafana mit Amazon Managed Service für Prometheus als Datenquelle erfolgreich eingerichtet haben, beginnen Sie mit der Erfassung von Metriken für Prometheus. Sie sollten dann die verschiedenen Dashboards mit Diagrammen, Informationen und mehr sehen. Die Open-Source-Software Grafana bietet verschiedene Dashboards, die Sie in Amazon Managed Grafana importieren können.

**So importieren Sie Open-Source-Dashboards von Grafana in Amazon Managed Grafana**

1. Wählen Sie auf der **Startseite** Ihres Workspaces von Amazon Managed Grafana die Option **Dashboards** aus.

1. Wählen Sie die Dropdown-Menüschaltfläche mit dem Benutzeroberflächen-Text **Neu** und dann **Importieren** aus.

1. Fügen Sie die URL in das [Slurm-Dashboard](https://grafana.com/grafana/dashboards/4323-slurm-dashboard/) ein.

   ```
   https://grafana.com/grafana/dashboards/4323-slurm-dashboard/
   ```

1. Wählen Sie **Laden** aus.

1. Wiederholen Sie die vorherigen Schritte zum Importieren der folgenden Dashboards.

   1. [Knoten-Exporter –vollständiges Dashboard](https://grafana.com/grafana/dashboards/1860-node-exporter-full/)

      ```
      https://grafana.com/grafana/dashboards/1860-node-exporter-full/
      ```

   1. [Exporter-Dashboard von NVIDIA DCGM](https://grafana.com/grafana/dashboards/12239-nvidia-dcgm-exporter-dashboard/)

      ```
      https://grafana.com/grafana/dashboards/12239-nvidia-dcgm-exporter-dashboard/
      ```

   1. [Dashboard von EFA-Metriken](https://grafana.com/grafana/dashboards/20579-efa-metrics-dev/)

      ```
      https://grafana.com/grafana/dashboards/20579-efa-metrics-dev/
      ```

   1. [FSx für das Lustre Metrics Dashboard](https://grafana.com/grafana/dashboards/20906-fsx-lustre/)

      ```
      https://grafana.com/grafana/dashboards/20906-fsx-lustre/
      ```

# Referenz zu exportierten Metriken
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference"></a>

Die folgenden Abschnitte enthalten umfassende Listen von Metriken, die SageMaker HyperPod nach erfolgreicher Konfiguration des CloudFormation Stacks für Observability aus Amazon Managed Service for SageMaker HyperPod Prometheus exportiert wurden. Sie können mit der Überwachung dieser in den Dashboards von Amazon Managed Grafana visualisierten Metriken beginnen.

## Slurm-Exporter-Dashboard
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference-slurm-exporter"></a>

Stellt visualisierte Informationen zu Slurm-Clustern bereit. SageMaker HyperPod

**Arten von Metriken**
+ **Cluster-Übersicht:** Anzeige der Gesamtzahl der Knoten, Aufträgen und ihrer Status.
+ **Auftragsmetriken:** Visualisierung der Anzahl und des Status von Aufträgen im Zeitverlauf.
+ **Knotenmetriken:** Anzeige des Knotenstatus, der Zuweisung und der verfügbaren Ressourcen.
+ **Partitionsmetriken:** Überwachung partitionsspezifischer Metriken wie CPU-, Arbeitsspeicher- und GPU-Auslastung.
+ **Auftragseffizienz:** Berechnung der Auftragseffizienz auf der Grundlage der eingesetzten Ressourcen.

**Liste der Metriken**


| Metrikname | Description | 
| --- | --- | 
| slurm\$1job\$1count | Die Gesamtzahl der Aufträge im Slurm-Cluster | 
| slurm\$1job\$1state\$1count | Anzahl der Aufträge in jedem Status (z. B. wird ausgeführt, ausstehend, abgeschlossen) | 
| slurm\$1node\$1count  | Die Gesamtzahl der Knoten im Slurm-Cluster | 
| slurm\$1node\$1state\$1count  | Anzahl der Knoten in jedem Status (z. B. inaktiv, alloc, mix) | 
| slurm\$1partition\$1node\$1count  | Anzahl der Knoten in jeder Partition | 
| slurm\$1partition\$1job\$1count  | Anzahl der Aufträge in jeder Partition | 
| slurm\$1partition\$1alloc\$1cpus  | Gesamtzahl der CPUs in jeder Partition zugewiesenen | 
| slurm\$1partition\$1free\$1cpus  | Gesamtzahl der CPUs in jeder Partition verfügbaren | 
| slurm\$1partition\$1alloc\$1memory  | Insgesamt zugewiesener Speicher in jeder Partition | 
| slurm\$1partition\$1free\$1memory  | Insgesamt verfügbarer Speicher in jeder Partition | 
| slurm\$1partition\$1alloc\$1gpus  | Gesamtzahl der GPUs in jeder Partition zugewiesenen | 
| slurm\$1partition\$1free\$1gpus  | Insgesamt GPUs in jeder Partition verfügbar | 

## Knoten-Exporter-Dashboard
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference-node-exporter"></a>

Stellt visualisierte Informationen zu Systemmetriken bereit, die vom [Prometheus-Knotenexporter von den Clusterknoten](https://github.com/prometheus/node_exporter) gesammelt wurden. HyperPod 

**Arten von Metriken**
+ **Systemübersicht:** Anzeige der durchschnittlichen CPU-Last und der Speicherauslastung.
+ **Speichermetriken:** Visualisierung der Speicherauslastung, einschließlich Gesamtspeicher, freiem Speicher und Auslagerungsbereich.
+ **Festplattennutzung:** Überwachung der Festplattenauslastung und -verfügbarkeit.
+ **Netzwerkverkehr:** Anzeige der im Laufe der Zeit empfangenen und übertragenen Netzwerkbytes.
+ **Dateisystem-Metriken:** Analyse der Nutzung und Verfügbarkeit des Dateisystems.
+ ** I/O Festplatten-Metriken:** Visualisierung der Lese- und Schreibaktivitäten auf der Festplatte.

**Liste der Metriken**

Eine vollständige Liste der exportierten Metriken finden Sie in den Repositorys [Node Exporter](https://github.com/prometheus/node_exporter?tab=readme-ov-file#enabled-by-default) und [ GitHub procfs](https://github.com/prometheus/procfs?tab=readme-ov-file). Die folgende Tabelle zeigt einen Teil der Metriken, die Einblicke in die Nutzung der Systemressourcen wie CPU-Auslastung, Speicherverbrauch, Festplattenspeicher und Netzwerkaktivität geben.


| Metrikname | Description | 
| --- | --- | 
|  node\$1load1  | Durchschnittliche Auslastung 1 Minute | 
|  node\$1load5  | Durchschnittliche Auslastung 5 Minuten | 
|  node\$1load15  | Durchschnittliche Auslastung 15 Minuten | 
|  node\$1memory\$1MemTotal  | Gesamtsystemspeicher | 
|  node\$1memory\$1MemFree  | Freier Systemspeicher | 
|  node\$1memory\$1MemAvailable  | Verfügbarer Speicher für die Zuweisung zu Prozessen | 
|  node\$1memory\$1Buffers  | Speicher, der vom Kernel für die Pufferung verwendet wird | 
|  node\$1memory\$1Cached  | Speicher, der vom Kernel für das Zwischenspeichern von Dateisystemdaten verwendet wird | 
|  node\$1memory\$1SwapTotal  | Verfügbarer Auslagerungsbereich | 
|  node\$1memory\$1SwapFree  | Kostenloser Auslagerungsbereich | 
|  node\$1memory\$1SwapCached  | Einmal ausgelagerter Speicher wird wieder eingelagert, befindet sich aber weiterhin im Swap | 
|  node\$1filesystem\$1avail\$1bytes  | Verfügbarer Festplattenspeicher in Byte | 
|  node\$1filesystem\$1size\$1bytes  | Gesamter Festplattenspeicher in Byte | 
|  node\$1filesystem\$1free\$1bytes  | Freier Festplattenspeicher in Byte | 
|  node\$1network\$1receive\$1bytes  | Empfangene Netzwerk-Byte | 
|  node\$1network\$1transmit\$1bytes  | Übertragene Netzwerk-Byte | 
|  node\$1disk\$1read\$1bytes  | Gelesene Festplatten-Byte | 
|  node\$1disk\$1written\$1bytes  | Geschriebene Festplatten-Byte | 

## Exporter-Dashboard von NVIDIA DCGM
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference-nvidia-dcgm-exporter"></a>

Bietet visualisierte Informationen zu NVIDIA-GPU-Metriken, die vom [NVIDIA-DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter) erfasst wurden.

**Arten von Metriken**
+ **GPU-Übersicht:** Anzeige der GPU-Auslastung, der Temperaturen, des Stromverbrauchs und der Speicherauslastung. 
+ **Temperaturmetriken:** Visualisierung der GPU-Temperaturen im Zeitverlauf. 
+ **Stromverbrauch:** Überwachung des GPU-Stromverbrauchs und der Trends beim Stromverbrauch. 
+ **Speicherauslastung:** Analyse der GPU-Speichernutzung, einschließlich belegtem, freiem Speicher und Gesamtspeicher. 
+ **Lüftergeschwindigkeit:** Anzeige der Geschwindigkeiten und Variationen der GPU-Lüfter. 
+ **ECC-Fehler:** Verfolgung von ECC-Fehlern und ausstehenden Fehlern im GPU-Speicher.

**Liste der Metriken**

Die folgende Tabelle enthält eine Liste der Metriken, die Einblicke in den Zustand und die Leistung der NVIDIA-GPU bieten, darunter Taktfrequenzen, Temperaturen, Stromverbrauch, Speicherauslastung, Lüftergeschwindigkeiten und Fehlermetriken.


| Metrikname | Description | 
| --- | --- | 
|  DCGM\$1FI\$1DEV\$1SM\$1CLOCK  | SM-Taktfrequenz (in MHz) | 
|  DCGM\$1FI\$1DEV\$1MEM\$1CLOCK  | Speichertaktfrequenz (in MHz) | 
|  DCGM\$1FI\$1DEV\$1MEMORY\$1TEMP  | Speichertemperatur (in C) | 
|  DCGM\$1FI\$1DEV\$1GPU\$1TEMP  | GPU-Temperatur (in C) | 
|  DCGM\$1FI\$1DEV\$1POWER\$1USAGE  | Leistungsaufnahme (in W) | 
|  DCGM\$1FI\$1DEV\$1TOTAL\$1ENERGY\$1CONSUMPTION  | Gesamtenergieverbrauch seit dem Start (in mJ) | 
|  DCGM\$1FI\$1DEV\$1PCIE\$1REPLAY\$1COUNTER  | Gesamtzahl der PCIe Wiederholungen | 
|  DCGM\$1FI\$1DEV\$1MEM\$1COPY\$1UTIL  | Speichernutzung (in %) | 
|  DCGM\$1FI\$1DEV\$1ENC\$1UTIL  | Encoder-Nutzung (in%) | 
|  DCGM\$1FI\$1DEV\$1DEC\$1UTIL  | Decoder-Nutzung (in%) | 
|  DCGM\$1FI\$1DEV\$1XID\$1ERRORS  | Wert des letzten aufgetretenen XID-Fehlers | 
|  DCGM\$1FI\$1DEV\$1FB\$1FREE  | Freier Frame-Pufferspeicher (in MiB) | 
|  DCGM\$1FI\$1DEV\$1FB\$1USED  | Verwendeter Frame-Pufferspeicher (in MiB) | 
|  DCGM\$1FI\$1DEV\$1NVLINK\$1BANDWIDTH\$1TOTAL  | Gesamtzahl der NVLink Bandbreitenzähler für alle Lanes | 
|  DCGM\$1FI\$1DEV\$1VGPU\$1LICENSE\$1STATUS  | Status der vGPU-Lizenz | 
|  DCGM\$1FI\$1DEV\$1UNCORRECTABLE\$1REMAPPED\$1ROWS  | Anzahl der neu zugewiesenen Zeilen für nicht behebbare Fehler | 
|  DCGM\$1FI\$1DEV\$1CORRECTABLE\$1REMAPPED\$1ROWS  | Anzahl der neu zugewiesenen Zeilen für behebbare Fehler | 
|  DCGM\$1FI\$1DEV\$1ROW\$1REMAP\$1FAILURE  | Ob die Neuzuweisung von Zeilen fehlgeschlagen ist | 

## Dashboard für EFA-Metriken
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference-efa-exporter"></a>

Stellt visualisierte Informationen zu den Metriken von [Amazon Elastic Fabric Adapter (EFA)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) bereit, die auf P-Instances installiert sind und vom [EFA-Knoten-Exporter](https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation_and_observability/3.efa-node-exporter/README.md) erfasst wurden.

**Arten von Metriken**
+ **EFA-Fehlermetriken:** Visualisierung von Fehlern wie Zuweisungsfehler, Befehlsfehler und Speicherzuordnungsfehler.
+ **EFA-Netzwerkverkehr:** Überwachung empfangener und übertragener Byte, Pakete und Arbeitsanfragen.
+ **EFA-RDMA-Leistung:** Analyse von RDMA-Lese- und Schreibvorgängen, einschließlich übertragener Byte und Fehlerraten.
+ **Lebensdauer von EFA-Ports:** Anzeige der Lebensdauer von EFA-Ports im Zeitverlauf.
+ **EFA-Keep-Alive-Pakete:** Verfolgung der Anzahl der empfangenen Keep-Alive-Pakete.

**Liste der Metriken**

Die folgende Tabelle enthält eine Liste der Metriken, die Einblicke in verschiedene Aspekte des EFA-Betriebs bieten, darunter Fehler, ausgeführte Befehle, Netzwerkverkehr und Ressourcenauslastung.


| Metrikname | Description | 
| --- | --- | 
|  node\$1amazonefa\$1info  | Nicht numerische Daten von/sys/class/infiniband/, Wert ist immer 1. | 
|  node\$1amazonefa\$1lifespan  | Lebensdauer des Ports | 
|  node\$1amazonefa\$1rdma\$1read\$1bytes  | Anzahl der mit RDMA gelesenen Byte | 
|  node\$1amazonefa\$1rdma\$1read\$1resp\$1bytes  | Anzahl der mit RDMA gelesenen Antwort-Byte | 
|  node\$1amazonefa\$1rdma\$1read\$1wr\$1err  | Anzahl der Lese- und Schreibfehler mit RDMA | 
|  node\$1amazonefa\$1rdma\$1read\$1wrs  | Anzahl der mit RDMA gelesenen rs | 
|  node\$1amazonefa\$1rdma\$1write\$1bytes  | Anzahl der mit RDMA geschriebenen Byte | 
|  node\$1amazonefa\$1rdma\$1write\$1recv\$1bytes  | Anzahl der mit RDMA geschriebenen und empfangenen Byte | 
|  node\$1amazonefa\$1rdma\$1write\$1wr\$1err  | Anzahl der mit Fehler geschriebenen Byte RDMA | 
|  node\$1amazonefa\$1rdma\$1write\$1wrs  | Anzahl der geschriebenen Byte wrs RDMA | 
|  node\$1amazonefa\$1recv\$1bytes  | Anzahl der empfangenen Bytes | 
|  node\$1amazonefa\$1recv\$1wrs  | Anzahl der empfangenen Bytes wrs | 
|  node\$1amazonefa\$1rx\$1bytes  | Anzahl der empfangenen Bytes | 
|  node\$1amazonefa\$1rx\$1drops  | Anzahl der verworfenen Pakete | 
|  node\$1amazonefa\$1rx\$1pkts  | Anzahl der empfangenen Pakete | 
|  node\$1amazonefa\$1send\$1bytes  | Anzahl der gesendeten Byte | 
|  node\$1amazonefa\$1send\$1wrs  | Anzahl der gesendeten wrs | 
|  node\$1amazonefa\$1tx\$1bytes  | Anzahl der übertragenen Bytes | 
|  node\$1amazonefa\$1tx\$1pkts  | Anzahl der übertragenen Pakete | 

## FSx für das Lustre-Metrik-Dashboard
<a name="sagemaker-hyperpod-cluster-observability-slurm-exported-metrics-reference-fsx-exporter"></a>

[Bietet visualisierte Informationen zu den [von Amazon FSx für das Lustre-Dateisystem gesammelten Metriken](https://docs.aws.amazon.com/fsx/latest/LustreGuide/monitoring-cloudwatch.html). CloudWatch](https://docs.aws.amazon.com/fsx/latest/LustreGuide/monitoring-cloudwatch.html)

**Anmerkung**  
Das Grafana FSx for Lustre-Dashboard verwendet Amazon CloudWatch als Datenquelle, was sich von den anderen Dashboards unterscheidet, die Sie für die Verwendung von Amazon Managed Service für Prometheus konfiguriert haben. Um eine genaue Überwachung und Visualisierung von Metriken zu gewährleisten, die sich auf Ihr FSx for Lustre-Dateisystem beziehen, konfigurieren Sie das FSx for Lustre-Dashboard so, dass Amazon CloudWatch als Datenquelle verwendet wird, und geben Sie an, AWS-Region wo Ihr FSx for Lustre-Dateisystem bereitgestellt wird.

**Arten von Metriken**
+ **DataReadBytes:** Die Anzahl der Byte für Lesevorgänge im Dateisystem.
+ **DataWriteBytes:** Die Anzahl der Byte für Schreiboperationen im Dateisystem.
+ **DataReadOperations:** Die Anzahl der Lesevorgänge.
+ **DataWriteOperations:** Die Anzahl der Schreiboperationen.
+ **MetadataOperations:** Die Anzahl der Metadatenoperationen.
+ **FreeDataStorageCapacity:** Die Menge der verfügbaren Speicherkapazität.

# Amazon SageMaker HyperPod Slurm-Metriken
<a name="smcluster-slurm-metrics"></a>

Amazon SageMaker HyperPod bietet eine Reihe von CloudWatch Amazon-Metriken, mit denen Sie den Zustand und die Leistung Ihrer HyperPod Cluster überwachen können. Diese Metriken werden vom Slurm-Workload-Manager erfasst, der auf Ihren HyperPod Clustern ausgeführt wird, und sind im `/aws/sagemaker/Clusters` CloudWatch Namespace verfügbar.

## Metriken auf Clusterebene
<a name="smcluster-slurm-metrics-cluster"></a>

Die folgenden Metriken auf Clusterebene sind verfügbar für. HyperPod Diese Metriken verwenden die `ClusterId` Dimension, um den spezifischen HyperPod Cluster zu identifizieren.


| CloudWatch Name der Metrik | Hinweise | Metrikname „Amazon EKS Container Insights“ | 
| --- | --- | --- | 
| cluster\$1node\$1count | Gesamtzahl der Knoten im Cluster | cluster\$1node\$1count | 
| cluster\$1idle\$1node\$1count | Anzahl der inaktiven Knoten im Cluster | – | 
| cluster\$1failed\$1node\$1count | Anzahl der ausgefallenen Knoten im Cluster | cluster\$1failed\$1node\$1count | 
| cluster\$1cpu\$1count | Gesamtzahl der CPU-Kerne im Cluster | node\$1cpu\$1limit | 
| cluster\$1idle\$1cpu\$1count | Anzahl der CPU-Kerne im Cluster | – | 
| cluster\$1gpu\$1count | Summe GPUs im Cluster | node\$1gpu\$1limit | 
| cluster\$1idle\$1gpu\$1count | Anzahl der inaktiven GPUs Benutzer im Cluster | – | 
| cluster\$1running\$1task\$1count | Gesamtzahl der laufenden Slurm-Aufträge im Cluster | – | 
| cluster\$1pending\$1task\$1count | Gesamtzahl der ausstehenden Slurm-Aufträge im Cluster | – | 
| cluster\$1preempted\$1task\$1count | Gesamtzahl der unterbrochenen Slurm-Aufträge im Cluster | – | 
| cluster\$1avg\$1task\$1wait\$1time | Durchschnittliche Wartezeit für Slurm-Aufträge im Cluster | – | 
| cluster\$1max\$1task\$1wait\$1time | Maximale Wartezeit für Slurm-Aufträge im Cluster | – | 

## Metriken auf Instance-Ebene
<a name="smcluster-slurm-metrics-instance"></a>

Die folgenden Metriken auf Instanzebene sind verfügbar für. HyperPod Diese Metriken verwenden die `ClusterId` Dimension auch, um den spezifischen HyperPod Cluster zu identifizieren.


| CloudWatch Name der Metrik | Hinweise | Metrikname „Amazon EKS Container Insights“ | 
| --- | --- | --- | 
| node\$1gpu\$1utilization | Durchschnittliche GPU-Auslastung über alle Instances | node\$1gpu\$1utilization | 
| node\$1gpu\$1memory\$1utilization | Durchschnittliche GPU-Speicherauslastung über alle Instances | node\$1gpu\$1memory\$1utilization | 
| node\$1cpu\$1utilization | Durchschnittliche CPU-Auslastung über alle Instances hinweg | node\$1cpu\$1utilization | 
| node\$1memory\$1utilization | Durchschnittliche Speicherauslastung über alle Instances hinweg | node\$1memory\$1utilization | 

# SageMaker HyperPod Cluster-Resilienz
<a name="sagemaker-hyperpod-resiliency-slurm"></a>

SageMaker HyperPod durch Slurm-Orchestrierung werden die folgenden Funktionen zur Cluster-Resilienz bereitgestellt.

**Topics**
+ [Beauftragter für Gesundheitsüberwachung](sagemaker-hyperpod-resiliency-slurm-cluster-health-check.md)
+ [Automatische Knotenwiederherstellung und automatische Wiederaufnahme](sagemaker-hyperpod-resiliency-slurm-auto-resume.md)
+ [Ersetzen Sie einen Knoten manuell mit Slurm oder starten Sie ihn neu](sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance.md)

# Beauftragter für Gesundheitsüberwachung
<a name="sagemaker-hyperpod-resiliency-slurm-cluster-health-check"></a>

In diesem Abschnitt werden die Integritätsprüfungen beschrieben, mit denen SageMaker HyperPod der Zustand der Cluster-Instance regelmäßig auf Probleme mit Geräten wie Beschleunigern (GPU- und Trainium-Kerne) und Netzwerken (EFA) überwacht wird. SageMaker HyperPod Der Health Monitoring Agent (HMA) überwacht kontinuierlich den Integritätsstatus jeder GPU-basierten oder Trainium-basierten Instanz. Wenn er Instance- oder GPU-Ausfälle erkennt, markiert der Agent die Instance als fehlerhaft.

SageMaker HyperPod HMA führt dieselben Integritätsprüfungen für EKS- und Slurm-Orchestratoren durch. Weitere Informationen zu HMA finden Sie unter. [System zur Gesundheitsüberwachung](sagemaker-hyperpod-eks-resiliency-health-monitoring-agent.md)

# Automatische Knotenwiederherstellung und automatische Wiederaufnahme
<a name="sagemaker-hyperpod-resiliency-slurm-auto-resume"></a>

**Anmerkung**  
Seit dem 11. September 2025 unterstützt die Orchestrierung HyperPod mit Slurm nun Agenten zur Gesundheitsüberwachung. Führen Sie das AMI aus [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)und aktualisieren Sie es auf die neueste Version, um diese Funktionalität nutzen zu können.

In diesem Abschnitt werden die beiden sich ergänzenden Resilienzfunktionen SageMaker HyperPod von Amazon behandelt: die automatische Wiederherstellung von Knoten, die fehlerhafte Infrastruktur ohne manuelles Eingreifen ersetzt, und die Funktion zur automatischen Wiederaufnahme, mit der Trainingsjobs nach Hardwareausfällen vom letzten Checkpoint aus neu gestartet werden.

## So funktioniert die automatische Wiederherstellung von Knoten
<a name="sagemaker-hyperpod-resiliency-slurm-auto-resume-how"></a>

Während der Clustererstellung oder -aktualisierung können Clusteradministratoren die Wiederherstellungsoption für Knoten (Instance) zwischen `Automatic` (empfohlen) und `None` auf Clusterebene wählen. Wenn diese Option auf gesetzt `Automatic` ist, SageMaker HyperPod werden fehlerhafte Knoten automatisch neu gestartet oder ersetzt. 

**Wichtig**  
Wir empfehlen, die Option `Automatic` einzustellen. Standardmäßig sind die Cluster mit automatischer Knotenwiederherstellung eingerichtet.

Die automatische Knotenwiederherstellung wird ausgeführt, wenn Probleme beim Health Monitoring Agent, bei grundlegenden Zustandsprüfungen und bei umfassenden Integritätsprüfungen festgestellt werden. Wenn diese Option auf gesetzt ist`None`, kennzeichnet der Health Monitoring Agent die Instances, wenn ein Fehler erkannt wird, leitet aber nicht automatisch Reparatur- oder Wiederherstellungsaktionen an den betroffenen Knoten ein. Wir empfehlen diese Option nicht.

## Einen Trainingsjob mit der SageMaker HyperPod Amazon-Funktion zur automatischen Wiederaufnahme ausführen
<a name="sagemaker-hyperpod-resiliency-slurm-auto-resume-job"></a>

In diesem Abschnitt wird beschrieben, wie Sie einen Trainingsjob mit der Funktion zur SageMaker HyperPod automatischen Wiederaufnahme ausführen, die eine Zero-Touch-Resilienz-Infrastruktur bietet, mit der ein Trainingsjob bei einem Hardwarefehler automatisch vom zuletzt gespeicherten Checkpoint wiederhergestellt werden kann.

Wenn mit der Funktion zur automatischen Wiederaufnahme ein Job aufgrund eines Hardwarefehlers oder vorübergehender Probleme zwischen den Schulungen fehlschlägt, startet die SageMaker HyperPod automatische Wiederaufnahme den Knotenaustausch-Workflow und startet den Job neu, nachdem die fehlerhaften Knoten ersetzt wurden. Die folgenden Hardwareprüfungen werden immer dann ausgeführt, wenn ein Job bei Verwendung der automatischen Wiederaufnahme fehlschlägt:


| Kategorie | Name des Dienstprogramms | Kompatibilität von Instance-Typen | Description | 
| --- | --- | --- | --- | 
| Accelerator | NVIDIA SMI | GPU | Das [nvidia-smi](https://developer.nvidia.com/nvidia-system-management-interface) Utility ist eine bekannte CLI zur Verwaltung und Überwachung. GPUs Die integrierte Zustandsprüfung analysiert die Ausgabe von nvidia-smi, um den Zustand der Instance zu ermitteln. | 
| Accelerator | Neuron sysfs | Trainium | Bei Trainium-basierten Instances wird der Zustand der Neuron-Geräte durch Auslesen der Zähler aus [Neuron sysfs](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-sysfs-user-guide.html) ermittelt, die direkt vom Neuron-Treiber übertragen werden. | 
| Netzwerk | EFA | GPU und Trainium | Um die Diagnose von Elastic Fabric Adapter (EFA)-Geräten zu unterstützen, führt die EFA-Zustandsprüfung eine Reihe von Verbindungstests mit allen verfügbaren EFA-Karten innerhalb der Instance durch. | 

**Anmerkung**  
Wenn [Generic Resources (GRES)](https://slurm.schedmd.com/gres.html) an einen Slurm-Knoten angefügt sind, lässt Slurm in der Regel keine Änderungen an der Knotenzuweisung zu, wie z. B. das Ersetzen von Knoten, und erlaubt daher auch nicht die Wiederaufnahme eines fehlgeschlagenen Jobs. Sofern nicht ausdrücklich verboten, setzt die Funktion zur HyperPod automatischen Wiederaufnahme automatisch alle fehlerhaften Jobs, die mit den GRES-fähigen Knoten verknüpft sind, erneut in die Warteschlange. Dieser Vorgang umfasst das Anhalten des Jobs, das Zurücksetzen in die Job-Warteschlange und das anschließende Neustarten des Jobs von Anfang an.

**Verwendung der SageMaker HyperPod Auto-Resume-Funktion mit Slurm**

Wenn Sie die SageMaker HyperPod automatische Wiederaufnahme mit Slurm verwenden, sollten Sie den Job innerhalb einer exklusiven Zuordnung ausführen, die Sie entweder mit `salloc` oder erhalten haben. `sbatch` In jedem Fall müssen Sie das Einstiegspunktskript ändern, um sicherzustellen, dass alle Einrichtungsschritte bei der Wiederaufnahme des Jobs in einem einzigen `srun`-Befehl ausgeführt werden. Über das Eintrittspunktskript ist es wichtig, die Umgebung auf dem ersetzten Knoten so einzurichten, dass sie mit der Umgebung übereinstimmt, in der der Jobschritt vor seiner Unterbrechung ausgeführt wurde. Das folgende Verfahren zeigt, wie Sie ein Entrypoint-Skript vorbereiten, um die Umgebung konsistent zu halten und es als einen einzigen Befehl auszuführen. `srun`

**Tipp**  
Wenn Sie `sbatch` verwenden, können Sie das Batch-Skript einfach halten, indem Sie ein separates Skript zum Einrichten der Umgebung erstellen und einen einzigen `srun`-Befehl verwenden.

1. Erstellen Sie mithilfe des folgenden Codebeispiels ein Skript und speichern Sie es unter `train_auto_resume.sh`. Dieses Skript stellt Trainingsumgebungen bereit, wobei davon ausgegangen wird, dass zuvor keine manuelle Konfiguration für den ersetzten Knoten vorgenommen wurde. Dadurch wird sichergestellt, dass die Umgebung knotenunabhängig ist, sodass beim Austausch eines Knotens dieselbe Umgebung auf dem Knoten bereitgestellt wird, bevor der Job wieder aufgenommen wird.
**Anmerkung**  
Im folgenden Codebeispiel sehen Sie, wie Sie die Slurm-Knotenliste ermitteln, die dem Job zugeordnet ist. Verwenden Sie nicht die von Slurm bereitgestellte `$SLURM_JOB_NODELIST` Umgebungsvariable, da ihr Wert nach der SageMaker HyperPod automatischen Wiederaufnahme des Jobs veraltet sein könnte. Das folgende Codebeispiel zeigt, wie Sie eine neue `NODE_LIST`-Variable definieren, um `SLURM_JOB_NODELIST` zu ersetzen, und dann die Variablen `MASTER_NODE` und `MASTER_ADDR` außerhalb der `NODE_LIST`-Variablen einrichten.

   ```
   #!/bin/bash
   
   # Filename: train_auto_resume.sh
   # Sample containerized script to launch a training job with a single srun which can be auto-resumed.
   
   # Place your training environment setup here. 
   # Example: Install conda, docker, activate virtual env, etc.
   
   # Get the list of nodes for a given job
   NODE_LIST=$(scontrol show jobid=$SLURM_JOBID | \ # Show details of the SLURM job
               awk -F= '/NodeList=/{print $2}' | \  # Extract NodeList field
               grep -v Exc)                         # Exclude nodes marked as excluded
   
   # Determine the master node from the node list
   MASTER_NODE=$(scontrol show hostname $NODE_LIST | \ # Convert node list to hostnames
                 head -n 1)                            # Select the first hostname as master node
   
   # Get the master node address
   MASTER_ADDR=$(scontrol show node=$MASTER_NODE | \ # Show node information
                 awk -F= '/NodeAddr=/{print $2}' | \ # Extract NodeAddr
                 awk '{print $1}')                   # Print the first part of NodeAddr
   
   
   # Torchrun command to launch the training job
   torchrun_cmd="torchrun --nnodes=$SLURM_NNODES \
                          --nproc_per_node=1 \
                          --node_rank=$SLURM_NODE \
                          --master-addr=$MASTER_ADDR \
                          --master_port=1234 \
                          <your_training_script.py>"
   
   # Execute the torchrun command in the 'pytorch' Conda environment, 
   # streaming output live
   /opt/conda/bin/conda run --live-stream -n pytorch $torchrun_cmd
   ```
**Tipp**  
Sie können das vorherige Skript verwenden, um weitere Befehle für die Installation zusätzlicher Abhängigkeiten für Ihren Job hinzuzufügen. Wir empfehlen jedoch, die Skripte zur Installation von Abhängigkeiten in dem [Satz von Lebenszyklusskripten](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) zu belassen, die bei der Clustererstellung verwendet werden. Wenn Sie eine virtuelle Umgebung verwenden, die in einem gemeinsam genutzten Verzeichnis gehostet wird, können Sie dieses Skript auch zum Aktivieren der virtuellen Umgebung verwenden.

1. Starten Sie den Job mit aktivierter SageMaker HyperPod automatischer Wiederaufnahme, indem Sie das Kennzeichen `--auto-resume=1` hinzufügen, das angibt, dass der `srun` Befehl bei einem Hardwarefehler automatisch wiederholt werden soll. 
**Anmerkung**  
Wenn Sie mit `sbatch` oder `salloc` eine Ressourcenzuweisung eingerichtet haben, können Sie innerhalb der Zuordnung mehrere `srun`-Befehle ausführen. Im Falle eines Fehlers funktioniert die Funktion zur SageMaker HyperPod automatischen Wiederaufnahme nur im aktuellen [Jobschritt](https://slurm.schedmd.com/job_launch.html#step_allocation) des `srun` Befehls mit der Markierung`--auto-resume=1`. Mit anderen Worten, die Aktivierung der automatischen Wiederaufnahme in einem `srun`-Befehl gilt nicht für andere `srun`-Befehle, die innerhalb einer Ressourcenzuweisungssitzung gestartet werden.

   Im Folgenden finden Sie einige Beispiele für `srun`-Befehle mit `auto-resume` aktiviert.

   **Verwenden von sbatch**

   Da der Großteil der Logik zum Einrichten der Umgebung bereits in `train_auto_resume.sh` vorhanden ist, sollte das Batch-Skript einfach sein und dem folgenden Codebeispiel ähneln. Gehen Sie davon aus, dass das folgende Batch-Skript unter `batch.sh` gespeichert ist.

   ```
   #!/bin/bash
   #SBATCH --nodes 2
   #SBATCH --exclusive
   srun --auto-resume=1 train_auto_resume.sh
   ```

   Führen Sie das vorstehende Batch-Skript mit dem folgenden Befehl aus.

   ```
   sbatch batch.sh
   ```

   **Verwenden von salloc**

   Beginnen Sie mit dem Erwerb einer exklusiven Zuweisung und führen Sie den `srun`-Befehl mit dem Flag `--auto-resume` und dem Einstiegspunktskript aus.

   ```
   salloc -N 2 --exclusive
   srun --auto-resume=1 train_auto_resume.sh
   ```

## So arbeiten automatische Node Recovery und Auto-Resume zusammen
<a name="sagemaker-hyperpod-resiliency-slurm-auto-resume-node-recovery"></a>

Wenn sowohl automatische Node-Recovery- als auch Auto-Resume-Systeme aktiv sind, verfolgen sie einen koordinierten Ansatz zur Behandlung von Ausfällen. Wenn das HMA einen Hardwarefehler feststellt, wird der Knoten unabhängig vom Status auf Jobebene als leer markiert. Wenn die automatische Wiederherstellung des Knotens aktiviert ist, werden die Knoten automatisch ersetzt, sobald alle auf den Knoten ausgeführten Jobs beendet sind. In diesem Szenario wird bei Jobs mit aktivierter automatischer Wiederaufnahme ein Exit-Status ungleich Null in dem Schritt aktiviert (die Jobs werden fortgesetzt, sobald die Knoten ersetzt wurden). Jobs, bei denen die automatische Wiederaufnahme nicht aktiviert ist, werden einfach beendet und erfordern eine manuelle erneute Einreichung durch Administratoren oder Benutzer.

**Anmerkung**  
Wenn Sie die automatische Wiederaufnahme verwenden, werden die Knoten immer ersetzt (keine Neustarts), wenn Hardwarefehler erkannt werden.

# Ersetzen Sie einen Knoten manuell mit Slurm oder starten Sie ihn neu
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance"></a>

In diesem Abschnitt geht es darum, wann Sie einen Knoten manuell neu starten oder ersetzen sollten, und es gibt Anleitungen, wie Sie beides tun können.

## Wann muss ein Knoten manuell neu gestartet oder ersetzt werden
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-when"></a>

Die HyperPod Auto-Resume-Funktion überwacht, ob der Status Ihrer Slurm-Knoten auf `fail` oder wechselt. `down` Sie können den Status der Slurm-Knoten überprüfen, indem Sie `sinfo` ausführen.

Wenn ein Knoten feststeckt oder nicht reagiert und der automatische Wiederaufnahmeprozess ihn nicht wiederherstellt, können Sie die Wiederherstellung manuell einleiten. Die Wahl zwischen dem Neustart und dem Ersetzen eines Knotens hängt von der Art des Problems ab. Ziehen Sie einen Neustart in Betracht, wenn temporäre oder softwarebezogene Probleme auftreten, wie z. B. Systemabstürze, Speicherlecks, Probleme mit GPU-Treibern, Kernel-Updates oder abgestürzte Prozesse. Wenn Sie jedoch auf anhaltende oder hardwarebezogene Probleme wie Ausfälle GPUs, Speicher- oder Netzwerkfehler, wiederholte Fehler bei der Integritätsprüfung oder Knoten stoßen, die nach mehreren Neustartversuchen nicht mehr reagieren, ist der Austausch von Knoten die geeignetere Lösung.

## Möglichkeiten, Knoten manuell neu zu starten oder zu ersetzen
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-ways"></a>

SageMaker HyperPod bietet zwei Methoden für die manuelle Wiederherstellung von Knoten. Der bevorzugte Ansatz ist die Verwendung von SageMaker HyperPod Reboot and Replace APIs, das einen schnelleren und transparenteren Wiederherstellungsprozess ermöglicht, der für alle Orchestratoren funktioniert. Alternativ können Sie herkömmliche Slurm-Befehle wie verwenden`scontrol update`, obwohl diese ältere Methode direkten Zugriff auf den Controller-Knoten des Slurms erfordert. Beide Methoden aktivieren dieselben SageMaker HyperPod Wiederherstellungsprozesse.

## Starten Sie einen Knoten mithilfe der Reboot-API manuell neu
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-reboot-api"></a>

 Sie können den verwenden **BatchRebootClusterNodes**, um einen fehlerhaften Knoten in Ihrem SageMaker HyperPod Cluster manuell neu zu starten.

 Hier ist ein Beispiel für die Ausführung des Neustartvorgangs auf zwei Instanzen eines Clusters mithilfe von AWS Command Line Interface:

```
 aws sagemaker batch-reboot-cluster-nodes \
                --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \
                --node-ids i-0123456789abcdef0 i-0fedcba9876543210
```

## Manuelles Ersetzen eines Knotens mithilfe der Replace-API
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-replace-api"></a>

 Sie können den verwenden **BatchReplaceClusterNodes**, um einen fehlerhaften Knoten in Ihrem SageMaker HyperPod Cluster manuell zu ersetzen.

 Hier ist ein Beispiel für die Ausführung des Ersetzungsvorgangs auf zwei Instanzen eines Clusters mithilfe von AWS Command Line Interface:

```
 aws sagemaker batch-replace-cluster-nodes \
                --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \
                --node-ids i-0123456789abcdef0 i-0fedcba9876543210
```

## Starten Sie einen Knoten manuell mit Slurm neu
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-reboot"></a>

Sie können auch die Slurm-Befehle von scontrol verwenden, um die Wiederherstellung des Knotens auszulösen. Diese Befehle interagieren direkt mit der Slurm-Steuerebene und rufen dieselben zugrunde liegenden Wiederherstellungsmechanismen auf. SageMaker HyperPod 

Ersetzen Sie den Befehl im folgenden Befehl <ip-ipv4>durch den Slurm-Knotennamen (Hostnamen) der fehlerhaften Instanz, die Sie neu starten möchten.

```
scontrol update node=<ip-ipv4> state=fail reason="Action:Reboot"
```

Dadurch wird der Knoten mit dem angegebenen Grund als FAIL markiert. SageMaker HyperPod erkennt dies und startet die Instanz neu. Vermeiden Sie es, während des Vorgangs den Knotenstatus zu ändern oder den Slurm-Controller neu zu starten.

## Ersetzen Sie einen Knoten manuell mithilfe von Slurm
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-replace"></a>

Sie können den Befehl scontrol update wie folgt verwenden, um einen Knoten zu ersetzen.

Ersetzen Sie den Befehl im folgenden Befehl `<ip-ipv4>` durch den Slurm-Knotennamen (Hostnamen) der fehlerhaften Instanz, die Sie ersetzen möchten.

```
scontrol update node=<ip-ipv4> state=fail reason="Action:Replace"
```

Nach der Ausführung dieses Befehls wechselt der Knoten in den `fail` Status, wartet, bis die aktuell ausgeführten Jobs abgeschlossen sind, wird durch eine fehlerfreie Instanz ersetzt und mit demselben Hostnamen wiederhergestellt. Dieser Vorgang benötigt Zeit, abhängig von den verfügbaren Instances in Ihrer Availability Zone und der Zeit, die für die Ausführung Ihrer Lebenszyklusskripts benötigt wird. Vermeiden Sie es während des Aktualisierungs- und Austauschvorgangs, den Status des Knotens erneut manuell zu ändern oder den Slurm-Controller neu zu starten, da dies dazu führen kann, dass der Austausch fehlschlägt. Wenn der Knoten nicht wiederhergestellt wird oder nach langer Zeit nicht in den Status `idle` wechselt, wenden Sie sich an den [AWS -Support](https://console.aws.amazon.com/support/).

## Manuell die Änderung eines Knotens erzwingen
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-force"></a>

Wenn der fehlerhafte Knoten kontinuierlich in diesem Zustand verharrt, besteht als letzte Möglichkeit darin, den Knotenstatus manuell auf `fail` zu ändern. Dies erfordert Administratorrechte (Sudo-Berechtigungen).

**Warnung**  
Gehen Sie vorsichtig vor, bevor Sie den folgenden Befehl ausführen, da dadurch alle Aufträge beendet werden und Sie möglicherweise alle nicht gespeicherten Arbeiten verlieren.

```
scontrol update node=<ip-ipv4> state=down reason="Action:Replace"
```

# Kontinuierliche Bereitstellung für erweiterte Clusteroperationen mit Slurm
<a name="sagemaker-hyperpod-scaling-slurm"></a>

 SageMaker HyperPod Amazon-Cluster, die mit Slurm-Orchestrierung erstellt wurden, unterstützen jetzt Continuous Provisioning, eine Funktion, die mehr Flexibilität und Effizienz bei der Ausführung großer Workloads ermöglicht. AI/ML Durch die kontinuierliche Bereitstellung können Sie schnell mit dem Training beginnen, nahtlos skalieren, Wartungsarbeiten ohne Betriebsunterbrechung durchführen und einen detaillierten Einblick in den Clusterbetrieb erhalten.

**Anmerkung**  
Continuous Provisioning ist als optionale Konfiguration für neue HyperPod Cluster verfügbar, die mit Slurm-Orchestrierung erstellt wurden. Bestehende Cluster, die das vorherige Skalierungsmodell verwenden, können derzeit nicht auf Continuous Provisioning migriert werden.

## Funktionsweise
<a name="sagemaker-hyperpod-scaling-slurm-how"></a>

Das Continuous Provisioning System führt eine Architektur mit gewünschtem Status ein, die das herkömmliche Skalierungsmodell ersetzt. all-or-nothing Wenn beim vorherigen Modell eine Instanzgruppe nicht vollständig bereitgestellt werden konnte, schlug der gesamte Vorgang zur Clustererstellung oder -aktualisierung fehl und wurde zurückgesetzt. Bei kontinuierlicher Bereitstellung akzeptiert das System Teilkapazität und stellt die verbleibenden Instanzen weiterhin asynchron bereit.

Das System zur kontinuierlichen Bereitstellung:
+ **Akzeptiert die Anfrage**: Zeichnet die Anzahl der Zielinstanzen für jede Instanzgruppe auf.
+ **Initiiert die Bereitstellung**: Beginnt mit dem parallel Start von Instanzen für alle Instanzgruppen.
+ **Stellt zuerst Prioritätsknoten** bereit: Der Cluster wechselt zu, `InService` nachdem mindestens ein Controller-Knoten (und ein Login-Node, falls eine Login-Instanzgruppe angegeben wurde) erfolgreich bereitgestellt wurde.
+ **Verfolgt den Fortschritt**: Überwacht jeden Instance-Startversuch und zeichnet den Status auf.
+ **Behandelt Fehler**: Wiederholt automatisch asynchron fehlgeschlagene Starts für Worker-Knoten.

Die kontinuierliche Bereitstellung ist standardmäßig deaktiviert. Um diese Funktion zu verwenden, stellen Sie `Continuous` in Ihrer `NodeProvisioningMode` `CreateCluster` Anfrage auf ein.

Wenn Continuous Provisioning aktiviert ist, können Sie mehrere Skalierungsvorgänge gleichzeitig initiieren, ohne auf den Abschluss früherer Operationen warten zu müssen. Auf diese Weise können Sie verschiedene Instance-Gruppen im selben Cluster gleichzeitig skalieren und mehrere Skalierungsanforderungen an dieselbe Instance-Gruppe senden.

## Prioritätsbasierte Bereitstellung
<a name="sagemaker-hyperpod-scaling-slurm-priority"></a>

Slurm-Cluster erfordern, dass ein Controller-Knoten betriebsbereit ist, bevor sich Worker-Knoten registrieren und Jobs annehmen können. Continuous Provisioning erledigt dies automatisch durch prioritätsbasiertes Provisioning:

1. Die Controller-Instanzgruppe wird zuerst bereitgestellt.

1. Sobald ein Controller-Knoten fehlerfrei ist, beginnen Anmelde- und Worker-Knoten parallel mit der Bereitstellung.

1. Der Cluster wechselt zu dem `InService` Zeitpunkt, zu dem ein Controller-Knoten und ein Login-Node aktiv sind (sofern eine Login-Instanzgruppe angegeben ist). Wenn keine Login-Instanzgruppe angegeben ist, wechselt der Cluster zu, `InService` sobald der Controller-Knoten bereitgestellt ist.

1. Worker-Knoten, die aufgrund von Kapazitätsbeschränkungen nicht sofort bereitgestellt werden können, treten in eine asynchrone Wiederholungsschleife ein und werden dem Slurm-Cluster automatisch hinzugefügt, sobald sie verfügbar sind.

## Behandlung von Controller-Fehlern
<a name="sagemaker-hyperpod-scaling-slurm-controller-failure"></a>

Wenn der Controller-Knoten bei der Clustererstellung die Bereitstellung fehlschlägt, hängt das Verhalten davon ab, ob der Fehler erneut versucht werden kann oder nicht.

Fehler**, die wiederholt werden können (z. B. fehlerhafte** Instanzen oder vorübergehende Ausfälle):
+ HyperPod ersetzt kontinuierlich die Instanz und versucht erneut, sie bereitzustellen, bis der Controller wieder verfügbar ist.
+ Worker- und Login-Knoten, die bereits bereitgestellt wurden, bleiben verfügbar, aber der Cluster wechselt `InService` erst, wenn der Controller fehlerfrei ist.

**Fehler, die nicht wiederholt werden können** (z. B. keine verfügbare Kapazität für den Controller-Instanztyp oder Fehler im Lifecycle-Skript):
+ Der Cluster ist markiert als. `Failed`
+ Sie werden über die Ursache des Fehlers informiert und müssen Abhilfemaßnahmen ergreifen, z. B. einen anderen Instance-Typ wählen, Lebenszyklusskripts korrigieren oder es in einer anderen Availability Zone erneut versuchen.

## Voraussetzungen
<a name="sagemaker-hyperpod-scaling-slurm-prerequisites"></a>

Kontinuierliches Provisioning erfordert, dass die Slurm-Bereitstellungsparameter (Knotentypen, Partitionsnamen) über die API-Payload im Feld jeder Instanzgruppe bereitgestellt werden. `SlurmConfig` Cluster, die auf der `provisioning_parameters.json` Legacy-Datei in Amazon S3 basieren, sind nicht mit Continuous Provisioning kompatibel.

**Anmerkung**  
Die folgenden Funktionen werden derzeit bei der kontinuierlichen Bereitstellung auf Slurm-Clustern nicht unterstützt: Migration vorhandener Cluster, Konfiguration mehrerer Knoten über eine API-basierte Slurm-Topologie und. `SlurmConfigStrategy` Die kontinuierliche Bereitstellung erfolgt ausschließlich im Merge-Modus für die Verwaltung. `slurm.conf`

## Nutzungsmessung
<a name="sagemaker-hyperpod-scaling-slurm-metering"></a>

HyperPod Cluster mit kontinuierlicher Bereitstellung verwenden Metering auf Instanzebene, um eine genaue Abrechnung zu gewährleisten, die die tatsächliche Ressourcennutzung widerspiegelt. Dieser Zählungsansatz unterscheidet sich von der herkömmlichen Abrechnung auf Clusterebene dadurch, dass jede Instance unabhängig verfolgt wird.

**Abrechnung auf Instance-Ebene**

Bei kontinuierlicher Bereitstellung beginnt und endet die Abrechnung auf der Ebene der einzelnen Instances, anstatt auf Statusänderungen auf Clusterebene zu warten. Diese Methode bietet folgende Vorteile:
+ **Präzise Rechnungsgenauigkeit: Die Abrechnung** beginnt, wenn die Ausführung des Lifecycle-Skripts beginnt. Wenn das Lifecycle-Skript fehlschlägt, wird die Instance-Bereitstellung erneut versucht, und Ihnen wird die Dauer der Laufzeit des Lifecycle-Skripts in Rechnung gestellt.
+ **Unabhängige Messung**: Der Abrechnungszyklus jeder Instanz wird separat verwaltet, wodurch kaskadierende Abrechnungsfehler vermieden werden.
+ **Abrechnungsupdates in Echtzeit**: Die Abrechnung beginnt, wenn eine Instance mit der Ausführung ihres Lebenszyklus-Konfigurationsskripts beginnt, und endet, wenn die Instance in den Endzustand übergeht.

**Lebenszyklus der Abrechnung**

Jede Instance in Ihrem HyperPod Cluster folgt diesem Abrechnungszyklus:
+ Die **Abrechnung beginnt**: Wenn die Instance erfolgreich gestartet wird und mit der Ausführung ihres Lebenszyklus-Konfigurationsskripts beginnt.
+ Die **Abrechnung wird fortgesetzt**: Während der gesamten Betriebsdauer der Instance.
+ Die **Abrechnung wird beendet**: Wenn die Instance unabhängig vom Grund für die Kündigung in den Status „Beenden“ übergeht.

**Anmerkung**  
Die Abrechnung für Instances, die nicht gestartet werden können, beginnt nicht. Wenn der Start einer Instance aufgrund unzureichender Kapazität oder anderer Probleme fehlschlägt, wird Ihnen dieser fehlgeschlagene Versuch nicht in Rechnung gestellt. Die Abrechnung wird auf Instance-Ebene berechnet und die Kosten werden zusammengefasst und unter dem Amazon-Ressourcennamen (ARN) Ihres Clusters gemeldet.

## Erstellen Sie einen Cluster mit aktivierter kontinuierlicher Bereitstellung
<a name="sagemaker-hyperpod-scaling-slurm-create"></a>

**Anmerkung**  
Bereiten Sie ein Lifecycle-Konfigurationsskript vor und laden Sie es in einen Amazon S3 S3-Bucket hoch, auf den Ihre Ausführungsrolle zugreifen kann. Weitere Informationen finden Sie unter [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md).

Bereiten Sie eine `CreateCluster` API-Anforderungsdatei im JSON-Format vor. Stellen `NodeProvisioningMode` Sie diese Option ein `Continuous` und geben Sie im Feld jeder Instanzgruppe Informationen zur Slurm-Topologie an`SlurmConfig`.

```
// create_cluster.json
{
    "ClusterName": "my-training-cluster",
    "NodeProvisioningMode": "Continuous",
    "Orchestrator": {
        "Slurm": {}
    },
    "InstanceGroups": [
        {
            "InstanceGroupName": "controller-group",
            "InstanceType": "ml.m5.xlarge",
            "InstanceCount": 1,
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://amzn-s3-demo-bucket/lifecycle-scripts/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
            "SlurmConfig": {
                "NodeType": "Controller"
            }
        },
        {
            "InstanceGroupName": "login-group",
            "InstanceType": "ml.m5.xlarge",
            "InstanceCount": 1,
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://amzn-s3-demo-bucket/lifecycle-scripts/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
            "SlurmConfig": {
                "NodeType": "Login"
            }
        },
        {
            "InstanceGroupName": "worker-gpu-a",
            "InstanceType": "ml.p5.48xlarge",
            "InstanceCount": 16,
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://amzn-s3-demo-bucket/lifecycle-scripts/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/iam-role-for-cluster",
            "SlurmConfig": {
                "NodeType": "Compute",
                "PartitionNames": ["gpu-training"]
            }
        }
    ],
    "VpcConfig": {
        "SecurityGroupIds": ["sg-12345678"],
        "Subnets": ["subnet-12345678"]
    }
}
```

Führen Sie den `create-cluster` Befehl aus, um die Anfrage einzureichen.

```
aws sagemaker create-cluster \
    --cli-input-json file://complete/path/to/create_cluster.json
```

Dies gibt den ARN des neuen Clusters zurück.

```
{
    "ClusterArn": "arn:aws:sagemaker:us-west-2:111122223333:cluster/abcde12345"
}
```

## Verwaltung der Slurm-Konfiguration
<a name="sagemaker-hyperpod-scaling-slurm-config"></a>

Die kontinuierliche Bereitstellung erfolgt ausschließlich im Merge-Modus für die `slurm.conf` Partitionsverwaltung. HyperPodWendet im Zusammenführungsmodus die Änderungen der Partitionskonfiguration zusätzlich zu den Änderungen an, an denen Sie Änderungen vorgenommen haben. `slurm.conf` HyperPod aktualisiert nur die partitionsbezogenen Abschnitte von `slurm.conf` (wie Partitionsnamen- und Knotennameneinträge); andere Slurm-Konfigurationsparameter werden nicht geändert. Das bedeutet Folgendes:
+ Ihre manuellen Änderungen an bleiben erhalten. `slurm.conf`
+ Es gibt keine automatische Erkennung von Abweichungen oder eine automatische Lösung von Konflikten zwischen Ihren Änderungen und HyperPod dem erwarteten Status.

Der `SlurmConfigStrategy` Parameter (`Managed`,`Merge`,`Overwrite`) wird bei kontinuierlicher Bereitstellung nicht unterstützt. Die Übergabe eines beliebigen `SlurmConfigStrategy` Werts führt zu einem API-Fehler.

# SageMaker HyperPod Cluster-Verwaltung
<a name="sagemaker-hyperpod-cluster-management-slurm"></a>

In den folgenden Themen werden die Protokollierung und Verwaltung von SageMaker HyperPod Clustern behandelt.

## SageMaker HyperPod Ereignisse protokollieren
<a name="sagemaker-hyperpod-cluster-management-slurm-logging-hyperpod-events"></a>

Alle Ereignisse und Protokolle von SageMaker HyperPod werden in Amazon CloudWatch unter dem Namen der Protokollgruppe gespeichert`/aws/sagemaker/Clusters/[ClusterName]/[ClusterID]`. Jeder Aufruf der `CreateCluster`-API erstellt eine neue Protokollgruppe. Die folgende Liste enthält alle verfügbaren Protokollstreams, die in jeder Protokollgruppe gesammelt wurden.


|  |  | 
| --- |--- |
| Name der Protokollgruppe | Name des Protokollstreams | 
| /aws/sagemaker/Clusters/[ClusterName]/[ClusterID] | LifecycleConfig/[instance-group-name]/[instance-id] | 

## Protokollierung SageMaker HyperPod auf Instanzebene
<a name="sagemaker-hyperpod-cluster-management-slurm-logging-at-instance-level"></a>

Sie können CloudWatch während der Konfiguration der Clusterinstanz auf die veröffentlichten LifecycleScript Protokolle zugreifen. Jede Instance innerhalb des erstellten Clusters generiert einen separaten Protokollstream, der sich durch das Format `LifecycleConfig/[instance-group-name]/[instance-id]` unterscheidet. 

Alle Protokolle, in die geschrieben wird, `/var/log/provision/provisioning.log` werden in den vorherigen CloudWatch Stream hochgeladen. Beispiel LifecycleScripts bei der [https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config)Weiterleitung ihres `stdout` und `stderr` an diesen Speicherort. Wenn Sie Ihre benutzerdefinierten Skripts verwenden, schreiben Sie Ihre Protokolle an den `/var/log/provision/provisioning.log` Ort, an dem sie verfügbar sind CloudWatch.

**Markierungen für Lifecycle-Skripte**

CloudWatch Logs für Lebenszyklusskripte enthalten spezielle Markierungen, anhand derer Sie den Ausführungsfortschritt verfolgen und Probleme identifizieren können:


|  |  | 
| --- |--- |
| Marker | Beschreibung | 
| START | Indicates the beginning of lifecycle script logs for the instance | 
| [SageMaker] Lifecycle scripts were provided, with S3 uri: [s3://bucket-name/] and entrypoint script: [script-name.sh] | Indicates the S3 location and entrypoint script that will be used | 
| [SageMaker] Downloading lifecycle scripts | Indicates scripts are being downloaded from the specified S3 location | 
| [SageMaker] Lifecycle scripts have been downloaded | Indicates scripts have been successfully downloaded from S3 | 
| [SageMaker] The lifecycle scripts succeeded | Indicates successful completion of all lifecycle scripts | 
| [SageMaker] The lifecycle scripts failed | Indicates failed execution of lifecycle scripts | 

Anhand dieser Markierungen können Sie schnell erkennen, an welcher Stelle im Ausführungsprozess des Lebenszyklus-Skripts ein Problem aufgetreten ist. Überprüfen Sie bei der Behebung von Fehlern die Protokolleinträge, um festzustellen, wo der Prozess gestoppt wurde oder fehlgeschlagen ist.

**Fehlermeldungen bei Lifecycle-Skripten**

Wenn das Lifecycle-Skript existiert, aber während der Ausführung fehlschlägt, erhalten Sie eine Fehlermeldung, die den Namen der CloudWatch Protokollgruppe und den Namen des Protokolldatenstroms enthält. Falls bei mehreren Instanzen ein Lifecycle-Skript fehlschlägt, weist die Fehlermeldung nur auf eine ausgefallene Instanz hin. Die Protokollgruppe sollte jedoch Streams für alle Instanzen enthalten.

Sie können die Fehlermeldung anzeigen, indem Sie die [DescribeCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)API ausführen oder die Seite mit den Cluster-Details in der SageMaker Konsole aufrufen. In der Konsole befindet sich die Schaltfläche **Lebenszyklus-Skriptprotokolle anzeigen**, mit der Sie direkt zum CloudWatch Protokollstream gelangen. Die Fehlermeldung hat das folgende Format:

```
Instance [instance-id] failed to provision with the following error: "Lifecycle scripts did not run successfully. To view lifecycle script logs,
visit log group ‘/aws/sagemaker/Clusters/[cluster-name]/[cluster-id]' and log stream ‘LifecycleConfig/[instance-group-name]/[instance-id]’.
If you cannot find corresponding lifecycle script logs in CloudWatch, please make sure you follow one of the options here:
https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-faq-slurm.html#hyperpod-faqs-q1.” Note that multiple instances may be impacted.
```

## Taggen von Ressourcen
<a name="sagemaker-hyperpod-cluster-management-slurm-tagging"></a>

AWS Das Tagging-System hilft bei der Verwaltung, Identifizierung, Organisation, Suche und Filterung von Ressourcen. SageMaker HyperPod unterstützt Tagging, sodass Sie die Cluster als Ressource verwalten können. AWS Während der Clustererstellung oder Bearbeitung eines vorhandenen Clusters können Sie Tags für den Cluster hinzufügen oder bearbeiten. Weitere Informationen zum Markieren im Allgemeinen finden Sie unter [Markieren Ihrer AWS -Ressourcen](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

### Verwenden der Benutzeroberfläche der SageMaker HyperPod Konsole
<a name="sagemaker-hyperpod-cluster-management-slurm-tagging-in-console"></a>

Wenn Sie [einen neuen Cluster erstellen](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-create-cluster) oder [einen Cluster bearbeiten](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters), können Sie Tags hinzufügen, entfernen oder bearbeiten.

### Mit dem SageMaker HyperPod APIs
<a name="sagemaker-hyperpod-cluster-management-slurm-tagging-in-api-request"></a>

Wenn Sie eine [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)oder [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API-Anforderungsdatei im JSON-Format schreiben, bearbeiten Sie den `Tags` Abschnitt.

### Verwenden Sie die AWS CLI Tagging-Befehle für KI SageMaker
<a name="sagemaker-hyperpod-cluster-management-slurm-tagging-using-cli"></a>

**So markieren Sie einen Cluster**

Verwenden Sie [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/add-tags.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/add-tags.html) wie folgt.

```
aws sagemaker add-tags --resource-arn cluster_ARN --tags Key=string,Value=string
```

**So heben Sie die Markierung eines Clusters auf**

Verwenden Sie [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-tags.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-tags.html) wie folgt.

```
aws sagemaker delete-tags --resource-arn cluster_ARN --tag-keys "tag_key"
```

**So listen Sie Tags für eine Ressource auf**

Verwenden Sie [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-tags.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-tags.html) wie folgt.

```
aws sagemaker list-tags --resource-arn cluster_ARN
```

# SageMaker HyperPod FAQs
<a name="sagemaker-hyperpod-faq-slurm"></a>

Verwenden Sie die folgenden häufig gestellten Fragen, um Probleme bei der Verwendung von zu beheben SageMaker HyperPod.

**Topics**
+ [Warum kann ich in Amazon keine Protokollgruppen meines SageMaker HyperPod Clusters finden CloudWatch?](#hyperpod-faqs-q1)
+ [Welche speziellen Konfigurationen werden in Slurm-Konfigurationsdateien wie `slurm.conf` und HyperPod `gres.conf` verwaltet?](#hyperpod-faqs-q2)
+ [Wie führe ich Docker auf Slurm-Knoten aus? HyperPod](#hyperpod-faqs-q3)
+ [Warum schlägt mein parallel Trainingsjob fehl, wenn ich die NVIDIA Collective Communications Library (NCCL) mit Slurm auf der Plattform verwende? SageMaker HyperPod](#hyperpod-faqs-q4)
+ [Wie verwende ich den lokalen NVMe Speicher von P-Instances, um Docker- oder Enroot-Container mit Slurm zu starten?](#hyperpod-faqs-q5)
+ [Wie richten Sie EFA-Sicherheitsgruppen ein?](#hyperpod-faqs-q6)
+ [Wie überwache ich meine Clusterknoten? HyperPod Gibt es CloudWatch Metriken, aus denen exportiert wurde HyperPod?](#hyperpod-faqs-q7)
+ [Kann ich den HyperPod Clusterknoten zusätzlichen Speicher hinzufügen? Die Cluster-Instances haben einen begrenzten lokalen Instance-Speicher.](#hyperpod-faqs-q8)
+ [Warum werden meine Rechenknoten nach einem Neustart als „DOWN“ oder „DRAINED“ angezeigt?](#hyperpod-faqs-q9)
+ [Warum werden meine Knoten aufgrund von Speicherplatzproblemen (OOM) immer wieder heruntergefahren?](#hyperpod-faqs-q10)
+ [Wie kann ich sicherstellen, dass Ressourcen nach Abschluss von Aufträgen ordnungsgemäß bereinigt werden?](#hyperpod-faqs-q11)

## Warum kann ich in Amazon keine Protokollgruppen meines SageMaker HyperPod Clusters finden CloudWatch?
<a name="hyperpod-faqs-q1"></a>

Standardmäßig werden Agentenprotokolle und Instance-Startprotokolle an die Konten der HyperPod Plattform gesendet CloudWatch. Im Fall von Benutzerlebenszyklus-Skripten werden die Lebenszykluskonfigurationsprotokolle an Ihr Konto gesendet CloudWatch.

Wenn Sie die vom HyperPod Serviceteam bereitgestellten [Beispiel-Lebenszyklusskripte](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) verwenden, können Sie davon ausgehen, dass die Lebenszyklus-Konfigurationsprotokolle in die geschrieben wurden`/var/log/provision/provisioning.log`, und dieses Problem würde nicht auftreten.

Wenn Sie jedoch benutzerdefinierte Pfade für das Sammeln von Protokollen aus der Lebenszyklusbereitstellung verwenden und die Protokollgruppen in Ihren Konten nicht finden können, kann dies daran liegen CloudWatch, dass die in Ihren Lifecycle-Skripten angegebenen Protokolldateipfade nicht mit dem übereinstimmen, wonach der auf den HyperPod Cluster-Instances ausgeführte CloudWatch Agent sucht. In diesem Fall bedeutet dies, dass Sie Ihre Lifecycle-Skripts ordnungsgemäß einrichten müssen, um Protokolle an den CloudWatch Agenten zu senden, und auch die CloudWatch Agentenkonfiguration entsprechend einrichten müssen. Um das Problem zu beheben, wählen Sie eine der folgenden Optionen.
+ **Option 1:** Aktualisieren Sie Ihre Lebenszyklusskripte, um Protokolle in `/var/log/provision/provisioning.log` zu schreiben.
+ **Option 2:** Aktualisieren Sie den CloudWatch Agenten so, dass er nach Ihren benutzerdefinierten Pfaden für die Protokollierung der Lebenszyklusbereitstellung sucht.

  1. Jede HyperPod Clusterinstanz enthält eine CloudWatch Agentenkonfigurationsdatei im JSON-Format unter`/opt/aws/amazon-cloudwatch-agent/sagemaker_cwagent_config.json`. Suchen Sie in der Konfigurationsdatei nach dem Feldnamen `logs.logs_collected.files.collect_list.file_path`. Bei der Standardeinstellung von sollte HyperPod das Schlüssel-Wert-Paar `"file_path": "/var/log/provision/provisioning.log"` wie unter dokumentiert sein. [Protokollierung SageMaker HyperPod auf Instanzebene](sagemaker-hyperpod-cluster-management-slurm.md#sagemaker-hyperpod-cluster-management-slurm-logging-at-instance-level) Der folgende Codeausschnitt zeigt, wie die JSON-Datei mit der Standardkonfiguration aussieht. HyperPod 

     ```
     "logs": {
         "logs_collected": {
             "files": {
                 "collect_list": [
                     {
                         "file_path": "/var/log/provision/provisioning.log",
                         "log_group_name": "/aws/sagemaker/Clusters/[ClusterName]/[ClusterID]",
                         "log_stream_name": "LifecycleConfig/[InstanceGroupName]/{instance_id}",
                         "retention_in_days": -1
                     }
                 ]
             }
         },
         "force_flush_interval": 3
     }
     ```

  1. Ersetzen Sie den Wert für den `"file_path"`-Feldnamen durch den benutzerdefinierten Pfad, den Sie in Ihren Lebenszyklusskripten verwenden. Wenn Sie beispielsweise Ihre Lebenszyklusskripte so eingerichtet haben, dass sie in `/var/log/custom-provision/custom-provisioning.log` schreiben, aktualisieren Sie den Wert wie folgt, sodass er mit ihm übereinstimmt.

     ```
     "file_path": "/var/log/custom-provision/custom-provisioning.log"
     ```

  1. Starten Sie den CloudWatch Agenten mit der Konfigurationsdatei neu, um die Anwendung des benutzerdefinierten Pfads abzuschließen. Der folgende CloudWatch Befehl zeigt beispielsweise, wie der CloudWatch Agent mit der CloudWatch Agent-Konfigurationsdatei aus Schritt 1 neu gestartet wird. Weitere Informationen finden Sie unter [Problembehandlung beim CloudWatch Agenten](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html).

     ```
     sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
         -a fetch-config -m ec2 -s -c \
         file:/opt/aws/amazon-cloudwatch-agent/sagemaker_cwagent_config.json
     ```

## Welche speziellen Konfigurationen werden in Slurm-Konfigurationsdateien wie `slurm.conf` und HyperPod `gres.conf` verwaltet?
<a name="hyperpod-faqs-q2"></a>

Wenn Sie einen Slurm-Cluster erstellen HyperPod, richtet der HyperPod Agent die [https://slurm.schedmd.com/gres.conf.html](https://slurm.schedmd.com/gres.conf.html)Dateien [https://slurm.schedmd.com/slurm.conf.html](https://slurm.schedmd.com/slurm.conf.html)und unter ein, um den Slurm-Cluster auf der Grundlage Ihrer Anfrage `/opt/slurm/etc/` zur Clustererstellung und der HyperPod Lebenszyklusskripte zu verwalten. Die folgende Liste zeigt, welche spezifischen Parameter der HyperPod Agent verarbeitet und überschreibt. 

**Wichtig**  
Wir empfehlen dringend, diese von HyperPod verwalteten Parameter NICHT zu ändern.
+ In [https://slurm.schedmd.com/slurm.conf.html](https://slurm.schedmd.com/slurm.conf.html), HyperPod richtet die folgenden grundlegenden Parameter ein: `ClusterName``SlurmctldHost`,`PartitionName`, und`NodeName`.

  Um die [Automatische Knotenwiederherstellung und automatische Wiederaufnahme](sagemaker-hyperpod-resiliency-slurm-auto-resume.md) Funktionalität zu aktivieren, HyperPod müssen außerdem die `SchedulerParameters` Parameter `TaskPlugin` und wie folgt festgelegt werden. Der HyperPod Agent richtet diese beiden Parameter standardmäßig mit den erforderlichen Werten ein.

  ```
  TaskPlugin=task/none
  SchedulerParameters=permit_job_expansion
  ```
+ In [https://slurm.schedmd.com/gres.conf.html](https://slurm.schedmd.com/gres.conf.html), HyperPod verwaltet `NodeName` für GPU-Knoten.

## Wie führe ich Docker auf Slurm-Knoten aus? HyperPod
<a name="hyperpod-faqs-q3"></a>

Um Sie bei der Ausführung von Docker auf Ihren Slurm-Knoten zu unterstützen HyperPod, stellt das HyperPod Service-Team Setup-Skripte zur Verfügung, die Sie als Teil der Lebenszykluskonfiguration für die Clustererstellung hinzufügen können. Weitere Informationen hierzu finden Sie unter [Die grundlegenden Lebenszyklusskripte werden bereitgestellt von HyperPod](sagemaker-hyperpod-lifecycle-best-practices-slurm-slurm-base-config.md) und [Docker-Container auf einem Slurm-Rechenknoten ausführen auf HyperPod](sagemaker-hyperpod-run-jobs-slurm-docker.md).

## Warum schlägt mein parallel Trainingsjob fehl, wenn ich die NVIDIA Collective Communications Library (NCCL) mit Slurm auf der Plattform verwende? SageMaker HyperPod
<a name="hyperpod-faqs-q4"></a>

Standardmäßig legt das Linux-Betriebssystem die `#RemoveIPC=yes`-Flag fest. Slurm- und mpirun-Aufträge, die NCCL verwenden, generieren Ressourcen für die Interprozesskommunikation (IPC) unter Nicht-Root-Benutzersitzungen. Diese Benutzersitzungen werden möglicherweise während des Auftragsvorgangs abgemeldet.

 Wenn Sie Aufträge mit Slurm oder mpirun ausführen, wenn `systemd` feststellt, dass der Benutzer nicht angemeldet ist, werden die IPC-Ressourcen bereinigt. Slurm- und mpirun-Aufträge können ausgeführt werden, ohne dass der Benutzer angemeldet ist. Dazu ist es jedoch erforderlich, die Bereinigung auf systemd-Ebene zu deaktivieren und stattdessen auf Slurm-Ebene einzurichten. Weitere Informationen finden Sie unter [Systemd in der NCCL-Dokumentation](https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/troubleshooting.html#systemd). 

Führen Sie die folgenden Schritte aus, um die Bereinigung auf Systemd-Ebene zu deaktivieren.

1. Legen Sie die Flag `#RemoveIPC=no` in der Datei `/etc/systemd/logind.conf` fest, wenn Sie Trainingsjobs ausführen, die Slurm und NCCL verwenden.

1.  Standardmäßig bereinigt Slurm gemeinsam genutzte Ressourcen nicht. Wir empfehlen Ihnen, ein Slurm-Epilog-Skript einzurichten, um gemeinsam genutzte Ressourcen zu bereinigen. Diese Bereinigung ist nützlich, wenn Sie viele gemeinsam genutzte Ressourcen haben und diese nach Trainingsjobs bereinigen möchten. Nachfolgend sehen Sie ein Beispielskript.

   ```
   #!/bin/bash
   : <<'SUMMARY'
   Script: epilog.sh
   
   Use this script with caution, as it can potentially delete unnecessary resources and cause issues if you don't use it correctly.
   
   Note: You must save this script in a shared in a shared location that is accessible to all nodes in the cluster, such as /fsx volume.
   Workers must be able to access the script to run the script after jobs.
   
   SUMMARY
   
   # Define the log directory and create it if it doesn't exist
   LOG_DIR="/<PLACEHOLDER>/epilogue" #NOTE: Update PLACEHOLDER to be a shared value path, such as /fsx/epilogue.
   mkdir -p "$LOG_DIR"
   
   # Name the log file using the Slurm job name and job ID
   log_file="$LOG_DIR/epilogue-${SLURM_JOB_NAME}_${SLURM_JOB_ID}.log"
   
   logging() {
       echo "[$(date)] $1" | tee -a "$log_file"
   }
   
   # Slurm epilogue script to clean up IPC resources
   logging "Starting IPC cleanup for Job $SLURM_JOB_ID"
   
   # Clean up shared memory segments by username
   for seg in $(ipcs -m | awk -v owner="$SLURM_JOB_USER" '$3 == owner {print $2}'); do
       if ipcrm -m "$seg"; then
           logging "Removed shared memory segment $seg"
       else
           logging "Failed to remove shared memory segment $seg"
       fi
   done
   
   # Clean up semaphores by username
   for sem in $(ipcs -s | awk -v user="$SLURM_JOB_USER" '$3 == user {print $2}'); do
       if ipcrm -s "$sem"; then
           logging "Removed semaphore $sem"
       else
           logging "Failed to remove semaphore $sem"
       fi
   done
   
   # Clean up NCCL IPC
   NCCL_IPC_PATH="/dev/shm/nccl-*"
   for file in $NCCL_IPC_PATH; do
       if [ -e "$file" ]; then
           if rm "$file"; then
               logging "Removed NCCL IPC file $file"
           else
               logging "Failed to remove NCCL IPC file $file"
           fi
       fi
   done
   logging "IPC cleanup completed for Job $SLURM_JOB_ID"
   exit 0
   ```

   Weitere Informationen zum Epilog-Parameter finden Sie in der [Slurm-Dokumentation](https://slurm.schedmd.com/slurm.conf.html#OPT_Epilog).

1. Fügen Sie in der `slurm.conf`-Datei vom Controller-Knoten eine Zeile hinzu, die auf das von Ihnen erstellte Epilog-Skript verweist.

   ```
   Epilog="/path/to/epilog.sh"  #For example: /fsx/epilogue/epilog.sh
   ```

1. Führen Sie die folgenden Befehle aus, um die Berechtigungen des Skripts zu ändern und es ausführbar zu machen.

   ```
   chown slurm:slurm /path/to/epilog.sh
   chmod +x  /path/to/epilog.sh
   ```

1. Führen Sie den Befehl `scontrol reconfigure` aus, um alle Ihre Änderungen zu übernehmen.

## Wie verwende ich den lokalen NVMe Speicher von P-Instances, um Docker- oder Enroot-Container mit Slurm zu starten?
<a name="hyperpod-faqs-q5"></a>

Da das Standard-Root-Volume Ihres Hauptknotens normalerweise auf ein EBS-Volume von 100 GB begrenzt ist, müssen Sie Docker und Enroot so einrichten, dass sie den lokalen Instance-Speicher verwenden. NVMe Informationen zum Einrichten eines NVMe Speichers und dessen Verwendung zum Starten von Docker-Containern finden Sie unter. [Docker-Container auf einem Slurm-Rechenknoten ausführen auf HyperPod](sagemaker-hyperpod-run-jobs-slurm-docker.md)

## Wie richten Sie EFA-Sicherheitsgruppen ein?
<a name="hyperpod-faqs-q6"></a>

Wenn Sie einen HyperPod Cluster mit EFA-fähigen Instances erstellen möchten, stellen Sie sicher, dass Sie eine Sicherheitsgruppe einrichten, die den gesamten eingehenden und ausgehenden Datenverkehr zur und von der Sicherheitsgruppe selbst zulässt. Weitere Informationen finden Sie unter [Schritt 1: Vorbereiten einer EFA-fähigen Sicherheitsgruppe](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-security) im *Amazon-EC2-Benutzerhandbuch*.

## Wie überwache ich meine Clusterknoten? HyperPod Gibt es CloudWatch Metriken, aus denen exportiert wurde HyperPod?
<a name="hyperpod-faqs-q7"></a>

Um einen Überblick über die Ressourcennutzung Ihres HyperPod Clusters zu erhalten, empfehlen wir Ihnen, den HyperPod Cluster in Amazon Managed Grafana und Amazon Managed Service for Prometheus zu integrieren. Mit verschiedenen Open-Source-Grafana-Dashboards und Exportpaketen können Sie Metriken zu den Cluster-Ressourcen exportieren und visualisieren. HyperPod Weitere Informationen zur Einrichtung SageMaker HyperPod mit Amazon Managed Grafana und Amazon Managed Service für Prometheus finden Sie unter. [SageMaker HyperPod Überwachung der Cluster-Ressourcen](sagemaker-hyperpod-cluster-observability-slurm.md) Beachten Sie, dass der Export von Systemmetriken nach Amazon SageMaker HyperPod derzeit nicht unterstützt wird. CloudWatch

## Kann ich den HyperPod Clusterknoten zusätzlichen Speicher hinzufügen? Die Cluster-Instances haben einen begrenzten lokalen Instance-Speicher.
<a name="hyperpod-faqs-q8"></a>

Wenn der standardmäßige Instance-Speicher für Ihren Workload nicht ausreicht, können Sie zusätzlichen Speicher pro Instance konfigurieren. Ab der [Veröffentlichung am 20. Juni 2024](sagemaker-hyperpod-release-notes.md#sagemaker-hyperpod-release-notes-20240620) können Sie jeder Instance in Ihrem SageMaker HyperPod Cluster ein zusätzliches Amazon Elastic Block Store (EBS) -Volume hinzufügen. Beachten Sie, dass diese Funktion nicht auf bestehende Instanzgruppen von SageMaker HyperPod Clustern angewendet werden kann, die vor dem 20. Juni 2024 erstellt wurden. Sie können diese Funktion nutzen, indem Sie bestehende SageMaker HyperPod Cluster, die vor dem 20. Juni 2024 erstellt wurden, patchen und ihnen neue Instanzgruppen hinzufügen. Diese Funktion ist für alle SageMaker HyperPod Cluster, die nach dem 20. Juni 2024 erstellt wurden, voll wirksam.

## Warum werden meine Rechenknoten nach einem Neustart als „DOWN“ oder „DRAINED“ angezeigt?
<a name="hyperpod-faqs-q9"></a>

Dies tritt in der Regel auf, wenn Knoten mit `sudo reboot` statt mit der Slurm-Steuerungsschnittstelle neu gestartet werden. Verwenden Sie den Slurm-Befehl `scontrol reboot nextstate=resume <list_of_nodes>`, um Knoten ordnungsgemäß neu zu starten. Dadurch wird sichergestellt, dass Slurm die richtige Kontrolle über den Knotenstatus behält und nach dem Neustart den normalen Betrieb wieder aufnimmt.

Bei GPU-Instances (wie NVIDIA P5) kann dies auch passieren, wenn der Knoten seinen Startvorgang nicht innerhalb der Standardzeit von Slurm (60 Sekunden) abschließen kann. Um dieses Problem zu beheben, erhöhen Sie den `TimeToResume`-Parameter in `slurm.conf` auf 300 Sekunden. Dadurch haben GPU-Instances ausreichend Zeit, um Treiber zu starten und zu initialisieren.

## Warum werden meine Knoten aufgrund von Speicherplatzproblemen (OOM) immer wieder heruntergefahren?
<a name="hyperpod-faqs-q10"></a>

OOM-Probleme treten auf, wenn Aufträge die Speicherkapazität des Knotens überschreiten. Um dies zu verhindern, implementieren Sie `cgroups`, um das Speicherlimits pro Auftrag zu erzwingen. Dadurch wird verhindert, dass sich ein einzelner Auftrag auf den gesamten Knoten auswirkt, und Isolierung und Stabilität werden verbessert.

Beispieleinrichtung in `slurm.conf`: 

```
TaskPlugin=task/cgroup
```

Beispieleinrichtung in `cgroup.conf`:

```
CgroupAutomount=yes
ConstrainCores=yes
CgroupPlugin=autodetect
ConstrainDevices=yes
ConstrainRAMSpace=yes
ConstrainSwapSpace=yes
SignalChildrenProcesses=yes
MaxRAMPercent=99
MaxSwapPercent=80
MinRAMSpace=100
```

Weitere Informationen finden Sie unter [Kontrollgruppe in Slurm](https://slurm.schedmd.com/cgroups.html), [Cgroup- und PAM-basierte Anmeldesteuerung für Slurm-Rechenknoten](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils/pam_adopt_cgroup_wheel.sh#L197) und [Konfigurieren von Cgroups für Slurm](https://catalog.workshops.aws/sagemaker-hyperpod/en-US/07-tips-and-tricks/16-enable-cgroups).

## Wie kann ich sicherstellen, dass Ressourcen nach Abschluss von Aufträgen ordnungsgemäß bereinigt werden?
<a name="hyperpod-faqs-q11"></a>

Implementieren Sie Epilog-Skripte, um Ressourcen nach Abschluss von Aufträgen automatisch zu bereinigen. Ressourcen werden möglicherweise nicht ordnungsgemäß gelöscht, wenn Aufträge unerwartet abstürzen, Fehler enthalten, die eine normale Bereinigung verhindern, oder wenn gemeinsam genutzte Speicherpuffer (einschließlich solcher, die zwischen Prozessen und GPU-Treibern gemeinsam genutzt werden) zugewiesen bleiben.

Epilog-Skripte können Aufgaben wie das Löschen des GPU-Speichers, das Entfernen temporärer Dateien und das Aushängen von Dateisystemen ausführen. Diese Skripte weisen Einschränkungen auf, wenn Ressourcen nicht ausschließlich einem einzelnen Auftrag zugewiesen sind. Ausführliche Anweisungen und Beispielskripte finden Sie im zweiten Aufzählungspunkt der Frage [Warum schlägt mein parallel Trainingsjob fehl, wenn ich die NVIDIA Collective Communications Library (NCCL) mit Slurm auf der Plattform verwende? SageMaker HyperPod](#hyperpod-faqs-q4). Weitere Informationen finden Sie unter [Aktivieren des Slurm-Epilog-Skripts](https://catalog.workshops.aws/sagemaker-hyperpod/en-US/07-tips-and-tricks/18-slurm-epilogue).

# Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS
<a name="sagemaker-hyperpod-eks"></a>

SageMaker HyperPod ist ein SageMaker KI-verwalteter Service, der ein umfangreiches Training von Basismodellen auf langlebigen und belastbaren Rechenclustern ermöglicht und zur Orchestrierung der HyperPod Rechenressourcen in Amazon EKS integriert wird. Mithilfe von Amazon EKS-Clustern mit HyperPod Resilienzfunktionen, die nach verschiedenen Hardwarefehlern suchen und fehlerhafte Knoten automatisch wiederherstellen, können Sie unterbrechungsfreie Trainingsjobs über Wochen oder Monate in großem Umfang ausführen. 

Zu den wichtigsten Features für Clusteradministratoren gehören die folgenden.
+ Bereitstellung HyperPod robuster Cluster und deren Anbindung an eine EKS-Steuerebene
+ Ermöglicht dynamisches Kapazitätsmanagement, wie das Hinzufügen weiterer Knoten, das Aktualisieren von Software und das Löschen von Clustern.
+ Aktivierung des Zugriffs auf die Cluster-Instances direkt über `kubectl` oder SSM/SSH
+ Bietet [Resilienzfunktionen](sagemaker-hyperpod-eks-resiliency.md), darunter grundlegende Gesundheitschecks, eingehende Gesundheitschecks, einen Agenten zur Gesundheitsüberwachung und Unterstützung für die automatische Wiederaufnahme von Jobs PyTorch 
+ [Integration mit Observability-Tools wie [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html), [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) und Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)

Für Benutzer von Datenwissenschaftlern ermöglicht die EKS-Unterstützung Folgendes. HyperPod 
+ Ausführung von containerisierten Workloads zum Trainieren von Basismodellen auf dem Cluster HyperPod 
+ Inferenz auf dem EKS-Cluster ausführen und dabei die Integration zwischen und EKS nutzen HyperPod 
+ Nutzung der Funktion zur automatischen Wiederaufnahme von Jobs für [ PyTorch Kubeflow-Schulungen](https://www.kubeflow.org/docs/components/training/user-guides/pytorch/) () PyTorchJob

**Anmerkung**  
Amazon EKS ermöglicht die benutzerverwaltete Orchestrierung von Aufgaben und Infrastruktur SageMaker HyperPod über die Amazon EKS Control Plane. Stellen Sie sicher, dass der Benutzerzugriff auf den Cluster über den Kubernetes API-Server-Endpunkt dem Prinzip der geringsten Rechte folgt und dass der Netzwerkausgang aus dem Cluster gesichert ist. HyperPod   
Weitere Informationen zur Sicherung des Zugriffs auf den API-Server von Amazon EKS finden Sie unter [Steuern des Netzwerkzugriffs auf den Cluster-API-Serverendpunkt](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html).  
Weitere Informationen zur Sicherung des Netzwerkzugriffs finden Sie unter. HyperPod [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc)

Die High-Level-Architektur der Amazon EKS-Unterstützung HyperPod beinhaltet eine 1-zu-1-Zuordnung zwischen einem EKS-Cluster (Kontrollebene) und einem HyperPod Cluster (Worker-Knoten) innerhalb einer VPC, wie in der folgenden Abbildung dargestellt.

![\[EKS and HyperPod VPC architecture with control plane, Cluster nodes, and AWS-Services.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-eks-diagram.png)


# Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden
<a name="sagemaker-hyperpod-eks-operate"></a>

Dieser Abschnitt enthält Anleitungen zur Verwaltung SageMaker HyperPod über die Benutzeroberfläche der SageMaker AI-Konsole oder die AWS Command Line Interface (CLI). Es wird erklärt, wie Sie verschiedene Aufgaben ausführen können SageMaker HyperPod, je nachdem, ob Sie eine visuelle Oberfläche bevorzugen oder mit Befehlen arbeiten.

**Topics**
+ [Erste Schritte mit der Amazon EKS-Unterstützung in SageMaker HyperPod](sagemaker-hyperpod-eks-prerequisites.md)
+ [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md)
+ [Einrichten der rollenbasierten Zugriffskontrolle für Kubernetes](sagemaker-hyperpod-eks-setup-rbac.md)
+ [Benutzerdefinierte Amazon Machine Images (AMIs) für SageMaker HyperPod Cluster](hyperpod-custom-ami-support.md)
+ [Verwaltung von SageMaker HyperPod EKS-Clustern mithilfe der SageMaker Konsole](sagemaker-hyperpod-eks-operate-console-ui.md)
+ [SageMaker HyperPod Cluster mithilfe von CloudFormation Vorlagen erstellen](smcluster-getting-started-eks-console-create-cluster-cfn.md)
+ [Verwaltung von SageMaker HyperPod EKS-Clustern mit dem AWS CLI](sagemaker-hyperpod-eks-operate-cli-command.md)
+ [HyperPod verwaltetes mehrstufiges Checkpointing](managed-tier-checkpointing.md)
+ [SageMaker HyperPod Verwaltung von Aufgaben](sagemaker-hyperpod-eks-operate-console-ui-governance.md)
+ [Nutzungsberichte für die Kostenzuweisung in SageMaker HyperPod](sagemaker-hyperpod-usage-reporting.md)
+ [Konfiguration von Speicher für von Amazon EKS orchestrierte SageMaker HyperPod Cluster](sagemaker-hyperpod-eks-setup-storage.md)
+ [Verwenden des Amazon EBS CSI-Treibers auf SageMaker HyperPod EKS-Clustern](sagemaker-hyperpod-eks-ebs.md)
+ [Konfiguration benutzerdefinierter Kubernetes-Labels und -Taints in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-custom-labels-and-taints.md)

# Erste Schritte mit der Amazon EKS-Unterstützung in SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-prerequisites"></a>

Informieren Sie sich neben den allgemeinen Angaben [Voraussetzungen für die Verwendung SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md) über die folgenden Anforderungen und Überlegungen zur Orchestrierung von SageMaker HyperPod Clustern mithilfe von Amazon EKS. SageMaker HyperPod

**Wichtig**  
Sie können die Ressourcenkonfiguration für die Erstellung von SageMaker HyperPod Clustern mithilfe von AWS-Managementkonsole und CloudFormation einrichten. Weitere Informationen erhalten Sie unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) und [SageMaker HyperPod Cluster mithilfe von CloudFormation Vorlagen erstellen](smcluster-getting-started-eks-console-create-cluster-cfn.md).

**Voraussetzungen**

**Anmerkung**  
Bevor Sie einen HyperPod Cluster erstellen, benötigen Sie einen laufenden Amazon EKS-Cluster, der mit VPC konfiguriert und mit Helm installiert wurde.
+ Wenn Sie die SageMaker AI-Konsole verwenden, können Sie auf der Cluster-Konsolenseite einen Amazon HyperPod EKS-Cluster erstellen. Weitere Informationen finden Sie unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).
+ Wenn Sie AWS CLI verwenden, sollten Sie einen Amazon EKS-Cluster erstellen, bevor Sie einen HyperPod Cluster erstellen, mit dem Sie eine Verbindung herstellen möchten. Weitere Informationen finden Sie unter [Erstellen eines Amazon-EKS-Clusters](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) im Benutzerhandbuch für Amazon EKS.

Beachten Sie bei der Bereitstellung Ihres Amazon-EKS-Clusters Folgendes:

1. **Support für Kubernetes-Version**
   + SageMaker HyperPod unterstützt die Kubernetes-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33 und 1.34.

1. **Cluster-Authentifizierungsmodus von Amazon EKS**
   + Der Authentifizierungsmodus eines Amazon EKS-Clusters, der von unterstützt wird, SageMaker HyperPod sind `API` und`API_AND_CONFIG_MAP`.

1. **Netzwerkfunktionen**
   + SageMaker HyperPod erfordert das Amazon VPC Container Network Interface (CNI) -Plug-In Version 1.18.3 oder höher.
**Anmerkung**  
AWS Das [VPC CNI-Plugin für Kubernetes](https://github.com/aws/amazon-vpc-cni-k8s) ist das einzige CNI, das von unterstützt wird. SageMaker HyperPod
   + Der [Typ des Subnetzes](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-types) in Ihrer VPC muss für HyperPod Cluster privat sein.

1. **IAM-Rollen**
   + Stellen Sie sicher, dass die erforderlichen IAM-Rollen für wie im Abschnitt beschrieben eingerichtet HyperPod sind. [AWS Identity and Access Management für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md)

1. **Cluster-Add-ons von Amazon EKS**
   + Sie können die verschiedenen von Amazon EKS bereitgestellten Add-Ons wie [Kube-Proxy](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-kube-proxy.html), [CoreDNS](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-coredns.html), das [Amazon VPC Container Network Interface (CNI)](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-vpc-cni.html) -Plugin, Amazon EKS-Pod-Identität, den GuardDuty Agenten, den Amazon FSx Container Storage Interface (CSI) -Treiber, den Mountpoint for Amazon S3 CSI-Treiber, den Distro for und den AWS Observability Agent weiterhin verwenden. OpenTelemetry CloudWatch

**Überlegungen zur Konfiguration von SageMaker HyperPod Clustern mit Amazon EKS**
+ Sie müssen je nach Art Ihrer Knoten unterschiedliche IAM-Rollen verwenden. Verwenden Sie für HyperPod Knoten eine Rolle, die auf basiert[IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod). Informationen zu Amazon-EKS-Knoten finden Sie unter [IAM-Rolle für Amazon-EKS-Knoten](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html).
+ Sie können zusätzliche Amazon EBS-Volumes auf SageMaker HyperPod Knoten auf zwei Arten bereitstellen und mounten: [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs)für die Volume-Bereitstellung auf Cluster-Ebene (verfügbar beim Erstellen oder Aktualisieren von Instance-Gruppen) oder den Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) -Treiber für dynamisches Volume-Management auf Pod-Ebene. Stellen Sie mit [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-InstanceStorageConfigs)den [lokalen Pfad](https://kubernetes.io/docs/concepts/storage/volumes/#local) auf ein, `/opt/sagemaker` um die Volumes ordnungsgemäß in Ihre Amazon EKS-Pods einzubinden. Informationen zur Bereitstellung des [Amazon EBS CSI-Controllers](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) auf HyperPod Knoten finden Sie unter[Verwenden des Amazon EBS CSI-Treibers auf SageMaker HyperPod EKS-Clustern](sagemaker-hyperpod-eks-ebs.md).
+ Wenn Sie Instance-Typ-Labels zur Definition von Scheduling-Einschränkungen verwenden, stellen Sie sicher, dass Sie die SageMaker AI ML-Instance-Typen mit dem Präfix verwenden. `ml.` Verwenden Sie beispielsweise für P5-Instances `ml.p5.48xlarge` anstelle von `p5.48xlarge`.

**Überlegungen zur Netzwerkkonfiguration für SageMaker HyperPod Cluster mit Amazon EKS**
+ Jede HyperPod Cluster-Instance unterstützt ein Elastic Network Interface (ENI). Die maximale Anzahl von Pods pro Instance-Typ finden Sie in der folgenden Tabelle.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ Standardmäßig haben nur Pods mit `hostNetwork = true` Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS). Verwenden Sie die Amazon EKS-Pod-Identität oder die [IAM-Rollen für Dienstkonten (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html), um den Zugriff auf die AWS Anmeldeinformationen für Pods zu verwalten.
+ EKS-orchestrierte HyperPod Cluster unterstützen duale IP-Adressierungsmodi und ermöglichen so die Konfiguration mit IPv4 oder IPv6 für IPv6 Amazon EKS-Cluster in IPv6 -fähigen VPC- und Subnetzumgebungen. Weitere Informationen finden Sie unter [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc).

**Überlegungen zur Verwendung der Cluster-Resilienzfunktionen HyperPod **
+ Die automatische Ersetzung von Knoten wird für CPU-Instances nicht unterstützt.
+ Der HyperPod Health Monitoring Agent muss installiert sein, damit die automatische Wiederherstellung des Knotens funktioniert. Der Agent kann mit Helm installiert werden. Weitere Informationen finden Sie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).
+ Der Agent zur HyperPod umfassenden Gesundheitsprüfung und Gesundheitsüberwachung unterstützt GPU- und Trn-Instanzen.
+ SageMaker KI wendet den folgenden Makel auf Knoten an, wenn sie tiefgreifenden Gesundheitschecks unterzogen werden:

  ```
  effect: NoSchedule
  key: sagemaker.amazonaws.com/node-health-status
  value: Unschedulable
  ```
**Anmerkung**  
Es ist nicht möglich, benutzerdefinierte Taints zu Knoten in Instance-Gruppen hinzuzufügen, bei denen `DeepHealthChecks` aktiviert ist.

 Sobald Ihr Amazon EKS-Cluster läuft, konfigurieren Sie Ihren Cluster mit dem Helm-Paketmanager, wie unter beschrieben, [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md) bevor Sie Ihren HyperPod Cluster erstellen.

# Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm
<a name="sagemaker-hyperpod-eks-install-packages-using-helm-chart"></a>

Bevor Sie einen SageMaker HyperPod Cluster erstellen und an einen Amazon EKS-Cluster anhängen, sollten Sie Pakete mit [Helm](https://helm.sh/), einem Paketmanager für Kubernetes, installieren. Helm ist ein Open-Source-Tool zum Einrichten eines Installationsprozesses für Kubernetes-Cluster. Es ermöglicht die Automatisierung und Rationalisierung von Abhängigkeitsinstallationen und vereinfacht verschiedene Setups, die für die Vorbereitung des Amazon EKS-Clusters als Orchestrator (Kontrollebene) für einen Cluster erforderlich sind. SageMaker HyperPod 

Das SageMaker HyperPod Serviceteam stellt ein Helm-Chart-Paket bereit, das wichtige Abhängigkeiten wie device/EFA Plug-ins, Plug-ins, [Kubeflow Training Operator](https://www.kubeflow.org/docs/components/training/) und zugehörige Berechtigungskonfigurationen bündelt.

**Wichtig**  
Dieser Helm-Installationsschritt ist erforderlich. Wenn Sie Ihren Amazon-EKS-Cluster mit der [AWS-Managementkonsole](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) oder [CloudFormation](smcluster-getting-started-eks-console-create-cluster-cfn.md) einrichten, können Sie diesen Schritt überspringen, da die Installation während des Einrichtungsvorgangs automatisch durchgeführt wird. Wenn Sie den Cluster direkt mit dem einrichten APIs, verwenden Sie das bereitgestellte Helm-Diagramm, um Ihren Amazon EKS-Cluster zu konfigurieren. Wenn Sie Ihren Amazon EKS-Cluster nicht mithilfe des bereitgestellten Helm-Diagramms konfigurieren, kann dies dazu führen, dass der SageMaker HyperPod Cluster nicht richtig funktioniert oder der Erstellungsprozess vollständig fehlschlägt. Der `aws-hyperpod`-Namespace-Name kann nicht geändert werden.

1. [Installieren Sie Helm](https://helm.sh/docs/intro/install/) auf Ihrem lokalen Computer.

1. Laden Sie die Helm-Charts herunter, die SageMaker HyperPod sich unter `helm_chart/HyperPodHelmChart` im [SageMaker HyperPod CLI-Repository](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart) befinden.

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-cli.git
   cd sagemaker-hyperpod-cli/helm_chart
   ```

1. Aktualisieren Sie die Abhängigkeiten des Helm-Charts, überprüfen Sie die Änderungen, die an Ihrem Kubernetes-Cluster vorgenommen werden, und installieren Sie das Helm-Chart.

   ```
   helm dependencies update HyperPodHelmChart
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-run
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
   ```

Zusammenfassend lässt sich sagen, dass die Helm-Installation verschiedene Komponenten für Ihren Amazon EKS-Cluster einrichtet, darunter Job Scheduling and Queueing (Kueue), Speicherverwaltung, MLflow Integration und Kubeflow. Darüber hinaus werden in den Diagrammen die folgenden Komponenten für die Integration in die SageMaker HyperPod Cluster-Resilienzfunktionen installiert, bei denen es sich um erforderliche Komponenten handelt.
+ **Health Monitoring Agent** — Dadurch wird der Health Monitoring Agent installiert, der von bereitgestellt wird. SageMaker HyperPod Dies ist erforderlich, wenn Sie möchten, dass Ihr HyperPod Cluster überwacht wird. Agent für die Zustandsüberwachung werden wie folgt als Docker-Images bereitgestellt. Im bereitgestellten `values.yaml` in den Helm-Charts ist das Image voreingestellt. Der Agent unterstützt GPU-basierte Instanzen und Trainium-accelerator-based Instanzen (`trn1`,`trn1n`,`inf2`). Er ist im `aws-hyperpod`-Namespace installiert. Ihre unterstützte URI finden Sie unter [Unterstützte Regionen und deren ECR URIs im sagemaker-hyperpod-cli Repository](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/readme.md#6-notes) unter. GitHub
+ **Deep Health Check** — Dadurch werden a`ClusterRole`, a ServiceAccount (`deep-health-check-service-account`) im `aws-hyperpod` Namespace und a eingerichtet, `ClusterRoleBinding` um die SageMaker HyperPod Deep Health Check-Funktion zu aktivieren. Weitere Informationen zur Kubernetes-RBAC-Datei für den Deep Health Check finden Sie in der Konfigurationsdatei [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/deep-health-check-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/deep-health-check-rbac.yaml)im CLI-Repository. SageMaker HyperPod GitHub 
+ **`job-auto-restart`**- Dadurch werden a`ClusterRole`, a ServiceAccount (`job-auto-restart`) im `aws-hyperpod` Namespace und a, eingerichtet`ClusterRoleBinding`, um die automatische Neustartfunktion für PyTorch Trainingsjobs in zu aktivieren. SageMaker HyperPod Weitere Informationen zur Kubernetes-RBAC-Datei für `job-auto-restart` finden Sie in der Konfigurationsdatei [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml)im CLI-Repository. SageMaker HyperPod GitHub 
+ **Kubeflow MPI Operator**: Der MPI Operator ist ein Kubernetes Operator, der die Ausführung verteilter Machine Learning (ML)- und High-Performance Computing (HPC)-Workloads unter Verwendung der Message Passing Interface (MPI) auf Kubernetes-Clustern vereinfacht. Er installiert MPI Operator v0.5. Er ist im `mpi-operator`-Namespace installiert.
+ **`nvidia-device-plugin`**— Dies ist ein Kubernetes-Geräte-Plug-in, mit dem Sie NVIDIA automatisch GPUs für die Nutzung durch Container in Ihrem Amazon EKS-Cluster verfügbar machen können. Es ermöglicht Kubernetes, den für diesen Container angeforderten Container zuzuweisen und Zugriff darauf bereitzustellen. GPUs Erforderlich, wenn ein Instance-Typ mit GPU verwendet wird.
+ **`neuron-device-plugin`** – dies ist ein Kubernetes-Geräte-Plugin, mit dem Sie AWS -Inferentia-Chips automatisch für die Nutzung durch Container in Ihrem Amazon-EKS-Cluster verfügbar machen können. Es ermöglicht Kubernetes, auf die AWS Inferentia-Chips auf den Clusterknoten zuzugreifen und diese zu nutzen. Erforderlich, wenn ein Neuron-Instance-Typ verwendet wird.
+ **`aws-efa-k8s-device-plugin`**— Dies ist ein Kubernetes-Geräte-Plug-in, das die Verwendung des AWS Elastic Fabric Adapter (EFA) auf Amazon EKS-Clustern ermöglicht. EFA ist ein Netzwerkgerät, das Kommunikation mit niedriger Latenz und hohem Durchsatz zwischen Instances in einem Cluster ermöglicht. Erforderlich, wenn ein von EFA unterstützter Instance-Typ verwendet wird.

Weitere Informationen zum Installationsverfahren mithilfe der bereitgestellten Helm-Diagramme finden Sie in der [README-Datei im SageMaker HyperPod CLI-Repository](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart).

# Einrichten der rollenbasierten Zugriffskontrolle für Kubernetes
<a name="sagemaker-hyperpod-eks-setup-rbac"></a>

Cluster-Administratoren müssen außerdem die [rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) einrichten, damit Data-Scientist-Benutzer die [SageMaker HyperPod CLI](https://github.com/aws/sagemaker-hyperpod-cli) verwenden können, um Workloads auf Clustern auszuführen, die mit Amazon EKS orchestriert wurden. HyperPod 

## Option 1: RBAC mithilfe von Helm-Chart einrichten
<a name="sagemaker-hyperpod-eks-setup-rbac-helm"></a>

Das SageMaker HyperPod Serviceteam stellt ein Helm-Subdiagramm für die Einrichtung von RBAC zur Verfügung. Weitere Informationen hierzu finden Sie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).

## Option 2: RBAC manuell einrichten
<a name="sagemaker-hyperpod-eks-setup-rbac-manual"></a>

Erstellen Sie `ClusterRole` und `ClusterRoleBinding` mit den Mindestberechtigungen und erstellen Sie `Role` und `RoleBinding` mit Mutationsberechtigungen.

**So erstellen Sie `ClusterRole` & `ClusterRoleBinding` für die IAM-Rolle für Datenwissenschaftler**

Erstellen Sie eine Konfigurationsdatei `cluster_level_config.yaml` auf Clusterebene wie folgt.

```
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: hyperpod-scientist-user-cluster-role
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["list"]
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: hyperpod-scientist-user-cluster-role-binding
subjects:
- kind: Group
  name: hyperpod-scientist-user-cluster-level
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: hyperpod-scientist-user-cluster-role # this must match the name of the Role or ClusterRole you wish to bind to
  apiGroup: rbac.authorization.k8s.io
```

Wenden Sie die Konfiguration auf den EKS-Cluster an.

```
kubectl apply -f cluster_level_config.yaml
```

**Um eine Rolle und einen Namespace zu erstellen RoleBinding **

Dies ist der Namespace-Trainingsoperator, der Trainingsjobs ausführt und von Resiliency standardmäßig überwacht wird. Die automatische Wiederaufnahme von Aufträgen kann nur im `kubeflow`-Namespace oder im Namespace mit dem Präfix `aws-hyperpod` unterstützt werden. 

Erstellen Sie eine Rollenkonfigurationsdatei `namespace_level_role.yaml` wie folgt. In diesem Beispiel wird eine Rolle mit dem Namespace `kubeflow` erstellt.

```
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: kubeflow
  name: hyperpod-scientist-user-namespace-level-role
###
#  1) add/list/describe/delete pods
#  2) get/list/watch/create/patch/update/delete/describe kubeflow pytroch job
#  3) get pod log
###
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["create", "get"]
- apiGroups: [""]
  resources: ["nodes"]
  verbs: ["get", "list"]
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get", "list"]
- apiGroups: [""]
  resources: ["pods/exec"]
  verbs: ["get", "create"]
- apiGroups: ["kubeflow.org"]
  resources: ["pytorchjobs", "pytorchjobs/status"]
  verbs: ["get", "list", "create", "delete", "update", "describe"]
- apiGroups: [""]
  resources: ["configmaps"]
  verbs: ["create", "update", "get", "list", "delete"]
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["create", "get", "list", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: kubeflow
  name: hyperpod-scientist-user-namespace-level-role-binding
subjects:
- kind: Group
  name: hyperpod-scientist-user-namespace-level
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: hyperpod-scientist-user-namespace-level-role # this must match the name of the Role or ClusterRole you wish to bind to
  apiGroup: rbac.authorization.k8s.io
```

Wenden Sie die Konfiguration auf den EKS-Cluster an.

```
kubectl apply -f namespace_level_role.yaml
```

## Erstellen eines Zugriffseintrags mit Kubernetes-Gruppen
<a name="sagemaker-hyperpod-eks-setup-rbac-access-entry"></a>

Nachdem Sie RBAC mithilfe einer der beiden oben genannten Optionen eingerichtet haben, verwenden Sie bitte den folgenden Beispielbefehl und ersetzen Sie die erforderlichen Informationen.

```
aws eks create-access-entry \
    --cluster-name <eks-cluster-name> \
    --principal-arn arn:aws:iam::<AWS_ACCOUNT_ID_SCIENTIST_USER>:role/ScientistUserRole \
    --kubernetes-groups '["hyperpod-scientist-user-namespace-level","hyperpod-scientist-user-cluster-level"]'
```

Für den `principal-arn`-Parameter müssen Sie [IAM-Benutzer für Wissenschaftler](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-user) verwenden.

# Benutzerdefinierte Amazon Machine Images (AMIs) für SageMaker HyperPod Cluster
<a name="hyperpod-custom-ami-support"></a>

Mithilfe von Amazon Machine Images (AMIs), die von Amazon bereitgestellt und veröffentlicht wurden SageMaker HyperPod, können Sie benutzerdefinierte Images erstellen AMIs. Mit einem benutzerdefinierten AMI können Sie spezielle Umgebungen für KI-Workloads mit vorkonfigurierten Software-Stacks, Treiberanpassungen, proprietären Abhängigkeiten und Sicherheitsagenten erstellen. Diese Funktion macht komplexes Bootstrapping nach dem Start mithilfe von Skripten zur Lebenszykluskonfiguration überflüssig.

Mit Custom AMIs können Sie Umgebungen über verschiedene Phasen hinweg standardisieren, die Startzeiten beschleunigen und die volle Kontrolle über Ihre Laufzeitumgebung haben, während Sie gleichzeitig die Infrastrukturfunktionen und Skalierungsvorteile nutzen SageMaker HyperPod. Auf diese Weise behalten Sie die Kontrolle über Ihre KI-Infrastruktur und profitieren gleichzeitig von der optimierten SageMaker HyperPod Basislaufzeit.

Sie können auf den SageMaker HyperPod leistungsoptimierten Basis-Images aufbauen, indem Sie Sicherheitsagenten, Compliance-Tools und Spezialbibliotheken hinzufügen und gleichzeitig alle Vorteile der verteilten Schulungen beibehalten. Durch diese Funktion entfällt die bisher erforderliche Wahl zwischen Infrastrukturoptimierung und organisatorischen Sicherheitsrichtlinien.

Das maßgeschneiderte AMI-Erlebnis lässt sich nahtlos in etablierte Sicherheitsworkflows von Unternehmen integrieren. Sicherheitsteams erstellen sichere Images, indem sie die öffentliche Version AMIs als Basis verwenden SageMaker HyperPod. KI-Plattformteams können diese AMIs bei der Erstellung oder Aktualisierung von Clustern über die benutzerdefiniert angeben. SageMaker HyperPod APIs APIs Sie überprüfen die Image-Kompatibilität, kümmern sich um die erforderlichen Berechtigungen und wahren die Abwärtskompatibilität, sodass bestehende Workflows weiterhin funktionieren. Unternehmen mit strengen Sicherheitsprotokollen können die fehleranfällige Alternative der Installation von Sicherheitsagenten zur Laufzeit durch Lebenszyklusskripte vermeiden. Durch die Anpassung an die Sicherheitspraktiken von Unternehmen, anstatt Unternehmen zu zwingen, ihre Protokolle an SageMaker HyperPod die Einschränkungen anzupassen, wird ein gängiges Hindernis für die Einführung sicherheitsbewusster Unternehmen, die kritische KI-Workloads ausführen, AMIs beseitigt.

Veröffentlichungshinweise zu Updates für die Öffentlichkeit finden Sie unter. AMIs [Öffentliche AMI-Veröffentlichungen](sagemaker-hyperpod-release-public-ami.md) In den folgenden Themen erfahren Sie, wie Sie mit dem Erstellen eines benutzerdefinierten AMI und dessen Verwendung in Ihren HyperPod Clustern beginnen können.

**Topics**
+ [Erstellen einer benutzerdefinierten AMI](hyperpod-custom-ami-how-to.md)
+ [Clusterverwaltung mit benutzerdefiniertem AMIs](hyperpod-custom-ami-cluster-management.md)

# Erstellen einer benutzerdefinierten AMI
<a name="hyperpod-custom-ami-how-to"></a>

Auf der folgenden Seite wird erklärt, wie Sie mithilfe von Amazon SageMaker HyperPod Base ein benutzerdefiniertes Amazon Machine Image (AMI) erstellen AMIs. Sie wählen zunächst einen Basis-AMI aus und erstellen dann Ihren eigenen benutzerdefinierten AMI mit einer der gängigen Methoden zum Erstellen neuer Images, z. B. AWS CLI.

## Wählen Sie ein SageMaker HyperPod Basis-AMI
<a name="hyperpod-custom-ami-select-base"></a>

Sie können ein SageMaker HyperPod Basis-AMI mit einer der folgenden Methoden auswählen.

### AWS Auswahl der Konsole
<a name="hyperpod-custom-ami-console-selection"></a>

Sie können SageMaker HyperPod AMIs über die AWS Konsole oder mithilfe des `DescribeImages` API-Aufrufs „Öffentlich“ auswählen. SageMaker HyperPod AMIs sind öffentlich und in jedem sichtbar AWS-Konto. Sie finden sie im Amazon EC2 AMI-Katalog, indem Sie einen Filter anwenden, um nach öffentlichen AMIs Eigentum von Amazon zu suchen.

 SageMaker HyperPod AMIs In der Konsole finden Sie:

1. Melden Sie sich bei der Amazon-EC2-Konsole an.

1. Wählen Sie im linken Navigationsbereich die Option **AMIs** aus.

1. Wählen Sie in der Dropdown-Liste **Image-Typ** die Option **Öffentliche Images** aus.

1. Stellen Sie in den Suchleistenfiltern den Filter **Eigentümer-Alias** auf **amazon** ein.

1. Suchen Sie nach dem AMIs Präfix **HyperPodEKS** und wählen Sie das AMI (vorzugsweise das neueste) aus, das für Ihren Anwendungsfall geeignet ist. Sie können beispielsweise ein AMI zwischen Kubernetes 1.31 und Kubernetes 1.30 auswählen.

### Rufen Sie die neueste öffentliche AMI-ID ab über AWS CLI
<a name="hyperpod-custom-ami-cli-fetch"></a>

Wenn Sie immer das neueste öffentliche AMI verwenden möchten, ist es effizienter, den öffentlichen SageMaker HyperPod SSM-Parameter zu verwenden, der den Wert der letzten AMI-ID enthält, die von SageMaker HyperPod veröffentlicht wurde.

Das folgende Beispiel zeigt, wie Sie die neueste AMI-ID über die AWS CLI abrufen:

```
aws ssm get-parameter \
  --name "/aws/service/sagemaker-hyperpod/ami/x86_64/eks-1.31-amazon-linux-2/latest/ami-id" \
  --region us-east-1 \
  --query "Parameter.Value" \
  --output text
```

**Anmerkung**  
Ersetzen Sie den Parameternamen nach Bedarf durch die entsprechende Kubernetes-Version. Wenn Sie beispielsweise Kubernetes 1.30 verwenden möchten, verwenden Sie den folgenden Parameter: `/aws/service/hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id`

## Erstellen Ihrer benutzerdefinierten AMI
<a name="hyperpod-custom-ami-build"></a>

Nachdem Sie ein SageMaker HyperPod öffentliches AMI ausgewählt haben, verwenden Sie dieses als Basis-AMI, um Ihr eigenes benutzerdefiniertes AMI mit einer der folgenden Methoden zu erstellen. Beachten Sie, dass dies keine vollständige Liste für die Erstellung AMIs ist. Sie können jede Methode Ihrer Wahl zum Bauen AMIs verwenden. SageMaker HyperPod hat keine spezifische Empfehlung.
+ **AWS Managementkonsole**: Sie können eine Amazon EC2 EC2-Instance mithilfe des SageMaker HyperPod AMI starten, die gewünschten Anpassungen vornehmen und dann aus dieser Instance ein AMI erstellen.
+ **AWS CLI**: Sie können den `aws ec2 create-image`-Befehl auch verwenden, um nach der Anpassung eines AMI aus einer vorhandenen Amazon-EC2-Instance zu erstellen.
+ **HashiCorp Packer**: Packer ist ein Open-Source-Tool von HashiCorp , mit dem Sie identische Maschinen-Images für mehrere Plattformen aus einer einzigen Quellkonfiguration erstellen können. Es unterstützt sowohl die Erstellung von Bildern AMIs für AWS andere Cloud-Anbieter und Virtualisierungsplattformen als auch für diese.
+ **Image Builder**: EC2 Image Builder ist ein vollständig verwalteter AWS -Service, der die Automatisierung der Erstellung, Wartung, Validierung, Freigabe und Bereitstellung von Linux- oder Windows Server-Images vereinfacht. Weitere Informationen finden Sie im [Benutzerhandbuch von EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html).

### Erstellen Sie ein benutzerdefiniertes AMI mit vom Kunden verwalteter AWS KMS Verschlüsselung
<a name="hyperpod-custom-ami-build-kms"></a>

In den folgenden Abschnitten wird beschrieben, wie Sie ein benutzerdefiniertes AMI mit einem vom Kunden verwalteten AWS KMS Schlüssel zur Verschlüsselung Ihrer HyperPod Cluster-Volumes erstellen. Weitere Informationen zu vom Kunden verwalteten Schlüsseln HyperPod und zur Gewährung der erforderlichen IAM- und KMS-Schlüsselrichtlinienberechtigungen finden Sie unter. [Vom Kunden verwaltete Verschlüsselung für AWS KMS key SageMaker HyperPod](smcluster-cmk.md) Wenn Sie beabsichtigen, ein benutzerdefiniertes AMI zu verwenden, das mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, stellen Sie sicher, dass Sie auch das Amazon EBS-Root-Volume Ihres HyperPod Clusters mit demselben Schlüssel verschlüsseln.

#### AWS CLI Beispiel: Erstellen Sie ein neues AMI mit EC2 Image Builder und einem HyperPod Basis-Image
<a name="hyperpod-custom-ami-cli-example"></a>

Im folgenden Beispiel sehen Sie, wie Sie ein AMI mit Image Builder mit AWS KMS -Verschlüsselung erstellen:

```
aws imagebuilder create-image-recipe \
    name "hyperpod-custom-recipe" \
    version "1.0.0" \
    parent-image "<hyperpod-base-image-id>" \
    block-device-mappings DeviceName="/dev/xvda",Ebs={VolumeSize=100,VolumeType=gp3,Encrypted=true,KmsKeyId=arn:aws:kms:us-east-1:111122223333:key/key-id,DeleteOnTermination=true}
```

#### Amazon-EC2-Konsole: ein neues AMI aus einem Amazon EC2 erstellen
<a name="hyperpod-custom-ami-console-example"></a>

So erstellen Sie eine AMI aus einer Amazon-EC2-Instance mithilfe der Amazon-EC2-Konsole:

1. Klicken Sie mit der rechten Maustaste auf Ihre benutzerdefinierte Amazon-EC2-Instance und wählen Sie **Image erstellen** aus.

1. Wählen Sie im Abschnitt **Verschlüsselung** die Option **Snapshots verschlüsseln** aus.

1. Wählen Sie Ihren KMS-Schlüssel aus dem Dropdown-Menü aus. Zum Beispiel: `arn:aws:kms:us-east-2:111122223333:key/<your-kms-key-id>` oder verwenden Sie den Schlüsselalias: `alias/<your-hyperpod-key>`

#### AWS CLI Beispiel: Erstellen Sie ein neues AMI aus einer Amazon EC2 EC2-Instance
<a name="hyperpod-custom-ami-cli-create-image"></a>

Verwenden Sie den `aws ec2 create-image`-Befehl mit AWS KMS -Verschlüsselung:

```
aws ec2 create-image \
    instance-id "<instance-id>" \
    name "MyCustomHyperPodAMI" \
    description "Custom HyperPod AMI" \
    block-device-mappings '[
        {
            "DeviceName": "/dev/xvda",
            "Ebs": {
                "Encrypted": true,
                "KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id",
                "VolumeType": "gp2" 
            }
        }
    ]'
```

# Clusterverwaltung mit benutzerdefiniertem AMIs
<a name="hyperpod-custom-ami-cluster-management"></a>

Nachdem das benutzerdefinierte AMI erstellt wurde, können Sie es zum Erstellen oder Aktualisieren eines SageMaker HyperPod Amazon-Clusters verwenden. Sie können auch Instance-Gruppen, die das neue AMI verwenden, skalieren oder hinzufügen.

## Für Cluster-Operationen erforderliche Berechtigungen
<a name="hyperpod-custom-ami-permissions"></a>

Fügen Sie dem Cluster-Admin-Benutzer, der Cluster betreibt und konfiguriert SageMaker HyperPod , die folgenden Berechtigungen hinzu. Das folgende Richtlinienbeispiel enthält die Mindestberechtigungen für Clusteradministratoren, um den SageMaker HyperPod Kern auszuführen APIs und SageMaker HyperPod Cluster mit benutzerdefiniertem AMI zu verwalten.

Beachten Sie, dass die Berechtigungen für die Freigabe von AMI- und AMI-EBS-Snapshots über `ModifyImageAttribute`- und `ModifySnapshotAttribute`-API-Berechtigungen als Teil der folgenden Richtlinie enthalten sind. Um die Freigabeberechtigungen einzuschränken, können Sie die folgenden Schritte ausführen:
+ Fügen Sie Tags hinzu, um die AMI-Freigabeberechtigungen für AMI und AMI-Snapshots zu verwalten. Sie können das AMI beispielsweise mit `AllowSharing` als `true` markieren.
+ Fügen Sie der Richtlinie den Kontextschlüssel hinzu, um die AMI-Sharing nur für Personen zuzulassen, die mit bestimmten Tags AMIs gekennzeichnet sind.

Bei der folgenden Richtlinie handelt es sich um eine Richtlinie mit eingeschränktem Geltungsbereich, mit der sichergestellt werden soll, dass nur mit „`AllowSharing`als“ AMIs markierte Elemente zulässig `true` sind.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/your-execution-role-name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCluster",
                "sagemaker:DeleteCluster",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "sagemaker:UpdateCluster",
                "sagemaker:UpdateClusterSoftware",
                "sagemaker:BatchDeleteClusterNodes",
                "eks:DescribeCluster",
                "eks:CreateAccessEntry",
                "eks:DescribeAccessEntry",
                "eks:DeleteAccessEntry",
                "eks:AssociateAccessPolicy",
                "iam:CreateServiceLinkedRole",
                "ec2:DescribeImages",
                "ec2:DescribeSnapshots"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute",
                "ec2:ModifySnapshotAttribute"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/AllowSharing": "true"
                }
            }
        }
    ]
}
```

------

**Wichtig**  
Wenn Sie beabsichtigen, ein verschlüsseltes benutzerdefiniertes AMI zu verwenden, stellen Sie sicher, dass Ihr KMS-Schlüssel die unter [Vom Kunden verwaltete Verschlüsselung für AWS KMS key SageMaker HyperPod](smcluster-cmk.md) beschriebenen Berechtigungen erfüllt. Stellen Sie außerdem sicher, dass der KMS-Schlüssel Ihrer benutzerdefinierten AMI auch zur Verschlüsselung des Amazon EBS-Root-Volumes Ihres Clusters verwendet wird.

## Erstellen eines Clusters
<a name="hyperpod-custom-ami-api-create"></a>

Sie können Ihr benutzerdefiniertes AMI im `ImageId`-Feld für die `CreateCluster`-Operation angeben.

Die folgenden Beispiele zeigen, wie Sie einen Cluster mit einem benutzerdefinierten AMI erstellen, sowohl mit als auch ohne einen vom AWS KMS Kunden verwalteten Schlüssel zur Verschlüsselung der Cluster-Volumes.

------
#### [ Standard example ]

Das folgende Beispiel zeigt, wie ein Cluster mit einer benutzerdefinierten AMI erstellt wird.

```
aws sagemaker create-cluster \
   --cluster-name <exampleClusterName> \
   --orchestrator 'Eks={ClusterArn='<eks_cluster_arn>'}' \
   --node-provisioning-mode Continuous \
   --instance-groups '{
   "InstanceGroupName": "<exampleGroupName>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ImageId": "<your_custom_ami>",
   "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "InstanceStorageConfigs": [
   
        {
            "EbsVolumeConfig": {
                "VolumeSizeInGB": 200
            }
        }
   ]
}' --vpc-config '{
   "SecurityGroupIds": ["<security_group>"],
   "Subnets": ["<subnet>"]
}'
```

------
#### [ Customer managed key example ]

Das folgende Beispiel zeigt, wie Sie einen Cluster mit einem benutzerdefinierten AMI erstellen und dabei Ihren eigenen, vom AWS KMS Kunden verwalteten Schlüssel für die Verschlüsselung der Amazon EBS-Volumes des Clusters angeben. Es ist möglich, unterschiedliche vom Kunden verwaltete Schlüssel für das Root-Volume und das Instance-Speichervolume anzugeben. Wenn Sie vor `InstanceStorageConfigs` Ort keine vom Kunden verwalteten Schlüssel verwenden, wird ein AWS eigener KMS-Schlüssel zur Verschlüsselung der Volumes verwendet. Wenn Sie unterschiedliche Schlüssel für das Root-Volume und das sekundäre Instance-Speichervolume verwenden, legen Sie die erforderlichen KMS-Schlüsselrichtlinien für Ihre beiden Schlüssel fest.

```
aws sagemaker create-cluster \
   --cluster-name <exampleClusterName> \
   --orchestrator 'Eks={ClusterArn='<eks_cluster_arn>'}' \
   --node-provisioning-mode Continuous \
   --instance-groups '{
   "InstanceGroupName": "<exampleGroupName>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ImageId": "<your_custom_ami>",
   "ExecutionRole": "<arn:aws:iam:us-east-1:444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "InstanceStorageConfigs": [
             # Root volume configuration
            {
                "EbsVolumeConfig": {
                    "RootVolume": True,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
                }
            },
            # Instance storage volume configuration
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
                }
            }
   ]
}' --vpc-config '{
   "SecurityGroupIds": ["<security_group>"],
   "Subnets": ["<subnet>"]
}'
```

------

## Aktualisieren der Cluster-Software
<a name="hyperpod-custom-ami-api-update"></a>

Wenn Sie eine bestehende Instance-Gruppe auf Ihrem Cluster mit Ihrem benutzerdefinierten AMI aktualisieren möchten, können Sie die `UpdateClusterSoftware`-Operation verwenden und Ihr benutzerdefiniertes AMI im `ImageId`-Feld angeben. Beachten Sie, dass das neue Image auf alle Instance-Gruppen in Ihrem Cluster angewendet wird, sofern Sie in Ihrer Anfrage nicht den Namen einer bestimmten Instance-Gruppe angeben.

Im folgenden Beispiel sehen Sie, wie Sie die Plattformsoftware eines Clusters mit einem benutzerdefinierten AMI aktualisieren:

```
aws sagemaker update-cluster-software \
   --cluster-name <exampleClusterName> \
   --instance-groups <instanceGroupToUpdate> \
   --image-id <customAmiId>
```

## Skalieren einer Instance-Gruppe
<a name="hyperpod-custom-ami-scale-up"></a>

Die folgenden Beispiele zeigen, wie Sie eine Instanzgruppe für einen Cluster mithilfe eines benutzerdefinierten AMI skalieren können, sowohl mit als auch ohne Verwendung eines vom AWS KMS Kunden verwalteten Schlüssels für die Verschlüsselung.

------
#### [ Standard example ]

Im folgenden Beispiel wird gezeigt, wie eine Instance-Gruppe mit einem benutzerdefinierten AMI hochskaliert wird.

```
aws sagemaker update-cluster \
    --cluster-name <exampleClusterName> --instance-groups '[{                  
    "InstanceGroupName": "<exampleGroupName>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "ImageId": "<your_custom_ami>"
}]'
```

------
#### [ Customer managed key example ]

Das folgende Beispiel zeigt, wie Sie Ihren Cluster mit einem benutzerdefinierten AMI aktualisieren und skalieren und dabei Ihren eigenen, vom AWS KMS Kunden verwalteten Schlüssel für die Verschlüsselung der Amazon EBS-Volumes des Clusters angeben. Es ist möglich, unterschiedliche vom Kunden verwaltete Schlüssel für das Root-Volume und das Instance-Speichervolume anzugeben. Wenn Sie vor `InstanceStorageConfigs` Ort keine vom Kunden verwalteten Schlüssel verwenden, wird ein AWS eigener KMS-Schlüssel zur Verschlüsselung der Volumes verwendet. Wenn Sie unterschiedliche Schlüssel für das Root-Volume und das sekundäre Instance-Speichervolume verwenden, legen Sie die erforderlichen KMS-Schlüsselrichtlinien für Ihre beiden Schlüssel fest.

```
aws sagemaker update-cluster \
    --cluster-name <exampleClusterName> --instance-groups '[{                  
    "InstanceGroupName": "<exampleGroupName>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "ImageId": "<your_custom_ami>",
   "InstanceStorageConfigs": [
             # Root volume configuration
            {
                "EbsVolumeConfig": {
                    "RootVolume": True,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
                }
            },
            # Instance storage volume configuration
            {
                "EbsVolumeConfig": {
                    "VolumeSizeInGB": 100,
                    "VolumeKmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id"
                }
            }
   ]
}]'
```

------

## Hinzufügen einer Instance-Gruppe
<a name="hyperpod-custom-ami-add-instance-group"></a>

Das folgende Beispiel veranschaulicht, wie eine Instance-Gruppe mithilfe eines benutzerdefinierten AMI zu einem Cluster hinzugefügt wird:

```
aws sagemaker update-cluster \
   --cluster-name "<exampleClusterName>" \
   --instance-groups '{
   "InstanceGroupName": "<exampleGroupName>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "ImageId": "<your_custom_ami>"
}' '{
   "InstanceGroupName": "<exampleGroupName2>",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 1,
   "LifeCycleConfig": {
      "SourceS3Uri": "<s3://amzn-s3-demo-bucket>",
      "OnCreate": "on_create_noop.sh"
   },
   "ExecutionRole": "<arn:aws:iam::444455556666:role/Admin>",
   "ThreadsPerCore": 1,
   "ImageId": "<your_custom_ami>"
}'
```

# Verwaltung von SageMaker HyperPod EKS-Clustern mithilfe der SageMaker Konsole
<a name="sagemaker-hyperpod-eks-operate-console-ui"></a>

Die folgenden Themen enthalten Anleitungen zur Verwaltung SageMaker HyperPod in der SageMaker AI-Konsole.

**Topics**
+ [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md)
+ [SageMaker HyperPod Cluster durchsuchen, anzeigen und bearbeiten](sagemaker-hyperpod-eks-operate-console-ui-browse-view-edit.md)
+ [Einen SageMaker HyperPod Cluster löschen](sagemaker-hyperpod-eks-operate-console-ui-delete-cluster.md)

# Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung
<a name="sagemaker-hyperpod-eks-operate-console-ui-create-cluster"></a>

Das folgende Tutorial zeigt, wie Sie einen neuen SageMaker HyperPod Cluster erstellen und ihn mit Amazon EKS-Orchestrierung über die Benutzeroberfläche der SageMaker KI-Konsole einrichten.

**Topics**
+ [Cluster erstellen](#smcluster-getting-started-eks-console-create-cluster-page)
+ [Bereitstellen von Ressourcen](#smcluster-getting-started-eks-console-create-cluster-deploy)

## Cluster erstellen
<a name="smcluster-getting-started-eks-console-create-cluster-page"></a>

Gehen Sie wie folgt vor, um zur **SageMaker HyperPod Cluster-Seite** zu navigieren und Amazon EKS-Orchestration auszuwählen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich **HyperPod Clusters** und dann **Cluster Management** aus.

1. Wählen Sie auf der Seite **SageMaker HyperPod Cluster** die Option ** HyperPod Cluster erstellen** aus. 

1. Wählen **Sie im Drop-down-Menü HyperPod Cluster erstellen** die Option **Orchestrated by Amazon EKS** aus.

1. Auf der Seite zur Erstellung eines EKS-Clusters sehen Sie zwei Optionen. Wählen Sie die Option aus, die Ihren Anforderungen am besten entspricht.

   1. **Quick Setup**: Um sofort mit den Standardeinstellungen zu beginnen, wählen Sie **Quick Setup** aus. Mit dieser Option erstellt SageMaker KI bei der Erstellung Ihres Clusters neue Ressourcen wie VPC, Subnetze, Sicherheitsgruppen, Amazon S3 S3-Bucket, IAM-Rolle und FSx für Lustre.

   1. **Benutzerdefinierte Einrichtung**: Um eine Integration mit vorhandenen Ressourcen vorzunehmen oder bestimmte Anforderungen hinsichtlich Netzwerk, Sicherheit oder Speicher zu erfüllen, wählen Sie **Benutzerdefinierte Einrichtung** aus. Mit dieser Option können Sie wählen, ob Sie die vorhandenen Ressourcen verwenden oder neue erstellen möchten, und Sie können die Konfiguration an Ihre Bedürfnisse anpassen.

## Quick Setup
<a name="smcluster-getting-started-eks-console-create-cluster-default"></a>

Gehen Sie im Abschnitt **Schnelleinrichtung** wie folgt vor, um Ihren HyperPod Cluster mit Amazon EKS-Orchestrierung zu erstellen.

### Allgemeine Einstellungen
<a name="smcluster-getting-started-eks-console-create-cluster-default-general"></a>

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

### Instance-Gruppen
<a name="smcluster-getting-started-eks-console-create-cluster-default-instance-groups"></a>

Um eine Instance-Gruppe hinzuzufügen, wählen Sie **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen. Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

1. Wählen Sie als **Instance-Gruppentyp** **Standard** oder **Restricted Instance Group (RIG)** aus. Normalerweise wählen Sie **Standard**, denn es bietet eine allgemeine Datenverarbeitungsumgebung ohne zusätzliche Sicherheitseinschränkungen. **Restricted Instance Group (RIG)** ist eine spezialisierte Umgebung für die Anpassung von Grundlagenmodellen wie Amazon Nova. Weitere Informationen zur Einrichtung von RIG für die Amazon Nova-Modellanpassung finden Sie unter Amazon Nova-Anpassung SageMaker HyperPod im [Amazon Nova 1.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/userguide/nova-hp.html) oder im [Amazon Nova 2.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp.html).

1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an.

1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus.
**Wichtig**  
Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie **1** für alle drei Gruppen ein.

1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

1. Wählen Sie unter **Detaillierte Instance-Zustandsprüfungen** die gewünschte Option aus. Detaillierte Zustandsprüfungen überwachen den Zustand der Instances während der Erstellung und nach Softwareupdates und stellen fehlerhafte Instances automatisch durch Neustarts oder Austausch, sofern aktiviert, wieder her.

1. Wenn Ihr Instance-Typ die GPU-Partitionierung mit Multi-Instance-GPU (MIG) unterstützt, können Sie die GPU-Partitionskonfiguration für die Instance-Gruppe aktivieren. Die GPU-Partitionierung ermöglicht Ihnen die GPUs Aufteilung in kleinere, isolierte Partitionen, um die Ressourcennutzung zu verbessern. Weitere Informationen finden Sie unter [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

   1. Aktivieren **Sie die Option GPU-Partitionierung verwenden**, um die GPU-Partitionierung für diese Instanzgruppe zu aktivieren.

   1. Wählen Sie ein **GPU-Partitionsprofil** aus den verfügbaren Optionen für Ihren Instanztyp aus. Jedes Profil definiert die GPU-Slice-Konfiguration und die Speicherzuweisung.

1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

### Quick Setup – Standardwerte
<a name="smcluster-getting-started-eks-console-create-cluster-default-settings"></a>

In diesem Abschnitt sind alle Standardeinstellungen für die Clustererstellung aufgeführt, einschließlich aller neuen AWS Ressourcen, die während der Clustererstellung erstellt werden. Überprüfen Sie die Standardeinstellungen.

## Benutzerdefinierte Einrichtung
<a name="smcluster-getting-started-eks-console-create-cluster-custom"></a>

Gehen Sie im Abschnitt **Benutzerdefiniertes Setup** wie folgt vor, um Ihren ersten HyperPod Cluster mit Amazon EKS-Orchestrierung zu erstellen.

### Allgemeine Einstellungen
<a name="smcluster-getting-started-eks-console-create-cluster-custom-general"></a>

Geben Sie einen Namen für den neuen Cluster ein. Sie können den Namen nicht ändern, nachdem der Cluster erstellt wurde.

Wählen Sie für die **Instance-Wiederherstellung** **Automatisch – *empfohlen*** oder **Keine**. 

### Netzwerk
<a name="smcluster-getting-started-eks-console-create-cluster-custom-network"></a>

Konfigurieren Sie die Netzwerkeinstellungen innerhalb des Clusters und in-and-out des Clusters. Für die Orchestrierung des SageMaker HyperPod Clusters mit Amazon EKS wird die VPC automatisch auf die VPC eingestellt, die mit dem von Ihnen ausgewählten EKS-Cluster konfiguriert wurde.

1. Wählen Sie für **VPC** Ihre eigene VPC aus, falls Sie bereits eine haben, die SageMaker KI Zugriff auf Ihre VPC gewährt. Um eine neue VPC zu erstellen, folgen Sie den Anweisungen unter [Erstellen einer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) im *Benutzerhandbuch für Amazon Virtual Private Cloud*. Sie können es auf **None** belassen, um die standardmäßige SageMaker KI-VPC zu verwenden.

1. Geben Sie für den **VPC IPv4 CIDR-Block** die Start-IP Ihrer VPC ein.

1. Wählen Sie für **Availability Zones** die Availability Zones (AZ) aus, in denen Subnetze für HyperPod Ihren Cluster erstellt werden sollen. Wählen Sie AZs diese aus, die dem Standort Ihrer beschleunigten Rechenkapazität entsprechen.

1. Wählen Sie für **Sicherheitsgruppe(n)** Sicherheitsgruppen aus, die entweder mit dem Amazon-EKS-Cluster verbunden sind oder deren eingehender Datenverkehr von der mit dem Amazon-EKS-Cluster verbundenen Sicherheitsgruppe zugelassen wird. Um neue Sicherheitsgruppen zu erstellen, öffnen Sie die Amazon-VPC-Konsole.

### Orchestrierung
<a name="smcluster-getting-started-eks-console-create-cluster-custom-orchestration"></a>

Gehen Sie wie folgt vor, um einen Amazon-EKS-Cluster zu erstellen oder auszuwählen, der als Orchestrator verwendet werden soll. 

1. Für den **EKS-Cluster** haben Sie die Wahl, entweder einen neuen Amazon-EKS-Cluster zu erstellen oder einen bestehenden zu verwenden. 

   Wenn Sie einen neuen EKS-Cluster erstellen müssen, können Sie ihn im EKS-Cluster-Bereich erstellen, ohne die Amazon-EKS-Konsole öffnen zu müssen.
**Anmerkung**  
Das VPC-Subnetz, für das Sie sich entscheiden, HyperPod muss privat sein.   
Nachdem Sie eine neue Anfrage zur Erstellung eines EKS-Clusters eingereicht haben, warten Sie, bis der EKS-Cluster `Active` wird.

1. Wählen Sie für die **Kubernetes-Version** eine Version aus dem Dropdown-Menü aus. Weitere Informationen zu Kubernetes-Versionen finden Sie unter [Verständnis des Kubernetes-Versionslebenszyklus auf EKS](https://docs.aws.amazon.com//eks/latest/userguide/kubernetes-versions.html) im *Benutzerhandbuch für Amazon EKS*.

1. Wählen Sie für **Operatoren** die Option **Standard-Helm-Charts und -Add-ons verwenden** oder **Keine Operatoren installieren** aus. Die Option ist standardmäßig auf **Standard-Helm-Charts und -Add-ons verwenden** eingestellt, die zur Installation von Operatoren auf dem EKS-Cluster verwendet werden. Weitere Informationen zu den standardmäßigen Helm-Charts und -Add-Ons finden Sie im [https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart/HyperPodHelmChart](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart/HyperPodHelmChart) GitHubRepository. Weitere Informationen finden Sie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).

1. Informationen zu **aktivierten Operatoren** finden Sie in der Liste der aktivierten Operatoren. Um die Operatoren zu bearbeiten, deaktivieren Sie das Kontrollkästchen oben und wählen Sie Operatoren aus, die für den EKS-Cluster aktiviert werden sollen. 
**Anmerkung**  
Für die Verwendung HyperPod mit EKS müssen Sie Helm-Diagramme und Add-Ons installieren, die Operatoren auf dem EKS-Cluster aktivieren. Diese Komponenten konfigurieren EKS als Steuerungsebene für das Workload-Management HyperPod und die Orchestrierung und bieten das erforderliche Setup dafür.

### Instance-Gruppen
<a name="smcluster-getting-started-eks-console-create-cluster-custom-instance-groups"></a>

Um eine Instance-Gruppe hinzuzufügen, wählen Sie **Gruppe hinzufügen** aus. Jede Instance-Gruppe kann anders konfiguriert werden und Sie können einen heterogenen Cluster erstellen, der aus mehreren Instance-Gruppen mit verschiedenen Instance-Typen besteht. Um einen Cluster bereitzustellen, müssen Sie mindestens eine Instance-Gruppe hinzufügen. Gehen Sie folgendermaßen vor, um eine Instance-Gruppe hinzuzufügen.

1. Wählen Sie als **Instance-Gruppentyp** **Standard** oder **Restricted Instance Group (RIG)** aus. Normalerweise wählen Sie **Standard**, denn es bietet eine allgemeine Datenverarbeitungsumgebung ohne zusätzliche Sicherheitseinschränkungen. **Restricted Instance Group (RIG)** ist eine spezialisierte Umgebung für die Anpassung von Grundlagenmodellen wie Amazon Nova. Weitere Informationen zur Einrichtung von RIG für die Amazon Nova-Modellanpassung finden Sie unter Amazon Nova-Anpassung SageMaker HyperPod im [Amazon Nova 1.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/userguide/nova-hp.html) oder im [Amazon Nova 2.0-Benutzerhandbuch](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp.html).

1. Geben Sie unter **Name** einen Namen für die Instance-Gruppe an.

1.  Wählen Sie als **Instance-Kapazität** entweder On-Demand-Kapazität oder einen Trainingsplan aus, um Ihre Datenverarbeitungsressourcen zu reservieren.

1. Wählen Sie unter **Instance-Typ** die Instance für die Instance-Gruppe aus.
**Wichtig**  
Stellen Sie sicher, dass Sie einen Instance-Typ mit ausreichenden Kontingenten und ausreichend nicht zugewiesenen IP-Adressen für Ihr Konto auswählen. Informationen zum Anzeigen oder Anfordern zusätzlicher Kontingente finden Sie unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

1. Geben Sie unter **Instance-Anzahl** eine Ganzzahl an, die das Instance-Kontingent für die Cluster-Nutzung nicht überschreitet. Für dieses Tutorial geben Sie **1** für alle drei Gruppen ein.

1. Wählen Sie als **Ziel-Availability-Zone** die Availability Zone aus, in der Ihre Instances bereitgestellt werden. Die Availability Zone sollte dem Standort Ihrer beschleunigten Datenverarbeitungskapazität entsprechen.

1. Geben Sie unter **Zusätzliches Speichervolumen pro Instance (GB) – optional** eine Ganzzahl zwischen 1 und 16 384 an, um die Größe eines zusätzlichen Elastic Book Store (EBS)-Volume in Gigabyte (GB) festzulegen. Das EBS-Volume ist an jede Instance der Instance-Gruppe angefügt. Der Standard-Bereitstellungspfad für das zusätzliche EBS-Volume ist `/opt/sagemaker`. Nachdem der Cluster erfolgreich erstellt wurde, können Sie per SSH auf die Cluster-Instances (Knoten) zugreifen und überprüfen, ob das EBS-Volume korrekt gemountet wurde, indem Sie den `df -h`-Befehl ausführen. Durch das Anfügen eines zusätzlichen EBS-Volumes wird stabiler, Instance-unabhängiger persistenter Speicher bereitgestellt, wie im Abschnitt [Amazon-EBS-Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) im *Benutzerhandbuch für Amazon Elastic Block Store* beschrieben.

1. Wählen Sie unter **Detaillierte Instance-Zustandsprüfungen** die gewünschte Option aus. Detaillierte Zustandsprüfungen überwachen den Zustand der Instances während der Erstellung und nach Softwareupdates und stellen fehlerhafte Instances automatisch durch Neustarts oder Austausch, sofern aktiviert, wieder her. Weitere Informationen hierzu finden Sie unter [Tiefgreifende Zustandsprüfungen](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).

1. Wenn Ihr Instance-Typ die **GPU-Partitionierung** mit Multi-Instance-GPU (MIG) unterstützt, können Sie diese Option aktivieren, um das GPU-Partitionsprofil für die Instanzgruppe zu konfigurieren. Die GPU-Partitionierung ermöglicht Ihnen die GPUs Aufteilung in kleinere, isolierte Partitionen, um die Ressourcennutzung zu verbessern. Weitere Informationen finden Sie unter [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

   1. Aktivieren **Sie die Option GPU-Partitionierung verwenden**, um die GPU-Partitionierung für diese Instanzgruppe zu aktivieren.

   1. Wählen Sie ein **GPU-Partitionsprofil** aus den verfügbaren Optionen für Ihren Instanztyp aus. Jedes Profil definiert die GPU-Slice-Konfiguration und die Speicherzuweisung.

1. Wählen Sie **Instance-Gruppe hinzufügen** aus.

### Lebenszyklusskripte
<a name="smcluster-getting-started-eks-console-create-cluster-custom-lifecycle"></a>

Sie können zwischen den Standard-Lebenszyklusskripten und den benutzerdefinierten Lebenszyklusskripten wählen, die in Ihrem Amazon-S3-Bucket gespeichert werden. Sie können die standardmäßigen Lebenszyklusskripte im [Awesome Distributed GitHub Training-Repository](https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts) einsehen. Weitere Informationen zu den Lebenszyklusskripten finden Sie unter [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

1. Wählen Sie für **Lebenszyklusskripte**, ob Sie standardmäßige oder benutzerdefinierte Lebenszyklusskripte verwenden möchten.

1. Wählen Sie für **S3-Bucket für Lebenszyklusskripte**, ob Sie einen neuen Bucket erstellen oder einen vorhandenen Bucket zum Speichern der Lebenszyklusskripten verwenden möchten.

### Berechtigungen
<a name="smcluster-getting-started-eks-console-create-cluster-custom-permissions"></a>

Wählen oder erstellen Sie eine IAM-Rolle, mit der Sie die erforderlichen AWS Ressourcen in Ihrem Namen ausführen und darauf zugreifen können HyperPod . Weitere Informationen finden Sie unter [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod).

### Speicher
<a name="smcluster-getting-started-eks-console-create-cluster-custom-storage"></a>

Konfigurieren Sie das FSx for Lustre-Dateisystem, das auf dem Cluster bereitgestellt werden soll. HyperPod 

1. Wählen Sie für **Dateisystem** ein vorhandenes FSx for Lustre-Dateisystem aus, um ein neues FSx for Lustre-Dateisystem zu erstellen, oder stellen Sie kein FSx for Lustre-Dateisystem bereit.

1. Wählen Sie für **Durchsatz pro Speichereinheit** den Durchsatz aus, der pro TiB bereitgestellten Speichers verfügbar sein soll.

1. Geben Sie für **Speicherkapazität** einen Kapazitätswert in TB ein.

1. Wählen Sie als **Datenkomprimierungstyp** die Option **LZ4**Datenkomprimierung aktivieren.

1. Sehen Sie sich für die **Lustre-Version** den Wert an, der für die neuen Dateisysteme empfohlen wird.

### Tags – optional
<a name="smcluster-getting-started-eks-console-create-cluster-tags"></a>

Fügen Sie **unter Tags — *optional*** Schlüssel- und Wertepaare zum neuen Cluster hinzu und verwalten Sie den Cluster als AWS Ressource. Weitere Informationen finden Sie unter [Markieren Ihrer AWS -Ressourcen](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).

## Bereitstellen von Ressourcen
<a name="smcluster-getting-started-eks-console-create-cluster-deploy"></a>

Nachdem Sie die Clusterkonfigurationen entweder mit **Quick Setup** oder **Benutzerdefinierte Einrichtung** abgeschlossen haben, wählen Sie die folgende Option aus, um mit der Ressourcenbereitstellung und Clustererstellung zu beginnen.
+  **Absenden** — Die SageMaker KI beginnt mit der Bereitstellung der Standardkonfigurationsressourcen und der Erstellung des Clusters. 
+ ** CloudFormation Vorlagenparameter herunterladen** — Sie laden die JSON-Datei mit den Konfigurationsparametern herunter und führen einen AWS CLI Befehl aus, um den CloudFormation Stack bereitzustellen, um die Konfigurationsressourcen bereitzustellen und den Cluster zu erstellen. Sie können die heruntergeladene Parameter-JSON-Datei bei Bedarf bearbeiten. Wenn Sie diese Option auswählen, finden Sie weitere Anweisungen unter [SageMaker HyperPod Cluster mithilfe von CloudFormation Vorlagen erstellen](smcluster-getting-started-eks-console-create-cluster-cfn.md).

# SageMaker HyperPod Cluster durchsuchen, anzeigen und bearbeiten
<a name="sagemaker-hyperpod-eks-operate-console-ui-browse-view-edit"></a>

Verwenden Sie die folgenden Anweisungen, um von Amazon EKS orchestrierte SageMaker HyperPod Cluster in der SageMaker AI-Konsole zu durchsuchen, anzuzeigen und zu bearbeiten.

**Topics**
+ [Um Ihre SageMaker HyperPod Cluster zu durchsuchen](#sagemaker-hyperpod-eks-operate-console-ui-browse-clusters)
+ [Um Details zu den einzelnen SageMaker HyperPod Clustern anzuzeigen](#sagemaker-hyperpod-eks-operate-console-ui-view-details-of-clusters)
+ [Um einen SageMaker HyperPod Cluster zu bearbeiten](#sagemaker-hyperpod-eks-operate-console-ui-edit-clusters)

## Um Ihre SageMaker HyperPod Cluster zu durchsuchen
<a name="sagemaker-hyperpod-eks-operate-console-ui-browse-clusters"></a>

Unter **Cluster** auf der SageMaker HyperPod Seite in der SageMaker AI-Konsole sollten alle erstellten Cluster im Abschnitt **Cluster** aufgeführt werden, der eine Zusammenfassung der Cluster ARNs, ihres Status und der Erstellungszeit bietet.

## Um Details zu den einzelnen SageMaker HyperPod Clustern anzuzeigen
<a name="sagemaker-hyperpod-eks-operate-console-ui-view-details-of-clusters"></a>

Unter **Cluster** auf der SageMaker HyperPod Seite in der SageMaker AI-Konsole sind die Clusternamen als Links aktiviert. Wählen Sie den Link zum Clusternamen aus, um Details zu den einzelnen Clustern anzuzeigen.

## Um einen SageMaker HyperPod Cluster zu bearbeiten
<a name="sagemaker-hyperpod-eks-operate-console-ui-edit-clusters"></a>

1. Wählen Sie im Hauptbereich der SageMaker HyperPod Konsole unter **Cluster** den Cluster aus, den Sie aktualisieren möchten.

1. Wählen Sie Ihren Cluster aus und klicken Sie auf **Bearbeiten**.

1. Auf der Seite ** <your-cluster> bearbeiten** können Sie die Konfigurationen bestehender Instance-Gruppen bearbeiten, weitere Instance-Gruppen hinzufügen, Instance-Gruppen löschen und Tags für den Cluster ändern. Nachdem Sie die Änderungen vorgenommen haben, wählen Sie **Absenden** aus. 

   1. Im Abschnitt **Instance-Gruppen konfigurieren** können Sie weitere Instance-Gruppen hinzufügen, indem Sie **Instance-Gruppe erstellen** auswählen.

   1. Im Abschnitt **Instance-Gruppen konfigurieren** können Sie **Bearbeiten** auswählen, um die Konfiguration zu ändern, oder **Löschen**, um die Instance-Gruppe dauerhaft zu entfernen.
**Wichtig**  
Berücksichtigen Sie beim Löschen einer Instance-Gruppe die folgenden Punkte:  
Ihr SageMaker HyperPod Cluster muss immer mindestens eine Instanzgruppe verwalten.
Stellen Sie sicher, dass alle wichtigen Daten gesichert sind, bevor Sie sie entfernen.
Die Entfernung kann nicht rückgängig gemacht werden.
**Anmerkung**  
Durch das Löschen einer Instance-Gruppe werden alle mit dieser Gruppe verknüpften Rechenressourcen beendet.

   1. Im Abschnitt **Tags** können Sie die Tags für den Cluster aktualisieren.

# Einen SageMaker HyperPod Cluster löschen
<a name="sagemaker-hyperpod-eks-operate-console-ui-delete-cluster"></a>

Verwenden Sie die folgenden Anweisungen, um von Amazon EKS orchestrierte SageMaker HyperPod Cluster in der SageMaker AI-Konsole zu löschen.

1. Wählen Sie im Hauptbereich der SageMaker HyperPod Konsole unter **Cluster** den Cluster aus, den Sie löschen möchten.

1. Wählen Sie Ihren Cluster aus und klicken Sie auf **Löschen**.

1. Überprüfen Sie im Popup-Fenster für das Löschen von Clustern die Clusterinformationen sorgfältig, um sicherzustellen, dass Sie den richtigen Cluster zum Löschen ausgewählt haben.

1. Nachdem Sie die Clusterinformationen überprüft haben, wählen Sie **Ja, Cluster löschen** aus.

1. Geben Sie im Textfeld zur Bestätigung dieser Löschung **delete** ein.

1. Wählen Sie in der unteren rechten Ecke des Popup-Fensters **Löschen** aus, um das Senden der Anfrage zum Löschen des Clusters abzuschließen.

**Anmerkung**  
Wenn das Löschen des Clusters aufgrund angehängter SageMaker HyperPod Task-Governance-Richtlinien fehlschlägt, müssen Sie dies tun[Löschen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md).

# SageMaker HyperPod Cluster mithilfe von CloudFormation Vorlagen erstellen
<a name="smcluster-getting-started-eks-console-create-cluster-cfn"></a>

Sie können SageMaker HyperPod Cluster mithilfe der CloudFormation Vorlagen für erstellen HyperPod. Sie müssen installieren AWS CLI , um fortzufahren.

**Topics**
+ [Konfigurieren Sie Ressourcen in der Konsole und stellen Sie sie bereit mit CloudFormation](#smcluster-getting-started-eks-console-create-cluster-deploy-console)
+ [Konfigurieren und implementieren Sie Ressourcen mit CloudFormation](#smcluster-getting-started-eks-console-create-cluster-deploy-cfn)

## Konfigurieren Sie Ressourcen in der Konsole und stellen Sie sie bereit mit CloudFormation
<a name="smcluster-getting-started-eks-console-create-cluster-deploy-console"></a>

Sie können Ressourcen mithilfe der konfigurieren AWS-Managementkonsole und mithilfe der CloudFormation Vorlagen bereitstellen.

Dazu gehen Sie wie folgt vor:

1. *Anstatt auf **Senden zu klicken***, wählen Sie am Ende des Tutorials unter die Option ** CloudFormation Vorlagenparameter herunterladen** aus[Erste Schritte mit der SageMaker HyperPod Verwendung der SageMaker KI-Konsole](smcluster-getting-started-slurm-console.md). Das Tutorial enthält wichtige Konfigurationsinformationen, die Sie benötigen, um Ihren Cluster erfolgreich zu erstellen.
**Wichtig**  
Wenn Sie **Absenden** auswählen, können Sie einen Cluster mit demselben Namen erst bereitstellen, wenn Sie den Cluster löschen.

   Nachdem Sie die Option ** CloudFormation Vorlagenparameter herunterladen** ausgewählt haben, wird **das Fenster Verwenden der Konfigurationsdatei zur Erstellung des AWS CLI Clusters mithilfe** des Fensters auf der rechten Seite angezeigt.

1. Wählen Sie im Fenster **Verwenden der Konfigurationsdatei zum Erstellen des Clusters unter Verwendung der AWS CLI** die Option **Konfigurationsparameter-Datei herunterladen** aus. Die Datei wird auf Ihren Computer heruntergeladen. Sie können die JSON-Konfigurationsdatei nach Ihren Bedürfnissen bearbeiten oder sie unverändert lassen, wenn keine Änderung erforderlich ist.

1. Navigieren Sie in einem Terminalfenster zum Speicherort der Parameterdatei `file://params.json`.

1. Führen Sie den AWS CLI Befehl [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) aus, um den CloudFormation Stack bereitzustellen, der die konfigurierten Ressourcen bereitstellt und den HyperPod Cluster erstellt.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url https://aws-sagemaker-hyperpod-cluster-setup.amazonaws.com/templates-slurm/main-stack-slurm-based-template.yaml
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. [Um den Status der Ressourcenbereitstellung einzusehen, navigieren Sie zur Konsole. CloudFormation ](https://console.aws.amazon.com/cloudformation)

   Nachdem die Clustererstellung abgeschlossen ist, sehen Sie sich den neuen **Cluster unter Cluster** im Hauptbereich der SageMaker HyperPod Konsole an. Sie können den Status in der Spalte **Status** überprüfen.

1. Wenn der Status des Clusters zu `InService` wechselt, können Sie mit der Anmeldung bei den Clusterknoten beginnen. Informationen zum Zugriff auf die Clusterknoten und zum Starten der Ausführung von ML-Workloads finden Sie unter [Jobs auf Clustern SageMaker HyperPod](sagemaker-hyperpod-run-jobs-slurm.md).

## Konfigurieren und implementieren Sie Ressourcen mit CloudFormation
<a name="smcluster-getting-started-eks-console-create-cluster-deploy-cfn"></a>

Sie können Ressourcen mithilfe der CloudFormation Vorlagen für konfigurieren und bereitstellen SageMaker HyperPod.

Dazu gehen Sie wie folgt vor:

1. Laden Sie eine CloudFormation Vorlage für SageMaker HyperPod aus dem [sagemaker-hyperpod-cluster-setup](https://github.com/aws/sagemaker-hyperpod-cluster-setup) GitHub Repository herunter.

1. Führen Sie den AWS CLI Befehl [create-stack](https://docs.aws.amazon.com//cli/latest/reference/cloudformation/create-stack.html) aus, um den CloudFormation Stack bereitzustellen, der die konfigurierten Ressourcen bereitstellt und den HyperPod Cluster erstellt.

   ```
   aws cloudformation create-stack 
       --stack-name my-stack
       --template-url URL_of_the_file_that_contains_the_template_body
       --parameters file://params.json
       --capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM
   ```

1. Um den Status der Ressourcenbereitstellung einzusehen, navigieren Sie zur CloudFormation -Konsole.

   Nachdem die Clustererstellung abgeschlossen ist, sehen Sie sich den neuen **Cluster unter Cluster** im Hauptbereich der SageMaker HyperPod Konsole an. Sie können den Status in der Spalte **Status** überprüfen.

1. Wenn der Status des Clusters zu `InService` wechselt, können Sie mit der Anmeldung bei den Clusterknoten beginnen.

# Verwaltung von SageMaker HyperPod EKS-Clustern mit dem AWS CLI
<a name="sagemaker-hyperpod-eks-operate-cli-command"></a>

Die folgenden Themen enthalten Anleitungen zum Schreiben von SageMaker HyperPod API-Anforderungsdateien im JSON-Format und zum Ausführen dieser Dateien mithilfe der AWS CLI Befehle.

**Topics**
+ [Einen SageMaker HyperPod Cluster erstellen](sagemaker-hyperpod-eks-operate-cli-command-create-cluster.md)
+ [Clusterdetails werden abgerufen SageMaker HyperPod](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md)
+ [Die SageMaker HyperPod Cluster-Konfiguration wird aktualisiert](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md)
+ [Aktualisierung der SageMaker HyperPod Plattformsoftware](sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software.md)
+ [Zugreifen auf SageMaker HyperPod Clusterknoten](sagemaker-hyperpod-eks-operate-access-through-terminal.md)
+ [Einen SageMaker HyperPod Cluster herunterskalieren](smcluster-scale-down.md)
+ [Löschen eines Clusters SageMaker HyperPod](sagemaker-hyperpod-eks-operate-cli-command-delete-cluster.md)

# Einen SageMaker HyperPod Cluster erstellen
<a name="sagemaker-hyperpod-eks-operate-cli-command-create-cluster"></a>

Erfahren Sie, wie Sie von Amazon EKS orchestrierte SageMaker HyperPod Cluster mithilfe der AWS CLI erstellen.

1. Bevor Sie einen SageMaker HyperPod Cluster erstellen:

   1. Stellen Sie sicher, dass Sie über einen bestehenden Amazon-EKS-Cluster verfügen, der betriebsbereit ist. Detaillierte Anweisungen zur Einrichtung eines Amazon-EKS-Clusters finden Sie unter [Erstellen eines Amazon-EKS-Clusters](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) im *Benutzerhandbuch für Amazon EKS*.

   1. Installieren Sie das Helm-Chart wie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md) beschrieben. Wenn Sie einen [Amazon SageMaker HyperPod Nova-Cluster](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-hp-cluster.html) erstellen, benötigen Sie ein separates Helm-Diagramm.

1. Bereiten Sie ein Skript zur Lebenszykluskonfiguration vor und laden Sie sie in einen Amazon-S3-Bucket hoch, z. B. `s3://amzn-s3-demo-bucket/Lifecycle-scripts/base-config/`.

   Laden Sie für einen schnellen Start das Beispielskript [https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/7.sagemaker-hyperpod-eks/LifecycleScripts/base-config/on_create.sh)aus dem AWS ome Distributed Training GitHub Repository herunter und laden Sie es in den S3-Bucket hoch. Sie können auch zusätzliche Setup-Anweisungen, eine Reihe von Setup-Skripten oder Befehle hinzufügen, die während der HyperPod Cluster-Bereitstellungsphase ausgeführt werden sollen.
**Wichtig**  
Wenn Sie [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) erstellen und nur die verwaltete [https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) anfügen, hat Ihr Cluster Zugriff auf Amazon-S3-Buckets mit dem spezifischen Präfix `sagemaker-`.

   Wenn Sie eine eingeschränkte Instances erstellen, müssen Sie das Lebenszyklusskript nicht herunterladen und ausführen. Stattdessen müssen Sie `install_rig_dependencies.sh` ausführen. 

   Zu den Voraussetzungen für die Ausführung des `install_rig_dependencies.sh`-Skripts gehören:
   + AWS Node (CNI) und CoreDNS sollten beide aktiviert sein. Dies sind Standard-EKS-Add-Ons, die nicht vom SageMaker HyperPod Standard-Helm verwaltet werden, aber einfach in der EKS-Konsole unter Add-Ons aktiviert werden können.
   +  Das SageMaker HyperPod Standard-Helm-Diagramm sollte installiert werden, bevor dieses Skript ausgeführt wird.

   Das `install_rig_dependencies.sh`-Skript führt die folgenden Aktionen aus. 
   + `aws-node` (CNI): Neues `rig-aws-node` Daemonset wurde erstellt; vorhandenes `aws-node` wurde gepatcht, um RIG-Knoten zu vermeiden.
   + `coredns`: In Daemonset konvertiert, um die Verwendung mehrerer RIGs RIGs zu unterstützen und eine Überlastung zu verhindern.
   + training-operators: Aktualisiert mit RIG Worker-Taint-Toleranzen und nodeAffinity, die Nicht-RIG-Instances bevorzugen.
   + Elastic Fabric Adapter (EFA): Aktualisiert, um RIG-Worker-Taint zu tolerieren und für jede Region die richtigen Container-Images zu verwenden.

1. Bereiten Sie eine [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)API-Anforderungsdatei im JSON-Format vor. Geben Sie für `ExecutionRole` den ARN der IAM-Rolle an, die Sie mit der verwalteten `AmazonSageMakerClusterInstanceRolePolicy` aus Abschnitt [IAM-Rolle für SageMaker HyperPod](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) erstellt haben.
**Anmerkung**  
Stellen Sie sicher, dass Ihr SageMaker HyperPod Cluster in derselben Virtual Private Cloud (VPC) wie Ihr Amazon EKS-Cluster bereitgestellt wird. Die in der SageMaker HyperPod Cluster-Konfiguration angegebenen Subnetze und Sicherheitsgruppen müssen Netzwerkkonnektivität und Kommunikation mit dem API-Serverendpunkt des Amazon EKS-Clusters ermöglichen.

   ```
   // create_cluster.json
   {
       "ClusterName": "string",
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker/lifecycle-script-directory/src/",
               "OnCreate": "on_create.sh"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "RestrictedInstanceGroups": [ 
         { 
            "EnvironmentConfig": { 
               "FSxLustreConfig": { 
                  "PerUnitStorageThroughput": number,
                  "SizeInGiB": number
               }
            },
            "ExecutionRole": "string",
            "InstanceCount": number,
            "InstanceGroupName": "string",
            "InstanceStorageConfigs": [ 
               { ... }
            ],
            "InstanceType": "string",
            "OnStartDeepHealthChecks": [ "string" ],
            "OverrideVpcConfig": { 
               "SecurityGroupIds": [ "string" ],
               "Subnets": [ "string" ]
            },
            "ScheduledUpdateConfig": { 
               "DeploymentConfig": { 
                  "AutoRollbackConfiguration": [ 
                     { 
                        "AlarmName": "string"
                     }
                  ],
                  "RollingUpdatePolicy": { 
                     "MaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     },
                     "RollbackMaximumBatchSize": { 
                        "Type": "string",
                        "Value": number
                     }
                  },
                  "WaitIntervalInSeconds": number
               },
               "ScheduleExpression": "string"
            },
            "ThreadsPerCore": number,
            "TrainingPlanArn": "string"
         }
      ],
       "VpcConfig": {
           "SecurityGroupIds": ["string"],
           "Subnets": ["string"]
       },
       "Tags": [{
           "Key": "string",
           "Value": "string"
       }],
       "Orchestrator": {
           "Eks": {
               "ClusterArn": "string",
               "KubernetesConfig": {
                   "Labels": {
                       "nvidia.com/mig.config": "all-3g.40gb"
                   }
               }
           }
       },
       "NodeRecovery": "Automatic"
   }
   ```

   Beachten Sie bei der Konfiguration zur Erstellung eines neuen SageMaker HyperPod Clusters, der einem EKS-Cluster zugeordnet ist, Folgendes.
   + Sie können bis zu 20 Instance-Gruppen unter dem Parameter konfigurieren. `InstanceGroups`
   + Geben Sie für `Orchestator.Eks.ClusterArn` die ARN des EKS-Clusters an, den Sie als Orchestrator verwenden möchten.
   + Für`OnStartDeepHealthChecks`, hinzufügen `InstanceStress` und `InstanceConnectivity` aktivieren[Tiefgreifende Zustandsprüfungen](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).
   + Geben Sie für an`NodeRecovery`, ob `Automatic` die automatische Knotenwiederherstellung aktiviert werden soll. SageMaker HyperPod ersetzt Instanzen (Knoten) oder startet sie neu, wenn der Health Monitoring Agent Probleme feststellt.
   + Für den `Tags` Parameter können Sie benutzerdefinierte Tags hinzufügen, um den SageMaker HyperPod Cluster als Ressource zu verwalten. AWS Sie können Ihrem Cluster auf die gleiche Weise Tags hinzufügen, wie Sie sie in anderen AWS -Services hinzufügen, die das Markieren unterstützen. Weitere Informationen zum Markieren von AWS -Ressourcen im Allgemeinen finden Sie im [Benutzerhandbuch zur Markierung von AWS -Ressourcen](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html).
   + Geben Sie für den `VpcConfig`-Parameter die Informationen der im EKS-Cluster verwendeten VPC an. Die Subnetze müssen privat sein.
   + Für `Orchestrator.Eks.KubernetesConfig.Labels` können Sie optional Kubernetes-Labels angeben, die auf die Knoten angewendet werden sollen. Um die GPU-Partitionierung mit Multi-Instance-GPU (MIG) zu aktivieren, fügen Sie das `nvidia.com/mig.config` Label mit dem gewünschten MIG-Profil hinzu. `"nvidia.com/mig.config": "all-3g.40gb"`Konfiguriert beispielsweise alle GPUs mit dem 3G.40GB-Partitionsprofil. Weitere Informationen zur GPU-Partitionierung und zu verfügbaren Profilen finden Sie unter. [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md)

1. Führen Sie den Befehl [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) aus, um den Cluster zu erstellen.
**Wichtig**  
Wenn Sie den `create-cluster`-Befehl mit dem Parameter `--cli-input-json` ausführen, müssen Sie das Präfix `file://` vor dem vollständigen Pfad zur JSON-Datei angeben. Dieses Präfix ist erforderlich, um sicherzustellen, dass der die Eingabe als Dateipfad AWS CLI erkennt. Das Weglassen des Präfixes `file://` führt zu einem Parsing-Parameterfehler.

   ```
   aws sagemaker create-cluster \
       --cli-input-json file://complete/path/to/create_cluster.json
   ```

   Dies sollte den ARN des neuen Clusters zurückgeben.
**Wichtig**  
Sie können den Vorgang „[Cluster aktualisieren](https://docs.aws.amazon.com//cli/latest/reference/ecs/update-cluster.html)“ verwenden, um eine eingeschränkte Instance-Gruppe (RIG) zu entfernen. Wenn ein RIG auf 0 herunterskaliert wird, wird das FSx for Lustre-Dateisystem nicht gelöscht. Um das FSx for Lustre-Dateisystem vollständig zu entfernen, müssen Sie das RIG vollständig entfernen.   
Durch das Entfernen eines RIGs werden keine Artefakte gelöscht, die im vom Dienst verwalteten Amazon-S3-Bucket gespeichert sind. Sie sollten jedoch sicherstellen, dass alle Artefakte im FSx for Lustre-Dateisystem vollständig mit Amazon S3 synchronisiert sind, bevor Sie sie entfernen. Wir empfehlen, nach Abschluss des Auftrags mindestens 30 Minuten zu warten, um die vollständige Synchronisation aller Artefakte aus dem FSx for Lustre-Dateisystem mit dem service-verwalteten Amazon S3 S3-Bucket sicherzustellen.
**Wichtig**  
Wenn Sie eine Onboard-On-Demand-Kapazitätsreservierung (ODCR) verwenden, müssen Sie Ihre Instance-Gruppe derselben Availability Zone ID (AZ ID) wie die ODCR zuordnen, indem Sie sie `OverrideVpcConfig` mit einem Subnetz in der entsprechenden AZ-ID festlegen.  
WICHTIG: Überprüfen Sie die `OverrideVpcConfig` Konfiguration vor der Bereitstellung, um zu vermeiden, dass doppelte Gebühren sowohl für ODCR als auch für On-Demand-Kapazität anfallen.

# Clusterdetails werden abgerufen SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-cli-command-cluster-details"></a>

Erfahren Sie, wie Sie SageMaker HyperPod Clusterdetails mithilfe der abrufen AWS CLI.

## Beschreiben eines Clusters
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster"></a>

Führen Sie [describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html) aus, um den Status des Clusters zu prüfen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker describe-cluster --cluster-name your-hyperpod-cluster
```

Nachdem der Status des Clusters auf **InService** geändert wurde, fahren Sie mit dem nächsten Schritt fort. Mit dieser API können Sie auch Fehlermeldungen aus anderen HyperPod API-Vorgängen abrufen.

## Listet die Details der Clusterknoten auf
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-cluster-nodes"></a>

Führen Sie aus [list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html), um die wichtigsten Informationen der Clusterknoten zu überprüfen.

```
aws sagemaker list-cluster-nodes --cluster-name your-hyperpod-cluster
```

Dies gibt eine Antwort zurück und Ihre Cluster-Benutzer benötigen `InstanceId` für die Protokollierung (Verwendung von `aws ssm`) in ihnen.

## Beschreiben der Details eines Cluster-Knotens
<a name="sagemaker-hyperpod-eks-operate-cli-command-describe-cluster-node"></a>

Ausführen [describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html), um Details eines Clusterknotens abzurufen. Sie können die Clusterknoten-ID aus der list-cluster-nodes Ausgabe abrufen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker describe-cluster-node \
    --cluster-name your-hyperpod-cluster \
    --node-id i-111222333444555aa
```

## Auflisten von Clustern
<a name="sagemaker-hyperpod-eks-operate-cli-command-list-clusters"></a>

Führen Sie [list-clusters](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html) aus, um alle Cluster in Ihrem Konto aufzulisten.

```
aws sagemaker list-clusters
```

Sie können auch zusätzliche Flags hinzufügen, um die Liste der Cluster zu filtern. Weitere Informationen darüber, wie dieser Befehl auf niedriger Ebene ausgeführt wird, und weitere Flags zum Filtern finden Sie in der [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html)API-Referenz.

# Die SageMaker HyperPod Cluster-Konfiguration wird aktualisiert
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster"></a>

Führen Sie [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) aus, um die Konfiguration eines Clusters zu aktualisieren.

**Anmerkung**  
Wichtige Überlegungen:  
Sie können die EKS-Clusterinformationen, denen Ihr HyperPod Cluster zugeordnet ist, nach der Erstellung des Clusters nicht ändern. 
Wenn auf dem Cluster umfassende Zustandsprüfungen durchgeführt werden, funktioniert diese API nicht wie erwartet. Möglicherweise wird eine Fehlermeldung angezeigt, dass derzeit umfassende Zustandsprüfungen durchgeführt werden. Um den Cluster zu aktualisieren, sollten Sie warten, bis die umfassenden Zustandsprüfungen abgeschlossen sind.

1. Erstellen Sie eine [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)-Anforderungsdatei im JSON-Format. Stellen Sie sicher, dass Sie den richtigen Clusternamen und Instance-Gruppennamen für die Aktualisierung angeben. Für jede Instance-Gruppe können Sie den Instance-Typ, die Anzahl der Instances, das Einstiegsskript für die Lebenszykluskonfiguration und den Pfad zum Skript ändern.
**Anmerkung**  
Sie können den verwenden`UpdateCluster`, um ganze Instanzgruppen herunterzuskalieren oder ganze Instanzgruppen aus Ihrem SageMaker HyperPod Cluster zu entfernen. Weitere Anweisungen zum Herunterskalieren oder Löschen von Instance-Gruppen finden Sie unter [Einen SageMaker HyperPod Cluster herunterskalieren](smcluster-scale-down.md).

   1. Geben Sie für `ClusterName` den Namen des Clusters an, den Sie aktualisieren möchten.

   1. Für `InstanceGroupName`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, geben Sie den Namen der Instance-Gruppe an, die Sie aktualisieren möchten.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie einen neuen Namen an, der in Ihrem Cluster nicht vorhanden ist.

   1. Für `InstanceType`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, müssen Sie den Instance-Typ, den Sie ursprünglich angegeben haben, der Gruppe zuordnen.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie einen Instance-Typ an, mit dem Sie die Gruppe konfigurieren möchten.

   1. Für `InstanceCount`

      1. Um eine bestehende Instance-Gruppe zu aktualisieren, geben Sie eine Ganzzahl an, die der gewünschten Anzahl von Instances entspricht. Sie können einen höheren oder niedrigeren Wert (bis 0) angeben, um die Instance-Gruppe herauf- oder herunterskalieren.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie eine Ganzzahl größer oder gleich 1 an. 

   1. Denn `LifeCycleConfig` Sie können die Werte für beide ändern `SourceS3Uri` und `OnCreate` wenn Sie die Instance-Gruppe aktualisieren möchten.

   1. Für `ExecutionRole`

      1. Verwenden Sie zum Aktualisieren einer vorhandenen Instance-Gruppe weiterhin dieselbe IAM-Rolle, die Sie bei der Clustererstellung zugewiesen haben.

      1. Um eine neue Instance-Gruppe hinzuzufügen, geben Sie eine IAM-Rolle an, die Sie anfügen möchten.

   1. Für `ThreadsPerCore`

      1. Verwenden Sie zum Aktualisieren einer vorhandenen Instance-Gruppe weiterhin denselben Wert, den Sie bei der Clustererstellung zugewiesen haben.

      1. Um eine neue Instance-Gruppe hinzuzufügen, können Sie einen beliebigen Wert aus den zulässigen Optionen pro Instance-Typ auswählen. Weitere Informationen finden Sie unter dem Instance-Typ und in der Spalte **Gültige Threads pro Kern** in der Referenztabelle unter [CPU-Kerne und Threads pro CPU-Kern pro Instance-Typ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) im *Benutzerhandbuch für Amazon EC2*.

   1. Für`OnStartDeepHealthChecks`, hinzufügen `InstanceStress` und `InstanceConnectivity` aktivieren[Tiefgreifende Zustandsprüfungen](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md).

   1. Geben Sie für an`NodeRecovery`, `Automatic` ob die automatische Knotenwiederherstellung aktiviert werden soll. SageMaker HyperPod ersetzt Instanzen (Knoten) oder startet sie neu, wenn der Health Monitoring Agent Probleme feststellt.

   Der folgende Codeausschnitt ist eine JSON-Anforderungsdateivorlage, die Sie verwenden können. Weitere Informationen zur Anforderungssyntax und zu den Parametern dieser API finden Sie in der [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)API-Referenz.

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "name-of-cluster-to-update",
       // Required
       "InstanceGroups": [{
           "InstanceGroupName": "string",
           "InstanceType": "string",
           "InstanceCount": number,
           "LifeCycleConfig": {
               "SourceS3Uri": "string",
               "OnCreate": "string"
           },
           "ExecutionRole": "string",
           "ThreadsPerCore": number,
           "OnStartDeepHealthChecks": [
               "InstanceStress", "InstanceConnectivity"
           ]
       }],
       "NodeRecovery": "Automatic"
   }
   ```

1. Führen Sie den folgenden `update-cluster`-Befehl aus, um die Anfrage einzureichen. 

   ```
   aws sagemaker update-cluster \
       --cli-input-json file://complete/path/to/update_cluster.json
   ```

# Aktualisierung der SageMaker HyperPod Plattformsoftware
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster-software"></a>

Wenn Sie Ihren SageMaker HyperPod Cluster erstellen, SageMaker HyperPod wählt er ein Amazon Machine Image (AMI) aus, das der Kubernetes-Version Ihres Amazon EKS-Clusters entspricht.

Wird ausgeführt [update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html), um bestehende Cluster mit Software und Sicherheitspatches zu aktualisieren, die SageMaker HyperPod vom Service bereitgestellt werden. Für `--cluster-name` geben Sie entweder den Namen oder den ARN des zu aktualisierenden Clusters an.

**Wichtig**  
Wenn diese API aufgerufen wird, werden die Jobs (Pods), die auf den Knoten ausgeführt werden, SageMaker HyperPod weder gelöscht noch neu verteilt. Stellen Sie sicher, dass Sie überprüfen, ob auf den Knoten Jobs ausgeführt werden, bevor Sie diese API aufrufen.
Der Patching-Prozess ersetzt das Root-Volume durch das aktualisierte AMI, was bedeutet, dass Ihre zuvor im Root-Volume der Instance gespeicherten Daten verloren gehen. Stellen Sie sicher, dass Sie Ihre Daten vom Instance-Root-Volume auf Amazon S3 oder Amazon FSx for Lustre sichern.
Alle Clusterknoten weisen während der Durchführung der Patches Ausfallzeiten auf (die Knoten werden in der Ausgabe von `kubectl get node` als `<NotReady>` angezeigt). Wir empfehlen Ihnen, alle Workloads vor dem Patchen zu beenden und sie nach Abschluss des Patches wieder aufzunehmen.   
Wenn der Sicherheitspatch fehlschlägt, können Sie Fehlermeldungen abrufen, indem Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)-API wie unter [Beschreiben eines Clusters](sagemaker-hyperpod-eks-operate-cli-command-cluster-details.md#sagemaker-hyperpod-eks-operate-cli-command-describe-cluster) beschrieben ausführen.

```
aws sagemaker update-cluster-software --cluster-name your-hyperpod-cluster
```

 Wenn Sie die `UpdateClusterSoftware` API aufrufen, SageMaker HyperPod aktualisiert die Kubernetes-Version der Knoten, indem Sie die neueste Version [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) basierend auf der Kubernetes-Version Ihres Amazon EKS-Clusters auswählen. Anschließend werden die Lebenszyklusskripte in dem Amazon-S3-Bucket ausgeführt, den Sie bei der Erstellung oder Aktualisierung des Clusters angegeben haben. 

Sie können die Kubelet-Version eines Knotens überprüfen, indem Sie den Befehl `kubectl describe node` ausführen.

Die Kubernetes-Version von SageMaker HyperPod Clusterknoten wird nicht automatisch aktualisiert, wenn Sie Ihre Amazon EKS-Cluster-Version aktualisieren. Nachdem Sie die Kubernetes-Version für Ihren Amazon EKS-Cluster aktualisiert haben, müssen Sie die `UpdateClusterSoftware` API verwenden, um Ihre SageMaker HyperPod Clusterknoten auf dieselbe Kubernetes-Version zu aktualisieren.

 Es wird empfohlen, Ihren SageMaker HyperPod Cluster nach der Aktualisierung Ihrer Amazon EKS-Knoten zu aktualisieren und zu vermeiden, dass mehr als ein Versionsunterschied zwischen der Amazon EKS-Cluster-Version und der SageMaker HyperPod Cluster-Knoten-Version besteht.

Das SageMaker HyperPod Serviceteam bringt regelmäßig neue [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) Funktionen zur Erhöhung der Sicherheit und Verbesserung der Benutzererfahrung auf den Markt. Wir empfehlen Ihnen, immer auf die neueste Version von SageMaker HyperPod DLAMI zu aktualisieren. Für future SageMaker HyperPod DLAMI-Updates für Sicherheitspatches folgen Sie bitte. [SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md)

**Anmerkung**  
Sie können diese API nur programmgesteuert ausführen. Die Patching-Funktionalität ist nicht in der Benutzeroberfläche der Konsole implementiert. SageMaker HyperPod 

# Zugreifen auf SageMaker HyperPod Clusterknoten
<a name="sagemaker-hyperpod-eks-operate-access-through-terminal"></a>

Mit den AWS CLI Befehlen für AWS Systems Manager (SSM) können Sie direkt auf die Knoten eines in Betrieb befindlichen SageMaker HyperPod Clusters zugreifen. Führen Sie `aws ssm start-session` mit dem Hostnamen des Knotens im Format `sagemaker-cluster:[cluster-id]_[instance-group-name]-[instance-id]` aus. Sie können die Cluster-ID, die Instanz-ID und den Namen der Instanzgruppe von der [SageMaker HyperPod Konsole](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-view-details-of-clusters) oder durch Ausführen von `describe-cluster` und `list-cluster-nodes` aus den [AWS CLI Befehlen für SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-list-cluster-nodes) abrufen. Wenn Ihre Cluster-ID beispielsweise `aa11bbbbb222`, der Clusterknotenname `controller-group` und die Clusterknoten-ID `i-111222333444555aa` lautet, sollte der SSM-Befehl `start-session` wie folgt lauten.

**Anmerkung**  
Wenn Sie noch keine Einrichtung vorgenommen haben AWS Systems Manager, folgen Sie den Anweisungen unter[Einrichtung AWS Systems Manager und Ausführung als für die Cluster-Benutzerzugriffskontrolle](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-ssm).

```
$ aws ssm start-session \
    --target sagemaker-cluster:aa11bbbbb222_controller-group-i-111222333444555aa \
    --region us-west-2
Starting session with SessionId: s0011223344aabbccdd
root@ip-111-22-333-444:/usr/bin#
```

# Einen SageMaker HyperPod Cluster herunterskalieren
<a name="smcluster-scale-down"></a>

Sie können die Anzahl der Instances, die auf Ihrem SageMaker HyperPod Amazon-Cluster ausgeführt werden, reduzieren. Es kann verschiedene Gründe geben, warum Sie einen Cluster herunterskalieren möchten, beispielsweise eine geringere Ressourcennutzung oder Kostenoptimierung.

Die folgende Seite beschreibt zwei Hauptansätze zum Herunterskalieren:
+ **Herunterskalieren auf Instance-Gruppenebene:** Dieser Ansatz verwendet die `UpdateCluster`-API, mit der Sie:
  + Die Anzahl der Instances für bestimmte Instance-Gruppen unabhängig voneinander herunterskalieren. SageMaker KI verarbeitet die Terminierung von Knoten so, dass die Anzahl der neuen Zielinstanzen erreicht wird, die Sie für jede Gruppe festgelegt haben. Siehe [Verkleinern Sie eine Instance-Gruppe](#smcluster-scale-down-updatecluster).
  + Löschen Sie Instance-Gruppen vollständig aus Ihrem Cluster. Siehe [Instance-Gruppen löschen](#smcluster-remove-instancegroup).
+ **Herunterskalieren auf Instance-Ebene** Dieser Ansatz nutzt die `BatchDeleteClusterNodes`-API, mit der Sie die einzelnen Knoten angeben können, die Sie beenden möchten. Siehe [Herunterskalieren auf Instance-Ebene](#smcluster-scale-down-batchdelete).

**Anmerkung**  
Beim Herunterskalieren auf Instance-Ebene mit `BatchDeleteCusterNodes` können Sie nur maximal 99 Instances gleichzeitig beenden. `UpdateCluster` unterstützt das Beenden einer beliebigen Anzahl von Instances.

## Wichtige Überlegungen
<a name="smcluster-scale-down-considerations"></a>
+ Wenn Sie einen Cluster herunterskalieren, sollten Sie sicherstellen, dass die verbleibenden Ressourcen für Ihren Workload ausreichen und dass alle erforderlichen Datenmigrationen oder Neugewichtungen ordnungsgemäß durchgeführt werden, um Störungen zu vermeiden. 
+ Stellen Sie sicher, dass Sie Ihre Daten auf Amazon S3 oder einem FSx for Lustre-Dateisystem sichern, bevor Sie die API für eine Worker-Knotengruppe aufrufen. Dies kann dazu beitragen, potenziellen Datenverlust durch das Instance-Root-Volume zu verhindern. Weitere Informationen über Sicherungen finden Sie unter [Verwenden Sie das Backup-Skript von SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).
+ Um diese API auf einem vorhandenen Cluster aufzurufen, müssen Sie zuerst den Cluster patchen, indem Sie die API ausführen. [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html) Weitere Informationen zum Patchen eines Clusters finden Sie unter [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software).
+ Die Zählung/Abrechnung für On-Demand-Instances wird nach der Herunterskalierung automatisch gestoppt. Wenn Sie die Erfassung von reservierten Instances mit reduzierter Kapazität beenden möchten, wenden Sie sich an Ihr AWS Account-Team, um Unterstützung zu erhalten.
+ Sie können die freigegebene Kapazität der herunterskalierten Reserved Instances verwenden, um einen anderen Cluster hochzuskalieren. SageMaker HyperPod 

## Herunterskalieren auf Instance-Gruppenebene
<a name="smcluster-scale-down-or-delete"></a>

Dieser [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)Vorgang ermöglicht es Ihnen, Änderungen an der Konfiguration Ihres SageMaker HyperPod Clusters vorzunehmen, z. B. die Anzahl der Instanzen einer Instanzgruppe zu reduzieren oder ganze Instanzgruppen zu entfernen. Dies kann nützlich sein, wenn Sie die Ihrem Cluster zugewiesenen Ressourcen an Änderungen Ihrer Arbeitslast anpassen, die Kosten optimieren oder den Instance-Typ einer Instance-Gruppe ändern möchten.

### Verkleinern Sie eine Instance-Gruppe
<a name="smcluster-scale-down-updatecluster"></a>

Verwenden Sie diesen Ansatz, wenn Sie eine Instance-Gruppe haben, die inaktiv ist und es sicher ist, eine der Instances zu beenden, um sie herunterzuskalieren. Wenn Sie eine `UpdateCluster` Anfrage zum Herunterskalieren einreichen, werden HyperPod nach dem Zufallsprinzip Instances für die Kündigung ausgewählt und auf die angegebene Anzahl von Knoten für die Instanzgruppe herunterskaliert.

**Anmerkung**  
Wenn Sie die Anzahl der Instances in einer Instance-Gruppe auf 0 herunterskalieren, werden alle Instances innerhalb dieser Gruppe beendet. Die Instanzgruppe selbst wird jedoch weiterhin als Teil des SageMaker HyperPod Clusters existieren. Sie können die Instance-Gruppe zu einem späteren Zeitpunkt mit derselben Instance-Gruppenkonfiguration wieder hochskalieren.   
Alternativ können Sie festlegen, dass eine Instance-Gruppe dauerhaft entfernt wird. Weitere Informationen finden Sie unter [Instance-Gruppen löschen](#smcluster-remove-instancegroup).

**So skalieren Sie mit `UpdateCluster`**

1. Befolgen Sie die in [Die SageMaker HyperPod Cluster-Konfiguration wird aktualisiert](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md) beschriebenen Schritte. Wenn Sie Schritt **1.d** erreicht haben, in dem Sie das **InstanceCount**Feld angeben, geben Sie eine Zahl ein, die kleiner ist als die aktuelle Anzahl von Instanzen, um den Cluster zu verkleinern.

1. Führen Sie den AWS CLI Befehl [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) aus, um Ihre Anfrage einzureichen.

Nachfolgend finden Sie ein Beispiel für ein `UpdateCluster`-JSON-Objekt: Stellen Sie sich den Fall vor, dass Ihre Instance-Gruppe derzeit aus 2 laufenden Instances besteht. Wenn Sie das **InstanceCount**Feld auf 1 setzen, wie im Beispiel gezeigt, wählen Sie HyperPod nach dem Zufallsprinzip eine der Instanzen aus und beenden sie.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training-instances",
      "InstanceType": "instance-type",
      "InstanceCount": 1,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    }
  ],
  "NodeRecovery": "Automatic"
}
```

### Instance-Gruppen löschen
<a name="smcluster-remove-instancegroup"></a>

Sie können den [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)Vorgang verwenden, um ganze Instanzgruppen aus Ihrem SageMaker HyperPod Cluster zu entfernen, wenn sie nicht mehr benötigt werden. Dies geht über eine einfache Verkleinerung hinaus und ermöglicht es Ihnen, bestimmte Instance-Gruppen vollständig aus der Konfiguration Ihres Clusters zu entfernen. 

**Anmerkung**  
Gehen Sie beim Entfernen einer Instance-Gruppe wie folgt vor:  
Alle Instances innerhalb der Zielgruppe werden beendet.
Die gesamte Gruppenkonfiguration wird aus dem Cluster gelöscht.
Alle Workloads, die auf dieser Instance-Gruppe ausgeführt werden, werden gestoppt.

**So löschen Sie Instance-Gruppen mit `UpdateCluster`**

1. Wenn Sie die unter [Die SageMaker HyperPod Cluster-Konfiguration wird aktualisiert](sagemaker-hyperpod-eks-operate-cli-command-update-cluster.md) beschriebenen Schritte ausführen:

   1. Legen Sie den optionalen `InstanceGroupsToDelete`-Parameter in Ihrer `UpdateCluster`-JSON-Datei fest und übergeben Sie die kommagetrennte Liste der Instance-Gruppennamen, die Sie löschen möchten.

   1.  Wenn Sie die `InstanceGroups`-Liste angeben, stellen Sie sicher, dass die Spezifikationen der Instance-Gruppen, die Sie entfernen, nicht mehr in der `InstanceGroups`-Liste aufgeführt sind.

1. Führen Sie den AWS CLI Befehl [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) aus, um Ihre Anfrage einzureichen.

**Wichtig**  
Ihr SageMaker HyperPod Cluster muss immer mindestens eine Instanzgruppe verwalten.
Stellen Sie sicher, dass alle wichtigen Daten gesichert sind, bevor Sie sie entfernen.
Die Entfernung kann nicht rückgängig gemacht werden.

Nachfolgend finden Sie ein Beispiel für ein `UpdateCluster`-JSON-Objekt: Betrachten wir den Fall, dass ein Cluster derzeit über drei Instance-Gruppen verfügt: eine *Trainingsgruppe*, eine *Prototyp-Trainingsgruppe* und eine *Inferenz-Servicegruppe*. Sie möchten die *Prototyp-Trainingsgruppe* löschen.

```
{
  "ClusterName": "name-of-cluster-to-update",
  "InstanceGroups": [
    {
      "InstanceGroupName": "training",
      "InstanceType": "instance-type",
      "InstanceCount": ,
      "LifeCycleConfig": {
        "SourceS3Uri": "s3://amzn-s3-demo-bucket/training-script.py",
        "OnCreate": "s3://amzn-s3-demo-bucket/setup-script.sh"
      },
      "ExecutionRole": "arn:aws:iam::123456789012:role/SageMakerRole",
      "ThreadsPerCore": number-of-threads,
      "OnStartDeepHealthChecks": [
        "InstanceStress",
        "InstanceConnectivity"
      ]
    },
    {
      "InstanceGroupName": "inference-serving",
      "InstanceType": "instance-type",
      "InstanceCount": 2,
      [...]
    },
  ],
  "InstanceGroupsToDelete": [ "prototype-training" ],
  "NodeRecovery": "Automatic"
}
```

## Herunterskalieren auf Instance-Ebene
<a name="smcluster-scale-down-batchdelete"></a>

Mit `BatchDeleteClusterNodes` diesem Vorgang können Sie einen SageMaker HyperPod Cluster herunterskalieren, indem Sie die einzelnen Knoten angeben, die Sie beenden möchten. `BatchDeleteClusterNodes`bietet eine detailliertere Steuerung für die gezielte Entfernung von Knoten und die Clusteroptimierung. Beispielsweise können Sie `BatchDeleteClusterNodes` verwenden, um bestimmte Knoten für Wartungszwecke, rollierende Upgrades oder die geografische Neuverteilung von Ressourcen zu löschen.

**API-Anforderung und -Antwort**

Wenn Sie eine `BatchDeleteClusterNodes` Anfrage einreichen, SageMaker HyperPod werden Knoten nach ihrer Instanz gelöscht. IDs Die API akzeptiert eine Anfrage mit dem Clusternamen und einer Liste der IDs zu löschenden Knoten. 

Die Antwort hat zwei Abschnitte: 
+  `Failed`: Eine Liste von Fehlern des Typs `[ BatchDeleteClusterNodesError ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BatchDeleteClusterNodesError.html)`– einer pro Instance-ID.
+  `Successful`: Die Liste der Instanzen IDs wurde erfolgreich beendet. 

**Validierung und Fehlerbehandlung**

Die API führt verschiedene Validierungen durch, wie zum Beispiel:
+ Überprüfung des Knoten-ID-Formats (Präfix von `i-` und Instance-ID-Struktur von Amazon EC2). 
+ Überprüfung der Länge der Knotenliste mit einem Limit von 99 oder weniger Knoten IDs in einer einzigen `BatchDeleteClusterNodes` Anfrage.
+ Stellen Sie sicher, dass ein gültiger SageMaker HyperPod Cluster mit dem eingegebenen Clusternamen vorhanden ist und dass keine Operationen auf Clusterebene (Aktualisierung, Systemaktualisierung, Patchen oder Löschen) im Gange sind.
+ Behandlung von Fällen, in denen Instances nicht gefunden wurden, einen ungültigen Status haben oder verwendet werden.

**API-Antwortcodes**
+  Die API gibt einen `200`-Statuscode für erfolgreiche (z. B. alle Eingabeknoten haben die Validierung bestanden) oder teilweise erfolgreiche Anfragen (z. B. einige Eingabeknoten haben die Validierung nicht bestanden) zurück. 
+  Wenn alle diese Validierungen fehlschlagen sind (z. B. wenn alle Eingabeknoten die Validierung nicht bestehen), gibt die API eine Antwort `400` Bad Request mit den entsprechenden Fehlermeldungen und Fehlercodes zurück. 

**Beispiel**

Im Folgenden finden Sie ein Beispiel für das **Herunterskalieren eines Clusters auf Instance-Ebene** unter Verwendung der AWS CLI:

```
aws sagemaker batch-delete-cluster-nodes --cluster-name "cluster-name" --node-ids '["i-111112222233333", "i-111112222233333"]'
```

# Löschen eines Clusters SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-cli-command-delete-cluster"></a>

Führen Sie [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html) aus, um einen Cluster zu löschen. Sie können entweder den Namen oder den ARN des Clusters angeben.

```
aws sagemaker delete-cluster --cluster-name your-hyperpod-cluster
```

Diese API bereinigt nur die SageMaker HyperPod Ressourcen und löscht keine Ressourcen des zugehörigen EKS-Clusters. Dazu gehören der Amazon EKS-Cluster, EKS-Pod-Identitäten, FSx Amazon-Volumes und EKS-Add-Ons. Dazu gehört auch die Erstkonfiguration, die Sie Ihrem EKS-Cluster hinzugefügt haben. Wenn Sie alle Ressourcen bereinigen möchten, stellen Sie sicher, dass Sie auch die EKS-Ressourcen separat bereinigen. 

Stellen Sie sicher, dass Sie zuerst die SageMaker HyperPod Ressourcen löschen, gefolgt von den EKS-Ressourcen. Wenn Sie den Löschvorgang in umgekehrter Reihenfolge durchführen, kann dies zu verbliebenen Ressourcen führen.

**Wichtig**  
Wenn diese API aufgerufen wird, werden die Jobs (Pods), die auf den Knoten ausgeführt werden, SageMaker HyperPod weder gelöscht noch neu verteilt. Stellen Sie sicher, dass Sie überprüfen, ob auf den Knoten Jobs ausgeführt werden, bevor Sie diese API aufrufen.

# HyperPod verwaltetes mehrstufiges Checkpointing
<a name="managed-tier-checkpointing"></a>

In diesem Abschnitt wird erklärt, wie verwaltetes mehrstufiges Checkpointing funktioniert und welche Vorteile es für groß angelegte Modellschulungen bietet.

Mit Amazon SageMaker HyperPod Managed Tiered Checkpointing können Sie umfangreiche generative KI-Modelle effizienter trainieren. Es verwendet mehrere Speicherebenen, einschließlich des CPU-Speichers Ihres Clusters. Dieser Ansatz reduziert Ihre Erholungszeit und minimiert den Verlust an Trainingsfortschritten. Außerdem werden nicht ausgelastete Speicherressourcen in Ihrer Trainingsinfrastruktur genutzt.

Das verwaltete mehrstufige Checkpointing ermöglicht das Speichern von Checkpoints mit einer höheren Frequenz im Speicher. Sie werden in regelmäßigen Abständen dauerhaft gespeichert. Dadurch bleiben sowohl die Leistung als auch die Zuverlässigkeit während Ihres Trainingsprozesses erhalten.

In diesem Handbuch wird beschrieben, wie Sie verwaltetes mehrstufiges Checkpointing mit PyTorch Frameworks auf Amazon HyperPod EKS-Clustern einrichten, konfigurieren und verwenden.

## So funktioniert verwaltetes mehrstufiges Checkpointing
<a name="managed-tier-checkpointing-works"></a>

Beim verwalteten mehrstufigen Checkpointing wird ein mehrstufiger Speicheransatz verwendet. Der CPU-Speicher dient als primäre Ebene zum Speichern von Modell-Checkpoints. Sekundäre Stufen umfassen persistente Speicheroptionen wie Amazon S3.

Wenn Sie einen Checkpoint speichern, speichert das System ihn im zugewiesenen Speicherplatz auf Ihren Clusterknoten. Er repliziert automatisch Daten zwischen benachbarten Rechenknoten, um die Zuverlässigkeit zu erhöhen. Diese Replikationsstrategie schützt vor Ausfällen einzelner oder mehrerer Knoten und bietet gleichzeitig schnellen Zugriff für Wiederherstellungsvorgänge.

Das System speichert außerdem regelmäßig Checkpoints entsprechend Ihrer Konfiguration im persistenten Speicher. Dies gewährleistet eine langfristige Haltbarkeit Ihres Trainingsfortschritts.

Zu den wichtigsten Komponenten gehören:
+ **Speicherverwaltungssystem**: Ein Speicherverwaltungs-Daemon, der disaggregierten Speicher als Service für Checkpoint-Speicher bereitstellt
+ **HyperPod Python-Bibliothek**: Stellt eine Schnittstelle zum disaggregierten Speicher her APIs und bietet Dienstprogramme zum Speichern, Laden und Verwalten von Checkpoints über Stufen hinweg
+ **Checkpoint-Replikation**: Aus Gründen der Fehlertoleranz werden Checkpoints automatisch über mehrere Knoten hinweg repliziert

Das System lässt sich über einfache API-Aufrufe nahtlos in PyTorch Trainingsschleifen integrieren. Es erfordert nur minimale Änderungen an Ihrem vorhandenen Code.

## Vorteile
<a name="managed-tier-checkpointing-benefits"></a>

Das verwaltete mehrstufige Checkpointing bietet mehrere Vorteile für das Training umfangreicher Modelle:
+ **Verbesserte Benutzerfreundlichkeit**: Verwaltet die Speicherung, Replikation, Persistenz und Wiederherstellung von Checkpoints
+ **Schnellere Checkpoint-Operationen**: Speicherbasierter Speicher bietet schnellere Speicher- und Ladezeiten als festplattenbasiertes Checkpointing, was zu einer schnelleren Wiederherstellung führt
+ **Fehlertoleranz**: Die automatische knotenübergreifende Checkpoint-Replikation schützt vor Ausfällen von Hardwareknoten
+ **Minimale Codeänderungen**: Die einfache API-Integration erfordert nur geringfügige Änderungen an vorhandenen Trainingsskripten
+ **Verbesserter Trainingsdurchsatz**: Der geringere Aufwand an Checkpoints bedeutet, dass mehr Zeit für das eigentliche Training aufgewendet wird

**Topics**
+ [So funktioniert verwaltetes mehrstufiges Checkpointing](#managed-tier-checkpointing-works)
+ [Vorteile](#managed-tier-checkpointing-benefits)
+ [Richten Sie verwaltetes mehrstufiges Checkpointing ein](managed-tier-checkpointing-setup.md)
+ [Verwaltetes mehrstufiges Checkpointing wird entfernt](managed-tier-checkpointing-remove.md)
+ [Sicherheitsüberlegungen für verwaltetes mehrstufiges Checkpointing](managed-tier-security-considerations.md)

# Richten Sie verwaltetes mehrstufiges Checkpointing ein
<a name="managed-tier-checkpointing-setup"></a>

Dieser Abschnitt enthält den Einrichtungsprozess für verwaltetes mehrstufiges Checkpointing für Amazon. SageMaker HyperPod Sie erfahren, wie Sie die Funktion in Ihrem Cluster aktivieren und Checkpointing in Ihrem Trainingscode implementieren.

**Topics**
+ [Voraussetzungen](#managed-tier-checkpointing-setup-prerequisites)
+ [Schritt 1: Aktivieren Sie verwaltetes mehrstufiges Checkpointing für Ihren Cluster](#managed-tier-checkpointing-setup-step-enable-for-cluster)
+ [Schritt 2: Python-Bibliothek in Ihrem Trainings-Image installieren](#managed-tier-checkpointing-setup-step-install-library)
+ [Schritt 3: Speichern Sie Checkpoints in Ihrer Trainingsschleife](#managed-tier-checkpointing-setup-step-save-checkpoint-in-loop)
+ [Schritt 4: Checkpoints für die Wiederherstellung laden](#managed-tier-checkpointing-setup-step-load-checkpoint)
+ [Bestätigen Sie Ihre verwalteten mehrstufigen Checkpoint-Operationen](#managed-tier-checkpointing-setup-validation)

## Voraussetzungen
<a name="managed-tier-checkpointing-setup-prerequisites"></a>

Bevor Sie verwaltetes mehrstufiges Checkpointing einrichten, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ Ein Amazon HyperPod EKS-Cluster mit ausreichend verfügbarem CPU-Speicher für die Checkpoint-Zuweisung
+ PyTorch Trainingsworkloads und DCP-Jobs (beide werden unterstützt)
+ Geeignete IAM-Berechtigungen für die Clusterverwaltung, einschließlich:
  + Amazon CloudWatch - und Amazon S3 S3-Schreibberechtigungen für den Trainings-Pod zum Lesen/Schreiben von Checkpoints und Push-Metriken
  + Diese Berechtigungen können über die [EKS-OIDC-Einrichtung](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) konfiguriert werden.

## Schritt 1: Aktivieren Sie verwaltetes mehrstufiges Checkpointing für Ihren Cluster
<a name="managed-tier-checkpointing-setup-step-enable-for-cluster"></a>

**Wichtig**  
Sie müssen sich für die Verwendung von verwaltetem mehrstufigem Checkpointing anmelden.

Aktivieren Sie verwaltetes mehrstufiges Checkpointing über, HyperPod APIs wenn Sie Ihren Cluster erstellen oder aktualisieren. Der Service installiert das Speicherverwaltungssystem automatisch, wenn Sie den `TieredStorageConfig`-Parameter angeben.

Für neue Cluster können Sie verwenden. [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html) AWS CLI

```
aws sagemaker create-cluster \
    --cluster-name cluster-name \
    --orchestrator "Eks={ClusterArn=eks-cluster-arn}" \
    --instance-groups '{
        "InstanceGroupName": "instance-group-name",
        "InstanceType": "instance-type",
        "InstanceCount": instance-count,
        "LifeCycleConfig": {
            "SourceS3Uri": "s3-path-to-lifecycle-scripts",
            "OnCreate": "lifecycle-script-name"
        },
        "ExecutionRole": "instance-group-iam-role",
        "ThreadsPerCore": threads-per-core,
        "InstanceStorageConfigs": [
            { "EbsVolumeConfig": {"VolumeSizeInGB": volume-size} }
        ]
    }' \
    --vpc-config '{
        "SecurityGroupIds": ["security-group-ids"],
        "Subnets": ["subnets"]
    }' \
    --tiered-storage-config '{
        "Mode": "Enable"
    }'
```

Der `InstanceMemoryAllocationPercentage`-Parameter gibt die `percentage` (int) des Cluster-Speichers an, der für Checkpointing zugewiesen werden soll. Der Bereich liegt zwischen 20 und 100.

## Schritt 2: Python-Bibliothek in Ihrem Trainings-Image installieren
<a name="managed-tier-checkpointing-setup-step-install-library"></a>

Installieren Sie die [Amazon SageMaker Checkpointing-Bibliothek](https://pypi.org/project/amzn-sagemaker-checkpointing/) und ihre Abhängigkeiten in Ihrem Trainings-Image, indem Sie sie zu Ihrem Dockerfile hinzufügen:

```
# Add this line to your training image Dockerfile
RUN pip install amzn-sagemaker-checkpointing s3torchconnector tenacity torch boto3 s3torchconnector
```

## Schritt 3: Speichern Sie Checkpoints in Ihrer Trainingsschleife
<a name="managed-tier-checkpointing-setup-step-save-checkpoint-in-loop"></a>

In deiner Trainingsschleife kannst du Checkpoints mithilfe von DCP asynchron speichern. PyTorch Im Folgenden finden Sie ein Beispiel dafür.

```
import torch
import torch.distributed as dist
from torch.distributed.checkpoint import async_save, load
from amzn_sagemaker_checkpointing.checkpointing.filesystem.filesystem import (
    SageMakerTieredStorageWriter,
    SageMakerTieredStorageReader
)

# Initialize distributed training
dist.init_process_group(backend="nccl")

# Configure checkpointing
checkpoint_config = SageMakerCheckpointConfig(
    # Unique ID for your training job 
    # Allowed characters in ID include: alphanumeric, hyphens, and underscores
    namespace=os.environ.get('TRAINING_JOB_NAME', f'job-{int(time.time())}'),

    # Number of distributed processes/available GPUs
    world_size=dist.get_world_size(),

    # S3 storage location, required for SageMakerTieredStorageReader for read fallbacks
    # Required for SageMakerTieredStorageWriter when save_to_s3 is True
    s3_tier_base_path="s3://my-bucket/checkpoints"
)

# Your model and optimizer
model = MyModel()
optimizer = torch.optim.AdamW(model.parameters())

# Training loop
future = None
in_memory_ckpt_freq = 10
s3_ckpt_freq = 50

for training_step in range(1000):
    # ... training code ...
    
    # Save checkpoint
    if (training_step % in_memory_ckpt_freq == 0 or 
        training_step % s3_ckpt_freq == 0):
        # Create state dictionary
        state_dict = {
            "model": model.state_dict(),
            "optimizer": optimizer.state_dict(),
            "step": training_step,
            "epoch": epoch
        }
        
        # Create storage writer for current step
        checkpoint_config.save_to_s3 = training_step % s3_ckpt_freq == 0
        storage_writer = SageMakerTieredStorageWriter(
            checkpoint_config=checkpoint_config,
            step=training_step
        )

        # wait for previous checkpoint to get completed
        if future is not None:
            exc = future.exception()
            if exc:
                print(f"Failure in saving previous checkpoint:{str(exc)}")
                # Handle failures as required
            else:
                result = future.result()
                # Process results from save, if required
        
        # Async save checkpoint using PyTorch DCP
        future = async_save(state_dict=state_dict, storage_writer=storage_writer)
        
        # Continue training while checkpoint saves in background
```

## Schritt 4: Checkpoints für die Wiederherstellung laden
<a name="managed-tier-checkpointing-setup-step-load-checkpoint"></a>

Das Folgende ist ein Beispiel für das Laden eines Checkpoints.

```
# Create state dictionary template
state_dict = {
    "model": model.state_dict(),
    "optimizer": optimizer.state_dict(),
    "step": 0,
    "epoch": 0
}

# Load latest checkpoint
storage_reader = SageMakerTieredStorageReader(checkpoint_config=checkpoint_config)
load(state_dict, storage_reader=storage_reader)

# Load specific checkpoint step
storage_reader = SageMakerTieredStorageReader(
    checkpoint_config=checkpoint_config, 
    step=500 # Or don't pass step if you have to load the latest available step.
)
try:
    load(state_dict, storage_reader=storage_reader)
except BaseException as e:
    print(f"Checkpoint load failed: {str(e)}")
    # Add additional exception handling
```

## Bestätigen Sie Ihre verwalteten mehrstufigen Checkpoint-Operationen
<a name="managed-tier-checkpointing-setup-validation"></a>

Sie können Ihre verwalteten mehrstufigen Checkpoint-Operationen anhand von Protokollen validieren.

**Benutzerdefinierte Protokollierung (optional)**

Sie können Checkpointing-Protokolle in andere Protokolle integrieren, indem Sie einen benutzerdefinierten Logger an die Bibliothek übergeben. Beispielsweise können Sie Ihrem Trainingscode einen benutzerdefinierten Logger hinzufügen, sodass alle Protokolle aus der Bibliothek auch im Trainings-Logger gesammelt werden.

**Verbesserte Serviceprotokollierung (optional)**

Um das Debugging und die Transparenz der Services zu verbessern, können Sie den Checkpointing-Protokollpfad `/var/log/sagemaker_checkpointing` von Ihrem Pod aus in einen `/var/logs/sagemaker_checkpointing`-Pfad auf Ihrem Host mounten. Dadurch wird sichergestellt, dass nur bibliotheksspezifische Protokolle separat gesammelt werden. So erhält das Serviceteam verbesserte Transparenz hinsichtlich Debugging und Support.

# Verwaltetes mehrstufiges Checkpointing wird entfernt
<a name="managed-tier-checkpointing-remove"></a>

In diesem Abschnitt wird erklärt, wie Sie das verwaltete mehrstufige Checkpointing deaktivieren, wenn Sie es nicht mehr benötigen.

Um das verwaltete mehrstufige Checkpointing zu deaktivieren, verwenden Sie den, um Ihre Clusterkonfiguration [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) AWS CLI zu aktualisieren:

```
aws sagemaker update-cluster \
    --cluster-name cluster-name \
    --tiered-storage-config '{ "Mode": "Disable" }'
```

Dadurch wird der Speicherverwaltungs-Daemon aus Ihrem Cluster entfernt. Der Daemon ist als Standard-Kubernetes implementiert DaemonSet und folgt dem standardmäßigen Kubernetes-Lifecycle-Management.

# Sicherheitsüberlegungen für verwaltetes mehrstufiges Checkpointing
<a name="managed-tier-security-considerations"></a>

In diesem Abschnitt werden wichtige Sicherheitsaspekte bei der Verwendung von verwaltetem mehrstufigem Checkpointing behandelt. Es umfasst die Verwendung von Python Pickle, Amazon-S3-Verschlüsselung und Netzwerk-Endpunktsicherheit.

**Verwendung von Python Pickle**

Managed Tiered Checkpointing verwendet das Pickle-Modul von Python, um in Amazon S3 gespeicherte Checkpoint-Daten zu deserialisieren. Diese Implementierung hat wichtige Auswirkungen auf die Sicherheit:
+ **Erweiterte Vertrauensgrenze**: Wenn Sie Managed Tiered Checkpointing mit Amazon S3 verwenden, wird der Amazon S3 S3-Bucket Teil der Vertrauensgrenze Ihres Clusters.
+ **Risiko bei der Codeausführung**: Das Pickle-Modul von Python kann während der Deserialisierung beliebigen Code ausführen. Wenn sich ein nicht autorisierter Benutzer Schreibzugriff auf Ihren Checkpoint Amazon S3 S3-Bucket verschafft, könnte er potenziell bösartige Pickle-Daten erstellen, die ausgeführt werden, wenn sie durch verwaltetes mehrstufiges Checkpointing geladen werden.

**Bewährte Methoden für Amazon-S3-Speicher**

Wenn Sie verwaltetes mehrstufiges Checkpointing mit Amazon S3 S3-Speicher verwenden:
+ **Beschränken Sie den Zugriff auf den Amazon-S3-Bucket**: Stellen Sie sicher, dass nur autorisierte Benutzer und Rollen, die mit Ihrem Trainings-Cluster verbunden sind, Zugriff auf den Amazon-S3-Bucket haben, der für Checkpointing verwendet wird.
+ **Implementieren Sie Bucket-Richtlinien**: Konfigurieren Sie geeignete Bucket-Richtlinien, um unbefugten Zugriff oder nicht autorisierte Änderungen zu verhindern.
+ **Zugriffsmuster überprüfen**: Implementieren Sie die Protokollierung zur Validierung von Zugriffsmustern auf Ihre Checkpoint Amazon S3 S3-Buckets.
+ **Validieren Sie die Bucket-Namen**: Wählen Sie den Bucket-Namen mit Bedacht, um ein mögliches Bucket-Hijacking zu vermeiden.

**Netzwerk-Endpunkte**

Managed Tiered Checkpointing ermöglicht Netzwerkendpunkte auf jedem Ihrer Rechenknoten an den folgenden Ports: 9200/TCP, 9209/UDP, 9210/UDP, 9219/UDP, 9220/UDP, 9229/UDP, 9230/UDP, 9239/UDP, 9240/UDP. Diese Ports sind für die Funktion des Checkpointing-Services und die Aufrechterhaltung der Datensynchronisation erforderlich.

Standardmäßig SageMaker schränkt die Netzwerkkonfiguration den Zugriff auf diese Endpunkte aus Sicherheitsgründen ein. Wir empfehlen Ihnen, diese Standardeinschränkungen beizubehalten.

Beachten Sie bei der Konfiguration Ihrer Netzwerkeinstellungen für Ihre Knoten und VPC die AWS bewährten Methoden für VPCs, Sicherheitsgruppen und ACLs. Weitere Informationen finden Sie hier:
+ [ SageMaker HyperPod Voraussetzungen für Amazon](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-optional-vpcCluster)
+ [Bewährte VPC-Sicherheitsmethoden](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html)

# SageMaker HyperPod Verwaltung von Aufgaben
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance"></a>

SageMaker HyperPod Task Governance ist ein robustes Managementsystem, das entwickelt wurde, um die Ressourcenzuweisung zu optimieren und eine effiziente Nutzung der Rechenressourcen durch Teams und Projekte für Ihre Amazon EKS-Cluster sicherzustellen. Dadurch haben Administratoren die Möglichkeit, Folgendes festzulegen:
+ Prioritätsstufen für verschiedene Aufgaben
+ Rechenkapazitätszuweisung für jedes Team
+ Wie jedes Team ungenutzte Rechenleistung verleiht und ausleiht
+ Wenn ein Team seine eigenen Aufgaben vorwegnimmt

HyperPod Task Governance bietet auch Amazon EKS-Cluster-Observability und bietet so Echtzeiteinblicke in die Clusterkapazität. Dazu gehört die Verfügbarkeit und Nutzung von Rechenleistung, die Zuweisung und Auslastung von Teams sowie Informationen zu Aufgabenausführung und Wartezeiten, sodass Sie fundierte Entscheidungen treffen und Ressourcen proaktiv verwalten können. 

In den folgenden Abschnitten erfahren Sie, wie Sie Ihre Amazon EKS-Cluster einrichten, die wichtigsten Konzepte verstehen und die HyperPod Task-Governance verwenden.

**Topics**
+ [Einrichtung für die SageMaker HyperPod Task-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md)
+ [Dashboard](sagemaker-hyperpod-eks-operate-console-ui-governance-metrics.md)
+ [Aufgaben](sagemaker-hyperpod-eks-operate-console-ui-governance-tasks.md)
+ [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)
+ [Beispiele für HyperPod Task-Governance-Befehle AWS CLI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md)
+ [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md)
+ [Zuweisungsdokument für Amazon SageMaker HyperPod Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-attributions.md)

# Einrichtung für die SageMaker HyperPod Task-Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup"></a>

Der folgende Abschnitt enthält Informationen zur Einrichtung der Amazon CloudWatch Observability EKS- und SageMaker HyperPod Task-Governance-Add-Ons.

Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinie für HyperPod Clusteradministratoren mit Amazon EKS verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Dazu gehören Berechtigungen zum Ausführen des SageMaker HyperPod Kerns APIs und zur Verwaltung von SageMaker HyperPod Clustern innerhalb Ihres AWS-Konto Unternehmens sowie zur Ausführung der Aufgaben in[Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-operate.md). 

**Topics**
+ [Dashboard-Einrichtung](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md)
+ [Einrichtung der Aufgaben-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md)

# Dashboard-Einrichtung
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard"></a>

Verwenden Sie die folgenden Informationen, um das Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS-Add-on einzurichten. Dadurch erhalten Sie ein detailliertes visuelles Dashboard, das Ihnen einen Überblick über die Metriken für Ihre EKS-Cluster-Hardware, die Teamzuweisung und die Aufgaben bietet.

Falls Sie Schwierigkeiten bei der Einrichtung haben, finden Sie unter [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) bekannte Lösungen zur Fehlerbehebung.

**Topics**
+ [HyperPod Voraussetzungen für das Amazon CloudWatch Observability EKS-Add-on](#hp-eks-dashboard-prerequisites)
+ [HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons](#hp-eks-dashboard-setup)

## HyperPod Voraussetzungen für das Amazon CloudWatch Observability EKS-Add-on
<a name="hp-eks-dashboard-prerequisites"></a>

Der folgende Abschnitt enthält die Voraussetzungen, die vor der Installation des Add-Ons „Beobachtbarkeits-EKS von Amazon“ erfüllt sein müssen.
+ Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinien für HyperPod Cluster-Administratoren verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin).
+ Fügen Sie die `CloudWatchAgentServerPolicy`-IAM-Richtlinie an Ihre Worker-Knoten an. Geben Sie dazu den folgenden Befehl ein. Ersetzen Sie `my-worker-node-role` durch die IAM-Rolle, die von Ihren Kubernetes-Worker-Knoten verwendet wird.

  ```
  aws iam attach-role-policy \
  --role-name my-worker-node-role \
  --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  ```

## HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons
<a name="hp-eks-dashboard-setup"></a>

Verwenden Sie die folgenden Optionen, um das Amazon SageMaker HyperPod Amazon CloudWatch Observability EKS-Add-on einzurichten.

------
#### [ Setup using the SageMaker AI console ]

Die folgenden Berechtigungen sind für die Einrichtung und Visualisierung des HyperPod Task-Governance-Dashboards erforderlich. In diesem Abschnitt werden die unter [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) aufgeführten Berechtigungen erweitert. 

Verwenden Sie zur Verwaltung der Aufgaben-Governance die Beispielrichtlinie:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListClusters",
                "sagemaker:DescribeCluster",
                "sagemaker:ListComputeQuotas",
                "sagemaker:CreateComputeQuota",
                "sagemaker:UpdateComputeQuota",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:DeleteComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "sagemaker:CreateClusterSchedulerConfig",
                "sagemaker:UpdateClusterSchedulerConfig",
                "sagemaker:DeleteClusterSchedulerConfig",
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:DescribeAddon",
                "eks:DescribeCluster",
                "eks:DescribeAccessEntry",
                "eks:ListAssociatedAccessPolicies",
                "eks:AssociateAccessPolicy",
                "eks:DisassociateAccessPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Verwenden Sie die folgende Beispielrichtlinie, um Berechtigungen zur Verwaltung von Amazon CloudWatch Observability Amazon EKS und zur Anzeige des HyperPod Cluster-Dashboards über die SageMaker KI-Konsole zu erteilen:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "sagemaker:ListComputeQuotas",
                "sagemaker:DescribeComputeQuota",
                "sagemaker:ListClusterSchedulerConfigs",
                "sagemaker:DescribeClusterSchedulerConfig",
                "eks:DescribeCluster",
                "cloudwatch:GetMetricData",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Navigieren Sie in der SageMaker HyperPod Konsole zur Registerkarte **Dashboard**, um Amazon CloudWatch Observability EKS zu installieren. Um sicherzustellen, dass Kennzahlen zur Aufgaben-Governance im **Dashboard** enthalten sind, aktivieren Sie das Kontrollkästchen „Kueue-Metriken“. Durch die Aktivierung der Kueue-Metriken werden CloudWatch **Metrics-Kosten** aktiviert, sobald das Limit für das kostenlose Kontingent erreicht ist. Weitere Informationen finden Sie unter **Kennzahlen** in der [ CloudWatchAmazon-Preisgestaltung](https://aws.amazon.com/cloudwatch/pricing/).

------
#### [ Setup using the EKS AWS CLI ]

Verwenden Sie den folgenden AWS CLI EKS-Befehl, um das Add-on zu installieren:

```
aws eks create-addon --cluster-name cluster-name 
--addon-name amazon-cloudwatch-observability 
--configuration-values "configuration json"
```

Nachfolgend finden Sie ein Beispiel für die JSON-Konfigurationswerte:

```
{
    "agent": {
        "config": {
            "logs": {
                "metrics_collected": {
                    "kubernetes": {
                        "kueue_container_insights": true,
                        "enhanced_container_insights": true
                    },
                    "application_signals": { }
                }
            },
            "traces": {
                "traces_collected": {
                    "application_signals": { }
                }
            }
        },
    },
}
```

------
#### [ Setup using the EKS Console UI ]

1. Navigieren Sie zur [EKS-Konsole](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie **Add-Ons** aus.

1. Suchen Sie das **Amazon CloudWatch Observability-Add-on** und installieren Sie es. Installieren Sie Version >= 2.4.0 für das Add-on. 

1. Fügen Sie die folgenden JSON-Konfigurationswerte ein:

   ```
   {
       "agent": {
           "config": {
               "logs": {
                   "metrics_collected": {
                       "kubernetes": {
                           "kueue_container_insights": true,
                           "enhanced_container_insights": true
                       },
                       "application_signals": { }
                   },
               },
               "traces": {
                   "traces_collected": {
                       "application_signals": { }
                   }
               }
           },
       },
   }
   ```

------

Sobald das EKS Observability-Add-on erfolgreich installiert wurde, können Sie Ihre EKS-Cluster-Metriken auf der Registerkarte **Dashboard** der HyperPod Konsole einsehen.

# Einrichtung der Aufgaben-Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance"></a>

Dieser Abschnitt enthält Informationen zur Einrichtung des Amazon SageMaker HyperPod Task Governance EKS-Add-ons. Dies umfasst die Erteilung von Berechtigungen, mit denen Sie die Priorisierung von Aufgaben, die Zuweisung von Rechenkapazitäten für Teams, die Verteilung ungenutzter Rechenkapazitäten und die Vorrangigkeit von Aufgaben für Teams festlegen können.

Falls Sie Schwierigkeiten bei der Einrichtung haben, finden Sie unter [Fehlerbehebung](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md) bekannte Lösungen zur Fehlerbehebung.

**Topics**
+ [Kueue-Einstellungen](#hp-eks-task-governance-kueue-settings)
+ [HyperPod Voraussetzungen für die Task-Governance](#hp-eks-task-governance-prerequisites)
+ [HyperPod Einrichtung der Task-Governance](#hp-eks-task-governance-setup)

## Kueue-Einstellungen
<a name="hp-eks-task-governance-kueue-settings"></a>

HyperPod Das Task Governance EKS-Add-on installiert [Kueue](https://github.com/kubernetes-sigs/kueue/tree/main/apis/kueue) für Ihre HyperPod EKS-Cluster. Kueue ist ein Kubernetes-natives System, das Kontingente verwaltet und deren Verbrauch durch Aufträge regelt. 


| EKS HyperPod Task Governance-Zusatzversion | Version von Kueue, die als Teil des Add-ons installiert wird | 
| --- | --- | 
|  v1.1.3  |  v0.12.0  | 

**Anmerkung**  
Kueue v.012.0 und höher sind nicht Teil der kueue-rbac-proxy Installation. Frühere Versionen wurden möglicherweise installiert. kueue-rbac-proxy Wenn Sie beispielsweise Kueue v0.8.1 verwenden, haben Sie möglicherweise v0.18.1. kueue-rbac-proxy

HyperPod Task Governance nutzt Kueue für Kubernetes-natives Job Queueing, Scheduling und Quotenmanagement und wird zusammen mit dem Task Governance EKS-Add-on installiert. HyperPod Nach der Installation werden SageMaker KI-verwaltete Kubernetes-Ressourcen wie,,, und HyperPod erstellt und geändert. `KueueManagerConfig` `ClusterQueues` `LocalQueues` `WorkloadPriorityClasses` `ResourceFlavors` `ValidatingAdmissionPolicies` Kubernetes-Administratoren haben zwar die Flexibilität, den Status dieser Ressourcen zu ändern, es ist jedoch möglich, dass alle Änderungen, die an einer SageMaker KI-verwalteten Ressource vorgenommen werden, vom Service aktualisiert und überschrieben werden.

Die folgenden Informationen beschreiben die Konfigurationseinstellungen, die vom HyperPod Task Governance-Add-on für die Einrichtung von Kueue verwendet werden.

```
  apiVersion: config.kueue.x-k8s.io/v1beta1
    kind: Configuration
    health:
      healthProbeBindAddress: :8081
    metrics:
      bindAddress: :8443
      enableClusterQueueResources: true
    webhook:
      port: 9443
    manageJobsWithoutQueueName: false
    leaderElection:
      leaderElect: true
      resourceName: c1f6bfd2.kueue.x-k8s.io
    controller:
      groupKindConcurrency:
        Job.batch: 5
        Pod: 5
        Workload.kueue.x-k8s.io: 5
        LocalQueue.kueue.x-k8s.io: 1
        ClusterQueue.kueue.x-k8s.io: 1
        ResourceFlavor.kueue.x-k8s.io: 1
    clientConnection:
      qps: 50
      burst: 100
    integrations:
      frameworks:
      - "batch/job"
      - "kubeflow.org/mpijob"
      - "ray.io/rayjob"
      - "ray.io/raycluster"
      - "jobset.x-k8s.io/jobset"
      - "kubeflow.org/mxjob"
      - "kubeflow.org/paddlejob"
      - "kubeflow.org/pytorchjob"
      - "kubeflow.org/tfjob"
      - "kubeflow.org/xgboostjob"
      - "pod"
      - "deployment"
      - "statefulset"
      - "leaderworkerset.x-k8s.io/leaderworkerset"
      podOptions:
        namespaceSelector:
          matchExpressions:
            - key: kubernetes.io/metadata.name
              operator: NotIn
              values: [ kube-system, kueue-system ]
    fairSharing:
      enable: true
      preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare]
    resources:
      excludeResourcePrefixes: []
```

Weitere Informationen zu den einzelnen Konfigurationseinträgen finden Sie unter [Konfiguration](https://kueue.sigs.k8s.io/docs/reference/kueue-config.v1beta1/#Configuration) in der Kueue-Dokumentation.

## HyperPod Voraussetzungen für die Task-Governance
<a name="hp-eks-task-governance-prerequisites"></a>
+ Stellen Sie sicher, dass Sie über die Mindestberechtigungsrichtlinie für HyperPod Clusteradministratoren verfügen, in[IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin). Dazu gehören Berechtigungen zum Ausführen des SageMaker HyperPod Kerns APIs, zum Verwalten von SageMaker HyperPod Clustern in Ihrem AWS-Konto System und zum Ausführen der Aufgaben in[Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-operate.md). 
+ Sie benötigen die Kubernetes-Version >= 1.30. Anweisungen finden Sie unter [Aktualisieren vorhandener Cluster auf die neue Kubernetes-Version](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html).
+ Wenn Sie Kueue bereits in ihren Clustern installiert haben, deinstallieren Sie Kueue, bevor Sie das EKS-Add-on installieren.
+ Vor der Installation des HyperPod Task Governance-Add-ons muss bereits ein HyperPod Knoten im EKS-Cluster vorhanden sein. 

## HyperPod Einrichtung der Task-Governance
<a name="hp-eks-task-governance-setup"></a>

Im Folgenden finden Sie Informationen zur Einrichtung der HyperPod Task-Governance.

------
#### [ Setup using the SageMaker AI console ]

Im Folgenden finden Sie Informationen zur Einrichtung der HyperPod Task-Governance mithilfe der SageMaker HyperPod Konsole.

Ihnen sind bereits alle der folgenden Berechtigungen zugeordnet, wenn Sie bereits Berechtigungen zur Verwaltung von Amazon CloudWatch Observability EKS und zum Anzeigen des HyperPod Cluster-Dashboards über die SageMaker KI-Konsole im erteilt haben. [HyperPod Einrichtung des Amazon CloudWatch Observability EKS-Add-ons](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md#hp-eks-dashboard-setup) Wenn Sie dies nicht eingerichtet haben, verwenden Sie die unten stehende Beispielrichtlinie, um Berechtigungen zur Verwaltung des HyperPod Task-Goverance-Add-ons zu erteilen und das HyperPod Cluster-Dashboard über die SageMaker AI-Konsole anzuzeigen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:ListAddons",
                "eks:CreateAddon",
                "eks:UpdateAddon",
                "eks:DescribeAddon",
                "eks:DescribeAddonVersions",
                "sagemaker:DescribeCluster",
                "sagemaker:DescribeClusterNode",
                "sagemaker:ListClusterNodes",
                "sagemaker:ListClusters",
                "eks:DescribeCluster",
                "eks:AccessKubernetesApi"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Navigieren Sie in der SageMaker HyperPod Konsole zum Tab **Dashboard**, um das Amazon SageMaker HyperPod Task Governance Add-on zu installieren. 

------
#### [ Setup using the Amazon EKS AWS CLI ]

Verwenden Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html) AWS CLI EKS-Beispielbefehl, um die HyperPod Task-Governance-Amazon EKS-API und die Konsolen-Benutzeroberfläche einzurichten. Verwenden Sie dazu AWS CLI:

```
aws eks create-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

------

Sie können den Tab **Richtlinien** in der HyperPod SageMaker AI-Konsole aufrufen, wenn die Installation erfolgreich war. Sie können auch den folgenden [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-addon.html) AWS CLI EKS-Beispielbefehl verwenden, um den Status zu überprüfen. 

```
aws eks describe-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance
```

# Dashboard
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-metrics"></a>

Amazon SageMaker HyperPod Task Governance bietet eine umfassende Dashboard-Ansicht Ihrer Amazon EKS-Cluster-Nutzungsmetriken, einschließlich Hardware-, Team- und Aufgabenmetriken. Im Folgenden finden Sie Informationen zu Ihrem HyperPod EKS-Cluster-Dashboard.

Das Dashboard bietet einen umfassenden Überblick über die Kennzahlen zur Cluster-Auslastung, einschließlich Hardware-, Team- und Aufgabenmetriken. Sie müssen das EKS-Add-On installieren, um das Dashboard anzeigen zu können. Weitere Informationen finden Sie unter [Dashboard-Einrichtung](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-dashboard.md).

In der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) können Sie unter **HyperPod Clusters** zur HyperPod Konsole navigieren und Ihre Liste der HyperPod Cluster in Ihrer Region einsehen. Wählen Sie Ihren Cluster aus und navigieren Sie zur Registerkarte **Dashboard**. Das Dashboard enthält die folgenden Metriken. Sie können die Daten für einen Abschnitt herunterladen, indem Sie den entsprechenden **Export** auswählen.

**Nutzung**

Stellt den Zustand des EKS-Clusters point-in-time und trendbasierte Metriken für kritische Rechenressourcen bereit. Standardmäßig wird **Alle Instance-Gruppen** angezeigt. Verwenden Sie das Dropdown-Menü, um Ihre Instance-Gruppen zu filtern. Die in diesem Abschnitt enthaltenen Metriken sind:
+ Anzahl der gesamten, laufenden und ausstehenden WiederherstellungsInstances. Die Anzahl der ausstehenden WiederherstellungsInstances bezieht sich auf die Anzahl der Instances, die für die Wiederherstellung behoben werden müssen.
+ GPUs, GPU-SpeicherCPUs, V- und CPUs V-Speicher.
+ GPU-Auslastung, GPU-Speicherauslastung, vCPU-Auslastung und vCPU-Speicherauslastung.
+ Ein interaktives Diagramm Ihrer GPU- und vCPU-Auslastung. 

**Teams**

Bietet Informationen zur teamspezifischen Ressourcenverwaltung. Dies umfasst:
+ Instance- und GPU-Zuweisung.
+ GPU-Auslastung.
+ Ausgeliehene GPU-Statistiken.
+ Status der Aufgabe (läuft oder steht noch aus).
+ Eine Balkendiagrammansicht der GPU-Auslastung im Vergleich zur Rechenzuweisung zwischen den Teams.
+ Detaillierte GPU- und vCPU-bezogene Informationen für das Team. Standardmäßig enthalten die angezeigten Informationen Alle Teams. Sie können nach Team und Instances filtern, indem Sie die Dropdownmenüs auswählen. In der interaktiven Handlung können Sie nach Zeit filtern.

**Aufgaben**

**Anmerkung**  
So zeigen Sie Ihre HyperPod EKS-Cluster-Aufgaben im Dashboard an:  
Konfigurieren Sie Kubernetes Role-Based Access Control (RBAC) für Data-Scientist-Benutzer im angegebenen HyperPod Namespace, um die Ausführung von Aufgaben auf Amazon EKS-orchestrierten Clustern zu autorisieren. Namespaces folgen dem Format `hyperpod-ns-team-name`. Informationen zum Festlegen von RBAC-Berechtigungen finden Sie in den [Anweisungen zum Erstellen von Teamrollen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Stellen Sie sicher, dass Ihr Job mit den entsprechenden Namespace- und Prioritätsklassenbezeichnungen eingereicht wird. Ein umfassendes Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Enthält Informationen zu aufgabenbezogenen Metriken. Dazu gehören die Anzahl der laufenden, ausstehenden und präemptiven Aufgaben sowie Statistiken zu Ausführungs- und Wartezeiten. Standardmäßig enthalten die angezeigten Informationen **Alle Teams**. Sie können nach Team filtern, indem Sie das Dropdown-Menü auswählen. In der interaktiven Handlung können Sie nach Zeit filtern.

# Aufgaben
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks"></a>

Im Folgenden finden Sie Informationen zu Amazon SageMaker HyperPod EKS-Cluster-Aufgaben. Aufgaben sind Operationen oder Jobs, die an den Cluster gesendet werden. Dabei kann es sich um Operationen des maschinellen Lernens wie Training, Durchführung von Experimenten oder Inferenz handeln. Die Liste mit den einsehbaren Aufgabendetails umfasst den Status, die Laufzeit und den Rechenaufwand, der pro Aufgabe verwendet wird. 

In der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) können Sie unter **HyperPod Clusters** zur HyperPod Konsole navigieren und Ihre Liste der HyperPod Cluster in Ihrer Region einsehen. Wählen Sie Ihren Cluster aus und navigieren Sie zur Registerkarte **Aufgaben**.

Damit die Registerkarte **Aufgaben** für jeden außer dem Administrator sichtbar ist, muss der Administrator dem [EKS-Cluster einen Zugriffseintrag für die IAM-Rolle hinzufügen](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). 

**Anmerkung**  
So sehen Sie sich Ihre HyperPod EKS-Cluster-Aufgaben im Dashboard an:  
Konfigurieren Sie Kubernetes Role-Based Access Control (RBAC) für Data-Scientist-Benutzer im angegebenen HyperPod Namespace, um die Ausführung von Aufgaben auf Amazon EKS-orchestrierten Clustern zu autorisieren. Namespaces folgen dem Format `hyperpod-ns-team-name`. Informationen zum Festlegen von RBAC-Berechtigungen finden Sie in den [Anweisungen zum Erstellen von Teamrollen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
Stellen Sie sicher, dass Ihr Job mit den entsprechenden Namespace- und Prioritätsklassenbezeichnungen eingereicht wird. Ein umfassendes Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).

Für EKS-Cluster werden kubeflow (, MPI,) -Aufgaben angezeigt. PyTorch TensorFlow Standardmäßig werden PyTorch Aufgaben angezeigt. Sie können nach PyTorch TensorFlow Aufgaben (MPI) filtern, indem Sie das Drop-down-Menü auswählen oder das Suchfeld verwenden. Zu den Informationen, die für jede Aufgabe angezeigt werden, gehören der Aufgabenname, der Status, der Namespace, die Prioritätsklasse und die Erstellungszeit. 

# Verwendung von topologieorientierter Planung in der Amazon Task Governance SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-tasks-scheduling"></a>

Die topologieorientierte Planung in Amazon SageMaker HyperPod Task Governance optimiert die Trainingseffizienz verteilter Machine-Learning-Workloads, indem Pods auf der Grundlage der physischen Netzwerktopologie Ihrer Amazon EC2 EC2-Instances platziert werden. Durch Berücksichtigung der hierarchischen Struktur der AWS Infrastruktur, einschließlich Availability Zones, Netzwerkblöcken und physischen Racks, stellt die topologieorientierte Planung sicher, dass Pods, die häufig kommunizieren müssen, in unmittelbarer Nähe geplant werden, um die Netzwerklatenz zu minimieren. Diese intelligente Platzierung ist besonders vorteilhaft für groß angelegte Schulungsaufgaben im Bereich maschinelles Lernen, die intensive pod-to-pod Kommunikation erfordern. Dies führt zu kürzeren Schulungszeiten und einer effizienteren Ressourcennutzung in Ihrem gesamten Cluster.

**Anmerkung**  
Um die topologieorientierte Planung zu verwenden, stellen Sie sicher, dass Ihre Version von HyperPod Task Governance v1.2.2-eksbuild.1 oder höher ist.

Die topologiebezogene Planung unterstützt die folgenden Instance-Typen:
+ ml.p3dn.24xlarge
+ ml.p4d.24xlarge
+ ml.p4de.24xlarge
+ ml.p5.48xlarge
+ ml.p5e.48x groß
+ ml.p5en.48xlarge
+ ml.p6e-gb200.36xlarge
+ ml.trn1.2xlarge
+ ml.trn1.32xlarge
+ ml.trn1n.32xlarge
+ ml.trn2.48xlarge
+ ml.trn2u.48xlarge

Die topologieorientierte Planung lässt sich in Ihre bestehenden HyperPod Workflows integrieren und bietet gleichzeitig flexible Topologieeinstellungen sowohl über kubectl-YAML-Dateien als auch über die CLI. HyperPod HyperPod Task Governance konfiguriert Clusterknoten automatisch mit Topologie-Labels und arbeitet mit HyperPod Task-Governance-Richtlinien und Mechanismen zur Ressourcenausleihe zusammen, um sicherzustellen, dass eine topologieorientierte Planung Ihre aktuellen Betriebsprozesse nicht stört. Dank der integrierten Unterstützung für bevorzugte und erforderliche Topologiespezifikationen können Sie die Platzierung der Workloads genau auf Ihre spezifischen Leistungsanforderungen abstimmen und gleichzeitig flexibel auf die Standardplanung zurückgreifen, wenn die Topologiebeschränkungen nicht erfüllt werden können.

Durch die Nutzung topologiebewusster Labels können Sie ihre Workloads für maschinelles Lernen durch eine intelligente Pod-Platzierung verbessern HyperPod, die die physische Netzwerkinfrastruktur berücksichtigt. HyperPod Die Task-Governance optimiert automatisch die Pod-Planung auf der Grundlage der hierarchischen Rechenzentrumstopologie, was sich direkt in einer geringeren Netzwerklatenz und einer verbesserten Trainingsleistung für verteilte ML-Aufgaben niederschlägt. Dieses Topologiebewusstsein ist besonders wertvoll für umfangreiche Machine-Learning-Workloads, da es den Kommunikationsaufwand minimiert, indem verwandte Pods strategisch näher beieinander in der Netzwerkhierarchie platziert werden. Das Ergebnis ist eine optimierte Kommunikationsnetzwerklatenz zwischen Pods, eine effizientere Ressourcennutzung und eine bessere Gesamtleistung für rechenintensive AI/ML Anwendungen. All das, ohne dass Sie komplexe Netzwerktopologiekonfigurationen manuell verwalten müssen.

Im Folgenden finden Sie Bezeichnungen für die verfügbaren Topologie-Netzwerkschichten, in denen HyperPod Task Governance Pods einplanen kann:
+ topology.k8s.aws/ -1 network-node-layer
+ network-node-layertopology.k8s.aws/ -2
+ network-node-layertopology.k8s.aws/ -3
+ topology.k8s.aws/ultraserver-id

Um die topologiebezogene Planung zu verwenden, fügen Sie die folgenden Labels in Ihre YAML-Datei ein:
+ kueue.x-k8s.io/ podset-required-topology — gibt an, dass dieser Job über die erforderlichen Pods verfügen muss und dass alle Pods in den Knoten innerhalb derselben Topologieebene geplant werden müssen.
+ kueue.x-k8s.io/ podset-preferred-topology — gibt an, dass dieser Job die Pods haben muss, dass die Planung von Pods innerhalb derselben Topologieebene jedoch bevorzugt, aber nicht erforderlich ist. HyperPod Task Governance versucht, die Pods innerhalb einer Ebene zu planen, bevor es mit der nächsten Topologieebene versucht wird.

Wenn Ressourcen nicht dieselbe Topologiebezeichnung haben, wird der Auftrag unterbrochen. Der Auftrag wird in die Warteliste aufgenommen. Sobald Kueue feststellt, dass genügend Ressourcen vorhanden sind, wird der Auftrag angenommen und ausgeführt.

Das folgende Beispiel zeigt, wie Sie die Labels in Ihren YAML-Dateien verwenden:

```
apiVersion: batch/v1
kind: Job
metadata:
  name: test-tas-job
  namespace: hyperpod-ns-team-name
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
    kueue.x-k8s.io/priority-class: PRIORITY_CLASS-priority
spec:
  parallelism: 10
  completions: 10
  suspend: true
  template:
    metadata:
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
      annotations:
        kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
        or
        kueue.x-k8s.io/podset-preferred-topology: "topology.k8s.aws/network-node-layer-3"
    spec:
      nodeSelector:
        topology.k8s.aws/network-node-layer-3: TOPOLOGY_LABEL_VALUE
      containers:
        - name: dummy-job
          image: gcr.io/k8s-staging-perf-tests/sleep:v0.1.0
          args: ["3600s"]
          resources:
            requests:
              cpu: "100"
      restartPolicy: Never
```

In der folgenden Tabelle werden die neuen Parameter erläutert, die Sie in der kubectl-YAML-Datei verwenden können.


| Parameter | Description | 
| --- | --- | 
| kueue.x-k8s.io/queue-name | Der Name der Warteschlange, die zum Ausführen des Auftrags verwendet werden soll. Das Format dieses Warteschlangennamens muss hyperpod-ns-team-name-localqueue lauten. | 
| kueue.x-k8s.io/priority-class | Ermöglicht die Angabe einer Priorität für die Pod-Planung. Diese Angabe ist optional. | 
| Anmerkungen | Enthält die Topologie-Anmerkung, die Sie dem Auftrag hinzufügen. Verfügbare Topologien sind kueue.x-k8s.io/ und podset-required-topology kueue.x-k8s.io/. podset-preferred-topology Sie können entweder eine Anmerkung oder nodeSelector verwenden, aber nicht beides gleichzeitig. | 
| nodeSelector | Gibt die Netzwerkschicht an, die die Ebene der Platzierung der Amazon-EC2-Instance darstellt. Verwenden Sie entweder dieses Feld oder eine Anmerkung, aber nicht beides gleichzeitig. In Ihrer YAML-Datei können Sie auch den nodeSelector-Parameter verwenden, um die genaue Ebene für Ihre Pods auszuwählen. Verwenden Sie die API-Operation, um den Wert Ihres Labels zu ermitteln. [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html) | 

Sie können auch die HyperPod CLI verwenden, um Ihren Job auszuführen und die topologieorientierte Planung zu verwenden. Weitere Informationen zur HyperPod CLI finden Sie unter[SageMaker HyperPod CLI-Befehle](sagemaker-hyperpod-eks-hyperpod-cli-reference.md).

```
hyp create hyp-pytorch-job \                                            
  --version 1.1 \
  --job-name sample-pytorch-job \
  --image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
  --pull-policy "Always" \
  --tasks-per-node 1 \
  --max-retry 1 \
  --priority high-priority \
  --namespace hyperpod-ns-team-name \
  --queue-name hyperpod-ns-team-name-localqueue \
  --preferred-topology-label topology.k8s.aws/network-node-layer-1
```

Im Folgenden finden Sie ein Beispiel für eine Konfigurationsdatei, die Sie verwenden können, um eine PytorchJob mit Topologie-Labels auszuführen. Die Datei ist weitgehend identisch, wenn Sie MPI- und Tensorflow-Aufträge ausführen möchten. Wenn Sie stattdessen diese Jobs ausführen möchten, denken Sie daran, die Konfigurationsdatei entsprechend zu ändern, z. B. das richtige Bild anstelle von PyTorchJob zu verwenden. Wenn Sie einen ausführen PyTorchJob, können Sie den Master- und Worker-Knoten unterschiedliche Topologien zuweisen. PyTorchJob hat immer einen Master-Knoten, daher empfehlen wir, stattdessen die Topologie zur Unterstützung von Worker-Pods zu verwenden.

```
apiVersion: kubeflow.org/v1
kind: PyTorchJob
metadata:
  annotations: {}
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
  name: tas-test-pytorch-job
  namespace: hyperpod-ns-team-name
spec:
  pytorchReplicaSpecs:
    Master:
      replicas: 1
      restartPolicy: OnFailure
      template:
        metadata:
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
    Worker:
      replicas: 10
      restartPolicy: OnFailure
      template:
        metadata:
          # annotations:
            # kueue.x-k8s.io/podset-required-topology: "topology.k8s.aws/network-node-layer-3"
          labels:
            kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        spec:
          containers:
          - command:
            - python3
            - /opt/pytorch-mnist/mnist.py
            - --epochs=1
            image: docker.io/kubeflowkatib/pytorch-mnist:v1beta1-45c5727
            imagePullPolicy: Always
            name: pytorch
            resources:
              limits:
                cpu: 1
              requests:
                memory: 200Mi
                cpu: 1
          #nodeSelector:
          #  topology.k8s.aws/network-node-layer-3: xxxxxxxxxxx
```

Verwenden Sie die [ DescribeInstanceTopology](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTopology.html)API-Operation, um die Topologien für Ihren Cluster zu sehen. Standardmäßig sind die Topologien in Amazon Studio AWS-Managementkonsole und Amazon SageMaker Studio ausgeblendet. Folgen Sie diesen Schritten, um sie in der Benutzeroberfläche zu sehen, die Sie verwenden.

Studio

1. Navigieren Sie in SageMaker Studio zu Ihrem Cluster.

1. Wählen Sie in der Aufgabenansicht das Optionsmenü in der Spalte Name und dann **Spalten verwalten** aus.

1. Wählen Sie **Angeforderte Topologie** und **Topologieeinschränkung** aus, um die Spalten hinzuzufügen, in denen die Topologieinformationen in der Liste der Kubernetes-Pods angezeigt werden sollen.

**AWS-Managementkonsole**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter **HyperPod Cluster** die Option **Clusterverwaltung** aus.

1. Wählen Sie die Registerkarte **Aufgaben** und dann das Zahnradsymbol aus.

1. Schalten Sie unter Instance-Attribute die Optionen **Angeforderte Topologie** und **Topologieeinschränkung** um.

1. Wählen Sie **Bestätigen** aus, um die Topologieinformationen in der Tabelle anzuzeigen.

# Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies"></a>

Amazon SageMaker HyperPod Task Governance vereinfacht die Zuweisung Ihrer Amazon EKS-Cluster-Ressourcen und die Priorisierung von Aufgaben. Im Folgenden finden Sie Informationen zu HyperPod EKS-Clusterrichtlinien. Weitere Informationen dazu, wie Sie Aufgaben-Governance einrichten, finden Sie unter [Einrichtung der Aufgaben-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md).

Die Richtlinien sind in **Rechenpriorisierung** und **Rechenzuweisung** unterteilt. Die folgenden Richtlinienkonzepte werden im Kontext dieser Richtlinien strukturiert.

Die **Rechenpriorisierung** oder Clusterrichtlinie bestimmt, wie ungenutzte Rechenleistung ausgeliehen wird und wie Aufgaben von Teams priorisiert werden.
+ Die **Zuweisung inaktiver Rechenleistung** definiert, wie ungenutzte Rechenleistung den Teams zugewiesen wird. Das heißt, wie ungenutzte Rechenleistung von Teams ausgeliehen werden kann. Bei der Auswahl einer **Zuweisung inaktiver Rechenleistung** können Sie zwischen folgenden Optionen wählen:
  + **First-come first-serve**: Bei der Anwendung werden Teams nicht gegeneinander priorisiert, und jede eingehende Aufgabe hat die gleiche Wahrscheinlichkeit, Ressourcen über die Quote hinaus zu erhalten. Aufgaben werden in der Reihenfolge ihrer Einreichung priorisiert. Das bedeutet, dass ein Benutzer möglicherweise 100 % der inaktiven Rechenleistung nutzen kann, wenn er dies zuerst anfordert.
  + **Fair-Share**: Bei Anwendung dieser Option leihen sich Teams ungenutzte Rechenleistung auf der Grundlage des ihnen zugewiesenen **Fair-Share-Gewichts**. Diese Gewichtungen sind unter **Rechenzuweisung** definiert. Weitere Informationen zur Verwendung finden Sie unter [Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen](#hp-eks-task-governance-policies-examples).
+ **Aufgabenpriorisierung** definiert, wie Aufgaben in die Warteschlange gestellt werden, sobald Rechenleistung verfügbar ist. Bei der Auswahl einer **Aufgabenpriorisierung** können Sie zwischen folgenden Optionen wählen:
  + **First-come first-serve**: Wenn diese Option angewendet wird, werden sie in der Reihenfolge, in der sie angefordert wurden, in die Warteschlange gestellt.
  + **Rangfolge der Aufgaben**: Wenn diese Option angewendet wird, werden sie in der Reihenfolge, die durch ihre Priorisierung definiert ist, in die Warteschlange gestellt. Wenn diese Option ausgewählt ist, müssen Sie Prioritätsklassen zusammen mit den Gewichtungen hinzufügen, nach denen sie priorisiert werden sollen. Aufgaben derselben Prioritätsklasse werden nach dem Prinzip „first-come first-serve“ ausgeführt. Wenn diese Option in der Rechenzuweisung aktiviert ist, werden Aufgaben mit niedrigerer Priorität durch Aufgaben mit höherer Priorität innerhalb des Teams vorgezogen.

    Wenn Datenwissenschaftler Aufträge an den Cluster senden, verwenden sie den Namen der Prioritätsklasse in der YAML-Datei. Die Prioritätsklasse hat das Format `priority-class-name-priority`. Ein Beispiel finden Sie unter [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job).
  + **Prioritätsklassen**: Diese Klassen legen eine relative Priorität für Aufgaben beim Ausleihen von Kapazitäten fest. Wenn eine Aufgabe mit geliehenem Kontingent ausgeführt wird, kann sie von einer anderen Aufgabe mit höherer Priorität verdrängt werden, wenn für die eingehende Aufgabe keine Kapazität mehr verfügbar ist. Wenn **Preemption** in der **Rechenzuweisung** aktiviert ist, kann eine Aufgabe mit höherer Priorität auch Aufgaben innerhalb ihres eigenen Teams vorrangig behandeln.
+ Die **gemeinsame Nutzung nicht zugewiesener Ressourcen** ermöglicht es Teams, Rechenressourcen auszuleihen, die im Rahmen der Rechenquote keinem Team zugewiesen wurden. Wenn diese Option aktiviert ist, steht Teams nicht zugewiesene Clusterkapazität automatisch zur Verfügung. Weitere Informationen finden Sie unter [So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works).

Die **Rechenzuweisung** oder das Rechenkontingent definiert die Rechenzuweisung eines Teams und legt fest, welche Gewichtung (oder Prioritätsstufe) ein Team erhält, wenn es ungenutzte Rechenleistung fair verteilt. 
+ **Teamname**: Der Teamname. Es wird ein entsprechender **Namespace** des Typs `hyperpod-ns-team-name` erstellt. 
+ **Mitglieder**: Mitglieder des Team-Namespace. Sie müssen eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data Scientist-Benutzer einrichten, die Teil dieses Teams sein sollen, um Aufgaben auf HyperPod Clustern auszuführen, die mit Amazon EKS orchestriert wurden. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).
+ **Fair-Share-Gewichtung**: Dies ist die Priorisierungsstufe, die dem Team zugewiesen wird, wenn **Fair-Share** für die **Zuweisung von inaktiver Rechenleistung** angewendet wird. Die höchste Priorität hat eine Gewichtung von 100 und die niedrigste Priorität hat eine Gewichtung von 0. Eine höhere Gewichtung ermöglicht es einem Team, früher auf ungenutzte Ressourcen innerhalb gemeinsam genutzter Kapazitäten zuzugreifen. Eine Gewichtung von Null bedeutet die niedrigste Priorität, was bedeutet, dass dieses Team im Vergleich zu anderen Teams immer im Nachteil sein wird. 

  Die Fair-Share-Gewichtung verschafft diesem Team einen Wettbewerbsvorteil, wenn es um verfügbare Ressourcen gegen andere wetteifert. Die Zulassung priorisiert die Planung von Aufgaben von Teams mit den höchsten Gewichtungen und den geringsten Ausleihen. Wenn beispielsweise Team A ein Gewicht von 10 und Team B ein Gewicht von 5 hat, hätte Team A Vorrang beim Zugriff auf ungenutzte Ressourcen, da es Aufgaben hätte, die früher als Team B geplant sind.
+ **Aufgaben-Preemption**: Die Berechnung wird basierend auf der Priorität von einer Aufgabe übernommen. Standardmäßig hat das Team, das inaktive Rechenleistung ausleiht, Vorrang vor Aufgaben anderer Teams. 
+ **Verleihen und Ausleihen**: Wie inaktive Rechenleistung vom Team verliehen wird und ob das Team Rechenleistung von anderen Teams ausleihen kann.
  + **Prozentuales Kreditlimit: Das Limit für ungenutzte Rechenleistung, das ein Team ausleihen** darf, ausgedrückt als Prozentsatz der garantierten Quote. Ein Team kann bis zu 10.000% der zugewiesenen Rechenleistung ausleihen. Der Wert, den Sie hier angeben, wird als Prozentsatz interpretiert. Ein Wert von 500 wird beispielsweise als 500 % interpretiert. Dieser Prozentsatz gilt einheitlich für alle Ressourcentypen (CPU, GPU, Arbeitsspeicher) und Instanztypen, die im Kontingent des Teams enthalten sind.
  + **Absolutes Kreditlimit**: Das Limit für ungenutzte Rechenleistung, das ein Team ausleihen darf, definiert als absolute Ressourcenwerte pro Instanztyp. Dies ermöglicht eine detaillierte Steuerung des Ausleihverhaltens für bestimmte Instance-Typen. Sie müssen absolute Grenzwerte angeben, indem Sie dasselbe Schema wie das **Compute-Kontingent** verwenden, einschließlich Instanzanzahl, Beschleuniger, vCPU, Arbeitsspeicher oder Beschleunigerpartitionen. Sie können absolute Grenzwerte für einen oder mehrere Instanztypen in der Quote Ihres Teams angeben.

Informationen zur Verwendung dieser Konzepte, wie Prioritätsklassen und Namensräume, finden Sie unter [Beispiele für HyperPod Task-Governance-Befehle AWS CLI](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md).

## Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen
<a name="hp-eks-task-governance-policies-examples"></a>

Das reservierte Gesamtkontingent sollte die verfügbare Kapazität des Clusters für diese Ressource nicht überschreiten, um eine ordnungsgemäße Kontingentverwaltung zu gewährleisten. Wenn ein Cluster beispielsweise 20 `ml.c5.2xlarge`-Instances umfasst, sollte das den Teams zugewiesene Gesamtkontingent unter 20 bleiben. 

Wenn die Richtlinien **Rechenzuweisung** für Teams **Verleihen und Ausleihen** oder **Verleihen** zulassen, wird die freie Kapazität zwischen diesen Teams geteilt. Beispielsweise haben Team A und Team B die Option **Ausleihen und Verleihen** aktiviert. Team A hat ein Kontingent von 6, nutzt aber nur 2 für seine Aufgaben, und Team B hat ein Kontingent von 5 und nutzt 4 für seine Aufgaben. Ein Job, der bei Team B eingereicht wird und 4 Ressourcen benötigt. 3 werden von Team A ausgeliehen. 

Wenn die **Compute-Zuweisungsrichtlinie** eines Teams auf **„Nicht leihen**“ gesetzt ist, kann sich das Team keine zusätzliche Kapazität leihen, die über die eigenen Zuweisungen hinausgeht.

## So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works"></a>

Durch die gemeinsame Nutzung nicht zugewiesener Ressourcen wird automatisch der Pool von Ressourcen verwaltet, die keinem Rechenkontingent in Ihrem Cluster zugewiesen sind. Das bedeutet, dass Ihr Clusterstatus HyperPod kontinuierlich überwacht und im Laufe der Zeit automatisch auf die richtige Konfiguration aktualisiert wird.

**Ersteinrichtung**
+ Wenn Sie dies `Enabled` in Ihrem festlegen `IdleResourceSharing` ClusterSchedulerConfig (standardmäßig ist dies der Fall`Disabled`), beginnt HyperPod Task Governance mit der Überwachung Ihres Clusters und berechnet die verfügbaren ungenutzten Ressourcen, indem die Teamkontingente von der gesamten Knotenkapazität abgezogen werden.
+ Die gemeinsame Nutzung ClusterQueues nicht zugewiesener Ressourcen wird erstellt, um den ausleihbaren Ressourcenpool darzustellen.
+ Wenn Sie die gemeinsame Nutzung nicht zugewiesener Ressourcen zum ersten Mal aktivieren, dauert die Einrichtung der Infrastruktur mehrere Minuten. Sie können den Fortschritt anhand von Richtlinien `Status` und `DetailedStatus` in ClusterSchedulerConfig überwachen.

**Kontinuierliche Versöhnung**
+ HyperPod Task Governance überwacht kontinuierlich Änderungen wie das Hinzufügen oder Entfernen von Knoten und Aktualisierungen der Cluster-Warteschlangenkontingente.
+  Wenn Änderungen vorgenommen werden, werden bei der gemeinsamen Nutzung nicht zugewiesener Ressourcen das Kontingent und die Aktualisierungen neu berechnet. ClusterQueues Der Abgleich ist in der Regel innerhalb von Sekunden abgeschlossen. 

**Überwachung**

 Sie können überprüfen, ob die gemeinsame Nutzung nicht zugewiesener Ressourcen vollständig konfiguriert ist, indem Sie nach der gemeinsamen Nutzung nicht zugewiesener Ressourcen suchen: ClusterQueues 

```
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
```

Wenn Sie Namen wie sehen ClusterQueues `hyperpod-ns-idle-resource-sharing-cq-1`, ist die gemeinsame Nutzung nicht zugewiesener Ressourcen aktiv. Beachten Sie, dass je nach Anzahl der Ressourcenvarianten in Ihrem Cluster mehrere nicht zugewiesene Ressourcen gemeinsam genutzt werden ClusterQueues können. 

## Eignung des Knotens für die gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility"></a>

Die gemeinsame Nutzung nicht zugewiesener Ressourcen umfasst nur Knoten, die die folgenden Anforderungen erfüllen:

1. **Status „Knoten bereit“**
   + Knoten müssen `Ready` den Status haben, dass sie zum nicht zugewiesenen Ressourcenpool beitragen können.
   + Knoten im Zustand `NotReady` oder in einem anderen Zustand, der nicht bereit ist, werden von der Kapazitätsberechnung ausgeschlossen.
   + Wenn ein Knoten zu einem Knoten wird`Ready`, wird er automatisch in den nächsten Abstimmungszyklus aufgenommen.

1. **Status des Knotens planbar**
   + Knoten mit `spec.unschedulable: true` sind von der gemeinsamen Nutzung nicht zugewiesener Ressourcen ausgeschlossen.
   + Wenn ein Knoten wieder planbar ist, wird er automatisch in den nächsten Abstimmungszyklus aufgenommen.

1. **MIG-Konfiguration (nur GPU-Knoten)**
   + Bei GPU-Knoten mit MIG-Partitionierung (Multi-Instance-GPU) muss die `nvidia.com/mig.config.state` Bezeichnung angezeigt `success` werden, damit der Knoten MIG-Profile zur gemeinsamen Nutzung nicht zugewiesener Ressourcen beitragen kann.
   + Diese Knoten werden automatisch erneut versucht, sobald die MIG-Konfiguration erfolgreich abgeschlossen wurde.

1. **Unterstützte Instance-Typen**
   + Bei der Instance muss es sich um einen unterstützten SageMaker HyperPod Instance-Typ handeln.
   + Sehen Sie sich die Liste der unterstützten Instance-Typen im SageMaker HyperPod Cluster an.

**Topics**
+ [Beispiele für die gemeinsame Nutzung inaktiver Rechenressourcen](#hp-eks-task-governance-policies-examples)
+ [So funktioniert die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works)
+ [Eignung des Knotens für die gemeinsame Nutzung nicht zugewiesener Ressourcen](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility)
+ [Erstellen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create.md)
+ [Richtlinien bearbeiten](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md)
+ [Löschen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)
+ [Zuweisung von Rechenkontingenten in Amazon SageMaker HyperPod Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation.md)

# Erstellen von Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create"></a>

Auf der Registerkarte Richtlinien können Sie Ihre **Cluster-Richtlinien** und Konfigurationen **für** die **Compute-Zuweisung** erstellen. Nachfolgend sehen Sie Anweisungen zum Erstellen der folgenden Konfigurationen.
+ Erstellen Sie Ihre **Cluster-Richtlinie**, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.
+ Erstellen Sie die **Rechenzuweisung**, um eine neue Richtlinie zur Rechenzuweisung für ein Team zu erstellen.
**Anmerkung**  
Wenn Sie eine **Compute-Zuweisung** erstellen, müssen Sie eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data-Scientist-Benutzer im entsprechenden Namespace einrichten, um Aufgaben auf Clustern auszuführen, die mit Amazon EKS orchestriert wurden. HyperPod Die Namespaces haben das Format `hyperpod-ns-team-name`. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).

Informationen zu den Konzepten der EKS-Clusterrichtlinien zur HyperPod Task-Governance finden Sie unter. [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)

**Erstellen Sie Richtlinien für die HyperPod Task-Governance**

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits einen Amazon EKS-Cluster erstellt haben, der mit eingerichtet wurde HyperPod. Falls dies noch nicht geschehen ist, finden Sie weitere Informationen unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. **So erstellen Sie Ihre Cluster-Richtlinie:**

   1. Wählen Sie die entsprechende Option **Bearbeiten** aus, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

1. Um eine **Compute-Zuweisung** zu erstellen:

1. 

   1. Wählen Sie die entsprechende Option **Erstellen** aus. Dadurch gelangen Sie zur Seite zum Erstellen von Compute-Allokationen.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

# Richtlinien bearbeiten
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit"></a>

Sie können Ihre **Cluster-Richtlinien** und Konfigurationen für die **Compute-Zuweisung** auf der Registerkarte **Richtlinien** bearbeiten. Nachfolgend sehen Sie Anweisungen zum Bearbeiten der folgenden Konfigurationen.
+ Bearbeiten Sie Ihre **Cluster-Richtlinie**, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.
+ Bearbeiten Sie die **Rechenzuweisung**, um eine neue Richtlinie zur Rechenzuweisung für ein Team zu erstellen.
**Anmerkung**  
Wenn Sie eine **Compute-Zuweisung** erstellen, müssen Sie eine rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes für Data-Scientist-Benutzer im entsprechenden Namespace einrichten, um Aufgaben auf Clustern auszuführen, die mit Amazon EKS orchestriert wurden. HyperPod Die Namespaces haben das Format `hyperpod-ns-team-name`. Um einen Kubernetes-RBAC einzurichten, folgen Sie den Anweisungen unter [Teamrolle erstellen](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role).

Weitere Informationen zu den Konzepten der EKS-Clusterrichtlinien zur HyperPod Task-Governance finden Sie unter. [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)

**Bearbeiten Sie die HyperPod Task-Governance-Richtlinien**

Bei diesem Verfahren wird davon ausgegangen, dass Sie bereits einen Amazon EKS-Cluster erstellt haben, der mit eingerichtet wurde HyperPod. Falls dies noch nicht geschehen ist, finden Sie weitere Informationen unter [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md).

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. So bearbeiten Sie Ihre **Clusterrichtlinie**:

   1. Wählen Sie die entsprechende Option **Bearbeiten** aus, um zu aktualisieren, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

1. So bearbeiten Sie Ihre **Rechenzuweisung**:

1. 

   1. Wählen Sie unter **Rechenzuweisung** die Konfiguration aus, die Sie bearbeiten möchten. Sie gelangen nun zur Seite mit den Konfigurationsdetails.

   1. Wenn Sie diese Konfigurationen bearbeiten möchten, wählen Sie **Bearbeiten** aus.

   1. Nachdem Sie Ihre Änderungen durchgeführt haben, wählen Sie **Absenden** aus.

# Löschen von Richtlinien
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete"></a>

Sie können Ihre **Cluster-Richtlinien** - und **Compute-Zuweisungskonfigurationen** mithilfe der SageMaker AI-Konsole oder löschen AWS CLI. Auf der folgenden Seite finden Sie Anweisungen zum Löschen Ihrer SageMaker HyperPod Task-Governance-Richtlinien und -Konfigurationen.

Weitere Informationen zu den Konzepten der EKS-Clusterrichtlinien für HyperPod Task Governance finden Sie unter[Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

**Anmerkung**  
Sollten Sie Probleme beim Auflisten oder Löschen von Aufgaben-Governance-Richtlinien haben, müssen Sie möglicherweise die Mindestberechtigungen Ihres Clusteradministrators aktualisieren. Weitere Informationen finden Sie im [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) Abschnitt auf der Registerkarte **Amazon EKS**. Weitere Informationen finden Sie unter [Löschen von Clustern](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md#hp-eks-troubleshoot-delete-policies).

## HyperPod Task-Governance-Richtlinien löschen (Konsole)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-console"></a>

Im Folgenden wird die SageMaker AI-Konsole verwendet, um Ihre HyperPod Task-Governance-Richtlinien zu löschen.

**Anmerkung**  
Sie können Ihre **Cluster-Richtlinie** (`ClusterSchedulerConfig`) nicht mit der SageMaker AI-Konsole löschen. Informationen dazu mit dem finden Sie AWS CLI unter[Löschen Sie die Richtlinien zur HyperPod Aufgabenverwaltung (AWS CLI)](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli).

**So löschen Sie Richtlinien zur Aufgaben-Governance (Konsole)**

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie im linken Navigationsbereich unter **HyperPodCluster** die Option **Cluster Management** aus.

1. Wählen Sie Ihren Amazon EKS-Cluster aus, der unter **SageMaker HyperPodCluster** aufgeführt ist.

1. Wählen Sie die Registerkarte **Policies**.

1. So löschen Sie Ihre **Rechenzuweisung** (`ComputeQuota`):

   1. Wählen Sie im Abschnitt **Rechenzuweisung** die Konfiguration aus, die Sie löschen möchten.

   1. Wählen Sie im Dropdown-Menü **Aktionen** die Option **Löschen** aus.

   1. Befolgen Sie die Anweisungen in der Benutzeroberfläche, um die Aufgabe abzuschließen.

## Löschen Sie die Richtlinien zur HyperPod Aufgabenverwaltung (AWS CLI)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli"></a>

Im Folgenden werden die verwendet AWS CLI , um Ihre HyperPod Task-Governance-Richtlinien zu löschen.

**Anmerkung**  
Wenn Sie Probleme mit der Verwendung der folgenden Befehle haben, müssen Sie möglicherweise Ihre aktualisieren AWS CLI. Weitere Informationen finden Sie unter [Installieren oder Aktualisierung auf die neueste Version der AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**So löschen Sie Aufgaben-Governance-Richtlinien (AWS CLI)**

Stellen Sie zunächst Ihre Variablen für die folgenden AWS CLI Befehle ein.

```
REGION=aws-region
```

1. Holen Sie sich die mit den Richtlinien *cluster-arn* verknüpften Richtlinien, die Sie löschen möchten. Sie können den folgenden AWS CLI Befehl verwenden, um die Cluster in Ihrem aufzulisten AWS-Region.

   ```
   aws sagemaker list-clusters \
       --region ${REGION}
   ```

1. So löschen Sie Ihre Rechenzuweisungen (`ComputeQuota`):

   1. Listet alle Rechenkontingente auf, die dem HyperPod Cluster zugeordnet sind.

      ```
      aws sagemaker list-compute-quotas \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Führen Sie für jeden `compute-quota-id`, den Sie löschen möchten, den folgenden Befehl aus, um das Rechenkontingent zu löschen.

      ```
      aws sagemaker delete-compute-quota \
          --compute-quota-id compute-quota-id \
          --region ${REGION}
      ```

1. So löschen Sie Ihre Clusterrichtlinien (`ClusterSchedulerConfig`):

   1. Listet alle Clusterrichtlinien auf, die dem HyperPod Cluster zugeordnet sind.

      ```
      aws sagemaker list-cluster-scheduler-configs \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. Führen Sie für jeden `cluster-scheduler-config-id`, den Sie löschen möchten, den folgenden Befehl aus, um das Rechenkontingent zu löschen.

      ```
      aws sagemaker delete-cluster-scheduler-config 
          --cluster-scheduler-config-id scheduler-config-id \
          --region ${REGION}
      ```

# Zuweisung von Rechenkontingenten in Amazon SageMaker HyperPod Task Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

Clusteradministratoren können entscheiden, wie die Organisation gekaufte Rechenleistung verwendet. Dadurch werden Verschwendung und ungenutzte Ressourcen reduziert. Sie können Rechenquoten so zuweisen, dass sich Teams ungenutzte Ressourcen gegenseitig ausleihen können. Die Berechnung der Quotenzuweisung in HyperPod Task Governance ermöglicht es Administratoren, Ressourcen auf Instanzebene und auf detaillierterer Ressourcenebene zuzuweisen. Diese Funktion ermöglicht ein flexibles und effizientes Ressourcenmanagement für Teams, indem sie eine detaillierte Kontrolle über einzelne Rechenressourcen ermöglicht, anstatt ganze Instance-Zuweisungen erforderlich zu machen. Durch die Zuweisung auf granularer Ebene werden Ineffizienzen der herkömmlichen Zuweisung auf Instance-Ebene vermieden. Durch diesen Ansatz können Sie die Ressourcennutzung optimieren und ungenutzte Rechenleistung reduzieren.

Die Compute-Kontingentzuweisung unterstützt drei Arten der Ressourcenzuweisung: Beschleuniger, vCPU und Arbeitsspeicher. Beschleuniger sind Komponenten in beschleunigten ComputerInstances, die Funktionen wie Berechnungen von Gleitkommazahlen, Grafikverarbeitung oder Mustererkennung in Daten ausführen. Zu den Beschleunigern gehören GPUs Trainium-Beschleuniger und Neuronenkerne. Bei der gemeinsamen Nutzung von GPUs durch mehrere Teams können verschiedene Teams spezifische GPU-Zuweisungen vom gleichen Instance-Typ erhalten, wodurch die Auslastung der Beschleuniger-Hardware maximiert wird. Für speicherintensive Workloads, die zusätzlichen Arbeitsspeicher für Datenvorverarbeitungs- oder Modell-Caching-Szenarien benötigen, können Sie ein Speicherkontingent zuweisen, das über das Standardverhältnis hinausgeht. GPU-to-memory Für CPU-intensive Vorverarbeitungsaufgaben, die neben dem GPU-Training auch erhebliche CPU-Ressourcen benötigen, können Sie eine unabhängige CPU-Ressourcenzuweisung zuweisen.

Sobald Sie einen Wert eingegeben haben, berechnet HyperPod Task Governance das Verhältnis anhand der Formel **zugewiesene Ressourcen geteilt durch die Gesamtmenge der in der Instanz verfügbaren** Ressourcen. HyperPod Task Governance verwendet dann dieses Verhältnis, um Standardzuweisungen auf andere Ressourcen anzuwenden. Sie können diese Standardwerte jedoch überschreiben und sie an Ihren Anwendungsfall anpassen. Im Folgenden finden Sie Beispielszenarien dafür, wie HyperPod Task Governance Ressourcen auf der Grundlage Ihrer Werte zuweist:
+ **Nur Beschleuniger angegeben** — HyperPod Task Governance wendet das Standardverhältnis auf vCPU und Arbeitsspeicher auf der Grundlage der Beschleunigerwerte an.
+ **Nur vCPU angegeben** — HyperPod Task Governance berechnet das Verhältnis und wendet es auf den Arbeitsspeicher an. Beschleuniger sind auf 0 gesetzt.
+ **Nur Arbeitsspeicher angegeben** — HyperPod Task Governance berechnet das Verhältnis und wendet es auf vCPU an, da Rechenleistung erforderlich ist, um speicherspezifische Workloads auszuführen. Beschleuniger sind auf 0 gesetzt.

Um die Quotenzuweisung programmgesteuert zu steuern, können Sie das [ ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html)Objekt verwenden und Ihre Zuweisungen in Ganzzahlen angeben.

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

Verwenden Sie die Operation, um alle zugewiesenen Zuweisungen, einschließlich der Standardzuweisungen, anzuzeigen. [ DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) Verwenden Sie den Vorgang, um Ihre Zuordnungen zu aktualisieren. [ UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html)

Sie können die HyperPod CLI auch verwenden, um Rechenkontingente zuzuweisen. Weitere Informationen zur HyperPod CLI finden Sie unter[Ausführung von Jobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert wurden](sagemaker-hyperpod-eks-run-jobs.md). Das folgende Beispiel zeigt, wie Rechenkontingente mithilfe der HyperPod CLI festgelegt werden.

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

Gehen Sie folgendermaßen vor, um Kontingente mithilfe der AWS Konsole zuzuweisen.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie unter HyperPod Cluster die Option **Clusterverwaltung** aus.

1. Wählen Sie unter **Rechenzuweisung** die Option **Erstellen** aus.

1. Wenn Sie noch keine Instances haben, wählen Sie **Zuweisung hinzufügen** aus, um eine Instance hinzuzufügen.

1. Wählen Sie unter **Zuweisungen** aus, ob die Zuweisung nach Instances oder einzelnen Ressourcen erfolgen soll. Wenn Sie die Zuteilung nach einzelnen Ressourcen vornehmen, weist SageMaker KI anderen Ressourcen automatisch Allokationen in dem von Ihnen ausgewählten Verhältnis zu. Um diese verhältnisbasierte Zuordnung zu überschreiben, verwenden Sie den entsprechenden Schalter, um diese Berechnung zu überschreiben.

1. Wiederholen Sie die Schritte 4 und 5, um weitere Instances zu konfigurieren.

Nachdem Sie das Rechenkontingent zugewiesen haben, können Sie Jobs über die HyperPod CLI oder `kubectl` einreichen. HyperPodplant Workloads effizient auf der Grundlage des verfügbaren Kontingents. 

# Zuweisung des GPU-Partitionskontingents
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

Sie können die Zuweisung von Rechenkontingenten erweitern, um die GPU-Partitionierung zu unterstützen und so eine differenzierte gemeinsame Nutzung von Ressourcen auf GPU-Partitionsebene zu ermöglichen. Wenn die GPU-Partitionierung aktiviert ist oder im Cluster unterstützt wird, kann jede physische GPU GPUs in mehrere isolierte GPUs GPUs mit definierten Rechen-, Arbeitsspeicher- und Streaming-Multiprozessor-Zuweisungen partitioniert werden. Weitere Informationen zur GPU-Partitionierung finden Sie unter. [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) Sie können Gruppen bestimmte GPU-Partitionen zuweisen, sodass mehrere Teams dieselbe GPU gemeinsam nutzen können. Gleichzeitig bleiben die Isolierung auf Hardwareebene und die vorhersehbare Leistung erhalten.

Beispielsweise kann eine ml.p5.48xlarge-Instance mit 8 H100 in GPU-Partitionen partitioniert werden, und Sie GPUs können einzelnen Teams je nach Aufgabenanforderungen einzelne Partitionen zuweisen. Wenn Sie GPU-Partitionszuweisungen angeben, berechnet HyperPod Task Governance proportionale vCPU- und Speicherkontingente auf der Grundlage der GPU-Partition, ähnlich der Zuweisung auf GPU-Ebene. Dieser Ansatz maximiert die GPU-Auslastung, indem ungenutzte Kapazitäten eliminiert und eine kostengünstige gemeinsame Nutzung von Ressourcen für mehrere gleichzeitige Aufgaben auf derselben physischen GPU ermöglicht wird.

## Rechenkontingente erstellen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## Quota-Ressourcen überprüfen
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```

# Beispiele für HyperPod Task-Governance-Befehle AWS CLI
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-cli"></a>

Sie können es HyperPod mit EKS über Kubectl oder über eine HyperPod benutzerdefinierte CLI verwenden. Sie können diese Befehle über Studio oder verwenden. AWS CLI Im Folgenden finden Sie Beispiele zur SageMaker HyperPod Task-Governance, die zeigen, wie Sie Clusterdetails mithilfe der HyperPod AWS CLI Befehle anzeigen können. Weitere Informationen, einschließlich der Installation, finden Sie im [HyperPod CLI-Github-Repository](https://github.com/aws/sagemaker-hyperpod-cli).

**Topics**
+ [Informationen zum Cluster-Accelerator-Gerätekontingent](#hp-eks-cli-get-clusters)
+ [Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace](#hp-eks-cli-start-job)
+ [Auflisten von Aufträgen](#hp-eks-cli-list-jobs)
+ [Detaillierte Informationen zum Auftrag](#hp-eks-cli-get-job)
+ [Jobs aussetzen und die Aussetzung rückgängig machen](#hp-eks-cli-patch-job)
+ [Debuggen von Aufträgen](#hp-eks-cli-other)

## Informationen zum Cluster-Accelerator-Gerätekontingent
<a name="hp-eks-cli-get-clusters"></a>

Mit dem folgenden Beispielbefehl werden Informationen zum Cluster Accelerator-Gerätekontingent abgerufen.

```
hyperpod get-clusters -n hyperpod-ns-test-team
```

Der Namespace in diesem Beispiel, `hyperpod-ns-test-team`, wird in Kubernetes auf Grundlage des angegebenen Teamnamens, `test-team`, erstellt, wenn die Rechenzuweisung erstellt wird. Weitere Informationen finden Sie unter [Richtlinien bearbeiten](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md).

Beispielantwort:

```
[
    {
        "Cluster": "hyperpod-eks-test-cluster-id",
        "InstanceType": "ml.g5.xlarge",
        "TotalNodes": 2,
        "AcceleratorDevicesAvailable": 1,
        "NodeHealthStatus=Schedulable": 2,
        "DeepHealthCheckStatus=Passed": "N/A",
        "Namespaces": {
            "hyperpod-ns-test-team": {
                "TotalAcceleratorDevices": 1,
                "AvailableAcceleratorDevices": 1
            }
        }
    }
]
```

## Senden Sie einen Job an eine von SageMaker KI verwaltete Warteschlange und einen Namespace
<a name="hp-eks-cli-start-job"></a>

Mit dem folgenden Beispielbefehl wird ein Job an Ihren Cluster gesendet. HyperPod Wenn Sie nur Zugriff auf ein Team haben, HyperPod AWS CLI wird Ihnen die Warteschlange in diesem Fall automatisch zugewiesen. Andernfalls, wenn mehrere Warteschlangen entdeckt werden, zeigen wir dir alle praktikablen Optionen an, die du auswählen kannst.

```
hyperpod start-job --job-name hyperpod-cli-test --job-kind kubeflow/PyTorchJob --image docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd --entry-script /opt/pytorch-mnist/mnist.py --pull-policy IfNotPresent --instance-type ml.g5.xlarge --node-count 1 --tasks-per-node 1 --results-dir ./result --priority training-priority
```

Die Prioritätsklassen sind in der **Clusterrichtlinie** definiert, die festlegt, wie Aufgaben priorisiert und ungenutzte Rechenleistung zugewiesen wird. Wenn ein Datenwissenschaftler einen Auftrag einreicht, verwendet er einen der Prioritätsklassen-Namen im Format `priority-class-name-priority`. `training-priority`Bezieht sich in diesem Beispiel auf die Prioritätsklasse mit dem Namen „Training“. Weitere Informationen zu Richtlinienkonzepten finden Sie unter [Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md).

Wenn keine Prioritätsklasse angegeben ist, wird der Job als Job mit niedriger Priorität behandelt, wobei der Wert 0 für die Aufgabenrangfolge lautet. 

Wenn eine Prioritätsklasse angegeben ist, diese aber keiner der in der **Clusterrichtlinie** definierten Prioritätsklassen entspricht, schlägt die Übermittlung fehl und eine Fehlermeldung gibt die definierten Prioritätsklassen an.

Sie können den Job auch mithilfe einer YAML-Konfigurationsdatei mithilfe des folgenden -Befehls einreichen: 

```
hyperpod start-job --config-file ./yaml-configuration-file-name.yaml
```

Im Folgenden finden Sie ein Beispiel für eine YAML-Konfigurationsdatei, die dem oben beschriebenen Einreichen eines Jobs entspricht.

```
defaults:
  - override hydra/job_logging: stdout
hydra:
  run:
    dir: .
  output_subdir: null
training_cfg:
  entry_script: /opt/pytorch-mnist/mnist.py
  script_args: []
  run:
    name: hyperpod-cli-test
    nodes: 1
    ntasks_per_node: 1
cluster:
  cluster_type: k8s
  instance_type: ml.g5.xlarge
  custom_labels:
    kueue.x-k8s.io/priority-class: training-priority
  cluster_config:
    label_selector:
      required:
        sagemaker.amazonaws.com/node-health-status:
          - Schedulable
      preferred:
        sagemaker.amazonaws.com/deep-health-check-status:
          - Passed
      weights:
        - 100
    pullPolicy: IfNotPresent
base_results_dir: ./result
container: docker.io/kubeflowkatib/pytorch-mnist-cpu:v1beta1-bc09cfd
env_vars:
  NCCL_DEBUG: INFO
```

Alternativ können Sie einen Job einreichen, indem Sie sicherstellen`kubectl`, dass die Aufgabe auf der Registerkarte **Dashboard** angezeigt wird. Nachfolgend finden Sie ein Beispiel für einen kubectl-Befehl.

```
kubectl apply -f ./yaml-configuration-file-name.yaml
```

Geben Sie beim Absenden des Jobs den Namen Ihrer Warteschlange und die Bezeichnungen der Prioritätsklassen an. Zum Beispiel müssen Sie zusammen mit dem Namen der Warteschlange `hyperpod-ns-team-name-localqueue` und der Prioritätsklasse `priority-class-name-priority` die folgenden Labels angeben:
+ `kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue` 
+ `kueue.x-k8s.io/priority-class: priority-class-name-priority`

**Der folgende YAML-Konfigurationsausschnitt zeigt, wie Sie Ihrer ursprünglichen Konfigurationsdatei Labels hinzufügen, um sicherzustellen, dass Ihre Aufgabe auf der Registerkarte Dashboard angezeigt wird:**

```
metadata:
    name: job-name
    namespace: hyperpod-ns-team-name
    labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
        kueue.x-k8s.io/priority-class: priority-class-name-priority
```

## Auflisten von Aufträgen
<a name="hp-eks-cli-list-jobs"></a>

Der folgende Befehl listet die Jobs und ihre Details auf.

```
hyperpod list-jobs
```

Beispielantwort:

```
{
    "jobs": [
        {
            "Name": "hyperpod-cli-test",
            "Namespace": "hyperpod-ns-test-team",
            "CreationTime": "2024-11-18T21:21:15Z",
            "Priority": "training",
            "State": "Succeeded"
        }
    ]
}
```

## Detaillierte Informationen zum Auftrag
<a name="hp-eks-cli-get-job"></a>

Der folgende Befehl stellt die Details eines Jobs bereit. Wenn kein Namespace angegeben ist, HyperPod AWS CLI wird ein von SageMaker AI verwalteter Namespace abgerufen, auf den Sie Zugriff haben.

```
hyperpod get-job --job-name hyperpod-cli-test
```

Beispielantwort:

```
{
    "Name": "hyperpod-cli-test",
    "Namespace": "hyperpod-ns-test-team",
    "Label": {
        "app": "hyperpod-cli-test",
        "app.kubernetes.io/managed-by": "Helm",
        "kueue.x-k8s.io/priority-class": "training"
    },
    "CreationTimestamp": "2024-11-18T21:21:15Z",
    "Status": {
        "completionTime": "2024-11-18T21:25:24Z",
        "conditions": [
            {
                "lastTransitionTime": "2024-11-18T21:21:15Z",
                "lastUpdateTime": "2024-11-18T21:21:15Z",
                "message": "PyTorchJob hyperpod-cli-test is created.",
                "reason": "PyTorchJobCreated",
                "status": "True",
                "type": "Created"
            },
            {
                "lastTransitionTime": "2024-11-18T21:21:17Z",
                "lastUpdateTime": "2024-11-18T21:21:17Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test is running.",
                "reason": "PyTorchJobRunning",
                "status": "False",
                "type": "Running"
            },
            {
                "lastTransitionTime": "2024-11-18T21:25:24Z",
                "lastUpdateTime": "2024-11-18T21:25:24Z",
                "message": "PyTorchJob hyperpod-ns-test-team/hyperpod-cli-test successfully completed.",
                "reason": "PyTorchJobSucceeded",
                "status": "True",
                "type": "Succeeded"
            }
        ],
            "replicaStatuses": {
                "Worker": {
                    "selector": "training.kubeflow.org/job-name=hyperpod-cli-test,training.kubeflow.org/operator-name=pytorchjob-controller,training.kubeflow.org/replica-type=worker",
                    "succeeded": 1
                }
            },
        "startTime": "2024-11-18T21:21:15Z"
    },
    "ConsoleURL": "https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/cluster-management/hyperpod-eks-test-cluster-id“
}
```

## Jobs aussetzen und die Aussetzung rückgängig machen
<a name="hp-eks-cli-patch-job"></a>

Wenn Sie einen eingereichten Job aus dem Scheduler entfernen möchten, HyperPod AWS CLI bietet dieser `suspend` Befehl, um den Job vorübergehend aus der Orchestrierung zu entfernen. Der unterbrochene Job wird nicht mehr geplant, es sei denn, der Job wird manuell durch den Befehl aufgehoben `unsuspend`

Um einen Job vorübergehend auszusetzen:

```
hyperpod patch-job suspend --job-name hyperpod-cli-test
```

Um einen Job wieder zur Warteschlange hinzuzufügen:

```
hyperpod patch-job unsuspend --job-name hyperpod-cli-test
```

## Debuggen von Aufträgen
<a name="hp-eks-cli-other"></a>

Der bietet HyperPod AWS CLI auch andere Befehle, mit denen Sie Probleme bei der Auftragsübermittlung beheben können. Zum Beispiel `list-pods` und `get-logs` im HyperPod AWS CLI Github-Repository.

# Fehlerbehebung
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot"></a>

Die folgende Seite enthält bekannte Lösungen zur Fehlerbehebung bei Ihren HyperPod EKS-Clustern.

**Topics**
+ [Registerkarte Dashboard](#hp-eks-troubleshoot-dashboard)
+ [Registerkarte „Aufgaben“](#hp-eks-troubleshoot-tasks)
+ [Richtlinien](#hp-eks-troubleshoot-policies)
+ [Löschen von Clustern](#hp-eks-troubleshoot-delete-policies)
+ [Gemeinsame Nutzung nicht zugewiesener Ressourcen](#hp-eks-troubleshoot-unallocated-resource-sharing)

## Registerkarte Dashboard
<a name="hp-eks-troubleshoot-dashboard"></a>

**Die Installation des EKS-Add-ons ist fehlgeschlagen.**

Damit die Installation des EKS-Add-ons erfolgreich ist, benötigen Sie eine Kubernets-Version >= 1.30. [Informationen zum Update finden Sie unter Kubernetes-Version aktualisieren.](https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html)

Damit die Installation des EKS-Add-ons erfolgreich ist, müssen sich alle Knoten im Status **Bereit** und alle Pods im Status **Running** befinden. 

Um den Status Ihrer Knoten zu überprüfen, verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html) AWS CLI Befehl oder navigieren Sie in der [EKS-Konsole zu Ihrem EKS-Cluster](https://console.aws.amazon.com/eks/home#/clusters) und sehen Sie sich den Status Ihrer Knoten an. Beheben Sie das Problem für jeden Knoten oder wenden Sie sich an Ihren Administrator. Wenn der Knotenstatus **Unbekannt** ist, löschen Sie den Knoten. Sobald der Status aller Knoten „**Bereit**“ lautet, versuchen Sie erneut, das EKS-Add-on HyperPod von der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) aus zu installieren.

Um den Status Ihrer Pods zu überprüfen, verwenden Sie den [Kubernetes-CLI](https://kubernetes.io/docs/reference/kubectl/)-Befehl `kubectl get pods -n cloudwatch-agent` oder navigieren Sie in der EKS-Konsole[ zu Ihrem EKS-Cluster](https://console.aws.amazon.com/eks/home#/clusters) und zeigen Sie den Status Ihrer Pods mit dem Namespace `cloudwatch-agent` an. Beheben Sie das Problem mit den Pods oder wenden Sie sich an Ihren Administrator, um das Problem zu lösen. Sobald alle Pod-Status „Wird **ausgeführt**“ lauten, versuchen Sie erneut, das EKS-Add-on HyperPod von der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) aus zu installieren.

Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung beim Amazon CloudWatch Observability EKS-Add-on](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#Container-Insights-setup-EKS-addon-troubleshoot).

## Registerkarte „Aufgaben“
<a name="hp-eks-troubleshoot-tasks"></a>

Wenn Ihnen die Fehlermeldung angezeigt wird, dass die **benutzerdefinierte Ressourcendefinition (CRD) auf dem Cluster nicht konfiguriert ist**, gewähren Sie Ihrer Domain-Ausführungsrolle Rechte `EKSAdminViewPolicy` und `ClusterAccessRole` Richtlinien. 
+ Weitere Informationen zum Abrufen Ihrer Ausführungsrolle finden Sie unter [Abrufen Ihrer Ausführungsrolle](sagemaker-roles.md#sagemaker-roles-get-execution-role).
+ Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Richtlinien
<a name="hp-eks-troubleshoot-policies"></a>

Im Folgenden werden Lösungen für Fehler im Zusammenhang mit Richtlinien aufgeführt, die die HyperPod APIs OR-Konsole verwenden.
+ Wenn sich die Richtlinie in `CreateFailed` oder im `CreateRollbackFailed` Status befindet, müssen Sie die fehlgeschlagene Richtlinie löschen und eine neue erstellen.
+ Wenn die Richtlinie im Status `UpdateFailed` ist, versuchen Sie die Aktualisierung mit derselben Richtlinien-ARN erneut.
+ Wenn die Richtlinie den `UpdateRollbackFailed` Status hat, müssen Sie die fehlgeschlagene Richtlinie löschen und anschließend eine neue erstellen.
+ Wenn die Richtlinie im Status `DeleteFailed` und ist, versuchen Sie erneut, sie mit derselben Richtlinien-ARN zu löschen.
  + Wenn Sie beim Versuch, die **Compute-Priorisierung** oder Cluster-Richtlinie über die HyperPod Konsole zu löschen, auf einen Fehler gestoßen sind, versuchen Sie, diese `cluster-scheduler-config` mithilfe der API zu löschen. Um den Status der Ressource zu überprüfen, rufen Sie die Detailseite einer Rechenzuweisung auf.

Verwenden Sie die Describe-API, um weitere Informationen zu dem Fehler zu erhalten.

## Löschen von Clustern
<a name="hp-eks-troubleshoot-delete-policies"></a>

Im Folgenden sind bekannte Lösungen für Fehler im Zusammenhang mit dem Löschen von Clustern aufgeführt.
+ Wenn das Löschen des Clusters aufgrund der beigefügten SageMaker HyperPod Task-Governance-Richtlinien fehlschlägt, müssen Sie dies tun[Löschen von Richtlinien](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md).
+ Wenn das Löschen eines Clusters fehlschlägt, weil die folgenden Berechtigungen fehlen, müssen Sie die Mindestberechtigungen Ihres Clusteradministrators aktualisieren. Weitere Informationen finden Sie im [IAM-Benutzer für den Clusteradministrator](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) Abschnitt auf der Registerkarte **Amazon EKS**.
  + `sagemaker:ListComputeQuotas`
  + `sagemaker:ListClusterSchedulerConfig`
  + `sagemaker:DeleteComputeQuota`
  + `sagemaker:DeleteClusterSchedulerConfig`

## Gemeinsame Nutzung nicht zugewiesener Ressourcen
<a name="hp-eks-troubleshoot-unallocated-resource-sharing"></a>

Wenn die Kapazität Ihres nicht zugewiesenen Ressourcenpools geringer als erwartet ist:

1. **Überprüfen Sie den Status des Knotens bereit**

   ```
   kubectl get nodes
   ```

   Stellen Sie sicher, dass alle Knoten `Ready` den Status in der STATUS-Spalte anzeigen.

1. **Überprüfen Sie den Status des Knotens, der planbar ist**

   ```
   kubectl get nodes -o custom-columns=NAME:.metadata.name,UNSCHEDULABLE:.spec.unschedulable
   ```

   Überprüfen Sie, ob die Knoten angezeigt `<none>` werden `false` oder nicht`true`.

1. **Listet die gemeinsame Nutzung ClusterQueues nicht zugewiesener Ressourcen auf:**

   ```
   kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
   ```

   Dies zeigt alle nicht zugewiesenen Ressourcen, die gemeinsam genutzt werden. ClusterQueues Wenn sie nicht angezeigt ClusterQueues werden, überprüfen Sie in der `FailureReason` nachfolgenden ClusterSchedulerConfig Richtlinie, ob es Fehlermeldungen gibt, um das Debuggen fortzusetzen.

1. **Überprüfen Sie das Kontingent für die gemeinsame Nutzung nicht zugewiesener Ressourcen**

   ```
   kubectl describe clusterqueue hyperpod-ns-idle-resource-sharing-<index>
   ```

   In dem `spec.resourceGroups[].flavors[].resources` Abschnitt finden Sie das für die einzelnen Ressourcenarten zugewiesene Kontingent.

   Abhängig von der Anzahl der Ressourcenvarianten in Ihrem Cluster ClusterQueues können mehrere nicht zugewiesene Ressourcen gemeinsam genutzt werden. 

1. **Überprüfen Sie den MIG-Konfigurationsstatus (GPU-Knoten):**

   ```
   kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.nvidia\.com/mig\.config\.state}{"\n"}{end}'
   ```

   Überprüfen Sie, ob MIG-fähige Knoten den Status anzeigen`success`.

# Zuweisungsdokument für Amazon SageMaker HyperPod Task Governance
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-attributions"></a>

Im Folgenden erfahren Sie mehr über Quellenangaben und Drittanbieterlizenzen für Materialien, die im Rahmen der Amazon SageMaker HyperPod Task Governance verwendet werden.

**Topics**
+ [[Basisdateien](https://packages.debian.org/bookworm/base-files)](#hp-eks-task-governance-attributions-base-files)
+ [[Netbase](https://packages.debian.org/source/stable/netbase)](#hp-eks-task-governance-attributions-netbase)
+ [[Golang-lru](https://github.com/hashicorp/golang-lru)](#hp-eks-task-governance-attributions-golang-lru)

## [Basisdateien](https://packages.debian.org/bookworm/base-files)
<a name="hp-eks-task-governance-attributions-base-files"></a>

```
This is the Debian prepackaged version of the Debian Base System
Miscellaneous files. These files were written by Ian Murdock
<imurdock@debian.org> and Bruce Perens <bruce@pixar.com>.

This package was first put together by Bruce Perens <Bruce@Pixar.com>,
from his own sources.

The GNU Public Licenses in /usr/share/common-licenses were taken from
ftp.gnu.org and are copyrighted by the Free Software Foundation, Inc.

The Artistic License in /usr/share/common-licenses is the one coming
from Perl and its SPDX name is "Artistic License 1.0 (Perl)".


Copyright © 1995-2011 Software in the Public Interest.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
```

## [Netbase](https://packages.debian.org/source/stable/netbase)
<a name="hp-eks-task-governance-attributions-netbase"></a>

```
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Comment:
 This package was created by Peter Tobias tobias@et-inf.fho-emden.de on
 Wed, 24 Aug 1994 21:33:28 +0200 and maintained by Anthony Towns
 <ajt@debian.org> until 2001.
 It is currently maintained by Marco d'Itri <md@linux.it>.

Files: *
Copyright:
 Copyright © 1994-1998 Peter Tobias
 Copyright © 1998-2001 Anthony Towns
 Copyright © 2002-2022 Marco d'Itri
License: GPL-2
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License, version 2, as
 published by the Free Software Foundation.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License along
 with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 .
 On Debian systems, the complete text of the GNU General Public License
 version 2 can be found in '/usr/share/common-licenses/GPL-2'.
```

## [Golang-lru](https://github.com/hashicorp/golang-lru)
<a name="hp-eks-task-governance-attributions-golang-lru"></a>

```
Copyright © 2014 HashiCorp, Inc.

Mozilla Public License, version 2.0

1. Definitions

1.1. "Contributor"

     means each individual or legal entity that creates, contributes to the
     creation of, or owns Covered Software.

1.2. "Contributor Version"

     means the combination of the Contributions of others (if any) used by a
     Contributor and that particular Contributor's Contribution.

1.3. "Contribution"

     means Covered Software of a particular Contributor.

1.4. "Covered Software"

     means Source Code Form to which the initial Contributor has attached the
     notice in Exhibit A, the Executable Form of such Source Code Form, and
     Modifications of such Source Code Form, in each case including portions
     thereof.

1.5. "Incompatible With Secondary Licenses"
     means

     a. that the initial Contributor has attached the notice described in
        Exhibit B to the Covered Software; or

     b. that the Covered Software was made available under the terms of
        version 1.1 or earlier of the License, but not also under the terms of
        a Secondary License.

1.6. "Executable Form"

     means any form of the work other than Source Code Form.

1.7. "Larger Work"

     means a work that combines Covered Software with other material, in a
     separate file or files, that is not Covered Software.

1.8. "License"

     means this document.

1.9. "Licensable"

     means having the right to grant, to the maximum extent possible, whether
     at the time of the initial grant or subsequently, any and all of the
     rights conveyed by this License.

1.10. "Modifications"

     means any of the following:

     a. any file in Source Code Form that results from an addition to,
        deletion from, or modification of the contents of Covered Software; or

     b. any new file in Source Code Form that contains any Covered Software.

1.11. "Patent Claims" of a Contributor

      means any patent claim(s), including without limitation, method,
      process, and apparatus claims, in any patent Licensable by such
      Contributor that would be infringed, but for the grant of the License,
      by the making, using, selling, offering for sale, having made, import,
      or transfer of either its Contributions or its Contributor Version.

1.12. "Secondary License"

      means either the GNU General Public License, Version 2.0, the GNU Lesser
      General Public License, Version 2.1, the GNU Affero General Public
      License, Version 3.0, or any later versions of those licenses.

1.13. "Source Code Form"

      means the form of the work preferred for making modifications.

1.14. "You" (or "Your")

      means an individual or a legal entity exercising rights under this
      License. For legal entities, "You" includes any entity that controls, is
      controlled by, or is under common control with You. For purposes of this
      definition, "control" means (a) the power, direct or indirect, to cause
      the direction or management of such entity, whether by contract or
      otherwise, or (b) ownership of more than fifty percent (50%) of the
      outstanding shares or beneficial ownership of such entity.


2. License Grants and Conditions

2.1. Grants

     Each Contributor hereby grants You a world-wide, royalty-free,
     non-exclusive license:

     a. under intellectual property rights (other than patent or trademark)
        Licensable by such Contributor to use, reproduce, make available,
        modify, display, perform, distribute, and otherwise exploit its
        Contributions, either on an unmodified basis, with Modifications, or
        as part of a Larger Work; and

     b. under Patent Claims of such Contributor to make, use, sell, offer for
        sale, have made, import, and otherwise transfer either its
        Contributions or its Contributor Version.

2.2. Effective Date

     The licenses granted in Section 2.1 with respect to any Contribution
     become effective for each Contribution on the date the Contributor first
     distributes such Contribution.

2.3. Limitations on Grant Scope

     The licenses granted in this Section 2 are the only rights granted under
     this License. No additional rights or licenses will be implied from the
     distribution or licensing of Covered Software under this License.
     Notwithstanding Section 2.1(b) above, no patent license is granted by a
     Contributor:

     a. for any code that a Contributor has removed from Covered Software; or

     b. for infringements caused by: (i) Your and any other third party's
        modifications of Covered Software, or (ii) the combination of its
        Contributions with other software (except as part of its Contributor
        Version); or

     c. under Patent Claims infringed by Covered Software in the absence of
        its Contributions.

     This License does not grant any rights in the trademarks, service marks,
     or logos of any Contributor (except as may be necessary to comply with
     the notice requirements in Section 3.4).

2.4. Subsequent Licenses

     No Contributor makes additional grants as a result of Your choice to
     distribute the Covered Software under a subsequent version of this
     License (see Section 10.2) or under the terms of a Secondary License (if
     permitted under the terms of Section 3.3).

2.5. Representation

     Each Contributor represents that the Contributor believes its
     Contributions are its original creation(s) or it has sufficient rights to
     grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

     This License is not intended to limit any rights You have under
     applicable copyright doctrines of fair use, fair dealing, or other
     equivalents.

2.7. Conditions

     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
     Section 2.1.


3. Responsibilities

3.1. Distribution of Source Form

     All distribution of Covered Software in Source Code Form, including any
     Modifications that You create or to which You contribute, must be under
     the terms of this License. You must inform recipients that the Source
     Code Form of the Covered Software is governed by the terms of this
     License, and how they can obtain a copy of this License. You may not
     attempt to alter or restrict the recipients' rights in the Source Code
     Form.

3.2. Distribution of Executable Form

     If You distribute Covered Software in Executable Form then:

     a. such Covered Software must also be made available in Source Code Form,
        as described in Section 3.1, and You must inform recipients of the
        Executable Form how they can obtain a copy of such Source Code Form by
        reasonable means in a timely manner, at a charge no more than the cost
        of distribution to the recipient; and

     b. You may distribute such Executable Form under the terms of this
        License, or sublicense it under different terms, provided that the
        license for the Executable Form does not attempt to limit or alter the
        recipients' rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

     You may create and distribute a Larger Work under terms of Your choice,
     provided that You also comply with the requirements of this License for
     the Covered Software. If the Larger Work is a combination of Covered
     Software with a work governed by one or more Secondary Licenses, and the
     Covered Software is not Incompatible With Secondary Licenses, this
     License permits You to additionally distribute such Covered Software
     under the terms of such Secondary License(s), so that the recipient of
     the Larger Work may, at their option, further distribute the Covered
     Software under the terms of either this License or such Secondary
     License(s).

3.4. Notices

     You may not remove or alter the substance of any license notices
     (including copyright notices, patent notices, disclaimers of warranty, or
     limitations of liability) contained within the Source Code Form of the
     Covered Software, except that You may alter any license notices to the
     extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

     You may choose to offer, and to charge a fee for, warranty, support,
     indemnity or liability obligations to one or more recipients of Covered
     Software. However, You may do so only on Your own behalf, and not on
     behalf of any Contributor. You must make it absolutely clear that any
     such warranty, support, indemnity, or liability obligation is offered by
     You alone, and You hereby agree to indemnify every Contributor for any
     liability incurred by such Contributor as a result of warranty, support,
     indemnity or liability terms You offer. You may include additional
     disclaimers of warranty and limitations of liability specific to any
     jurisdiction.

4. Inability to Comply Due to Statute or Regulation

   If it is impossible for You to comply with any of the terms of this License
   with respect to some or all of the Covered Software due to statute,
   judicial order, or regulation then You must: (a) comply with the terms of
   this License to the maximum extent possible; and (b) describe the
   limitations and the code they affect. Such description must be placed in a
   text file included with all distributions of the Covered Software under
   this License. Except to the extent prohibited by statute or regulation,
   such description must be sufficiently detailed for a recipient of ordinary
   skill to be able to understand it.

5. Termination

5.1. The rights granted under this License will terminate automatically if You
     fail to comply with any of its terms. However, if You become compliant,
     then the rights granted under this License from a particular Contributor
     are reinstated (a) provisionally, unless and until such Contributor
     explicitly and finally terminates Your grants, and (b) on an ongoing
     basis, if such Contributor fails to notify You of the non-compliance by
     some reasonable means prior to 60 days after You have come back into
     compliance. Moreover, Your grants from a particular Contributor are
     reinstated on an ongoing basis if such Contributor notifies You of the
     non-compliance by some reasonable means, this is the first time You have
     received notice of non-compliance with this License from such
     Contributor, and You become compliant prior to 30 days after Your receipt
     of the notice.

5.2. If You initiate litigation against any entity by asserting a patent
     infringement claim (excluding declaratory judgment actions,
     counter-claims, and cross-claims) alleging that a Contributor Version
     directly or indirectly infringes any patent, then the rights granted to
     You by any and all Contributors for the Covered Software under Section
     2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
     license agreements (excluding distributors and resellers) which have been
     validly granted by You or Your distributors under this License prior to
     termination shall survive termination.

6. Disclaimer of Warranty

   Covered Software is provided under this License on an "as is" basis,
   without warranty of any kind, either expressed, implied, or statutory,
   including, without limitation, warranties that the Covered Software is free
   of defects, merchantable, fit for a particular purpose or non-infringing.
   The entire risk as to the quality and performance of the Covered Software
   is with You. Should any Covered Software prove defective in any respect,
   You (not any Contributor) assume the cost of any necessary servicing,
   repair, or correction. This disclaimer of warranty constitutes an essential
   part of this License. No use of  any Covered Software is authorized under
   this License except under this disclaimer.

7. Limitation of Liability

   Under no circumstances and under no legal theory, whether tort (including
   negligence), contract, or otherwise, shall any Contributor, or anyone who
   distributes Covered Software as permitted above, be liable to You for any
   direct, indirect, special, incidental, or consequential damages of any
   character including, without limitation, damages for lost profits, loss of
   goodwill, work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses, even if such party shall have been
   informed of the possibility of such damages. This limitation of liability
   shall not apply to liability for death or personal injury resulting from
   such party's negligence to the extent applicable law prohibits such
   limitation. Some jurisdictions do not allow the exclusion or limitation of
   incidental or consequential damages, so this exclusion and limitation may
   not apply to You.

8. Litigation

   Any litigation relating to this License may be brought only in the courts
   of a jurisdiction where the defendant maintains its principal place of
   business and such litigation shall be governed by laws of that
   jurisdiction, without reference to its conflict-of-law provisions. Nothing
   in this Section shall prevent a party's ability to bring cross-claims or
   counter-claims.

9. Miscellaneous

   This License represents the complete agreement concerning the subject
   matter hereof. If any provision of this License is held to be
   unenforceable, such provision shall be reformed only to the extent
   necessary to make it enforceable. Any law or regulation which provides that
   the language of a contract shall be construed against the drafter shall not
   be used to construe this License against a Contributor.


10. Versions of the License

10.1. New Versions

      Mozilla Foundation is the license steward. Except as provided in Section
      10.3, no one other than the license steward has the right to modify or
      publish new versions of this License. Each version will be given a
      distinguishing version number.

10.2. Effect of New Versions

      You may distribute the Covered Software under the terms of the version
      of the License under which You originally received the Covered Software,
      or under the terms of any subsequent version published by the license
      steward.

10.3. Modified Versions

      If you create software not governed by this License, and you want to
      create a new license for such software, you may create and use a
      modified version of this License if you rename the license and remove
      any references to the name of the license steward (except to note that
      such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary
      Licenses If You choose to distribute Source Code Form that is
      Incompatible With Secondary Licenses under the terms of this version of
      the License, the notice described in Exhibit B of this License must be
      attached.

Exhibit A - Source Code Form License Notice

      This Source Code Form is subject to the
      terms of the Mozilla Public License, v.
      2.0. If a copy of the MPL was not
      distributed with this file, You can
      obtain one at
      http://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a
notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice

      This Source Code Form is "Incompatible
      With Secondary Licenses", as defined by
      the Mozilla Public License, v. 2.0.
```

# Nutzungsberichte für die Kostenzuweisung in SageMaker HyperPod
<a name="sagemaker-hyperpod-usage-reporting"></a>

Die Nutzungsberichterstattung in SageMaker HyperPod EKS-orchestrierten Clustern bietet einen detaillierten Einblick in den Rechenressourcenverbrauch. Diese Funktion ermöglicht es Unternehmen, eine transparente Kostenzuweisung zu implementieren und die Cluster-Kosten Teams, Projekten oder Abteilungen auf der Grundlage ihrer tatsächlichen Nutzung zuzuweisen. Durch die Erfassung von Kennzahlen wie GPU/CPU Stunden und Neuron Core-Auslastung, die *sowohl in Aggregaten auf Teamebene als auch in aufgabenspezifischen Aufschlüsselungen erfasst werden, ergänzt die Nutzungsberichterstattung die Task-Governance-Funktionalität und* [gewährleistet eine faire Kostenverteilung in gemeinsam genutzten HyperPod Multi-Tenant-Clustern](sagemaker-hyperpod-eks-operate-console-ui-governance.md) durch:
+ Schluss mit Rätselraten bei der Kostenzuweisung
+ Direkte Verknüpfung von Ausgaben mit messbarem Ressourcenverbrauch
+ Durchsetzung der nutzungsbasierten Rechenschaftspflicht in Umgebungen mit gemeinsam genutzter Infrastruktur

## Voraussetzungen
<a name="sagemaker-hyperpod-usage-reporting-prerequisites"></a>

So nutzen Sie diese Funktion:
+ Sie benötigen:
  + Eine aktive **SageMaker HyperPod Umgebung** mit einem laufenden EKS-orchestrierten Cluster.
  + (Dringend empfohlen) **Task Governance, konfiguriert** mit Rechenkontingenten und Prioritätsregeln. Anweisungen zur Einrichtung finden Sie unter [Einrichtung von Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md).
+ Machen Sie sich mit diesen Kernkonzepten vertraut:
  + **Zugewiesenes Rechenkontingent:** Ressourcen, die einem Team auf der Grundlage vordefinierter Kontingente in den Richtlinien zur Aufgaben-Governance vorbehalten sind. Das ist *garantierte Kapazität* für ihre Workloads.
  + **Ausgeliehene Rechenleistung:** Ungenutzte Ressourcen aus dem gemeinsam genutzten Clusterpool, die Teams vorübergehend *über ihr zugewiesenes Kontingent hinaus* nutzen können. Die ausgeliehene Rechenleistung wird dynamisch zugewiesen, basierend auf den Prioritätsregeln in den Richtlinien zur Aufgaben-Governance und der Verfügbarkeit ungenutzter Ressourcen.
  + **Computernutzung:** Die Messung der von einem Team verbrauchten Ressourcen (GPU, CPU, Neuron Core-Stunden) wird wie folgt erfasst:
    + **Zugewiesene Auslastung**: Nutzung innerhalb des Kontingents des Teams.
    + **Ausgeliehene Nutzung**: Nutzung, die über das Kontingent hinausgeht und aus dem gemeinsamen Pool stammt.
  + **Kostenzuweisung:** Der Prozess der Zuweisung von Cluster-Kosten an Teams auf der Grundlage ihrer *tatsächlichen Computernutzung*, einschließlich der Ressourcen, die innerhalb ihres vordefinierten Kontingents verbraucht wurden, und der Ressourcen, die vorübergehend aus dem gemeinsam genutzten Cluster-Pool verwendet wurden, außerhalb ihres Kontingents.

## Berichtstypen
<a name="sagemaker-hyperpod-usage-reporting-report-types"></a>

HyperPodDie Nutzungsberichte bieten unterschiedliche betriebliche Granularität:
+ **Übersichtsberichte** bieten unternehmensweite Einblicke in die Computernutzung. Sie aggregieren die gesamten GPU/CPU/Neuron Kernstunden pro Team (Namespace) und unterscheiden dabei zwischen *regulärer Nutzung* (Ressourcen aus dem zugewiesenen Kontingent eines Teams) und *geliehener Rechenleistung* (Überkapazität aus gemeinsam genutzten Pools).
+ **Detaillierte Berichte** bieten Aufschlüsselungen auf Aufgabenebene nach Teams und verfolgen die exakten Rechenstunden, die für die Ausführung bestimmter Aufgaben aufgewendet wurden – einschließlich Aufgaben, die zuvor ausgeführt wurden, stündliche Nutzungsmuster und nameBereichepezifische Zuweisungen.

**Wichtig**  
HyperPod Die Nutzungsberichterstattung verfolgt die Computernutzung in *allen Kubernetes-Namespaces* in einem Cluster — einschließlich der von Task Governance verwalteten Namespaces, Standard-Namespaces und Namespaces, die **außerhalb von Task Governance** erstellt wurden (z. B. über direkte Kubernetes-API-Aufrufe oder externe Tools). Diese Überwachung auf Infrastrukturebene gewährleistet eine umfassende nutzungsbasierte Rechenschaftspflicht und verhindert so Lücken bei der Kostenzuweisung für gemeinsam genutzte Cluster, unabhängig davon, wie NameBereiche verwaltet werden.

## Formate und Zeitraum der Berichte
<a name="sagemaker-hyperpod-usage-reporting-formats"></a>

Mithilfe des unter [Berichte erstellen](sagemaker-hyperpod-usage-reporting-generate.md) bereitgestellten Python-Skripts können Administratoren Nutzungsberichte auf Abruf im CSV- oder PDF-Format erstellen und dabei Zeitbereiche von täglichen Schnappschüssen bis hin zu historischen Zeitfenstern mit 180 Tagen (6 Monaten) auswählen.

**Anmerkung**  
Bei der Einrichtung der Berichtsinfrastruktur können Sie das historische Fenster so konfigurieren, dass es über das standardmäßige Maximum von 180 Tagen hinausgeht. [Weitere Informationen zur Konfiguration des Datenaufbewahrungszeitraums finden Sie unter Installation der Usage Report Infrastructure using. CloudFormation](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#install-usage-report-infrastructure-using-cloudformation) 

## Anschauliche Anwendungsfälle
<a name="sagemaker-hyperpod-usage-reporting-use-cases"></a>

Diese Funktion eignet sich für kritische Szenarien in AI/ML Umgebungen mit mehreren Mandanten, z. B.:

1. **Kostenzuweisung für gemeinsam genutzte Cluster**: Ein Administrator verwaltet einen HyperPod Cluster, der von 20 Teams gemeinsam genutzt wird, die generative KI-Modelle trainieren. Anhand eines *zusammenfassenden Nutzungsberichts* analysieren sie die tägliche GPU-Auslastung über einen Zeitraum von 180 Tagen und stellen fest, dass Team A 200 GPU-Stunden eines bestimmten Instance-Typs verbraucht hat – 170 aus ihrem zugewiesenen Kontingent und 30 aus ausgeliehenen Rechenressourcen. Der Administrator stellt Team A auf der Grundlage dieser gemeldeten Nutzung eine Rechnung.

1. **Prüfung und Streitbeilegung**: Ein Finanzteam stellt die Richtigkeit der Kostenzurechnung in Frage und führt Inkonsistenzen an. Der Administrator kann einen *detaillierten Bericht auf Aufgabenebene* exportieren, um Unstimmigkeiten zu prüfen. Durch den Abgleich von Zeitstempeln, Instance-Typen und vorrangigen Aufträgen innerhalb des Namensraums des Teams werden umstrittene Nutzungsdaten in dem Bericht transparent abgeglichen.

# Berichte, Einzelheiten und Aufschlüsselung der Daten
<a name="sagemaker-hyperpod-usage-reporting-content"></a>

SageMaker HyperPodDie Nutzungsberichte bieten zwei unterschiedliche Möglichkeiten zur Analyse des Rechenressourcenverbrauchs: **Übersichtsberichte** für die Kostenzuweisung und **detaillierte Berichte** für detaillierte Prüfungen. Übersichtsberichte aggregieren die clusterweite Nutzung nach Team oder Namespace und heben Trends bei zugewiesener und geliehener Rechenleistung für GPU-, CPU- und Neuron Core-Ressourcen hervor. Detaillierte Berichte gehen detailliert auf einzelne Aufgaben ein und enthalten Kennzahlen wie Ausführungsfenster, Aufgabenstatus und Auslastung nach Prioritätsklassen. In diesem Abschnitt gehen wir auf die Struktur dieser Berichte ein, verstehen ihre wichtigsten Kennzahlen und zeigen, wie Administratoren und Finanzteams zusammenfassende Trends mit Daten auf Aufgabenebene vergleichen können, um die Genauigkeit der Kostenzuweisung zu überprüfen, Unstimmigkeiten zu beheben und die gemeinsam genutzte Infrastruktur zu optimieren.

## Allgemeine Berichtskopfzeilen
<a name="sagemaker-hyperpod-usage-reporting-content-headers"></a>

Sowohl zusammenfassende als auch detaillierte Berichte enthalten die folgenden Metadaten zur Kontextualisierung der Nutzungsdaten:
+ **ClusterName:** Der Name des EKS-orchestrierten Hyperpod-Clusters, in dem Ressourcen verbraucht wurden.
+ **Typ:** die Berichtskategorie (`Summary Utilization Report` oder `Detailed Utilization Report`).
+ **Generierungsdatum:** Datum, an dem der Bericht erstellt wurde (z. B. `2025-04-18`).
+ **Datumsbereich (UTC):** der abgedeckte Zeitraum (z. B. `2025-04-16 to 2025-04-18`).
+ **Fehlende Datenperioden:** Lücken bei der Datenerfassung aufgrund von Cluster-Ausfallzeiten oder Überwachungsproblemen (z. B. `2025-04-16 00:00:00 to 2025-04-19 00:00:00`).

## Zusammenfassungsberichte
<a name="sagemaker-hyperpod-usage-reporting-content-summary"></a>

Zusammenfassende Berichte bieten einen täglichen Überblick über den Verbrauch von Rechenressourcen in verschiedenen Teams/Namespaces und Instance-Typen, wobei zwischen zugewiesener (reserviertes Kontingent) und ausgeliehener (ausgeliehener Pool) Nutzung unterschieden wird. Diese Berichte eignen sich ideal für die Erstellung von Rechnungen, Kostenzuweisungen oder Kapazitätsprognosen.

*Beispiel: Ein zusammenfassender Bericht könnte zeigen, dass Team A 200 GPU-Stunden genutzt hat – 170 Stunden aus dem zugewiesenen Kontingent und 30 geliehene.*

Im Folgenden finden Sie eine strukturierte Aufschlüsselung der wichtigsten Spalten in einem zusammenfassenden Bericht:
+ **Datum:** das Datum der gemeldeten Nutzung (z. B. `2025-04-18`).
+ **Namespace:** der dem Team zugeordnete Kubernetes-Namespace (z. B. `hyperpod-ns-ml-team`).
+ **Team:** The Owning team/department (z. B.). `ml-team`
+ **Instance-Typ:** die verwendete Rechen-Instance (z. B. ml.g5.4xlarge).
+ **Total/Allocated/BorrowedAuslastung (Stunden):** Die Aufschlüsselung der GPU-, CPU- oder Neuron Core-Nutzung nach Kategorien.

  Wobei Folgendes gilt:
  + **Gesamtauslastung = Zugewiesene Auslastung \$1 Ausgelehnte Auslastung**
  + Die **zugewiesene Auslastung** ist die tatsächliche GPU-CPU oder Neuron Core-Stunden, die ein Team genutzt hat, begrenzt auf 100% des zugewiesenen Kontingents.
  + Die **ausgeliehene Nutzung** bezieht sich auf die tatsächlichen GPU-, CPU- oder Neuron-Core-Stunden, die ein Team *über sein zugewiesenes Kontingent hinaus* genutzt hat. Diese werden aus dem gemeinsamen Cluster-Pool auf der Grundlage der Prioritätsregeln der Aufgaben-Governance und der Verfügbarkeit von Ressourcen bezogen.

Beispiel: Insgesamt 72 GPU-Stunden (48 zugewiesene, 24 geliehene).

**Anmerkung**  
Für NameBereiche, die nicht von Task Governance verwaltet werden, wird nur die Gesamtauslastung angezeigt.

## Detaillierte Berichte
<a name="sagemaker-hyperpod-usage-reporting-content-detailed"></a>

Detaillierte Berichte bieten forensische Einblicke in die Computernutzung, indem sie den Ressourcenverbrauch nach Aufgaben aufschlüsseln und detaillierte Metriken wie Zeitfenster für die Ausführung von Aufgaben, Status (z. B. erfolgreich, Fehlgeschlagen) und Nutzung nach Prioritätsklassen bereitstellen. Diese Berichte eignen sich ideal zur Überprüfung von Abrechnungsabweichungen oder zur Sicherstellung der Einhaltung von Governance-Richtlinien.

Im Folgenden finden Sie eine strukturierte Aufschlüsselung der wichtigsten Spalten in einem ausführlichen Bericht:
+ **Datum:** das Datum der gemeldeten Nutzung (z. B. `2025-04-18`).
+ **Start/Ende des Zeitraums:** Exaktes Ausführungsfenster (UTC) für die Aufgabe. (z. B. `19:54:34`)
+ **Namespace:** der dem Team zugeordnete Kubernetes-Namespace (z. B. `hyperpod-ns-ml-team`).
+ **Team:** Der Eigentümer team/department (z. B.`ml-team`).
+ **Aufgabe:** Die Kennung für den Job/Pod (z. B.). `pytorchjob-ml-pytorch-job-2p5zt-db686`
+ **Instance:** die verwendete Rechen-Instance (z. B. `ml.g5.4xlarge`).
+ **Status:** Ergebnis der Aufgabe (erfolgreich, Fehlgeschlagen, Präemptiv).
+ **Gesamtauslastung:** Gesamtverbrauch (Stunden und Anzahl der Instances) von GPU-, CPU- oder Neuron Core-Ressourcen.
+ **Prioritätsklasse:** die zugewiesene Prioritätsstufe (z. B. Trainingspriorität).

# Berichte erstellen
<a name="sagemaker-hyperpod-usage-reporting-generate"></a>

Dieses Handbuch enthält step-by-step Anweisungen zur Konfiguration und Verwaltung der Nutzungsberichte für Ihre SageMaker HyperPod Cluster. Folgen Sie diesen Verfahren, um die Infrastruktur bereitzustellen, benutzerdefinierte Berichte zu erstellen und Ressourcen zu entfernen, wenn sie nicht mehr benötigt werden.

## Einrichten von Nutzungsberichten
<a name="sagemaker-hyperpod-usage-reporting-install"></a>

**Anmerkung**  
Stellen Sie vor der Konfiguration der Infrastruktur für SageMaker HyperPod Nutzungsberichte in Ihrem SageMaker HyperPod Cluster sicher, dass Sie alle in diesem Dokument aufgeführten Voraussetzungen erfüllt haben [https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#prerequisites](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#prerequisites).

Für die Nutzungsberichterstattung in HyperPod ist Folgendes erforderlich:
+ Bereitstellung von AWS Ressourcen für SageMaker HyperPod Nutzungsberichte mithilfe eines CloudFormation Stacks
+ Installation des Kubernetes-Operators für den SageMaker HyperPod Nutzungsbericht über ein Helm-Diagramm

Umfassende Installationsanweisungen finden Sie im [SageMaker HyperPod Usage Report GitHub Repository](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md). Folgen Sie insbesondere den Schritten im Abschnitt „[Einrichten“](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#set-up-usage-reporting).

## Generieren Sie bei Bedarf Nutzungsberichte
<a name="sagemaker-hyperpod-usage-reporting-use"></a>

Sobald die Infrastruktur für die Nutzungsberichterstattung und der Kubernetes-Operator installiert sind, werden Auftragsdaten für Ihren SageMaker HyperPod Cluster automatisch erfasst und in dem S3-Bucket gespeichert, den Sie bei der Einrichtung konfiguriert haben. Der Operator erfasst kontinuierlich detaillierte Nutzungsmetriken im Hintergrund und erstellt Rohdatendateien im `raw` Verzeichnis Ihres angegebenen S3-Buckets.

Um einen Nutzungsbericht auf Abruf zu erstellen, können Sie das im [ GitHub Nutzungsbericht-Repository bereitgestellte `run.py` Skript verwenden, um SageMaker HyperPod Nutzungsmetriken](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md) zu extrahieren und zu exportieren. Insbesondere finden Sie das Skript und eine umfassende Anleitung zum Generieren eines Berichts im Abschnitt Berichte [erstellen](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#generate-reports).

Das Skript ermöglicht Ihnen:
+ Geben Sie benutzerdefinierte Datumsbereiche für die Berichtsgenerierung an
+ Wählen Sie zwischen detaillierten und zusammenfassenden Berichtstypen
+ Exportieren Sie Berichte im CSV- oder PDF-Format
+ Direkte Berichte an einen bestimmten S3-Standort

## Bereinigen Sie die Ressourcen für die Nutzungsberichterstattung
<a name="sagemaker-hyperpod-usage-reporting-cleanup"></a>

Wenn Sie Ihre Infrastruktur für die SageMaker HyperPod Nutzungsberichterstattung nicht mehr benötigen, folgen Sie den Schritten unter [Ressourcen bereinigen](https://github.com/awslabs/sagemaker-hyperpod-usage-report/blob/main/README.md#clean-up-resources), um den Kubernetes-Operator und die AWS Ressourcen (in dieser Reihenfolge) zu bereinigen. Durch das ordnungsgemäße Löschen von Ressourcen können unnötige Kosten vermieden werden.

# Konfiguration von Speicher für von Amazon EKS orchestrierte SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-eks-setup-storage"></a>

Der Cluster-Administrator muss Speicher für Data Scientist-Benutzer konfigurieren, um Eingabe- und Ausgabedaten zu verwalten und Checkpoints während des Trainings auf Clustern zu speichern. SageMaker HyperPod 

**Umgang mit großen Datensätzen (Eingabe-/Ausgabedaten)**
+ **Datenzugriff und Datenverwaltung**: Datenwissenschaftler arbeiten häufig mit großen Datensätzen, die für das Training von Modellen für maschinelles Lernen erforderlich sind. Durch die Angabe von Speicherparametern bei der Auftragsübermittlung können sie festlegen, wo sich diese Datensätze befinden (z. B. Amazon-S3-Buckets, persistente Volumes in Kubernetes) und wie während der Auftragsausführung darauf zugegriffen wird.
+ **Leistungsoptimierung**: Die Effizienz des Zugriffs auf Eingabedaten kann sich erheblich auf die Leistung der Trainingsaufgabe auswirken. Durch die Optimierung der Speicherparameter können Datenwissenschaftler sicherstellen, dass Daten effizient gelesen und geschrieben werden, wodurch I/O Engpässe reduziert werden.

**Speichern von Checkpoints**
+ **Checkpointing im Training**: Bei Trainingsjobs mit langer Laufzeit ist es üblich, Checkpoints zu speichern, d. h. Zwischenzustände des Modells. Auf diese Weise können Datenwissenschaftler das Training im Falle eines Fehlers an einem bestimmten Punkt fortsetzen, anstatt bei Null anzufangen.
+ **Datenwiederherstellung und Experimente**: Durch die Angabe des Speicherorts für Checkpoints können Datenwissenschaftler sicherstellen, dass diese Checkpoints sicher gespeichert sind, möglicherweise in einem verteilten Speichersystem, das Redundanz und hohe Verfügbarkeit bietet. Dies ist entscheidend, um sich nach Unterbrechungen zu erholen und mit verschiedenen Trainingsstrategien zu experimentieren.

**Tipp**  
Praktische Erfahrungen und Anleitungen zur Einrichtung von Speicher für mit Amazon EKS orchestrierte SageMaker HyperPod Cluster finden Sie in den folgenden Abschnitten des [Amazon EKS Support im SageMaker HyperPod Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e).  
[Richten Sie Amazon FSx for Lustre ein auf SageMaker HyperPod](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e/en-US/01-cluster/06-fsx-for-lustre)
[Richten Sie mit Mountpoint for Amazon S3 einen](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e/en-US/01-cluster/09-s3-mountpoint) [Mountpoint](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mountpoint.html) für Amazon S3 ein

# Verwenden des Amazon EBS CSI-Treibers auf SageMaker HyperPod EKS-Clustern
<a name="sagemaker-hyperpod-eks-ebs"></a>

SageMaker HyperPod unterstützt den Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) -Treiber, der den Lebenszyklus von Amazon EBS-Volumes als Speicher für die von Ihnen erstellten Kubernetes-Volumes verwaltet. Mit dem Amazon EBS CSI-Treiber können Sie Ihre Amazon EBS-Volumes für Ihre Machine-Learning-Workloads, die auf SageMaker HyperPod Clustern mit Amazon EKS-Orchestrierung ausgeführt werden, erstellen, anhängen und verwalten.

**Topics**
+ [Wichtige Speicherfunktionen](#sagemaker-hyperpod-eks-ebs-features)
+ [Anwendungsfälle](#sagemaker-hyperpod-eks-ebs-use)
+ [Einrichtung des Amazon EBS CSI-Treibers auf SageMaker HyperPod EKS-Clustern](#sagemaker-hyperpod-eks-ebs-setup)
+ [Unter Verwendung der APIs](#sagemaker-hyperpod-eks-ebs-setup-apis)

## Wichtige Speicherfunktionen
<a name="sagemaker-hyperpod-eks-ebs-features"></a>

Der Amazon EBS CSI-Treiber on SageMaker HyperPod unterstützt die folgenden Speicherfunktionen.
+ Statische Bereitstellung: Ordnet vorab erstellte Amazon EBS-Volumes [persistenten Kubernetes-Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) zur Verwendung in Ihren Pods zu.
+ Dynamische Bereitstellung: Erstellt automatisch Amazon EBS-Volumes und zugehörige persistente Volumes aus [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). Parameter können übergeben werden, [https://kubernetes.io/docs/concepts/storage/storage-classes/](https://kubernetes.io/docs/concepts/storage/storage-classes/)um die Volume-Erstellung detailliert zu steuern.
+ Volumenänderung: Erweitert bestehende Volumes durch Aktualisierung der [https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)Größenspezifikation, ohne laufende Workloads zu unterbrechen. Dies kann für den Umgang mit wachsenden Modell-Repositorys oder die Anpassung an größere Knoten ohne Betriebsunterbrechung unerlässlich sein.
+ Volume-Snapshots: Erstellt point-in-time Snapshots von Volumes für Backup, Wiederherstellung und Datenversionierung.
+ Block-Volumes: Ermöglicht unformatierten Blockgerätezugriff für Hochleistungsanwendungen, die direkten Speicherzugriff benötigen.
+ Volumenänderung: Ändert Volume-Eigenschaften wie Typ, Eingabe- oder Ausgabeoperationen pro Sekunde (IOPS) oder Durchsatz mithilfe von [Volume-Attributklassen](https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/).

Weitere Informationen zum Amazon EBS CSI-Treiber finden Sie unter [Use Kubernetes Volume Storage with Amazon EBS im *Amazon* EKS-Benutzerhandbuch](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html).

*Weitere Informationen zur Speicherung auf Pods in Ihrem Cluster finden Sie in der Kubernetes-Dokumentation unter [Speicher](https://kubernetes.io/docs/concepts/storage/).*

## Anwendungsfälle
<a name="sagemaker-hyperpod-eks-ebs-use"></a>

Die Amazon EBS CSI-Treiberintegration ermöglicht mehrere wichtige Anwendungsfälle sowohl für Schulungs- als auch für Inferenz-Workloads auf SageMaker HyperPod EKS-Clustern.

**Workloads für Schulungen**
+ Speicherung von Datensätzen: Stellen Sie Volumes für Trainingsdatensätze bereit, die auch nach einem Pod-Neustart bestehen bleiben
+ Checkpoint-Speicher: Speichern Sie Modell-Checkpoints und Zwischentrainingsergebnisse
+ Gemeinsam genutzte Artefakte: Greifen Sie über mehrere Trainingsjobs hinweg auf gemeinsame Datensätze und Modellartefakte zu

**Inferenz-Workloads**
+ Modellspeicher: Dynamische Bereitstellung angemessen dimensionierter Volumes auf der Grundlage der Modellanforderungen
+ Container-Caching: Erstellen Sie kurzlebigen Speicher für eine verbesserte Inferenzleistung
+ Ereignisprotokollierung: Speichern Sie Inferenzergebnisse und Protokolle im persistenten Speicher

## Einrichtung des Amazon EBS CSI-Treibers auf SageMaker HyperPod EKS-Clustern
<a name="sagemaker-hyperpod-eks-ebs-setup"></a>

Der Container Storage Interface (CSI) -Treiber für Amazon Elastic Block Store (Amazon EBS) ermöglicht Ihnen die dynamische Bereitstellung und Verwaltung von Amazon EBS-Volumes für Ihre containerisierten Workloads, die auf SageMaker HyperPod Clustern mit EKS-Orchestrierung ausgeführt werden. Dieser Abschnitt führt Sie durch die Installation und Konfiguration des Amazon EBS-CSI-Treibers zum Aktivieren des persistenten Speichers für Ihre Workloads im Machine Learning.

### Voraussetzungen
<a name="sagemaker-hyperpod-eks-ebs-setup-prerequisite"></a>

Bevor Sie beginnen, führen Sie die folgenden Schritte aus:
+ [Installieren und konfigurieren Sie den AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)
+ [Erstellen Sie einen SageMaker HyperPod Cluster mit Amazon EKS-Orchestrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html)
+ [Installieren Sie den Amazon-EBS-CSI-Treiber mit der Version von v1.47.0](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/CHANGELOG.md#v1470)

### Zusätzliche Berechtigungen
<a name="sagemaker-hyperpod-eks-ebs-setup-permissions"></a>

Um das Amazon EBS CSI-Treiber-Add-on einzurichten, folgen Sie den Anweisungen unter [Use Kubernetes Volume Storage with Amazon EBS im *Amazon* EKS-Benutzerhandbuch](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html). Sie sollten der IAM-Rolle, die zur Ausführung des Treiber-Add-ons verwendet wird, auch die folgenden zusätzlichen Berechtigungen hinzufügen. Beachten Sie, dass dies die IAM-Rolle ist, die in Ihrer Dienstkontokonfiguration für das Treiber-Add-on angegeben ist, nicht die HyperPod Cluster-Ausführungsrolle.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:AttachClusterNodeVolume",
                "sagemaker:DetachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        }
    ]
}
```

------

## Unter Verwendung der APIs
<a name="sagemaker-hyperpod-eks-ebs-setup-apis"></a>

Als Alternative können Sie die Operationen [AttachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AttachClusterNodeVolume.html)und [DetachClusterNodeVolume](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DetachClusterNodeVolume.html)API verwenden, um Ihre Amazon EBS-Volumes an SageMaker HyperPod EKS-Cluster-Instances anzuhängen und zu trennen.

**Zu den wichtigsten Anforderungen für deren Verwendung APIs gehören die folgenden.**
+ Sowohl das Amazon EBS-Volume als auch der SageMaker HyperPod EKS-Cluster müssen demselben AWS-Konto gehören.
+ Der aufrufende Principal benötigt bestimmte Mindestberechtigungen, um den Vorgang zum anfügen oder Trennen erfolgreich ausführen zu können. Weitere Informationen zu den Mindestberechtigungen finden Sie in den folgenden Abschnitten.
+ Nachdem Sie Ihrem HyperPod Knoten ein Volume hinzugefügt haben, folgen Sie den Anweisungen [unter [Zugreifen auf SageMaker HyperPod Cluster-Knoten, um auf den Cluster-Knoten](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-access-through-terminal.html) zuzugreifen, und Bereitstellen eines Volumes, das zum Mounten des angehängten Volumes verwendet](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html) werden kann.

### Erforderliche Berechtigungen für `sagemaker:AttachClusterNodeVolume`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-attach"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:AttachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "ec2:AttachVolume",
                "ec2:DescribeVolumes"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*"
        }
    ]
}
```

------

### Erforderliche Berechtigungen für `sagemaker:DetachClusterNodeVolume`
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-detach"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action":
            [
                "sagemaker:DetachClusterNodeVolume"
            ],
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/my-cluster-name"
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "ec2:DetachVolume",
                "ec2:DescribeVolumes"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*"
        }
    ]
}
```

------

### Erforderliche Berechtigungen für Schlüssel AWS KMS
<a name="sagemaker-hyperpod-eks-ebs-setup-apis-kms"></a>

Fügen Sie die folgenden AWS KMS Berechtigungen nur hinzu, wenn Sie vom Kunden verwaltete KMS-Schlüssel verwenden, um Ihre Amazon EBS-Volumes zu verschlüsseln, die an HyperPod Clusterknoten angeschlossen sind. Diese Berechtigungen sind nicht erforderlich, wenn Sie AWS-verwaltete KMS-Schlüssel (die Standardverschlüsselungsoption) verwenden.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-default-1",
    "Statement":
    [
        {
            "Effect": "Allow",
            "Principal":
            {
                "AWS": "arn:aws:iam::111122223333:role/caller-role"
            },
            "Action": "kms:DescribeKey",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Principal":
            {
                "AWS": "arn:aws:iam::111122223333:role/caller-role"
            },
            "Action": "kms:CreateGrant",
            "Resource": "*",
            "Condition":
            {
                "StringEquals":
                {
                    "kms:CallerAccount": "111122223333",
                    "kms:ViaService": "ec2.us-east-1.amazonaws.com"
                },
                "ForAnyValue:StringEquals":
                {
                    "kms:EncryptionContextKeys": "aws:ebs:id"
                },
                "Bool":
                {
                    "kms:GrantIsForAWSResource": true
                },
                "ForAllValues:StringEquals":
                {
                    "kms:GrantOperations":
                    [
                        "Decrypt"
                    ]
                }
            }
        }
    ]
}
```

------

**Anmerkung**  
Diese AWS KMS Berechtigungen sind nicht erforderlich, `sagemaker:DetachClusterNodeVolume` wenn ein CAVA-Volume (Cluster Auto Volume Attachment) -Volume getrennt wird, das mit vom Kunden verwalteten KMS-Schlüsseln verschlüsselt wurde.

# Konfiguration benutzerdefinierter Kubernetes-Labels und -Taints in Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints"></a>

 SageMaker HyperPod Amazon-Cluster mit dem Orchestrator Amazon Elastic Kubernetes Service (Amazon EKS) unterstützen benutzerdefinierte Kubernetes-Labels und -Taints für Knoten innerhalb von Instanzgruppen. Labels and Taints sind grundlegende Planungs- und Organisationsmechanismen in Kubernetes, mit denen Sie die Pod-Platzierung und die Ressourcennutzung genau steuern können.

Labels sind Schlüssel-Wert-Paare, die an Kubernetes-Objekte angehängt werden können, sodass Sie Ressourcen anhand von Attributen organisieren und auswählen können. Bei Taints handelt es sich in Verbindung mit Toleranzen um knotenspezifische Eigenschaften, die das Pod-Scheduling beeinflussen, indem sie Pods abwehren, für die es keine passenden Toleranzen gibt. Zusammen ermöglichen Ihnen diese Mechanismen, Workloads zu isolieren, sie gemäß den Hardwarespezifikationen zuzuweisen und eine optimale Ressourcennutzung sicherzustellen.

## Häufige Anwendungsfälle
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-use-cases"></a>

Im Folgenden finden Sie häufig vorkommende Szenarien, in denen benutzerdefinierte Labels und Taints von Vorteil sind:
+ **Vermeidung von System-Pods auf teuren Instanzen** — Wenden Sie Taints auf GPU-Instances an, um zu verhindern, dass System-Pods und andere unkritische Workloads teure Rechenressourcen verbrauchen
+ **Integration mit vorhandenen Tools** — Wenden Sie Labels an, die den etablierten Infrastrukturmustern und Knotenaffinitätskonfigurationen Ihres Unternehmens entsprechen

## Konfiguration von Labels und Taints
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-configure"></a>

Sie können benutzerdefinierte Kubernetes-Labels und -Taints auf Instanzgruppenebene konfigurieren, indem Sie den `KubernetesConfig` Parameter in Ihrer Cluster-Konfiguration verwenden. Labels und Taints werden auf alle Knoten in der Instanzgruppe angewendet und bleiben während des gesamten Lebenszyklus des Clusters bestehen.

Der `KubernetesConfig` Parameter ist deklarativ, d. h. Sie geben den vollständigen gewünschten Status von Labels und Taints für eine Instanzgruppe an. SageMaker HyperPod gleicht dann den tatsächlichen Zustand der Knoten so ab, dass er diesem gewünschten Zustand entspricht.
+ **Hinzufügen von Labels oder Taints** — Fügen Sie die neuen Labels oder Taints `KubernetesConfig` zusammen mit allen vorhandenen hinzu, die Sie behalten möchten
+ **Beschriftungen oder Verschmutzungen aktualisieren** — Ändern Sie die Werte `KubernetesConfig` für die Beschriftungen oder Verfärbungen, die Sie ändern möchten, und schließen Sie alle anderen ein, die Sie behalten möchten
+ **Beschriftungen oder Verschmutzungen entfernen** — Lassen Sie die Beschriftungen oder Verfälschungen aus, die Sie entfernen möchten, und behalten Sie nur diejenigen bei`KubernetesConfig`, die Sie beibehalten möchten

### Erstellen eines Clusters mit Labels und Makeln
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-create"></a>

Wenn Sie einen neuen SageMaker HyperPod Cluster erstellen, nehmen Sie den `KubernetesConfig` Parameter in Ihre Instanzgruppenkonfiguration auf. Das folgende Beispiel zeigt, wie Sie einen Cluster mit benutzerdefinierten Labels und Taints erstellen:

```
{
    "ClusterName": "my-cluster",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "InstanceCount": 4,
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://my-bucket/lifecycle-config.sh",
            "OnCreate": "on-create.sh"
        },
        "ExecutionRole": "arn:aws:iam::123456789012:role/HyperPodExecutionRole",
        "ThreadsPerCore": 1,
        "KubernetesConfig": { 
            "Labels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "Taints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            },
            {
                "key": "dedicated",
                "value": "ml-workloads",
                "effect": "NoExecute"
            }]
        }
    }],
    "VpcConfig": {
        "SecurityGroupIds": ["sg-0123456789abcdef0"],
        "Subnets": ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"]
    },
    "Orchestrator": {
        "Eks": {
            "ClusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster"
        }
    }
}
```

In diesem Beispiel:
+ **Labels** — Drei benutzerdefinierte Labels werden angewendet:`env=prod`,`team=ml-training`, und `gpu-type=a100`
+ **Taints** — Zwei Taints wurden konfiguriert, um ungewolltes Pod-Scheduling zu verhindern

### Labels und Taints auf einem vorhandenen Cluster werden aktualisiert
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-update"></a>

Sie können Labels und Taints auf einem vorhandenen Cluster mithilfe der `UpdateCluster` API ändern. Das folgende Beispiel zeigt, wie Sie die `KubernetesConfig` für eine Instanzgruppe aktualisieren:

```
{
    "ClusterName": "my-cluster",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "KubernetesConfig": { 
            "Labels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100",
                "cost-center": "ml-ops"
            },
            "Taints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }]
}
```

Wenn Sie Labels und Taints aktualisieren, werden die Änderungen auf alle Knoten in der Instanzgruppe SageMaker HyperPod angewendet. Der Service verwaltet den Übergang vom aktuellen zum gewünschten Status, den Sie mithilfe der `DescribeCluster` API überwachen können.

## Überwachung, Etikett und Anwendung
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-monitor"></a>

SageMaker HyperPod ermöglicht APIs die Überwachung des Status von Labels und Taints, wenn sie auf Ihre Clusterknoten angewendet werden.

### Überprüfen Sie den Status auf Clusterebene
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-describe-cluster"></a>

Verwenden Sie die `DescribeCluster` API, um den aktuellen und gewünschten Status von Labels und Taints auf Instanzgruppenebene anzuzeigen. Das folgende Beispiel zeigt die Antwortstruktur:

```
{
    "ClusterName": "my-cluster",
    "ClusterStatus": "InService",
    "InstanceGroups": [{
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "CurrentInstanceCount": 4,
        "TargetInstanceCount": 4,
        "KubernetesConfig": {
            "CurrentLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "DesiredLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "CurrentTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }],
            "DesiredTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }]
}
```

Bei `CurrentLabels` Übereinstimmung `DesiredLabels` und `CurrentTaints` Übereinstimmung `DesiredTaints` wird auf alle Knoten in der Instanzgruppe die angegebene Konfiguration angewendet. Wenn sie sich unterscheiden, ist der Cluster noch dabei, die Änderungen anzuwenden.

### Der Status einzelner Knoten wird überprüft
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-describe-node"></a>

Für Details auf Knotenebene verwenden Sie die `DescribeClusterNode` API, um die Bezeichnung und die fehlerhafte Konfiguration einzelner Knoten zu überprüfen. Das folgende Beispiel zeigt die Antwortstruktur:

```
{
    "NodeDetails": { 
        "InstanceId": "i-0123456789abcdef0",
        "InstanceGroupName": "worker-group-1",
        "InstanceType": "ml.p4d.24xlarge",
        "InstanceStatus": {
            "Status": "Running",
            "Message": "Node is healthy"
        },
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://my-bucket/lifecycle-config.sh",
            "OnCreate": "on-create.sh"
        },
        "LaunchTime": 1699564800.0,
        "KubernetesConfig": {
            "CurrentLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "DesiredLabels": {
                "env": "prod",
                "team": "ml-training",
                "gpu-type": "a100"
            },
            "CurrentTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }],
            "DesiredTaints": [{
                "key": "gpu",
                "value": "true",
                "effect": "NoSchedule"
            }]
        }
    }
}
```

Die Überwachung auf Knotenebene ist nützlich für die Fehlerbehebung, wenn Labels oder Taints nicht korrekt auf bestimmte Knoten angewendet werden oder wenn Sie die Konfiguration einer bestimmten Instanz überprüfen müssen.

## Reservierte Präfixe
<a name="sagemaker-hyperpod-eks-custom-labels-and-taints-reserved-prefixes"></a>

Bestimmte Präfixe sind für die Verwendung durch das System reserviert und sollten nicht für benutzerdefinierte Beschriftungen oder Markierungen verwendet werden. Die folgenden Präfixe sind reserviert:
+ `kubernetes.io/`- Reserviert für Kubernetes-Kernkomponenten
+ `k8s.io/`— Reserviert für Kubernetes-Kernkomponenten
+ `sagemaker.amazonaws.com/`- Reserviert für SageMaker HyperPod
+ `eks.amazonaws.com/`- Reserviert für Amazon EKS
+ `k8s.aws/`- Reserviert für Amazon EKS
+ `karpenter.sh/`— Reserviert für Karpenter Autoscaling

Labels und Taints mit diesen Präfixen werden von Systemkomponenten verwaltet und sollten nicht mit benutzerdefinierten Werten überschrieben werden.

# Checkpointless-Schulungen bei Amazon SageMaker HyperPod
<a name="sagemaker-eks-checkpointless"></a>

Checkpointless-Training bei Amazon SageMaker HyperPod ermöglicht eine schnellere Wiederherstellung nach Fehlern in der Trainingsinfrastruktur. Die folgende Dokumentation hilft Ihnen bei den ersten Schritten mit Checkpointless-Schulungen und der Feinabstimmung für unterstützte Modelle. NeMo

Für das Checkpointless-Training gelten die folgenden Voraussetzungen:
+ [Erste Schritte mit der Amazon EKS-Unterstützung in SageMaker HyperPod](sagemaker-hyperpod-eks-prerequisites.md)
+ [Den Trainingsoperator installieren](sagemaker-eks-operator-install.md). Sie müssen v1.2.0 oder höher installieren.

 Checkpointless Training on SageMaker HyperPod basiert auf dem [NVIDIA NeMo Framework-Benutzerhandbuch](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/core/exp_manager.html#experiment-manager). Sie können Checkpointless-Training mit vorgefertigten Rezepten durchführen. SageMaker HyperPod Wenn Sie damit vertraut sind NeMo, ist der Prozess der Verwendung der Trainingsrezepte für Checkpointless-Trainings ähnlich. Mit geringfügigen Änderungen können Sie beginnen, ein Modell mithilfe von Trainingsfunktionen ohne Kontrollpunkte zu trainieren, mit denen Sie sich schnell von Trainingsfehlern erholen können.

Die folgenden HyperPod Rezepte sind mit Trainingsoptimierungen ohne Checkpoints vorkonfiguriert. Sie können Ihre Datenpfade als Teil des Rezepts angeben und das zugehörige Startskript verwenden, um das Training auszuführen (siehe Kurzanleitung unten):


| Modell | Methode | Größe | Knoten | Instance | Accelerator | Rezept | Script | Tutorial | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| ICH HABE UNS | Vollständiges Finetune-Beispiel | 120b | 16 | p5.48xlarge | GPU H100 | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/fine-tuning/gpt_oss/checkpointless_gpt_oss_120b_full_fine_tuning.yaml) | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_full_fine_tuning.sh) | [verlinken](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-finetune.html) | 
| ICH HABE UNS | Lora-Beispiel | 120b | 2 | p5.48xlarge | GPU H100 | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/fine-tuning/gpt_oss/checkpointless_gpt_oss_120b_lora.yaml) | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_lora.sh) | [verlinken](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-peft.html) | 
| Lama 3 | Beispiel für Pretrain | 70b | 16 | p5.48xlarge | GPU H100 | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/training/llama/checkpointless_llama3_70b_pretrain.yaml) | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/launcher_scripts/llama/run_checkpointless_llama3_70b_pretrain.sh) | [verlinken](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-pretraining-llama3.html) | 
| Lama 3 | LoRa-Beispiel | 70b | 2 | p5.48xlarge | GPU H100 | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/fine-tuning/llama/checkpointless_llama3_70b_lora.yaml) | [verlinken](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/launcher_scripts/llama/run_checkpointless_llama3_70b_lora.sh) | [verlinken](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-peft-llama.html) | 

Die folgende Schnellstartanleitung enthält Tutorials zur Verwendung von Trainingsrezepten ohne Checkpoint:

**Beispiele für den Einstieg**
+ [Tutorials — Vollständige Feinabstimmung von Amazon SageMaker HyperPod Checkpointless GPT OSS 120b](sagemaker-eks-checkpointless-recipes-finetune.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless LEFT-LoRa GPT OSS 120b](sagemaker-eks-checkpointless-recipes-peft.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless Pretraining Llama 3 70b](sagemaker-eks-checkpointless-recipes-pretraining-llama3.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless Left-LoRa Lama 3 70b](sagemaker-eks-checkpointless-recipes-peft-llama.md)

Wenn Sie benutzerdefinierte Modelle vorab trainieren oder optimieren möchten, finden Sie weitere Informationen unter. [Tutorials — Amazon SageMaker HyperPod Checkpointless — Vortraining oder Feinabstimmung benutzerdefinierter Modelle](sagemaker-eks-checkpointless-recipes-custom.md)

Weitere Informationen zur Integration bestimmter Trainingskomponenten ohne Checkpointless finden Sie unter. [HyperPod Checkpointless-Trainingsfunktionen](sagemaker-eks-checkpointless-features.md)

# Schulungs-Tutorials zu Amazon SageMaker HyperPod Checkpointless
<a name="sagemaker-eks-checkpointless-recipes"></a>

[ HyperPod Trainingsrezepte für Checkpointless](https://github.com/aws/sagemaker-hyperpod-checkpointless-training) sind vordefinierte Jobkonfigurationen mit aktivierten Checkpointless-Trainingsfunktionen. Die Verwendung dieser Rezepte erleichtert den Einstieg in das Training ohne Checkpoint. HyperPod

**Topics**
+ [Tutorials — Vollständige Feinabstimmung von Amazon SageMaker HyperPod Checkpointless GPT OSS 120b](sagemaker-eks-checkpointless-recipes-finetune.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless LEFT-LoRa GPT OSS 120b](sagemaker-eks-checkpointless-recipes-peft.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless Pretraining Llama 3 70b](sagemaker-eks-checkpointless-recipes-pretraining-llama3.md)
+ [Anleitungen — Amazon SageMaker HyperPod Checkpointless Left-LoRa Lama 3 70b](sagemaker-eks-checkpointless-recipes-peft-llama.md)
+ [Tutorials — Amazon SageMaker HyperPod Checkpointless — Vortraining oder Feinabstimmung benutzerdefinierter Modelle](sagemaker-eks-checkpointless-recipes-custom.md)

# Tutorials — Vollständige Feinabstimmung von Amazon SageMaker HyperPod Checkpointless GPT OSS 120b
<a name="sagemaker-eks-checkpointless-recipes-finetune"></a>

Die folgende Abfolge von Schritten ist erforderlich, um Trainingsrezepte ohne Checkpoint ausführen zu können. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-finetune-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Wählen Sie ein unterstütztes Checkpointless-Trainingsrezept für Llama 70B oder GPT-OSS 120B aus der Quelle aus.](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection)
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-finetune-recipes-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Ihre Version von Python größer oder gleich 3.10 und niedriger als 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. [Installieren Sie Helm](https://helm.sh/docs/intro/install/)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Installieren Sie Abhängigkeiten mit einer der folgenden Methoden:

   1. Methode 1: SageMaker HyperPod Rezeptmethode:

      ```
      # install SageMaker HyperPod Recipes.
      git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
      cd sagemaker-hyperpod-recipes
      pip3 install -r requirements.txt
      ```

   1. Methode 2: kubectl mit vordefinierter Job-Yaml-Methode

      ```
      # install SageMaker HyperPod checkpointless training.
      git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
      cd sagemaker-hyperpod-checkpointless-training
      ```

Sie können das Checkpointless-Trainingsrezept jetzt entweder mit dem Launcher im -style oder mit kubectl starten. NeMo

## Starten Sie Trainingsjobs mit dem Recipes-Launcher
<a name="sagemaker-eks-checkpointless-recipes-finetune-launcher"></a>

Sie können die SageMaker HyperPod Amazon-Rezepte verwenden, um Ihren Ausbildungsjob einzureichen. Die Verwendung der Rezepte beinhaltet die Aktualisierung von k8s.yaml, config.yaml und die Ausführung des Startskripts.

1. Aktualisieren: `launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_full_fine_tuning.sh`

   your\$1container: Ein Deep-Learning-Container. Die neueste Version des Checkpointless Training Containers finden Sie in den Versionshinweisen zu [Checkpointless](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) Training.

   ```
   #!/bin/bash
   
   SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
   TRAIN_DIR="${TRAIN_DIR}"
   VAL_DIR="${VAL_DIR}"
   EXP_DIR="${EXP_DIR}"
   LOG_DIR="${LOG_DIR}"
   CONTAINER_MOUNT="/data"
   CONTAINER="${CONTAINER}"
   MODEL_NAME_OR_PATH="${MODEL_NAME_OR_PATH}"
   
   HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
       recipes=fine-tuning/gpt_oss/checkpointless_gpt_oss_120b_full_fine_tuning \
       recipes.dataset.dataset_path="${TRAIN_DIR}" \
       recipes.exp_manager.exp_dir="${EXP_DIR}" \
       recipes.log_dir="${LOG_DIR}" \
       recipes.resume.restore_config.path="${MODEL_NAME_OR_PATH}" \
       base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
       git.use_default=false \
       cluster=k8s \
       cluster_type=k8s \
       container="${CONTAINER}" \
       +cluster.hostNetwork=true \
       +cluster.persistent_volume_claims.0.claimName=fsx-claim \
       +cluster.persistent_volume_claims.0.mountPath="${CONTAINER_MOUNT}" \
       +recipes.dataset.val_dataset_path="${VAL_DIR}" \
       ++recipes.callbacks.3.test_fault_config.fault_prob_between_lock=1 \
   ```

1. Starten eines Trainingsjobs

   ```
   bash launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_full_fine_tuning.sh
   ```

Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods

NAME                             READY   STATUS             RESTARTS        AGE
gpt-oss-120b-worker-0             0/1    running               0            36s
```

Wenn der STATUS auf PENDING oder steht ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

```
kubectl describe pod <name of pod>
```

Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs <name of pod>
```

Der `STATUS` wechselt zu `COMPLETED`, wenn Sie `kubectl get pods` ausführen.

## Starten Sie den Trainingsjob mit kubectl mit vordefiniertem Yaml
<a name="sagemaker-eks-checkpointless-recipes-finetune-kubectl"></a>

Eine weitere Option besteht darin, das Training über kubectl mit einem vordefinierten Job-Yaml zu starten.

1. aktualisiere die examples/gpt\$1oss/launch/full Datei \$1finetune\$1gpt\$1oss\$1120b\$1checkpointless\$1p5.yaml
   + Bild: Ein Deep-Learning-Container. Die neueste Version des Checkpointless-Trainingscontainers finden Sie in den Versionshinweisen zu [Checkpointless](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) Training.
   + [resume.restore\$1config.path=: Der Pfad zu den heruntergeladenen vortrainierten Modellgewichten im Nemo-Format im Schritt Voraussetzungen.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-finetune.html#sagemaker-eks-checkpointless-recipes-finetune-prereqs) <path\$1to\$1pretrained\$1weights>
   + <path\$1to\$1dataset>dataset.dataset\$1path=: Der Pfad zu dem Datensatz, der im gemeinsam genutzten Speicher gespeichert wurde

1. Reichen Sie den Job mithilfe von kubectl mit full\$1finetune\$1gpt\$1oss\$1120b\$1checkpointless\$1p5.yaml ein

   ```
   kubectl apply -f examples/gpt_oss/launch/full_finetune_gpt_oss_120b_checkpointless_p5.yaml
   ```

Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods

NAME                             READY   STATUS             RESTARTS        AGE
gpt-oss-120b-worker-0             0/1    running               0            36s
```

Wenn der STATUS auf PENDING oder steht, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten ContainerCreating

```
kubectl describe pod <name of pod>
```

Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs <name of pod>
```

Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

# Anleitungen — Amazon SageMaker HyperPod Checkpointless LEFT-LoRa GPT OSS 120b
<a name="sagemaker-eks-checkpointless-recipes-peft"></a>

Die folgende Abfolge von Schritten ist erforderlich, um Trainingsrezepte ohne Checkpoint ausführen zu können. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-peft-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Wählen Sie ein unterstütztes Checkpointless-Trainingsrezept für Llama 70B oder GPT-OSS 120B aus der Quelle aus.](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection)
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-recipes-peft-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Sie Python verwenden, das größer oder gleich 3.10 und < 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. [Installieren Sie Helm](https://helm.sh/docs/intro/install/)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Installieren Sie Abhängigkeiten mit einer der folgenden Methoden:
   + SageMaker HyperPod Methode der Rezepte:

     ```
     # install SageMaker HyperPod Recipes.
     git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
     cd sagemaker-hyperpod-recipes
     pip3 install -r requirements.txt
     ```
   + kubectl mit vordefinierter Job-Yaml-Methode

     ```
     # install SageMaker HyperPod checkpointless training.
     git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
     cd sagemaker-hyperpod-checkpointless-training
     ```

Sie können das Checkpointless-Trainingsrezept jetzt entweder mit dem Launcher im -style oder mit kubectl starten. NeMo

## Starten des Trainingsjobs mit dem Launcher für Rezepte
<a name="sagemaker-eks-checkpointless-recipes-peft-recipes-launcher"></a>

Alternativ kannst du die SageMaker HyperPod Rezepte verwenden, um deinen Ausbildungsjob einzureichen. Zur Verwendung der Rezepte müssen k8s.yaml und config.yaml aktualisiert und das Startskript ausgeführt werden.

1. Aktualisieren: `launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_lora.sh`

   your\$1contrainer: Ein Deep-Learning-Container. [Die neueste Version des Checkpointless-Trainingscontainers finden Sie in den Versionshinweisen zu Checkpointless Training.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html)

   ```
   #!/bin/bash
   SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
   TRAIN_DIR="${TRAIN_DIR}"
   VAL_DIR="${VAL_DIR}"
   EXP_DIR="${EXP_DIR}"
   LOG_DIR="${LOG_DIR}"
   CONTAINER_MOUNT="/data"
   CONTAINER="${CONTAINER}"
   MODEL_NAME_OR_PATH="${MODEL_NAME_OR_PATH}"
   
   HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
       recipes=fine-tuning/gpt_oss/checkpointless_gpt_oss_120b_lora \
       recipes.dataset.dataset_path="${TRAIN_DIR}" \
       recipes.exp_manager.exp_dir="${EXP_DIR}" \
       recipes.log_dir="${LOG_DIR}" \
       recipes.resume.restore_config.path="${MODEL_NAME_OR_PATH}" \
       base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
       git.use_default=false \
       cluster=k8s \
       cluster_type=k8s \
       container="${CONTAINER}" \
       +cluster.hostNetwork=true \
       +cluster.persistent_volume_claims.0.claimName=fsx-claim \
       +cluster.persistent_volume_claims.0.mountPath="${CONTAINER_MOUNT}" \
       +recipes.dataset.val_dataset_path="${VAL_DIR}" \
       ++recipes.callbacks.3.test_fault_config.fault_prob_between_lock=1 \
   ```

1. Starten eines Trainingsjobs

   ```
   bash launcher_scripts/gpt_oss/run_checkpointless_gpt_oss_120b_lora.sh
   ```

Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods

NAME                             READY   STATUS             RESTARTS        AGE
gpt-oss-120b-worker-0             0/1    running               0            36s
```

Wenn der STATUS auf PENDING oder steht ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

```
kubectl describe pod <name of pod>
```

Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs <name of pod>
```

Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

## Starten Sie den Trainingsjob mit kubectl mit vordefiniertem Yaml
<a name="sagemaker-eks-checkpointless-recipes-peft-kubectl"></a>

Eine weitere Option besteht darin, das Training über kubectl mit einem vordefinierten Job-Yaml zu starten.

1. aktualisiere examples/gpt\$1oss/launch/peft die Datei \$1gpt\$1oss\$1120b\$1checkpointless\$1p5.yaml
   + Bild: Ein Deep-Learning-Container. Die neueste Version des Checkpointless-Trainingscontainers finden Sie in den Versionshinweisen zu [Checkpointless](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) Training.
   + [resume.restore\$1config.path=: Der Pfad zu den heruntergeladenen vortrainierten Modellgewichten im Nemo-Format im Schritt Voraussetzungen.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-peft.html#sagemaker-eks-checkpointless-recipes-peft-prereqs) <path\$1to\$1pretrained\$1weights>
   + <path\$1to\$1dataset>dataset.dataset\$1path=: Der Pfad zu dem Datensatz, der im gemeinsam genutzten Speicher gespeichert wurde

1. Reichen Sie den Job mithilfe von kubectl mit peft\$1gpt\$1oss\$1120b\$1checkpointless\$1p5.yaml ein

   ```
   kubectl apply -f examples/gpt_oss/launch/peft_gpt_oss_120b_checkpointless_p5.yaml
   ```

Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

```
kubectl get pods

NAME                                             READY   STATUS             RESTARTS        AGE
gpt-120b-lora-checkpointless-worker-0             0/1    running               0            36s
```

Wenn der STATUS den Wert PENDING oder hat, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten ContainerCreating

```
kubectl describe pod <name of pod>
```

Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

```
kubectl logs <name of pod>
```

Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

# Anleitungen — Amazon SageMaker HyperPod Checkpointless Pretraining Llama 3 70b
<a name="sagemaker-eks-checkpointless-recipes-pretraining-llama3"></a>

Die folgende Abfolge von Schritten ist erforderlich, um Trainingsrezepte ohne Checkpoint ausführen zu können. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-pretraining-llama3-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Wählen Sie ein unterstütztes Checkpointless-Trainingsrezept für Llama 70B oder GPT-OSS 120B aus der Quelle aus.](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection)
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-recipes-pretraining-llama3-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Sie Python verwenden, das größer oder gleich 3.10 und kleiner als 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. [Installieren Sie Helm](https://helm.sh/docs/intro/install/)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Installieren Sie Abhängigkeiten mit einer der folgenden Methoden:

   1. Methode 1: SageMaker HyperPod Rezeptmethode:

      ```
      # install SageMaker HyperPod Recipes.
      git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
      cd sagemaker-hyperpod-recipes
      pip3 install -r requirements.txt
      ```

   1. Methode 2: kubectl mit vordefinierter Job-Yaml-Methode

      ```
      # install SageMaker HyperPod checkpointless training.
      git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
      cd sagemaker-hyperpod-checkpointless-training
      ```

Sie können das Checkpointless-Trainingsrezept jetzt entweder mit dem Launcher im -style oder mit kubectl starten. NeMo

## Methode 1: Starte den Trainingsjob mit dem Recept-Launcher
<a name="sagemaker-eks-checkpointless-recipes-pretraining-llama3-recipes-launcher"></a>

Alternativ kannst du die SageMaker HyperPod Rezepte verwenden, um deinen Ausbildungsjob einzureichen. Zur Verwendung der Rezepte müssen k8s.yaml und config.yaml aktualisiert und das Startskript ausgeführt werden.

1. Aktualisieren: `launcher_scripts/llama/run_checkpointless_llama3_70b_pretrain.sh`

   Ein Deep-Learning-Container. Die neueste Version des Checkpointless Training Containers finden Sie in den Versionshinweisen zu [Checkpointless](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) Training.

   ```
   #!/bin/bash
   
   SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
   TRAIN_DIR="${TRAIN_DIR}"
   VAL_DIR="${VAL_DIR}"
   EXP_DIR="${EXP_DIR}"
   LOG_DIR="${LOG_DIR}"
   CONTAINER_MOUNT="/data"
   CONTAINER="${CONTAINER}"
   
   HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
       recipes=training/llama/checkpointless_llama3_70b_pretrain \
       recipes.dataset.dataset_path="${TRAIN_DIR}" \
       recipes.exp_manager.exp_dir="${EXP_DIR}" \
       recipes.log_dir="${LOG_DIR}" \
       recipes.data.global_batch_size=16 \
       recipes.data.micro_batch_size=4 \
       base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
       git.use_default=false \
       cluster=k8s \
       cluster_type=k8s \
       container="${CONTAINER}" \
       +cluster.hostNetwork=true \
       +cluster.persistent_volume_claims.0.claimName=fsx-claim \
       +cluster.persistent_volume_claims.0.mountPath="${CONTAINER_MOUNT}" \
       +recipes.dataset.val_dataset_path="${VAL_DIR}" \
       ++recipes.callbacks.3.test_fault_config.fault_prob_between_lock=1 \
   ```

1. Starten eines Trainingsjobs

   ```
   bash launcher_scripts/llama/run_checkpointless_llama3_70b_pretrain.sh
   ```

1. Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

   ```
   kubectl get pods
   
   NAME                             READY   STATUS             RESTARTS        AGE
   llama-3-70b-worker-0             0/1    running               0            36s
   ```

1. Wenn der STATUS auf PENDING oder steht ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

   ```
   kubectl describe pod <name of pod>
   ```

1. Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

   ```
   kubectl logs <name of pod>
   ```

   Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

## Methode 2: Starten Sie den Trainingsjob mit kubectl mit vordefiniertem Yaml
<a name="sagemaker-eks-checkpointless-recipes-pretraining-llama3-kubectl"></a>

Eine weitere Option besteht darin, das Training über kubectl mit einem vordefinierten Job-Yaml zu starten.

1. Aktualisieren des `examples/llama3/launch/pretrain_llama3_70b_checkpointless_p5.yaml`
   + `image`: Ein Deep-Learning-Container. [Die neueste Version des Checkpointless Training Containers finden Sie in den Versionshinweisen zu Checkpointless Training.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html)
   + `resume.restore_config.path=<path_to_pretrained_weights>`[: Der Pfad zu heruntergeladenen vortrainierten Modellgewichten im Nemo-Format im Schritt Voraussetzungen.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-finetune.html#sagemaker-eks-checkpointless-recipes-finetune-prereqs)
   + `dataset.dataset_path=<path_to_dataset>`: Der Pfad zu dem Datensatz, der im gemeinsam genutzten Speicher gespeichert wurde

1. Senden Sie den Job mithilfe von kubectl mit `pretrain_llama3_70b_checkpointless_p5.yaml`

   ```
   kubectl apply -f examples/llama3/launch/pretrain_llama3_70b_checkpointless_p5.yaml
   ```

1. Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

   ```
   kubectl get pods
   
   NAME                                             READY   STATUS             RESTARTS        AGE
   llama3-pretrain-checkpointless-worker-0             0/1    running               0            36s
   ```

1. Wenn der STATUS den Wert PENDING oder hat ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

   ```
   kubectl describe pod <name of pod>
   ```

1. Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

   ```
   kubectl logs <name of pod>
   ```

   Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

# Anleitungen — Amazon SageMaker HyperPod Checkpointless Left-LoRa Lama 3 70b
<a name="sagemaker-eks-checkpointless-recipes-peft-llama"></a>

Die folgende Abfolge von Schritten ist erforderlich, um Trainingsrezepte ohne Checkpoint ausführen zu können. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-peft-llama-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Wählen Sie ein unterstütztes Checkpointless-Trainingsrezept für Llama 70B oder GPT-OSS 120B aus der Quelle aus.](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection)
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-recipes-peft-llama-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Sie Python verwenden, das größer oder gleich 3.10 und kleiner als 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. [Installieren Sie Helm](https://helm.sh/docs/intro/install/)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Installieren Sie Abhängigkeiten mit einer der folgenden Methoden:

   1. Methode 1: SageMaker HyperPod Rezeptmethode:

      ```
      # install SageMaker HyperPod Recipes.
      git clone --recursive git@github.com:aws/sagemaker-hyperpod-recipes.git
      cd sagemaker-hyperpod-recipes
      pip3 install -r requirements.txt
      ```

   1. Methode 2: kubectl mit vordefinierter Job-Yaml-Methode

      ```
      # install SageMaker HyperPod checkpointless training.
      git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
      cd sagemaker-hyperpod-checkpointless-training
      ```

Sie können das Checkpointless-Trainingsrezept jetzt entweder mit dem Launcher im -style oder mit kubectl starten. NeMo

## Methode 1: Starte den Trainingsjob mit dem Recept-Launcher
<a name="sagemaker-eks-checkpointless-recipes-peft-llama-recipes-launcher"></a>

Alternativ kannst du die SageMaker HyperPod Rezepte verwenden, um deinen Ausbildungsjob einzureichen. Zur Verwendung der Rezepte müssen k8s.yaml und config.yaml aktualisiert und das Startskript ausgeführt werden.

1. Aktualisieren: `launcher_scripts/llama/run_checkpointless_llama3_70b_lora.sh`

   Ein Deep-Learning-Container. Die neueste Version des Checkpointless Training Containers finden Sie in den Versionshinweisen zu [Checkpointless](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) Training.

   ```
   #!/bin/bash
   
   SAGEMAKER_TRAINING_LAUNCHER_DIR=${SAGEMAKER_TRAINING_LAUNCHER_DIR:-"$(pwd)"}
   TRAIN_DIR="${TRAIN_DIR}"
   VAL_DIR="${VAL_DIR}"
   EXP_DIR="${EXP_DIR}"
   LOG_DIR="${LOG_DIR}"
   CONTAINER_MOUNT="/data"
   CONTAINER="${CONTAINER}"
   MODEL_NAME_OR_PATH="${MODEL_NAME_OR_PATH}"
   
   HYDRA_FULL_ERROR=1 python3 "${SAGEMAKER_TRAINING_LAUNCHER_DIR}/main.py" \
       recipes=fine-tuning/llama/checkpointless_llama3_70b_lora \
       recipes.dataset.dataset_path="${TRAIN_DIR}" \
       recipes.exp_manager.exp_dir="${EXP_DIR}" \
       recipes.log_dir="${LOG_DIR}" \
       recipes.resume.restore_config.path="${MODEL_NAME_OR_PATH}" \
       base_results_dir="${SAGEMAKER_TRAINING_LAUNCHER_DIR}/results" \
       git.use_default=false \
       cluster=k8s \
       cluster_type=k8s \
       container="${CONTAINER}" \
       +cluster.hostNetwork=true \
       +cluster.persistent_volume_claims.0.claimName=fsx-claim \
       +cluster.persistent_volume_claims.0.mountPath="${CONTAINER_MOUNT}" \
       +recipes.dataset.val_dataset_path="${VAL_DIR}" \
       ++recipes.callbacks.3.test_fault_config.fault_prob_between_lock=1 \
   ```

1. Starten eines Trainingsjobs

   ```
   bash launcher_scripts/llama/run_checkpointless_llama3_70b_lora.sh
   ```

1. Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

   ```
   kubectl get pods
   
   NAME                             READY   STATUS             RESTARTS        AGE
   llama-3-70b-worker-0             0/1    running               0            36s
   ```

1. Wenn der STATUS auf PENDING oder steht ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

   ```
   kubectl describe pod <name of pod>
   ```

1. Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

   ```
   kubectl logs <name of pod>
   ```

   Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

## Methode 2: Starten Sie den Trainingsjob mit kubectl mit vordefiniertem Yaml
<a name="sagemaker-eks-checkpointless-recipes-peft-llama-kubectl"></a>

Eine weitere Option besteht darin, das Training über kubectl mit einem vordefinierten Job-Yaml zu starten.

1. Aktualisieren des `examples/llama3/launch/peft_llama3_70b_checkpointless_p5.yaml`
   + `image`: Ein Deep-Learning-Container. [Die neueste Version des Checkpointless Training Containers finden Sie in den Versionshinweisen zu Checkpointless Training.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html)
   + `resume.restore_config.path=<path_to_pretrained_weights>`[: Der Pfad zu heruntergeladenen vortrainierten Modellgewichten im Nemo-Format im Schritt Voraussetzungen.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-recipes-finetune.html#sagemaker-eks-checkpointless-recipes-finetune-prereqs)
   + `dataset.dataset_path=<path_to_dataset>`: Der Pfad zu dem Datensatz, der im gemeinsam genutzten Speicher gespeichert wurde

1. Senden Sie den Job mithilfe von kubectl mit `peft_llama3_70b_checkpointless_p5.yaml`

   ```
   kubectl apply -f examples/llama3/launch/peft_llama3_70b_checkpointless_p5.yaml
   ```

1. Nachdem Sie den Trainingsjob eingereicht haben, können Sie mit dem folgenden Befehl überprüfen, ob die Übermittlung erfolgreich war.

   ```
   kubectl get pods
   
   NAME                                             READY   STATUS             RESTARTS        AGE
   llama3-70b-lora-checkpointless-worker-0             0/1    running               0            36s
   ```

1. Wenn der STATUS den Wert PENDING oder hat ContainerCreating, führen Sie den folgenden Befehl aus, um weitere Informationen zu erhalten

   ```
   kubectl describe pod <name of pod>
   ```

1. Nachdem der Job-STATUS zu „Laufend“ geändert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen.

   ```
   kubectl logs <name of pod>
   ```

   Der STATUS wechselt zu Abgeschlossen, wenn Sie kubectl get pods ausführen

# Tutorials — Amazon SageMaker HyperPod Checkpointless — Vortraining oder Feinabstimmung benutzerdefinierter Modelle
<a name="sagemaker-eks-checkpointless-recipes-custom"></a>

Die folgende Abfolge von Schritten ist erforderlich, um ein Training ohne Checkpoint durchzuführen, während Ihr benutzerdefiniertes Modell aktiviert ist. HyperPod

## Voraussetzungen
<a name="sagemaker-eks-checkpointless-recipes-custom-prereqs"></a>

Bevor Sie mit der Einrichtung Ihrer Umgebung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ [Amazon EKS-Unterstützung in Amazon aktiviert SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Richten Sie den HyperPod Trainingsoperator ein (v1.2\$1)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html)
+ Ein gemeinsam genutzter Speicherort. Es kann sich um ein FSx Amazon-Dateisystem oder ein NFS-System handeln, auf das von den Clusterknoten aus zugegriffen werden kann.
+ Daten in einem der folgenden Formate:
  + JSON
  + JSONGZ (komprimiertes JSON)
  + ARROW
+ [Laden Sie die Gewichte des Modells Hugging Face](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless-release-notes.html) [herunter und konvertieren Sie es in das von Nemo unterstützte Format.](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemo-2.0/features/hf-integration.html#importing-from-hugging-face)
+ Einrichtung Ihrer Umgebung

## Einrichtung der Kubernetes-Umgebung
<a name="sagemaker-eks-checkpointless-recipes-custom-kubernetes"></a>

Gehen Sie wie folgt vor, um Ihre Kubernetes-Umgebung einzurichten:

1. Richten Sie die virtuelle Umgebung ein. Stellen Sie sicher, dass Sie Python verwenden, das größer oder gleich 3.10 und kleiner als 3.14 ist.

   ```
   python3 -m venv ${PWD}/venv
   source venv/bin/activate
   ```

1. [Richten Sie kubectl und eksctl ein](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)

1. Verbinden mit Ihrem Kubernetes-Cluster

   ```
   aws eks update-kubeconfig --region "${CLUSTER_REGION}" --name "${CLUSTER_NAME}"
   ```

1. Abhängigkeiten installieren

   ```
   # install SageMaker HyperPod checkpointless training.
   git clone git@github.com:aws/sagemaker-hyperpod-checkpointless-training.git
   cd sagemaker-hyperpod-checkpointless-training
   ```

## Anweisungen zur Änderung des Trainings ohne Checkpointless
<a name="sagemaker-eks-checkpointless-recipes-custom-modification-instructions"></a>

Folgen Sie dem Integrationsleitfaden (hier verwenden wir das Llama 3 70b Pretraining als Beispiel), um das Training ohne Checkpoint für benutzerdefinierte Modelle schrittweise einzuführen. Dieser beinhaltet:
+ Schnelle Erstellung von Kommunikatoren
+ Datenlader mit Speicherabbildung (MMAP)
+ Prozessbegleitende Wiederherstellung und Wiederherstellung ohne Checkpoint

### Komponente 1: Schnelle Erstellung von Kommunikatoren
<a name="sagemaker-eks-checkpointless-recipes-custom-component1"></a>

Dies dient dazu, die Zeit für den Aufbau von Verbindungen zwischen den Arbeitern zu optimieren. Es sind keine Codeänderungen erforderlich und es müssen lediglich Umgebungsvariablen gesetzt werden

```
  # Enable Rootless features
  export HPCT_USE_ROOTLESS=1 && \
  sysctl -w net.ipv4.ip_local_port_range="20000 65535" && \

  hyperpodrun --nproc_per_node=8 \
              ...
              --inprocess-restart \
              ...
```

Die vollständige Änderung finden Sie in der Konfiguration des [llama3 70 Pretrain](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/launch/pretrain_llama3_70b_checkpointless_p5.yaml) Launch Jobs.

### Komponente 2: Memory-mapped Dataloader (MMAP)
<a name="sagemaker-eks-checkpointless-recipes-custom-component2"></a>

MMAP-Caches zum Speichern vorab abgerufener Datenproben und ermöglichen einen sofortigen Trainingsstart, ohne auf die Datenvorverarbeitung warten zu müssen. Für die Übernahme durch das Umschließen vorhandener Dataloader sind nur minimale Codeänderungen erforderlich.

```
data_module = MMAPDataModule(
  data_module=base_data_module,
  mmap_config=CacheResumeMMAPConfig(cache_dir=…)
)
```

### Komponenten 3 und 4: Prozessbegleitende Wiederherstellung und Wiederherstellung ohne Checkpoint
<a name="sagemaker-eks-checkpointless-recipes-custom-components3-4"></a>

Dies ermöglicht die Wiederherstellung nach einem Ausfall, ohne die Trainingsprozesse neu starten oder das Laden von Checkpoints aus durchführen zu müssen. Zusätzliche Codeänderungen erforderlich (Aktualisierung der Strategie- und Trainingskonfiguration, Wrapping vorhandener Hauptdateien)

```
@HPWrapper(
  health_check=CudaHealthCheck(),
  hp_api_factory=HPAgentK8sAPIFactory(),
  abort_timeout=60.0,
...)
def run_main(
  cfg,
  caller: Optional[HPCallWrapper] = None):
...


CheckpointlessMegatronStrategy(
  **self.cfg.strategy,
  ddp=self.ddp,
)
```

Die vollständige Änderung finden Sie im [Pretrain-Eintragsskript llama3 70](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/llama3_70b_pretrain_checkpointless.py) und die entsprechende Änderung der Trainingskonfiguration finden Sie in der [llama3](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/config/llama3_70b_peft_checkpointless.yaml) 70b-Trainingskonfiguration.

### Starten Sie das Training
<a name="sagemaker-eks-checkpointless-recipes-custom-launch"></a>

Sie können das Checkpointless-Training jetzt mit kubectl starten.

```
kubectl apply -f your_job_config.yaml
```

# HyperPod Checkpointless-Trainingsfunktionen
<a name="sagemaker-eks-checkpointless-features"></a>

Auf den folgenden Seiten erfahren Sie mehr über die Trainingsfunktionen des Checkpointless-Trainings.

**Topics**
+ [Amazon SageMaker HyperPod Checkpointless-Schulungsrepositorien](#sagemaker-eks-checkpointless-repositories)
+ [Verbesserungen bei der Initialisierung der kollektiven Kommunikation](sagemaker-eks-checkpointless-features-communication.md)
+ [Dataloader mit Speicherzuweisung](sagemaker-eks-checkpointless-features-mmap.md)
+ [Prozessbegleitende Wiederherstellung und Training ohne Kontrollpunkte](sagemaker-eks-checkpointless-in-process-recovery.md)

## Amazon SageMaker HyperPod Checkpointless-Schulungsrepositorien
<a name="sagemaker-eks-checkpointless-repositories"></a>

[ HyperPod Training ohne Checkpoint](https://github.com/aws/sagemaker-hyperpod-checkpointless-training#) beschleunigt die Wiederherstellung nach Clusterfehlern in großen, verteilten Trainingsumgebungen durch Optimierungen auf Framework-Ebene. Diese Optimierungen werden über ein Basis-Container-Image bereitgestellt, das erweiterte Verbesserungen der NCCL-Initialisierung, Optimierungen beim Laden von Daten sowie Komponenten für die Wiederherstellung während des Prozesses und ohne Checkpoint umfasst. Das HyperPod Checkpointless-Schulungspaket basiert auf dieser Grundlage.

Das Checkpointless-Training wird über drei Optimierungstracks ermöglicht, die zusammen laufen:
+ **Verbesserungen der Kommunikationsinitialisierung (NCCL und Gloo)** — Beseitigen Sie Kommunikationsengpässe, indem Sie Rang-Peer- und Ringinformationen dezentralisieren (rotes Feld unten).
+ **Optimierungen beim Laden von Daten** — Reduzieren Sie den Zeitaufwand für die Bereitstellung des ersten Datenstapels bei Neustartvorgängen (orangefarbene Felder unten).
+ **Reduzierung des Programmneustartaufwands** — Minimiert die Neustartkosten und ermöglicht die Wiederherstellung ohne Checkpoint durch Wiederherstellung von Prozessen auf fehlerfreien Knoten (blaue und grüne Felder unten).

![\[alt text not found\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-optimization-tracks.png)


# Verbesserungen bei der Initialisierung der kollektiven Kommunikation
<a name="sagemaker-eks-checkpointless-features-communication"></a>

NCCL und Gloo sind grundlegende Kommunikationsbibliotheken, die kollektive Operationen (wie All-Reduce und Broadcast) in verteilten Trainingsprozessen ermöglichen. Herkömmliche NCCL- und Gloo-Initialisierungen können jedoch zu Engpässen bei der Fehlerbehebung führen.

Beim standardmäßigen Wiederherstellungsprozess müssen alle Prozesse eine Verbindung zu einem zentralen Prozess herstellen TCPStore und über einen Stammprozess koordiniert werden, was zu einem teuren Overhead führt, der bei Neustarts besonders problematisch wird. Dieser zentralisierte Aufbau führt zu drei kritischen Problemen: Koordinationsaufwand aufgrund obligatorischer TCPStore Verbindungen, Verzögerungen bei der Wiederherstellung, da bei jedem Neustart die gesamte Initialisierungssequenz wiederholt werden muss, und eine einzelne Fehlerquelle im Stammprozess selbst. Dies führt bei jeder Initialisierung oder jedem Neustart der Schulung zu teuren, zentralen Koordinationsschritten.

HyperPod Das Training ohne Checkpoint beseitigt diese Koordinationsengpässe und ermöglicht eine schnellere Behebung von Fehlern, da die Initialisierung ohne Wurzeln und „“ erfolgt. TCPStoreless

## Konfigurationen ohne Wurzeln
<a name="sagemaker-eks-checkpointless-features-communication-rootless-config"></a>

Um Rootless zu aktivieren, kann man einfach die folgenden Umgebungsvariablen verfügbar machen.

```
export HPCT_USE_ROOTLESS=1 && \
sysctl -w net.ipv4.ip_local_port_range="20000 65535" && \
```

HPCT\$1USE\$1ROOTLESS: 0 oder 1. Wird verwendet, um Rootless ein- und auszuschalten

sysctl -w net.ipv4.ip\$1local\$1port\$1range="20000 65535": Legt den Portbereich des Systems fest

Sehen Sie sich [das Beispiel für die Aktivierung von Rootless an.](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/llama3/launch/pretrain_llama3_70b_checkpointless_p5.yaml#L111-L113)

## Rootless
<a name="sagemaker-eks-checkpointless-features-communication-rootless"></a>

HyperPod Das Checkpointless-Training bietet neuartige Initialisierungsmethoden, Rootless und, für NCCL- und TCPStoreless Gloo-Prozessgruppen.

Die Implementierung dieser Optimierungen beinhaltet die Modifikation von NCCL, Gloo und: PyTorch
+ Erweiterung der Drittanbieterbibliothek APIs , um Rootless- und Storeless NCCL- und Gloo-Optimierungen zu ermöglichen und gleichzeitig die Abwärtskompatibilität aufrechtzuerhalten
+ Aktualisierung von Prozessgruppen-Backends, sodass optimierte Pfade unter bestimmten Bedingungen verwendet und Probleme bei der Wiederherstellung während des Prozesses behoben werden
+ Umgehung der teuren TCPStore Erstellung auf PyTorch verteilter Ebene bei gleichzeitiger Beibehaltung symmetrischer Adressmuster durch globale Gruppenzähler

Die folgende Grafik zeigt die Architektur der verteilten Trainingsbibliotheken und die Änderungen, die beim Training ohne Checkpoints vorgenommen wurden.

![\[Die folgende Grafik zeigt die Architektur der verteilten Trainingsbibliotheken und die Änderungen, die beim Training ohne Kontrollpunkte vorgenommen wurden.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-training-libraries.png)


### NCCL und Gloo
<a name="sagemaker-eks-checkpointless-features-communication-nccl-gloo"></a>

Dies sind unabhängige Pakete, die die Kernfunktionen der kollektiven Kommunikation erfüllen. Sie stellen Schlüssel APIs wie ncclCommInit Rank bereit, um Kommunikationsnetzwerke zu initialisieren, die zugrunde liegenden Ressourcen zu verwalten und kollektive Kommunikation durchzuführen. Nachdem benutzerdefinierte Änderungen in NCCL und Gloo vorgenommen wurden, optimieren Rootless und Storeless die Initialisierung des Kommunikationsnetzwerks (überspringen z. B. die Verbindung zum). TCPStore Sie können flexibel zwischen der Verwendung der ursprünglichen Codepfade und der optimierten Codepfade wechseln.

### PyTorch Prozessgruppen-Backend
<a name="sagemaker-eks-checkpointless-features-communication-pytorch"></a>

Die Prozessgruppen-Backends, insbesondere ProcessGroup NCCL und ProcessGroupGloo, implementieren das, ProcessGroup APIs indem sie die entsprechenden zugrunde liegenden APIs Bibliotheken aufrufen. Da wir die Bibliotheken von Drittanbietern erweitern APIs, müssen wir sie ordnungsgemäß aufrufen und Codepfadwechsel auf der Grundlage der Kundenkonfigurationen vornehmen.

Zusätzlich zu den Optimierungscodepfaden ändern wir auch das Prozessgruppen-Backend, um die Wiederherstellung während des Prozesses zu unterstützen.

# Dataloader mit Speicherzuweisung
<a name="sagemaker-eks-checkpointless-features-mmap"></a>

Ein weiterer Mehraufwand beim Neustart ist auf das Laden von Daten zurückzuführen: Der Trainingscluster bleibt inaktiv, während der Dataloader initialisiert, Daten von Remote-Dateisystemen herunterlädt und sie stapelweise verarbeitet.

Um dieses Problem zu lösen, führen wir den Memory Mapped DataLoader (MMAP) Dataloader ein, der vorab abgerufene Batches im persistenten Speicher zwischenspeichert und so sicherstellt, dass sie auch nach einem fehlerbedingten Neustart verfügbar bleiben. Dieser Ansatz macht die Einrichtung des Dataloaders überflüssig und ermöglicht es, das Training mithilfe zwischengespeicherter Batches sofort wieder aufzunehmen, während der Dataloader gleichzeitig die nachfolgenden Daten im Hintergrund neu initialisiert und abruft. Der Datencache befindet sich in jedem Rang, der Trainingsdaten benötigt, und verwaltet zwei Arten von Batches: kürzlich verbrauchte Batches, die für das Training verwendet wurden, und vorab abgerufene Batches, die sofort verwendet werden können.

![\[Dieses Bild zeigt den MMAP-Dataloader, die Caches und die verbrauchten Batches.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-mmap-dataloader.png)


Der MMAP-Dataloader bietet zwei folgende Funktionen:
+ **Datenvorabruf** — Ruft proaktiv vom Dataloader generierte Daten ab und speichert sie im Cache
+ **Persistentes Caching** — Speichert sowohl verbrauchte als auch vorab abgerufene Batches in einem temporären Dateisystem, das Prozessneustarts übersteht

Durch die Verwendung des Caches profitiert der Trainingsjob von folgenden Vorteilen:
+ **Reduzierter Speicherbedarf** — Nutzt die Speicherzuweisung, I/O um eine einzige gemeinsam genutzte Kopie der Daten im Host-CPU-Speicher zu verwalten, wodurch redundante Kopien zwischen GPU-Prozessen vermieden werden (z. B. Reduzierung von 8 Kopien auf 1 bei einer P5-Instance mit 8) GPUs
+ **Schnellere Wiederherstellung** — Reduziert die mittlere Zeit bis zum Neustart (MTTR), da das Training sofort nach zwischengespeicherten Batches wieder aufgenommen werden kann. Somit entfällt das Warten auf die Neuinitialisierung des Dataloaders und die Generierung des ersten Batches

## MMAP-Konfigurationen
<a name="sagemaker-eks-checkpointless-features-communication-mmap-config"></a>

Um MMAP zu verwenden, übergeben Sie einfach Ihr ursprüngliches Datenmodul an `MMAPDataModule`

```
data_module=MMAPDataModule(
    data_module=MY_DATA_MODULE(...),
    mmap_config=CacheResumeMMAPConfig(
        cache_dir=self.cfg.mmap.cache_dir,
        checkpoint_frequency=self.cfg.mmap.checkpoint_frequency),
)
```

`CacheResumeMMAPConfig`: Die MMAP-Dataloader-Parameter steuern den Speicherort des Cache-Verzeichnisses, die Größenbeschränkungen und die Delegierung des Datenabrufs. Standardmäßig ruft nur der TP-Rang 0 pro Knoten Daten aus der Quelle ab, während andere Ränge in derselben Datenreplikationsgruppe aus dem gemeinsam genutzten Cache lesen, wodurch redundante Übertragungen vermieden werden.

`MMAPDataModule`: Es umschließt das ursprüngliche Datenmodul und gibt den MMAP-Dataloader sowohl zum Trainieren als auch zur Validierung zurück.

Sehen Sie sich [das Beispiel für die Aktivierung von MMAP an](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/gpt_oss/gpt_oss_120b_full_finetune_checkpointless.py#L101-L109).

## API-Referenz
<a name="sagemaker-eks-checkpointless-mmap-reference"></a>

### CacheResumeMMAPConfig
<a name="sagemaker-eks-checkpointless-mmap-reference-cacheresume"></a>

```
class hyperpod_checkpointless_training.dataloader.config.CacheResumeMMAPConfig(
  cache_dir='/dev/shm/pdl_cache',
  prefetch_length=10,
  val_prefetch_length=10,
  lookback_length=2,
  checkpoint_frequency=None,
  model_parallel_group=None,
  enable_batch_encryption=False)
```

Konfigurationsklasse für Cache-Resume-Memory-Mapped (MMAP) -Dataloader-Funktionalität beim Checkpointless-Training. HyperPod 

Diese Konfiguration ermöglicht effizientes Laden von Daten mit Caching- und Prefetching-Funktionen, sodass das Training nach Ausfällen schnell wieder aufgenommen werden kann, indem zwischengespeicherte Datenstapel in Dateien mit Speicherzuweisung beibehalten werden.

**Parameter**
+ **cache\$1dir** (str, optional) — Verzeichnispfad zum Speichern zwischengespeicherter Datenstapel. Standard: „/\$1cache“ dev/shm/pdl
+ **prefetch\$1length** (int, optional) — Anzahl der Batches, die während des Trainings vorab abgerufen werden müssen. Standard: 10
+ **val\$1prefetch\$1length** (int, optional) — Anzahl der Batches, die während der Validierung vorab abgerufen werden sollen. Standard: 10
+ **lookback\$1length** (int, optional) — Anzahl der zuvor verwendeten Batches, die zur möglichen Wiederverwendung im Cache aufbewahrt werden sollen. Standard: 2
+ **checkpoint\$1frequency (int, optional) — Häufigkeit** der Modell-Checkpoint-Schritte. Wird zur Optimierung der Cache-Leistung verwendet. Standard: keiner
+ **model\$1parallel\$1group** (Objekt, optional) — Prozessgruppe für Modellparallelität. Bei None wird sie automatisch erstellt. Standard: keiner
+ **enable\$1batch\$1encryption (bool, optional) — Ob die Verschlüsselung** für zwischengespeicherte Batchdaten aktiviert werden soll. Standard: False

**Methoden**

```
create(dataloader_init_callable,
    parallel_state_util,
   step,
    is_data_loading_rank,
   create_model_parallel_group_callable,
    name='Train',
   is_val=False,
   cached_len=0)
```

Erstellt eine konfigurierte MMAP-Dataloader-Instanz und gibt sie zurück.

**Parameter**
+ **dataloader\$1init\$1callable (Callable**) — Funktion zur Initialisierung des zugrunde liegenden Dataloaders
+ **parallel\$1state\$1util** (object) — Hilfsprogramm zur prozessübergreifenden Verwaltung des parallel Zustands
+ **step** (int) — Der Datenschritt, von dem aus während des Trainings fortgefahren werden soll
+ **is\$1data\$1loading\$1rank** (Callable) — Funktion, die True zurückgibt, wenn der aktuelle Rang Daten laden soll
+ **create\$1model\$1parallel\$1group\$1callable (Callable**) — Funktion zum Erstellen einer parallel Modellprozessgruppe
+ **name (str, optional) — Namenskennung** für den Dataloader. Standard: „Train“
+ **is\$1val** (bool, optional) — Ob es sich um einen Validierungs-Dataloader handelt. Standard: False
+ **cached\$1len** (int, optional) — Länge der zwischengespeicherten Daten bei Wiederaufnahme aus dem vorhandenen Cache. Standard: 0

Gibt `CacheResumePrefetchedDataLoader` oder — Konfigurierte MMAP-Dataloader-Instanz `CacheResumeReadDataLoader` zurück

`ValueError`Wird ausgelöst, wenn der Schrittparameter ist. `None`

**Beispiel**

```
from hyperpod_checkpointless_training.dataloader.config import CacheResumeMMAPConfig

# Create configuration
config = CacheResumeMMAPConfig(
    cache_dir="/tmp/training_cache",
    prefetch_length=20,
    checkpoint_frequency=100,
    enable_batch_encryption=False
)

# Create dataloader
dataloader = config.create(
    dataloader_init_callable=my_dataloader_init,
    parallel_state_util=parallel_util,
    step=current_step,
    is_data_loading_rank=lambda: rank == 0,
    create_model_parallel_group_callable=create_mp_group,
    name="TrainingData"
)
```

**Hinweise**
+ Das Cache-Verzeichnis sollte über ausreichend Speicherplatz und eine schnelle I/O Leistung verfügen (z. B. /dev/shm für In-Memory-Speicher).
+ Durch `checkpoint_frequency` die Einstellung wird die Cache-Leistung verbessert, indem die Cache-Verwaltung auf das Modell-Checkpointing abgestimmt wird
+ Für die Validierung von Dataloaders (`is_val=True`) wird der Schritt auf 0 zurückgesetzt und ein Kaltstart wird erzwungen
+ Je nachdem, ob der aktuelle Rang für das Laden von Daten verantwortlich ist, werden unterschiedliche Dataloader-Implementierungen verwendet

### MMAPDataModul
<a name="sagemaker-eks-checkpointless-mmap-reference-mmapdatamodule"></a>

```
class hyperpod_checkpointless_training.dataloader.mmap_data_module.MMAPDataModule(  
    data_module,  
    mmap_config,  
    parallel_state_util=MegatronParallelStateUtil(),  
    is_data_loading_rank=None)
```

Ein PyTorch DataModule Lightning-Wrapper, der Funktionen zum Laden von Memory-Mapping-Daten (MMAP) auf vorhandene Daten anwendet, sodass das Training ohne Checkpoints möglich ist. DataModules 

Dieser Kurs umschließt ein vorhandenes PyTorch Lightning DataModule und erweitert es um MMAP-Funktionen, wodurch effizientes Zwischenspeichern von Daten und eine schnelle Wiederherstellung bei Trainingsausfällen ermöglicht werden. Es behält die Kompatibilität mit der ursprünglichen DataModule Oberfläche bei und bietet gleichzeitig zusätzliche Trainingsfunktionen ohne Checkpoints.

Parameters

data\$1module (pl. LightningDataModule)  
Der DataModule zu verpackende Basiswert (z. B. LLMData Modul)

mmap\$1config () MMAPConfig  
Das MMAP-Konfigurationsobjekt, das Verhalten und Parameter beim Zwischenspeichern definiert

`parallel_state_util`(MegatronParallelStateUtil, optional)  
Hilfsprogramm für die Verwaltung des parallel Zustands über verteilte Prozesse hinweg. Standard: MegatronParallelStateUtil ()

`is_data_loading_rank`(Aufrufbar, optional)  
Funktion, die True zurückgibt, wenn der aktuelle Rang Daten laden soll. Bei None wird standardmäßig parallel\$1state\$1util.is\$1tp\$10 verwendet. Standard: keiner

**Attribute**

`global_step` (int)  
Aktueller globaler Trainingsschritt, der für die Wiederaufnahme von Checkpoints verwendet wird

`cached_train_dl_len` (int)  
Länge des Trainingsdataloaders im Cache

`cached_val_dl_len` (int)  
Länge des Validierungs-Dataloaders im Cache

**Methoden**

```
setup(stage=None)
```

Richten Sie das zugrunde liegende Datenmodul für die angegebene Trainingsphase ein.

`stage`(str, optional)  
Phase des Trainings („fit“, „validieren“, „testen“ oder „vorhersagen“). Standard: keiner

```
train_dataloader()
```

Erstellen Sie das Training DataLoader mit MMAP-Wrapping.

*Gibt zurück:* DataLoader — MMAP-umschlossenes Training DataLoader mit Caching- und Prefetching-Funktionen

```
val_dataloader()
```

Erstellen Sie die Validierung mit MMAP-Wrapping. DataLoader 

*Gibt zurück:* DataLoader — MMAP-umschlossene Validierung mit Caching-Funktionen DataLoader 

```
test_dataloader()
```

Erstellen Sie den Test, DataLoader wenn das zugrunde liegende Datenmodul ihn unterstützt.

*Gibt zurück:* DataLoader oder None — Test DataLoader aus dem zugrunde liegenden Datenmodul, oder None, falls nicht unterstützt

```
predict_dataloader()
```

Erstellen Sie die Prognose DataLoader , wenn das zugrunde liegende Datenmodul sie unterstützt.

*Gibt zurück:* DataLoader oder None — Prognose DataLoader aus dem zugrunde liegenden Datenmodul, oder None, falls nicht unterstützt

```
load_checkpoint(checkpoint)
```

Lädt Checkpoint-Informationen, um das Training ab einem bestimmten Schritt fortzusetzen.

Checkpoint (Diktat)  
Checkpoint-Wörterbuch mit dem Schlüssel 'global\$1step'

```
get_underlying_data_module()
```

Ruft das zugrunde liegende verpackte Datenmodul ab.

*Gibt zurück:* pl. LightningDataModule — Das ursprüngliche Datenmodul, das verpackt wurde

```
state_dict()
```

Ruft das Statuswörterbuch der MMAP DataModule für Checkpoints ab.

*Gibt zurück:* dict — Wörterbuch, das zwischengespeicherte Dataloader-Längen enthält

```
load_state_dict(state_dict)
```

Lädt das Statuswörterbuch, um den MMAP-Status wiederherzustellen. DataModule 

`state_dict`(Diktat)  
Staatliches Wörterbuch, das geladen werden soll

**Eigenschaften**

```
data_sampler
```

Stellen Sie den Datensampler des zugrunde liegenden Datenmoduls dem NeMo Framework zur Verfügung.

*Gibt zurück:* object oder None — Der Datensampler aus dem zugrunde liegenden Datenmodul

**Beispiel**

```
from hyperpod_checkpointless_training.dataloader.mmap_data_module import MMAPDataModule  
from hyperpod_checkpointless_training.dataloader.config import CacheResumeMMAPConfig  
from my_project import MyLLMDataModule  

# Create MMAP configuration  
mmap_config = CacheResumeMMAPConfig(  
    cache_dir="/tmp/training_cache",  
    prefetch_length=20,  
    checkpoint_frequency=100  
)  

# Create original data module  
original_data_module = MyLLMDataModule(  
    data_path="/path/to/data",  
    batch_size=32  
)  

# Wrap with MMAP capabilities  
mmap_data_module = MMAPDataModule(  
    data_module=original_data_module,  
    mmap_config=mmap_config  
)  

# Use in PyTorch Lightning Trainer  
trainer = pl.Trainer()  
trainer.fit(model, data=mmap_data_module)  

# Resume from checkpoint  
checkpoint = {"global_step": 1000}  
mmap_data_module.load_checkpoint(checkpoint)
```

**Hinweise**
+ Der Wrapper delegiert die meisten Attributzugriffe mit \$1\$1getattr\$1\$1 an das zugrunde liegende Datenmodul
+ Nur Ränge zum Laden von Daten initialisieren und verwenden das zugrunde liegende Datenmodul tatsächlich; andere Ränge verwenden gefälschte Dataloader
+ Die Längen der zwischengespeicherten Dataloader werden beibehalten, um die Leistung bei der Wiederaufnahme des Trainings zu optimieren

# Prozessbegleitende Wiederherstellung und Training ohne Kontrollpunkte
<a name="sagemaker-eks-checkpointless-in-process-recovery"></a>

HyperPod Checkpointless-Training nutzt Modellredundanz, um fehlertolerantes Training zu ermöglichen. Das Kernprinzip besteht darin, dass Modell- und Optimizer-Status über mehrere Knotengruppen hinweg vollständig repliziert werden, wobei Gewichtungsaktualisierungen und Optimizer-Statusänderungen innerhalb jeder Gruppe synchron repliziert werden. Wenn ein Fehler auftritt, schließen fehlerfreie Replikate ihre Optimierungsschritte ab und übertragen die aktualisierten Zustände an wiederherstellende Replikate. model/optimizer 

Dieser auf Modellredundanz basierende Ansatz ermöglicht mehrere Mechanismen zur Fehlerbehandlung:
+ **Prozessbegleitende Wiederherstellung:** Prozesse bleiben trotz Fehlern aktiv, wobei alle Modell- und Optimierungsstatus im GPU-Speicher mit den neuesten Werten beibehalten werden
+ **Reibungslose Behandlung von Abbrüchen:** kontrollierte Abbrüche und Bereinigung der Ressourcen bei betroffenen Vorgängen
+ **Neuausführung von Codeblöcken:** Nur die betroffenen Codesegmente innerhalb eines wiederausführbaren Codeblocks (RCB) werden erneut ausgeführt
+ **Wiederherstellung ohne Kontrollpunkt ohne verlorenen Trainingsfortschritt:** Da die Prozesse andauern und die Zustände im Speicher verbleiben, geht kein Trainingsfortschritt verloren. Wenn ein Fehler auftritt, wird das Training mit dem vorherigen Schritt fortgesetzt, im Gegensatz zum letzten gespeicherten Checkpoint

**Konfigurationen ohne Checkpoint**

Hier ist der Kernausschnitt des Checkpointless-Trainings.

```
from hyperpod_checkpointless_training.inprocess.train_utils import wait_rank
    wait_rank()
      
def main():
    @HPWrapper(
        health_check=CudaHealthCheck(),
        hp_api_factory=HPAgentK8sAPIFactory(),
        abort_timeout=60.0,
        checkpoint_manager=PEFTCheckpointManager(enable_offload=True),
        abort=CheckpointlessAbortManager.get_default_checkpointless_abort(),
        finalize=CheckpointlessFinalizeCleanup(),
    )
    def run_main(cfg, caller: Optional[HPCallWrapper] = None):
        ...
        trainer = Trainer(
            strategy=CheckpointlessMegatronStrategy(...,
                num_distributed_optimizer_instances=2),
            callbacks=[..., CheckpointlessCallback(...)],
            )
        trainer.fresume = resume
        trainer._checkpoint_connector = CheckpointlessCompatibleConnector(trainer)
        trainer.wrapper = caller
```
+ `wait_rank`: Alle Ränge warten auf die Ranginformationen von der Infrastruktur. HyperpodTrainingOperator 
+ `HPWrapper`: Python-Funktionswrapper, der Neustartfunktionen für einen wiederausführbaren Codeblock (RCB) ermöglicht. Die Implementierung verwendet einen Kontextmanager anstelle eines Python-Dekorators, da Dekoratoren die Anzahl der zur Laufzeit RCBs zu überwachenden Objekte nicht bestimmen können.
+ `CudaHealthCheck`: Stellt sicher, dass sich der CUDA-Kontext für den aktuellen Prozess in einem fehlerfreien Zustand befindet, indem es mit der GPU synchronisiert wird. Verwendet das in der Umgebungsvariablen LOCAL\$1RANK angegebene Gerät oder verwendet standardmäßig das CUDA-Gerät des Haupt-Threads, wenn LOCAL\$1RANK nicht gesetzt ist.
+ `HPAgentK8sAPIFactory`: Diese API ermöglicht ein Training ohne Checkpoint, um den Trainingsstatus anderer Pods im Kubernetes-Trainingscluster abzufragen. Sie bietet auch eine Barriere auf Infrastrukturebene, die sicherstellt, dass alle Ränge Abbruch- und Neustartvorgänge erfolgreich abschließen, bevor sie fortfahren.
+ `CheckpointManager`: Verwaltet die Checkpoints und die Wiederherstellung im Speicher und sorgt so für Fehlertoleranz ohne Checkpoints. peer-to-peer Es hat die folgenden Kernaufgaben:
  + **In-Memory-Checkpoint-Management**: Speichert und verwaltet NeMo Modell-Checkpoints im Arbeitsspeicher für eine schnelle Wiederherstellung ohne Festplatte I/O bei Wiederherstellungsszenarien ohne Checkpoint.
  + **Überprüfung der Durchführbarkeit der Wiederherstellung**: Ermittelt, ob eine Wiederherstellung ohne Checkpoint möglich ist, indem die globale Schrittkonsistenz, der Rangstatus und die Integrität des Modellstatus überprüft werden.
  + **Peer-to-Peer Orchestrierung der Wiederherstellung**: Koordiniert die Checkpoint-Übertragung zwischen fehlerfreien und ausgefallenen Rängen mithilfe verteilter Kommunikation für eine schnelle Wiederherstellung.
  + **RNG State Management**: Behält die Zustände des Zufallszahlengenerators in Python,, und Megatron bei und stellt sie wieder her NumPy PyTorch, um eine deterministische Wiederherstellung zu ermöglichen.
  + **[Optional] Checkpoint-Offload: Verlagerung im Speicher-Checkpoint** auf die CPU, wenn die GPU nicht über genügend Speicherkapazität verfügt.
+ `PEFTCheckpointManager`: Es wird erweitert, `CheckpointManager` indem die Gewichte des Basismodells für die PEFT-Feinabstimmung beibehalten werden.
+ `CheckpointlessAbortManager`: Verwaltet Abbruchvorgänge in einem Hintergrund-Thread, wenn ein Fehler auftritt. Standardmäßig werden Checkpointing TransformerEngine, TorchDistributed und abgebrochen. DataLoader Benutzer können bei Bedarf benutzerdefinierte Abbruch-Handler registrieren. Nach Abschluss des Abbruchs muss die gesamte Kommunikation beendet und alle Prozesse und Threads müssen beendet werden, um Ressourcenlecks zu verhindern.
+ `CheckpointlessFinalizeCleanup`: Führt die letzten Bereinigungsvorgänge im Haupt-Thread für Komponenten durch, die im Hintergrundthread nicht sicher abgebrochen oder bereinigt werden können.
+ `CheckpointlessMegatronStrategy`: Das erbt `MegatronStrategy` von der Form in Nemo. Beachten Sie, dass für das Training ohne Checkpoint mindestens 2 erforderlich sind`num_distributed_optimizer_instances`, damit die Optimizer-Replikation durchgeführt werden kann. Die Strategie kümmert sich auch um die Registrierung wichtiger Attribute und die Initialisierung von Prozessgruppen, z. B. ohne Wurzeln.
+ `CheckpointlessCallback`: Lightning-Rückruf, der das NeMo Training in das Fehlertoleranzsystem des Checkpointless-Trainings integriert. Es hat die folgenden Kernaufgaben:
  + **Lebenszyklusmanagement für Trainingsschritte**: Verfolgt den Trainingsfortschritt und koordiniert je ParameterUpdateLock nach Trainingsstatus (erster Schritt im Vergleich zu nachfolgenden Schritten) die Wiederherstellung enable/disable ohne Checkpoint.
  + **Koordination des Checkpoint-Zustands**: Verwaltet das Speichern/Wiederherstellen von Checkpoints im PEFT-Basismodell im Arbeitsspeicher.
+ `CheckpointlessCompatibleConnector`: Eine PTL`CheckpointConnector`, die versucht, die Checkpoint-Datei vorab in den Speicher zu laden, wobei der Quellpfad in dieser Priorität festgelegt wird:
  + versuchen Sie es mit einer Wiederherstellung ohne Checkpoint
  + Wenn checkpointless None zurückgibt, wird auf parent.resume\$1start () zurückgegriffen

Sehen Sie sich das Beispiel an, um Codes Trainingsfunktionen ohne [Checkpoint](https://github.com/aws/sagemaker-hyperpod-checkpointless-training/blob/main/examples/gpt_oss/gpt_oss_120b_full_finetune.py) hinzuzufügen.

**Konzepte**

In diesem Abschnitt werden Trainingskonzepte ohne Checkpoint vorgestellt. Checkpointless-Schulungen bei Amazon SageMaker HyperPod unterstützen die Wiederherstellung während des Prozesses. Diese API-Schnittstelle folgt einem ähnlichen Format wie die. NVRx APIs

**Konzept — Wiederausführbarer Codeblock (RCB)**

Wenn ein Fehler auftritt, bleiben gesunde Prozesse am Leben, aber ein Teil des Codes muss erneut ausgeführt werden, um die Trainingszustände und Python-Stacks wiederherzustellen. Ein wiederausführbarer Codeblock (RCB) ist ein bestimmtes Codesegment, das bei der Wiederherstellung nach einem Fehler erneut ausgeführt wird. Im folgenden Beispiel umfasst der RCB das gesamte Trainingsskript (d. h. alles, was unter main () steht), was bedeutet, dass bei jeder Wiederherstellung nach einem Fehler das Trainingsskript neu gestartet wird, wobei das In-Memory-Modell und der Optimizer-Status beibehalten werden.

**Konzept — Fehlerkontrolle**

Ein Fault Controller-Modul erhält Benachrichtigungen, wenn beim Training ohne Checkpoint Fehler auftreten. Dieser Fehlercontroller umfasst die folgenden Komponenten:
+ **Fehlererkennungsmodul:** Empfängt Benachrichtigungen über Infrastrukturfehler
+ **RCB-Definition APIs:** Ermöglicht es Benutzern, den wiederausführbaren Codeblock (RCB) in ihrem Code zu definieren
+ **Neustartmodul:** Beendet den RCB, bereinigt Ressourcen und startet den RCB neu

![\[Dieses Bild zeigt, wie ein Fehler-Controller-Modul während eines Trainings ohne Checkpoint Benachrichtigungen erhält, wenn ein Fehler auftritt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-fault-controller-module.png)


**Konzept — Modellredundanz**

Das Training großer Modelle erfordert normalerweise eine ausreichend große Datenparallelgröße, um Modelle effizient zu trainieren. Bei herkömmlicher Datenparallelität wie PyTorch DDP und Horovod wird das Modell vollständig repliziert. Fortgeschrittenere Techniken der Shard-Datenparallelität wie DeepSpeed ZerO Optimizer und FSDP unterstützen auch den Hybrid-Sharding-Modus, der das Sharding der Status innerhalb der Sharding-Gruppe und die vollständige Replikation zwischen Replikationsgruppen ermöglicht. model/optimizer NeMo verfügt über diese Hybrid-Sharding-Funktion auch über ein Argument num\$1distributed\$1optimizer\$1instances, das Redundanz ermöglicht.

Das Hinzufügen von Redundanz bedeutet jedoch, dass das Modell nicht vollständig auf den gesamten Cluster verteilt wird, was zu einer höheren Speicherauslastung des Geräts führt. Die Menge des redundanten Speichers hängt von den spezifischen Model-Sharding-Techniken ab, die der Benutzer implementiert. Die Gewichtungen, Gradienten und der Aktivierungsspeicher des Modells mit niedriger Genauigkeit werden nicht beeinträchtigt, da sie aufgrund der Modellparallelität fragmentiert werden. Das hochpräzise Master-Modell weights/gradients und der Optimizer-Status werden davon beeinflusst. Durch das Hinzufügen eines redundanten Modellreplikats erhöht sich die Speicherauslastung des Geräts um etwa die Größe eines DCP-Checkpoints.

Beim Hybrid-Sharding werden die Kollektive der gesamten DP-Gruppen in relativ kleinere Kollektive aufgeteilt. Bisher gab es in der gesamten DP-Gruppe ein Prinzip zur Reduzierung der Streuung und ein All-Gathering. Nach dem Hybrid-Sharding läuft die Methode zur Reduzierung der Streuung nur innerhalb der einzelnen Modellreplikate, und es wird eine All-Reduce-Methode für alle Modellreplikatgruppen geben. Das All-Gather-System wird auch innerhalb jeder Modellreplikation ausgeführt. Dadurch bleibt das gesamte Kommunikationsvolumen in etwa unverändert, aber die Kollektive arbeiten mit kleineren Gruppen, sodass wir mit einer besseren Latenz rechnen.

**Konzept — Fehler- und Neustarttypen**

In der folgenden Tabelle sind verschiedene Fehlertypen und zugehörige Wiederherstellungsmechanismen aufgeführt. Beim Checkpointless-Training wird zunächst versucht, Fehler mithilfe einer prozessinternen Wiederherstellung zu beheben, gefolgt von einem Neustart auf Prozessebene. Nur bei einem schwerwiegenden Ausfall (z. B. wenn mehrere Knoten gleichzeitig ausfallen), wird auf einen Neustart auf Jobebene zurückgegriffen.


| Art des Fehlers | Ursache | Art der Wiederherstellung | Wiederherstellungsmechanismus | 
| --- | --- | --- | --- | 
| Fehler während des Prozesses | Fehler auf Codeebene, Ausnahmen | Prozessbegleitende Wiederherstellung (IPR) | RCB innerhalb des bestehenden Prozesses erneut ausführen; intakte Prozesse bleiben aktiv | 
| Fehler beim Neustart des Prozesses | Beschädigter CUDA-Kontext, Prozess beendet | Neustart auf Prozessebene (PLR) | SageMaker HyperPod Der geschulte Bediener startet die Prozesse neu; der Neustart des K8s-Pods wird übersprungen | 
| Fehler beim Austausch des Knotens | Dauerhafter node/GPU Hardwarefehler | Neustart auf Jobebene (JLR) | Ersetzen Sie den ausgefallenen Knoten; starten Sie den gesamten Trainingsjob neu | 

**Konzept: Atomic Lock-Schutz für den Optimizer-Schritt**

Die Modellausführung ist in drei Phasen unterteilt: Vorwärtsausbreitung, Rückwärtsausbreitung und Optimierungsschritt. Das Wiederherstellungsverhalten hängt vom Zeitpunkt des Fehlers ab:
+ Übertragung **vorwärts/rückwärts:** Gehen Sie zurück zum Anfang des aktuellen Trainingsschritts und senden Sie den Modellstatus an die Ersatzknoten
+ **Optimierungsschritt:** Lassen Sie fehlerfreie Replikate den Schritt unter Sperrschutz abschließen, und senden Sie dann die aktualisierten Modellstatus an die Ersatzknoten

Diese Strategie stellt sicher, dass abgeschlossene Optimizer-Updates niemals verworfen werden, wodurch die Zeit für die Fehlerbehebung reduziert wird.

![\[Dieses Bild zeigt, wie mit einem Ausfall umgegangen wird, je nachdem, ob er vor oder nach dem Ausfall auftritt.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-optimizer.png)


## Ablaufdiagramm des Checkpointless-Trainings
<a name="sagemaker-eks-checkpointless-training-flow"></a>

![\[Dieses Diagramm veranschaulicht den Trainingsablauf ohne Kontrollpunkte.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-checkpointless-training-flow.png)


Die folgenden Schritte beschreiben den Prozess der Fehlererkennung und Wiederherstellung ohne Checkpoint:

1. Die Trainingsschleife beginnt

1. Es tritt ein Fehler auf

1. Prüfen Sie die Durchführbarkeit eines Lebenslaufs ohne Checkpoint

1. Prüfen Sie, ob es möglich ist, einen Lebenslauf ohne Kontrollpunkt durchzuführen
   + Falls möglich, versuchen Sie eine Wiederaufnahme ohne Checkpoint
     + Wenn die Wiederaufnahme fehlschlägt, greifen Sie auf das Laden am Checkpoint aus dem Speicher zurück
     + Wenn die Wiederaufnahme erfolgreich ist, wird das Training im wiederhergestellten Zustand fortgesetzt
   + Falls dies nicht möglich ist, greifen Sie auf das Laden am Checkpoint aus dem Speicher zurück

1. Ressourcen bereinigen — Brechen Sie alle Prozessgruppen und Backends ab und geben Sie Ressourcen frei, um den Neustart vorzubereiten.

1. Trainingsschleife fortsetzen — eine neue Trainingsschleife beginnt und der Vorgang kehrt zu Schritt 1 zurück.

## API-Referenz
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference"></a>

### wait\$1rank
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-wait_rank"></a>

```
hyperpod_checkpointless_training.inprocess.train_utils.wait_rank()
```

Wartet auf Ranginformationen von der aktuellen Prozessumgebung HyperPod, ruft sie ab und aktualisiert sie anschließend mit verteilten Trainingsvariablen.

Diese Funktion ruft die richtigen Rangzuweisungen und Umgebungsvariablen für verteiltes Training ab. Sie stellt sicher, dass jeder Prozess die passende Konfiguration für seine Rolle im verteilten Trainingsjob erhält.

**Parameter**

Keine

**Rückgabewerte**

**Keine**

**Behavior**
+ **Prozessüberprüfung**: Überspringt die Ausführung, wenn sie von einem Unterprozess aus aufgerufen wird (läuft nur in) MainProcess
+ **Umgebungsabruf**: Ruft aktuelle Variablen `RANK` und `WORLD_SIZE` aus Umgebungsvariablen ab
+ **HyperPod Kommunikation**: Ruft `hyperpod_wait_rank_info()` zum Abrufen von Ranginformationen von HyperPod
+ **Umgebungsupdate**: Aktualisiert die aktuelle Prozessumgebung mit arbeiterspezifischen Umgebungsvariablen, die von empfangen wurden HyperPod

**Umgebungsvariablen**

Die Funktion liest die folgenden Umgebungsvariablen:
+ **RANK** (*int*) — Aktueller Prozessrang (Standard: -1, falls nicht gesetzt)
+ **WORLD\$1SIZE** (*int*) — Gesamtzahl der Prozesse im verteilten Job (Standard: 0, falls nicht festgelegt)

**Erhöht**
+ **AssertionError**— Wenn die Antwort von nicht HyperPod das erwartete Format hat oder wenn Pflichtfelder fehlen

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.train_utils import wait_rank  

# Call before initializing distributed training  
wait_rank()  

# Now environment variables are properly set for this rank  
import torch.distributed as dist  
dist.init_process_group(backend='nccl')
```

**Hinweise**
+ Wird nur im Hauptprozess ausgeführt; Aufrufe von Unterprozessen werden automatisch übersprungen
+ Die Funktion blockiert, bis die Ranginformationen HyperPod bereitgestellt werden

### HPWrapper
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-HPWrapper"></a>

```
class hyperpod_checkpointless_training.inprocess.wrap.HPWrapper(  
    *,  
    abort=Compose(HPAbortTorchDistributed()),  
    finalize=None,  
    health_check=None,  
    hp_api_factory=None,  
    abort_timeout=None,  
    enabled=True,  
    trace_file_path=None,  
    async_raise_before_abort=True,  
    early_abort_communicator=False,  
    checkpoint_manager=None,  
    check_memory_status=True)
```

*Python-Funktionswrapper, der Neustartfunktionen für einen reausführbaren Codeblock (RCB) beim Checkpointless-Training ermöglicht. HyperPod *

*Dieser Wrapper bietet Funktionen für Fehlertoleranz und automatische Wiederherstellung, indem er die Trainingsausführung überwacht und bei Ausfällen Neustarts zwischen verteilten Prozessen koordiniert. Er verwendet eher einen Context-Manager-Ansatz als einen Dekorateur, um die globalen Ressourcen während des gesamten Schulungszyklus aufrechtzuerhalten.*

**Parameter**
+ **abort** (*Abort*, *optional*) — Die Ausführung wird asynchron abgebrochen, wenn Fehler erkannt werden. Standard: `Compose(HPAbortTorchDistributed())`
+ **finalize (Finalize**, *optional) — Lokaler *Finalisierungshandler** auf Rang, der beim Neustart ausgeführt wird. Standard: `None`
+ **health\$1check** (*HealthCheck*, *optional*) — Lokale Zustandsprüfung nach Rang, die während des Neustarts ausgeführt wird. Standard: `None`
+ **hp\$1api\$1factory** (*Callable*, *optional*) — Factory-Funktion zum Erstellen einer API für die Interaktion. HyperPod HyperPod Standard: `None`
+ **abort\$1timeout (*float*, *optional*) — Timeout** für den Abbruch eines Aufrufs im Fehlersteuerungsthread. Standard: `None`
+ **enabled** (*bool*, *optional*) — Aktiviert die Wrapper-Funktionalität. Wenn`False`, wird der Wrapper zu einem Pass-Through. Standard: `True`
+ **trace\$1file\$1path (*str*, *optional*) — Pfad zur** Trace-Datei für die Profilerstellung. VizTracer Standard: `None`
+ **async\$1raise\$1before\$1abort (*bool*, optional) — Aktiviert das Erhöhen vor dem Abbruch** *im Fehlerkontroll-Thread.* Standard: `True`
+ **early\$1abort\$1communicator (bool, optional) — Bricht den Kommunikator** **(NCCL/Gloo) ab, bevor der Dataloader abgebrochen wird.** Standard: `False`
+ **checkpoint\$1manager (Beliebig***,* *optional*) — Manager für die Behandlung von Checkpoints während der Wiederherstellung. Standard: `None`
+ **check\$1memory\$1status** (*bool*, *optional*) — Aktiviert die Überprüfung und Protokollierung des Speicherstatus. Standard: `True`

**Methoden**

```
def __call__(self, fn)
```

*Schließt eine Funktion ein, um Neustartfunktionen zu aktivieren.*

**Parameter:**
+ **fn** (*Callable*) — Die Funktion, die mit Neustartfunktionen umschlossen werden soll

**Gibt zurück:**
+ **Aufrufbar** — Umschlossene Funktion mit Neustartfunktionen oder ursprüngliche Funktion, falls deaktiviert

**Beispiel**

```
from hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager import CheckpointManager  
from hyperpod_checkpointless_training.nemo_plugins.patches import patch_megatron_optimizer  
from hyperpod_checkpointless_training.nemo_plugins.checkpoint_connector import CheckpointlessCompatibleConnector  
from hyperpod_checkpointless_training.inprocess.train_utils import HPAgentK8sAPIFactory  
from hyperpod_checkpointless_training.inprocess.abort import CheckpointlessFinalizeCleanup, CheckpointlessAbortManager   
      
@HPWrapper(  
    health_check=CudaHealthCheck(),  
    hp_api_factory=HPAgentK8sAPIFactory(),  
    abort_timeout=60.0,  
    checkpoint_manager=CheckpointManager(enable_offload=False),  
    abort=CheckpointlessAbortManager.get_default_checkpointless_abort(),  
    finalize=CheckpointlessFinalizeCleanup(),  
)def training_function():  
    # Your training code here  
    pass
```

**Hinweise**
+ Der Wrapper muss verfügbar `torch.distributed` sein
+ Wenn`enabled=False`, wird der Wrapper zu einem Pass-Through und gibt die ursprüngliche Funktion unverändert zurück
+ Der Wrapper verwaltet globale Ressourcen wie die Überwachung von Threads während des gesamten Trainingszyklus
+ Unterstützt die VizTracer Profilerstellung, sofern sie bereitgestellt wird `trace_file_path`
+ Lässt sich HyperPod für eine koordinierte Fehlerbehandlung in verteilten Schulungen integrieren

### HPCallWrapper
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-HPCallWrapper"></a>

```
class hyperpod_checkpointless_training.inprocess.wrap.HPCallWrapper(wrapper)
```

Überwacht und verwaltet den Status eines Restart-Codeblocks (RCB) während der Ausführung.

Diese Klasse befasst sich mit dem Lebenszyklus der RCB-Ausführung, einschließlich der Fehlererkennung, der Koordination mit anderen Rängen bei Neustarts und Bereinigungsvorgängen. Es verwaltet die verteilte Synchronisation und gewährleistet eine konsistente Wiederherstellung aller Trainingsprozesse.

**Parameter**
+ **wrapper** (*HPWrapper*) — Der übergeordnete Wrapper, der globale Einstellungen für die prozessinterne Wiederherstellung enthält

**Attribute**
+ **step\$1upon\$1restart** (*int*) — Zähler, der die Schritte seit dem letzten Neustart verfolgt und zur Bestimmung der Neustartstrategie verwendet wird

**Methoden**

```
def initialize_barrier()
```

Warten Sie auf die HyperPod Barrierensynchronisierung, nachdem Sie auf eine Ausnahme von RCB gestoßen sind.

```
def start_hp_fault_handling_thread()
```

Starten Sie den Fehlerbehandlungs-Thread zur Überwachung und Koordination von Fehlern.

```
def handle_fn_exception(call_ex)
```

Verarbeiten Sie Ausnahmen von der Ausführungsfunktion oder vom RCB.

**Parameter:**
+ **call\$1ex** (*Exception*) — Ausnahme von der Überwachungsfunktion

```
def restart(term_ex)
```

Führt den Neustart-Handler aus, einschließlich Finalisierung, Garbage-Collection und Integritätsprüfungen.

**Parameter:**
+ **term\$1ex** (*RankShouldRestart*) — Eine Terminierungsausnahme, die den Neustart auslöst

```
def launch(fn, *a, **kw)
```

*Führt den RCB mit der richtigen Ausnahmebehandlung aus.*

**Parameter:**
+ **fn** (*Callable*) — Funktion, die ausgeführt werden soll
+ **a** — Funktionsargumente
+ **kw** — Argumente für Funktionsschlüsselwörter

```
def run(fn, a, kw)
```

Hauptausführungsschleife, die Neustarts und Barrierensynchronisierung verarbeitet.

**Parameter:**
+ **fn** (*Callable*) — Funktion, die ausgeführt werden soll
+ **a** — Funktionsargumente
+ **kw** — Argumente für Funktionsschlüsselwörter

```
def shutdown()
```

Threads zur Fehlerbehandlung und Überwachung herunterfahren.

**Hinweise**
+ Behandelt automatisch `RankShouldRestart` Ausnahmen für eine koordinierte Wiederherstellung
+ Verwaltet die Speicherverfolgung und Abbrüche sowie die Speicherbereinigung bei Neustarts
+ Unterstützt sowohl In-Process-Recovery- als auch PLR-Strategien (Process-Level Restart), die auf dem Timing von Fehlern basieren

### CudaHealthCheck
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-cudahealthcheck"></a>

```
class hyperpod_checkpointless_training.inprocess.health_check.CudaHealthCheck(timeout=datetime.timedelta(seconds=30))
```

Stellt sicher, dass sich der CUDA-Kontext für den aktuellen Prozess während der Trainingswiederherstellung ohne Checkpoint in einem fehlerfreien Zustand befindet.

Diese Integritätsprüfung wird mit der GPU synchronisiert, um sicherzustellen, dass der CUDA-Kontext nach einem Trainingsfehler nicht beschädigt ist. Es führt GPU-Synchronisierungsvorgänge durch, um Probleme zu erkennen, die eine erfolgreiche Wiederaufnahme des Trainings verhindern könnten. Die Integritätsprüfung wird ausgeführt, nachdem die verteilten Gruppen gelöscht wurden und die Finalisierung abgeschlossen ist.

**Parameter**
+ **timeout** (*datetime.timedelta, *optional*) — Timeout-Dauer* für GPU-Synchronisierungsvorgänge. Standard: `datetime.timedelta(seconds=30)`

**Methoden**

```
__call__(state, train_ex=None)
```

Führen Sie die CUDA-Integritätsprüfung aus, um die Integrität des GPU-Kontexts zu überprüfen.

**Parameter:**
+ **state** (*HPState*) — Aktueller HyperPod Status, der Ranginformationen und verteilte Informationen enthält
+ **train\$1ex** (*Ausnahme*, *optional*) — Die ursprüngliche Trainingsausnahme, die den Neustart ausgelöst hat. Standard: `None`

**Gibt zurück:**
+ **Tupel** — Ein Tupel, das `(state, train_ex)` unverändert enthält, falls die Gesundheitsprüfung bestanden wurde

**Erhöht:**
+ **TimeoutError**— Wenn bei der GPU-Synchronisierung ein Timeout auftritt, was auf einen potenziell beschädigten CUDA-Kontext hindeutet

**Beibehaltung des Zustands**: Gibt den ursprünglichen Status und die Ausnahme unverändert zurück, wenn alle Prüfungen bestanden wurden

**Beispiel**

```
import datetime  
from hyperpod_checkpointless_training.inprocess.health_check import CudaHealthCheck  
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
  
# Create CUDA health check with custom timeout  
cuda_health_check = CudaHealthCheck(  
    timeout=datetime.timedelta(seconds=60)  
)  
  
# Use with HPWrapper for fault-tolerant training  
@HPWrapper(  
    health_check=cuda_health_check,  
    enabled=True  
)  
def training_function():  
    # Your training code here  
    pass
```

**Hinweise**
+ Verwendet Threading, um den Timeout-Schutz für die GPU-Synchronisierung zu implementieren
+ Entwickelt, um beschädigte CUDA-Kontexte zu erkennen, die eine erfolgreiche Wiederaufnahme des Trainings verhindern könnten
+ Sollte als Teil der Fehlertoleranz-Pipeline in verteilten Trainingsszenarien verwendet werden

### HPAgentK8s APIFactory
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-HPAgentK8sAPIFactory"></a>

```
class hyperpod_checkpointless_training.inprocess.train_utils.HPAgentK8sAPIFactory()
```

Factory-Klasse zum Erstellen von HPAgent K8SAPI-Instanzen, die mit der HyperPod Infrastruktur kommunizieren, um die Trainingskoordination auf verteilter Ebene zu gewährleisten.

Diese Factory bietet eine standardisierte Methode zur Erstellung und Konfiguration von HPAgent K8sAPI-Objekten, die die Kommunikation zwischen Trainingsprozessen und der Steuerungsebene regeln. HyperPod Es kapselt die Erstellung des zugrunde liegenden Socket-Clients und der API-Instanz und gewährleistet so eine konsistente Konfiguration in verschiedenen Teilen des Trainingssystems.

**Methoden**

```
__call__()
```

Erstellen Sie eine für die Kommunikation konfigurierte HPAgent K8SAPI-Instanz und geben Sie sie zurück. HyperPod 

**Gibt zurück:**
+ **HPAgentk8SAPI — Konfigurierte API-Instanz** für die Kommunikation mit der Infrastruktur HyperPod 

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.train_utils import HPAgentK8sAPIFactory  
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
from hyperpod_checkpointless_training.inprocess.health_check import CudaHealthCheck  
  
# Create the factory  
hp_api_factory = HPAgentK8sAPIFactory()  
  
# Use with HPWrapper for fault-tolerant training  
hp_wrapper = HPWrapper(  
    hp_api_factory=hp_api_factory,  
    health_check=CudaHealthCheck(),  
    abort_timeout=60.0,  
    enabled=True  
)  
  
@hp_wrapper  
def training_function():  
    # Your distributed training code here  
    pass
```

**Hinweise**
+ Entwickelt, um nahtlos mit HyperPod der Kubernetes-basierten Infrastruktur zusammenzuarbeiten. Es ist für die koordinierte Fehlerbehandlung und -behebung in verteilten Schulungsszenarien unerlässlich

### CheckpointManager
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointManager"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager.CheckpointManager(  
    enable_checksum=False,  
    enable_offload=False)
```

Verwaltet die Checkpoints und die peer-to-peer Wiederherstellung im Speicher und sorgt so für Fehlertoleranz ohne Checkpoints bei verteilten Schulungen.

Diese Klasse bietet die Kernfunktionen für das Training HyperPod ohne Checkpoints, indem sie NeMo Modell-Checkpoints im Speicher verwaltet, die Durchführbarkeit der Wiederherstellung überprüft und die Checkpoint-Übertragung zwischen fehlerfreien und ausgefallenen Rängen orchestriert peer-to-peer. Dadurch entfällt die Notwendigkeit einer Festplatte I/O bei der Wiederherstellung, wodurch die mittlere Wiederherstellungszeit (MTTR) erheblich reduziert wird.

**Parameter**
+ **enable\$1checksum** (*bool*, *optional*) — Aktiviert die Überprüfung der Modellstatus-Prüfsumme für Integritätsprüfungen während der Wiederherstellung. Standard: `False`
+ **enable\$1offload** (*bool*, *optional*) — Aktiviert das Checkpoint-Offloading vom GPU- in den CPU-Speicher, um die GPU-Speichernutzung zu reduzieren. Standard: `False`

**Attribute**
+ **global\$1step** (*int* oder *None*) — Aktueller Trainingsschritt, der dem gespeicherten Checkpoint zugeordnet ist
+ **rng\$1states** (*list* oder *None*) — Gespeicherte Zufallszahlengenerator-Zustände für die deterministische Wiederherstellung
+ **checksum\$1manager (*MemoryChecksumManager*) — Manager** für die Überprüfung der Prüfsumme des Modellstatus
+ **parameter\$1update\$1lock** (*ParameterUpdateLock*) — Sperre zur Koordination von Parameter-Updates während der Wiederherstellung

**Methoden**

```
save_checkpoint(trainer)
```

Speichert den NeMo Modell-Checkpoint im Speicher für eine mögliche Wiederherstellung ohne Checkpoint.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 

**Hinweise:**
+ Wird am Ende des Batches oder während der Ausnahmebehandlung CheckpointlessCallback aufgerufen
+ Erstellt Wiederherstellungspunkte ohne I/O Festplatten-Overhead
+ Speichert den vollständigen Modell-, Optimizer- und Scheduler-Status

```
delete_checkpoint()
```

Löschen Sie den In-Memory-Checkpoint und führen Sie Bereinigungsvorgänge durch.

**Hinweise:**
+ Löscht Checkpoint-Daten, RNG-Zustände und zwischengespeicherte Tensoren
+ Führt die Speicherbereinigung und die CUDA-Cache-Bereinigung durch
+ Wird nach erfolgreicher Wiederherstellung aufgerufen oder wenn der Checkpoint nicht mehr benötigt wird

```
try_checkpointless_load(trainer)
```

Versuchen Sie eine Wiederherstellung ohne Checkpoint, indem Sie den Status aus Peer-Rängen laden.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 

**Gibt zurück:**
+ **dict** oder **None** — Checkpoint wurde wiederhergestellt, falls erfolgreich, None, wenn ein Fallback auf die Festplatte erforderlich ist

**Hinweise:**
+ Wichtigster Einstiegspunkt für die Wiederherstellung ohne Checkpoint
+ Überprüft die Durchführbarkeit der Wiederherstellung, bevor eine P2P-Übertragung versucht wird
+ Bereinigt nach dem Wiederherstellungsversuch immer die In-Memory-Checkpoints

```
checkpointless_recovery_feasible(trainer, include_checksum_verification=True)
```

Stellen Sie fest, ob eine Wiederherstellung ohne Checkpoint für das aktuelle Fehlerszenario möglich ist.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 
+ **include\$1checksum\$1verification (bool, optional) — Ob die Prüfsummenvalidierung** **eingeschlossen werden soll.** Standard: `True`

**Gibt zurück:**
+ **bool** — True, wenn eine Wiederherstellung ohne Checkpoint möglich ist, andernfalls False

**Validierungskriterien:**
+ Gleichbleibende globale Schrittweite in gesunden Rängen
+ Es stehen ausreichend fehlerfreie Replikate für die Wiederherstellung zur Verfügung
+ Integrität der Prüfsumme für den Modellstatus (falls aktiviert)

```
store_rng_states()
```

Speichert alle Zustände des Zufallszahlengenerators für die deterministische Wiederherstellung.

**Hinweise:**
+ Erfasst Python- NumPy, PyTorch CPU/GPU- und Megatron-RNG-Zustände
+ Unverzichtbar für die Aufrechterhaltung des Trainingsdeterminismus nach der Erholung

```
load_rng_states()
```

Stellen Sie alle RNG-Zustände wieder her, um die deterministische Erholung fortzusetzen.

**Hinweise:**
+ Stellt alle zuvor gespeicherten RNG-Zustände wieder her
+ Stellt sicher, dass das Training mit identischen Zufallssequenzen fortgesetzt wird

```
maybe_offload_checkpoint()
```

Wenn Offload aktiviert ist, wird der Checkpoint von der GPU auf den CPU-Speicher verlagert.

**Hinweise:**
+ Reduziert die GPU-Speicherauslastung für große Modelle
+ Wird nur ausgeführt, wenn `enable_offload=True`
+ Behält den Zugriff auf Checkpoints für die Wiederherstellung bei

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
from hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager import CheckpointManager  
# Use with HPWrapper for complete fault tolerance  
@HPWrapper(  
    checkpoint_manager=CheckpointManager(),  
    enabled=True  
)  
def training_function():  
    # Training code with automatic checkpointless recovery  
    pass
```

**Validierung**: Überprüft die Checkpoint-Integrität anhand von Prüfsummen (falls aktiviert)

**Hinweise**
+ Nutzt verteilte Kommunikationsprimitive für eine effiziente P2P-Übertragung
+ Verarbeitet automatisch Tensor-DType-Konvertierungen und Geräteplatzierung
+ **MemoryChecksumManager**— Verwaltet die Integritätsprüfung des Modellzustands

### PEFTCheckpoint— Manager
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-PEFTCheckpointManager"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager.PEFTCheckpointManager(  
    *args,  
    **kwargs)
```

Verwaltet Checkpoints für PEFT (Parameter-Efficient Fine-Tuning) mit separater Basis- und Adapterverwaltung für eine optimierte Wiederherstellung ohne Checkpoints.

Dieser spezialisierte Checkpoint-Manager ermöglicht die Optimierung von PEFT-Workflows CheckpointManager , indem er die Gewichtung des Basismodells von den Adapterparametern trennt.

**Parameter**

Erbt alle Parameter von: **CheckpointManager**
+ **enable\$1checksum** (*bool*, *optional*) — Aktiviert die Überprüfung der Prüfsumme des Modellstatus. Standard: `False`
+ **enable\$1offload (*bool*, optional) — Aktiviert das Checkpoint-Offloading** *in den CPU-Speicher.* Standard: `False`

**Zusätzliche Attribute**
+ **params\$1to\$1save** (*set) — Satz* von Parameternamen, die als Adapterparameter gespeichert werden sollen
+ **base\$1model\$1weights** (*dict* oder *None*) — Gewichte des Basismodells im Cache, einmal gespeichert und wiederverwendet
+ **base\$1model\$1keys\$1to\$1extract (list oder None) — Schlüssel zum Extrahieren** **von Basismodell-Tensoren während der P2P-Übertragung**

**Methoden**

```
maybe_save_base_model(trainer)
```

Speichert einmal die Gewichte des Basismodells und filtert dabei die Adapterparameter heraus.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 

**Hinweise:**
+ Speichert die Gewichte des Basismodells nur beim ersten Aufruf; nachfolgende Aufrufe sind keine Operationen
+ Filtert Adapterparameter heraus, um nur eingefrorene Basismodellgewichte zu speichern
+ Die Gewichte des Basismodells werden über mehrere Trainingseinheiten hinweg beibehalten

```
save_checkpoint(trainer)
```

Speichern Sie den Prüfpunkt des NeMo PEFT-Adaptermodells im Speicher für eine mögliche Wiederherstellung ohne Checkpoint.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 

**Hinweise:**
+ Ruft automatisch auf, wenn das Basismodell noch nicht gespeichert ist `maybe_save_base_model()`
+ Filtert den Checkpoint so, dass er nur Adapterparameter und Trainingsstatus enthält
+ Reduziert die Größe der Checkpoints im Vergleich zu Checkpoints des vollständigen Modells erheblich

```
try_base_model_checkpointless_load(trainer)
```

Das PEFT-Basismodell versucht, die Wiederherstellung ohne Checkpoint zu gewichten, indem der Status aus Peer-Rängen geladen wird.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 

**Gibt zurück:**
+ **dict** oder **None** — Der Basismodell-Checkpoint wurde wiederhergestellt, falls erfolgreich, None, wenn ein Fallback erforderlich ist

**Hinweise:**
+ Wird während der Modellinitialisierung verwendet, um die Gewichte des Basismodells wiederherzustellen
+ Löscht die Gewichte des Basismodells nach der Wiederherstellung nicht (wird für die Wiederverwendung aufbewahrt)
+ Optimiert für model-weights-only Wiederherstellungsszenarien

```
try_checkpointless_load(trainer)
```

Der PEFT-Adapter versucht, die Wiederherstellung ohne Checkpoint zu gewichten, indem er den Status aus Peer-Rängen lädt.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 

**Gibt zurück:**
+ **dict** oder **None** — Der Adapter-Checkpoint wurde wiederhergestellt, falls erfolgreich, None, wenn ein Fallback erforderlich ist

**Hinweise:**
+ Stellt nur Adapterparameter, Optimizer-Status und Scheduler wieder her
+ Lädt nach erfolgreicher Wiederherstellung automatisch den Optimizer- und Scheduler-Status
+ Bereinigt die Adapter-Checkpoints nach dem Wiederherstellungsversuch

```
is_adapter_key(key)
```

Prüfen Sie, ob der State-Dict-Schlüssel zu den Adapterparametern gehört.

**Parameter:**
+ **key** (*str* oder *tuple) — Zu* prüfender State-Dict-Schlüssel

**Gibt zurück:**
+ **bool** — True, wenn der Schlüssel ein Adapterparameter ist, False, wenn der Basismodellparameter

**Erkennungslogik:**
+ Prüft, ob der Schlüssel `params_to_save` gesetzt ist
+ Identifiziert Schlüssel, die „.adapter“ enthalten. substring
+ Identifiziert Schlüssel, die mit „.adapters“ enden
+ Überprüft bei Tupelschlüsseln, ob der Parameter Farbverläufe erfordert

```
maybe_offload_checkpoint()
```

Verlagert die Gewichte des Basismodells von der GPU auf den CPU-Speicher.

**Hinweise:**
+ Erweitert die übergeordnete Methode, um die Gewichtsverlagerung des Basismodells zu handhaben
+ Die Gewichte der Adapter sind in der Regel gering und müssen nicht abgeladen werden
+ Setzt ein internes Kennzeichen, um den Offload-Status zu verfolgen

**Hinweise**
+ Speziell für parametereffiziente Feinabstimmungsszenarien (LoRa, Adapter usw.) konzipiert
+ Sorgt automatisch für die Trennung von Basismodell- und Adapterparametern

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
from hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager import PEFTCheckpointManager  
# Use with HPWrapper for complete fault tolerance  
@HPWrapper(  
    checkpoint_manager=PEFTCheckpointManager(),  
    enabled=True  
)  
def training_function():  
    # Training code with automatic checkpointless recovery  
    pass
```

### CheckpointlessAbortManager
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessAbortManager"></a>

```
class hyperpod_checkpointless_training.inprocess.abort.CheckpointlessAbortManager()
```

Factory-Klasse für die Erstellung und Verwaltung von Komponentenzusammensetzungen bei Abbruch, um eine fehlerfreie Fehlertoleranz zu gewährleisten.

Diese Utility-Klasse bietet statische Methoden zum Erstellen, Anpassen und Verwalten von Zusammenstellungen von Abbruchkomponenten, die bei der Fehlerbehandlung beim Checkpointless-Training verwendet werden. HyperPod Sie vereinfacht die Konfiguration von Abbruchsequenzen, mit denen verteilte Trainingskomponenten, Datenlader und Framework-spezifische Ressourcen bei der Wiederherstellung nach einem Ausfall bereinigt werden.

**Parameter**

Keine (alle Methoden sind statisch)

**Statische Methoden**

```
get_default_checkpointless_abort()
```

Ruft die Standard-Abort-Compose-Instanz ab, die alle Standardabbruchkomponenten enthält.

**Gibt zurück:**
+ **Compose** — Standardmäßig erstellte Abbruchinstanz mit allen Abbruchkomponenten

**Standardkomponenten:**
+ **AbortTransformerEngine()** — Bereinigt Ressourcen TransformerEngine 
+ **HPCheckpointingAbort ()** — Führt die Bereinigung des Checkpoint-Systems durch
+ **HPAbortTorchDistributed()** — Bricht verteilte Operationen ab PyTorch 
+ **HPDataLoaderAbort()** — Stoppt und bereinigt Datenlader

```
create_custom_abort(abort_instances)
```

*Erstellen Sie eine benutzerdefinierte Abbruchmeldung, die nur die angegebenen Abbruchinstanzen enthält.*

**Parameter:**
+ **abort\$1instances** (*Abort) — Variable Anzahl von Abbruchinstanzen*, die in die Erstellung aufgenommen werden sollen

**Gibt zurück:**
+ **Compose** — Neue komponierte Abbruchinstanz, die nur die angegebenen Komponenten enthält

**Löst aus:**
+ **ValueError**— Wenn keine Abbruchinstanzen bereitgestellt werden

```
override_abort(abort_compose, abort_type, new_abort)
```

Ersetzt eine bestimmte Abbruchkomponente in einer Compose-Instanz durch eine neue Komponente.

**Parameter:**
+ **abort\$1compose (*Compose***) — Die ursprüngliche Compose-Instanz, die geändert werden soll
+ **abort\$1type (type**) — Der *Typ* der Abbruchkomponente, die ersetzt werden soll (z. B.) `HPCheckpointingAbort`
+ **new\$1abort (Abort***) — Die neue Abbruchinstanz*, die als Ersatz verwendet werden soll

**Gibt zurück:**
+ **Compose** — Neue Compose-Instanz, bei der die angegebene Komponente ersetzt wurde

**Erhöht:**
+ **ValueError**— Wenn abort\$1compose kein Attribut 'instances' hat

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
from hyperpod_checkpointless_training.nemo_plugins.callbacks import CheckpointlessCallback  
from hyperpod_checkpointless_training.inprocess.abort import CheckpointlessFinalizeCleanup, CheckpointlessAbortManager  
  
# The strategy automatically integrates with HPWrapper  
@HPWrapper(  
    abort=CheckpointlessAbortManager.get_default_checkpointless_abort(),  
    health_check=CudaHealthCheck(),  
    finalize=CheckpointlessFinalizeCleanup(),  
    enabled=True  
)  
def training_function():  
    trainer.fit(...)
```

**Hinweise**
+ Benutzerdefinierte Konfigurationen ermöglichen eine fein abgestimmte Steuerung des Bereinigungsverhaltens
+ Abbruchvorgänge sind entscheidend für die ordnungsgemäße Bereinigung der Ressourcen bei der Fehlerbehebung

### CheckpointlessFinalizeCleanup
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessFinalizeCleanup"></a>

```
class hyperpod_checkpointless_training.inprocess.abort.CheckpointlessFinalizeCleanup()
```

Führt nach der Fehlererkennung eine umfassende Säuberung durch, um die Wiederherstellung während des Prozesses während einer Schulung ohne Kontrollpunkte vorzubereiten.

Dieser Finalize-Handler führt Framework-spezifische Bereinigungsvorgänge wie Megatron/TransformerEngine Abbruch, DDP-Bereinigung, erneutes Laden von Modulen und Speicherbereinigung durch, indem er die Referenzen der Trainingskomponenten zerstört. Er stellt sicher, dass die Trainingsumgebung für eine erfolgreiche Wiederherstellung während des Prozesses ordnungsgemäß zurückgesetzt wird, ohne dass ein vollständiger Prozessabbruch erforderlich ist.

**Parameter**

Keine

**Attribute**
+ **trainer** (*pytorch\$1lightning.Trainer oder *None*) — Verweis auf die Lightning-Trainer-Instanz* PyTorch 

**Methoden**

```
__call__(*a, **kw)
```

**Führen Sie umfassende Bereinigungsvorgänge aus, um die Wiederherstellung während des Prozesses vorzubereiten.**

*Parameter:*
+ **a** — Variable Positionsargumente (von der Finalize-Schnittstelle übernommen)
+ **kw** — Variable Schlüsselwortargumente (von der Finalize-Schnittstelle übernommen)

**Säuberungsvorgänge:**
+ **Megatron Framework Cleanup — Aufrufe zur Bereinigung** von Megatron-spezifischen `abort_megatron()` Ressourcen
+ TransformerEngine Cleanup — Aufrufe zur **Bereinigung** von Ressourcen `abort_te()` TransformerEngine 
+ **RoPE Cleanup** — Aufrufe `cleanup_rope()` zum Aufräumen von Ressourcen in rotierenden Positionen
+ **DDP Cleanup** — Aufrufe `cleanup_ddp()` zur Bereinigung von Ressourcen DistributedDataParallel 
+ **Module Reloading** — Aufrufe `reload_megatron_and_te()` zum Neuladen von Framework-Modulen
+ **Lightning-Modulbereinigung** — Löscht optional das Lightning-Modul, um den GPU-Speicher zu reduzieren
+ **Speicherbereinigung** — Zerstört die Verweise der Trainingskomponenten auf freien Arbeitsspeicher

```
register_attributes(trainer)
```

*Registrieren Sie die Trainer-Instanz für die Verwendung bei Bereinigungsvorgängen.*

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* zur Registrierung PyTorch 

**Integration mit CheckpointlessCallback**

```
from hyperpod_checkpointless_training.nemo_plugins.callbacks import CheckpointlessCallback  
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
  
# The strategy automatically integrates with HPWrapper  
@HPWrapper(  
    ...  
    finalize=CheckpointlessFinalizeCleanup(),   
)  
def training_function():  
    trainer.fit(...)
```

**Hinweise**
+ Bereinigungsvorgänge werden in einer bestimmten Reihenfolge ausgeführt, um Abhängigkeitsprobleme zu vermeiden
+ Die Speicherbereinigung verwendet Garbage-Collection-Introspektion, um Zielobjekte zu finden
+ Alle Bereinigungsvorgänge sind so konzipiert, dass sie idempotent sind und sicher wiederholt werden können

### CheckpointlessMegatronStrategy
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessMegatronStrategy"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.megatron_strategy.CheckpointlessMegatronStrategy(*args, **kwargs)
```

NeMo Megatron-Strategie mit integrierten Funktionen zur Wiederherstellung ohne Checkpoint für fehlertolerantes, verteiltes Training.

Beachten Sie, dass für das Training ohne Checkpoints mindestens 2 erforderlich sind`num_distributed_optimizer_instances`, damit eine Optimizer-Replikation durchgeführt werden kann. Die Strategie kümmert sich auch um die Registrierung wichtiger Attribute und die Initialisierung von Prozessgruppen.

**Parameter**

Erbt alle Parameter von: **MegatronStrategy**
+  NeMo MegatronStrategy Standard-Initialisierungsparameter
+ Konfigurationsoptionen für verteilte Schulungen
+ Einstellungen für Modellparallelität

**Attribute**
+ **base\$1store** *(torch.distributed). TCPStore*oder *None*) — Verteilter Speicher für die Koordination von Prozessgruppen

**Methoden**

```
setup(trainer)
```

Initialisieren Sie die Strategie und registrieren Sie die Fehlertoleranzkomponenten beim Trainer.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 

**Einrichtungsvorgänge:**
+ **Übergeordnetes Setup** — Ruft das übergeordnete MegatronStrategy Setup auf
+ **Registrierung von Fehlerinjektionen** — Registriert HPFault InjectionCallback Hooks, falls vorhanden
+ **Registrierung abschließen — Registriert** den Trainer bei den Finalize Cleanup-Handlern
+ **Registrierung abbrechen — Registriert den Trainer bei Abort-Handlern**, die dies unterstützen

```
setup_distributed()
```

Initialisieren Sie die Prozessgruppe entweder mit Präfix oder TCPStore mit einer Verbindung ohne Wurzel.

```
load_model_state_dict(checkpoint, strict=True)
```

Lädt das Status-Diktat des Modells mit Checkpointless-Recovery-Kompatibilität.

**Parameter:**
+ **checkpoint** (*Mapping [str, Any]) — Checkpoint-Wörterbuch,* das den Modellstatus enthält
+ **strict** (*bool*, *optional*) — Ob der Abgleich von State-Dict-Schlüsseln strikt erzwungen werden soll. Standard: `True`

```
get_wrapper()
```

Holen Sie sich die HPCall Wrapper-Instanz für die Koordination der Fehlertoleranz.

**Gibt zurück:**
+ **HPCallWrapper** — Die Wrapper-Instanz, die aus Gründen der Fehlertoleranz an den Trainer angeschlossen ist

```
is_peft()
```

Prüfen Sie, ob PEFT (Parameter-Efficient Fine-Tuning) in der Trainingskonfiguration aktiviert ist, indem Sie nach PEFT-Callbacks suchen

**Gibt zurück:**
+ **bool** — Wahr, wenn ein PEFT-Callback vorhanden ist, andernfalls False

```
teardown()
```

Überschreiben Sie den systemeigenen PyTorch Lightning-Teardown, um die Bereinigung an Abbruchprozeduren zu delegieren.

**Beispiel**

```
from hyperpod_checkpointless_training.inprocess.wrap import HPWrapper  
  
# The strategy automatically integrates with HPWrapper  
@HPWrapper(  
    checkpoint_manager=checkpoint_manager,  
    enabled=True  
)  
def training_function():  
    trainer = pl.Trainer(strategy=CheckpointlessMegatronStrategy())  
    trainer.fit(model, datamodule)
```

### CheckpointlessCallback
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessCallback"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.callbacks.CheckpointlessCallback(  
    enable_inprocess=False,  
    enable_checkpointless=False,  
    enable_checksum=False,  
    clean_tensor_hook=False,  
    clean_lightning_module=False)
```

Lightning-Rückruf, der das NeMo Training in das Fehlertoleranzsystem von Checkpointless-Trainings integriert.

Dieser Rückruf verwaltet die Schrittverfolgung, das Speichern von Checkpoints und die Koordination der Parameteraktualisierung für Funktionen zur Wiederherstellung während des Prozesses. Er dient als primärer Integrationspunkt zwischen PyTorch Lightning-Trainingsschleifen und Trainingsmechanismen HyperPod ohne Checkpoints und koordiniert die Fehlertoleranzoperationen während des gesamten Trainingszyklus.

**Parameter**
+ **enable\$1inprocess** *(*bool*, optional) — Aktiviert Funktionen zur prozessinternen Wiederherstellung.* Standard: `False`
+ **enable\$1checkpointless** *(*bool*, optional) — Aktiviert die Wiederherstellung ohne Prüfpunkt (erforderlich).* `enable_inprocess=True` Standard: `False`
+ **enable\$1checksum (bool, optional) — Aktiviert die Überprüfung der Modellstatus-Prüfsumme** *(erforderlich**).* `enable_checkpointless=True` Standard: `False`
+ **clean\$1tensor\$1hook** (*bool*, *optional*) — Löscht während der Bereinigung Tensor-Hooks von allen GPU-Tensoren (teurer Vorgang). Standard: `False`
+ **clean\$1lightning\$1module (*bool*, optional) — Aktiviert die Bereinigung des Lightning-Moduls***, um nach jedem Neustart GPU-Speicher freizugeben.* Standard: `False`

**Attribute**
+ ***tried\$1adapter\$1checkpointless (bool) — Markierung, um nachzuverfolgen, ob versucht wurde, den Adapter ohne Checkpoint wiederherzustellen***

**Methoden**

```
get_wrapper_from_trainer(trainer)
```

Holen Sie sich die Wrapper-Instanz vom Trainer für die Koordination der Fehlertoleranz. HPCall

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 

**Gibt zurück:**
+ **HPCallWrapper** — Die Wrapper-Instanz für Fehlertoleranzoperationen

```
on_train_batch_start(trainer, pl_module, batch, batch_idx, *args, **kwargs)
```

Wird zu Beginn jedes Trainingsstapels aufgerufen, um die Schrittverfolgung und Wiederherstellung zu verwalten.

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 
+ **pl\$1module** (*pytorch\$1lightning). LightningModule*) — Lightning-Modul wird trainiert
+ **batch** — Aktuelle Trainingsstapeldaten
+ **batch\$1idx** (*int*) — Index des aktuellen Batches
+ args — **Zusätzliche Positionsargumente**
+ **kwargs** — Zusätzliche Schlüsselwortargumente

```
on_train_batch_end(trainer, pl_module, outputs, batch, batch_idx)
```

*Geben Sie die Sperre für die Aktualisierung der Parameter am Ende jedes Trainingsstapels auf.*

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer) — Lightning-Trainer-Instanz* PyTorch 
+ **pl\$1module** (*pytorch\$1lightning). LightningModule*) — Lightning-Modul wird trainiert
+ **outputs** (*STEP\$1OUTPUT*) — Ausgaben von Trainingsschritten
+ **batch** (*Any*) — Aktuelle Trainingsstapeldaten
+ **batch\$1idx** (*int*) — Index des aktuellen Batches

**Hinweise:**
+ Der Zeitpunkt der Freigabe von Sperren stellt sicher, dass die Wiederherstellung ohne Checkpoint fortgesetzt werden kann, nachdem die Parameteraktualisierungen abgeschlossen sind
+ Wird nur ausgeführt, wenn sowohl als auch wahr sind `enable_inprocess` `enable_checkpointless`

```
get_peft_callback(trainer)
```

*Ruft den PEFT-Callback aus der Rückrufliste des Trainers ab.*

**Parameter:**
+ **trainer** (*pyTorch\$1Lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 

**Gibt zurück:**
+ **PEFT** oder **None** — PEFT-Callback-Instanz, falls gefunden, sonst None

```
_try_adapter_checkpointless_restore(trainer, params_to_save)
```

*Versuchen Sie, die PEFT-Adapterparameter ohne Checkpoint wiederherzustellen.*

**Parameter:**
+ **trainer** (*pytorch\$1lightning.Trainer*) — Lightning-Trainer-Instanz PyTorch 
+ **params\$1to\$1save** (*set) — Satz* von Parameternamen, die als Adapterparameter gespeichert werden sollen

**Hinweise:**
+ Wird nur einmal pro Trainingseinheit ausgeführt (wird durch das Flag gesteuert) `tried_adapter_checkpointless`
+ Konfiguriert den Checkpoint Manager mit Adapterparameterinformationen

**Beispiel**

```
from hyperpod_checkpointless_training.nemo_plugins.callbacks import CheckpointlessCallback  
from hyperpod_checkpointless_training.nemo_plugins.checkpoint_manager import CheckpointManager  
import pytorch_lightning as pl  
  
# Create checkpoint manager  
checkpoint_manager = CheckpointManager(  
    enable_checksum=True,  
    enable_offload=True  
)  
  
# Create checkpointless callback with full fault tolerance  
checkpointless_callback = CheckpointlessCallback(  
    enable_inprocess=True,  
    enable_checkpointless=True,  
    enable_checksum=True,  
    clean_tensor_hook=True,  
    clean_lightning_module=True  
)  
  
# Use with PyTorch Lightning trainer  
trainer = pl.Trainer(  
    callbacks=[checkpointless_callback],  
    strategy=CheckpointlessMegatronStrategy()  
)  
  
# Training with fault tolerance  
trainer.fit(model, datamodule=data_module)
```

**Arbeitsspeicher-Verwaltung**
+ **clean\$1tensor\$1hook: Entfernt Tensor-Hooks** während der Bereinigung (teuer, aber gründlich)
+ **clean\$1lightning\$1module**: Gibt den GPU-Speicher des Lightning-Moduls bei Neustarts frei
+ Beide Optionen tragen dazu bei, den Speicherbedarf bei der Fehlerbehebung zu reduzieren
+ Koordiniert mit ParameterUpdateLock für die Thread-sichere Nachverfolgung von Parameteraktualisierungen

### CheckpointlessCompatibleConnector
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessCompatibleConnector"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.checkpoint_connector.CheckpointlessCompatibleConnector()
```

PyTorch Lightning-Checkpoint-Konnektor, der die Wiederherstellung ohne Checkpoint in das herkömmliche Laden von Checkpoints auf Festplatte integriert.

Dieser Konnektor erweitert den von PyTorch `_CheckpointConnector` Lightning und bietet so eine nahtlose Integration zwischen der Wiederherstellung ohne Checkpoint und der standardmäßigen Checkpoint-Wiederherstellung. Es versucht zunächst eine Wiederherstellung ohne Checkpoint und greift dann auf festplattenbasiertes Laden von Checkpoints zurück, falls eine Wiederherstellung ohne Checkpoint nicht möglich ist oder fehlschlägt.

**Parameter**

**Erbt** alle Parameter von \$1 CheckpointConnector

**Methoden**

```
resume_start(checkpoint_path=None)
```

Versuchen Sie, den Checkpoint vorab mit einer Wiederherstellungspriorität ohne Checkpoint zu laden.

**Parameter:**
+ **checkpoint\$1path** (*str* oder *None*, *optional*) — Pfad zum Festplatten-Checkpoint für Fallback. Standard: `None`

```
resume_end()
```

Schließen Sie den Checkpoint-Ladevorgang ab und führen Sie Operationen nach dem Laden durch.

**Hinweise**
+ Erweitert die interne `_CheckpointConnector` Klasse von PyTorch Lightning um Unterstützung für die Wiederherstellung ohne Checkpoint
+ Behält die volle Kompatibilität mit standardmäßigen PyTorch Lightning-Checkpoint-Workflows bei

### CheckpointlessAutoResume
<a name="sagemaker-eks-checkpointless-in-process-recovery-reference-CheckpointlessAutoResume"></a>

```
class hyperpod_checkpointless_training.nemo_plugins.resume.CheckpointlessAutoResume()
```

Wird um NeMo eine AutoResume verzögerte Einrichtung erweitert, sodass eine Überprüfung der Wiederherstellung ohne Checkpoint vor der Auflösung des Checkpoint-Pfads möglich ist.

Diese Klasse implementiert eine zweiphasige Initialisierungsstrategie, die eine Überprüfung der Wiederherstellung ohne Checkpoint ermöglicht, bevor auf das herkömmliche Laden von Checkpoints auf der Festplatte zurückgegriffen wird. Sie verzögert die AutoResume Einrichtung bedingt, um eine vorzeitige Auflösung des Checkpoint-Pfads zu verhindern, sodass zunächst geprüft werden kann, ob eine Wiederherstellung ohne Checkpoint möglich ist CheckpointManager . peer-to-peer

**Parameter**

Erbt alle Parameter von **AutoResume**

**Methoden**

```
setup(trainer, model=None, force_setup=False)
```

Verzögern Sie die AutoResume Einrichtung bedingt, um eine Überprüfung der Wiederherstellung ohne Checkpoint zu ermöglichen.

**Parameter:**
+ **trainer** *(*pytorch\$1lightning.trainer oder lightning.Fabric.Fabric) — Lightning-Trainer* oder Fabric-Instanz* PyTorch 
+ **model** *(optional) —* Modellinstanz für die Einrichtung. Standard: `None`
+ **force\$1setup** (*bool*, *optional*) — Bei True wird die Verzögerung umgangen und das Setup sofort ausgeführt AutoResume . Standard: `False`

**Beispiel**

```
from hyperpod_checkpointless_training.nemo_plugins.resume import CheckpointlessAutoResume  
from hyperpod_checkpointless_training.nemo_plugins.megatron_strategy import CheckpointlessMegatronStrategy  
import pytorch_lightning as pl  
  
# Create trainer with checkpointless auto-resume  
trainer = pl.Trainer(  
    strategy=CheckpointlessMegatronStrategy(),  
    resume=CheckpointlessAutoResume()  
)
```

**Hinweise**
+ Erweitert NeMo die AutoResume Klasse um einen Verzögerungsmechanismus, der eine Wiederherstellung ohne Checkpoint ermöglicht
+ Funktioniert in Verbindung mit `CheckpointlessCompatibleConnector` für einen vollständigen Wiederherstellungs-Workflow

# Besondere Überlegungen
<a name="sagemaker-eks-checkpointless-considerations"></a>

Wir erheben regelmäßig aggregierte und anonymisierte Betriebskennzahlen, um die Verfügbarkeit wesentlicher Dienste sicherzustellen. Die Erstellung dieser Metriken erfolgt vollautomatisch und erfordert keine Überprüfung des zugrundeliegenden Trainingsaufwands des Modells durch einen Menschen. Diese Kennzahlen beziehen sich auf Arbeitsabläufe, Ressourcenmanagement und grundlegende Servicefunktionen. 

HyperPod verwaltetes mehrstufiges Checkpoint-Training und elastisches Training: Beachten Sie, dass Training HyperPod ohne Checkpoint derzeit nicht mit HyperPod verwaltetem mehrstufigem Checkpoint-Training und elastischem Training kompatibel ist.

Für die Modelle GPT OSS 120B und Lama werden Rezepte für das Checkpointless-Training bereitgestellt, um den Einstieg zu vereinfachen. Diese Rezepte wurden auf ml.p5-Instanzen verifiziert. Die Verwendung anderer Instance-Typen kann zusätzliche Änderungen an den zugrunde liegenden Rezepten erfordern. Diese Rezepte können auch an vollständige Feinabstimmungsworkflows angepasst werden. Für benutzerdefinierte Modelle empfehlen wir, sich die Beispiele für die [ersten Schritte anzusehen](https://docs.aws.amazon.com/sagemaker-eks-checkpointless-recipes-custom).

# Anhang
<a name="sagemaker-eks-checkpointless-appendix"></a>

**Überwachen Sie die Trainingsergebnisse anhand von HyperPod Rezepten**

SageMaker HyperPod Rezepte bieten eine Tensorboard-Integration zur Analyse des Trainingsverhaltens. Diese Rezepte beinhalten auch VizTracer, ein Tool mit geringem Overhead zum Verfolgen und Visualisieren der Python-Codeausführung. Weitere Informationen finden Sie unter [ VizTracer](https://github.com/gaogaotiantian/viztracer).

Die Tensorboard-Protokolle werden generiert und im gespeichert. `log_dir` Gehen Sie wie folgt vor, um auf diese Protokolle zuzugreifen und sie lokal zu analysieren:

1. Laden Sie den Tensorboard-Experimentordner aus Ihrer Trainingsumgebung auf Ihren lokalen Computer herunter.

1. Öffnen Sie ein Terminal oder einen Prompt auf Ihrem lokalen Rechner.

1. Navigieren Sie zu dem Verzeichnis, das den heruntergeladenen Experimentordner enthält.

1. Starten Sie Tensorboard, indem Sie den folgenden Befehl ausführen:

   ```
   tensorboard --port=<port> --bind_all --logdir experiment.
   ```

1. Öffnen Sie Ihren Webbrowser und besuchen Sie. `http://localhost:8008`

Sie können jetzt den Status und die Visualisierungen Ihrer Trainingsjobs in der Tensorboard-Oberfläche sehen. Wenn Sie den Status und die Visualisierungen sehen, können Sie den Trainingsprozess überwachen und analysieren. Durch die Überwachung und Analyse des Trainingsprozesses können Sie Einblicke in das Verhalten und die Leistung Ihrer Modelle gewinnen. Weitere Informationen darüber, wie Sie das Training mit Tensorboard überwachen und analysieren, finden Sie im [NVIDIA NeMo Framework-Benutzerhandbuch](https://docs.nvidia.com/nemo-framework/user-guide/latest/nemotoolkit/core/exp_manager.html#experiment-manager).

**VizTracer**

Zur Aktivierung können Sie Ihr Rezept ändern VizTracer, indem Sie die Umgebungsvariable `ENABLE_VIZTRACER` auf setzen. `1` Nach Abschluss der Schulung befindet sich Ihr VizTracer Profil im Experimentordner`log_dir/viztracer_xxx.json`. Um Ihr Profil zu analysieren, können Sie es herunterladen und mit dem folgenden **vizviewer** Tool öffnen:

```
vizviewer --port <port> viztracer_xxx.json
```

Dieser Befehl startet den VizViewer auf Port 9001. Sie können Ihre einsehen, VizTracer indem Sie <port>in Ihrem Browser auf http://localhost: gehen. Nach dem Öffnen VizTracer beginnen Sie mit der Analyse des Trainings. Weitere Informationen zur Verwendung VizTracer finden Sie in der [ VizTracer Dokumentation](https://viztracer.readthedocs.io/en/latest/installation.html).

# Versionshinweise
<a name="sagemaker-eks-checkpointless-release-notes"></a>

In den folgenden Versionshinweisen finden Sie die neuesten Updates für das SageMaker HyperPod Checkpointless-Training.

**Das SageMaker HyperPod Checkpointless-Training v1.0.0**

Datum: 03. Dezember 2025

**SageMaker HyperPod Funktionen für das Training ohne Checkpoint**
+ **Verbesserungen der kollektiven Kommunikationsinitialisierung**: Bietet neuartige Initialisierungsmethoden, Rootless und für NCCL und Gloo. TCPStoreless 
+ **Memory-Mapped (MMAP)** Dataloader: Speichert vorab abgerufene Batches im Cache (persistiert), sodass sie auch dann verfügbar sind, wenn ein Fehler einen Neustart des Trainingsjobs verursacht.
+ **Checkpointless**: Ermöglicht eine schnellere Wiederherstellung nach Cluster-Trainingsfehlern in großen, verteilten Trainingsumgebungen durch Optimierungen auf Framework-Ebene
+ **Basiert auf Nvidia Nemo und PyTorch Lightning**: Nutzt diese leistungsstarken Frameworks für effizientes und flexibles Modelltraining
  + [Nvidia NeMo](https://github.com/NVIDIA-NeMo/NeMo)
  + [PyTorch Blitze](https://lightning.ai/docs/pytorch/stable/)

**SageMaker HyperPod Docker-Container für zielloses Training**

[Checkpointless Training on HyperPod basiert auf dem NVIDIA-Framework. NeMo ](https://docs.nvidia.com/nemo-framework/user-guide/latest/overview.html) HyperPod Checkpointless Training zielt darauf ab, Cluster-Trainingsfehler in großen verteilten Trainingsumgebungen schneller zu beheben, indem Optimierungen auf Framework-Ebene vorgenommen werden, die auf einem Basiscontainer bereitgestellt werden, der das Basis-Image mit NCCL und Optimierungen enthält. PyTorch 

**Verfügbarkeit**

Derzeit sind Bilder nur verfügbar in:

```
eu-north-1
ap-south-1
us-east-2
eu-west-1
eu-central-1
sa-east-1
us-east-1
eu-west-2
ap-northeast-1
us-west-2
us-west-1
ap-southeast-1
ap-southeast-2
```

aber nicht verfügbar in den folgenden 3 Opt-in-Regionen:

```
ap-southeast-3
ap-southeast-4
eu-south-2
```

**Details zum Container**

Docker-Container für Checkpointless-Training für PyTorch v2.6.0 mit CUDA v12.9

```
963403601044.dkr.ecr.eu-north-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
423350936952.dkr.ecr.ap-south-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
556809692997.dkr.ecr.us-east-2.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
942446708630.dkr.ecr.eu-west-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
391061375763.dkr.ecr.eu-central-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
311136344257.dkr.ecr.sa-east-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
327873000638.dkr.ecr.us-east-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
016839105697.dkr.ecr.eu-west-2.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
356859066553.dkr.ecr.ap-northeast-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
920498770698.dkr.ecr.us-west-2.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
827510180725.dkr.ecr.us-west-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
885852567298.dkr.ecr.ap-southeast-1.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
304708117039.dkr.ecr.ap-southeast-2.amazonaws.com/hyperpod-checkpointless-training:v1.0.0
```

**Vorinstallierte Pakete**

```
PyTorch: v2.6.0
CUDA: v12.9
NCCL: v2.27.5
EFA: v1.43.0
AWS-OFI-NCCL v1.16.0
Libfabric version 2.1
Megatron v0.15.0
Nemo v2.6.0rc0
```

# Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-gpu-partitioning"></a>

Clusteradministratoren können wählen, wie sie die GPU-Auslastung in ihrer gesamten Organisation maximieren möchten. Sie können die GPU-Partitionierung mit der NVIDIA Multi-Instance-GPU (MIG) -Technologie aktivieren, um GPU-Ressourcen zur besseren Ressourcennutzung in kleinere, isolierte Instanzen zu partitionieren. Diese Funktion bietet die Möglichkeit, mehrere kleinere Aufgaben gleichzeitig auf einer einzigen GPU auszuführen, anstatt die gesamte Hardware einer einzigen, oft nicht ausgelasteten Aufgabe zu widmen. Dadurch wird die Verschwendung von Rechenleistung und Speicherplatz vermieden.

Die GPU-Partitionierung mit MIG-Technologie unterstützt GPUs und ermöglicht Ihnen die Partitionierung einer einzelnen unterstützten GPU in bis zu sieben separate GPU-Partitionen. Jede GPU-Partition verfügt über dedizierte Speicher-, Cache- und Rechenressourcen, wodurch eine vorhersehbare Isolierung gewährleistet ist.

## Vorteile
<a name="sagemaker-hyperpod-eks-gpu-partitioning-benefits"></a>
+ **Verbesserte GPU-Auslastung** — Maximieren Sie die Recheneffizienz durch Partitionierung auf der GPUs Grundlage der Rechen- und Speicheranforderungen
+ **Aufgabenisolierung** — Jede GPU-Partition arbeitet unabhängig mit dedizierten Speicher-, Cache- und Rechenressourcen
+ **Aufgabenflexibilität** — Support eine Mischung von Aufgaben auf einer einzigen physischen GPU, die alle parallel ausgeführt werden
+ **Flexibles Einrichtungsmanagement** — Support sowohl Do-it-yourself (DIY-) Kubernetes-Konfigurationen mit dem Kubernetes-Befehlszeilenclient als auch eine verwaltete Lösung mit benutzerdefinierten Labels`kubectl`, um Ihre Labels für GPU-Partitionen einfach zu konfigurieren und anzuwenden

## Unterstützte Instance-Typen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-instance-types"></a>

Die GPU-Partitionierung mit MIG-Technologie wird auf den folgenden Instance-Typen unterstützt: HyperPod 

**A100 GPU-Instanzen** [— Instanztypen/p4/ https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/instance-types/p4/)
+ **ml.p4d.24xlarge — 8 NVIDIA A100 (80 GB pro GPU**) GPUs HBM2e 
+ **ml.p4de.24xlarge** - 8 NVIDIA A100 (80 GB pro GPU) GPUs HBM2e 

**[https://aws.amazon.com/ec2/H100-GPU-Instanzen — Instanztypen/p5/](https://aws.amazon.com/ec2/instance-types/p5/)**
+ **ml.p5.48xlarge — 8 NVIDIA H100 (80 GB pro GPU**) GPUs HBM3 

**[https://aws.amazon.com/ec2/H200-GPU-Instanzen — Instanztypen/p5/](https://aws.amazon.com/ec2/instance-types/p5/)**
+ **ml.p5e.48xlarge — 8 NVIDIA H200 (141 GB pro GPU**) GPUs HBM3e 
+ **ml.p5en.48xlarge — 8 NVIDIA H200 (141 GB pro GPU)** GPUs HBM3e 

**[https://aws.amazon.com/ec2/B200](https://aws.amazon.com/ec2/instance-types/p6/) GPU-Instanzen — Instanztypen/p6/**
+ ml.p6b.48xlarge — 8 NVIDIA **B200** GPUs

## GPU-Partitionen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-profiles"></a>

NVIDIA MIG-Profile definieren, wie partitioniert GPUs werden. Jedes Profil spezifiziert die Rechen- und Speicherzuweisung pro MIG-Instanz. Im Folgenden sind die MIG-Profile aufgeführt, die jedem GPU-Typ zugeordnet sind:

**A100-GPU (ml.p4d.24xlarge)**


| Profil | Speicher (GB) | Instanzen pro GPU | Insgesamt pro ml.p4d.24xlarge | 
| --- | --- | --- | --- | 
| `1g.5gb` | 5 | 7 | 56 | 
| `2g.10gb` | 10 | 3 | 24 | 
| `3g.20gb` | 20 | 2 | 16 | 
| `4g.20gb` | 20 | 1 | 8 | 
| `7g.40gb` | 40 | 1 | 8 | 

**H100-GPU (ml.p 5,48 x groß)**


| Profil | Speicher (GB) | Instanzen pro GPU | Insgesamt pro ml.p5.48xlarge | 
| --- | --- | --- | --- | 
| `1g.10gb` | 10 | 7 | 56 | 
| `1g.20gb` | 20 | 4 | 32 | 
| `2g.20gb` | 20 | 3 | 24 | 
| `3g.40gb` | 40 | 2 | 16 | 
| `4g.40gb` | 40 | 1 | 8 | 
| `7g.80gb` | 80 | 1 | 8 | 

**H200-GPU (ml.p5e.48xlarge und ml.p5en.48xlarge)**


| Profil | Speicher (GB) | Instanzen pro GPU | Insgesamt pro ml.p5en.48xlarge | 
| --- | --- | --- | --- | 
| `1g.18gb` | 18 | 7 | 56 | 
| `1g.35gb` | 35 | 4 | 32 | 
| `2g.35gb` | 35 | 3 | 24 | 
| `3g.71gb` | 71 | 2 | 16 | 
| `4g.71gb` | 71 | 1 | 8 | 
| `7g.141gb` | 141 | 1 | 8 | 

**Topics**
+ [Vorteile](#sagemaker-hyperpod-eks-gpu-partitioning-benefits)
+ [Unterstützte Instance-Typen](#sagemaker-hyperpod-eks-gpu-partitioning-instance-types)
+ [GPU-Partitionen](#sagemaker-hyperpod-eks-gpu-partitioning-profiles)
+ [GPU-Partitionen bei Amazon einrichten SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning-setup.md)
+ [Lebenszyklus und Labels von Knoten](sagemaker-hyperpod-eks-gpu-partitioning-labels.md)
+ [Einreichung von Aufgaben mit MIG](sagemaker-hyperpod-eks-gpu-partitioning-task-submission.md)

# GPU-Partitionen bei Amazon einrichten SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup"></a>

**Topics**
+ [Voraussetzungen](#sagemaker-hyperpod-eks-gpu-partitioning-setup-prerequisites)
+ [Einen Cluster mit MIG-Konfiguration erstellen](#sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster)
+ [Hinzufügen eines GPU-Operators zu einem vorhandenen Cluster](#sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator)
+ [Die MIG-Konfiguration wird aktualisiert](#sagemaker-hyperpod-eks-gpu-partitioning-setup-update)
+ [Die MIG-Konfiguration wird überprüft](#sagemaker-hyperpod-eks-gpu-partitioning-setup-verify)
+ [Allgemeine Befehle zum Debuggen der MIG-Konfiguration](#sagemaker-hyperpod-eks-gpu-partitioning-setup-debug-commands)
+ [Verwenden der SageMaker AI-Konsole](#sagemaker-hyperpod-eks-gpu-partitioning-setup-console)

## Voraussetzungen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-prerequisites"></a>
+ HyperPod Amazon EKS-Cluster mit unterstützten GPU-Instances
+ NVIDIA GPU Operator ist installiert
+ Entsprechende IAM-Berechtigungen für die Clusterverwaltung

## Einen Cluster mit MIG-Konfiguration erstellen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster"></a>

### Verwenden AWS CLI
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster-cli"></a>

```
aws sagemaker create-cluster \
  --cluster-name my-mig-cluster \
  --orchestrator 'Eks={ClusterArn=arn:aws:eks:region:account:cluster/cluster-name}' \
  --instance-groups '{
    "InstanceGroupName": "gpu-group",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 1,
    "LifeCycleConfig": {
       "SourceS3Uri": "s3://my-bucket",
       "OnCreate": "on_create_script.sh"
    },
    "KubernetesConfig": {
       "Labels": {
          "nvidia.com/mig.config": "all-1g.5gb"
       }
    },
    "ExecutionRole": "arn:aws:iam::account:role/execution-role",
    "ThreadsPerCore": 1
  }' \
  --vpc-config '{
     "SecurityGroupIds": ["sg-12345"],
     "Subnets": ["subnet-12345"]
  }' \
  --node-provisioning-mode Continuous
```

### Benutzen CloudFormation
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-create-cluster-cfn"></a>

```
{
  "ClusterName": "my-mig-cluster",
  "InstanceGroups": [
    {
      "InstanceGroupName": "gpu-group",
      "InstanceType": "ml.p4d.24xlarge",
      "InstanceCount": 1,
      "KubernetesConfig": {
        "Labels": {
          "nvidia.com/mig.config": "all-2g.10gb"
        }
      },
      "ExecutionRole": "arn:aws:iam::account:role/execution-role"
    }
  ],
  "Orchestrator": {
    "Eks": {
      "ClusterArn": "arn:aws:eks:region:account:cluster/cluster-name"
    }
  },
  "NodeProvisioningMode": "Continuous"
}
```

## Hinzufügen eines GPU-Operators zu einem vorhandenen Cluster
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator"></a>

### Installieren Sie den GPU Operator
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-install"></a>

`{$AWS_REGION}`Ersetzen Sie es durch Ihre Clusterregion (z. B. us-east-1, us-west-2).

```
helm install gpuo helm_chart/HyperPodHelmChart/charts/gpu-operator \
-f helm_chart/HyperPodHelmChart/charts/gpu-operator/regional-values/values-{$AWS_REGION}.yaml \
-n kube-system
```

### Überprüfen Sie die Installation (warten Sie 2-3 Minuten)
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-verify"></a>

Überprüfen Sie, ob alle GPU-Operator-Pods laufen:

```
kubectl get pods -n kube-system | grep -E "(gpu-operator|nvidia-)"
```

**Erwartete Pods:**
+ gpu-operator-\$1 — 1 Instanz (Cluster-Controller)
+ nvidia-device-plugin-daemonset-\$1 - 1 pro GPU-Knoten (alle GPU-Instanzen)
+ nvidia-mig-manager-\$1 - 1 pro MIG-fähigem Knoten (A100/H100)

### Entfernen Sie das alte Geräte-Plug-In
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-remove"></a>

Deaktivieren Sie das vorhandene nvidia-device-plugin:

```
helm upgrade dependencies helm_chart/HyperPodHelmChart \
--set nvidia-device-plugin.devicePlugin.enabled=false \
-n kube-system
```

### Überprüfen Sie die GPU-Ressourcen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-add-operator-verify-gpu"></a>

Bestätigen Sie, dass die Knoten GPU-Kapazität anzeigen. Es sollte Folgendes anzeigen: nvidia.com/gpu: 8 (oder deine tatsächliche GPU-Anzahl).

```
kubectl describe nodes | grep "nvidia.com/gpu"
```

## Die MIG-Konfiguration wird aktualisiert
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update"></a>

**Knoten vor MIG-Updates vorbereiten**  
Bevor Sie die MIG-Konfigurationen in Ihrer Instanzgruppe aktualisieren, müssen Sie die Knoten vorbereiten, um eine Unterbrechung der Arbeitslast zu vermeiden. Gehen Sie wie folgt vor, um Workloads sicher von den Knoten abzuleiten, die neu konfiguriert werden.

### Schritt 1: Identifizieren Sie die Knoten in der Instanzgruppe
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-identify"></a>

Identifizieren Sie zunächst alle Knoten, die zu der Instanzgruppe gehören, die Sie aktualisieren möchten:

```
# List all nodes in the instance group
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=INSTANCE_GROUP_NAME

# Example:
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=p4d-group
```

Dieser Befehl gibt eine Liste aller Knoten in der angegebenen Instanzgruppe zurück. Notieren Sie sich jeden Knotennamen für die folgenden Schritte.

### Schritt 2: Sperren und Entleeren Sie jeden Knoten
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain"></a>

Führen Sie für jeden in Schritt 1 identifizierten Knoten die folgenden Aktionen aus:

#### Sperren Sie den Knoten ab
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain-cordon"></a>

Durch das Absperren wird verhindert, dass neue Pods auf dem Knoten geplant werden:

```
# Cordon a single node
kubectl cordon NODE_NAME

# Example:
kubectl cordon hyperpod-i-014a41a7001adca60
```

#### Workload-Pods vom Knoten entleeren
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-drain-evict"></a>

Entleeren Sie den Knoten, um alle Workload-Pods zu entfernen und gleichzeitig die System-Pods beizubehalten:

```
# Drain the node (ignore DaemonSets and evict pods)
kubectl drain NODE_NAME \
  --ignore-daemonsets \
  --delete-emptydir-data \
  --force \
  --grace-period=300

# Example:
kubectl drain hyperpod-i-014a41a7001adca60 \
  --ignore-daemonsets \
  --delete-emptydir-data \
  --force \
  --grace-period=300
```

**Erläuterung der Befehlsoptionen:**
+ `--ignore-daemonsets`- Ermöglicht es, den Entleerungsvorgang auch dann fortzusetzen, wenn DaemonSet Pods vorhanden sind
+ `--delete-emptydir-data`— Löscht Pods mithilfe von EmptyDir-Volumes (erforderlich, damit das Entleeren erfolgreich ist)
+ `--force`- Erzwingt das Löschen von Pods, die nicht von einem Controller verwaltet werden (mit Vorsicht verwenden)
+ `--grace-period=300`- Gibt Pods 5 Minuten Zeit, um sie ordnungsgemäß zu beenden

**Wichtig**  
Der Entleerungsvorgang kann je nach Anzahl der Pods und deren Übergangsfristen mehrere Minuten dauern
System-Pods in den folgenden Namespaces werden weiterhin ausgeführt:`kube-system`,`cert-manager`,`kubeflow`,`hyperpod-inference-system`,`kube-public`,,`mpi-operator`,`gpu-operator`, `aws-hyperpod``jupyter-k8s-system`, und `hyperpod-observability` `kueue-system` `keda`
DaemonSet Pods bleiben auf dem Knoten (sie werden vom Design her ignoriert)

### Schritt 3: Stellen Sie sicher, dass keine Workload-Pods ausgeführt werden
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-verify"></a>

Stellen Sie nach dem Entleeren sicher, dass keine Workload-Pods auf den Knoten verbleiben (außer System-Namespaces):

```
# Check for any remaining pods outside system namespaces
kubectl get pods --all-namespaces --field-selector spec.nodeName=NODE_NAME \
  | grep -v "kube-system" \
  | grep -v "cert-manager" \
  | grep -v "kubeflow" \
  | grep -v "hyperpod-inference-system" \
  | grep -v "kube-public" \
  | grep -v "mpi-operator" \
  | grep -v "gpu-operator" \
  | grep -v "aws-hyperpod" \
  | grep -v "jupyter-k8s-system" \
  | grep -v "hyperpod-observability" \
  | grep -v "kueue-system" \
  | grep -v "keda"

# Example:
kubectl get pods --all-namespaces --field-selector spec.nodeName=hyperpod-i-014a41a7001adca60 \
  | grep -v "kube-system" \
  | grep -v "cert-manager" \
  | grep -v "kubeflow" \
  | grep -v "hyperpod-inference-system" \
  | grep -v "kube-public" \
  | grep -v "mpi-operator" \
  | grep -v "gpu-operator" \
  | grep -v "aws-hyperpod" \
  | grep -v "jupyter-k8s-system" \
  | grep -v "hyperpod-observability" \
  | grep -v "kueue-system" \
  | grep -v "keda"
```

**Erwartete Ausgabe:** Wenn der Knoten ordnungsgemäß entleert wurde, sollte dieser Befehl keine Ergebnisse zurückgeben (oder nur die Kopfzeile anzeigen). Falls noch Pods laufen, untersuchen Sie, warum sie nicht entfernt wurden, und löschen Sie sie gegebenenfalls manuell.

### Schritt 4: Überprüfen Sie den Bereitschaftsstatus des Knotens
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-readiness"></a>

Bevor Sie mit dem MIG-Update fortfahren, stellen Sie sicher, dass alle Knoten gesperrt sind:

```
# Check node status - should show "SchedulingDisabled"
kubectl get nodes -l sagemaker.amazonaws.com/instance-group-name=INSTANCE_GROUP_NAME
```

Die Knoten sollten `SchedulingDisabled` in der STATUS-Spalte angezeigt werden, was bedeutet, dass sie gesperrt und bereit für das MIG-Update sind.

### MIG-Profil auf vorhandenem Cluster aktualisieren
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-update-change"></a>

Sie können die MIG-Profile auf vorhandenen Clustern ändern:

```
aws sagemaker update-cluster \
  --cluster-name my-mig-cluster \
  --instance-groups '{
    "InstanceGroupName": "gpu-group",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 1,
    "KubernetesConfig": {
       "Labels": {
          "nvidia.com/mig.config": "all-3g.20gb"
       }
    },
    "ExecutionRole": "arn:aws:iam::account:role/execution-role"
  }'
```

**Anmerkung**  
Wenn Jobs bereits auf einem Knoten ausgeführt werden, schlägt die MIG-Partitionierung fehl. Der Benutzer erhält eine Fehlermeldung mit der Aufforderung, die Knoten zu entleeren, bevor er erneut versucht, die MIG-Partitionierung durchzuführen.

## Die MIG-Konfiguration wird überprüft
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-verify"></a>

Überprüfen Sie nach der Erstellung oder Aktualisierung des Clusters die MIG-Konfiguration:

```
# Update kubeconfig
aws eks update-kubeconfig --name your-eks-cluster --region us-east-2

# Check MIG labels
kubectl get node NODE_NAME -o=jsonpath='{.metadata.labels}' | grep mig

# Check available MIG resources
kubectl describe node NODE_NAME | grep -A 10 "Allocatable:"
```

## Allgemeine Befehle zum Debuggen der MIG-Konfiguration
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-debug-commands"></a>

Verwenden Sie die folgenden Befehle, um Fehler bei der MIG-Konfiguration in Ihrem Cluster zu beheben und zu überprüfen:

```
# Check GPU Operator status
kubectl get pods -n gpu-operator-resources

# View MIG configuration
kubectl exec -n gpu-operator-resources nvidia-driver-XXXXX -- nvidia-smi mig -lgi

# Check device plugin configuration
kubectl logs -n gpu-operator-resources nvidia-device-plugin-XXXXX

# Monitor node events
kubectl get events --field-selector involvedObject.name=NODE_NAME
```

**Anmerkung**  
Ersetzen Sie `nvidia-driver-XXXXX` und `nvidia-device-plugin-XXXXX` durch die tatsächlichen Pod-Namen aus Ihrem Cluster und `NODE_NAME` durch den Namen Ihres Knotens.

## Verwenden der SageMaker AI-Konsole
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console"></a>

### Einen neuen Cluster mit MIG erstellen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console-create"></a>

1. Navigieren Sie zu **Amazon SageMaker AI** > **HyperPod Clusters** **> Cluster Management** > ** HyperPod Cluster erstellen**

1. Wählen Sie **Orchestriert von EKS**

1. Wählen Sie **Benutzerdefiniertes Setup** und stellen Sie sicher, dass der **GPU-Operator** standardmäßig aktiviert ist

1. Klicken Sie im Abschnitt **Instanzgruppen** auf **Gruppe hinzufügen**

1. Konfigurieren Sie die Instanzgruppe und navigieren Sie zu **Erweiterte Konfiguration**, um die Option **GPU-Partition verwenden** zu aktivieren, und wählen Sie die gewünschte **MIG-Konfiguration aus der Dropdownliste** aus

1. Klicken Sie auf **Instanzgruppe hinzufügen** und schließen Sie die verbleibende Clusterkonfiguration ab

1. Klicken Sie auf **Senden**, um den Cluster zu erstellen

### Die MIG-Konfiguration auf einem vorhandenen Cluster wird aktualisiert
<a name="sagemaker-hyperpod-eks-gpu-partitioning-setup-console-update"></a>

1. Navigieren Sie zu **Amazon SageMaker AI** > **HyperPod Clusters** **> Cluster Management**

1. Wählen Sie Ihren vorhandenen Cluster aus und klicken Sie in der Instance-Gruppe, die Sie ändern möchten, auf **Bearbeiten**

1. Aktivieren **Sie in der **erweiterten Konfiguration** die Option GPU-Partition verwenden**, falls nicht bereits aktiviert, und wählen Sie eine andere **MIG-Konfiguration aus der Dropdownliste** aus

1. **Klicken Sie auf Änderungen speichern**

# Lebenszyklus und Labels von Knoten
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels"></a>

Amazon SageMaker HyperPod führt während der Erstellung und Aktualisierung von HyperPod Clustern vor Beginn der GPU-Partitionierung eingehende Integritätsprüfungen für Cluster-Instances durch. HyperPod Der Health Monitoring Agent überwacht kontinuierlich den Integritätsstatus von GPU-partitionierten Instances.

## Status der MIG-Konfiguration
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-states"></a>

Knoten mit GPU-Partitionskonfiguration durchlaufen mehrere Zustände:
+ **Ausstehend** — Der Knoten wird mit einem MIG-Profil konfiguriert
+ **Konfiguration** — Der GPU-Operator wendet die MIG-Partitionierung an
+ **Erfolgreich** — Die GPU-Partitionierung wurde erfolgreich abgeschlossen
+ **Fehlgeschlagen** — Bei der GPU-Partitionierung ist ein Fehler aufgetreten

## Überwachen von Knotenzuständen
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-monitoring"></a>

```
# Check node health status
kubectl get nodes -l sagemaker.amazonaws.com/node-health-status=Schedulable

# Monitor MIG configuration progress
kubectl get node NODE_NAME -o jsonpath='{.metadata.labels.nvidia\.com/mig\.config\.state}'

# Check for configuration errors
kubectl describe node NODE_NAME | grep -A 5 "Conditions:"
```

## Benutzerdefinierte Labels und Taints
<a name="sagemaker-hyperpod-eks-gpu-partitioning-labels-custom"></a>

Sie können die MIG-Konfiguration mit benutzerdefinierten Labels und Taints verwalten, um Ihre GPU-Partitionen zu kennzeichnen und sie instanzübergreifend anzuwenden:

```
{
  "KubernetesConfig": {
    "Labels": {
      "nvidia.com/mig.config": "all-2g.10gb",
      "task-type": "inference",
      "environment": "production"
    },
    "Taints": [
      {
        "Key": "gpu-task",
        "Value": "mig-enabled",
        "Effect": "NoSchedule"
      }
    ]
  }
}
```

# Einreichung von Aufgaben mit MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission"></a>

**Topics**
+ [Verwenden von Kubernetes YAML](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-kubectl)
+ [HyperPod CLI verwenden](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-cli)
+ [Modellbereitstellung mit MIG](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment)
+ [HyperPod CLI verwenden](#sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli)

## Verwenden von Kubernetes YAML
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-kubectl"></a>

```
apiVersion: batch/v1
kind: Job
metadata:
  name: mig-job
  namespace: default
spec:
  template:
    spec:
      containers:
      - name: pytorch
        image: pytorch/pytorch:latest
        resources:
          requests:
            nvidia.com/mig-1g.5gb: 1
            cpu: "100m"
            memory: "128Mi"
          limits:
            nvidia.com/mig-1g.5gb: 1
      restartPolicy: Never
```

## HyperPod CLI verwenden
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-cli"></a>

Verwenden Sie die HyperPod CLI, um JumpStart Modelle mit MIG-Unterstützung bereitzustellen. Das folgende Beispiel zeigt die neuen CLI-Parameter für die GPU-Partitionierung:

```
# Deploy JumpStart model with MIG
hyp create hyp-jumpstart-endpoint \
  --model-id deepseek-llm-r1-distill-qwen-1-5b \
  --instance-type ml.p5.48xlarge \
  --accelerator-partition-type mig-2g.10gb \
  --accelerator-partition-validation True \
  --endpoint-name my-endpoint \
  --tls-certificate-output-s3-uri s3://certificate-bucket/ \
  --namespace default
```

## Modellbereitstellung mit MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-deployment"></a>

HyperPod Inference ermöglicht die Bereitstellung der Modelle auf MIG-Profilen über Studio Classic `kubectl` und HyperPod CLI. Um JumpStart Modelle auf bereitzustellen`kubectl`, CRDs müssen Felder aufgerufen werden, `spec.server.acceleratorPartitionType` um das Modell für das gewünschte MIG-Profil bereitzustellen. Wir führen Validierungen durch, um sicherzustellen, dass Modelle auf dem in der CRD ausgewählten MIG-Profil bereitgestellt werden können. Falls Sie die MIG-Validierungsprüfungen deaktivieren möchten, verwenden Sie `spec.server.validations.acceleratorPartitionValidation` `False`

### JumpStart Modelle
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-jumpstart"></a>

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name: deepseek-model
  namespace: default
spec:
  sageMakerEndpoint:
    name: deepseek-endpoint
  model:
    modelHubName: SageMakerPublicHub
    modelId: deepseek-llm-r1-distill-qwen-1-5b
  server:
    acceleratorPartitionType: mig-7g.40gb
    instanceType: ml.p4d.24xlarge
```

### Modell von Amazon S3 bereitstellen mit InferenceEndpointConfig
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-s3"></a>

InferenceEndpointConfig ermöglicht es Ihnen, ein benutzerdefiniertes Modell von Amazon S3 aus bereitzustellen. Um ein Modell auf MIG bereitzustellen, `spec.worker.resources` erwähnen Sie das MIG-Profil in `requests` und`limits`. Im Folgenden wird eine einfache Bereitstellung beschrieben:

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: custom-model
  namespace: default
spec:
  replicas: 1
  modelName: my-model
  endpointName: my-endpoint
  instanceType: ml.p4d.24xlarge
  modelSourceConfig:
    modelSourceType: s3
    s3Storage:
      bucketName: my-model-bucket
      region: us-east-2
    modelLocation: model-path
  worker:
    resources:
      requests:
        nvidia.com/mig-3g.20gb: 1
        cpu: "5600m"
        memory: "10Gi"
      limits:
        nvidia.com/mig-3g.20gb: 1
```

### Stellen Sie das Modell von FSx for Lustre bereit mit InferenceEndpointConfig
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-fsx"></a>

InferenceEndpointConfig ermöglicht es Ihnen, ein benutzerdefiniertes Modell FSx für Lustre bereitzustellen. Um ein Modell auf MIG bereitzustellen, `spec.worker.resources` erwähnen Sie das MIG-Profil in `requests` und`limits`. Im Folgenden wird eine einfache Bereitstellung beschrieben:

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: custom-model
  namespace: default
spec:
  replicas: 1
  modelName: my-model
  endpointName: my-endpoint
  instanceType: ml.p4d.24xlarge
  modelSourceConfig:
    modelSourceType: fsx
    fsxStorage:
      fileSystemId: fs-xxxxx
    modelLocation: location-on-fsx
  worker:
    resources:
      requests:
        nvidia.com/mig-3g.20gb: 1
        cpu: "5600m"
        memory: "10Gi"
      limits:
        nvidia.com/mig-3g.20gb: 1
```

### Verwenden der klassischen Benutzeroberfläche von Studio
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio"></a>

#### Bereitstellen von JumpStart Modellen mit MIG
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-deploy"></a>

1. Öffnen Sie **Studio Classic** und navigieren Sie zu **JumpStart**

1. Suchen oder suchen Sie nach Ihrem gewünschten Modell (z. B. "DeepSeek„, „Lama“ usw.)

1. **Klicken Sie auf die Modellkarte und wählen Sie Bereitstellen**

1. In der Bereitstellungskonfiguration:
   + Wählen Sie **HyperPod**als Bereitstellungsziel
   + Wählen Sie Ihren MIG-fähigen Cluster aus der Dropdownliste aus
   + Unter **Instance-Konfiguration**:
     + Wählen Sie den Instanztyp aus (z. B.) `ml.p4d.24xlarge`
     + Wählen Sie den **GPU-Partitionstyp** aus den verfügbaren Optionen
     + Konfigurieren Sie die Einstellungen für die **Anzahl der Instanzen** und die **automatische Skalierung**

1. **Überprüfen Sie und klicken Sie auf Bereitstellen**

1. Überwachen Sie den Bereitstellungsfortschritt im Bereich **Endpoints**

#### Optionen für die Modellkonfiguration
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-config"></a>

**Endpunkt-Einstellungen:**
+ **Endpunktname** — Eindeutiger Bezeichner für Ihre Bereitstellung
+ **Variantenname** — Konfigurationsvariante (Standard: AllTraffic)
+ **Instanztyp** — Muss die GPU-Partition (P-Serie) unterstützen
+ **MIG-Profil** — GPU-Partition
+ **Anfängliche Anzahl der Instanzen** — Anzahl der bereitzustellenden Instanzen
+ **Automatische Skalierung** — Aktiviert die dynamische Skalierung auf der Grundlage des Datenverkehrs

**Erweiterte Konfiguration:**
+ **Speicherort der Modelldaten** — Amazon S3 S3-Pfad für benutzerdefinierte Modelle
+ **Container-Image** — Benutzerdefinierter Inferenzcontainer (optional)
+ **Umgebungsvariablen** — Modellspezifische Konfigurationen
+ **Amazon VPC-Konfiguration — Einstellungen** für die Netzwerkisolierung

#### Überwachung der eingesetzten Modelle
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-studio-monitor"></a>

1. **Navigieren Sie zu **Studio Classic** > **Bereitstellungen > Endpoints****

1. Wählen Sie Ihren MIG-fähigen Endpunkt

1. Sehen Sie sich unter anderem folgende Kennzahlen an:
   + **MIG-Nutzung — Nutzung** pro GPU-Partition
   + **Speicherverbrauch** — Pro GPU-Partition
   + **Inferenzlatenz** — Verarbeitungszeit der Anfrage
   + **Durchsatz** — Anfragen pro Sekunde

1. ** CloudWatch Amazon-Alarme** für die automatische Überwachung einrichten

1. Konfigurieren Sie **Richtlinien für die auto-scaling** auf der Grundlage der MIG-Nutzung

## HyperPod CLI verwenden
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli"></a>

### JumpStart Einsatz
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli-jumpstart"></a>

Der HyperPod JumpStart CLI-Befehl enthält zwei neue Felder für die MIG-Unterstützung:
+ `--accelerator-partition-type`- Spezifiziert die MIG-Konfiguration (z. B. mig-4g.20gb)
+ `--accelerator-partition-validation`- Überprüft die Kompatibilität zwischen Modellen und MIG-Profil (Standard: true)

```
hyp create hyp-jumpstart-endpoint \
  --version 1.1 \
  --model-id deepseek-llm-r1-distill-qwen-1-5b \
  --instance-type ml.p4d.24xlarge \
  --endpoint-name js-test \
  --accelerator-partition-type "mig-4g.20gb" \
  --accelerator-partition-validation true \
  --tls-certificate-output-s3-uri s3://my-bucket/certs/
```

### Bereitstellung benutzerdefinierter Endgeräte
<a name="sagemaker-hyperpod-eks-gpu-partitioning-task-submission-hyperpod-cli-custom"></a>

Verwenden Sie für die Bereitstellung über einen benutzerdefinierten Endpunkt die vorhandenen Felder `--resources-requests` und aktivieren `--resources-limits` Sie die MIG-Profilfunktion:

```
hyp create hyp-custom-endpoint \
  --namespace default \
  --metadata-name deepseek15b-mig-10-14-v2 \
  --endpoint-name deepseek15b-mig-endpoint \
  --instance-type ml.p4d.24xlarge \
  --model-name deepseek15b-mig \
  --model-source-type s3 \
  --model-location deep-seek-15b \
  --prefetch-enabled true \
  --tls-certificate-output-s3-uri s3://sagemaker-bucket \
  --image-uri lmcache/vllm-openai:v0.3.7 \
  --container-port 8080 \
  --model-volume-mount-path /opt/ml/model \
  --model-volume-mount-name model-weights \
  --s3-bucket-name model-storage-123456789 \
  --s3-region us-east-2 \
  --invocation-endpoint invocations \
  --resources-requests '{"cpu":"5600m","memory":"10Gi","nvidia.com/mig-3g.20gb":"1"}' \
  --resources-limits '{"nvidia.com/mig-3g.20gb":"1"}' \
  --env '{
    "OPTION_ROLLING_BATCH":"vllm",
    "SERVING_CHUNKED_READ_TIMEOUT":"480",
    "DJL_OFFLINE":"true",
    "NUM_SHARD":"1",
    "SAGEMAKER_PROGRAM":"inference.py",
    "SAGEMAKER_SUBMIT_DIRECTORY":"/opt/ml/model/code",
    "MODEL_CACHE_ROOT":"/opt/ml/model",
    "SAGEMAKER_MODEL_SERVER_WORKERS":"1",
    "SAGEMAKER_MODEL_SERVER_TIMEOUT":"3600",
    "OPTION_TRUST_REMOTE_CODE":"true",
    "OPTION_ENABLE_REASONING":"true",
    "OPTION_REASONING_PARSER":"deepseek_r1",
    "SAGEMAKER_CONTAINER_LOG_LEVEL":"20",
    "SAGEMAKER_ENV":"1"
  }'
```

# Cluster-Resilienzfunktionen für SageMaker HyperPod Cluster-Orchestrierung mit Amazon EKS
<a name="sagemaker-hyperpod-eks-resiliency"></a>

SageMaker HyperPod bietet die folgenden Funktionen zur Cluster-Resilienz. 

**Topics**
+ [System zur Gesundheitsüberwachung](sagemaker-hyperpod-eks-resiliency-health-monitoring-agent.md)
+ [Grundlegende Zustandsprüfungen](sagemaker-hyperpod-eks-resiliency-basic-health-check.md)
+ [Tiefgreifende Zustandsprüfungen](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md)
+ [Automatische Wiederherstellung von Knoten](sagemaker-hyperpod-eks-resiliency-node-recovery.md)
+ [Kubernetes-Labels im Zusammenhang mit Resilienz von SageMaker HyperPod](sagemaker-hyperpod-eks-resiliency-node-labels.md)
+ [Einen Knoten manuell unter Quarantäne stellen, ersetzen oder neu starten](sagemaker-hyperpod-eks-resiliency-manual.md)
+ [Empfohlene Ausfallsicherheitskonfigurationen](sagemaker-hyperpod-eks-resiliency-config-tips.md)

# System zur Gesundheitsüberwachung
<a name="sagemaker-hyperpod-eks-resiliency-health-monitoring-agent"></a>

SageMaker HyperPod Das System zur Gesundheitsüberwachung besteht aus zwei Komponenten 

1. In Ihren Knoten installierte Monitoring-Agenten, zu denen der Health Monitoring Agent (HMA), der als Systemmonitor auf dem Host dient, und eine Reihe von out-of-node Gesundheitsmonitoren gehören.

1. Node Recovery System, verwaltet von. SageMaker HyperPod Das System zur Zustandsüberwachung überwacht den Zustand des Knotens kontinuierlich über Überwachungsagenten und ergreift dann automatisch Maßnahmen, wenn mithilfe des Node Recovery Systems ein Fehler erkannt wird. 

![\[Dieses Bild zeigt, wie das System zur Gesundheitsüberwachung in den HyperPod Cluster integriert ist.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-resilience-event.png)


## Gesundheitschecks, die vom SageMaker HyperPod Gesundheitsüberwacher durchgeführt werden
<a name="sagemaker-hyperpod-eks-resiliency-health-monitoring-agent-list-of-checks"></a>

Der Beauftragte für die SageMaker HyperPod Gesundheitsüberwachung überprüft Folgendes.

**NVIDIA GPUs**
+ [Benachrichtigungen bei Verstößen gegen die DCGM-Richtlinien](https://docs.nvidia.com/datacenter/dcgm/3.0/user-guide/feature-overview.html#notifications)
+ Fehler in der Ausgabe `nvidia-smi`
+ Verschiedene Fehler in den Protokollen, die von der Amazon Elastic Compute Cloud (EC2) -Plattform generiert wurden
+ Validierung der GPU-Anzahl — Wenn die erwartete Anzahl von GPUs in einem bestimmten Instance-Typ (zum Beispiel: 8 GPUs im Instance-Typ ml.p5.48xlarge) und der von zurückgegebenen Anzahl nicht übereinstimmt, startet HMA den Knoten neu `nvidia-smi` 

**AWS Trainium**
+ Fehler in der Ausgabe des [AWS Neuron-Monitors](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-monitor-user-guide.html)
+ Vom Neuron-Knoten-Problemdetektor generierte Ausgaben (Weitere Informationen zum AWS Neuron-Knoten-Problemdetektor finden Sie unter [Erkennung und Wiederherstellung von Knotenproblemen für AWS Neuron-Knoten in Amazon EKS-Clustern](https://aws.amazon.com/blogs/machine-learning/node-problem-detection-and-recovery-for-aws-neuron-nodes-within-amazon-eks-clusters/).)
+ Verschiedene Fehler in den von der Amazon EC2-Plattform generierten Protokollen
+ Überprüfung der Anzahl neuronaler Geräte — Wenn die tatsächliche Anzahl der neuronalen Geräte in einem bestimmten Instance-Typ nicht mit der von `neuron-ls` zurückgegebenen Anzahl übereinstimmt, startet HMA den Knoten neu

 Die oben genannten Prüfungen sind passiv. Die Zustandsprüfungen im Hintergrund werden kontinuierlich auf Ihren Knoten HyperPod ausgeführt. Zusätzlich zu diesen Prüfungen werden während der Erstellung und Aktualisierung von HyperPod Clustern gründliche (oder aktive) Zustandsprüfungen durchgeführt. HyperPod Erfahren Sie mehr über [Deep Health Checks](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-resiliency-deep-health-checks.html).

## Erkennung von Fehlern
<a name="sagemaker-hyperpod-eks-resiliency-health-monitoring-fault-detection"></a>

Wenn ein Fehler SageMaker HyperPod erkannt wird, wird eine vierteilige Reaktion implementiert:

1. **Knotenbeschriftungen**

   1. Gesundheitsstatus: `sagemaker.amazonaws.com/node-health-status`

   1. Fehlertyp: `sagemaker.amazonaws.com/fault-types` Bezeichnung für eine allgemeine Kategorisierung

   1. Fehlergrund: `sagemaker.amazonaws.com/fault-reasons` Etikett für detaillierte Fehlerinformationen

1. **Node Taint**

   1. `sagemaker.amazonaws.com/node-health-status=Unschedulable:NoSchedule`

1. **Anmerkung zum Knoten**

   1. Einzelheiten zum Fehler: `sagemaker.amazonaws.com/fault-details`

   1. Zeichnet bis zu 20 Fehler mit Zeitstempeln auf, die auf dem Knoten aufgetreten sind

1. **Knotenbedingungen** ([Kubernetes-Knotenzustand](https://kubernetes.io/docs/reference/node/node-status/#condition))

   1. Spiegelt den aktuellen Gesundheitszustand in den Knotenbedingungen wider:
      + Typ: Entspricht dem Fehlertyp
      + Status: `True`
      + Grund: Entspricht dem Fehlergrund
      + LastTransitionTime: Zeit des Auftretens des Fehlers

![\[Dieses Bild zeigt, wie das System zur Gesundheitsüberwachung funktioniert, wenn ein Fehler erkannt wird.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-resilience-workflow.png)


## Vom SageMaker HyperPod Health Monitoring-Agenten generierte Protokolle
<a name="sagemaker-hyperpod-eks-resiliency-health-monitoring-agent-health-check-results"></a>

Der SageMaker HyperPod Health Monitoring Agent ist eine out-of-the-box Funktion zur Integritätsprüfung und wird kontinuierlich auf allen Clustern ausgeführt. HyperPod Der Health Monitoring Agent veröffentlicht erkannte Integritätsereignisse auf GPU- oder Trn-Instances in der CloudWatch Cluster-Protokollgruppe. `/aws/sagemaker/Clusters/`

Die Erkennungsprotokolle des HyperPod Health Monitoring Agents werden als separate Protokollstreams erstellt, die `SagemakerHealthMonitoringAgent` nach jedem Knoten benannt sind. Sie können die Erkennungsprotokolle mithilfe von CloudWatch Log Insights wie folgt abfragen.

```
fields @timestamp, @message
| filter @message like /HealthMonitoringAgentDetectionEvent/
```

Dies sollte eine Ausgabe ähnlich der folgenden erzeugen.

```
2024-08-21T11:35:35.532-07:00
    {"level":"info","ts":"2024-08-21T18:35:35Z","msg":"NPD caught event: %v","details: ":{"severity":"warn","timestamp":"2024-08-22T20:59:29Z","reason":"XidHardwareFailure","message":"Node condition NvidiaErrorReboot is now: True, reason: XidHardwareFailure, message: \"NVRM: Xid (PCI:0000:b9:00): 71, pid=<unknown>, name=<unknown>, NVLink: fatal error detected on link 6(0x10000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\""},"HealthMonitoringAgentDetectionEvent":"HealthEvent"}
2024-08-21T11:35:35.532-07:00
    {"level":"info","ts":"2024-08-21T18:35:35Z","msg":"NPD caught event: %v","details: ":{"severity":"warn","timestamp":"2024-08-22T20:59:29Z","reason":"XidHardwareFailure","message":"Node condition NvidiaErrorReboot is now: True, reason: XidHardwareFailure, message: \"NVRM: Xid (PCI:0000:b9:00): 71, pid=<unknown>, name=<unknown>, NVLink: fatal error detected on link 6(0x10000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\""},"HealthMonitoringAgentDetectionEvent":"HealthEvent"}
```

# Grundlegende Zustandsprüfungen
<a name="sagemaker-hyperpod-eks-resiliency-basic-health-check"></a>

SageMaker HyperPod führt während der Erstellung und Aktualisierung von Clustern eine Reihe *grundlegender Integritätsprüfungen* für HyperPod Cluster-Instances durch. Diese grundlegenden Zustandsprüfungen sind orchestratorunabhängig, sodass diese Prüfungen unabhängig von den zugrunde liegenden Orchestrierungsplattformen, die von SageMaker HyperPod (Amazon EKS oder Slurm) unterstützt werden, anwendbar sind.

Bei den grundlegenden Zustandsprüfungen werden Cluster-Instances auf Probleme im Zusammenhang mit Geräten wie Beschleunigern (GPU- und Trainium-Kernen) und Netzwerkgeräten (Elastic Fabric Adapter oder EFA) überwacht. [Eine Liste der grundlegenden Cluster-Zustandsprüfungen finden Sie unter Cluster-Zustandsprüfungen.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm.html#sagemaker-hyperpod-resiliency-slurm-cluster-health-check)

# Tiefgreifende Zustandsprüfungen
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks"></a>

SageMaker HyperPod führt während der Erstellung und Aktualisierung von Clustern *eingehende Integritätsprüfungen* für HyperPod Clusterinstanzen durch. Die umfassenden Integritätsprüfungen stellen die Zuverlässigkeit und Stabilität der SageMaker HyperPod Cluster sicher, indem die zugrunde liegenden Hardware- und Infrastrukturkomponenten gründlich getestet werden, bevor die Cluster für das Training von Modellen für maschinelles Lernen verwendet werden können. Dieser proaktive Ansatz hilft dabei, potenzielle Probleme zu einem frühen Zeitpunkt im Cluster-Lebenszyklus zu erkennen und zu beheben.

## Liste der tiefgreifenden Integritätsprüfungen, die durchgeführt wurden von SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-list"></a>

SageMaker HyperPod führt die folgenden umfassenden Integritätsprüfungen durch.

**Umfassende Zustandsprüfungen auf Instance-Ebene**


| Kategorie | Name des Dienstprogramms | Kompatibilität von Instance-Typen | Description | 
| --- | --- | --- | --- | 
| Accelerator | GPU/Anzahl NVLink  | GPU | Überprüft die Anzahl GPU/NVLink . | 
| Accelerator | [DCGM-Diagnose Stufe](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html) 4 | GPU | Beurteilt den Zustand und die Funktionalität von NVIDIA, GPUs indem DCGM-Diagnosen (NVIDIA Data Center GPU Manager) auf Stufe 4 ausgeführt werden, einschließlich zusätzlicher Speichertests. | 
| Accelerator | Neuron sysfs | Trainium | Bei Trainium-basierten Instances wird der Zustand der Neuron-Geräte durch Auslesen der Zähler aus [Neuron sysfs](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-sysfs-user-guide.html) ermittelt, die direkt vom Neuron-Treiber übertragen werden. | 
| Accelerator | Neuron-Hardwareprüfung | Trainium | Führt einen Trainings-Workload durch und verifiziert die Ergebnisse, um die Hardware zu testen. | 
| Accelerator | Lokaler NCCOM-Test | Trainium | Evaluiert die Leistung kollektiver Kommunikationsoperationen auf einzelnen Trainium-Knoten | 
| Netzwerk | EFA | GPU und Trainium | Führt einen Latenz- und Bandbreiten-Benchmarking auf dem angeschlossenen EFA-Gerät durch. | 

**Tiefgreifende Integritätsprüfungen auf Clusterebene**


| Kategorie | Name des Dienstprogramms | Kompatibilität von Instance-Typen | Description | 
| --- | --- | --- | --- | 
| Accelerator | NCCL-Prüfung | GPU | Überprüft die Leistung kollektiver Kommunikationsvorgänge auf mehreren NVIDIA-Geräten GPUs | 
| Accelerator | NCCOM-Clustertest | Trainium | Überprüft die Leistung kollektiver Kommunikationsoperationen auf mehreren Trainium-Knoten | 

## Protokolle der umfassenden Gesundheitschecks
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-log"></a>

Im Folgenden finden Sie Beispielprotokolle aus den SageMaker HyperPod Deep Health Checks.

**Protokolle auf Clusterebene** 

Die Protokolle für tiefe Integritätsprüfungen auf Clusterebene werden in Ihrer CloudWatch Protokollgruppe unter gespeichert `/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>`

Die Protokollstream werden unter `DeepHealthCheckResults/<log_stream_id>` protokolliert.

Als Beispiel unten zeigen die Ausgabeprotokolle für Deep Health Checks die Instance-ID, die die Prüfungen nicht bestanden hat, mit der Ursache des Fehlers.

```
{
    "level": "error",
    "ts": "2024-06-18T21:15:22Z",
    "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: p4d.24xlarge. ERROR:Bandwidth has less than threshold: Expected minimum threshold :80,NCCL Test output Bw: 30"
}
```

**Protokolle auf Instance-Ebene** 

Die Protokolle der umfassenden Zustandsprüfung auf Instance-Ebene werden unter `/var/log/aws/clusters/sagemaker-deep-health-check.log` auf jedem Knoten gespeichert. Stellen Sie eine Verbindung mit SSH auf den Knoten her und öffnen Sie die Protokolldatei, indem Sie den folgenden Befehl ausführen.

```
cat /var/log/aws/clusters/sagemaker-deep-health-check.log
```

Im Folgenden finden Sie ein Beispiel für die Ausgabe des Hardwarestress, des [NVIDIA DCGM-Stresses](https://developer.nvidia.com/dcgm) und des EFA-Konnektivitätstests.

```
# Hardware Stress Test output

2024-08-20T21:53:58Z info Executing Hardware stress check with command: stress-ng, and args: [--cpu 32 --vm 2 --hdd 1 --fork 8 --switch 4 --timeout 60 --metrics]

2024-08-20T21:54:58Z info stress-ng success

2024-08-20T21:54:58Z    info    GpuPci Count check success

# DCGM Stress Test

2024-08-20T22:25:02Z    info    DCGM diagnostic health summary: dcgmCheckLevel: 0 dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01, gpuDeviceIds: [2237] replacementRequired: false rebootRequired:false

# EFA Loopback Test

2024-08-20T22:26:28Z    info    EFA Loopback check passed for device: rdmap0s29 . Output summary is MaxBw: 58.590000, AvgBw: 32.420000, MaxTypicalLat: 30.870000, MinTypicalLat: 20.080000, AvgLat: 21.630000
```

Im Folgenden finden Sie eine Beispielausgabe des NCCL-Konnektivitätstests.

```
#       size         count      type   redop    root     time   algbw   busbw #wrong     time   algbw   busbw #wrong

#        (B)    (elements)                               (us)  (GB/s)  (GB/s)            (us)  (GB/s)  (GB/s)       

           8             2     float     sum      -1    353.9    0.00    0.00      0    304.2    0.00    0.00      0
          16             4     float     sum      -1    352.8    0.00    0.00      0    422.9    0.00    0.00      0
          32             8     float     sum      -1    520.0    0.00    0.00      0    480.3    0.00    0.00      0
          64            16     float     sum      -1    563.0    0.00    0.00      0    416.1    0.00    0.00      0
         128            32     float     sum      -1    245.1    0.00    0.00      0    308.4    0.00    0.00      0
         256            64     float     sum      -1    310.8    0.00    0.00      0    304.9    0.00    0.00      0
         512           128     float     sum      -1    304.9    0.00    0.00      0    300.8    0.00    0.00      0
        1024           256     float     sum      -1    509.3    0.00    0.00      0    495.4    0.00    0.00      0
        2048           512     float     sum      -1    530.3    0.00    0.00      0    420.0    0.00    0.00      0
        4096          1024     float     sum      -1    391.2    0.01    0.01      0    384.5    0.01    0.01      0
        8192          2048     float     sum      -1    328.5    0.02    0.02      0    253.2    0.03    0.03      0
       16384          4096     float     sum      -1    497.6    0.03    0.03      0    490.9    0.03    0.03      0
       32768          8192     float     sum      -1    496.7    0.07    0.07      0    425.0    0.08    0.08      0
       65536         16384     float     sum      -1    448.0    0.15    0.15      0    501.0    0.13    0.13      0
      131072         32768     float     sum      -1    577.4    0.23    0.23      0    593.4    0.22    0.22      0
      262144         65536     float     sum      -1    757.8    0.35    0.35      0    721.6    0.36    0.36      0
      524288        131072     float     sum      -1   1057.1    0.50    0.50      0   1019.1    0.51    0.51      0
     1048576        262144     float     sum      -1   1460.5    0.72    0.72      0   1435.6    0.73    0.73      0
     2097152        524288     float     sum      -1   2450.6    0.86    0.86      0   2583.1    0.81    0.81      0
     4194304       1048576     float     sum      -1   4344.5    0.97    0.97      0   4419.3    0.95    0.95      0
     8388608       2097152     float     sum      -1   8176.5    1.03    1.03      0   8197.8    1.02    1.02      0
    16777216       4194304     float     sum      -1    15312    1.10    1.10      0    15426    1.09    1.09      0
    33554432       8388608     float     sum      -1    30149    1.11    1.11      0    29941    1.12    1.12      0
    67108864      16777216     float     sum      -1    57819    1.16    1.16      0    58635    1.14    1.14      0
   134217728      33554432     float     sum      -1   115699    1.16    1.16      0   115331    1.16    1.16      0
   268435456      67108864     float     sum      -1   227507    1.18    1.18      0   228047    1.18    1.18      0
   536870912     134217728     float     sum      -1   453751    1.18    1.18      0   456595    1.18    1.18      0
  1073741824     268435456     float     sum      -1   911719    1.18    1.18      0   911808    1.18    1.18      0
  2147483648     536870912     float     sum      -1  1804971    1.19    1.19      0  1806895    1.19    1.19      0

2024-08-20T16:22:43.831-07:00

# Out of bounds values : 0 OK

2024-08-20T16:22:43.831-07:00

# Avg bus bandwidth    : 0.488398 

2024-08-20T23:22:43Z    info    Nccl test successful. Summary: NcclMaxAlgoBw: 1.190000, NcclAvgAlgoBw: 0.488398, NcclThresholdAlgoBw: 1.180000, NcclOutOfBoundError: OK, NcclOperations: all_reduce_perf, NcclTotalDevices: 2, NcclNodes: 2, NcclClusterMessage:
```

# Automatische Wiederherstellung von Knoten
<a name="sagemaker-hyperpod-eks-resiliency-node-recovery"></a>

Während der Clustererstellung oder -aktualisierung können Clusteradministratoren die Wiederherstellungsoption für Knoten (Instance) zwischen `Automatic` (empfohlen) und `None` auf Clusterebene wählen. Wenn diese Option auf gesetzt ist`Automatic`, SageMaker HyperPod werden fehlerhafte Knoten automatisch neu gestartet oder ersetzt. 

**Wichtig**  
Wir empfehlen, die Option `Automatic` einzustellen.

Die automatische Knotenwiederherstellung wird ausgeführt, wenn Probleme beim Health Monitoring Agent, bei grundlegenden Zustandsprüfungen und bei umfassenden Integritätsprüfungen festgestellt werden. Wenn diese Option auf gesetzt ist`None`, kennzeichnet der Health Monitoring Agent die Instances, wenn ein Fehler erkannt wird, leitet aber nicht automatisch Reparatur- oder Wiederherstellungsaktionen an den betroffenen Knoten ein. Diese Option wird nicht empfohlen.

# Kubernetes-Labels im Zusammenhang mit Resilienz von SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-resiliency-node-labels"></a>

*Labels* sind Schlüssel-Wert-Paare, die an [Kubernetes-Objekte](https://kubernetes.io/docs/concepts/overview/working-with-objects/#kubernetes-objects) angehängt werden. SageMaker HyperPod führt die folgenden Bezeichnungen für die bereitgestellten Zustandsprüfungen ein.

## Zustandsetiketten
<a name="sagemaker-hyperpod-eks-resiliency-node-labels-health-status"></a>

Die `node-health-status` Beschriftungen stellen den Status des Knotenzustands dar und können als Teil des Knotenauswahlfilters in fehlerfreien Knoten verwendet werden.


| Label (Bezeichnung) | Description | 
| --- | --- | 
| sagemaker.amazonaws.com/node-health-status: Schedulable | Der Knoten hat die grundlegenden Integritätsprüfungen bestanden und ist für die Ausführung von Workloads verfügbar. Diese Integritätsprüfung entspricht den [derzeit verfügbaren SageMaker HyperPod Resilienzfunktionen für Slurm-Cluster](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm.html). | 
| sagemaker.amazonaws.com/node-health-status: Unschedulable | Der Knoten führt tiefgreifende Integritätsprüfungen durch und ist nicht für die Ausführung von Workloads verfügbar. | 
| sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReplacement | Der Knoten hat die tiefgreifenden Integritätsprüfungen oder die Prüfungen des Integritätsüberwachungs-Agents nicht bestanden und muss ersetzt werden. Wenn die automatische Knotenwiederherstellung aktiviert ist, wird der Knoten automatisch durch ersetzt. SageMaker HyperPod | 
| sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReboot | Der Knoten hat die gründlichen Integritätsprüfungen oder die Prüfungen durch einen Agenten zur Gesundheitsüberwachung nicht bestanden und muss neu gestartet werden. Wenn die automatische Knotenwiederherstellung aktiviert ist, wird der Knoten automatisch von neu gestartet. SageMaker HyperPod | 

## Deep-Zustandsprüfung
<a name="sagemaker-hyperpod-eks-resiliency-node-labels-deep-health-check"></a>

Die `deep-health-check-status` Beschriftungen stellen den Fortschritt der gründlichen Integritätsprüfung auf einem bestimmten Knoten dar. Hilfreich für Kubernetes-Benutzer, um schnell nach dem Fortschritt der allgemeinen Deep Health Checks zu filtern.


| Label (Bezeichnung) | Description | 
| --- | --- | 
| sagemaker.amazonaws.com/deep-health-check-status: InProgress | Der Knoten führt tiefgreifende Integritätsprüfungen durch und ist nicht für die Ausführung von Workloads verfügbar. | 
| sagemaker.amazonaws.com/deep-health-check-status: Passed | Der Knoten hat eingehende Integritätsprüfungen und Agentenprüfungen zur Gesundheitsüberwachung erfolgreich abgeschlossen und ist für die Ausführung von Workloads verfügbar. | 
| sagemaker.amazonaws.com/deep-health-check-status: Failed | Der Knoten hat die tiefgreifenden Integritätsprüfungen oder die Prüfungen der Systemüberwachungs-Agenten nicht bestanden und muss neu gestartet oder ausgetauscht werden. Wenn die automatische Knotenwiederherstellung aktiviert ist, wird der Knoten automatisch neu gestartet oder durch ersetzt. SageMaker HyperPod | 

## Bezeichnungen für Art und Ursache des Fehlers
<a name="sagemaker-hyperpod-eks-resiliency-node-labels-fault-type-and-reason"></a>

Im Folgenden werden die Bezeichnungen `fault-type` und `fault-reason` beschrieben.
+ `fault-type`Beschriftungen stehen für allgemeine Fehlerkategorien, wenn Integritätsprüfungen fehlschlagen. Diese werden für Fehler aufgefüllt, die sowohl bei gründlichen Integritätsprüfungen als auch bei der Integritätsüberwachung der Agenten festgestellt wurden.
+ `fault-reason`-Labels geben den detaillierten Fehlergrund in Verbindung mit einem `fault-type` an.

## Wie SageMaker HyperPod Beschriftungen
<a name="sagemaker-hyperpod-eks-resiliency-node-how-it-labels"></a>

In den folgenden Themen wird beschrieben, wie die Etikettierung je nach Fall erfolgt.

**Topics**
+ [Wenn ein Knoten zu einem SageMaker HyperPod Cluster hinzugefügt wird, bei dem die Konfiguration für die Deep-Health-Überprüfung deaktiviert ist](#sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-dhc-is-off)
+ [Wenn ein Knoten zu einem SageMaker HyperPod Cluster hinzugefügt wird, bei dem die Konfiguration für den Deep Health Check aktiviert ist](#sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-dhc-is-on)
+ [Wenn es Rechenausfälle auf den Knoten gibt](#sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-node-fails)

### Wenn ein Knoten zu einem SageMaker HyperPod Cluster hinzugefügt wird, bei dem die Konfiguration für die Deep-Health-Überprüfung deaktiviert ist
<a name="sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-dhc-is-off"></a>

Wenn ein neuer Knoten zu einem Cluster hinzugefügt wird und der Deep Health Check für die Instanzgruppe nicht aktiviert ist, SageMaker HyperPod werden dieselben Integritätsprüfungen durchgeführt wie die [derzeit verfügbaren SageMaker HyperPod Zustandsprüfungen für Slurm-Cluster](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm.html). 

Wenn die Zustandsprüfung erfolgreich ist, werden die Knoten mit der folgenden Bezeichnung gekennzeichnet.

```
sagemaker.amazonaws.com/node-health-status: Schedulable
```

Wenn die Zustandsprüfung nicht bestanden wird, werden die Knoten beendet und ersetzt. Dieses Verhalten entspricht der Funktionsweise der Integritätsprüfung für Slurm-Cluster. SageMaker HyperPod 

### Wenn ein Knoten zu einem SageMaker HyperPod Cluster hinzugefügt wird, bei dem die Konfiguration für den Deep Health Check aktiviert ist
<a name="sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-dhc-is-on"></a>

Wenn ein neuer Knoten zu einem SageMaker HyperPod Cluster hinzugefügt wird und der Deep Health Check-Test für die Instanzgruppe aktiviert ist, wird HyperPod zuerst der Knoten verunreinigt und der \$12-stündige Deep Health check/stress Test auf dem Knoten gestartet. Es gibt 3 mögliche Ausgaben der Node-Labels nach dem Deep Health Check. 

1. Wenn der Deep Health Check-Test bestanden wurde

   ```
   sagemaker.amazonaws.com/node-health-status: Schedulable
   ```

1. Wenn der Deep Health Check-Test fehlschlägt und die Instance ersetzt werden muss

   ```
   sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReplacement
   ```

1. Wenn der Deep Health Check-Test fehlschlägt und die Instance neu gestartet werden muss, um den Deep Health Check erneut auszuführen

   ```
   sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReboot
   ```

Wenn eine Instance den Deep Health Check-Test nicht besteht, wird die Instance immer ersetzt. Wenn der Deep Health Check-Test erfolgreich ist, wird der Makel auf dem Knoten entfernt.

### Wenn es Rechenausfälle auf den Knoten gibt
<a name="sagemaker-hyperpod-eks-resiliency-node-how-it-labels-when-node-fails"></a>

Der SageMaker HyperPod Health Monitor Agent überwacht außerdem kontinuierlich den Integritätsstatus jedes Knotens. Wenn der Agent Fehler feststellt (z. B. GPU-Ausfall oder Treiberabsturz), kennzeichnet er den Knoten mit einer der folgenden Bezeichnungen.

1. Wenn der Knoten fehlerhaft ist und ersetzt werden muss

   ```
   sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReplacement
   ```

1. Wenn der Knoten fehlerhaft ist und neu gestartet werden muss

   ```
   sagemaker.amazonaws.com/node-health-status: UnschedulablePendingReboot
   ```

 Der Health Monitor-Agent verfälscht den Knoten auch, wenn er Probleme mit dem Zustand des Knotens feststellt.

# Einen Knoten manuell unter Quarantäne stellen, ersetzen oder neu starten
<a name="sagemaker-hyperpod-eks-resiliency-manual"></a>

Erfahren Sie, wie Sie einen fehlerhaften Knoten in SageMaker HyperPod Clustern, die mit Amazon EKS orchestriert wurden, manuell unter Quarantäne stellen, ersetzen und neu starten können.

**Um einen Knoten unter Quarantäne zu stellen und das Löschen eines Trainings-Pods zu erzwingen**

```
kubectl cordon <node-name>
```

Erzwingen Sie nach der Quarantäne das Auswerfen des Pods. Dies ist nützlich, wenn Sie sehen, dass ein Pod länger als 30 Minuten im Terminierungsmodus hängen geblieben ist oder wenn unter Ereignisse die Meldung „Knoten ist nicht bereit“ `kubectl describe pod` angezeigt wird

```
kubectl delete pods <pod-name> --grace-period=0 --force
```

SageMaker HyperPod bietet zwei Methoden für die manuelle Wiederherstellung von Knoten. Der bevorzugte Ansatz ist die Verwendung von SageMaker HyperPod Reboot and Replace APIs, das einen schnelleren und transparenteren Wiederherstellungsprozess ermöglicht, der für alle Orchestratoren funktioniert. Alternativ können Sie kubectl-Befehle verwenden, um Knoten für Neustart- und Ersetzungsvorgänge zu kennzeichnen. Beide Methoden aktivieren dieselben SageMaker HyperPod Wiederherstellungsprozesse.

**Um einen Knoten mithilfe der Reboot-API neu zu starten**

Um einen Knoten neu zu starten, können Sie die BatchRebootClusterNodes API verwenden.

 Hier ist ein Beispiel für die Ausführung des Neustartvorgangs auf zwei Instanzen eines Clusters mithilfe von AWS Command Line Interface:

```
 aws sagemaker batch-reboot-cluster-nodes \
        --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \
        --node-ids i-0123456789abcdef0 i-0fedcba9876543210
```

**Um einen Knoten mithilfe der Replace-API zu ersetzen**

Um einen Knoten zu ersetzen, können Sie die BatchReplaceClusterNodes API wie folgt verwenden

 Hier ist ein Beispiel für die Ausführung des Ersetzungsvorgangs auf zwei Instanzen eines Clusters mithilfe von AWS Command Line Interface:

```
 aws sagemaker batch-replace-cluster-nodes \
        --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \
        --node-ids i-0123456789abcdef0 i-0fedcba9876543210
```

**Von Karpenter verwaltete Cluster**  
Bei SageMaker HyperPod Clustern, die Karpenter für die Knotenbereitstellung verwenden, garantiert die `BatchReplaceClusterNodes` API nicht, dass ein Ersatzknoten erstellt wird. Der angegebene Knoten *wird* beendet, aber der Ersatz hängt vom Bereitstellungsmodell von Karpenter ab. pod-demand-based Karpenter erstellt nur dann neue Knoten, wenn sich Pods in einem `Pending` Zustand befinden, der nicht für bestehende Knoten geplant werden kann.  
Wenn die Arbeitslast des gelöschten Knotens auf die verbleibenden Knoten im Cluster verschoben werden kann (z. B. wenn diese Knoten über eine ausreichende Kapazität verfügen), stellt Karpenter keinen Ersatz bereit. Um sicherzustellen, dass ein Ersatzknoten erstellt wird, stellen Sie sicher, dass Ihre Workload-Konfiguration (wie Pod-Anti-Affinitätsregeln oder Ressourcenanforderungen) einen neuen Knoten für die verdrängten Pods erfordert.  
Wir sind uns dieser Einschränkung bewusst und arbeiten aktiv an einer Lösung, um den Austausch von Knoten zu erzwingen, wenn dies über die API angefordert wird.

**Um einen Knoten mit kubectl zu ersetzen**

Benennen Sie den Knoten, durch den ersetzt werden soll`sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement`, was den auslöst. SageMaker HyperPod [Automatische Wiederherstellung von Knoten](sagemaker-hyperpod-eks-resiliency-node-recovery.md) Beachten Sie, dass Sie auch die automatische Knotenwiederherstellung während der Clustererstellung oder -aktualisierung aktivieren müssen.

```
kubectl label nodes <node-name> \
   sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReplacement
```

**Um einen Knoten mit kubectl neu zu starten**

Benennen Sie den Knoten, mit dem neu gestartet werden soll`sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot`, was den auslöst. SageMaker HyperPod [Automatische Wiederherstellung von Knoten](sagemaker-hyperpod-eks-resiliency-node-recovery.md) Beachten Sie, dass Sie auch die automatische Knotenwiederherstellung während der Clustererstellung oder -aktualisierung aktivieren müssen.

```
kubectl label nodes <node-name> \
   sagemaker.amazonaws.com/node-health-status=UnschedulablePendingReboot
```

Nachdem die Labels `UnschedulablePendingReplacement` oder `UnschedulablePendingReboot` hinzugefügt wurden, sollten Sie in wenigen Minuten sehen können, dass der Knoten beendet oder neu gestartet wurde. 

# Empfohlene Ausfallsicherheitskonfigurationen
<a name="sagemaker-hyperpod-eks-resiliency-config-tips"></a>

Wenn die Deep Health Checks aktiviert sind und dem Cluster eine neue Instance hinzugefügt wird (entweder während der HyperPod Clustererstellung oder durch automatischen Knotenaustausch), durchläuft die neue Instance für etwa ein paar Stunden den Deep Health Check-Prozess (Stresstests auf Instanzebene). Im Folgenden finden Sie Vorschläge für Kombinationen von Resilienz-Konfigurationen, die von möglichen Fällen abhängen.

1. **Fall**: Wenn Sie zusätzliche Ersatzknoten innerhalb eines Clusters als Backup-Ressourcen haben (ohne die volle Kapazität zu nutzen), oder wenn Sie etwa 2 Stunden warten können, bis der gründliche Integritätscheck durchgeführt wird, um die weniger fehleranfälligen Instances zu finden.

   **Empfehlung**: Aktivieren Sie die Konfiguration für die umfassende Integritätsprüfung während des gesamten Cluster-Lebenszyklus. Die Konfiguration für die automatische Wiederherstellung des Knotens ist standardmäßig aktiviert.

1. **Fall**: Wenn Sie keine zusätzlichen Backup-Knoten haben (die Kapazität ist für einen Teil der Trainingslast voll ausgeschöpft). Sie möchten die Ersatzknoten so schnell wie möglich erhalten, um den Trainingsjob wieder aufnehmen zu können. 

   **Empfehlung**: Aktivieren Sie den Deep Health Check während der Clustererstellung und schalten Sie dann die Konfiguration für den Deep Health Check aus, nachdem der Cluster erstellt wurde. Die Konfiguration für die auto Wiederherstellung des Knotens ist standardmäßig aktiviert.

1. **Fall**: Wenn Sie keine zusätzlichen Backup-Knoten haben und nicht auf den \$12-stündigen umfassenden Zustandstest warten möchten (kleine Cluster).

   **Empfehlung**: Deaktivieren Sie die Konfiguration für die umfassende Integritätsprüfung während des gesamten Cluster-Lebenszyklus. Die Konfiguration für die auto Wiederherstellung des Knotens ist standardmäßig aktiviert.

Wenn Sie den Trainingsjob nach einem Ausfall sofort fortsetzen möchten, stellen Sie sicher, dass Sie über zusätzliche Ersatzknoten als Backup-Ressourcen im Cluster verfügen.

# Spot-Instances bei Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-spot"></a>

Amazon SageMaker HyperPod unterstützt Amazon EC2 Spot-Instances und ermöglicht so erhebliche Kosteneinsparungen bei fehlertoleranten und statusfreien Workloads. AI/ML Zu den Anwendungsfällen gehören Batch-Inferenz- und Trainingsjobs, Hyperparameter-Tuning und experimentelle Workloads. Sie können Spot-Instances auch verwenden, um Ihre Rechenkapazität automatisch zu skalieren, wenn diese kostengünstige Kapazität verfügbar ist, und auf On-Demand-Kapazität zurückzuskalieren, wenn die zusätzliche Spot-Kapazität zurückgewonnen wird.

Standardmäßig verwenden Spot-Instances on HyperPod Work die [Continuous Provisioning-Funktion](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-scaling-eks.html), mit HyperPod der die verbleibende Kapazität automatisch im Hintergrund bereitgestellt werden kann SageMaker HyperPod , während die Workloads auf verfügbaren Instances sofort gestartet werden. Wenn bei der Knotenbereitstellung aufgrund von Kapazitätsengpässen oder anderen Problemen Fehler auftreten, versucht es SageMaker HyperPod automatisch im Hintergrund, bis die Cluster ihre gewünschte Größe erreicht haben, sodass Ihre Autoscaling-Operationen stabil und blockierungsfrei bleiben. [Sie können Spot-Instances auch mit Karpenter-basierter Autoskalierung verwenden.](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-autoscaling.html)

**Wichtige Funktionen und Konzepte, die es zu berücksichtigen gilt**
+ Erzielen Sie Kosteneinsparungen von bis zu 90% im Vergleich zu On-Demand-Instances
+ Verwenden Sie Spot-Instances für Jobs, die Unterbrechungen bewältigen können und bei denen die Start- und Abschlusszeiten von Aufträgen flexibel sind
+ Wenn Sie Karpenter für die automatische Skalierung verwenden, können Sie so konfigurieren, dass automatisch HyperPod auf On-Demand zurückgegriffen wird, wenn die Spot-Kapazität unterbrochen oder nicht verfügbar ist
+ Greifen Sie auf eine Vielzahl von CPU-, GPU- und Accelerator-Instance-Typen zu, die von unterstützt werden HyperPod
+ Die Kapazitätsverfügbarkeit hängt vom Angebot von EC2 ab und variiert je nach Region und Instance-Typ
+ Mithilfe verschiedener Tools wie dem von EC2 bereitgestellten [Spot Instance Advisor](https://aws.amazon.com/ec2/spot/instance-advisor/) können Sie verschiedene Aktionen ausführen, z. B. die Wahrscheinlichkeit ermitteln, mit der gewünschte Instances abgerufen oder unterbrochen werden

## Erste Schritte
<a name="sagemaker-hyperpod-spot-instance-getstart"></a>

### Voraussetzungen
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq"></a>

Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:

#### AWS CLI installiert und konfiguriert
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq-cli"></a>

Richten Sie Ihre AWS Anmeldeinformationen und Ihre Region ein:

```
aws configure
```

Detaillierte Anweisungen finden Sie in der [Dokumentation zu den AWS Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html).

#### IAM-Rolle für die Ausführung SageMaker HyperPod
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq-iam"></a>

Um den Cluster zu aktualisieren, müssen Sie zunächst [AWS Identity and Access Management Zugriffsverwaltungsberechtigungen](https://aws.amazon.com/iam/) (IAM) für Karpenter erstellen. Anweisungen finden Sie unter [Erstellen einer IAM-Rolle für HyperPod ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-autoscaling-iam.html) Autoscaling mit Karpenter.

#### Einrichtung von VPC- und EKS-Clustern
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq-cluster"></a>

**2.1 VPC- und EKS-Cluster erstellen**

Folgen Sie der [HyperPod EKS-Installationsanleitung](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-install-packages-using-helm-chart.html), um:

1. Erstellen Sie eine VPC mit Subnetzen in mehreren Availability Zones

1. Erstellen Sie einen EKS-Cluster

1. Installieren Sie [die erforderlichen Abhängigkeiten](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-install-packages-using-helm-chart.html) mithilfe von Helm-Diagrammen

**2.2 Legen Sie Umgebungsvariablen fest**

```
export EKS_CLUSTER_ARN="arn:aws:eks:REGION:ACCOUNT_ID:cluster/CLUSTER_NAME"
export EXECUTION_ROLE="arn:aws:iam::ACCOUNT_ID:role/SageMakerExecutionRole"
export BUCKET_NAME="your-s3-bucket-name"
export SECURITY_GROUP="sg-xxxxx"
export SUBNET="subnet-xxxxx"
export SUBNET1="subnet-xxxxx"
export SUBNET2="subnet-xxxxx"
export SUBNET3="subnet-xxxxx"
```

#### Dienstkontingente für die Spot-Instances
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq-quota"></a>

Stellen Sie sicher, dass Sie über die erforderlichen Kontingente für die Instances verfügen, die Sie im SageMaker HyperPod Cluster erstellen werden. Um Ihre Kontingente zu überprüfen, wählen Sie in der Konsole Service Quotas im Navigationsbereich AWS Services und anschließend SageMaker. Der folgende Screenshot zeigt beispielsweise das verfügbare Kontingent für C5-Instances.

![\[Ein Bild mit Informationen zur Kostenregion.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Screenshot-cluster-quota.png)


#### Überprüfen Sie die Verfügbarkeit von Spots
<a name="sagemaker-hyperpod-spot-instance-getstart-prereq-availability"></a>

Bevor Sie Spot-Instanzgruppen erstellen, überprüfen Sie die Verfügbarkeit in verschiedenen Availability Zones:

```
aws ec2 get-spot-placement-scores \
  --region us-west-2 \
  --instance-types c5.2xlarge \
  --target-capacity 10 \
  --single-availability-zone \
  --region-names us-west-2
```

**Tipp**: Wählen Sie Availability Zones mit höheren Platzierungswerten aus, um eine bessere Verfügbarkeit zu erzielen. Sie können auch die Verfügbarkeit der Preise für Spot Instance Advisor und EC2 Spot überprüfen. Wählen Sie die erforderliche Availability Zone mit einem besseren Verfügbarkeitswert aus und konfigurieren Sie die Instanzgruppe mit dem zugehörigen Subnetz, um die Instance in dieser AZ zu starten.

### Eine Instanzgruppe erstellen (kein Autoscaling)
<a name="sagemaker-hyperpod-spot-instance-getstart-create"></a>

**CreateCluster (Spot)**

```
aws sagemaker create-cluster \
    --cluster-name clusterNameHere \
    --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \
    --node-provisioning-mode "Continuous" \
    --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \
    --instance-groups '[{
        "InstanceGroupName": "auto-spot-c5-2x-az1",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 2,
        "CapacityRequirements: { "Spot": {} }
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET1'"]
         }
    }]' 
    --vpc-config '{
        "SecurityGroupIds": ["'$SECURITY_GROUP'"],
        "Subnets": ["'$SUBNET'"] 
    }'
```

**Cluster aktualisieren (Spot \$1 auf Anfrage)**

```
aws sagemaker update-cluster \
   --cluster-name "my-cluster" \
   --instance-groups '[{
        "InstanceGroupName": "auto-spot-c5-x-az3",
        "InstanceType": "ml.c5.xlarge",
        "InstanceCount": 2,
        "CapacityRequirements: { "Spot": {} },
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://'$BUCKET_NAME'",
            "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET3'"]
        }
    },
    {
        "InstanceGroupName": "auto-spot-c5-2x-az2",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 2,
        "CapacityRequirements: { "Spot": {} }
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET2'"]
         }
    },
    {   
        "InstanceGroupName": "auto-ondemand-c5-2x-az1",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 2,
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET1'"]
         }
    }]'
```

`CapacityRequirements`kann nicht geändert werden, sobald eine Instanzgruppe erstellt wurde.

**Beschreiben Sie den Cluster**

```
aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region us-west-2
```

```
## Sample Response
{
    "ClusterName": "my-cluster",
    "InstanceGroups": [
        {
            "InstanceGroupName": "ml.c5.2xlarge",
            "InstanceType": "ml.c5.xlarge",
            "InstanceCount": 5,
            "CurrentCount": 3,
            "CapacityRequirements: { "Spot": {} },
            "ExecutionRole": "arn:aws:iam::account:role/SageMakerExecutionRole",
            "InstanceStorageConfigs": [...],
            "OverrideVpcConfig": {...}
        }
        // Other IGs
    ]
}
```

**DescribeClusterNode**

```
aws sagemaker describe-cluster-node --cluster-name $HP_CLUSTER_NAME --region us-west-2
```

```
## Sample Response
{
  "NodeDetails": {
    "InstanceId": "i-1234567890abcdef1",
    "InstanceGroupName": "ml.c5.2xlarge",
    "CapacityType": "Spot",
    "InstanceStatus": {...}
  }
}
```

### Konsole verwenden
<a name="sagemaker-hyperpod-spot-instance-getstart-console"></a>

#### Erstellen und konfigurieren Sie einen SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-spot-instance-getstart-console-create"></a>

Starten und konfigurieren Sie zunächst Ihren SageMaker HyperPod EKS-Cluster und stellen Sie sicher, dass der Continuous Provisioning-Modus bei der Clustererstellung aktiviert ist. Führen Sie folgende Schritte aus:

1. Wählen Sie auf der SageMaker AI-Konsole im Navigationsbereich HyperPod Cluster aus.

1. Wählen Sie Create HyperPod cluster and Orchestrated on Amazon EKS aus.

1. Wählen Sie für Einrichtungsoptionen die Option Benutzerdefiniertes Setup aus.

1. Geben Sie unter Name einen Namen ein.

1. Wählen Sie für Instanzwiederherstellung die Option Automatisch aus.

1. Wählen Sie für den Instanzbereitstellungsmodus die Option Kontinuierliche Bereitstellung verwenden aus.

1. CapacityType : Wählen Sie Spot 

1. Wählen Sie Absenden aus.

Screenshot der Konsole: 

![\[Ein Bild, das den Ablauf zur Erstellung des Clusters enthält.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Screenshot-create-cluster.png)


Dieses Setup erstellt die erforderliche Konfiguration wie Virtual Private Cloud (VPC), Subnetze, Sicherheitsgruppen und EKS-Cluster und installiert Operatoren im Cluster. Sie können auch vorhandene Ressourcen wie einen EKS-Cluster bereitstellen, wenn Sie einen vorhandenen Cluster verwenden möchten, anstatt einen neuen zu erstellen. Diese Einrichtung dauert etwa 20 Minuten.

#### Dem gleichen Cluster wird eine neue Spot-Instance-Gruppe hinzugefügt
<a name="sagemaker-hyperpod-spot-instance-getstart-console-add"></a>

Um Ihrem bestehenden HyperPod EKS-Cluster eine Spot-IG hinzuzufügen. Führen Sie folgende Schritte aus:

1. Wählen Sie auf der SageMaker AI-Konsole im Navigationsbereich HyperPod Cluster aus.

1. Wählen Sie einen vorhandenen HyperPod Cluster mit Amazon EKS Orchestration aus (stellen Sie sicher, dass die kontinuierliche Bereitstellung aktiviert ist).

1. Klicken Sie auf Bearbeiten.

1. Klicken Sie auf der Seite „Cluster bearbeiten“ auf Instanzgruppe erstellen.

1. Wählen Sie in der Instanzgruppenkonfiguration den Kapazitätstyp Spot-Instance aus.

1. Klicken Sie auf Instanzgruppe erstellen. 

1. Klicken Sie auf Submit.

**Screenshot der Konsole:**

![\[Ein Bild, das den Ablauf der Instanzgruppenerstellung enthält.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Screenshot-instance-group.png)


### Verwenden CloudFormation
<a name="sagemaker-hyperpod-spot-instance-getstart-cfn"></a>

```
Resources:
  TestCluster:
    Type: AWS::SageMaker::Cluster
    Properties:
      ClusterName: "SampleCluster"
      InstanceGroups:
        - InstanceGroupName: group1
          InstanceType: ml.c5.2xlarge
          InstanceCount: 1
          LifeCycleConfig:
            SourceS3Uri: "s3://'$BUCKET_NAME'"
            OnCreate: "on_create_noop.sh"
          ExecutionRole: "'$EXECUTION_ROLE'",
          ThreadsPerCore: 1
          CapacityRequirements:
            Spot: {}
      VpcConfig:
        Subnets:
          - "'$SUBNET1'"
        SecurityGroupIds:
          - "'$SECURITY_GROUP'"
      Orchestrator:
        Eks:
          ClusterArn:
            '$EKS_CLUSTER_ARN'
      NodeProvisioningMode: "Continuous"
      NodeRecovery: "Automatic"
```

Einzelheiten finden Sie unter [https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-eks-console-create-cluster-cfn.html](https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-eks-console-create-cluster-cfn.html).

### Autoscaling auf Basis von Karpenter
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter"></a>

#### Clusterrolle erstellen
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-role"></a>

**Schritt 1: Navigieren Sie zur IAM-Konsole**

1. Gehen Sie zum **AWS-Managementkonsole**→ **IAM-Dienst**

1. Klicken Sie in der linken Seitenleiste auf **Rollen**

1. Klicken Sie auf **Rolle erstellen**

**Schritt 2: Richten Sie eine Vertrauensrichtlinie ein**

1. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie (statt AWS Service)

1. Ersetzen Sie das Standard-JSON durch diese Vertrauensrichtlinie:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "hyperpod.sagemaker.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

klicken Sie auf Weiter

**Schritt 3: Erstellen Sie eine benutzerdefinierte Berechtigungsrichtlinie**

Da es sich um spezifische SageMaker Berechtigungen handelt, müssen Sie eine benutzerdefinierte Richtlinie erstellen:

1. Klicken Sie auf **Richtlinie erstellen** (öffnet neuen Tab)

1. Klicken Sie auf die Registerkarte **JSON**

1. Geben Sie diese Richtlinie ein:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "sagemaker:BatchAddClusterNodes",
           "sagemaker:BatchDeleteClusterNodes"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

1. Klicken Sie auf **Weiter**

1. Geben Sie ihm einen Namen wie `SageMakerHyperPodRolePolicy`

1. Klicken Sie auf **Richtlinie erstellen**

**Schritt 4: Hängen Sie die Richtlinie an die Rolle an**

1. Kehren Sie zur Registerkarte zur Rollenerstellung zurück

1. Aktualisieren Sie die Richtlinienliste

1. Suchen Sie nach Ihrer neu erstellten Richtlinie und wählen Sie sie aus

1. Klicken Sie auf **Weiter**

**Schritt 5: Rolle benennen und erstellen**

1. Geben Sie einen Rollennamen ein (z. B.`SageMakerHyperPodRole`)

1. Fügen Sie bei Bedarf eine Beschreibung hinzu

1. Überprüfen Sie die Vertrauensrichtlinie und die Berechtigungen

1. Klicken Sie auf **Rolle erstellen**

#### Verifizierung
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-verify"></a>

Nach der Erstellung können Sie Folgendes überprüfen:
+ Wenn Sie auf der Registerkarte Vertrauensbeziehungen nachsehen, wird der Hyperpod-Dienst angezeigt
+ Auf der Registerkarte „Berechtigungen“ wird Ihre benutzerdefinierte Richtlinie angezeigt
+ Die Rolle ARN wird für die Verwendung mit verfügbar sein HyperPod

Das ARN-Format der Rolle wird sein:

```
 arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole
```

#### Cluster erstellen mit AutoScaling:
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-create-cluster"></a>

Für eine bessere Verfügbarkeit können Sie mehrere erstellen IGs , AZs indem Sie Subnetze konfigurieren. Sie können auch OnDemand als Fallback IGs einbeziehen.

```
aws sagemaker create-cluster \
    --cluster-name clusterNameHere \
    --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \
    --node-provisioning-mode "Continuous" \
    --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \
    --instance-groups '[{
        "InstanceGroupName": "auto-spot-c5-2x-az1",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 0, // For Auto scaling keep instance count as 0
        "CapacityRequirements: { "Spot": {} }
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET1'"]
         }
    }]' 
--vpc-config '{
    "SecurityGroupIds": ["'$SECURITY_GROUP'"],
    "Subnets": ["'$SUBNET'"] 
}'
--auto-scaling ' {
    "Mode": "Enable",
    "AutoScalerType": "Karpenter"
}'
```

#### Cluster aktualisieren (Spot \$1 On-Demand)
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-update-cluster"></a>

```
aws sagemaker update-cluster \
   --cluster-name "my-cluster" \
   --instance-groups '[{
        "InstanceGroupName": "auto-spot-c5-x-az3",
        "InstanceType": "ml.c5.xlarge",
        "InstanceCount": 2,
        "CapacityRequirements: { "Spot": {} },
        "LifeCycleConfig": {
            "SourceS3Uri": "s3://'$BUCKET_NAME'",
            "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET3'"]
        }
    },
    {
        "InstanceGroupName": "auto-spot-c5-2x-az2",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 2,
        "CapacityRequirements: { "Spot": {} }
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET2'"]
         }
    },
    {   
        "InstanceGroupName": "auto-ondemand-c5-2x-az1",
        "InstanceType": "ml.c5.2xlarge",
        "InstanceCount": 2,
        "LifeCycleConfig": {
        "SourceS3Uri": "s3://'$BUCKET_NAME'",
        "OnCreate": "on_create_noop.sh"
        },
        "ExecutionRole": "'$EXECUTION_ROLE'",
        "ThreadsPerCore": 1,
        "OverrideVpcConfig": {
            "SecurityGroupIds": ["'$SECURITY_GROUP'"],
            "Subnets": ["'$SUBNET1'"]
         }
    }]'
```

#### Erstellen HyperpodNodeClass
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-create-class"></a>

`HyperpodNodeClass`ist eine benutzerdefinierte Ressource, die vorab erstellten Instanzgruppen zugeordnet wird und Einschränkungen dafür definiert SageMaker HyperPod, welche Instanztypen und Availability Zones für die Auto Scaling-Entscheidungen von Karpenter unterstützt werden. Geben Sie zur Verwendung `HyperpodNodeClass` einfach die Namen Ihres SageMaker HyperPod Clusters an, den `InstanceGroups` Sie als Quelle für die AWS Rechenressourcen verwenden möchten, die Sie für die Skalierung Ihrer Pods in Ihrem verwenden möchten. NodePools Der `HyperpodNodeClass` Name, den Sie hier verwenden, wird NodePool in den nächsten Abschnitt übernommen, in dem Sie darauf verweisen. Dies gibt `HyperpodNodeClass` an NodePool , aus welchem Material Ressourcen bezogen werden sollen. Gehen Sie wie folgt vor`HyperpodNodeClass`, um eine zu erstellen:

1. Erstellen Sie eine YAML-Datei (z. B. nodeclass.yaml), die dem folgenden Code ähnelt. Fügen Sie `InstanceGroup` Namen hinzu, die Sie bei der Clustererstellung verwendet haben. SageMaker HyperPod Sie können einem vorhandenen SageMaker HyperPod EKS-Cluster auch neue Instanzgruppen hinzufügen.

1. Verweisen Sie in Ihrer NodePool Konfiguration auf den `HyperPodNodeClass` Namen.

Das Folgende ist ein Beispiel`HyperpodNodeClass`:

```
apiVersion: karpenter.sagemaker.amazonaws.com/v1
kind: HyperpodNodeClass
metadata:
  name: multiazg6
spec:
  instanceGroups:
    # name of InstanceGroup in HyperPod cluster. InstanceGroup needs to pre-created
    # before this step can be completed.
    # MaxItems: 10
    - auto-spot-c5-2x-az1
    - auto-spot-c5-2x-az2
    - auto-spot-c5-x-az3
    - auto-ondemand-c5-2x-az1
```

Karpenter priorisiert Spot-Instance-Gruppen gegenüber On-Demand-Instances und verwendet On-Demand-Instances als Fallback, sofern dies in der Konfiguration angegeben ist. Die Instance-Auswahl ist nach den EC2 Spot Placement Scores sortiert, die der Availability Zone jedes Subnetzes zugeordnet sind.

**Wenden Sie die Konfiguration auf Ihren EKS-Cluster an, indem Sie: `kubectl`**

```
kubectl apply -f nodeclass.yaml
```

Der HyperPod Cluster muss AutoScaling aktiviert sein und der AutoScaling Status muss sich auf ändern, `InService` bevor der angewendet werden `HyperpodNodeClass` kann. Außerdem werden die Kapazitäten der Instanzgruppen als Spot oder angezeigt OnDemand. Weitere Informationen und wichtige Überlegungen finden Sie unter [Autoscaling auf SageMaker HyperPod EKS](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-autoscaling.html).

**Zum Beispiel**

```
apiVersion: karpenter.sagemaker.amazonaws.com/v1
kind: HyperpodNodeClass
metadata:
  creationTimestamp: "2025-11-30T03:25:04Z"
  name: multiazc6
  uid: ef5609be-15dd-4700-89ea-a3370e023690
spec:
  instanceGroups:
  -spot1
status:
  conditions:
  // true when all IGs in the spec are present in SageMaker cluster, false otherwise
  - lastTransitionTime: "2025-11-20T03:25:04Z"
    message: ""
    observedGeneration: 3
    reason: InstanceGroupReady
    status: "True"
    type: InstanceGroupReady
  // true if subnets of IGs are discoverable, false otherwise
  - lastTransitionTime: "2025-11-20T03:25:04Z"
    message: ""
    observedGeneration: 3
    reason: SubnetsReady
    status: "True"
    type: SubnetsReady
  // true when all dependent resources are Ready [InstanceGroup, Subnets]
  - lastTransitionTime: "2025-11-30T05:47:55Z"
    message: ""
    observedGeneration: 3
    reason: Ready
    status: "True"
    type: Ready
  instanceGroups:
  - instanceTypes:
    - ml.c5.2xlarge
    name:auto-spot-c5-2x-az2
    subnets:
    - id: subnet-03ecc649db2ff20d2
      zone: us-west-2a
      zoneId: usw2-az2
  - capacities: {"Spot": {}}
```

#### Erstellen NodePool
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-create-nodepool"></a>

Das NodePool legt Einschränkungen für die Knoten fest, die von Karpenter erstellt werden können, und für die Pods, die auf diesen Knoten ausgeführt werden können. NodePool Sie können so eingestellt werden, dass sie verschiedene Aktionen ausführen, wie z. B.: 
+ Definieren Sie Labels und Taints, um die Anzahl der Pods zu begrenzen, die auf von Karpenter erstellten Knoten ausgeführt werden können
+ Beschränken Sie die Knotenerstellung auf bestimmte Zonen, Instanztypen und Computerarchitekturen usw.

Weitere Informationen zu finden NodePool Sie unter. [NodePools](https://karpenter.sh/docs/concepts/nodepools/) SageMaker HyperPod managed Karpenter unterstützt eine begrenzte Anzahl bekannter Kubernetes- und Karpenter-Anforderungen, die wir in diesem Beitrag erläutern.

Gehen Sie wie folgt vor, um eine NodePool zu erstellen:

Erstellen Sie eine YAML-Datei `nodepool.yaml` mit dem Namen Ihrer gewünschten NodePool Konfiguration. Der folgende Code ist eine Beispielkonfiguration zum Erstellen eines NodePool Beispiels. Wir geben an NodePool , dass es unseren SageMaker ml.g6.xlarge-Instance-Typ einschließt, und wir geben ihn zusätzlich für eine Zone an. Weitere Anpassungen finden Sie unter. [NodePools](https://karpenter.sh/docs/concepts/nodepools/)

```
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
 name: gpunodepool
spec:
 template:
   spec:
     nodeClassRef:
      group: karpenter.sagemaker.amazonaws.com
      kind: HyperpodNodeClass
      name: multiazg6
     expireAfter: Never
     requirements:
        - key: node.kubernetes.io/instance-type
          operator: Exists
        - key: "node.kubernetes.io/instance-type" // Optional otherwise Karpenter will decide based on Job config resource requirements
          operator: In
          values: ["ml.c5.2xlarge"]
        - key: "topology.kubernetes.io/zone"
          operator: In
          values: ["us-west-2a"]
```

**Tipp**: Bei einer EC2-Spot-Unterbrechung manipuliert Hyperpod den Knoten, um die Pod-Entfernung auszulösen. **Der **Konsolidierungsprozess** von Karpenter berücksichtigt die Budgets für Pod-Unterbrechungen und führt eine normale Kubernetes-Räumung durch. Wenn Sie jedoch ConsolidateAfter: 0 setzen, kann die Konsolidierung sofort erfolgen, sodass nur sehr wenig Zeit für eine ordentliche Pod-Räumung bleibt.** Stellen Sie ihn bis zu 2 Minuten auf einen Wert ungleich Null ein, damit der Pod bei allen Checkpoint-Anforderungen ordnungsgemäß entfernt werden kann.

**Wenden Sie das auf Ihren Cluster an: NodePool **

```
kubectl apply -f nodepool.yaml
```

**Überwachen Sie den NodePool Status, um sicherzustellen, dass die Bedingung Bereit im Status auf True gesetzt ist:**

```
kubectl get nodepool gpunodepool -oyaml
```

Dieses Beispiel zeigt, wie a verwendet werden NodePool kann, um die Hardware (Instanztyp) und die Platzierung (Availability Zone) für Pods anzugeben.

**Starten Sie einen einfachen Workload**

Mit dem folgenden Workload wird eine Kubernetes-Bereitstellung ausgeführt, bei der die bereitgestellten Pods 1 CPU und 256 MB Speicher pro Replikat und Pod anfordern. Die Pods wurden noch nicht hochgefahren.

```
kubectl apply -f https://raw.githubusercontent.com/aws/karpenter-provider-aws/refs/heads/main/examples/workloads/inflate.yaml
```

Wenn wir dies anwenden, können wir eine Bereitstellung und den Start eines einzelnen Knotens in unserem Cluster sehen, wie im folgenden Screenshot gezeigt.

**Verwenden Sie den folgenden Befehl, um diese Komponente zu skalieren:**

```
kubectl scale deployment inflate --replicas 10
```

Weitere [https://docs.aws.amazon.com/sagemaker/latest/dg/sagemakerInformationen finden Sie unter hyperpod-eks-autoscaling .html](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-autoscaling.html).

### Verwaltung von Knotenunterbrechungen
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-interrupt"></a>

Spot-Instances können jederzeit zurückgefordert werden. In den meisten Fällen bietet EC2 nach bestem Wissen eine zweiminütige Unterbrechungsanzeige, die jedoch nicht garantiert werden kann. In einigen Situationen kann EC2 Spot-Instances sofort und ohne Vorwarnung beenden. HyperPod verarbeitet automatisch beide Szenarien:
+ Mit 2 Minuten Vorankündigung: Automatisch wird erneut versucht, den Pod ordnungsgemäß zu entfernen und die Kapazität kontrolliert auszutauschen, sobald Spot-Kapazität verfügbar ist.
+ Ohne Vorankündigung (sofortige Kündigung): Es wird automatisch erneut versucht, den Node auszutauschen (sobald Spot-Kapazität verfügbar ist), ohne dass der Knoten ordnungsgemäß gelöscht wird 

**Funktionsweise**

Wenn EC2 eine Spot-Unterbrechungsbenachrichtigung sendet, wird automatisch Folgendes ausgeführt: HyperPod 

1. Erkennt ein Unterbrechungssignal 

1. Beeinträchtigt den Knoten: Verhindert, dass neue Pods für die unterbrochene Instanz geplant werden

1. Räumt Pods ordnungsgemäß aus: Gibt laufenden Pods Zeit, ihre Arbeit abzuschließen oder zu überprüfen (unter Berücksichtigung von Kubernetes) `terminationGracePeriodSeconds`

1. Ersetzt Kapazität: Versucht automatisch, die Ersatz-Instances bereitzustellen (Spot- oder On-Demand-Instances, je nach Verfügbarkeit). 

   Der Kapazitätsersatz erfolgt durch die automatische Bereitstellung von Ersatzinstanzen. Wenn Kapazität nicht sofort verfügbar ist, fährt das System mit der Überprüfung fort, bis Ressourcen verfügbar sind. Bei Instanzgruppen ohne automatische Skalierung wird HyperPod versucht, innerhalb derselben Instanzgruppe nach oben zu skalieren, bis die erforderliche Kapazität verfügbar ist. Für auf Karpenter basierende Instanzgruppen implementiert Karpenter einen Fallback-Mechanismus für andere Instanzgruppen, die in der Node-Klasse konfiguriert sind, wenn die primäre Gruppe den Bedarf nicht decken kann. Darüber hinaus können Sie On-Demand als Fallback-Option konfigurieren, sodass Karpenter automatisch zu On-Demand-Instances wechseln kann, wenn Spot-Instanzgruppen nicht erfolgreich hochskaliert werden können.

1. Verschiebt Workloads: Kubernetes verschiebt automatisch gelöschte Pods auf fehlerfreien Knoten

### Finden Sie Ihre Nutzung und Rechnung heraus
<a name="sagemaker-hyperpod-spot-instance-getstart-karpenter-bill"></a>

Um Ihre Nutzung und Abrechnung für Spot-Instances auf zu überprüfen, können HyperPod Sie die AWS Cost Explorer Explorer-Konsole verwenden. Gehen Sie zu Billing and Cost Management > Rechnung

![\[Ein Bild mit Informationen zur Kostenregion.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Screenshot-cost-region.png)


**Um mehr über Nutzung und Abrechnung auf der Konsole zu erfahren, gehen Sie zu Billing and Cost Management > Cost Explorer**

![\[Ein Bild mit Kosten und Nutzung.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/Screenshot-cost-usage.png)


# UltraServers In Amazon verwenden SageMaker HyperPod
<a name="sagemaker-hyperpod-ultraserver"></a>

SageMaker HyperPod Die Unterstützung für Ultraserver bietet leistungsstarke GPU-Rechenfunktionen für KI- und Machine-Learning-Workloads. Diese auf NVIDIA GB200 und der NVL72 Architektur basierenden Ultraserver bieten NVLink Konnektivität für 18 GB200 Instanzen in einer Dual-Rack-Konfiguration, was insgesamt 72 B200 entspricht. GPUs Diese NVLink Struktur ermöglicht es Workloads, GPU-Kommunikation zu nutzen, die die nutzbare GPU-Kapazität und den adressierbaren Speicher im Vergleich zu diskreten Instances erhöht und komplexere und ressourcenintensivere KI-Modelle unterstützt. Die NVLink Konnektivität wird durch die NVIDIA IMEX-Technologie ermöglicht, die die Low-Level-Konfiguration für sichere GPU-Fabric-Verbindungen zwischen Instanzen innerhalb desselben Racks übernimmt.

HyperPod vereinfacht die Bereitstellung und Verwaltung dieser GPU-Cluster durch intelligente Topologieerkennung und automatisierte Konfiguration. Die Plattform erkennt Knoten automatisch und kennzeichnet sie mit ihrem physischen Standort und ihren Kapazitätsblockinformationen, was eine topologieorientierte Planung für verteilte Workloads unterstützt. HyperPod abstrakt die komplexen IMEX-Konfigurationsanforderungen, sodass Sie sich auf die Bereitstellung von Workloads konzentrieren können, anstatt sich auf die GPU-Fabric-Konfiguration auf niedriger Ebene zu konzentrieren. Sie können flexible Bereitstellungsoptionen wählen, darunter sowohl selbstverwaltete Knoten als auch EKS-verwaltete Knotengruppen. Amazon EKS bietet optimierte AMIs , darunter vorkonfigurierte NVIDIA-Treiber, Fabric Manager, IMEX-Treiber und die gesamte erforderliche Systemsoftware für einen reibungslosen Betrieb.

Die Integration umfasst Funktionen zur Pod-Platzierung, die sicherstellen, dass verteilte Workloads mithilfe von standardmäßigen Kubernetes-Topologie-Labels optimal auf mehrere NVL72 Domains verteilt werden. Integrierte Überwachungs- und automatische Wiederherstellungsfunktionen bieten Betriebsunterstützung, wobei der AMI-Integritätsagent GPU-Fehler anhand von Kernelprotokollen erkennt und Probleme automatisch beheben oder fehlerhafte Knoten in verwalteten Knotengruppen ersetzen kann. Diese Kombination aus GPU-Skalierung, intelligenter Workload-Platzierung und automatisierten Abläufen hilft Ihnen, sich auf Ihre AI/ML Innovationen statt auf die Komplexität der Infrastruktur zu konzentrieren und gleichzeitig die maximale Leistung aus Ihren GPU-Investitionen herauszuholen.

Gehen Sie wie folgt vor, um die Verwendung UltraServers mit Ihrem HyperPod Cluster einzurichten:

1. Erstellen Sie einen [EKS-basierten Cluster HyperPod ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html). Wenn Sie eine Instanzgruppe auswählen, stellen Sie sicher, dass Sie eine auswählen. UltraServer 

1. Nachdem Ihr Cluster erstellt wurde, verwenden Sie die folgenden Befehle, um betriebsbereite Plug-ins zu installieren:

   NVIDIA-Geräte-Plugin v0.17.2

   ```
   kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.2/deployments/static/nvidia-device-plugin.yml
   ```

   FD DaemonSet v0.17.3

   ```
   kubectl apply -k "https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.17.3"
   ```

   Erkennung von GPU-Funktionen

   ```
   kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.2/deployments/static/gpu-feature-discovery-daemonset.yaml
   ```

Sie können jetzt Aufträge ausführen. Im folgenden Beispiel wird gezeigt, wie Sie eine Domain erstellen, eine IMEX-Domain konfigurieren und die Kanalzuweisung aktivieren. Mit diesen Schritten können Sie auch einen Pod erstellen, um einen Kanal für die NCCL-Kommunikation bereitzustellen.

1. Erstellen Sie eine Ressourcenspezifikationsdatei zur Verwendung mit Kubectl.

   ```
   cat <<EOF > imex-channel-injection.yaml
   ---
   apiVersion: resource.nvidia.com/v1beta1
   kind: ComputeDomain
   metadata:
     name: imex-channel-injection
   spec:
     numNodes: 1
     channel:
       resourceClaimTemplate:
         name: imex-channel-0
   ---
   apiVersion: v1
   kind: Pod
   metadata:
     name: imex-channel-injection
   spec:
     affinity:
       nodeAffinity:
         requiredDuringSchedulingIgnoredDuringExecution:
           nodeSelectorTerms:
           - matchExpressions:
             - key: nvidia.com/gpu.clique
               operator: Exists
             - key: topology.k8s.aws/ultraserver-id
               operator: In
               values: 
               - <UltraServer-ID>
     containers:
     - name: ctr
       image: ubuntu:22.04
       command: ["bash", "-c"]
       args: ["ls -la /dev/nvidia-caps-imex-channels; trap 'exit 0' TERM; sleep 9999 & wait"]
       resources:
         claims:
         - name: imex-channel-0
     resourceClaims:
     - name: imex-channel-0
       resourceClaimTemplateName: imex-channel-0
   EOF
   ```

1. Wenden Sie die Konfiguration an, die Sie erstellt haben.

   ```
   kubectl apply -f imex-channel-injection.yaml
   ```

1. Um zu überprüfen, ob Ihr Pod erstellt wurde, führen Sie die `get pods`-Befehle aus.

   ```
   kubectl get pods
   kubectl get pods -n nvidia-dra-driver-gpu -l resource.nvidia.com/computeDomain
   ```

1. Sie können auch in den Protokollen des Pods nachsehen, ob er einen Kommunikationskanal zugewiesen hat.

   ```
   kubectl logs imex-channel-injection
   ```

   ```
   total 0
   drwxr-xr-x 2 root root     60 Feb 19 10:43 .
   drwxr-xr-x 6 root root    380 Feb 19 10:43 ..
   crw-rw-rw- 1 root root 507, 0 Feb 19 10:43 channel0
   ```

1. Sie können auch anhand der Protokolle überprüfen, ob die automatisierte IMEX-Konfiguration mit einem zugewiesenen Kanal ausgeführt wird.

   ```
   kubectl logs -n nvidia-dra-driver-gpu -l resource.nvidia.com/computeDomain --tail=-1
   /etc/nvidia-imex/nodes_config.cfg:
   ```

   ```
   IMEX Log initializing at: 8/8/2025 14:23:12.081
   [Aug 8 2025 14:23:12] [INFO] [tid 39] IMEX version 570.124.06 is running with the following configuration options
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Logging level = 4
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Logging file name/path = /var/log/nvidia-imex.log
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Append to log file = 0
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Max Log file size = 1024 (MBs)
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Use Syslog file = 0
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] IMEX Library communication bind interface =
   
   [JAug 8 2025 14:23:12] [INFO] [tid 39] IMEX library communication bind port = 50000
   
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Identified this node as ID 0, using bind IP of '10.115.131.8', and network interface of enP5p9s0
   [Aug 8 2025 14:23:120] [INFO] [tid 39] nvidia-imex persistence file /var/run/nvidia-imex/persist.dat does not exist.  Assuming no previous importers.
   [Aug 8 2025 14:23:12] [INFO] [tid 39] NvGpu Library version matched with GPU Driver version
   [Aug 8 2025 14:23:12] [INFO] [tid 63] Started processing of incoming messages.
   [Aug 8 2025 14:23:12] [INFO] [tid 64] Started processing of incoming messages.
   [Aug 8 2025 14:23:12] [INFO] [tid 65] Started processing of incoming messages.
   [Aug 8 2025 14:23:12] [INFO] [tid 39] Creating gRPC channels to all peers (nPeers = 1).
   [Aug 8 2025 14:23:12] [INFO] [tid 66] Started processing of incoming messages.
   [Aug 8 2025 14:23:12] [INFO] [tid 39] IMEX_WAIT_FOR_QUORUM != FULL, continuing initialization without waiting for connections to all nodes.
   [Aug 8 2025 14:23:12] [INFO] [tid 67] Connection established to node 0 with ip address 10.115.131.8. Number of times connected: 1
   [Aug 8 2025 14:23:12] [INFO] [tid 39] GPU event successfully subscribed
   ```

1. Nachdem Sie alles überprüft haben, löschen Sie den Workload und entfernen Sie die Konfiguration.

   ```
   kubectl delete -f imex-channel-injection.yaml
   ```

# IDEs und Notizbücher
<a name="sagemaker-hyperpod-eks-cluster-ide"></a>

Amazon führt SageMaker eine neue Funktion für SageMaker HyperPod EKS-Cluster ein, mit der KI-Entwickler ihre interaktiven Workloads für maschinelles Lernen direkt auf dem HyperPod EKS-Cluster ausführen können. Mit dieser Funktion wird ein neues Add-on namens Amazon SageMaker Spaces eingeführt, mit dem KI-Entwickler eigenständige Umgebungen für den Betrieb von Notebooks erstellen und verwalten können.

Administratoren können die SageMaker HyperPod Konsole verwenden, um das Add-on auf ihrem Cluster zu installieren und Standardspeicherkonfigurationen wie Bilder, Rechenressourcen, lokalen Speicher für Notebook-Einstellungen (zusätzlicher Speicher, der an ihre Entwicklungsbereiche angehängt werden muss), Dateisysteme und Initialisierungsskripten zu definieren. Eine Installationsoption mit nur einem Klick wird mit Standardeinstellungen verfügbar sein, um die Admin-Erfahrung zu vereinfachen. Administratoren können die SageMaker HyperPod Konsole, kubectl oder HyperPod CLI verwenden, um den Operator zu installieren, Standardeinstellungen zu erstellen und alle Bereiche an einem zentralen Ort zu verwalten.

KI-Entwickler können HyperPod CLI verwenden, um Dev Spaces zu erstellen, zu aktualisieren und zu löschen. Sie haben die Flexibilität, von Administratoren bereitgestellte Standardkonfigurationen zu verwenden oder Einstellungen anzupassen. KI-Entwickler können über ihren lokalen VS Code IDEs, ihren HyperPod Webbrowser, der and/or ihre Spaces hostet, JupyterLab oder ihre CodeEditor IDE auf einer benutzerdefinierten DNS-Domain zugreifen, die von ihren Administratoren konfiguriert wurde. Sie können auch die Portweiterleitungsfunktion von Kubernetes verwenden, um auf Bereiche in ihren Webbrowsern zuzugreifen.

## Admin.
<a name="admin-cx"></a>
+ [Berechtigungen einrichten](permission-setup.md)
+ [Installieren Sie das SageMaker AI Spaces Add-on](operator-install.md)
+ [Add-on anpassen](customization.md)
+ [Fügen Sie Benutzer hinzu und richten Sie Dienstkonten ein](add-user.md)
+ [Einschränkungen](ds-limits.md)
+ [Aufgabenverwaltung für interaktive Bereiche aktiviert HyperPod](task-governance.md)
+ [Beobachtbarkeit](observability.md)

## Datenwissenschaftler
<a name="data-scientist-cx"></a>
+ [Bereiche erstellen und verwalten](create-manage-spaces.md)
+ [Zugriff über einen Webbrowser](browser-access.md)
+ [Fernzugriff auf SageMaker Spaces](vscode-access.md)

## SageMaker Preise für verwaltete Spaces Instances
<a name="spaces-managed-instance-pricing"></a>

Für den SageMaker Spaces-Add-on/Operator fallen für den Kunden keine zusätzlichen Kosten an. Um das für die *Remote-IDE-Verbindungsfunktion* erforderliche SSH-over-SSM Tunneling zu unterstützen, verwendet SageMaker Spaces jedoch eine -verwaltete Instanz. AWS Diese Instanz ist unter SSM als Advanced On-Premises Instance registriert und wird daher pro Rechenstunde abgerechnet.

[Den Tarif „On-Premise Instance Management“ finden Sie auf der Preisseite von AWS Systems Manager: AWS Systems Manager Manager-Preise: Preise/ https://aws.amazon.com/systems-manager/](https://aws.amazon.com/systems-manager/pricing.com)

# Berechtigungen einrichten
<a name="permission-setup"></a>

## Erforderliche Rollen für das Add-on und seine Abhängigkeiten
<a name="permission-setup-addon"></a>

### Für SageMaker Spaces on sind IAM-Rollen erforderlich SageMaker HyperPod
<a name="role-hyperpod"></a>

Bei der Aktivierung **von SageMaker Spaces-Funktionen (**auch bekannt als **SageMaker IDE/Notebooks)** auf einem SageMaker HyperPod (EKS) -Cluster müssen mehrere IAM-Rollen erstellt und zugewiesen werden. Diese Rollen unterstützen sicheren Zugriff, Routing, Remote-IDE-Sitzungen und EBS-Speicherbereitstellung. In der folgenden Tabelle werden die vier Rollen zusammengefasst und angegeben, wann sie benötigt werden.

### Tabelle mit der Zusammenfassung der Rollen
<a name="role-table"></a>


| IAM Role (IAM-Rolle) | Erforderlich? | Zweck | Wer benutzt sie? | Ist eine Anpassung über die SageMaker Konsole zulässig? | 
| --- | --- | --- | --- | --- | 
|  Ausführungsrolle des Spaces-Add-ons  |  Immer erforderlich  |  Ermöglicht dem Spaces-Controller, Spaces zu verwalten, vorsignierte SSM-Sitzungen zu generieren URLs und zu verwalten  |  Zusätzlicher Controller-Pod (privilegiert)  |  ✔ Ja  | 
|  Rolle des Routers im Cluster  |  Für den WebUI-Zugriff erforderlich  |  Ermöglicht dem Router-Pod die Ausführung von KMS-Vorgängen für die JWT-Signatur WebUI WebUI-Authentifizierung)  |  Router-Pod im Cluster (privilegiert)  |  ✔ Ja  | 
|  Rolle „Verwaltete SSM-Instanz“  |  Für den IDE-Remote-Zugriff erforderlich  |  Wird vom SSM-Agent-Sidecar für SSH-over-SSM Remote-IDE-Sitzungen verwendet  |  SSM-Agent in Space IDE-Pods (kein Add-On-Pod)  |  ✔ Ja  | 
|  IAM-Rolle für das EBS CSI-Treiber-Add-on  |  Immer erforderlich  |  Ermöglicht es dem EBS CSI-Treiber, create/attach/modify Volumes für Spaces-Workloads zu verwenden  |  EBS CSI-Treiber-Add-on  |  Automatisch erstellt  | 
|  IAM-Rolle für externes DNS-Add-on  |  Für den WebUI-Zugriff erforderlich  |  Es stellt sicher, dass Space-Endpunkten und Cluster-Komponenten in den von Route 53 gehosteten Zonen des Kunden automatisch DNS-Namen zugewiesen werden können.  |  Externes DNS-Addon  |  Automatisch erstellt  | 

### 1. Ausführungsrolle für das Spaces-Add-on (erforderlich)
<a name="add-n-execution-role"></a>

Die Spaces-Add-On-Ausführungsrolle ist immer erforderlich, da sie vom SageMaker Spaces-Add-on-Controller-Pod verwendet wird, einer Verwaltungskomponente, die über das EKS-Add-on installiert wird. Diese Rolle ermöglicht es dem Controller, Spaces zu verwalten, Ressourcen bereitzustellen, mit SSM zu interagieren und vordefinierte Generierungen sowohl URLs für den Remote-IDE- als auch für den WebUI-Zugriff zu generieren. Es unterstützt auch den KMS-Zugriff, der für das Signieren von Anfragen zur Authentifizierung der WebUI-HTTPS-Anfragen verwendet wird. Diese Rolle kann automatisch erstellt werden, wenn das SageMaker Spaces-Add-on über die Konsole installiert wird. SageMaker AWS Stellt die `AmazonSageMakerSpacesControllerPolicy` verwaltete Richtlinie für die manuelle Erstellung bereit.

**Referenz-Vertrauensrichtlinie**

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
          "sts:AssumeRole",
          "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{accountId}}",
          "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}"
        }
      }
    }
  ]
}
```

### 2. Router-Rolle im Cluster (für die WebUI-Authentifizierung erforderlich)
<a name="in-cluster-role"></a>

Die In-Cluster-Router-Rolle wird vom **Router-Pod** verwendet, einer privilegierten Komponente, die Spaces-WebUI-Sitzungen authentifiziert. Der Router verwendet einen KMS-Schlüssel, um JWT-Token zu erstellen und zu signieren, die den Benutzerzugriff auf bestimmte Spaces autorisieren. Diese Rolle ermöglicht es dem Router-Pod, Datenschlüssel zu generieren und diese zu entschlüsseln. Ähnlich wie bei der Controller-Rolle setzt sie die Sicherheit mithilfe von tag- und clusterbasierten Bereichsbeschränkungen durch. Diese Rolle kann automatisch generiert werden, wenn das Spaces-Add-on über die AWS SageMaker Konsole installiert wird. Kunden können sie jedoch auch manuell erstellen.

**Verweise auf die Vertrauensrichtlinie**

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
          "sts:AssumeRole",
          "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{accountId}}",
          "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}"
        }
      }
    }
  ]
}
```

**Referenzrichtlinie für Genehmigungen**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KMSDescribeKey",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}"
        },
        {
            "Sid": "KMSKeyOperations",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:sagemaker:component": "amazon-sagemaker-spaces",
                    "kms:EncryptionContext:sagemaker:eks-cluster-arn": "${aws:PrincipalTag/eks-cluster-arn}"
                }
            }
        }
    ]
}
```

### 3. Rolle „Verwaltete SSM-Instanz“ (für IDE-Remotezugriff erforderlich)
<a name="ssm-role"></a>

Die Rolle der verwalteten SSM-Instanz wird bei der Registrierung der verwalteten SSM-Instanz zur Aktivierung des IDE-Remotezugriffs übergeben. Diese Rolle ermöglicht es dem SSM-Agenten, den Pod als verwaltete SSM-Instanz zu registrieren und die SSM Session Manager-Kanäle für die Remote-IDE-Konnektivität (SSH-over-SSM) zu verwenden. Sie kann bei Verwendung der Konsole automatisch erstellt werden. AWS SageMaker Für manuelle Bereitstellungen müssen Kunden diese Rolle erstellen und sie dem Spaces-Add-on zur Verfügung stellen. Der Controller-Pod selbst übernimmt diese Rolle nicht; er stellt sie nur bei Aufrufen `ssm:CreateActivation` bereit.

**Verweise auf die Vertrauensrichtlinie**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ssm.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{account}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:ssm:{{region}}:{{account}}:*"
                }
            }
        }
    ]
}
```

**Referenzrichtlinie für Genehmigungen**

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ssm:DescribeAssociation"
      ],
      "Resource": [
        "arn:aws:ssm:{{region}}:{{account}}:association/*",
        "arn:aws:ssm:{{region}}:{{account}}:document/*",
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:GetDocument",
        "ssm:DescribeDocument"
      ],
      "Resource": "arn:aws:ssm:{{region}}:{{account}}:document/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:GetParameter",
        "ssm:GetParameters"
      ],
      "Resource": "arn:aws:ssm:{{region}}:{{account}}:parameter/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:ListInstanceAssociations"
      ],
      "Resource": [
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:PutComplianceItems"
      ],
      "Resource": [
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:UpdateAssociationStatus"
      ],
      "Resource": [
        "arn:aws:ssm:{{region}}:{{account}}:document/*",
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:UpdateInstanceAssociationStatus"
      ],
      "Resource": [
        "arn:aws:ssm:{{region}}:{{account}}:association/*",
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:UpdateInstanceInformation"
      ],
      "Resource": [
        "arn:aws:ec2:{{region}}:{{account}}:instance/*",
        "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssm:GetDeployablePatchSnapshotForInstance",
        "ssm:GetManifest",
        "ssm:ListAssociations",
        "ssm:PutInventory",
        "ssm:PutConfigurePackageResult"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:CreateControlChannel",
        "ssmmessages:CreateDataChannel",
        "ssmmessages:OpenControlChannel",
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2messages:AcknowledgeMessage",
        "ec2messages:DeleteMessage",
        "ec2messages:FailMessage",
        "ec2messages:GetEndpoint"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2messages:GetMessages",
        "ec2messages:SendReply"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "ssm:SourceInstanceARN": "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*"
        }
      }
    }
  ]
}
```

### 4. IAM-Rolle für das EBS CSI-Treiber-Add-on
<a name="role-ebs-csi"></a>

Die IAM-Rolle für den EBS-CSI-Treiber ist erforderlich, da der EBS CSI-Treiber persistente Volumes für Spaces-Workloads bereitstellt. Während die von [Amazon AWS verwaltete EBSCSIDriver Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEBSCSIDriverPolicy.html) grundlegende Berechtigungen vorsieht, benötigen SageMaker HyperPod Cluster [zusätzliche Funktionen](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-ebs.html#sagemaker-hyperpod-eks-ebs-setup) wie die Erstellung schneller Snapshot-Wiederherstellungen, das Markieren von Cluster-eigenen Volumes und attaching/detaching Volumes für -verwaltete Knoten. HyperPod Zu diesen Berechtigungen gehören auch spezifische Berechtigungen wie. SageMaker APIs `sagemaker:AttachClusterNodeVolume` Wenn der EBS CSI-Treiber nicht installiert ist, wird diese Rolle jetzt bei der Installation des Spaces-Add-ons automatisch von der SageMaker Konsole erstellt, **sodass kein Eingreifen des Kunden erforderlich** ist.

### 5. IAM-Rolle für das externe DNS-Add-on
<a name="role-external-nds"></a>

Das externe DNS-Add-on verwaltet DNS-Einträge für Dienste und Eingangsressourcen auf dem HyperPod Cluster. Es stellt sicher, dass Space-Endpunkten und Cluster-Komponenten in den von Route 53 gehosteten Zonen des Kunden automatisch DNS-Namen zugewiesen werden können. Heutzutage installieren Kunden External DNS häufig manuell über eine 1-Klick-Option in der EKS-Konsole. Im Rahmen der Verbesserung der SageMaker Spaces-Erfahrung wird diese Rolle nun bei der Installation des Spaces-Add-ons automatisch von der SageMaker Konsole erstellt, **sodass kein Eingreifen des Kunden erforderlich** ist.

## Einrichtung der Berechtigungen für den Zugriff auf SageMaker Spaces für das AWS Toolkit
<a name="permission-for-toolkitl"></a>

Damit der Seitenbereich des Ressourcen-Explorers von AWS VS Code Toolkit Spaces erkennen und eine Verbindung zu SageMaker Spaces herstellen kann, sind die folgenden IAM-Berechtigungen erforderlich. Diese Berechtigungen ermöglichen es dem Toolkit, verfügbare SageMaker HyperPod Cluster aufzulisten, Cluster-Details abzurufen und ein Verbindungstoken für den zugehörigen Amazon EKS-Cluster abzurufen.

**Erforderliche IAM-Richtlinie**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerListClusters",
            "Effect": "Allow",
            "Action": "sagemaker:ListClusters",
            "Resource": "*"
        },
        {
            "Sid": "SageMakerDescribeCluster",
            "Effect": "Allow",
            "Action": "sagemaker:DescribeCluster",
            "Resource": "arn:aws:sagemaker:{{region}}:{{account}}:cluster/cluster-name"
        },
        {
            "Sid": "EksDescribeCluster",
            "Effect": "Allow",
            "Action": "eks:DescribeCluster",
            "Resource": "arn:aws:eks:{{region}}:{{account}}:cluster/cluster-name"
        },
        {
            "Sid": "EksGetToken",
            "Effect": "Allow",
            "Action": "eks:GetToken",
            "Resource": "*"
        }
    ]
}
```

**Empfehlungen zur Festlegung des Geltungsbereichs**
+ Ersetzen Sie den Clusternamen durch die spezifischen SageMaker HyperPod Cluster, auf die Ihre Benutzer zugreifen müssen.
+ Die GetToken Aktion eks: unterstützt derzeit keine Einschränkungen auf Ressourcenebene und muss Resource: „\$1“ verwenden. Dies ist eine AWS Dienstbeschränkung. Die clientseitige Authentifizierung erfolgt über [EKS-Zugriffseinträge](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html).

# Installieren Sie das SageMaker AI Spaces Add-on
<a name="operator-install"></a>

## Abhängigkeiten
<a name="dependencies"></a>

**Zusatzmodul Amazon EKS Pod Identity Agent**
+ Erforderlich, damit der Betreiber AWS Anmeldeinformationen abrufen kann
+ **In der Regel auf den meisten EKS-Clustern vorinstalliert**
+ Installation: Über EKS-Add-Ons

**CERT-Manager**
+ Erforderlich für die Verwaltung von TLS-Zertifikaten
+ **Vorinstalliert**, wenn HyperPod Quick Cluster Create verwendet wird
+ Installation: Über EKS-Add-Ons

**EBS CSI-Treiber**
+ Erforderlich für persistenten Space-Speicher (EBS-Volumes)
+ Wird **automatisch installiert**, wenn die Installation über die SageMaker Konsole erfolgt
+ Erfordert eine IAM-Rolle mit `AmazonEBSCSIDriverPolicy` \$1 HyperPod -spezifischen Berechtigungen
+ Installation: Über EKS-Add-Ons. Folgen Sie jedoch unbedingt der Anleitung, um zusätzliche Berechtigungen zu installieren, die für erforderlich sind HyperPod. 
+ Referenz: [Verwenden des Amazon EBS CSI-Treibers](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-ebs.html) auf HyperPod

## Zusätzliche Abhängigkeiten für WebUI Access
<a name="-additional-dependencies"></a>

**AWS Load Balancer Balancer-Controller**
+ **Vorinstalliert**, wenn HyperPod Quick Cluster Create verwendet wird
+ Installation: Über Helm
+ Manuelle Installationsanleitung: [Installation des AWS Load Balancer Controllers](https://docs.aws.amazon.com/eks/latest/userguide/lbc-helm.html)

**Externes DNS**
+ Erforderlich, wenn eine benutzerdefinierte Domain für den WebUI-Zugriff verwendet wird
+ Verwaltet Route53-DNS-Einträge automatisch
+ Erfordert eine IAM-Rolle mit Route53-Berechtigungen
+ Installation: Über EKS-Add-Ons

## Installation
<a name="installation"></a>

Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ Ein aktiver SageMaker HyperPod Cluster mit mindestens einem Worker-Knoten, auf dem Kubernetes Version 1.30 oder höher ausgeführt wird
+ Mindestens ein Worker-Knoten mit minimalem Instanztyp (XX vCPU, YY GiB Arbeitsspeicher)

### Installation des Amazon SageMaker Spaces-Add-ons
<a name="space-add-on"></a>

Sie können das SageMaker Spaces-Add-on entweder mit der Schnellinstallation für die Standardeinstellungen oder mit der benutzerdefinierten Installation für die erweiterte Konfiguration installieren.

#### Schnelle Installation
<a name="quick-install"></a>

1. Öffnen Sie die SageMaker Amazon-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie Ihren Cluster aus der Cluster-Liste aus.

1. Suchen Sie auf der Registerkarte IDE und Notebooks nach Amazon SageMaker Spaces und wählen Sie dann Schnellinstallation.

Automatische Schnellinstallation:
+ Erstellt die erforderlichen IAM-Rollen für das Add-on
+ Aktiviert den Fernzugriffsmodus mit den erforderlichen IAM-Rollen für Systems Manager
+ Installiert das Add-on und konfiguriert die Pod-Identitätszuweisung

#### Benutzerdefinierte Installation
<a name="custom-install"></a>

1. Öffnen Sie die SageMaker Amazon-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Wählen Sie Ihren Cluster aus der Cluster-Liste aus.

1. Suchen Sie auf der Registerkarte IDE und Notebooks nach Amazon SageMaker Spaces und wählen Sie dann Benutzerdefinierte Installation.

1. Konfigurieren Sie die folgenden Optionen:

   **IAM-Rollen, die vom Add-On benötigt werden**
   + Wählen Sie aus, ob Sie neue IAM-Rollen mit den empfohlenen Berechtigungen erstellen oder bestehende Rollen mit den erforderlichen Berechtigungen verwenden möchten (siehe Abschnitt Einrichtung von Administratorberechtigungen oben)

   **Konfiguration des Fernzugriffs**
   + Aktivieren Sie diese Option, damit Benutzer mithilfe von AWS Systems Manager eine Verbindung zu Bereichen aus lokalem Visual Studio Code herstellen können
   + Für die Rolle „Verwaltete SSM-Instanz“:
     + **Neue Rolle erstellen** — Das Add-on erstellt und verwaltet die Rolle mit den erforderlichen Systems Manager Manager-Berechtigungen
     + **Bestehende Rolle verwenden** — Wählen Sie eine vorkonfigurierte Rolle mit den erforderlichen Systems Manager Manager-Berechtigungen
   + Stellen Sie sicher, dass die Spaces Add-on-Ausführungsrolle über PassRole Berechtigungen für die Rolle der verwalteten SSM-Instanz verfügt
**Anmerkung**  
Durch die Aktivierung des Fernzugriffs wird die Advanced-Instance-Stufe von AWS Systems Manager gegen zusätzliche Gebühren pro Instanz aktiviert. Preisinformationen finden Sie unter Systems Manager Manager-Preise.

   **Konfiguration des Webbrowser-Zugriffs**
   + Aktivieren Sie diese Option, um Benutzern den Zugriff auf Bereiche über einen Webbrowser mithilfe von Route 53 53-DNS- und SSL-Zertifikaten zu ermöglichen
   + **Voraussetzungen:** Installieren Sie den AWS Load Balancer Controller, bevor Sie den Browserzugriff aktivieren
   + **Route 53 53-Hosting-Zone:** Wählen Sie eine bestehende Hosting-Zone für eine Domain oder Subdomain aus, die Sie besitzen. Die Domain oder Subdomain muss registriert sein und sich unter Ihrer Kontrolle befinden, um die DNS-Verwaltung und die SSL-Zertifikatsvalidierung zu aktivieren.

     Weitere Informationen zur Domainregistrierung finden Sie unter [Registrierung einer neuen Domain](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#domain-register-procedure-section) im Route 53 Developer Guide.
   + **Subdomain:** Geben Sie das Subdomain-Präfix ein (nur alphanumerische Zeichen und Bindestriche, maximal 63 Zeichen)
   + **SSL-Zertifikat:** Wählen Sie ein vorhandenes SSL-Zertifikat aus dem AWS Certificate Manager aus. Das Zertifikat muss gültig sein und sowohl Ihre Subdomain (z. B. subdomain.domain.com) als auch Wildcard-Unterdomänen (z. B. \$1.subdomain.domain.com) abdecken, um den individuellen Speicherzugriff zu unterstützen. URLs
   +  **Token-Signaturschlüssel: Wählen Sie einen asymmetrischen KMS-Schlüssel für die JWT-Tokensignierung** aus. AWS Der Schlüssel wird verwendet, um Authentifizierungstoken für einen sicheren WebUI-Zugriff zu verschlüsseln. Sie können einen neuen asymmetrischen Schlüssel in KMS erstellen oder einen vorhandenen auswählen, auf den Ihr Konto Zugriff hat.
**Anmerkung**  
Für gehostete Zonen und DNS-Abfragen fallen Standardroute 53-Gebühren an. Preisinformationen finden Sie unter Route 53 53-Preise.

#### Installation des EKS-Addons - Jupyter K8s mit WebUI
<a name="webui-install"></a>

##### Konfigurationsdatei
<a name="configure-file"></a>

Erstellen: `addon-config.yaml`

```
jupyter-k8s:
  workspacePodWatching:
    enable: true

jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    kmsEncryptionContext:
      enabled: true
    traefik:
      shouldInstall: true
    auth:
      kmsKeyId: "<KMS_KEY_ARN>"
```

**Ersetze die folgenden Platzhalter:**
+ <DOMAIN\$1NAME>: Ihr Domainname (z. B.`jupyter.example.com`)
+ <ACM\$1CERTIFICATE\$1ARN>: Ihr ACM-Zertifikat ARN (z. B. `arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012` 
+ <KMS\$1KEY\$1ARN>: Ihr KMS-Schlüssel-ARN (z. B. `arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012`

##### Installation über AWS CLI
<a name="install-via-cli"></a>

```
aws eks create-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```

**Um ein vorhandenes Addon zu aktualisieren:**

```
aws eks update-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```

##### Installation über AWS-Managementkonsole
<a name="install-via-console"></a>

1. Gehen Sie zur **EKS-Konsole** → Wählen Sie Ihren Cluster

1. Klicken Sie auf den Tab **Add-Ons** → **Neu hinzufügen**

1. Wählen Sie das **SageMaker Spaces-Addon**

1. Fügen Sie die obige YAML-Konfiguration in **Optionale** Konfigurationseinstellungen ein

1. Klicken Sie auf **Weiter** und überprüfen Sie dann die Addon-Einstellungen

1. **Klicken Sie auf Erstellen**

##### Überprüfen Sie die Installation
<a name="install-verify"></a>

```
# Check addon status
aws eks describe-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --region <AWS_REGION>
```

##### Anpassen von ALB-Attributen
<a name="customize-alb"></a>

Standardmäßig erstellt das Addon einen öffentlichen Load Balancer für die Verwendung mit der Weboberfläche. Sie können die Load Balancer-Attribute mithilfe der EKS-Addoneigenschaften anpassen.

Um ein internes ALB zu erstellen, stellen Sie das Schema wie folgt ein: `internal`

```
jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    alb:
      scheme: "internal"  # Default is "internet-facing"
```

Sie können das `alb.annotations` Feld auch verwenden, um die ALB-Einstellungen anzupassen:

```
jupyter-k8s-aws-hyperpod:
  clusterWebUI:
    enabled: true
    domain: "<DOMAIN_NAME>"
    awsCertificateArn: "<ACM_CERTIFICATE_ARN>"
    alb:
      scheme: "internal"
      annotations:
        alb.ingress.kubernetes.io/security-groups: "<SECURITY_GROUP_ID>"
        alb.ingress.kubernetes.io/subnets: "<SUBNET_ID_1>,<SUBNET_ID_2>"
        alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=60"
```

**Allgemeine ALB-Anmerkungen:**
+ `alb.ingress.kubernetes.io/security-groups`: Geben Sie Sicherheitsgruppen für das ALB an
+ `alb.ingress.kubernetes.io/subnets`: Geben Sie Subnetze für das ALB an
+ `alb.ingress.kubernetes.io/load-balancer-attributes`: Legt ALB-Attribute fest (Leerlauf-Timeout, Zugriffsprotokolle usw.)

Alle verfügbaren Anmerkungen finden Sie in der [AWS Load Balancer Controller-Dokumentation](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/).

### Upgrade/Versionierung des Add-ons
<a name="upgrade-add-on"></a>

```
aws eks update-addon \
  --cluster-name <CLUSTER_NAME> \
  --addon-name amazon-sagemaker-spaces \
  --configuration-values file://addon-config.yaml \
  --resolve-conflicts OVERWRITE \
  --region <AWS_REGION>
```

# Add-on anpassen
<a name="customization"></a>

## Vorlage
<a name="customization-template"></a>

Vorlagen sind wiederverwendbare Workspace-Konfigurationen, die als vom Administrator gesteuerte Blueprints für die Erstellung von Arbeitsbereichen dienen. Sie bieten Standardwerte für Workspace-Konfigurationswerte und Richtlinien, mit denen gesteuert werden kann, was Datenwissenschaftler tun können. Vorlagen existieren auf Clusterebene und können in verschiedenen Namespaces wiederverwendet werden. 

SageMaker Spaces erstellt zwei Systemvorlagen als Ausgangspunkt für Datenwissenschaftler, eine für den Code-Editor und eine für. JupyterLab Diese Systemvorlagen werden vom Addon verwaltet und können nicht direkt bearbeitet werden. Stattdessen können Admins neue Vorlagen erstellen und diese als Standard festlegen.

## Verwaltung von Aufgaben
<a name="customization-governabce"></a>

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: WorkspaceTemplate
metadata:
  name: my-jupyter-template
  namespace: my-namespace
  labels:
    kueue.x-k8s.io/priority-class: <user-input>-priority
spec:
  displayName: "My Custom Jupyter Lab"
  description: "Custom Jupyter Lab with specific configurations"
  defaultImage: "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
  allowedImages:
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu"
  defaultResources:
    requests:
      cpu: "1"
      memory: "4Gi"
    limits:
      cpu: "4"
      memory: "16Gi"
  primaryStorage:
    defaultSize: "10Gi"
    minSize: "5Gi"
    maxSize: "50Gi"
    defaultStorageClassName: "sagemaker-spaces-default-storage-class"
    defaultMountPath: "/home/sagemaker-user"
  defaultContainerConfig:
    command: ["/opt/amazon/sagemaker/workspace/bin/entrypoint-workspace-jupyterlab"]
  defaultPodSecurityContext:
    fsGroup: 1000
  defaultOwnershipType: "Public"
  defaultAccessStrategy:
    name: "hyperpod-access-strategy"
  allowSecondaryStorages: true
  appType: "jupyterlab"
```

## SMD//Benutzerdefinierte Bilder
<a name="customization-image"></a>

Kunden können Image-Richtlinien mithilfe von Vorlagen konfigurieren, indem sie ein Standard-Image und eine Liste der zulässigen Images bereitstellen. Darüber hinaus können Administratoren wählen, ob Datenwissenschaftler ihre eigenen benutzerdefinierten Images mitbringen dürfen. Das System verwendet standardmäßig die neueste SageMaker Distribution. Wenn Sie sich jedoch an eine bestimmte Version binden möchten, können Sie die genaue SMD-Version angeben, die in einer Vorlage verwendet werden soll.

Anforderungen an benutzerdefinierte Bilder:
+ `curl`wenn Sie Idle Shutdown verwenden möchten
+ Port 8888
+ Remote-Zugriff

## Remote-IDE-Anforderung
<a name="remote-ide-requirement"></a>

### Anforderung an die VS-Code-Version
<a name="remote-ide-requirement-vscode"></a>

VS-Code-Version [v1.90](https://code.visualstudio.com/updates/v1_90) oder höher ist erforderlich. Wir empfehlen die [neueste stabile Version von VS Code](https://code.visualstudio.com/updates) zu verwenden.

### Anforderungen an Betriebssysteme
<a name="remote-ide-requirement-operate"></a>

Sie benötigen eines der folgenden Betriebssysteme, um eine Remoteverbindung zu Studio-Bereichen herzustellen:
+ macOS 13\$1
+ Windows 10
  + [Die Unterstützung für Windows 10 endet am 14. Oktober 2025](https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281)
+ Windows 11
+ Linux
+ Installieren Sie den offiziellen [Microsoft VS Code für Linux](https://code.visualstudio.com/docs/setup/linux)
  + keine Open-Source-Version

### Voraussetzungen für lokale Maschinen
<a name="remote-ide-requirement-machine"></a>

Bevor Sie Ihren lokalen Visual Studio-Code mit Studio Spaces verbinden, stellen Sie sicher, dass Ihr lokaler Computer über die erforderlichen Abhängigkeiten und den erforderlichen Netzwerkzugriff verfügt.

**Anmerkung**  
Umgebungen mit Einschränkungen bei der Softwareinstallation können Benutzer daran hindern, die erforderlichen Abhängigkeiten zu installieren. Das AWS Toolkit for Visual Studio Code sucht beim Initiieren von Remoteverbindungen automatisch nach diesen Abhängigkeiten und fordert Sie zur Installation auf, falls diese fehlen. Stimmen Sie sich mit Ihrer IT-Abteilung ab, um sicherzustellen, dass diese Komponenten verfügbar sind.

**Erforderliche lokale Abhängigkeiten**

Auf Ihrem lokalen Computer müssen die folgenden Komponenten installiert sein:
+ **[https://code.visualstudio.com/docs/remote/ssh](https://code.visualstudio.com/docs/remote/ssh)**
+ — Standard-VS Code Marketplace-Erweiterung für die Fernentwicklung
+ **[Session Manager-Plugin](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)** — Für eine sichere Sitzungsverwaltung erforderlich
+ **SSH-Client** — Standardkomponente auf den meisten Maschinen ([OpenSSH wird für Windows empfohlen](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse))
+ **[https://code.visualstudio.com/docs/configure/command-line](https://code.visualstudio.com/docs/configure/command-line)**
+  In der Regel in der VS Code-Installation enthalten

**Plattformspezifische Anforderungen**
+ **Windows-Benutzer** — PowerShell 5.1 oder höher ist für SSH-Terminalverbindungen erforderlich

**Anforderungen an die Netzwerkkonnektivität**

Ihr lokaler Computer muss Netzwerkzugriff auf die [Session Manager-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/ssm.html) haben. In USA Ost (Nord-Virginia) (us-east-1) können dies beispielsweise sein:
+ `[ssm.us-east-1.amazonaws.com](http://ssm.us-east-1.amazonaws.com)`
+ `ssm.us-east-1.api.aws`
+ `[ssmmessages.us-east-1.amazonaws.com](http://ssmmessages.us-east-1.amazonaws.com)`
+ `[ec2messages.us-east-1.amazonaws.com](http://ec2messages.us-east-1.amazonaws.com)`

### Anforderungen an Images
<a name="remote-ide-requirement-image"></a>

**SageMaker Bilder zur Verteilung**

Wenn Sie SageMaker Distribution mit Fernzugriff verwenden, verwenden Sie [SageMaker Distribution](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-distribution.html) Version 2.7 oder höher.

**Benutzerdefinierte Bilder**

Wenn Sie [Bring Your Own Image (BYOI)](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-byoi.html) mit Fernzugriff verwenden, stellen Sie sicher, dass Sie die [benutzerdefinierten Image-Spezifikationen](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-byoi-specs.html) einhalten und dass die folgenden Abhängigkeiten installiert sind:
+ `curl`oder `wget` — Erforderlich für das Herunterladen von Komponenten AWS CLI 
+ `unzip`— Erforderlich für das Extrahieren von AWS CLI Installationsdateien
+ `tar`— Für das Extrahieren von Archiven erforderlich
+ `gzip`— Erforderlich für die Handhabung komprimierter Dateien

### Instance-Anforderungen
<a name="remote-ide-requirement-instance"></a>
+ **Arbeitsspeicher**: 8 GB oder mehr
+ Verwenden Sie Instanzen mit mindestens 8 GB Arbeitsspeicher. Die folgenden Instance-Typen werden aufgrund unzureichenden Speichers (weniger als 8 GB) *nicht* unterstützt: `ml.t3.medium`, `ml.c7i.large`, `ml.c6i.large`, `ml.c6id.large` und `ml.c5.large`. Eine vollständigere Liste der Instance-Typen finden Sie auf der Seite [Amazon EC2 On-Demand-Preise](https://aws.amazon.com/ec2/pricing/on-demand/)

## Optimierung der Kubernetes-Startzeit durch Vorwärmen von Container-Images
<a name="remote-ide-optimize-image"></a>

Die Leistung beim Abrufen von Container-Images ist für viele EKS-Kunden zu einem erheblichen Engpass geworden, insbesondere da AI/ML Workloads auf immer größere Container-Images angewiesen sind. Das Ziehen und Entpacken dieser großen Images dauert in der Regel mehrere Minuten, wenn sie zum ersten Mal auf jedem EKS-Knoten verwendet werden. Diese Verzögerung erhöht die Latenz beim Start von SageMaker Spaces erheblich und wirkt sich direkt auf die Benutzererfahrung aus — insbesondere in Umgebungen, in denen ein schneller Start unerlässlich ist, wie Notebooks oder interaktive Entwicklungsjobs. 

Bei der Image-Vorwärmung handelt es sich um eine Technik, mit der bestimmte Container-Images vorab auf jeden Knoten im EKS/HyperPod Cluster geladen werden, bevor sie benötigt werden. Anstatt darauf zu warten, dass ein Pod den ersten Abruf eines großen Images auslöst, lädt der Cluster proaktiv Bilder herunter und speichert sie zwischen allen Knoten. Dadurch wird sichergestellt, dass beim Start von Workloads die erforderlichen Images bereits lokal verfügbar sind, wodurch lange Kaltstartverzögerungen vermieden werden. Das Vorwärmen von Bildern verbessert die Startgeschwindigkeit von SageMaker Spaces und sorgt für ein vorhersehbareres und reaktionsschnelleres Erlebnis für Endbenutzer.

### Vorwärmen über DaemonSet
<a name="remote-ide-optimize-image-dae"></a>

Wir empfehlen die Verwendung von a DaemonSet zum Vorladen von Bildern. A DaemonSet stellt sicher, dass auf jedem Knoten im Cluster ein Pod ausgeführt wird. Jeder Container im DaemonSet Pod verweist auf ein Bild, das Sie zwischenspeichern möchten. Wenn Kubernetes den Pod startet, werden die Bilder automatisch abgerufen, wodurch der Cache auf jedem Knoten erwärmt wird.

Das folgende Beispiel zeigt, wie Sie einen erstellen, der zwei DaemonSet GPU-Images vorab lädt. Jeder Container führt einen einfachen `sleep infinity` Befehl aus, um den Pod bei minimalem Overhead aktiv zu halten.

```
cat <<EOF | kubectl apply -n "namespace_1" -f -
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: image-preload-ds
spec:
  selector:
    matchLabels:
      app: image-preloader
  template:
    metadata:
      labels:
        app: image-preloader
    spec:
      containers:
      - name: preloader-3-4-2
        image: public.ecr.aws/sagemaker/sagemaker-distribution:3.4.2-gpu
        command: ["sleep"]
        args: ["infinity"]
        resources:
          requests:
            cpu: 1m
            memory: 16Mi
          limits:
            cpu: 5m
            memory: 32Mi
      - name: preloader-3-3-2
        image: public.ecr.aws/sagemaker/sagemaker-distribution:3.3.2-gpu
        command: ["sleep"]
        args: ["infinity"]
        resources:
          requests:
            cpu: 1m
            memory: 16Mi
          limits:
            cpu: 5m
            memory: 32Mi
EOF
```

### So funktioniert’s
<a name="remote-ide-optimize-image-how"></a>
+ Jeder Container referenziert ein Bild.
+ Kubernetes muss jedes Image herunterladen, bevor der Container gestartet wird.
+ Sobald der Pod auf jedem Knoten ausgeführt wird, werden die Bilder lokal zwischengespeichert.
+ Jeder Workload, der diese Images verwendet, startet jetzt viel schneller.

## Space Default Storage (EBS)
<a name="space-storage"></a>

Das System verwendet standardmäßig den EBS-CSI-Treiber, um EBS-Speicher-Volumes für jeden Workspace bereitzustellen. SageMaker erstellt eine EBS-Speicherklasse für die Verwendung mit Workspaces, und Administratoren können die Standard- und Maximalgröße dieser Volumes mithilfe von Vorlageneinstellungen anpassen. Für fortgeschrittene Benutzer, die mit CLI-Tools arbeiten, können Sie auch die Speicherklasse des Workspace anpassen, sodass Benutzer andere Speicherklassen nutzen können, einschließlich der Konfiguration von kundenverwalteten KMS-Schlüsseln für ihre EBS-Volumes.

Beachten Sie, dass EBS-Volumes an eine bestimmte AZ gebunden sind, was bedeutet, dass Workspaces nur auf Knoten geplant werden können, die sich in derselben AZ wie ihr Speichervolume befinden. Dies kann zu Planungsfehlern führen, wenn Clusterkapazität vorhanden ist, aber nicht in der richtigen AZ.

## Zusätzlicher Speicher
<a name="space-additional-storage"></a>

SageMaker Spaces unterstützt das Anhängen zusätzlicher Speichervolumes wie Amazon EFS, FSx for Lustre oder S3 Mountpoint an Ihre Entwicklungsbereiche. Auf diese Weise können Sie auf gemeinsam genutzte Datensätze zugreifen, an Projekten zusammenarbeiten oder Hochleistungsspeicher für Ihre Workloads verwenden.

### Voraussetzungen
<a name="space-additional-storage-prereq"></a>

Bevor Sie Spaces zusätzlichen Speicherplatz hinzufügen, müssen Sie:

1. **Installieren Sie das entsprechende CSI-Treiber-Add-on** über [EKS-Add-Ons](https://docs.aws.amazon.com/eks/latest/userguide/workloads-add-ons-available-eks.html) (Amazon EFS CSI Driver, Amazon FSx for Lustre CSI Driver oder Mountpoint for Amazon S3 CSI Driver)

1. **Richten Sie Speicherressourcen ein und PersistentVolumeClaims befolgen** Sie die CSI-Treiber-Dokumentation für Ihren spezifischen Speichertyp

1. **Stellen Sie sicher, dass das PVC in demselben Namespace verfügbar ist**, in dem Sie Ihren Bereich einrichten möchten

### Speicher an Räume anhängen
<a name="space-additional-storage-attach"></a>

Sobald Sie eine PersistentVolumeClaim konfiguriert haben, können Sie sie entweder über die HyperPod CLI oder kubectl an einen Space anhängen.

**HyperPod CLI**

```
hyp create hyp-space \
    --name my-space \
    --display-name "My Space with FSx" \
    --memory 8Gi \
    --volume name=shared-fsx,mountPath=/shared,persistentVolumeClaimName=my-fsx-pvc
```

**kubectl**

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: my-space
spec:
  displayName: "My Space with FSx"
  desiredStatus: Running
  volumes:
  - name: shared-fsx
    mountPath: /shared
    persistentVolumeClaimName: my-fsx-pvc
```

### Mehrere Bände
<a name="space-additional-storage-multiple"></a>

Sie können mehrere zusätzliche Speichervolumes an einen einzelnen Speicherplatz anhängen, indem Sie mehrere `--volume` Flags mit der CLI oder mehrere Einträge im `volumes` Array mit kubectl angeben.

**HyperPod CLI**

```
hyp create hyp-space \
    --name my-space \
    --display-name "My Space with Multiple Storage" \
    --memory 8Gi \
    --volume name=shared-efs,mountPath=/shared,persistentVolumeClaimName=my-efs-pvc \
    --volume name=datasets,mountPath=/datasets,persistentVolumeClaimName=my-s3-pvc
```

**kubectl**

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: my-space
spec:
  displayName: "My Space with Multiple Storage"
  desiredStatus: Running
  volumes:
  - name: shared-efs
    mountPath: /shared
    persistentVolumeClaimName: my-efs-pvc
  - name: datasets
    mountPath: /datasets
    persistentVolumeClaimName: my-s3-pvc
```

## Konfiguration der Ressourcen
<a name="space-resource-configuration"></a>

SageMaker Mit Spaces können Sie Rechenressourcen für Ihre Entwicklungsumgebungen konfigurieren, einschließlich CPU-, Arbeitsspeicher- und GPU-Ressourcen, die Ihren Workload-Anforderungen entsprechen.

### GPU-Konfiguration
<a name="space-gpu-configuration"></a>

SageMaker Spaces unterstützt sowohl die gesamte GPU-Zuweisung als auch die GPU-Partitionierung mithilfe der NVIDIA Multi-Instance-GPU (MIG) -Technologie. Auf diese Weise können Sie die GPU-Auslastung für verschiedene Arten von Workloads für maschinelles Lernen optimieren.

#### Vollständige GPU-Zuweisung
<a name="space-gpu-whole"></a>

**HyperPod CLI**

```
hyp create hyp-space \
    --name gpu-space \
    --display-name "GPU Development Space" \
    --image public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu \
    --memory 16Gi \
    --gpu 1 \
    --gpu-limit 1
```

**kubectl**

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: gpu-space
spec:
  displayName: "GPU Development Space"
  image: "public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu"
  desiredStatus: Running
  resources:
    requests:
      memory: "16Gi"
      nvidia.com/gpu: "1"
    limits:
      memory: "16Gi"
      nvidia.com/gpu: "1"
```

#### GPU-Partitionierung (MIG)
<a name="space-gpu-mig"></a>

Die GPU-Partitionierung mithilfe der NVIDIA Multi-Instance-GPU (MIG) -Technologie ermöglicht es Ihnen, eine einzelne GPU in kleinere, isolierte Instanzen zu partitionieren. Ihr HyperPod Cluster muss über GPU-Knoten verfügen, die MIG unterstützen, und es müssen MIG-Profile konfiguriert sein. Weitere Informationen zur Einrichtung von MIG auf Ihrem HyperPod Cluster finden Sie unter [GPU-Partitionierung mit NVIDIA MIG](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-gpu-partitioning-setup.html).

**HyperPod CLI**

```
hyp create hyp-space \
    --name mig-space \
    --display-name "MIG GPU Space" \
    --image public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu \
    --memory 8Gi \
    --accelerator-partition-type mig-3g.20gb \
    --accelerator-partition-count 1
```

**kubectl**

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: mig-space
spec:
  displayName: "MIG GPU Space"
  image: "public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu"
  desiredStatus: Running
  resources:
    requests:
      memory: "8Gi"
      nvidia.com/mig-3g.20gb: "1"
    limits:
      memory: "8Gi"
      nvidia.com/mig-3g.20gb: "1"
```

## Lebenszyklus
<a name="space-lifecycle"></a>

Die Lebenszykluskonfiguration stellt Startskripts bereit, die ausgeführt werden, wenn ein Workspace erstellt oder gestartet wird. Diese Skripts ermöglichen es Administratoren, die Workspace-Umgebung beim Start anzupassen. Dies sind Bash-Skripte mit einer maximalen Größe von 1 KB. Wenn Sie eine größere Setup-Konfiguration benötigen, empfehlen wir, dem Container-Image ein Skript hinzuzufügen und das Skript über die Lebenszykluskonfiguration auszulösen.

[Wir nutzen Kubernetes-Container-Lifecycle-Hooks, um diese Funktionalität bereitzustellen https://kubernetes. io/docs/concepts/containers/container-lifelycle-hooks/.](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) Beachten Sie, dass Kubernetes keine Garantie dafür gibt, wann das Startskript in Bezug auf den Einstiegspunkt des Containers ausgeführt wird. 

## Herunterfahren im Leerlauf
<a name="space-idle-shutdown"></a>

Konfigurieren Sie das automatische Herunterfahren inaktiver Workspaces, um die Ressourcennutzung zu optimieren.

### Herunterfahren im Leerlauf
<a name="space-idle-shutdown-spec"></a>

```
idleShutdown:
  enabled: true
  idleShutdownTimeoutMinutes: 30
  detection:
    httpGet:
      path: /api/idle
      port: 8888
      scheme: HTTP
```

### Parameters
<a name="space-idle-shutdown-parameter"></a>

**enabled** (boolean, required) — Aktiviert oder deaktiviert das Herunterfahren im Leerlauf für den Workspace.

**idleShutdownTimeoutMinuten** (Ganzzahl, erforderlich) — Anzahl der Minuten der Inaktivität, bevor der Workspace heruntergefahren wird. Der Mindestwert ist 1.

**detection** (object, required) — Definiert, wie der Ruhezustand eines Workspace erkannt wird.

**Detection.HttpGet** (Objekt, optional) — HTTP-Endpunktkonfiguration für die Erkennung von Leerlauf. Verwendet die Kubernetes Action-Spezifikation. HTTPGet
+ **path** — HTTP-Pfad zur Anfrage
+ **port** — Portnummer oder Name
+ **Schema** — HTTP oder HTTPS (Standard: HTTP)

### Speicherorte der Konfiguration
<a name="space-idle-shutdown-configure"></a>

**Konfiguration des Arbeitsbereichs**

Definieren Sie das Herunterfahren im Leerlauf direkt in der Workspace-Spezifikation:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:

      name: my-workspace
spec:
  displayName: "Development Workspace"
  image:
      jupyter/scipy-notebook:latest
  idleShutdown:
    enabled: true

      idleShutdownTimeoutMinutes: 30
    detection:
      httpGet:
        path:
      /api/idle
        port: 8888
```

**Konfiguration der Vorlage**

Definieren Sie das Standardverhalten beim Herunterfahren im Leerlauf in einem WorkspaceTemplate:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: WorkspaceTemplate
metadata:
  name: jupyter-template
spec:
  displayName: "Jupyter Template"
  defaultImage: jupyter/scipy-notebook:latest
  defaultIdleShutdown:
    enabled: true
    idleShutdownTimeoutMinutes: 30
    detection:
      httpGet:
        path: /api/idle
        port: 8888
  idleShutdownOverrides:
    allow: true
    minTimeoutMinutes: 60
    maxTimeoutMinutes: 240
```

### Vererbung und Überschreibungen von Vorlagen
<a name="space-idle-shutdown-inherit"></a>

Arbeitsbereiche, die eine Vorlage verwenden, erben automatisch die Konfiguration der Vorlage. `defaultIdleShutdown` Arbeitsbereiche können diese Konfiguration überschreiben, wenn die Vorlage dies zulässt.

**Richtlinie außer Kraft setzen**

Vorlagen steuern das Verhalten beim Außerkraftsetzen durch`idleShutdownOverrides`:

**allow** (boolean, default: true) — Ob Workspaces die Standardkonfiguration zum Herunterfahren im Leerlauf überschreiben können.

**minTimeoutMinutes**(Ganzzahl, optional) — Minimaler zulässiger Timeout-Wert für Workspace-Overrides.

**maxTimeoutMinutes**(Ganzzahl, optional) — Maximal zulässiger Timeout-Wert für Workspace-Overrides.

**Beispiel für Vererbung**

Workspace erbt die Standardeinstellungen für Vorlagen:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: my-workspace
spec:
  displayName: "My Workspace"
  templateRef:
    name: jupyter-template
  # Inherits defaultIdleShutdown from template
```

**Beispiel überschreiben**

Workspace überschreibt die Standardeinstellungen der Vorlage:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: my-workspace
spec:
  displayName: "My Workspace"
  templateRef:
    name: jupyter-template
  idleShutdown:
    enabled: true
    idleShutdownTimeoutMinutes: 60  # Must be within template bounds
    detection:
      httpGet:
        path: /api/idle
        port: 8888
```

**Gesperrte Konfiguration**

Workspace-Überschreibungen verhindern:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: WorkspaceTemplate
metadata:
  name: locked-template
spec:
  displayName: "Locked Template"
  defaultImage: jupyter/scipy-notebook:latest
  defaultIdleShutdown:
    enabled: true
    idleShutdownTimeoutMinutes: 30
    detection:
      httpGet:
        path: /api/idle
        port: 8888
  idleShutdownOverrides:
    allow: false  # Workspaces cannot override
```

### Behavior
<a name="space-idle-shutdown-behavior"></a>

Wenn das Herunterfahren im Leerlauf aktiviert ist, überprüft das System den Workspace regelmäßig anhand des konfigurierten HTTP-Endpunkts auf Aktivitäten. Wenn der Endpunkt angibt, dass der Workspace für die angegebene Timeout-Dauer inaktiv ist, stoppt der Workspace automatisch. Sie können den Workspace bei Bedarf manuell neu starten.

## Vorlagenaktualisierungen
<a name="customization-template-updates"></a>

Die Client-Tools wie Kubectl oder Hyperpod CLI und SDK können für die Verwaltung von Spaces innerhalb des EKS-Clusters verwendet werden. Administratoren können Space-Vorlagen für standardmäßige Space-Konfigurationen bereitstellen, während Datenwissenschaftler ihre integrierten Entwicklungsumgebungen anpassen können, ohne die zugrunde liegende Komplexität von Kubernetes verstehen zu müssen. Detaillierte Nutzungsanweisungen finden Sie in der CLI- und SDK-Dokumentation unter [https://sagemaker-hyperpod-cli.readthedocs.io/en/latest/index.html](https://sagemaker-hyperpod-cli.readthedocs.io/en/latest/index.html).

Administratoren können CRUD-Operationen mit Space-Vorlagen durchführen, die als Basiskonfigurationen bei der Erstellung eines Space dienen. Datenwissenschaftler können CRUD-Operationen auf Spaces ausführen und verschiedene Parameter außer Kraft setzen, einschließlich der Multi-Instanz-GPU-Profile für bestimmte Rechenknoten. Sie können die Spaces über VSCode Fernzugriff und die Weboberfläche starten, beenden und eine Verbindung zu ihnen herstellen. Wenn eine Space-Vorlage aktualisiert wird, werden alle später erstellten Spaces mit den Einstellungen in der aktualisierten Vorlage konfiguriert. Konformitätsprüfungen werden durchgeführt, wenn bestehende Spaces aktualisiert oder gestartet werden. Wenn Einstellungen außerhalb der zulässigen Grenzen liegen oder nicht übereinstimmen, können die Spaces nicht aktualisiert oder gestartet werden.

## Verwenden von hyp cli und kubectl
<a name="customization-hyp-cli"></a>

Der Benutzer kann mit der Hyperpod-CLI CRUD für die Vorlagen ausführen

```
### 1. Create a Space Template
hyp create hyp-space-template --file template.yaml

### 2. List Space Templates
hyp list hyp-space-template
hyp list hyp-space-template --output json

### 3. Describe a Space Template
hyp describe hyp-space-template --name my-template
hyp describe hyp-space-template --name my-template --output json

### 4. Update a Space Template
hyp update hyp-space-template --name my-template --file updated-template.yaml

### 5. Delete a Space Template
hyp delete hyp-space-template --name my-template
```

Um benutzerdefinierte Vorlagen zu erstellen, können Sie unsere Systemvorlagen als Ausgangspunkt verwenden. Diese Vorlage funktioniert für SMD-ähnliche Bilder, kann jedoch auf der Grundlage der von Administratoren verwendeten Bilder angepasst werden.

Beispiel für eine benutzerdefinierte Vorlage: JupyterLab 

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: WorkspaceTemplate
metadata:
  name: my-jupyter-template
  namespace: my-namespace
spec:
  displayName: "My Custom Jupyter Lab"
  description: "Custom Jupyter Lab with specific configurations"
  defaultImage: "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
  allowedImages:
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu"
  defaultResources:
    requests:
      cpu: "1"
      memory: "4Gi"
    limits:
      cpu: "4"
      memory: "16Gi"
  primaryStorage:
    defaultSize: "10Gi"
    minSize: "5Gi"
    maxSize: "50Gi"
    defaultStorageClassName: "sagemaker-spaces-default-storage-class"
    defaultMountPath: "/home/sagemaker-user"
  defaultContainerConfig:
    command: ["/opt/amazon/sagemaker/workspace/bin/entrypoint-workspace-jupyterlab"]
  defaultPodSecurityContext:
    fsGroup: 1000
  defaultOwnershipType: "Public"
  defaultAccessStrategy:
    name: "hyperpod-access-strategy"
  allowSecondaryStorages: true
  appType: "jupyterlab"
```

Beispiel für eine benutzerdefinierte Code-Editor-Vorlage:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: WorkspaceTemplate
metadata:
  name: my-code-editor-template
  namespace: my-namespace
spec:
  displayName: "My Custom Code Editor"
  description: "Custom Code Editor with specific configurations"
  defaultImage: "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
  allowedImages:
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu"
    - "public.ecr.aws/sagemaker/sagemaker-distribution:latest-gpu"
  defaultResources:
    requests:
      cpu: "1"
      memory: "4Gi"
    limits:
      cpu: "4"
      memory: "16Gi"
  primaryStorage:
    defaultSize: "10Gi"
    minSize: "5Gi"
    maxSize: "50Gi"
    defaultStorageClassName: "sagemaker-spaces-default-storage-class"
    defaultMountPath: "/home/sagemaker-user"
  defaultContainerConfig:
    command: ["/opt/amazon/sagemaker/workspace/bin/entrypoint-workspace-code-editor"]
  defaultPodSecurityContext:
    fsGroup: 1000
  defaultOwnershipType: "Public"
  defaultAccessStrategy:
    name: "hyperpod-access-strategy"
  allowSecondaryStorages: true
  appType: "code-editor"
```

# Fügen Sie Benutzer hinzu und richten Sie Dienstkonten ein
<a name="add-user"></a>

## Feinkörnige Zutrittskontrolle — unsere Empfehlung
<a name="add-user-access-control"></a>

Benutzer werden anhand ihres Kubernetes-Benutzernamens unterschieden. Der Kubernetes-Benutzername des Benutzers ist in seinem Zugriffseintrag definiert. Um sicherzustellen, dass zwei menschliche Benutzer unterschiedliche Benutzernamen haben, gibt es zwei Optionen:

1. Empfohlen — Mehrere menschliche Benutzer können dieselbe Rolle verwenden, solange jeder Benutzer seinen eigenen eindeutigen Sitzungsnamen hat, der zwischen den Sitzungen bestehen bleibt. Standardmäßig haben Kubernetes-Benutzernamen für IAM-Rollen das folgende Format. `arn:aws:sts::{ACCOUNT_ID}:assumed-role/{ROLE_NAME}/{SESSION_NAME}` Mit dieser Standardeinstellung werden Benutzer bereits nach dem Sitzungsnamen unterschieden. Ein Administrator hat mehrere Möglichkeiten, eindeutige Sitzungsnamen pro Benutzer durchzusetzen.
   + SSO-Anmeldung — Benutzer, die die SSO-Anmeldung verwenden, haben standardmäßig einen Sitzungsnamen, der mit ihrem AWS Benutzernamen verknüpft ist
   + Zentraler Verkaufsservice für Anmeldeinformationen — Für Unternehmenskunden gibt es möglicherweise einen internen Verkaufsdienst für Anmeldeinformationen, den Benutzer anrufen können, um Anmeldeinformationen mit ihrer Identität zu erhalten. 
   + Rollenbasierte Durchsetzung — IAM-Benutzer müssen ihren eigenen Sitzungsnamen `aws:username` angeben, wenn sie in Ihrer Rolle eine IAM-Rolle übernehmen. AWS-Konto Die Dokumentation dazu finden Sie hier: [https://aws.amazon.com/blogs/easily-control-naming-individualsecurity/](https://aws.amazon.com/blogs/security/easily-control-naming-individual-iam-role-sessions/) -/iam-role-sessions

1. Wenn 2 Data Scientists unterschiedliche Zugriffseinträge verwenden (unterschiedliche IAM-Rolle oder Benutzer), werden sie immer als unterschiedliche Benutzer gezählt.

**Zugangseintrag wird erstellt**

Erforderliche IAM-Richtlinie für die Rolle eines Datenwissenschaftlers:
+ `eks:DescribeCluster`

Erforderliche Richtlinien für den Zugriff
+ `AmazonSagemakerHyperpodSpacePolicy`- Auf den Namespace beschränkt, sollte DS Leerzeichen erzeugen in
+ `AmazonSagemakerHyperpodSpaceTemplatePolicy`- ist auf den Namespace „jupyter-k8s-shared“ beschränkt

## Private und öffentliche Räume
<a name="add-user-spaces"></a>

Wir unterstützen zwei Arten von Sharing-Mustern: „Öffentlich“ und „OwnerOnly“. Sowohl die Felder „AccessType“ als auch „OwnershipType“ verwenden diese beiden Werte.
+ AccessType: Auf öffentliche Bereiche kann jeder zugreifen, der über Berechtigungen im Namespace verfügt. Auf öffentliche Bereiche OwnerOnly können jedoch nur der Ersteller des Bereichs sowie Administratorbenutzer zugreifen. Administratorbenutzer werden anhand der folgenden Kriterien definiert:
+ OwnershipType: Öffentliche Bereiche können modified/deleted von jedem eingerichtet werden, der über Berechtigungen im Namespace verfügt, OwnerOnly entweder modified/deleted vom Ersteller oder vom Administrator.

Admin-Benutzer werden definiert durch:

1. Teil der `system:masters` Kubernetes-Gruppe

1. Teil der Kubernetes-Gruppe, die in der Umgebungsvariablen CLUSTER\$1ADMIN\$1GROUP im Helmdiagramm definiert ist.

Die Gruppen eines Benutzers können mithilfe von EKS-Zugriffseinträgen konfiguriert werden. Ein Bereich kann als „Öffentlich“ oder „OwnerOnly“ definiert werden, indem die Spezifikation im Objekt konfiguriert wird:

```
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  labels:
    app.kubernetes.io/name: jupyter-k8s
  name: example-workspace
spec:
  displayName: "Example Workspace"
  image: "public.ecr.aws/sagemaker/sagemaker-distribution:3.4.2-cpu"
  desiredStatus: "Running"
  ownershipType: "Public"/"OwnerOnly"
  accessType: "Public"/"OwnerOnly"
  # more fields here
```

# Einschränkungen
<a name="ds-limits"></a>

Spaces werden als Pods auf HyperPod EKS-Knoten mit angeschlossenen EBS-Volumes ausgeführt. Die Anzahl der Spaces, die pro Knoten bereitgestellt werden können, ist durch AWS Infrastrukturgrenzen begrenzt.

**EBS-Volumenlimits pro Knoten**

[Referenz: \$1limits.html https://docs.aws.amazon.com/AWSEC2/ latest/UserGuide/volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html)

EC2-Knoten haben eine maximale Anzahl von EBS-Volumes, die angehängt werden können. Da jeder Space in der Regel ein EBS-Volume verwendet, wird dadurch begrenzt, wie viele Spaces mit dediziertem EBS-Speicher auf einem einzelnen Knoten ausgeführt werden können.

**Maximale Anzahl an Pods pro Knoten HyperPod **

Referenz: [https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker- hyperpod-eks-prerequisites .html](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)

Jeder HyperPod Instance-Typ unterstützt eine maximale Anzahl von Pods auf der Grundlage der verfügbaren IP-Adressen aus dem VPC CNI-Plugin. Da jeder Space als Pod ausgeführt wird, begrenzt dies direkt die Anzahl der Spaces pro Knoten.

**Auswirkung**

Die effektive Grenze für Spaces pro Knoten ist die Beschränkung, die zuerst erreicht wird. 

# Aufgabenverwaltung für interaktive Bereiche aktiviert HyperPod
<a name="task-governance"></a>

In diesem Abschnitt wird beschrieben, wie Sie Ihre gemeinsam genutzten Amazon SageMaker HyperPod EKS-Cluster für Interactive Spaces-Workloads optimieren können. Sie lernen, die Aufgabenverwaltungsfunktionen von Kueue — einschließlich Quotenverwaltung, Prioritätsplanung und Richtlinien für die gemeinsame Nutzung von Ressourcen — zu konfigurieren, um sicherzustellen, dass Ihre Entwicklungs-Workloads ohne Unterbrechung laufen und gleichzeitig eine faire Verteilung der Schulungs-, Evaluierungs- und Batch-Verarbeitungsaktivitäten Ihrer Teams gewährleistet wird.

## So funktioniert Interactive Space Management
<a name="task-governance-how"></a>

Um interaktive Bereiche in gemeinsam genutzten HyperPod EKS-Clustern effektiv zu verwalten, implementieren Sie die folgenden Strategien zur Aufgabenverwaltung unter Verwendung der vorhandenen Funktionen von Kueue.

**Konfiguration der Prioritätsklasse**

Definieren Sie spezielle Prioritätsklassen für interaktive Bereiche mit hoher Gewichtung (z. B. 100), um sicherzustellen, dass Entwicklungs-Pods vor anderen Aufgabentypen zugelassen und geplant werden. Diese Konfiguration ermöglicht es Interactive Spaces, Jobs mit niedrigerer Priorität beim Laden des Clusters zu verhindern, was für die Aufrechterhaltung unterbrechungsfreier Entwicklungsabläufe entscheidend ist.

**Größe und Zuteilung von Kontingenten**

Reservieren Sie ausreichend Rechenressourcen in Ihrem Team, um die erwarteten Entwicklungsworkloads ClusterQueue zu bewältigen. In Zeiten, in denen Entwicklungsressourcen ungenutzt sind, können ungenutzte Quotenressourcen vorübergehend den Aufgaben anderer Teams zugewiesen werden. Wenn der Entwicklungsbedarf steigt, können diese geliehenen Ressourcen zurückgewonnen werden, um ausstehende Interactive Space-Pods zu priorisieren.

**Strategien zur gemeinsamen Nutzung von Ressourcen**

Wählen Sie zwischen zwei Anwesungen zur Aufteilung der Kontingente, die Ihren Anforderungen entsprechen:

*Strikte Ressourcenkontrolle*: Deaktivieren Sie das Ausleihen und Ausleihen von Kontingenten, um sicherzustellen, dass reservierte Rechenkapazität für Ihre Interactive Spaces immer verfügbar ist. Dieser Ansatz erfordert, dass die Kontingente groß genug sind, um Spitzenlasten bei der Entwicklung selbstständig bewältigen zu können. Dies kann dazu führen, dass Knoten in Zeiten geringer Auslastung inaktiv sind.

*Flexible gemeinsame Nutzung von Ressourcen*: Aktivieren Sie die Quotenausleihe, damit andere Teams bei Bedarf ungenutzte Entwicklungsressourcen nutzen können. Deaktivieren Sie jedoch die Ausleihe, um sicherzustellen, dass Interactive Spaces niemals mit geliehenen, zurückforderbaren Ressourcen ausgeführt wird, was zu unerwarteten Räumungen führen könnte.

**Teaminterne Präemption**

Aktivieren Sie die teaminterne Sperrung, wenn gemischte Workloads (Schulung, Evaluierung und interaktive Bereiche) unter demselben Kontingent ausgeführt werden. Auf diese Weise kann Kueue Aufgaben mit niedrigerer Priorität innerhalb Ihres Teams vorwegnehmen, um Interactive Space-Pods mit hoher Priorität unterzubringen. So wird sichergestellt, dass die Entwicklungsarbeit fortgesetzt werden kann, ohne auf externe Quoten angewiesen zu sein.

## Beispiel für eine Einrichtung von Interactive Space
<a name="task-governance-space-setup"></a>

Das folgende Beispiel zeigt, wie Kueue Rechenressourcen für Interactive Spaces in einem gemeinsam genutzten SageMaker HyperPod Amazon-Cluster verwaltet.

**Cluster-Konfiguration und Einrichtung von Richtlinien**

Ihr Cluster hat die folgende Konfiguration:
+ *Team Alpha (Entwicklungsteam)*: Quote von 8 CPUs für Interactive Spaces
+ *Team Beta (ML-Team)*: Kontingent von 16 CPUs für Training und Evaluierung
+ *Team Gamma (Forschung)*: Quote von 6 CPUs für Experimente
+ *Statische Bereitstellung*: Keine automatische Skalierung
+ *Gesamtkapazität*: 30 CPUs

Der gemeinsam genutzte CPU-Pool verwendet diese Prioritätsrichtlinie:
+ *Interaktive Bereiche*: Priorität 100
+ *Schulung*: Priorität 75
+ *Bewertung*: Priorität 50
+ *Stapelverarbeitung*: Priorität 25

Kueue setzt Teamkontingente und Prioritätsklassen durch, wobei Preemption aktiviert und Borlowing für das Entwicklerteam deaktiviert ist.

**Ausgangszustand: Normale Clusterauslastung**

Im Normalbetrieb:
+ *Team Alpha*: Führt 6 interaktive Bereiche mit 6 aus CPUs, davon 2 CPUs im Leerlauf
+ *Team Beta*: Führt Trainingsjobs (12 CPUs) und Evaluierungsaufgaben (4 CPUs) innerhalb des Kontingents von 16 CPUs aus
+ *Team Gamma*: Führt Forschungs-Workloads auf allen 6 aus CPUs
+ *Gemeinsame Nutzung von Ressourcen*: Team Beta leiht sich die 2 Idle von Team Alpha CPUs für zusätzliche Schulungen

**Entwicklungsschub: Team Alpha benötigt zusätzliche Ressourcen**

Wenn die Entwickler von Team Alpha die Entwicklungsarbeit ausweiten müssen, benötigen zusätzliche Interactive Space-Pods 4 weitere CPUs. Kueue stellt fest, dass es sich bei den neuen Pods um:
+ Im Namespace von Team Alpha
+ Priorität 100 (Interaktive Bereiche)
+ Aufgrund von Quotenbeschränkungen steht die Zulassung noch aus

**Der Antwortprozess von Kueue**

Kueue folgt einem dreistufigen Prozess zur Zuweisung von Ressourcen:

1. **Kontingentprüfung**

   Frage: Hat Team Alpha ein ungenutztes Kontingent?
   + *Aktuelle Nutzung*: 6 CPUs gebraucht, 2 CPUs verfügbar
   + *Neue Anforderung*: 4 CPUs erforderlich
   + *Ergebnis*: Ungenügendes Kontingent → Weiter mit Schritt 2

1. **Selbstprävention innerhalb von Team Alpha**

   Frage: Können Team Alpha-Jobs mit niedrigerer Priorität ausgeschlossen werden?
   + *Verfügbare Ziele*: Keine Jobs mit niedrigerer Priorität in Team Alpha
   + *Ergebnis*: Keine Präemption möglich → Fahren Sie mit Schritt 3 fort

1. **Entliehene Ressourcen zurückfordern**

   Frage: Werden Team Alpha-Ressourcen von anderen Teams ausgeliehen?
   + *Ausgeliehene Ressourcen*: Team Beta verwendet 2 CPUs von Team Alpha
   + *Aktion*: Die Warteschlange entfernt die von Team Beta geliehenen Trainingskapseln und gibt 2 davon frei CPUs
   + *Verbleibender Bedarf*: Benötige noch 2 weitere CPUs → Interaktive Bereiche bleiben im NotAdmitted Status, bis Ressourcen verfügbar sind

Bei diesem Ansatz werden interaktive Bereiche priorisiert und gleichzeitig die Quotengrenzen für Teams beibehalten und verhindert, dass Entwicklungsarbeiten mit instabilen, geliehenen Ressourcen ausgeführt werden.

# Beobachtbarkeit
<a name="observability"></a>

## Standardmäßige Kubernetes-Überwachung
<a name="observability-monitor"></a>

Sie können Spaces mit Standard-Kubernetes-Tools wie `kubectl` Describe und Logs überwachen. `kubectl`

**Den Space-Status überwachen**

```
# List all Spaces with status
kubectl get workspace -A

# Get detailed information about a specific Space
kubectl describe workspace <workspace-name>
```

**Speicherprotokolle anzeigen**

```
# View workspace container logs
kubectl logs -l workspace.jupyter.org/workspace-name=<workspace-name> -c workspace

# View SSM agent sidecar logs (for remote IDE connectivity)
kubectl logs -l workspace.jupyter.org/workspace-name=<workspace-name> -c ssm-agent-sidecar

# Follow logs in real-time
kubectl logs -l workspace.jupyter.org/workspace-name=<workspace-name> -c workspace -f
```

**Grundlegendes zu den Weltraumbedingungen**

Räume geben in ihrem Status vier Zustandstypen an:
+ **Verfügbar**: `True` wenn der Space einsatzbereit ist. Alle erforderlichen Ressourcen (Pods, Dienste, Speicher) laufen und funktionieren einwandfrei.
+ **Fortschreitend**: `True` wenn der Space erstellt, aktualisiert oder abgeglichen wird. Wechselt zu einem Zustand, der `False` einmal stabil ist.
+ **Heruntergestuft**: `True` wenn Fehler bei den Space-Ressourcen festgestellt werden. Einzelheiten finden Sie in der Zustandsmeldung.
+ **Gestoppt**: `True` wenn der Status Speicherplatz gewünscht auf gesetzt ist`Stopped`. Die Pods werden beendet, aber Speicher und Konfiguration bleiben erhalten.

## CloudWatch Protokolliert die Integration
<a name="observability-cw"></a>

Sie können das CloudWatch Logging-Add-on installieren, um Space-Logs zur zentralen Protokollverwaltung und Aufbewahrung an Amazon CloudWatch Logs zu senden. Dies ermöglicht die Aggregation von Protokollen über mehrere Cluster hinweg und die Integration mit CloudWatch Insights für Abfragen und Analysen. Alle oben genannten verfügbaren `kubectl` Protokolle können mit diesem Plugin abgefragt werden. CloudWatch 

**Referenz: https://docs.aws.amazon.com/sagemaker/** [latest/dg/sagemaker- hyperpod-eks-cluster-observability - cluster-cloudwatch-ci .html](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci.html).

## HyperPod Add-on „Beobachtbarkeit“
<a name="observability-addon"></a>

Das SageMaker HyperPod Observability-Add-on bietet umfassende Dashboards zur Überwachung der Nutzung von Weltraumressourcen. Nach der Installation des Add-ons können Sie die Speicherplatz-, Speicher- und CPU-Auslastung auf der Registerkarte **Aufgaben** der HyperPod Konsole einsehen, die Metriken in Amazon Managed Grafana-Dashboards anzeigt.

**[Referenz: - .html https://docs.aws.amazon.com/sagemaker/ latest/dg/sagemaker hyperpod-observability-addon](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-observability-addon.html)**

**Verfügbare Schlüsselmetriken:**
+ CPU- und Speicherauslastung pro Speicherplatz
+ GPU-Metriken (falls zutreffend)

# Bereiche erstellen und verwalten
<a name="create-manage-spaces"></a>

Datenwissenschaftler können alle Bereiche, auf die sie Zugriff haben, auflisten, um sie anzuzeigen, mithilfe einer der Vorlagen einen Bereich erstellen, Speicherplatz aktualisieren, um das Bild, das Dateisystem und andere Attribute der Speicherkonfiguration zu aktualisieren, und einen Bereich löschen. Als Voraussetzung müssen Kunden HyperPod CLI installieren oder kubectl verwenden, um Spaces zu erstellen und zu verwalten. Weitere Informationen zu HyperPod CLI finden Sie [hier](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/README.md#space). Informationen zur Verwendung von kubectl-Befehlen finden Sie in [dieser Anleitung](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) zur Installation von kubectl.

## Raum schaffen
<a name="create-manage-spaces-create"></a>

**HyperPod CLI**

Erstelle einen Jupyter-Raum

```
hyp create hyp-space \ 
    --name myspace \ 
    --display-name "My Space" \ 
    --memory 8Gi \ 
    --template-ref name=sagemaker-jupyter-template,namespace=jupyter-k8s-system
```

Erstellen Sie einen Code-Editor-Bereich

```
hyp create hyp-space \ 
    --name myspace \ 
    --display-name "My Space" \ 
    --memory 8Gi \ 
    --template-ref name=sagemaker-code-editor-template,namespace=jupyter-k8s-system
```

**kubectl**

```
kubectl apply -f - <<EOF
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
  name: my-space
spec:
  displayName: my-space
  desiredStatus: Running
EOF
```

oder Sie können einfach die Yaml-Datei anwenden

```
kubectl apply -f my-workspace.yaml
```

## Leerzeichen auflisten
<a name="create-manage-spaces-list"></a>

**HyperPod CLI**

```
hyp list hyp-space
```

**kubectl**

```
kubectl get workspaces -n <workspace-namespace> 
```

## Beschreibe ein Leerzeichen
<a name="create-manage-spaces-describe"></a>

**HyperPod CLI**

```
hyp describe hyp-space --name myspace
```

**kubectl**

```
# Basic Status reporting
kubectl get workspace my-workspace -n <workspace-namespace>

# Enhanced Workspace Information Retrieval 
kubectl get workspace my-workspace -n <workspace-namespace> -o wide

# Complete Workspace Information Retrieval
kubectl get workspace my-workspace -n <workspace-namespace> -o json
kubectl get workspace my-workspace -n <workspace-namespace> -o yaml
```

## Aktualisiere ein Leerzeichen
<a name="create-manage-spaces-update"></a>

**HyperPod CLI**

```
hyp update hyp-space \
    --name myspace \
    --display-name "Updated My Space"
```

**kubectl**

Aktualisieren Sie die ursprüngliche Workspace-YAML-Datei nach Bedarf und wenden Sie sie dann erneut an. Stellen Sie sicher, dass der Name der Metadaten nicht geändert wurde. Sie können diesen kubectl-Befehl auch verwenden, um Felder zu ändern, ohne das gesamte Workspace-Yaml erneut anzuwenden: 

```
# Open a Terminal IDE and modify the Workspace
kubectl edit workspace -n <workspace-namespace>

# Patch a Workspace
kubectl patch workspace <workspace-name> --type='merge' -p \
    '{"spec":{"<field name>":"<desired value>"}}' -n <workspace-namespace>
```

## Starten/Beenden eines Leerzeichens
<a name="create-manage-spaces-stop"></a>

**HyperPod CLI**

```
hyp start hyp-space --name myspace
hyp stop hyp-space --name myspace
```

**kubectl**

Sie können das gewünschte Statusfeld im Workspace auf start/stop ein Leerzeichen aktualisieren.

```
# Start a Workspace
kubectl patch workspace <workspace-name> --type='merge' -p \
    '{"spec":{"desiredStatus":"Running"}}' -n <workspace-namespace>
    
# Stop a Workspace
kubectl patch workspace <workspace-name> --type='merge' -p \
    '{"spec":{"desiredStatus":"Stopped"}}' -n <workspace-namespace>
```

## Logs abrufen
<a name="create-manage-spaces-log"></a>

**HyperPod CLI**

```
hyp get-logs hyp-space --name myspace
```

**kubectl**

```
# Check Pod Logs
kubectl logs -l workspace.jupyter.org/workspace-name=<workspace-metadata-name>

# Check Pod Events
kubectl describe pod -l workspace.jupyter.org/workspace-name=<workspace-metadata-name>

# Check Operator Logs
kubectl logs -n jupyter-k8s-system deployment/jupyter-k8s-controller-manager
```

## Lösche ein Leerzeichen
<a name="create-manage-spaces-delete"></a>

**HyperPod CLI**

```
hyp delete hyp-space --name myspace
```

**kubectl**

```
# Delete a Workspace
kubectl delete workspace <workspace-name> -n <namespace>
```

# Zugriff über einen Webbrowser
<a name="browser-access"></a>

Durch den Zugriff auf die Web-Benutzeroberfläche können Sie über eine sichere Webbrowser-Oberfläche eine direkte Verbindung zu Entwicklungsbereichen herstellen, die auf Ihrem SageMaker HyperPod Cluster ausgeführt werden. Dies ermöglicht den sofortigen Zugriff auf Jupyter Lab und andere webbasierte Entwicklungsumgebungen, ohne dass eine lokale Softwareinstallation erforderlich ist.

## Voraussetzungen
<a name="browser-access-prereq"></a>

Bevor Sie den Zugriff auf die Web-Benutzeroberfläche einrichten, stellen Sie sicher, dass Sie die folgenden Schritte abgeschlossen haben:
+ *SageMaker Installation des Spaces-Add-ons*: Folgen Sie der [Installation des SageMaker Spaces-Add-ons](https://docs.aws.amazon.com/sagemaker/latest/dg/operator-install.html) und aktivieren Sie während der Installation den Zugriff auf die Web-Benutzeroberfläche
+ *Benutzerzugriff auf den EKS-Cluster*: Benutzer müssen EKS Access Entry mit den entsprechenden Berechtigungen konfiguriert haben. [Einzelheiten zur Einrichtung von EKS Access Entry finden Sie unter Benutzer hinzufügen und Dienstkonten einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/add-user.html)
+ *Entwicklungsbereiche*: Erstellen und starten Sie Entwicklungsbereiche in Ihrem HyperPod Cluster
+ *kubectl-Zugriff*: Stellen Sie sicher, dass kubectl für den Zugriff auf Ihren EKS-Cluster konfiguriert ist

## Generieren Sie eine Web-UI-Zugriffs-URL
<a name="browser-access-url"></a>

** HyperPod CLI verwenden**

Wenn Sie die HyperPod CLI installiert haben, können Sie diesen vereinfachten Befehl verwenden:

```
hyp create hyp-space-access --name <space-name> --connection-type web-ui
```

**Mit kubectl**

Sie können auch die `kubectl` Befehlszeile verwenden, um eine Verbindungsanforderung zu erstellen.

```
kubectl create -f - -o yaml <<EOF
apiVersion: connection.workspace.jupyter.org/v1alpha1
kind: WorkspaceConnection
metadata:
  namespace: <space-namespace>
spec:
  workspaceName: <space-name>
  workspaceConnectionType: web-ui
EOF
```

Die URL ist in `status.workspaceConnectionUrl` der Ausgabe dieses Befehls enthalten.

## Zugriff auf Ihren Entwicklungsbereich
<a name="browser-access-develop"></a>

1. *Generieren Sie die URL der Web-Benutzeroberfläche* mit einer der oben genannten Methoden

1. *Kopieren Sie die URL* aus der Antwort

1. *Öffnen Sie die URL* in Ihrem Webbrowser

1. *Greifen Sie über das Webinterface auf Ihre Entwicklungsumgebung* zu

## Unterstützte Entwicklungsumgebungen
<a name="browser-access-develop-env"></a>

Die Webbenutzeroberfläche bietet Zugriff auf:
+ *Jupyter Lab*
+ *Code-Editor*

## Fehlerbehebung
<a name="browser-access-troubleshooting"></a>

**Zugriff kann nicht generiert werden URLs**

Überprüfen Sie, ob Folgendes der Fall ist:
+ SageMaker Das Spaces-Add-On läuft: kubectl get pods -n sagemaker-spaces-system
+ Der Entwicklungsbereich läuft und funktioniert
+ Der Benutzer verfügt über die entsprechenden EKS-Zugriffsberechtigungen

# Fernzugriff auf SageMaker Spaces
<a name="vscode-access"></a>

Mit dem Fernzugriff können Sie Ihren lokalen Visual Studio-Code direkt mit Entwicklungsbereichen verbinden, die auf Ihrem SageMaker HyperPod Cluster ausgeführt werden. Remoteverbindungen verwenden SSM, um sichere, verschlüsselte Tunnel zwischen Ihrem lokalen Computer und den Entwicklungsbereichen einzurichten.

## Voraussetzungen
<a name="vscode-access-prereq"></a>

Bevor Sie den Fernzugriff einrichten, stellen Sie sicher, dass Sie die folgenden Schritte abgeschlossen haben:
+ *SageMaker Installation des Spaces-Add-ons*[: SageMaker Folgen Sie der Installation](https://docs.aws.amazon.com/sagemaker/latest/dg/operator-install.html) des Spaces-Add-ons und aktivieren Sie den Fernzugriff während der Installation (entweder Schnellinstallation oder benutzerdefinierte Installation mit aktivierter Fernzugriffskonfiguration).
+ *Benutzerzugriff auf den EKS-Cluster*: Benutzer müssen EKS Access Entry mit den entsprechenden Berechtigungen konfiguriert haben. [Einzelheiten zur Einrichtung von EKS Access Entry finden Sie unter Benutzer hinzufügen und Dienstkonten einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/add-user.html)
+ *Entwicklungsbereiche*: Erstellen und starten Sie Entwicklungsbereiche in Ihrem HyperPod Cluster
+ *kubectl-Zugriff*: Stellen Sie sicher, dass kubectl für den Zugriff auf Ihren EKS-Cluster konfiguriert ist

## Generieren Sie eine VS-Code-Remoteverbindung
<a name="vscode-access-remote"></a>

### HyperPod CLI verwenden
<a name="vscode-access-remote-cli"></a>

Wenn Sie die HyperPod CLI installiert haben, können Sie diesen vereinfachten Befehl verwenden:

```
hyp create hyp-space-access --name <space-name> --connection-type vscode-remote
```

### Mit kubectl
<a name="vscode-access-remote-kubectl"></a>

Sie können auch die `kubectl` Befehlszeile verwenden, um eine Verbindungsanforderung zu erstellen.

```
kubectl create -f - -o yaml <<EOF
apiVersion: connection.workspace.jupyter.org/v1alpha1
kind: WorkspaceConnection
metadata:
  namespace: <space-namespace>
spec:
  workspaceName: <space-name>
  workspaceConnectionType: vscode-remote
EOF
```

Die URL ist in `status.workspaceConnectionUrl` der Ausgabe dieses Befehls enthalten.

## Verbindung mit VS Code herstellen
<a name="vscode-access-remote-vscode"></a>

1. Generieren Sie die VS Code-Verbindungs-URL mit einer der oben genannten Methoden

1. Kopieren Sie die VS Code-URL aus der Antwort

1. Klicken Sie auf die URL oder fügen Sie sie in Ihren Browser ein

1. VS Code fordert Sie auf, die Remoteverbindung zu öffnen

1. Bestätigen Sie die Verbindung, um die Remote-Entwicklungsumgebung einzurichten

## Unterstützte Entwicklungsumgebungen
<a name="vscode-access-remote-dev-env"></a>

Die Webbenutzeroberfläche bietet Zugriff auf:
+ *Jupyter Lab*
+ *Code-Editor*

## Fehlerbehebung
<a name="troubleshooting"></a>

**Verbindung kann nicht generiert werden URLs**

*Prüfen Sie Folgendes:*
+ SageMaker Das Spaces-Add-on läuft: kubectl get pods -n sagemaker-spaces-system
+ Der Entwicklungsbereich läuft und funktioniert
+ Der Fernzugriff wurde während der Installation des Add-ons aktiviert
+ Der Benutzer verfügt über die entsprechenden EKS-Zugriffsberechtigungen

# Modelle mit HyperPod CLI und SDK trainieren und bereitstellen
<a name="getting-started-hyperpod-training-deploying-models"></a>

Amazon SageMaker HyperPod hilft Ihnen dabei, Modelle für maschinelles Lernen in großem Maßstab zu trainieren und bereitzustellen. Die AWS HyperPod CLI ist eine einheitliche Befehlszeilenschnittstelle, die Workflows für maschinelles Lernen (ML) vereinfacht. AWS Sie abstrahiert die Komplexität der Infrastruktur und bietet eine optimierte Oberfläche für das Einreichen, Überwachen und Verwalten von ML-Schulungsaufträgen. Die CLI wurde speziell für Datenwissenschaftler und ML-Ingenieure entwickelt, die sich eher auf die Modellentwicklung als auf das Infrastrukturmanagement konzentrieren möchten. In diesem Thema werden drei wichtige Szenarien vorgestellt: das Trainieren eines PyTorch Modells, das Bereitstellen eines benutzerdefinierten Modells mithilfe trainierter Artefakte und das Bereitstellen eines JumpStart Modells. Dieses kurze Tutorial wurde für Erstbenutzer entwickelt und stellt sicher, dass Sie Modelle mühelos mit der HyperPod CLI oder dem SDK einrichten, trainieren und bereitstellen können. Der Handshake-Prozess zwischen Training und Inferenz hilft Ihnen dabei, Modellartefakte effektiv zu verwalten. 

## Voraussetzungen
<a name="prerequisites"></a>

Bevor Sie Amazon nutzen, stellen Sie sicher SageMaker HyperPod, dass Sie über Folgendes verfügen:
+ Ein AWS Konto mit Zugriff auf Amazon SageMaker HyperPod
+ Python 3.9, 3.10 oder 3.11 installiert
+ AWS CLI mit entsprechenden Anmeldeinformationen konfiguriert. 

## Installieren Sie die HyperPod CLI und das SDK
<a name="install-cli-sdk"></a>

Installieren Sie das erforderliche Paket, um auf die CLI und das SDK zuzugreifen:

```
pip install sagemaker-hyperpod
```

Dieser Befehl richtet die Tools ein, die für die Interaktion mit HyperPod Clustern erforderlich sind.

## Konfigurieren Sie Ihren Clusterkontext
<a name="configure-cluster"></a>

HyperPod arbeitet auf Clustern, die für maschinelles Lernen optimiert sind. Führen Sie zunächst die verfügbaren Cluster auf, um einen für Ihre Aufgaben auszuwählen.

1. Listen Sie alle verfügbaren Cluster auf:

   ```
   hyp list-cluster
   ```

1. Wählen Sie Ihren aktiven Cluster aus und legen Sie ihn fest:

   ```
   hyp set-cluster-context your-eks-cluster-name
   ```

1. Überprüfen Sie die Konfiguration:

   ```
   hyp get-cluster-context
   ```

**Anmerkung**  
Alle nachfolgenden Befehle zielen auf den Cluster ab, den Sie als Kontext festgelegt haben.

## Wählen Sie Ihr Szenario
<a name="choose-scenario"></a>

Für detaillierte Anweisungen zu den einzelnen Szenarien klicken Sie auf die folgenden Themen:

**Topics**
+ [Voraussetzungen](#prerequisites)
+ [Installieren Sie die HyperPod CLI und das SDK](#install-cli-sdk)
+ [Konfigurieren Sie Ihren Clusterkontext](#configure-cluster)
+ [Wählen Sie Ihr Szenario](#choose-scenario)
+ [Trainiere ein PyTorch Modell](train-models-with-hyperpod.md)
+ [Bereitstellen eines benutzerdefinierten Modells](deploy-trained-model.md)
+ [Stellen Sie ein JumpStart Modell bereit](deploy-jumpstart-model.md)

# Trainiere ein PyTorch Modell
<a name="train-models-with-hyperpod"></a>

Dieses Thema führt Sie durch den Prozess des Trainings eines PyTorch Modells mithilfe von HyperPod.

In diesem Szenario trainieren wir ein PyTorch Modell anhand der `hyp-pytorch-job` Vorlage, die die Erstellung von Jobs vereinfacht, indem häufig verwendete Parameter verfügbar gemacht werden. Die Modellartefakte werden in einem S3-Bucket gespeichert, um sie später als Inferenz zu verwenden. Dies ist jedoch optional, und Sie können Ihren bevorzugten Speicherort wählen.

## Erstellen eines Trainingsjobs
<a name="create-training-job"></a>

Sie können das Modell entweder mit der CLI oder dem Python-SDK trainieren.

### Verwenden der -CLI
<a name="using-cli"></a>

Erstellen Sie einen Trainingsjob mit dem folgenden Befehl:

```
hyp create hyp-pytorch-job \
    --version 1.0 \
    --job-name test-pytorch-job \
    --image pytorch/pytorch:latest \
    --command '["python", "train.py"]' \
    --args '["--epochs", "10", "--batch-size", "32"]' \
    --environment '{"PYTORCH_CUDA_ALLOC_CONF": "max_split_size_mb:32"}' \
    --pull-policy "IfNotPresent" \
    --instance-type ml.p4d.24xlarge \
    --tasks-per-node 8 \
    --label-selector '{"accelerator": "nvidia", "network": "efa"}' \
    --deep-health-check-passed-nodes-only true \
    --scheduler-type "kueue" \
    --queue-name "training-queue" \
    --priority "high" \
    --max-retry 3 \
    --volumes '["data-vol", "model-vol", "checkpoint-vol"]' \
    --persistent-volume-claims '["shared-data-pvc", "model-registry-pvc"]' \
    --output-s3-uri s3://my-bucket/model-artifacts
```

**Die wichtigsten erforderlichen Parameter werden erklärt**:
+ `--job-name`: Eindeutige Kennung für Ihren Ausbildungsjob
+ `--image`: Docker-Image, das Ihre Trainingsumgebung enthält

Dieser Befehl startet einen Trainingsjob mit dem Namen`test-pytorch-job`. Der `--output-s3-uri` gibt an, wo die trainierten Modellartefakte gespeichert werden, zum Beispiel`s3://my-bucket/model-artifacts`. Notieren Sie sich diesen Speicherort, da Sie ihn für die Bereitstellung des benutzerdefinierten Modells benötigen.

### Verwenden des Python SDK
<a name="using-python-sdk"></a>

Verwenden Sie für die programmgesteuerte Steuerung das SDK. Erstellen Sie ein Python-Skript, um denselben Trainingsjob zu starten.

```
from sagemaker.hyperpod import HyperPodPytorchJob
from sagemaker.hyperpod.job 
import ReplicaSpec, Template, Spec, Container, Resources, RunPolicy, Metadata

# Define job specifications
nproc_per_node = "1"  # Number of processes per node
replica_specs = 
[
    ReplicaSpec
    (
        name = "pod",  # Replica name
        template = Template
        (
            spec = Spec
            (
                containers =
                [
                    Container
                    (
                        # Container name
                        name="container-name",  
                        
                        # Training image
                        image="448049793756.dkr.ecr.us-west-2.amazonaws.com/ptjob:mnist",  
                        
                        # Always pull image
                        image_pull_policy="Always",  
                        resources=Resources\
                        (
                            # No GPUs requested
                            requests={"nvidia.com/gpu": "0"},  
                            # No GPU limit
                            limits={"nvidia.com/gpu": "0"},   
                        ),
                        # Command to run
                        command=["python", "train.py"],  
                        # Script arguments
                        args=["--epochs", "10", "--batch-size", "32"],  
                    )
                ]
            )
        ),
    )
]
# Keep pods after completion
run_policy = RunPolicy(clean_pod_policy="None")  

# Create and start the PyTorch job
pytorch_job = HyperPodPytorchJob
(
    # Job name
    metadata = Metadata(name="demo"),  
    # Processes per node
    nproc_per_node = nproc_per_node,   
    # Replica specifications
    replica_specs = replica_specs,     
    # Run policy
    run_policy = run_policy,           
    # S3 location for artifacts
    output_s3_uri="s3://my-bucket/model-artifacts"  
)
# Launch the job
pytorch_job.create()
```

## Überwachen Sie Ihren Trainingsjob
<a name="monitor-training-job"></a>

Überwachen Sie den Fortschritt Ihres Jobs mit diesen Befehlen:

### Verwenden der -CLI
<a name="monitor-cli"></a>

```
# Check job status
hyp list hyp-pytorch-job

# Get detailed information
hyp describe hyp-pytorch-job --job-name test-pytorch-job

# View logs
hyp get-logs hyp-pytorch-job \
    --pod-name test-pytorch-job-pod-0 \
    --job-name test-pytorch-job
```

**Hinweis**: Die Trainingszeit variiert je nach Modellkomplexität und Instance-Typ. Überwachen Sie die Protokolle, um den Fortschritt zu verfolgen.

Mit diesen Befehlen können Sie den Status des Jobs überprüfen und Probleme beheben. Sobald der Job erfolgreich abgeschlossen wurde, werden die Modellartefakte unter gespeichert`s3://my-bucket/model-artifacts`.

### Verwenden des Python SDK
<a name="monitor-python-sdk"></a>

Fügen Sie den folgenden Code in Ihr Python-Skript ein:

```
print("List all pods created for this job:")
print(pytorch_job.list_pods())

print("Check the logs from pod0:")
print(pytorch_job.get_logs_from_pod(pod_name="demo-pod-0"))

print("List all HyperPodPytorchJobs:")
print(HyperPodPytorchJob.list())

print("Describe job:")
print(HyperPodPytorchJob.get(name="demo").model_dump())

pytorch_job.refresh()
print(pytorch_job.status.model_dump())
```

## Nächste Schritte
<a name="next-steps"></a>

Nach dem Training werden die Modellartefakte in dem von Ihnen angegebenen S3-Bucket gespeichert (`s3://my-bucket/model-artifacts`). Sie können diese Artefakte verwenden, um ein Modell bereitzustellen. Derzeit müssen Sie den Übergang vom Training zur Inferenz manuell verwalten. Dies beinhaltet:
+ **Artefakte lokalisieren**: Überprüfen Sie den S3-Bucket (`s3://my-bucket/model-artifacts`), um sicherzustellen, dass die trainierten Modelldateien vorhanden sind.
+ **Aufzeichnen des Pfads**: Notieren Sie sich den genauen S3-Pfad (z. B. `s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz`) für die Verwendung in der Inferenzkonfiguration.
+ **Referenzierung bei der Bereitstellung**: Geben Sie diesen S3-Pfad bei der Konfiguration des benutzerdefinierten Endpunkts an, um sicherzustellen, dass das richtige Modell geladen wird.

# Bereitstellen eines benutzerdefinierten Modells
<a name="deploy-trained-model"></a>

Stellen Sie nach Abschluss des Trainings Ihr Modell für Inferenzzwecke bereit. Sie können ein benutzerdefiniertes Modell entweder mit der CLI oder dem SDK bereitstellen.

## Lokalisieren der Modellartefakte
<a name="locate-model-artifacts"></a>
+ **Überprüfen Sie Ihren S3-Bucket**: Stellen Sie sicher, dass Modellartefakte unter gespeichert sind `s3://my-bucket/model-artifacts/`
+ **Notieren Sie sich den genauen Pfad**: Sie benötigen den vollständigen Pfad (zum Beispiel`s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz`)

## Bereitstellen mit der CLI
<a name="deploy-using-cli"></a>

Führen Sie den folgenden Befehl aus, um Ihr benutzerdefiniertes Modell bereitzustellen:

```
hyp create hyp-custom-endpoint \
    --version 1.0 \
    --env '{"HF_MODEL_ID":"/opt/ml/model", "SAGEMAKER_PROGRAM":"inference.py", }' \
    --model-source-type s3 \
    --model-location test-pytorch-job \
    --s3-bucket-name my-bucket \
    --s3-region us-east-2 \
    --prefetch-enabled true \ 
    --image-uri 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:latest \
    --model-volume-mount-name model-weights \
    --container-port 8080 \
    --resources-requests '{"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"}' \
    --resources-limits '{"nvidia.com/gpu": 1}' \
    --tls-output-s3-uri s3://<bucket_name> \
    --instance-type ml.g5.8xlarge \
    --endpoint-name endpoint-custom-pytorch \
    --model-name pytorch-custom-model
```

Dieser Befehl stellt das trainierte Modell als Endpunkt mit dem Namen `endpoint-custom-pytorch` bereit. Der `--model-location` verweist auf den Artefaktpfad aus dem Trainingsjob.

## Bereitstellung mit dem Python SDK
<a name="deploy-using-sdk"></a>

Erstellen Sie ein Python-Skript mit dem folgenden Inhalt:

```
from sagemaker.hyperpod.inference.config.hp_custom_endpoint_config import Model, Server, SageMakerEndpoint, TlsConfig, EnvironmentVariables
from sagemaker.hyperpod.inference.hp_custom_endpoint import HPCustomEndpoint

model = Model(
    model_source_type="s3",
    model_location="test-pytorch-job",
    s3_bucket_name="my-bucket",
    s3_region="us-east-2",
    prefetch_enabled=True
)

server = Server(
    instance_type="ml.g5.8xlarge",
    image_uri="763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.4.0-tgi2.3.1-gpu-py311-cu124-ubuntu22.04-v2.0",
    container_port=8080,
    model_volume_mount_name="model-weights"
)

resources = {
    "requests": {"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"},
    "limits": {"nvidia.com/gpu": 1}
}

env = EnvironmentVariables(
    HF_MODEL_ID="/opt/ml/model",
    SAGEMAKER_PROGRAM="inference.py",
    SAGEMAKER_SUBMIT_DIRECTORY="/opt/ml/model/code",
    MODEL_CACHE_ROOT="/opt/ml/model",
    SAGEMAKER_ENV="1"
)

endpoint_name = SageMakerEndpoint(name="endpoint-custom-pytorch")

tls_config = TlsConfig(tls_certificate_output_s3_uri="s3://<bucket_name>")

custom_endpoint = HPCustomEndpoint(
    model=model,
    server=server,
    resources=resources,
    environment=env,
    sage_maker_endpoint=endpoint_name,
    tls_config=tls_config
)

custom_endpoint.create()
```

## Rufen Sie den Endpunkt auf
<a name="invoke-endpoint"></a>

### Verwenden der -CLI
<a name="invoke-using-cli"></a>

Testen Sie den Endpunkt mit einer Beispieleingabe:

```
hyp invoke hyp-custom-endpoint \
    --endpoint-name endpoint-custom-pytorch \
    --body '{"inputs":"What is the capital of USA?"}'
```

Dies gibt die Antwort des Modells zurück, beispielsweise „Die Hauptstadt der USA ist Washington, D.C.“

### Verwenden der SDK
<a name="invoke-using-sdk"></a>

Fügen Sie den folgenden Code in Ihr Python-Skript ein:

```
data = '{"inputs":"What is the capital of USA?"}'
response = custom_endpoint.invoke(body=data).body.read()
print(response)
```

## Verwalten der Endpunkte
<a name="manage-endpoint"></a>

### Verwenden der -CLI
<a name="manage-using-cli"></a>

Listen Sie den Endpunkt auf und überprüfen Sie ihn:

```
hyp list hyp-custom-endpoint
hyp get hyp-custom-endpoint --name endpoint-custom-pytorch
```

### Verwenden der SDK
<a name="manage-using-sdk"></a>

Fügen Sie den folgenden Code in Ihr Python-Skript ein:

```
logs = custom_endpoint.get_logs()
print(logs)
```

## Bereinigen von Ressourcen
<a name="cleanup-resources"></a>

Wenn Sie fertig sind, löschen Sie den Endpunkt, um unnötige Kosten zu vermeiden.

### Verwenden der -CLI
<a name="cleanup-using-cli"></a>

```
hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch
```

### Verwenden der SDK
<a name="cleanup-using-sdk"></a>

```
custom_endpoint.delete()
```

## Nächste Schritte
<a name="next-steps"></a>

Sie haben erfolgreich ein benutzerdefiniertes Modell bereitgestellt und getestet mit SageMaker HyperPod. Sie können diesen Endpunkt nun für Inferenzen in Ihren Anwendungen verwenden.

# Stellen Sie ein JumpStart Modell bereit
<a name="deploy-jumpstart-model"></a>

Sie können ein vortrainiertes JumpStart Modell für Inferenzen entweder mit der CLI oder dem SDK bereitstellen.

## Verwenden der -CLI
<a name="deploy-jumpstart-cli"></a>

Führen Sie den folgenden Befehl aus, um ein JumpStart Modell bereitzustellen:

```
hyp create hyp-jumpstart-endpoint \
  --version 1.0 \
  --model-id deepseek-llm-r1-distill-qwen-1-5b \
  --instance-type ml.g5.8xlarge \
  --endpoint-name endpoint-test-jscli
```

## Verwenden der SDK
<a name="deploy-jumpstart-sdk"></a>

Erstellen Sie ein Python-Skript mit dem folgenden Inhalt:

```
from sagemaker.hyperpod.inference.config.hp_jumpstart_endpoint_config import Model, Server, SageMakerEndpoint, TlsConfig
from sagemaker.hyperpod.inference.hp_jumpstart_endpoint import HPJumpStartEndpoint

model=Model(
    model_id='deepseek-llm-r1-distill-qwen-1-5b'
)

server=Server(
    instance_type='ml.g5.8xlarge',
)

endpoint_name=SageMakerEndpoint(name='<endpoint-name>')

# create spec
js_endpoint=HPJumpStartEndpoint(
    model=model,
    server=server,
    sage_maker_endpoint=endpoint_name
)
```

## Rufen Sie den Endpunkt auf
<a name="invoke-jumpstart-endpoint"></a>

### Verwenden der -CLI
<a name="invoke-jumpstart-cli"></a>

Testen Sie den Endpunkt mit einer Beispieleingabe:

```
hyp invoke hyp-jumpstart-endpoint \
    --endpoint-name endpoint-jumpstart \
    --body '{"inputs":"What is the capital of USA?"}'
```

### Verwenden der SDK
<a name="invoke-jumpstart-sdk"></a>

Fügen Sie den folgenden Code in Ihr Python-Skript ein:

```
data = '{"inputs":"What is the capital of USA?"}'
response = js_endpoint.invoke(body=data).body.read()
print(response)
```

## Verwalten der Endpunkte
<a name="manage-jumpstart-endpoint"></a>

### Verwenden der -CLI
<a name="manage-jumpstart-cli"></a>

Listen Sie den Endpunkt auf und überprüfen Sie ihn:

```
hyp list hyp-jumpstart-endpoint
hyp get hyp-jumpstart-endpoint --name endpoint-jumpstart
```

### Verwenden der SDK
<a name="manage-jumpstart-sdk"></a>

Fügen Sie den folgenden Code in Ihr Python-Skript ein:

```
endpoint_iterator = HPJumpStartEndpoint.list()
for endpoint in endpoint_iterator:
    print(endpoint.name, endpoint.status)

logs = js_endpoint.get_logs()
print(logs)
```

## Bereinigen von Ressourcen
<a name="cleanup-jumpstart-resources"></a>

Wenn Sie fertig sind, löschen Sie den Endpunkt, um unnötige Kosten zu vermeiden.

### Verwenden der -CLI
<a name="cleanup-jumpstart-cli"></a>

```
hyp delete hyp-jumpstart-endpoint --name endpoint-jumpstart
```

### Verwenden der SDK
<a name="cleanup-jumpstart-sdk"></a>

```
js_endpoint.delete()
```

## Nächste Schritte
<a name="jumpstart-next-steps"></a>

Nachdem Sie ein PyTorch Modell trainiert, es als benutzerdefinierten Endpunkt bereitgestellt und ein JumpStart Modell mithilfe der CLI und HyperPod des SDK bereitgestellt haben, erkunden Sie die erweiterten Funktionen:
+ Training **mit mehreren Knoten: Skalieren Sie das Training** auf mehrere Instances
+ **Benutzerdefinierte Container**: Erstellen Sie spezielle Schulungsumgebungen
+ **Integration mit SageMaker Pipelines**: Automatisieren Sie Ihre ML-Workflows
+ **Erweiterte Überwachung**: Richten Sie benutzerdefinierte Metriken und Benachrichtigungen ein

Weitere Beispiele und erweiterte Konfigurationen finden Sie im [SageMaker HyperPod GitHub Repository](https://github.com/aws/amazon-sagemaker-examples).

# Ausführung von Jobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert wurden
<a name="sagemaker-hyperpod-eks-run-jobs"></a>

Die folgenden Themen enthalten Verfahren und Beispiele für den Zugriff auf Rechenknoten und die Ausführung von ML-Workloads auf bereitgestellten SageMaker HyperPod Clustern, die mit Amazon EKS orchestriert wurden. Je nachdem, wie Sie die Umgebung auf Ihrem HyperPod Cluster eingerichtet haben, gibt es viele Möglichkeiten, ML-Workloads auf Clustern auszuführen. HyperPod 

**Anmerkung**  
Wenn Jobs über die SageMaker HyperPod CLI oder kubectl ausgeführt werden, HyperPod kann die Rechenauslastung (GPU/CPU-Stunden) über Namespaces (Teams) hinweg verfolgt werden. Diese Kennzahlen liefern Berichte zum Stromverbrauch, die Folgendes bieten:  
Transparenz hinsichtlich des Verbrauchs zugewiesener und ausgeliehener Ressourcen
Nutzung der Ressourcen durch Teams für Audits (bis zu 180 Tage)
Die Kostenzuweisung entspricht den Richtlinien zur Aufgabenverwaltung
Um Nutzungsberichte verwenden zu können, müssen Sie die Infrastruktur für Nutzungsberichte installieren. Wir empfehlen dringend, [Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance.md) so zu konfigurieren, dass Rechenkontingente durchgesetzt und eine detaillierte Kostenzuweisung ermöglicht wird.  
[Weitere Informationen zum Einrichten und Generieren von Nutzungsberichten finden Sie unter Berichterstattung über die Computenutzung in. HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-usage-reporting.html)

**Tipp**  
Für praktische Erfahrungen und Anleitungen zur Einrichtung und Verwendung eines mit Amazon EKS orchestrierten SageMaker HyperPod Clusters empfehlen wir die Teilnahme an diesem [Amazon EKS Support-Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e). SageMaker HyperPod

Benutzer von Data Scientists können grundlegende Modelle trainieren, indem sie das EKS-Cluster-Set als Orchestrator für den Cluster verwenden. SageMaker HyperPod Wissenschaftler nutzen die [SageMaker HyperPod CLI](https://github.com/aws/sagemaker-hyperpod-cli) und die nativen `kubectl` Befehle, um verfügbare SageMaker HyperPod Cluster zu finden, Trainingsjobs (Pods) einzureichen und ihre Workloads zu verwalten. Die SageMaker HyperPod CLI ermöglicht die Einreichung von Jobs mithilfe einer Trainingsjob-Schemadatei und bietet Funktionen für die Jobauflistung, Beschreibung, Stornierung und Ausführung. Wissenschaftler können den [Kubeflow Training Operator](https://www.kubeflow.org/docs/components/training/overview/) entsprechend den von ihnen verwalteten Rechenquoten und [SageMaker KI-gesteuerten MLflow](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html) Rechenquoten für die Verwaltung von HyperPod ML-Experimenten und Trainingsläufen verwenden. 

**Topics**
+ [Installation der SageMaker HyperPod CLI](sagemaker-hyperpod-eks-run-jobs-access-nodes.md)
+ [SageMaker HyperPod CLI-Befehle](sagemaker-hyperpod-eks-hyperpod-cli-reference.md)
+ [Jobs mit der SageMaker HyperPod CLI ausführen](sagemaker-hyperpod-eks-run-jobs-hyperpod-cli.md)
+ [Jobs ausführen mit `kubectl`](sagemaker-hyperpod-eks-run-jobs-kubectl.md)

# Installation der SageMaker HyperPod CLI
<a name="sagemaker-hyperpod-eks-run-jobs-access-nodes"></a>

SageMaker HyperPod stellt das CLI ([SageMaker HyperPod Command Line Interface](https://github.com/aws/sagemaker-hyperpod-cli)) -Paket bereit. 

1. Überprüfen Sie, ob die Version von Python auf Ihrem lokalen Computer zwischen 3.8 und 3.11 liegt.

1. Überprüfen Sie die Voraussetzungen in der `README` Markdown-Datei im [SageMaker HyperPod CLI-Paket](https://github.com/aws/sagemaker-hyperpod-cli).

1. Klonen Sie das SageMaker HyperPod CLI-Paket von GitHub.

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-cli.git
   ```

1. Installieren Sie die SageMaker HyperPod CLI.

   ```
   cd sagemaker-hyperpod-cli && pip install .
   ```

1. Testen Sie, ob die SageMaker HyperPod CLI erfolgreich installiert wurde, indem Sie den folgenden Befehl ausführen. 

   ```
   hyperpod --help
   ```

**Anmerkung**  
Wenn Sie ein Datenwissenschaftler sind und die SageMaker HyperPod CLI verwenden möchten, stellen Sie sicher, dass Ihre IAM-Rolle von Ihren Cluster-Administratoren ordnungsgemäß eingerichtet wurde, indem Sie die Anweisungen unter [IAM-Benutzer für Wissenschaftler](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-user) und befolgen. [Einrichten der rollenbasierten Zugriffskontrolle für Kubernetes](sagemaker-hyperpod-eks-setup-rbac.md)

# SageMaker HyperPod CLI-Befehle
<a name="sagemaker-hyperpod-eks-hyperpod-cli-reference"></a>

In der folgenden Tabelle sind die SageMaker HyperPod CLI-Befehle zusammengefasst.

**Anmerkung**  
Eine vollständige CLI-Referenz finden Sie in der [README-Datei](https://github.com/aws/sagemaker-hyperpod-cli?tab=readme-ov-file#sagemaker-hyperpod-command-line-interface) im [SageMaker HyperPod GitHubCLI-Repository](https://github.com/aws/sagemaker-hyperpod-cli).


| SageMaker HyperPod CLI-Befehl | Entität  | Description | 
| --- | --- | --- | 
| hyperpod get-clusters | Cluster/Zugreifen | Listet alle Cluster auf, für die der Benutzer über IAM-Berechtigungen zum Senden von Schulungs-Workloads verfügt. Zeigt den aktuellen Snapshot aller verfügbaren Instances, auf denen keine Workloads oder Jobs ausgeführt werden, sowie die maximale Kapazität an, gruppiert nach Status der Integritätsprüfung (z. B.:) BurnInPassed | 
| hyperpod connect-cluster | Cluster/Zugreifen | Konfiguriert für den Betrieb auf dem angegebenen Cluster kubectl und Namespace HyperPod  | 
| hyperpod start-job  | Auftrag | Übermittelt den Auftrag an den Zielcluster. Der Auftragsname ist auf Namespace-Ebene eindeutig. Benutzer können die YAML-Spezifikation überschreiben, indem sie diese als CLI-Argumente übergeben. | 
| hyperpod get-job | Auftrag | Zeigt die Metadaten des eingereichten Jobs an | 
| hyperpod list-jobs | Auftrag | Führt alle Jobs im verbundenen Bereich cluster/namespace auf, zu denen der Benutzer mit IAM-Berechtigungen zum Einreichen von Schulungs-Workloads hinzugefügt wurde | 
| hyperpod cancel-job | Auftrag | Stoppt und löscht den Job und gibt die zugrunde liegenden Rechenressourcen auf. Dieser Job kann nicht erneut fortgesetzt werden. Falls erforderlich, muss ein neuer Job gestartet werden. | 
| hyperpod list-pods | Pod | Listet alle Pods im angegebenen Job in einem Namespace auf | 
| hyperpod get-log | Pod | Ruft die Protokolle eines bestimmten Pods in einem angegebenen Job ab | 
| hyperpod exec | Pod | Führt den Bash-Befehl in der Shell der angegebenen Pods aus und veröffentlicht die Ausgabe | 
| hyperpod --help | Dienstprogramm | listet alle unterstützten Befehle auf | 

# Jobs mit der SageMaker HyperPod CLI ausführen
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli"></a>

Um Jobs auszuführen, stellen Sie sicher, dass Sie Kubeflow Training Operator in den EKS-Clustern installiert haben. Weitere Informationen finden Sie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md).

Führen Sie den `hyperpod get-cluster` Befehl aus, um die Liste der verfügbaren HyperPod Cluster abzurufen.

```
hyperpod get-clusters
```

Führen Sie den aus`hyperpod connect-cluster`, um die SageMaker HyperPod CLI mit dem EKS-Cluster zu konfigurieren, der den HyperPod Cluster orchestriert.

```
hyperpod connect-cluster --cluster-name <hyperpod-cluster-name>
```

Verwenden Sie den `hyperpod start-job`-Befehl, um einen Auftrag auszuführen. Der folgende Befehl zeigt den Befehl mit den erforderlichen Optionen. 

```
hyperpod start-job \
    --job-name <job-name>
    --image <docker-image-uri>
    --entry-script <entrypoint-script>
    --instance-type <ml.instance.type>
    --node-count <integer>
```

Der `hyperpod start-job` Befehl bietet auch verschiedene Optionen wie die automatische Wiederaufnahme von Jobs und die Jobplanung.

## Automatische Wiederaufnahme von Jobs aktivieren
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-enable-auto-resume"></a>

Der `hyperpod start-job` Befehl bietet auch die folgenden Optionen zur Angabe der automatischen Wiederaufnahme von Jobs. Damit die automatische Wiederaufnahme von Jobs mit den SageMaker HyperPod Knotenausfallfunktionen funktioniert, müssen Sie den Wert für die `restart-policy` Option auf festlegen. `OnFailure` Der Auftrag muss unter dem Namespace `kubeflow` oder einem Namespace mit dem Präfix `hyperpod` ausgeführt werden.
+ [--auto-resume<bool>] \$1Optional, aktiviert die auto Wiederaufnahme des Jobs nach Fehlschlägen, die Standardeinstellung ist false
+ [--max-retry<int>] \$1Optional, wenn auto-resume wahr ist, ist der Standardwert für max-retry 1, falls nicht angegeben
+ [--restart-policy<enum>] \$1Optional, Richtlinie neu starten. PyTorchJob Die verfügbaren Werte sind `Always`, `OnFailure`, `Never` oder `ExitCode`. Der Standardwert ist `OnFailure`. 

```
hyperpod start-job \
    ... // required options \
    --auto-resume true \
    --max-retry 3 \
    --restart-policy OnFailure
```

## Jobs mit Planungsoptionen ausführen
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-scheduling"></a>

Der `hyperpod start-job` Befehl bietet die folgenden Optionen, um den Job mit Warteschlangenmechanismen einzurichten. 

**Anmerkung**  
Sie müssen [Kueue](https://kueue.sigs.k8s.io/docs/overview/) im EKS-Cluster installiert haben. Falls Sie die Installation noch nicht durchgeführt haben, folgen Sie den Anweisungen in [Einrichtung für die SageMaker HyperPod Task-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md).
+ [--scheduler-type<enum>] \$1Optional, Geben Sie den Scheduler-Typ an. Der Standardwert ist `Kueue`.
+ [--queue-name<string>] \$1Optional, Geben Sie den Namen der [lokalen Warteschlange oder [Cluster-Warteschlange](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/)](https://kueue.sigs.k8s.io/docs/concepts/local_queue/) an, die Sie zusammen mit dem Job einreichen möchten. Die Warteschlange sollte von Clusteradministratoren mithilfe von `CreateComputeQuota` erstellt werden.
+ [--priority<string>] \$1Optional, Geben Sie den Namen der [Workload-Prioritätsklasse](https://kueue.sigs.k8s.io/docs/concepts/workload_priority_class/) an, die von Cluster-Administratoren erstellt werden soll.

```
hyperpod start-job \
    ... // required options
    --scheduler-type Kueue \
    --queue-name high-priority-queue \
    --priority high
```

## Jobs aus einer Konfigurationsdatei ausführen
<a name="sagemaker-hyperpod-eks-run-jobs-hyperpod-cli-from-config"></a>

Als Alternative können Sie eine Job-Konfigurationsdatei erstellen, die alle für den Job erforderlichen Parameter enthält, und diese Konfigurationsdatei dann mit der Option --config-file an den `hyperpod start-job` Befehl übergeben. In diesem Fall.

1. Erstellen Sie Ihre Job-Konfigurationsdatei mit den erforderlichen Parametern. Eine [Basiskonfigurationsdatei finden Sie in der Job-Konfigurationsdatei](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-run-jobs-hyperpod-cli.html#sagemaker-hyperpod-eks-hyperpod-cli-from-config) im SageMaker HyperPod GitHub CLI-Repository.

1. Starten Sie den Job mit der Konfigurationsdatei wie folgt.

   ```
   hyperpod start-job --config-file /path/to/test_job.yaml
   ```

**Tipp**  
Eine vollständige Liste der Parameter des `hyperpod start-job` Befehls finden Sie im Abschnitt [Einen Job einreichen](https://github.com/aws/sagemaker-hyperpod-cli?tab=readme-ov-file#submitting-a-job) im `README.md` SageMaker HyperPod GitHub CLI-Repository.

# Jobs ausführen mit `kubectl`
<a name="sagemaker-hyperpod-eks-run-jobs-kubectl"></a>

**Anmerkung**  
Für die auto Wiederaufnahme des Trainingsjobs ist die Release-Version von Kubeflow Training Operator erforderlich `1.7.0``1.8.0`, oder. `1.8.1`

Beachten Sie, dass Sie Kubeflow Training Operator mithilfe eines Helm-Diagramms in den Clustern installieren sollten. Weitere Informationen finden Sie unter [Installation von Paketen auf dem Amazon-EKS-Cluster mit Helm](sagemaker-hyperpod-eks-install-packages-using-helm-chart.md). Überprüfen Sie, ob die Steuerungsebene des Kubeflow Training Operators ordnungsgemäß eingerichtet ist, indem Sie den folgenden Befehl ausführen.

```
kubectl get pods -n kubeflow
```

Dies sollte eine Ausgabe ähnlich der folgenden erzeugen.

```
NAME                                             READY   STATUS    RESTARTS   AGE
training-operator-658c68d697-46zmn               1/1     Running   0          90s
```

**Um einen Trainingsjob einzureichen**

Um einen Trainingsjob auszuführen, bereiten Sie die Job-Konfigurationsdatei vor und führen Sie den [https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#apply](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#apply)Befehl wie folgt aus.

```
kubectl apply -f /path/to/training_job.yaml
```

**So beschreiben Sie einen Trainingsjob**

Verwenden Sie den folgenden Befehl, um die Details des an den EKS-Cluster übermittelten Jobs abzurufen. Es gibt Auftragsinformationen wie die Uhrzeit der Auftragsübermittlung, die Abschlusszeit, den Auftragsstatus und die Konfigurationsdetails zurück.

```
kubectl get -o yaml training-job -n kubeflow
```

**So beenden Sie einen Trainingsjob und löschen EKS-Ressourcen**

Verwenden Sie kubectl delete, um einen Trainingsjob zu beenden. Im Folgenden finden Sie ein Beispiel für das Stoppen des Trainingsauftrags, der aus der Konfigurationsdatei erstellt wurde`pytorch_job_simple.yaml`.

```
kubectl delete -f /path/to/training_job.yaml 
```

Dies sollte die folgende Ausgabe zurückgeben.

```
pytorchjob.kubeflow.org "training-job" deleted
```

**Um die automatische Wiederaufnahme von Jobs zu aktivieren**

SageMaker HyperPod unterstützt die Funktion zur automatischen Wiederaufnahme von Jobs für Kubernetes-Jobs und ist in die Steuerebene des Kubeflow Training Operators integriert.

Stellen Sie sicher, dass im Cluster genügend Knoten vorhanden sind, die die Integritätsprüfung bestanden haben. SageMaker HyperPod Bei den Knoten sollte der Taint `sagemaker.amazonaws.com/node-health-status` auf `Schedulable` eingestellt sein. Es wird empfohlen, einen Knotenselektor in die Job-YAML-Datei aufzunehmen, um Knoten mit der entsprechenden Konfiguration wie folgt auszuwählen.

```
sagemaker.amazonaws.com/node-health-status: Schedulable
```

Der folgende Codeausschnitt ist ein Beispiel dafür, wie Sie die YAML-Konfiguration eines PyTorch Kubeflow-Jobs ändern, um die Funktion zur automatischen Wiederaufnahme von Jobs zu aktivieren. Sie müssen zwei Anmerkungen hinzufügen und `restartPolicy` wie folgt auf `OnFailure` einstellen.

```
apiVersion: "kubeflow.org/v1"
kind: PyTorchJob 
metadata:
    name: pytorch-simple
    namespace: kubeflow
    annotations: { // config for job auto resume
      sagemaker.amazonaws.com/enable-job-auto-resume: "true"
      sagemaker.amazonaws.com/job-max-retry-count: "2"
    }
spec:
  pytorchReplicaSpecs:
  ......
  Worker:
      replicas: 10
      restartPolicy: OnFailure
      template:
          spec:
              nodeSelector:
                  sagemaker.amazonaws.com/node-health-status: Schedulable
```

**Um den Status der automatischen Wiederaufnahme des Jobs zu überprüfen**

Führen Sie den folgenden Befehl aus, um den Status der automatischen Wiederaufnahme von Aufträgen zu überprüfen.

```
kubectl describe pytorchjob -n kubeflow <job-name>
```

Abhängig von den Fehlermustern sehen Sie möglicherweise zwei Muster für den Neustart des Kubeflow-Trainingsjobs, die wie folgt aussehen:

**Muster 1**:

```
Start Time:    2024-07-11T05:53:10Z
Events:
  Type     Reason                   Age                    From                   Message
  ----     ------                   ----                   ----                   -------
  Normal   SuccessfulCreateService  9m45s                  pytorchjob-controller  Created service: pt-job-1-worker-0
  Normal   SuccessfulCreateService  9m45s                  pytorchjob-controller  Created service: pt-job-1-worker-1
  Normal   SuccessfulCreateService  9m45s                  pytorchjob-controller  Created service: pt-job-1-master-0
  Warning  PyTorchJobRestarting     7m59s                  pytorchjob-controller  PyTorchJob pt-job-1 is restarting because 1 Master replica(s) failed.
  Normal   SuccessfulCreatePod      7m58s (x2 over 9m45s)  pytorchjob-controller  Created pod: pt-job-1-worker-0
  Normal   SuccessfulCreatePod      7m58s (x2 over 9m45s)  pytorchjob-controller  Created pod: pt-job-1-worker-1
  Normal   SuccessfulCreatePod      7m58s (x2 over 9m45s)  pytorchjob-controller  Created pod: pt-job-1-master-0
  Warning  PyTorchJobRestarting     7m58s                  pytorchjob-controller  PyTorchJob pt-job-1 is restarting because 1 Worker replica(s) failed.
```

**Muster 2**: 

```
Events:
  Type    Reason                   Age    From                   Message
  ----    ------                   ----   ----                   -------
  Normal  SuccessfulCreatePod      19m    pytorchjob-controller  Created pod: pt-job-2-worker-0
  Normal  SuccessfulCreateService  19m    pytorchjob-controller  Created service: pt-job-2-worker-0
  Normal  SuccessfulCreatePod      19m    pytorchjob-controller  Created pod: pt-job-2-master-0
  Normal  SuccessfulCreateService  19m    pytorchjob-controller  Created service: pt-job-2-master-0
  Normal  SuccessfulCreatePod      4m48s  pytorchjob-controller  Created pod: pt-job-2-worker-0
  Normal  SuccessfulCreatePod      4m48s  pytorchjob-controller  Created pod: pt-job-2-master-0
```

# HyperPod Verwenden Sie den Schulungsoperator
<a name="sagemaker-eks-operator"></a>

 Der Amazon SageMaker HyperPod Training Operator hilft Ihnen dabei, die Entwicklung generativer KI-Modelle zu beschleunigen, indem er verteilte Schulungen über große GPU-Cluster effizient verwaltet. Er bietet intelligente Funktionen zur Fehlerbehebung, Erkennung von Blockierungen und Verwaltungsfunktionen auf Prozessebene, die Trainingsunterbrechungen minimieren und Kosten senken. Im Gegensatz zur herkömmlichen Trainingsinfrastruktur, bei der der Job bei Ausfällen komplett neu gestartet werden muss, implementiert dieser Operator die Wiederherstellung chirurgischer Prozesse, um einen reibungslosen Ablauf Ihrer Trainingsaufgaben zu gewährleisten. 

 Der Operator arbeitet auch mit HyperPod den Funktionen zur Zustandsüberwachung und Beobachtbarkeit und bietet so Echtzeiteinblicke in die Trainingsausführung sowie die automatische Überwachung kritischer Kennzahlen wie Verlustspitzen und Durchsatzeinbußen. Sie können Wiederherstellungsrichtlinien durch einfache YAML-Konfigurationen ohne Codeänderungen definieren, sodass Sie schnell auf nicht wiederherstellbare Trainingszustände reagieren und diese beheben können. Diese Überwachungs- und Wiederherstellungsfunktionen arbeiten zusammen, um eine optimale Trainingsleistung aufrechtzuerhalten und gleichzeitig den betrieblichen Aufwand zu minimieren.

 Kueue ist für diesen Schulungsoperator zwar nicht erforderlich, Ihr Clusteradministrator kann es jedoch installieren und konfigurieren, um die Funktionen zur Jobplanung zu verbessern. Weitere Informationen finden Sie in der [offiziellen Dokumentation zu Kueue](https://kueue.sigs.k8s.io/docs/overview/).

**Anmerkung**  
Um den Training Operator verwenden zu können, müssen Sie die neueste [ HyperPod AMI-Version](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html) verwenden. Verwenden Sie für das Upgrade den [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API-Vorgang. Wenn Sie [ HyperPod Task Governance](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html) verwenden, muss es sich auch um die neueste Version handeln.

## Unterstützte Versionen
<a name="sagemaker-eks-operator-supported-versions"></a>

 Der HyperPod Trainingsoperator funktioniert nur mit bestimmten Versionen von Kubernetes, Kueue und. HyperPod In der folgenden Liste finden Sie die vollständige Liste der kompatiblen Versionen. 
+ Unterstützte Kubernetes-Versionen — 1.28, 1.29, 1.30, 1.31, 1.32 und 1.33
+ [https://github.com/kubernetes-sigs/kueue/releases/tag/v0.12.2](https://github.com/kubernetes-sigs/kueue/releases/tag/v0.12.2)
+ Die neueste HyperPod AMI-Version. Verwenden Sie die [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API, um auf die neueste AMI-Version zu aktualisieren.
+ [PyTorch 2.4.0 — 2.7.1](https://github.com/pytorch/pytorch/releases)

**Anmerkung**  
Wir erheben regelmäßig bestimmte aggregierte und anonymisierte Betriebskennzahlen, um die Verfügbarkeit wesentlicher Dienste sicherzustellen. Die Erstellung dieser Metriken erfolgt vollautomatisch und erfordert keine Überprüfung des zugrundeliegenden Trainingsaufwands des Modells durch einen Menschen. Diese Kennzahlen beziehen sich auf Arbeitsabläufe, Ressourcenmanagement und grundlegende Servicefunktionen.

# Den Trainingsoperator installieren
<a name="sagemaker-eks-operator-install"></a>

In den folgenden Abschnitten erfahren Sie, wie Sie den Trainingsoperator installieren.

## Voraussetzungen
<a name="sagemaker-eks-operator-prerequisites"></a>

 Bevor Sie den HyperPod Training Operator einsetzen können, müssen Sie die folgenden Voraussetzungen erfüllt haben: 
+  [Es wurde ein HyperPod Cluster mit Amazon EKS-Orchestrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html) erstellt. 
+ Das neueste AMI wurde auf Ihrem HyperPod Cluster installiert. Weitere Informationen finden Sie unter [SageMaker HyperPod AMI-Versionen für Amazon EKS](sagemaker-hyperpod-release-ami-eks.md).
+ [Cert-Manager wurde installiert](https://cert-manager.io/docs/installation/).
+  [Richten Sie den EKS Pod Identity Agent über die Konsole](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-agent-setup.html) ein. Wenn Sie das verwenden möchten AWS CLI, verwenden Sie den folgenden Befehl: 

  ```
  aws eks create-addon \ 
   --cluster-name my-eks-cluster \
   --addon-name eks-pod-identity-agent \
   --region AWS-Region
  ```
+ (Optional) Wenn Sie Ihre HyperPod Clusterknoten in einer privaten VPC ausführen, müssen Sie PrivateLinks VPC-Endpunkte für die Amazon SageMaker AI API (`com.amazonaws.aws-region.sagemaker.api`) und Amazon EKS Auth Services (com.amazonaws) einrichten. *aws-region*.eks-auth). Sie müssen auch sicherstellen, dass Ihre Clusterknoten mit Subnetzen betrieben werden, die sich in einer Sicherheitsgruppe befinden, die es ermöglicht, dass der Datenverkehr über die VPC-Endpunkte geleitet wird, um mit SageMaker KI und Amazon EKS zu kommunizieren. Wenn diese nicht ordnungsgemäß eingerichtet sind, kann die Installation des Add-ons fehlschlagen. Weitere Informationen zum Einrichten von VPC-Endpoints finden Sie unter [VPC-Endpoint erstellen](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws).

## Den Trainingsoperator installieren
<a name="sagemaker-eks-operator-install-operator"></a>

 Sie können den HyperPod Training Operator jetzt über die SageMaker AI-Konsole, die Amazon EKS-Konsole oder mit den Konsolenmethoden installieren. AWS CLI Die Konsolenmethoden bieten vereinfachte Funktionen, die Ihnen bei der Installation des Operators helfen. Das AWS CLI bietet einen programmatischen Ansatz, mit dem Sie Ihre Installation weiter anpassen können.

Zwischen den beiden Konsolenanwendungen bietet SageMaker KI eine Installation mit einem Klick, erstellt die IAM-Ausführungsrolle, erstellt die Pod-Identitätszuordnung und installiert den Operator. Die Installation der Amazon EKS-Konsole ist ähnlich, aber diese Methode erstellt nicht automatisch die IAM-Ausführungsrolle. Während dieses Vorgangs haben Sie die Wahl, eine neue IAM-Ausführungsrolle mit Informationen zu erstellen, die die -Konsole vorab ausfüllt. Standardmäßig haben diese erstellten Rollen nur Zugriff auf den aktuellen Cluster, in dem Sie den Operator installieren. Wenn Sie den Operator entfernen und erneut installieren, müssen Sie eine neue Rolle erstellen, es sei denn, Sie bearbeiten die Berechtigungen der Rolle, um andere Cluster einzubeziehen. 

------
#### [ SageMaker AI console (recommended) ]

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Gehen Sie zur Detailseite Ihres Clusters.

1. Suchen Sie auf der Registerkarte **Dashboard** das Add-on mit dem Namen **Amazon SageMaker HyperPod Training Operator** und wählen Sie **Installieren**. Während des Installationsvorgangs erstellt SageMaker KI eine IAM-Ausführungsrolle mit Berechtigungen, die der [ AmazonSageMakerHyperPodTrainingOperatorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html)verwalteten Richtlinie ähneln, und erstellt eine Pod-Identitätszuordnung zwischen Ihrem Amazon EKS-Cluster und Ihrer neuen Ausführungsrolle.

------
#### [ Amazon EKS console ]

**Anmerkung**  
Wenn Sie das Add-on über den Amazon EKS-Cluster installieren, stellen Sie zunächst sicher, dass Sie Ihren HyperPod Cluster mit dem Schlüssel-Wert-Paar gekennzeichnet haben. `SageMaker:true` Andernfalls schlägt die Installation fehl.

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Gehen Sie zu Ihrem EKS-Cluster, wählen Sie **Add-Ons** und dann **Get more Add-Ons**.

1. Wählen Sie Amazon SageMaker HyperPod Training Operator und dann **Weiter**.

1. Unter **Version** verwendet die Konsole standardmäßig die neueste Version. Wir empfehlen Ihnen, diese zu verwenden.

1. Wählen Sie unter **Add-On-Zugriff** eine IAM-Rolle mit Pod-Identität aus, die mit dem Training Operator-Add-on verwendet werden soll. Wenn Sie noch keine Rolle haben, wählen Sie **Empfohlene Rolle erstellen** aus, um eine zu erstellen.

1. Während der Rollenerstellung füllt die IAM-Konsole alle erforderlichen Informationen vorab aus, z. B. den Anwendungsfall, die [ AmazonSageMakerHyperPodTrainingOperatorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html)verwaltete Richtlinie und andere erforderliche Berechtigungen, den Rollennamen und die Beschreibung. **Überprüfen Sie die Informationen, während Sie die Schritte ausführen, und wählen Sie „Rolle erstellen“.**

1. Überprüfen Sie in der EKS-Konsole die Einstellungen Ihres Add-ons und wählen Sie dann **Erstellen** aus.

------
#### [ CLI ]

1. Stellen Sie sicher, dass die IAM-Ausführungsrolle für Ihren HyperPod Cluster über eine Vertrauensbeziehung verfügt, die es EKS Pod Identity ermöglicht, die Rolle zu übernehmen, oder [erstellen Sie eine neue IAM-Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) mit der folgenden Vertrauensrichtlinie. Alternativ können Sie die Amazon EKS-Konsole verwenden, um das Add-on zu installieren, wodurch eine empfohlene Rolle erstellt wird.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowEksAuthToAssumeRoleForPodIdentity",
         "Effect": "Allow",
         "Principal": {
           "Service": "pods.eks.amazonaws.com"
         },
         "Action": [
           "sts:AssumeRole",
           "sts:TagSession",
           "eks-auth:AssumeRoleForPodIdentity"
         ]
       }
     ]
   }
   ```

------

1.  Hängen Sie die [ AmazonSageMakerHyperPodTrainingOperatorAccess verwaltete Richtlinie](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html) an Ihre erstellte Rolle an. 

1.  [Erstellen Sie dann eine Pod-Identitätszuordnung zwischen Ihrem EKS-Cluster, Ihrer IAM-Rolle und Ihrer neuen IAM-Rolle](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html).

   ```
   aws eks create-pod-identity-association \
   --cluster-name my-eks-cluster \
   --role-arn ARN of your execution role \
   --namespace aws-hyperpod \
   --service-account hp-training-operator-controller-manager \
   --region AWS-Region
   ```

1.  Nachdem Sie den Vorgang abgeschlossen haben, können Sie den ListPodIdentityAssociations Vorgang verwenden, um die von Ihnen erstellte Zuordnung zu sehen. Im Folgenden finden Sie ein Beispiel dafür, wie eine Antwort aussehen könnte. 

   ```
   aws eks list-pod-identity-associations --cluster-name my-eks-cluster
   {
       "associations": [{
           "clusterName": "my-eks-cluster",
           "namespace": "aws-hyperpod",
           "serviceAccount": "hp-training-operator-controller-manager",
           "associationArn": "arn:aws:eks:us-east-2:123456789012:podidentityassociation/my-hyperpod-cluster/a-1a2b3c4d5e6f7g8h9",
           "associationId": "a-1a2b3c4d5e6f7g8h9"
       }]
   }
   ```

1. Um den Trainingsoperator zu installieren, verwenden Sie die Operation `create-addon`. Der Parameter `--addon-version` ist optional. Wenn Sie keine angeben, ist die Standardversion die neueste Version. Verwenden Sie den [ DescribeAddonVersions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html)Vorgang, um die möglichen Versionen abzurufen.

   ```
   aws eks create-addon \
     --cluster-name my-eks-cluster \
     --addon-name amazon-sagemaker-hyperpod-training-operator \
     --resolve-conflicts OVERWRITE
   ```

------

Wenn Sie den Training Operator bereits auf Ihrem HyperPod Cluster installiert haben, können Sie das EKS-Add-on auf die gewünschte Version aktualisieren. Wenn Sie [Checkpointless-Training oder [elastisches Training](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-elastic-training.html)](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless.html) verwenden möchten, sollten Sie Folgendes beachten:
+ Sowohl das Training ohne Checkpoint als auch das elastische Training setzen voraus, dass das EKS-Add-on Version 1.2.0 oder höher installiert ist.
+ Der Amazon SageMaker HyperPod Training Operator gewährleistet die Abwärtskompatibilität für jede EKS-Add-On-Version, sodass Sie ein Upgrade von jeder Add-On-Version auf 1.2.0 oder höher durchführen können.
+ Wenn Sie ein Downgrade von Version 1.2.0 oder höher auf eine niedrigere Version durchführen, müssen Sie zuerst die vorhandenen Jobs vor dem Downgrade löschen und die Jobs nach Abschluss des Downgrades erneut einreichen.

------
#### [ Amazon EKS Console ]

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. **Gehen Sie zu Ihrem EKS-Cluster und wählen Sie Add-ons.** Wählen Sie dann das Amazon SageMaker HyperPod Training Operator-Add-on und klicken Sie auf **Bearbeiten**.

1. Wählen Sie im Menü **Version** die gewünschte Version des Add-ons aus und klicken Sie dann auf **Änderungen speichern**.

------
#### [ CLI ]

1. Rufen Sie zunächst die Liste der unterstützten Versionen des Add-ons für Ihren Cluster ab.

   ```
   aws eks describe-addon-versions \
     --kubernetes-version $(aws eks describe-cluster --name my-eks-cluster --query 'cluster.version' --output text) \
     --addon-name amazon-sagemaker-hyperpod-training-operator \
     --query 'addons[0].addonVersions[].addonVersion' \
     --output table
   ```

1. Aktualisieren Sie dann das Add-on auf die gewünschte Version.

   ```
   aws eks update-addon \
     --cluster-name my-eks-cluster \
     --addon-name amazon-sagemaker-hyperpod-training-operator \
     --addon-version target-version
     --resolve-conflicts OVERWRITE
   ```

------

 Der Trainingsoperator bietet eine Reihe von Optionen mit Standardwerten, die möglicherweise zu Ihrem Anwendungsfall passen. Wir empfehlen Ihnen, den Trainingsoperator mit Standardwerten auszuprobieren, bevor Sie sie ändern. In der folgenden Tabelle werden alle Parameter und Beispiele dafür beschrieben, wann Sie die einzelnen Parameter konfigurieren sollten.


| Parameter | Description | Standard | 
| --- | --- | --- | 
| hpTrainingControllerManager.Manager.Resources.Requests.CPU | Wie viele Prozessoren müssen dem Controller zugewiesen werden | 1 | 
| hpTrainingControllerManager.Manager.Resources.Requests.Memory | Wie viel Speicher soll dem Controller zugewiesen werden | 2 Gi | 
| hpTrainingControllerManager.Manager.Resources.Limits.CPU | Das CPU-Limit für den Controller | 2 | 
| hpTrainingControllerManager.Manager.Resources.Limits.Memory | Das Speicherlimit für den Controller | 4Gi | 
| hpTrainingControllerManager.NodeSelector | Knotenauswahl für die Controller-Pods | Das Standardverhalten besteht darin, Knoten mit der Bezeichnung auszuwählen sagemaker.amazonaws.com/compute-type: "HyperPod" | 

## HyperPod elastisches Mittel
<a name="sagemaker-eks-operator-elastic-agent"></a>

Das HyperPod elastische Mittel ist eine Erweiterung [PyTorchvon ElasticAgent](https://docs.pytorch.org/docs/stable/elastic/agent.html). Er organisiert die Lebenszyklen der geschulten Mitarbeiter an jedem Container und kommuniziert mit dem Schulungsleiter. HyperPod Um den HyperPod Trainingsoperator verwenden zu können, müssen Sie zuerst den HyperPod Elastic Agent in Ihrem Trainings-Image installieren, bevor Sie Jobs mit dem Operator einreichen und ausführen können. Im Folgenden finden Sie eine Docker-Datei, mit der Elastic Agent installiert und der `hyperpodrun` Job Launcher erstellt wird.

**Anmerkung**  
Sowohl das [Checkpointless-Training](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-checkpointless.html) als auch das [elastische Training](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-elastic-training.html) setzen voraus, dass Sie HyperPod Elastic Agent Version 1.1.0 oder höher verwenden.

```
RUN pip install hyperpod-elastic-agent

ENTRYPOINT ["entrypoint.sh"]
# entrypoint.sh
...
hyperpodrun --nnodes=node_count --nproc-per-node=proc_count \
            --rdzv-backend hyperpod \ # Optional
            --inprocess-restart \ # Optional (in-process fault recovery with checkpointless training)
            ... # Other torchrun args
            # pre-traing arg_group
            --pre-train-script pre.sh --pre-train-args "pre_1 pre_2 pre_3" \
            # post-train arg_group
            --post-train-script post.sh --post-train-args "post_1 post_2 post_3" \
            training.py --script-args
```

Sie können jetzt Jobs mit `kubectl` einreichen.

### HyperPod Argumente für Elastic Agents
<a name="sagemaker-eks-operator-elastic-agent-args"></a>

 Der HyperPod elastische Agent unterstützt alle ursprünglichen Argumente und fügt einige zusätzliche Argumente hinzu. Im Folgenden sind alle Argumente aufgeführt, die im HyperPod Elastikmittel verfügbar sind. Weitere Informationen zum Elastic Agent finden Sie in der [offiziellen Dokumentation PyTorch des Unternehmens](https://docs.pytorch.org/docs/stable/elastic/agent.html). 


| Argument | Description | Standardwert | 
| --- | --- | --- | 
| --Shutdown-Signal | Signal, das an die Arbeiter zum Herunterfahren gesendet werden soll (SIGTERM oder SIGKILL) | „SIGKILL“ | 
| --shutdowntimeout | Zeitlimit in Sekunden zwischen Shutdown-Signal und SIGKILL-Signalen | 15 | 
| --server-host | Serveradresse des Agenten | "0.0.0.0" | 
| --server-port | Agent-Server-Port | 8080 | 
| --server-log-level | Protokollebene | "info" | 
| --server-shutdown-timeout | Timeout für Server-Shutdown in Sekunden | 300 | 
| --pre-train-script | Pfad zum Vortraining | Keine | 
| --pre-train-args | Argumente für das Vortraining | Keine | 
| --post-train-script | Pfad zum Skript nach dem Training | Keine | 
| --post-train-args | Argumente für das Skript nach dem Training | Keine | 
| --inprocess-restart | Markierung, die angibt, ob die Funktion inprocess\$1restart verwendet werden soll | FALSE | 
| --inprocess-timeout | Zeit in Sekunden, in der der Agent darauf wartet, dass Worker eine Synchronisationsbarriere erreichen, bevor er einen Neustart auf Prozessebene auslöst. | Keine | 

## Verwaltung von Aufgaben (optional)
<a name="sagemaker-eks-operator-task-governance"></a>

Der Schulungsoperator ist in [ HyperPod Task Governance](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance) integriert, ein robustes Managementsystem, das entwickelt wurde, um die Ressourcenzuweisung zu optimieren und eine effiziente Nutzung der Rechenressourcen für Ihre Amazon EKS-Cluster zwischen Teams und Projekten sicherzustellen. Informationen zum Einrichten der HyperPod Task-Governance finden Sie unter[Einrichtung für die SageMaker HyperPod Task-Governance](sagemaker-hyperpod-eks-operate-console-ui-governance-setup.md). 

**Anmerkung**  
Bei der Installation des HyperPod Task Governance-Add-ons müssen Sie Version v1.3.0-eksbuild.1 oder höher verwenden.

Stellen Sie sicher, dass Sie bei der Übermittlung eines Auftrags Ihren Warteschlangennamen und die Prioritätsklassenbezeichnungen `hyperpod-ns-team-name-localqueue` und `priority-class-name-priority` angeben. Beispiel anhand von Kueue erhalten Sie folgende Labels:
+ *team-name*kueue.x-k8s.io/Warteschlangenname: hyperpod-ns- -localqueue
+ kueue.x-k8s.io/priority-class: -name-priorität *priority-class*

Im Folgenden finden Sie ein Beispiel dafür, wie Ihre Konfigurationsdatei aussehen könnte:

```
apiVersion: sagemaker.amazonaws.com/v1
kind: HyperPodPytorchJob
metadata:
  name: hp-task-governance-sample
  namespace: hyperpod-ns-team-name
  labels:
    kueue.x-k8s.io/queue-name: hyperpod-ns-team-name-localqueue
    kueue.x-k8s.io/priority-class: priority-class-priority
spec:
  nprocPerNode: "1"
  runPolicy:
    cleanPodPolicy: "None"
  replicaSpecs: 
    - name: pods
      replicas: 4
      spares: 2
      template:
        spec:
          containers:
            - name: ptjob
              image: XXXX
              imagePullPolicy: Always
              ports:
                - containerPort: 8080
              resources:
                requests:
                  cpu: "2"
```

Verwenden Sie dann den folgenden kubectl-Befehl, um die YAML-Datei anzuwenden.

```
kubectl apply -f task-governance-job.yaml
```

## Warteschlange (optional)
<a name="sagemaker-eks-operator-kueue"></a>

Sie können Jobs zwar direkt ausführen, aber Ihr Unternehmen kann den Schulungsleiter auch in Kueue integrieren, um Ressourcen zuzuweisen und Jobs zu planen. Gehen Sie wie folgt vor, um Kueue in Ihrem Cluster zu installieren. HyperPod 

1. Folgen Sie der Installationsanleitung in der [offiziellen Kueue-Dokumentation](https://kueue.sigs.k8s.io/docs/installation/#install-a-custom-configured-released-version). Wenn Sie den Schritt der Konfiguration erreicht haben`controller_manager_config.yaml`, fügen Sie die folgende Konfiguration hinzu:

   ```
   externalFrameworks:
   - "HyperPodPytorchJob.v1.sagemaker.amazonaws.com"
   ```

1. Befolgen Sie die restlichen Schritte in der offiziellen Installationsanleitung. Nachdem Sie die Installation von Kueue abgeschlossen haben, können Sie mit dem `kubectl apply -f sample-queues.yaml`-Befehl einige Beispielwarteschlangen erstellen. Verwenden Sie die folgende YAML-Datei.

   ```
   apiVersion: kueue.x-k8s.io/v1beta1
   kind: ClusterQueue
   metadata:
     name: cluster-queue
   spec:
     namespaceSelector: {}
     preemption:
       withinClusterQueue: LowerPriority
     resourceGroups:
     - coveredResources:
       - cpu
       - nvidia.com/gpu
       - pods
       flavors:
       - name: default-flavor
         resources:
         - name: cpu
           nominalQuota: 16
         - name: nvidia.com/gpu
           nominalQuota: 16
         - name: pods
           nominalQuota: 16
   ---
   apiVersion: kueue.x-k8s.io/v1beta1
   kind: LocalQueue
   metadata:
     name: user-queue
     namespace: default
   spec:
     clusterQueue: cluster-queue
   ---
   apiVersion: kueue.x-k8s.io/v1beta1
   kind: ResourceFlavor
   metadata:
     name: default-flavor
   ---
   apiVersion: kueue.x-k8s.io/v1beta1
   description: High priority
   kind: WorkloadPriorityClass
   metadata:
     name: high-priority-class
   value: 1000
   ---
   apiVersion: kueue.x-k8s.io/v1beta1
   description: Low Priority
   kind: WorkloadPriorityClass
   metadata:
     name: low-priority-class
   value: 500
   ```

# Verwenden Sie den Trainingsoperator, um Jobs auszuführen
<a name="sagemaker-eks-operator-usage"></a>

 Um den Job mit kubectl auszuführen, müssen Sie die Datei job.yaml zur Angabe der Jobspezifikationen erstellen und ausführen`kubectl apply -f job.yaml`, um den Job zu senden. In dieser YAML-Datei können Sie benutzerdefinierte Konfigurationen im `logMonitoringConfiguration` Argument angeben, um automatisierte Überwachungsregeln zu definieren, die die Protokollausgaben des verteilten Trainingsjobs analysieren, um Probleme zu erkennen und diese zu beheben. 

```
apiVersion: sagemaker.amazonaws.com/v1
kind: HyperPodPyTorchJob
metadata:
  labels:
    app.kubernetes.io/name: HyperPod
    app.kubernetes.io/managed-by: kustomize
  name: &jobname xxx
  annotations:
    XXX: XXX
    ......
spec:
  nprocPerNode: "X"
  replicaSpecs:
    - name: 'XXX'
      replicas: 16
      template:
        spec:
          nodeSelector:
            beta.kubernetes.io/instance-type: ml.p5.48xlarge
          containers:
            - name: XXX
              image: XXX
              imagePullPolicy: Always
              ports:
                - containerPort: 8080 # This is the port that HyperPodElasticAgent listens to
              resources:
                limits:
                  nvidia.com/gpu: 8
                  hugepages-2Mi: 5120Mi
                requests:
                  nvidia.com/gpu: 8
                  hugepages-2Mi: 5120Mi
                  memory: 32000Mi
          ......        
  runPolicy:
    jobMaxRetryCount: 50
    restartPolicy:
      numRestartBeforeFullJobRestart: 3 
      evalPeriodSeconds: 21600 
      maxFullJobRestarts: 1
    cleanPodPolicy: "All"
    logMonitoringConfiguration: 
      - name: "JobStart"
        logPattern: ".*Experiment configuration.*" # This is the start of the training script
        expectedStartCutOffInSeconds: 120 # Expected match in the first 2 minutes
      - name: "JobHangingDetection"
        logPattern: ".*\\[Epoch 0 Batch \\d+.*'training_loss_step': (\\d+(\\.\\d+)?).*"
        expectedRecurringFrequencyInSeconds: 300 # If next batch is not printed within 5 minute, consider it hangs. Or if loss is not decimal (e.g. nan) for 2 minutes, mark it hang as well.
        expectedStartCutOffInSeconds: 600 # Allow 10 minutes of job startup time
      - name: "NoS3CheckpointingDetection"
        logPattern: ".*The checkpoint is finalized. All shards is written.*"
        expectedRecurringFrequencyInSeconds: 600 # If next checkpoint s3 upload doesn't happen within 10 mins, mark it hang.
        expectedStartCutOffInSeconds: 1800 # Allow 30 minutes for first checkpoint upload
      - name: "LowThroughputDetection"
        logPattern: ".*\\[Epoch 0 Batch \\d+.*'samples\\/sec': (\\d+(\\.\\d+)?).*"
        metricThreshold: 80 # 80 samples/sec
        operator: "lteq"
        metricEvaluationDataPoints: 25 # if throughput lower than threshold for 25 datapoints, kill the job
```

Wenn Sie die Optionen zur Protokollüberwachung verwenden möchten, stellen Sie sicher, dass Sie das Trainingsprotokoll an `sys.stdout` senden. HyperPod Elastic Agent überwacht die Trainingsprotokolle in sys.stdout, das unter gespeichert ist. `/tmp/hyperpod/` Sie können den folgenden Befehl verwenden, um Trainingsprotokolle auszugeben.

```
logging.basicConfig(format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", level=logging.INFO, stream=sys.stdout)
```

 Die folgende Tabelle beschreibt alle möglichen Protokollüberwachungskonfigurationen: 


| Parameter | Usage | 
| --- | --- | 
| jobMaxRetryZählen | Maximale Anzahl von Neustarts auf Prozessebene. | 
| Richtlinie neu starten: numRestartBefore FullJobRestart | Maximale Anzahl von Neustarts auf Prozessebene, bevor der Operator auf Auftragsebene neu startet. | 
| Richtlinie neu starten: evalPeriodSeconds | Der Zeitraum für die Auswertung des Neustartlimits in Sekunden | 
| RestartPolicy: Startet neu maxFullJob | Maximale Anzahl vollständiger Job-Neustarts, bevor der Job fehlschlägt. | 
| cleanPodPolicy | Gibt die Pods an, die der Bediener reinigen soll. Akzeptierte Werte sind All, OnlyComplete und None. | 
| logMonitoringConfiguration | Die Regeln zur Protokollüberwachung für die Erkennung langsamer und hängender Jobs | 
| expectedRecurringFrequencyInSeconds | Zeitintervall zwischen zwei aufeinanderfolgenden LogPattern Treffern, nach dessen Ablauf die Regel als HÄNGEND ausgewertet wird. Wenn nicht angegeben, besteht keine Zeitbeschränkung zwischen aufeinanderfolgenden LogPattern Treffern. | 
| expectedStartCutOffInSeconds | Zeit bis zum ersten LogPattern Treffer, nach deren Ablauf die Regel als HÄNGEND ausgewertet wird. Wenn nicht angegeben, gibt es keine Zeitbeschränkung für den ersten LogPattern Treffer. | 
| logPattern | Regulärer Ausdruck, der Protokollzeilen identifiziert, für die die Regel gilt, wenn die Regel aktiv ist | 
| metricEvaluationDataPunkte | Anzahl der aufeinanderfolgenden Male, bei denen eine Regel als SLOW ausgewertet werden muss, bevor ein Job als SLOW markiert wird. Wenn nichts angegeben ist, ist der Standardwert 1. | 
| Metrischer Schwellenwert | Schwellenwert für den Wert, der LogPattern mit einer aufnehmenden Gruppe extrahiert wurde. Wenn nicht angegeben, wird keine Metrikauswertung durchgeführt. | 
| operator | Die Ungleichheit, die auf die Überwachungskonfiguration angewendet werden soll. Akzeptierte Werte sind gt, gteq, lt, lteq und eq. | 
| StopPattern | Regulärer Ausdruck zur Identifizierung der Protokollzeile, in der die Regel deaktiviert werden soll. Wenn nicht angegeben, ist die Regel immer aktiv. | 
| faultOnMatch | Gibt an, ob eine Übereinstimmung mit sofort einen Jobfehler auslösen LogPattern soll. Wenn der Wert true ist, wird der Job unabhängig von anderen Regelparametern als LogPattern fehlerhaft markiert, sobald der Treffer gefunden wurde. Wenn der Wert falsch oder nicht angegeben ist, wird die Regel auf der Grundlage anderer Parameter als SLOW oder HANGING ausgewertet. | 

 Geben Sie für mehr Trainingsstabilität die Konfigurationsdetails für Ersatzknoten an. Wenn Ihr Job fehlschlägt, verwendet der Operator gemeinsam mit Kueue die im Voraus reservierten Knoten, um den Job weiter auszuführen. Für Ersatzknotenkonfigurationen ist Kueue erforderlich. Wenn Sie versuchen, einen Auftrag mit Ersatzknoten zu übermitteln, Kueue jedoch nicht installiert ist, schlägt der Auftrag fehl. Das folgende Beispiel ist eine `job.yaml` Beispieldatei, die Ersatzknotenkonfigurationen enthält.

```
apiVersion: sagemaker.amazonaws.com/v1
kind: HyperPodPyTorchJob
metadata:
  labels:
    kueue.x-k8s.io/queue-name: user-queue # Specify the queue to run the job.
  name: hyperpodpytorchjob-sample
spec:
  nprocPerNode: "1"
  runPolicy:
    cleanPodPolicy: "None"
  replicaSpecs: 
    - name: pods
      replicas: 1
      spares: 1 # Specify how many spare nodes to reserve.
      template:
        spec:
          containers:
            - name: XXX
              image: XXX
              
              imagePullPolicy: Always
              ports:
                - containerPort: 8080
              resources:
                requests:
                  nvidia.com/gpu: "0"
                limits:
                  nvidia.com/gpu: "0"
```

## Überwachen
<a name="sagemaker-eks-operator-usage-monitoring"></a>

Amazon SageMaker HyperPod ist in [Observability mit Amazon Managed Grafana und Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-observability-addon.html) integriert, sodass Sie die Überwachung einrichten können, um Metriken zu sammeln und in diese Observability-Tools einzuspeisen.

Alternativ können Sie Metriken über Amazon Managed Service for Prometheus ohne verwaltete Observability abrufen. Fügen Sie dazu die Metriken, die Sie überwachen möchten, in Ihre `job.yaml`-Datei ein, wenn Sie Aufträge mit `kubectl` ausführen.

```
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: hyperpod-training-operator
  namespace: aws-hyperpod
spec:
  ......
  endpoints:
    - port: 8081
      path: /metrics
      interval: 15s
```

Im Folgenden finden Sie Ereignisse, die der Schulungsleiter ausgibt und die Sie in Amazon Managed Service for Prometheus einspeisen können, um Ihre Schulungsaufträge zu überwachen.


| Veranstaltung | Description | 
| --- | --- | 
| hyperpod\$1training\$1operator\$1jobs\$1created\$1total | Gesamtzahl der Jobs, die der Schulungsoperator ausgeführt hat | 
| hyperpod\$1training\$1operator\$1jobs\$1restart\$1latency | Aktuelle Latenz beim Neustart des Jobs | 
| hyperpod\$1training\$1operator\$1jobs\$1fault\$1detection\$1latency | Latenz bei der Fehlererkennung | 
| hyperpod\$1training\$1operator\$1jobs\$1deleted\$1total | Gesamtzahl der gelöschten Jobs | 
| hyperpod\$1training\$1operator\$1jobs\$1successful\$1total | Gesamtzahl der abgeschlossenen Jobs | 
| hyperpod\$1training\$1operator\$1jobs\$1failed\$1total | Gesamtzahl der fehlgeschlagenen Jobs | 
| hyperpod\$1training\$1operator\$1jobs\$1restarted\$1total | Gesamtzahl der automatisch neu gestarteten Jobs | 

## Beispiel für eine Docker-Konfiguration
<a name="sagemaker-eks-operator-usage-docker"></a>

Im Folgenden finden Sie ein Beispiel für eine Docker-Datei, die Sie mit dem `hyperpod run` Befehl ausführen können.

```
export AGENT_CMD="--backend=nccl"
exec hyperpodrun --server-host=${AGENT_HOST} --server-port=${AGENT_PORT} \
    --tee=3 --log_dir=/tmp/hyperpod \
    --nnodes=${NNODES} --nproc-per-node=${NPROC_PER_NODE} \
    --pre-train-script=/workspace/echo.sh --pre-train-args='Pre-training script' \
    --post-train-script=/workspace/echo.sh --post-train-args='Post-training script' \
    /workspace/mnist.py --epochs=1000 ${AGENT_CMD}
```

## Beispielkonfigurationen für die Protokollüberwachung
<a name="sagemaker-eks-operator-usage-log-monitoring"></a>

**Erkennung von Auftragsabstürzen**

Verwenden Sie die folgenden Konfigurationen, um hängende Jobs zu erkennen. Sie verwendet die folgenden Parameter:
+ expectedStartCutOffInSeconds — wie lange sollte der Monitor warten, bevor er die ersten Logs erwartet
+ expectedRecurringFrequencyInSeconds — das Zeitintervall, in dem auf den nächsten Protokollstapel gewartet werden soll

Bei diesen Einstellungen erwartet der Protokollmonitor, dass innerhalb von 60 Sekunden nach dem Start des Trainingsjobs eine Protokollzeile angezeigt wird, die dem Regex-Muster `.*Train Epoch.*` entspricht. Nach dem ersten Erscheinen erwartet der Monitor, dass alle 10 Sekunden übereinstimmende Protokollzeilen angezeigt werden. Wenn die ersten Protokolle nicht innerhalb von 60 Sekunden oder die nachfolgenden Protokolle nicht alle 10 Sekunden erscheinen, behandelt der HyperPod Elastic Agent den Container als steckengeblieben und stimmt sich mit dem Schulungsmitarbeiter ab, um den Job neu zu starten.

```
runPolicy:
    jobMaxRetryCount: 10
    cleanPodPolicy: "None"
    logMonitoringConfiguration:
      - name: "JobStartGracePeriod"
        # Sample log line: [default0]:2025-06-17 05:51:29,300 [INFO] __main__: Train Epoch: 5 [0/60000 (0%)]       loss=0.8470
        logPattern: ".*Train Epoch.*"  
        expectedStartCutOffInSeconds: 60 
      - name: "JobHangingDetection"
        logPattern: ".*Train Epoch.*"
        expectedRecurringFrequencyInSeconds: 10 # if the next batch is not printed within 10 seconds
```

**Anstieg der Trainingsverluste**

Die folgende Überwachungskonfiguration gibt Trainingsprotokolle mit dem Muster `xxx training_loss_step xx` aus. Sie verwendet den Parameter`metricEvaluationDataPoints`, mit dem Sie einen Schwellenwert für Datenpunkte angeben können, bevor der Anwender den Job neu startet. Wenn der Wert für den Trainingsverlust mehr als 2,0 beträgt, startet der Bediener den Job neu.

```
runPolicy:
  jobMaxRetryCount: 10
  cleanPodPolicy: "None"
  logMonitoringConfiguration:
    - name: "LossSpikeDetection"
      logPattern: ".*training_loss_step (\\d+(?:\\.\\d+)?).*"   # training_loss_step 5.0
      metricThreshold: 2.0
      operator: "gt"
      metricEvaluationDataPoints: 5 # if loss higher than threshold for 5 data points, restart the job
```

**Niedrige TFLOPs Erkennungsrate**

Die folgende Überwachungskonfiguration gibt `xx TFLOPs xx` alle fünf Sekunden Trainingsprotokolle mit dem Muster aus. TFLOPs Liegt der Wert für 5 Datenpunkte unter 100, startet der Bediener den Trainingsjob erneut.

```
runPolicy:
  jobMaxRetryCount: 10
  cleanPodPolicy: "None"
  logMonitoringConfiguration:
    - name: "TFLOPs"
      logPattern: ".* (.+)TFLOPs.*"    # Training model, speed: X TFLOPs...
      expectedRecurringFrequencyInSeconds: 5        
      metricThreshold: 100       # if Tflops is less than 100 for 5 data points, restart the job       
      operator: "lt"
      metricEvaluationDataPoints: 5
```

**Erkennung des Fehlerprotokolls im Trainingsskript**

Die folgende Überwachungskonfiguration erkennt, ob das in angegebene Muster in den Trainingsprotokollen vorhanden `logPattern` ist. Sobald der Schulungstechniker auf das Fehlermuster stößt, behandelt er es als Fehler und startet den Job neu.

```
runPolicy:
  jobMaxRetryCount: 10
  cleanPodPolicy: "None"
  logMonitoringConfiguration:
    - name: "GPU Error"
      logPattern: ".*RuntimeError.*out of memory.*"
      faultOnMatch: true
```

# Fehlerbehebung
<a name="sagemaker-eks-operator-troubleshooting"></a>

In den folgenden Abschnitten erfahren Sie, wie Sie Fehler bei der Verwendung des Trainingsoperators beheben können.

## Ich kann den Training Operator nicht installieren
<a name="sagemaker-eks-operator-troubleshooting-installation-error"></a>

Wenn Sie den Trainingsoperator nicht installieren können, stellen Sie sicher, dass Sie die [unterstützten Versionen der Komponenten](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html#sagemaker-eks-operator-supported-versions) verwenden. Wenn Sie beispielsweise die Fehlermeldung erhalten, dass Ihre HyperPod AMI-Version nicht mit dem Schulungsbetreiber kompatibel ist, [aktualisieren Sie auf die neueste Version](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html).

## Inkompatible HyperPod Task-Governance-Version
<a name="sagemaker-eks-operator-troubleshooting-task-governance-version"></a>

Während der Installation erhalten Sie möglicherweise eine Fehlermeldung, dass die Version von HyperPod Task Governance inkompatibel ist. Der Trainingsoperator arbeitet nur mit Version v1.3.0-eksbuild.1 oder höher. Aktualisieren Sie Ihr HyperPod Task Governance-Add-on und versuchen Sie es erneut. 

## Fehlende Berechtigungen
<a name="sagemaker-eks-operator-troubleshooting-task-missing-permissions"></a>

 Während Sie den Trainingsoperator einrichten oder Aufträge ausführen, erhalten Sie möglicherweise die Fehlermeldung, dass Sie nicht autorisiert sind, bestimmte Operationen auszuführen, wie z. B. `DescribeClusterNode`. Um diese Fehler zu beheben, stellen Sie sicher, dass Sie die IAM-Berechtigungen korrekt eingerichtet haben, während Sie [den Amazon EKS Pod Identity Agent einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html#sagemaker-eks-operator-install-pod-identity).

# Elastisches Training in Amazon verwenden SageMaker HyperPod
<a name="sagemaker-eks-elastic-training"></a>

 Elastic Training ist eine neue SageMaker HyperPod Amazon-Funktion, die Trainingsjobs automatisch auf der Grundlage der Verfügbarkeit von Rechenressourcen und der Priorität der Arbeitslast skaliert. Elastic Training Jobs können mit minimalen Rechenressourcen beginnen, die für das Modelltraining erforderlich sind, und dynamisch nach oben oder unten skaliert werden, indem automatische Checkpoints und Wiederaufnahme über verschiedene Knotenkonfigurationen hinweg (Weltgröße) durchgeführt werden. Die Skalierung wird erreicht, indem die Anzahl der datenparallelen Replikate automatisch angepasst wird. In Zeiten hoher Clusterauslastung können Elastic Training Jobs so konfiguriert werden, dass sie als Reaktion auf Ressourcenanforderungen von Jobs mit höherer Priorität automatisch herunterskaliert werden, sodass Rechenleistung für kritische Workloads zur Verfügung steht. Wenn in Zeiten mit geringer Auslastung Ressourcen frei werden, werden Elastic Training Jobs automatisch wieder hochskaliert, um das Training zu beschleunigen, und dann wieder herunterskaliert, wenn Workloads mit höherer Priorität wieder Ressourcen benötigen. 

Elastic Training baut auf dem HyperPod Training des Operators auf und umfasst die folgenden Komponenten:
+ [Orchestrierung von Amazon EKS für Kubernetes](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks.html)
+ [Amazon SageMaker HyperPod Task Governance](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html) für die Warteschleifenbildung, Priorisierung und Planung von Jobs
+ [PyTorch Distributed Checkpoint (DCP)](https://docs.pytorch.org/docs/stable/distributed.checkpoint.html) für skalierbares Status- und Checkpoint-Management, wie DCP

**Unterstützte Frameworks**
+ PyTorch mit Distributed Data Parallel (DDP) und Fully Sharded Data Parallel (FSDP)
+ PyTorch Verteilter Checkpoint (DCP)

## Voraussetzungen
<a name="sagemaker-eks-elastic-prereqs"></a>

### SageMaker HyperPod EKS-Cluster
<a name="sagemaker-eks-elastic-hyperpod-cluster"></a>

Sie müssen über einen laufenden SageMaker HyperPod Cluster mit Amazon EKS-Orchestrierung verfügen. Informationen zum Erstellen eines HyperPod EKS-Clusters finden Sie unter:
+ [Erste Schritte mit Amazon EKS in SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-prerequisites.html)
+ [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-create-cluster.html)

### SageMaker HyperPod Schulung des Bedieners
<a name="sagemaker-eks-elastic-training-operator"></a>

Elastic Training wird in Training Operator Version 1.2 und höher unterstützt.

Informationen zur Installation des Training Operators als EKS-Add-on finden Sie unter [https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker: eks-operator-install .html](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html)

### (Empfohlen) Installieren und konfigurieren Sie Task Governance und Warteschlange
<a name="sagemaker-eks-elastic-task-governance"></a>

Wir empfehlen, Kueue über [HyperPod Task Governance](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html) zu installieren und zu konfigurieren, um Workload-Prioritäten mit elastischem Training festzulegen. Kueue bietet ein effizienteres Workload-Management mit Warteschlangen, Priorisierung, Gruppenplanung, Ressourcenverfolgung und automatischem Preemption, die für den Betrieb in Trainingsumgebungen mit mehreren Mandanten unerlässlich sind.
+ Die Gruppenplanung stellt sicher, dass alle erforderlichen Gruppen eines Schulungsjobs gemeinsam beginnen. Dadurch wird verhindert, dass einige Pods starten, während andere noch ausstehen, was zu einer Verschwendung von Ressourcen führen könnte.
+ Durch das sanfte Preemption-Verfahren können elastische Jobs mit niedrigerer Priorität Ressourcen für Workloads mit höherer Priorität bereitstellen. Elastic Jobs können problemlos herunterskaliert werden, ohne dass sie gewaltsam entfernt werden müssen, wodurch die allgemeine Stabilität des Clusters verbessert wird.

Wir empfehlen, die folgenden Kueue-Komponenten zu konfigurieren:
+ PriorityClasses um die relative Bedeutung der Arbeit zu definieren
+ ClusterQueues um die globale gemeinsame Nutzung von Ressourcen und Kontingente zwischen Teams oder Workloads zu verwalten
+ LocalQueues um Jobs von einzelnen Namespaces an die entsprechenden weiterzuleiten ClusterQueue

Für fortgeschrittenere Setups können Sie auch Folgendes integrieren:
+ Fair-Share-Richtlinien, um die Ressourcennutzung zwischen mehreren Teams gleichmäßig zu verteilen
+ Benutzerdefinierte Präemptionsregeln zur Durchsetzung von Organisations- oder Kostenkontrollen SLAs 

Bitte beziehen Sie sich auf:
+ [https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker- hyperpod-eks-operate-console -ui-governance.html](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html)
+ [Dokumentation zur Warteschlange](https://kueue.sigs.k8s.io/)

### (Empfohlen) Richten Sie Benutzernamespaces und Ressourcenkontingente ein
<a name="sagemaker-eks-elastic-namespaces-quotas"></a>

Bei der Bereitstellung dieser Funktion auf Amazon EKS empfehlen wir, eine Reihe grundlegender Konfigurationen auf Clusterebene anzuwenden, um Isolation, Ressourcengerechtigkeit und betriebliche Konsistenz zwischen den Teams sicherzustellen.

#### Namespace- und Zugriffskonfiguration
<a name="sagemaker-eks-elastic-namespace-access"></a>

Organisieren Sie Ihre Workloads mithilfe separater Namespaces für jedes Team oder Projekt. Auf diese Weise können Sie eine fein abgestufte Isolierung und Steuerung anwenden. Wir empfehlen außerdem, die RBAC-Zuordnung von AWS IAM zu Kubernetes zu konfigurieren, um einzelne IAM-Benutzer oder -Rollen ihren entsprechenden Namespaces zuzuordnen.

Zu den wichtigsten Praktiken gehören:
+ Ordnen Sie mithilfe von IAM-Rollen für Dienstkonten (IRSA) IAM-Rollen Kubernetes-Dienstkonten zu, wenn Workloads Berechtigungen benötigen. AWS [https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html)
+ Wenden Sie RBAC-Richtlinien an, um Benutzern nur die ihnen zugewiesenen Namespaces zuzuweisen (z. B.`Role`/`RoleBinding`statt clusterweiter Berechtigungen).

#### Ressourcen- und Recheneinschränkungen
<a name="sagemaker-eks-elastic-resource-constraints"></a>

Um Ressourcenkonflikte zu vermeiden und eine faire Planung zwischen den Teams zu gewährleisten, sollten Sie Kontingente und Limits auf Namespace-Ebene einrichten:
+ ResourceQuotas um die Gesamtzahl der CPU-, Arbeitsspeicher-, Speicher- und Objektzahlen (Pods PVCs, Dienste usw.) zu begrenzen.
+ LimitRanges um Standard- und Höchstgrenzen für CPU und Speicher pro Pod oder Container durchzusetzen.
+ PodDisruptionBudgets (PDBs) nach Bedarf, um die Erwartungen an die Ausfallsicherheit zu definieren.
+ Optional: Warteschlangeneinschränkungen auf Namespace-Ebene (z. B. über Task Governance oder Warteschlange), um zu verhindern, dass Benutzer zu viele Jobs einreichen.

Diese Einschränkungen tragen zur Aufrechterhaltung der Clusterstabilität bei und unterstützen eine vorhersehbare Planung verteilter Trainingsworkloads.

#### Auto Scaling
<a name="sagemaker-eks-elastic-autoscaling"></a>

SageMaker HyperPod on EKS unterstützt die automatische Clusterskalierung über Karpenter. Wenn Karpenter oder ein ähnlicher Resource Provisioner zusammen mit elastischem Training verwendet wird, können sowohl der Cluster als auch der elastische Trainingsjob automatisch skaliert werden, nachdem ein elastischer Trainingsjob einmal eingereicht wurde. Das liegt daran, dass der Elastic Training Operator einen gierigen Ansatz verfolgt und immer mehr als die verfügbaren Rechenressourcen abfragt, bis die vom Job festgelegte Höchstgrenze erreicht ist. Dies liegt daran, dass der Elastic Training-Operator im Rahmen der Ausführung von Elastic Jobs kontinuierlich zusätzliche Ressourcen anfordert, was die Bereitstellung von Knoten auslösen kann. Continuous Resource Provisioner wie Karpenter bearbeiten die Anfragen, indem sie den Rechencluster skalieren.

Um diese Skalierungen vorhersehbar und unter Kontrolle zu halten, empfehlen wir, die Namespace-Ebene in den ResourceQuotas Namespaces zu konfigurieren, in denen elastische Trainingsjobs erstellt werden. ResourceQuotas helfen dabei, die maximale Anzahl an Ressourcen zu begrenzen, die Jobs anfordern können, wodurch ein unbegrenztes Clusterwachstum verhindert und dennoch elastisches Verhalten innerhalb definierter Grenzen ermöglicht wird.

Ein Beispiel ResourceQuota für 8 ml.p5.48xlarge-Instances hat das folgende Format:

```
apiVersion: v1
kind: ResourceQuota
metadata:
  name: <quota-name>
  namespace: <namespace-name>
spec:
  hard:
    nvidia.com/gpu: "64"
    vpc.amazonaws.com/efa: "256"
    requests.cpu: "1536"
    requests.memory: "5120Gi"
    limits.cpu: "1536"
    limits.memory: "5120Gi"
```

## Erstellen Sie einen Schulungscontainer
<a name="sagemaker-eks-elastic-build-container"></a>

HyperPod Training Operator arbeitet mit einem benutzerdefinierten PyTorch Launcher, der über das Python-Paket HyperPod Elastic Agent bereitgestellt wird ([https://www.piwheels). org/project/hyperpod-elastic-agent/](https://www.piwheels.org/project/hyperpod-elastic-agent/)). Kunden müssen den Elastic Agent installieren und den `torchrun` Befehl durch to launch training ersetzen. `hyperpodrun` Weitere Informationen finden Sie unter:

[https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker- eks-operator-install .html\$1 -Agent sagemaker-eks-operator-elastic](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html#sagemaker-eks-operator-elastic-agent)

Ein Beispiel für einen Trainingscontainer:

```
FROM ...

...

RUN pip install hyperpod-elastic-agent
ENTRYPOINT ["entrypoint.sh"]

# entrypoint.sh ...
hyperpodrun --nnodes=node_count --nproc-per-node=proc_count \
  --rdzv-backend hyperpod \
 # Optional ...
 # Other torchrun args
 # pre-traing arg_group
 --pre-train-script pre.sh --pre-train-args "pre_1 pre_2 pre_3" \
 # post-train arg_group
 --post-train-script post.sh --post-train-args "post_1 post_2 post_3" \
 training.py --script-args
```

## Änderung des Trainingscodes
<a name="sagemaker-eks-elastic-training-code"></a>

SageMaker HyperPod stellt eine Reihe von Rezepten bereit, die bereits für die Ausführung mit Elastic Policy konfiguriert wurden.

Um Elastic Training für benutzerdefinierte PyTorch Trainingsskripte zu aktivieren, müssen Sie kleinere Änderungen an Ihrer Trainingsschleife vornehmen. Dieser Leitfaden führt Sie durch die notwendigen Änderungen, die erforderlich sind, um sicherzustellen, dass Ihr Trainingsjob auf elastische Skalierungsereignisse reagiert, die auftreten, wenn sich die Verfügbarkeit von Rechenressourcen ändert. Bei allen elastischen Ereignissen (z. B. wenn Knoten verfügbar sind oder Knoten gesperrt werden), empfängt der Trainingsjob ein elastisches Event-Signal, das verwendet wird, um ein ordnungsgemäßes Herunterfahren zu koordinieren, indem ein Checkpoint gespeichert wird, und das Training wieder aufgenommen, indem es von diesem gespeicherten Checkpoint aus mit einer neuen Weltkonfiguration neu gestartet wird. Um Elastic Training mit benutzerdefinierten Trainingsskripten zu aktivieren, müssen Sie:

### Elastic Scaling-Ereignisse erkennen
<a name="sagemaker-eks-elastic-detect-events"></a>

Suchen Sie in Ihrer Trainingsschleife bei jeder Iteration nach elastischen Ereignissen:

```
from hyperpod_elastic_agent.elastic_event_handler import elastic_event_detected

def train_epoch(model, dataloader, optimizer, args):
    for batch_idx, batch_data in enumerate(dataloader):
        # Forward and backward pass
        loss = model(batch_data).loss
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()

        # Handle checkpointing and elastic scaling
        should_checkpoint = (batch_idx + 1) % args.checkpoint_freq == 0
        elastic_event = elastic_event_detected()
        
        # Save checkpoint if scaling-up or scaling down job
        if should_checkpoint or elastic_event:
            save_checkpoint(model, optimizer, scheduler, 
                            checkpoint_dir=args.checkpoint_dir, 
                            step=global_step)
              
            if elastic_event:
                print("Elastic scaling event detected. Checkpoint saved.")
                return
```

### Implementieren Sie Checkpoint Saving und Checkpoint Loading
<a name="sagemaker-eks-elastic-checkpoint-implementation"></a>

Hinweis: Wir empfehlen die Verwendung von PyTorch Distributed Checkpoint (DCP) zum Speichern von Modell- und Optimiererstatus, da DCP die Wiederaufnahme von einem Checkpoint mit unterschiedlichen Weltgrößen unterstützt. Andere Checkpoint-Formate unterstützen möglicherweise das Laden von Checkpoints auf verschiedenen Weltgrößen nicht. In diesem Fall müssen Sie eine benutzerdefinierte Logik implementieren, um dynamische Änderungen der Weltgröße zu handhaben.

```
import torch.distributed.checkpoint as dcp
from torch.distributed.checkpoint.state_dict import get_state_dict, set_state_dict

def save_checkpoint(model, optimizer, lr_scheduler, user_content, checkpoint_path):
    """Save checkpoint using DCP for elastic training."""
    state_dict = {
        "model": model,
        "optimizer": optimizer,
        "lr_scheduler": lr_scheduler,
        **user_content
    }
      
    dcp.save(
        state_dict=state_dict,
        storage_writer=dcp.FileSystemWriter(checkpoint_path)
    )

def load_checkpoint(model, optimizer, lr_scheduler, checkpoint_path):
    """Load checkpoint using DCP with automatic resharding."""
    state_dict = {
        "model": model,
        "optimizer": optimizer,
        "lr_scheduler": lr_scheduler
    }
      
    dcp.load(
        state_dict=state_dict,
        storage_reader=dcp.FileSystemReader(checkpoint_path)
    )
      
    return model, optimizer, lr_scheduler
```

### (Optional) Verwenden Sie Stateful-Dataloader
<a name="sagemaker-eks-elastic-stateful-dataloaders"></a>

Wenn Sie nur für eine einzelne Epoche trainieren (d. h. einen einzigen Durchgang durch den gesamten Datensatz), muss das Modell jede Datenprobe genau einmal betrachten. Wenn der Trainingsjob in der Mitte der Epoche beendet und mit einer anderen Weltgröße wieder aufgenommen wird, werden zuvor verarbeitete Datenproben wiederholt, sofern der Dataloader-Status nicht dauerhaft ist. Ein Stateful-Dataloader verhindert dies, indem er die Position des Dataloaders speichert und wiederherstellt und so sicherstellt, dass wieder aufgenommene Läufe ab dem Elastic Scaling-Ereignis fortgesetzt werden, ohne dass Stichproben erneut verarbeitet werden. Wir empfehlen die Verwendung eines Systems [StatefulDataLoader](https://meta-pytorch.org/data/main/torchdata.stateful_dataloader.html), das als Ersatz für `torch.utils.data.DataLoader` diese Erweiterungen `state_dict()` und `load_state_dict()` Methoden dient und das Checkpoint des Datenladevorgangs mitten in der Entwicklungsphase ermöglicht.

## Elastic Training-Jobs einreichen
<a name="sagemaker-eks-elastic-submit-job"></a>

[HyperPod Der Trainingsoperator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-usage.html) definiert einen neuen Ressourcentyp -`hyperpodpytorchjob`. Elastic Training erweitert diesen Ressourcentyp und fügt die unten hervorgehobenen Felder hinzu:

```
apiVersion: sagemaker.amazonaws.com/v1
kind: HyperPodPyTorchJob
metadata:
  name: elastic-training-job
spec:
  elasticPolicy:
    minReplicas: 1
    maxReplicas: 4
    # Increment amount of pods in fixed-size groups
    # Amount of pods will be equal to minReplicas + N * replicaIncrementStep
    replicaIncrementStep: 1           
    # ... or Provide an exact amount of pods that required for training
    replicaDiscreteValues: [2,4,8]     

    # How long traing operator wait job to save checkpoint and exit during
    # scaling events. Job will be force-stopped after this period of time
    gracefulShutdownTimeoutInSeconds: 600

    # When scaling event is detected:   
    # how long job controller waits before initiate scale-up.
    # Some delay can prevent from frequent scale-ups and scale-downs
    scalingTimeoutInSeconds: 60

    # In case of faults, specify how long elastic training should wait for
    # recovery, before triggering a scale-down
    faultyScaleDownTimeoutInSeconds: 30
  ...
  replicaSpecs:
    - name: pods
      replicas: 4           # Initial replica count
      maxReplicas: 8        # Max for this replica spec (should match elasticPolicy.maxReplicas)
      ...
```

### Verwenden von kubectl
<a name="sagemaker-eks-elastic-kubectl-apply"></a>

Anschließend können Sie das elastische Training mit dem folgenden Befehl starten.

```
kubectl apply -f elastic-training-job.yaml
```

### SageMaker Rezepte verwenden
<a name="sagemaker-eks-elastic-sagemaker-recipes"></a>

Elastische Trainingsjobs können über [SageMaker HyperPod Rezepte](https://github.com/aws/sagemaker-hyperpod-recipes) gestartet werden.

**Anmerkung**  
Wir haben **46** elastische Rezepte für **SFO** - und **DPO-Jobs** auf Hyperpod Recipe hinzugefügt. Benutzer können diese Jobs starten, indem sie eine Zeile über dem vorhandenen statischen Launcher-Skript ändern:  
`++recipes.elastic_policy.is_elastic=true`

Zusätzlich zu den statischen Rezepten fügen elastische Rezepte die folgenden Felder hinzu, um das elastische Verhalten zu definieren:

#### Elastische Richtlinie
<a name="sagemaker-eks-elastic-policy"></a>

Das `elastic_policy` Feld definiert die Konfiguration auf Jobebene für den Elastic Training-Job. Es hat die folgenden Konfigurationen:
+ `is_elastic`: `bool` - wenn es sich bei diesem Job um einen elastischen Job handelt
+ `min_nodes`: `int` - die Mindestanzahl von Knoten, die für elastisches Training verwendet werden
+ `max_nodes`: `int` - die maximale Anzahl von Knoten, die für elastisches Training verwendet werden
+ `replica_increment_step`: `int` - Erhöhen Sie die Anzahl der Pods in Gruppen mit fester Größe. Dieses Feld schließt sich gegenseitig aus, was `scale_config` wir später definieren.
+ `use_graceful_shutdown`: `bool` - Wenn Sie bei Skalierungsereignissen die Option „Graceful Shutdown“ verwenden, ist dies standardmäßig der Fall. `true`
+ `scaling_timeout`: `int` - Die Wartezeit in Sekunden während des Skalierungsereignisses vor dem Timeout
+ `graceful_shutdown_timeout`: `int` - Die Wartezeit bis zum ordnungsgemäßen Herunterfahren

Im Folgenden finden Sie eine Beispieldefinition für dieses Feld. Sie finden sie auch im Hyperpod Recipe Repo im Rezept: `recipes_collection/recipes/fine-tuning/llama/llmft_llama3_1_8b_instruct_seq4k_gpu_sft_lora.yaml`

```
<static recipe>
...
elastic_policy:
  is_elastic: true
  min_nodes: 1
  max_nodes: 16
  use_graceful_shutdown: true
  scaling_timeout: 600
  graceful_shutdown_timeout: 600
```

#### Config skalieren
<a name="sagemaker-eks-elastic-scale-config"></a>

Das `scale_config` Feld definiert übergeordnete Konfigurationen für jede spezifische Skala. Es handelt sich um ein Schlüssel-Werte-Wörterbuch, wobei Schlüssel eine Ganzzahl ist, die die Zielskala darstellt, und Wert eine Teilmenge des Basisrezepts ist. Bei `<key>` Scale verwenden wir das, `<value>` um die spezifischen Konfigurationen im Rezept zu aktualisieren. base/static Im Folgenden wird ein Beispiel für dieses Feld gezeigt:

```
scale_config:   
...
  2:
    trainer:
      num_nodes: 2
    training_config:
      training_args:
        train_batch_size: 128
        micro_train_batch_size: 8
        learning_rate: 0.0004
  3:
    trainer:
      num_nodes: 3
    training_config:
      training_args:
        train_batch_size: 128
        learning_rate: 0.0004
        uneven_batch:
          use_uneven_batch: true
          num_dp_groups_with_small_batch_size: 16
          small_local_batch_size: 5
          large_local_batch_size: 6
 ...
```

Die obige Konfiguration definiert die Trainingskonfiguration auf den Skalen 2 und 3. In beiden Fällen verwenden wir die Lernrate`4e-4`, die Chargengröße von`128`. Aber auf Skala 2 verwenden wir einen Wert `micro_train_batch_size` von 8, während wir bei Skala 3 eine ungleichmäßige Chargengröße verwenden, da die Chargengröße des Zuges nicht gleichmäßig auf 3 Knoten aufgeteilt werden kann.

**Ungleichmäßige Chargengröße**

In diesem Feld wird das Verhalten bei der Stapelverteilung definiert, wenn die globale Stapelgröße nicht gleichmäßig durch die Anzahl der Ränge aufgeteilt werden kann. Es ist nicht spezifisch für elastisches Training, ermöglicht aber eine feinere Skalierungsgranularität.
+ `use_uneven_batch`: `bool` - wenn eine ungleichmäßige Chargenverteilung verwendet wird
+ `num_dp_groups_with_small_batch_size`: `int` - Bei einer ungleichmäßigen Chargenverteilung verwenden einige Ränge eine kleinere lokale Chargengröße, während die anderen eine größere Chargengröße verwenden. Die globale Chargengröße sollte gleich sein `small_local_batch_size * num_dp_groups_with_small_batch_size + (world_size-num_dp_groups_with_small_batch_size) * large_local_batch_size`
+ `small_local_batch_size`: `int` - Dieser Wert ist die kleinere lokale Batchgröße
+ `large_local_batch_size`: `int` - Dieser Wert entspricht der größeren lokalen Batchgröße

**Überwachen Sie das Training auf MLFlow**

Hyperpod-Rezeptjobs unterstützen die Beobachtbarkeit durch. MLFlow Benutzer können MLFlow Konfigurationen im Rezept angeben:

```
training_config:
  mlflow:
    tracking_uri: "<local_file_path or MLflow server URL>"
    run_id: "<MLflow run ID>"
    experiment_name: "<MLflow experiment name, e.g. llama_exps>"
    run_name: "<run name, e.g. llama3.1_8b>"
```

Diese Konfigurationen sind dem entsprechenden [MLFlow Setup](https://mlflow.org/docs/latest/ml/tracking/tracking-api/#setup--configuration) zugeordnet. Im Folgenden finden Sie ein MLflow Beispiel-Dashboard für einen Elastic-Training-Job.

![\[Im Folgenden finden Sie ein MLflow Beispiel-Dashboard für einen Job mit elastischem Training.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-elastic-sample-dashboard.png)


Nachdem wir die elastischen Rezepte definiert haben, können wir die Launcher-Skripte verwenden, `launcher_scripts/llama/run_llmft_llama3_1_8b_instruct_seq4k_gpu_sft_lora.sh` um beispielsweise einen Elastic-Training-Job zu starten. Dies ähnelt dem Starten eines statischen Jobs mit dem Hyperpod-Rezept.

**Anmerkung**  
Der Elastic-Trainingsjob von Recipe Support wird automatisch von den letzten Checkpoints aus fortgesetzt. Standardmäßig wird jedoch bei jedem Neustart ein neues Trainingsverzeichnis erstellt. Um die Wiederaufnahme vom letzten Checkpoint aus korrekt zu ermöglichen, müssen wir sicherstellen, dass dasselbe Trainingsverzeichnis wiederverwendet wird. Dies kann durch die Einstellung erfolgen  
`recipes.training_config.training_args.override_training_dir=true`

## Anwendungsbeispiele und Einschränkungen
<a name="sagemaker-eks-elastic-use-cases"></a>

### Skalieren Sie, wenn mehr Ressourcen verfügbar sind
<a name="sagemaker-eks-elastic-scale-up"></a>

Wenn mehr Ressourcen auf dem Cluster verfügbar werden (z. B. wenn andere Workloads abgeschlossen sind). Während dieser Veranstaltung skaliert der Trainingscontroller den Trainingsjob automatisch. Dieses Verhalten wird im Folgenden erklärt.

Um eine Situation zu simulieren, in der mehr Ressourcen verfügbar werden, können wir einen Job mit hoher Priorität einreichen und dann Ressourcen wieder freigeben, indem wir den Job mit hoher Priorität löschen.

```
# Submit a high-priority job on your cluster. As a result of this command
# resources will not be available for elastic training
kubectl apply -f high_prioriy_job.yaml

# Submit an elastic job with normal priority
kubectl apply -f hyperpod_job_with_elasticity.yaml

# Wait for training to start....

# Delete high priority job. This command will make additional resources available for
# elastic training
kubectl delete -f high_prioriy_job.yaml

# Observe the scale-up of elastic job
```

Erwartetes Verhalten:
+ Der Trainingsoperator erstellt einen Kueue-Workload. Wenn ein Elastic-Training-Job eine Änderung der Weltgröße anfordert, generiert der Trainingsoperator ein zusätzliches Kueue-Workload-Objekt, das die neuen Ressourcenanforderungen darstellt.
+ Kueue gibt zu, dass die Workload-Keue die Anfrage auf der Grundlage verfügbarer Ressourcen, Prioritäten und Warteschlangenrichtlinien bewertet. Nach der Genehmigung wird der Workload zugelassen.
+ Der Schulungsleiter erstellt die zusätzlichen Pods. Bei der Zulassung startet der Operator die zusätzlichen Pods, die erforderlich sind, um die neue Weltgröße zu erreichen.
+ Wenn die neuen Pods einsatzbereit sind, sendet der Schulungsleiter ein spezielles elastisches Ereignissignal an das Trainingsskript.
+ Der Trainingsjob führt Checkpoints durch, um sich auf ein ordnungsgemäßes Herunterfahren vorzubereiten. Der Trainingsprozess überprüft regelmäßig, ob das elastische Event-Signal vorhanden ist, indem er die Funktion **elastic\$1event\$1detected** () aufruft. Sobald es erkannt wurde, initiiert es einen Checkpoint. Nachdem der Checkpoint erfolgreich abgeschlossen wurde, wird der Trainingsprozess ordnungsgemäß beendet.
+ Der Schulungsoperator startet den Job mit der neuen Weltgröße neu. Der Bediener wartet, bis alle Prozesse beendet sind, und startet dann den Trainingsjob mit der aktualisierten Weltgröße und dem neuesten Checkpoint neu.

**Hinweis:** Wenn Kueue nicht verwendet wird, überspringt der trainierende Operator die ersten beiden Schritte. Es versucht sofort, die zusätzlichen Pods zu erstellen, die für die neue Weltgröße erforderlich sind. Wenn im Cluster nicht genügend Ressourcen verfügbar sind, verbleiben diese Pods im Status **Ausstehend**, bis Kapazität verfügbar ist.

![\[Das Diagramm veranschaulicht die Größenänderung und den Zeitplan für die Ressourcen.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-elastic-resize-timeline.png)


### Präemption durch Aufgabe mit hoher Priorität
<a name="sagemaker-eks-elastic-preemption"></a>

Elastic Jobs können automatisch herunterskaliert werden, wenn ein Job mit hoher Priorität Ressourcen benötigt. Um dieses Verhalten zu simulieren, können Sie einen Elastic Training-Job einreichen, der zu Beginn des Trainings die maximale Anzahl verfügbarer Ressourcen nutzt, anschließend einen Job mit hoher Priorität weiterleiten und das Preemption-Verhalten beobachten.

```
# Submit an elastic job with normal priority
kubectl apply -f hyperpod_job_with_elasticity.yaml

# Submit a high-priority job on your cluster. As a result of this command
# some amount of resources will be   
kubectl apply -f high_prioriy_job.yaml

# Observe scale-down behaviour
```

Wenn ein Job mit hoher Priorität Ressourcen benötigt, kann Kueue Elastic Training-Workloads mit niedrigerer Priorität zuvorkommen (dem Elastic Training-Job kann mehr als ein Workload-Objekt zugeordnet sein). Der Präemptionsvorgang folgt der folgenden Reihenfolge:

1. Ein Job mit hoher Priorität wurde übermittelt. Der Job erstellt einen neuen Warteschlangenarbeitsplatz, der Workload kann jedoch aufgrund unzureichender Clusterressourcen nicht zugelassen werden.

1. Die Kueue beendet einen der Workloads des Elastic Training-Jobs. Elastische Jobs können mehrere aktive Workloads haben (einen pro Weltkonfiguration). Die Kueue wählt auf der Grundlage von Prioritäten und Warteschlangenrichtlinien eine aus, die gesperrt werden soll.

1. Der trainierende Operator sendet ein elastisches Event-Signal. Sobald die Präemption ausgelöst wurde, weist der Trainingsmitarbeiter den laufenden Trainingsprozess an, ordnungsgemäß zu beenden.

1. Der Trainingsprozess führt Checkpoints durch. Der Trainingsjob sucht regelmäßig nach elastischen Ereignissignalen. Wenn er erkannt wird, startet er einen koordinierten Checkpoint, um den Fortschritt aufrechtzuerhalten, bevor er heruntergefahren wird.

1. Der geschulte Bediener reinigt Pods und Workloads. Der Operator wartet, bis der Checkpoint abgeschlossen ist, und löscht dann die Trainings-Pods, die Teil des Workloads waren, von dem der Checkpoint ausgeschlossen wurde. Außerdem wird das entsprechende Workload-Objekt aus der Warteschlange entfernt.

1. Der Workload mit hoher Priorität wird zugelassen. Sobald die Ressourcen freigegeben sind, gibt Kueue den Job mit hoher Priorität zu, sodass er mit der Ausführung beginnen kann.  
![\[Präemptionszeitplan für elastische Trainings-Workloads.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod/hyperpod-elastic-preemption-timeline.png)

Eine Präemption kann dazu führen, dass der gesamte Trainingsjob unterbrochen wird, was möglicherweise nicht für alle Workflows wünschenswert ist. Um zu verhindern, dass die gesamte Arbeit unterbrochen wird, und gleichzeitig eine elastische Skalierung möglich ist, können Kunden innerhalb desselben Schulungsauftrags zwei verschiedene Prioritätsstufen konfigurieren, indem sie zwei Abschnitte definieren: `replicaSpec`
+ Eine primäre (feste) ReplicaSpec mit normaler oder hoher Priorität
  + Enthält die Mindestanzahl an Replikaten, die erforderlich sind, um den Trainingsjob am Laufen zu halten.
  + Verwendet einen höheren Wert PriorityClass, um sicherzustellen, dass diese Replikate *nie zuvor* gesperrt werden.
  + Behält den Basisfortschritt bei, auch wenn der Cluster unter Ressourcenauslastung steht.
+ Eine elastische (skalierbare) ReplicaSpec mit niedrigerer Priorität
  + Enthält die zusätzlichen optionalen Replikate, die während der elastischen Skalierung zusätzliche Rechenleistung bieten.
  + Verwendet einen niedrigeren Wert PriorityClass, sodass Kueue diesen Replikaten zuvorkommen kann, wenn Jobs mit höherer Priorität Ressourcen benötigen.
  + Stellt sicher, dass nur der elastische Teil zurückgewonnen wird, während das Rumpftraining ohne Unterbrechung fortgesetzt wird.

Diese Konfiguration ermöglicht eine teilweise Präemption, bei der nur die elastische Kapazität zurückgewonnen wird. Dadurch wird die Kontinuität des Trainings aufrechterhalten und gleichzeitig eine faire Aufteilung der Ressourcen in Umgebungen mit mehreren Mandanten unterstützt. Beispiel:

```
apiVersion: sagemaker.amazonaws.com/v1
kind: HyperPodPyTorchJob
metadata:
  name: elastic-training-job
spec:
  elasticPolicy:
    minReplicas: 2
    maxReplicas: 8
    replicaIncrementStep: 2
  ...
  replicaSpecs:
    - name: base
      replicas: 2
      template:
        spec:
          priorityClassName: high-priority # set high-priority to avoid evictions
           ...
    - name: elastic
      replicas: 0
      maxReplicas: 6
      template:
        spec:
          priorityClassName: low-priority. # Set low-priority for elastic part
           ...
```

### Umgehung von Pods, Pod-Abstürze und Hardwareverlust:
<a name="sagemaker-eks-elastic-pod-eviction"></a>

Der HyperPod trainierende Operator verfügt über integrierte Mechanismen, mit denen der Trainingsprozess wiederhergestellt werden kann, wenn er unerwartet unterbrochen wird. Unterbrechungen können aus verschiedenen Gründen auftreten, z. B. aufgrund von Fehlern im Trainingscode, aufgrund von Pod-Räumungen, Knotenausfällen, Hardwareabbau und anderen Laufzeitproblemen.

In diesem Fall versucht der Operator automatisch, die betroffenen Pods neu zu erstellen und das Training am letzten Checkpoint fortzusetzen. Wenn eine Wiederherstellung nicht sofort möglich ist, z. B. aufgrund unzureichender Reservekapazitäten, kann der Bediener seine Fortschritte fortsetzen, indem er die Weltgröße vorübergehend reduziert und die elastische Trainingseinheit herunterskaliert.

Wenn ein elastischer Trainingsjob abstürzt oder Replikate verloren gehen, verhält sich das System wie folgt:
+ Wiederherstellungsphase (unter Verwendung von Ersatzknoten) Der Training Controller wartet, bis `faultyScaleDownTimeoutInSeconds` Ressourcen verfügbar sind, und versucht, die ausgefallenen Replikate wiederherzustellen, indem er Pods auf freier Kapazität erneut bereitstellt.
+ Elastisches Herunterskalieren Wenn die Wiederherstellung innerhalb des Timeout-Fensters nicht möglich ist, skaliert der Schulungsleiter den Job auf eine kleinere Weltgröße (sofern die Elastizitätsrichtlinie des Jobs dies zulässt). Das Training wird dann mit weniger Wiederholungen fortgesetzt.
+ Elastisches Skalieren Wenn wieder zusätzliche Ressourcen verfügbar sind, skaliert der Operator den Schulungsjob automatisch wieder auf die bevorzugte Weltgröße.

Dieser Mechanismus stellt sicher, dass die Schulung mit minimalen Ausfallzeiten fortgesetzt werden kann, auch wenn Ressourcen knapp sind oder die Infrastruktur teilweise ausfällt, und gleichzeitig die Vorteile der elastischen Skalierung genutzt werden können.

### Verwenden Sie elastisches Training mit anderen HyperPod Funktionen
<a name="sagemaker-eks-elastic-other-features"></a>

Elastic Training unterstützt derzeit keine Trainingsfunktionen ohne Checkpoint, HyperPod verwaltetes mehrstufiges Checkpointing oder Spot-Instances.

**Anmerkung**  
Wir erheben regelmäßig bestimmte aggregierte und anonymisierte Betriebskennzahlen, um die Verfügbarkeit grundlegender Dienste sicherzustellen. Die Erstellung dieser Metriken erfolgt vollautomatisch und erfordert keine Überprüfung des zugrundeliegenden Trainingsaufwands des Modells durch einen Menschen. Diese Kennzahlen beziehen sich auf einen Job und die Skalierung von Abläufen, das Ressourcenmanagement und grundlegende Servicefunktionen.

# Observability für SageMaker HyperPod Amazon-Cluster, orchestriert von Amazon EKS
<a name="sagemaker-hyperpod-eks-cluster-observability"></a>

Um eine umfassende Beobachtbarkeit Ihrer Amazon SageMaker HyperPod (SageMaker HyperPod) -Clusterressourcen und Softwarekomponenten zu erreichen, integrieren Sie den Cluster in [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html), [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) und [Amazon](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) Managed Grafana. Diese Tools bieten Einblick in den Zustand des Clusters, die Leistungskennzahlen und die Ressourcennutzung.

Die Integration mit Amazon Managed Service for Prometheus ermöglicht den Export von Metriken zu Ihren HyperPod Cluster-Ressourcen und bietet so Einblicke in deren Leistung, Auslastung und Zustand. Die Integration mit Amazon Managed Grafana ermöglicht die Visualisierung dieser Metriken über verschiedene Grafana-Dashboards, die eine intuitive Oberfläche für die Überwachung und Analyse des Clusterverhaltens bieten. Durch die Nutzung dieser Services erhalten Sie eine zentralisierte und einheitliche Ansicht Ihres HyperPod Clusters, was die proaktive Überwachung, Fehlerbehebung und Optimierung Ihrer verteilten Trainingsworkloads erleichtert.

**Anmerkung**  
Amazon Managed Service for Prometheus und Amazon Managed Grafana konzentrieren sich zwar CloudWatch auf betriebliche Kennzahlen (z. B. Systemzustand, Ausbildung, Arbeitsleistung), aber SageMaker HyperPod Nutzungsberichte ergänzen [Task Governance](sagemaker-hyperpod-eks-operate-console-ui-governance.md), um Einblicke in die Finanz- und Ressourcenverantwortung zu geben. Diese Berichte verfolgen:  
Computernutzung (GPU/CPU/Neuron Core hours) across namespaces/teams
Zuordnung der Kosten für zugewiesene und geliehene Ressourcen
Historische Trends (bis zu 180 Tage) zur Prüfung und Optimierung
Weitere Informationen zum Einrichten und Generieren von Nutzungsberichten finden Sie unter [Berichterstattung über die Computernutzung in HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-usage-reporting.html). 

**Tipp**  
Praktische Beispiele und Lösungen finden Sie auch im Abschnitt [Observability](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e/en-US/06-observability) im [Amazon EKS Support im SageMaker HyperPod Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/2433d39e-ccfe-4c00-9d3d-9917b729258e).

Fahren Sie mit den folgenden Themen fort, um die SageMaker HyperPod Cluster-Observability einzurichten.

**Topics**
+ [Modellbeobachtbarkeit für Trainingsjobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-cluster-observability-model.md)
+ [Beobachtbarkeit von Clustern und Aufgaben](sagemaker-hyperpod-eks-cluster-observability-cluster.md)

# Modellbeobachtbarkeit für Trainingsjobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden
<a name="sagemaker-hyperpod-eks-cluster-observability-model"></a>

SageMaker HyperPod Mit Amazon EKS orchestrierte Cluster können in die [MLflow Anwendung auf Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html) integriert werden. Cluster-Administratoren richten den MLflow Server ein und verbinden ihn mit den SageMaker HyperPod Clustern. Datenwissenschaftler können Einblicke in das Modell gewinnen.

**So richten Sie einen MLflow Server mit AWS CLI ein**

Ein Clusteradministrator muss einen MLflow Tracking-Server erstellen.

1. Erstellen Sie einen SageMaker MLflow AI-Tracking-Server, indem Sie den Anweisungen unter [Erstellen eines Tracking-Servers mithilfe der AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-cli.html#mlflow-create-tracking-server-cli-infra-setup) folgen.

1. Stellen Sie sicher, dass die [https://docs.aws.amazon.com/eks/latest/APIReference/API_auth_AssumeRoleForPodIdentity.html](https://docs.aws.amazon.com/eks/latest/APIReference/API_auth_AssumeRoleForPodIdentity.html)Berechtigung in der IAM-Ausführungsrolle für SageMaker HyperPod vorhanden ist.

1. Wenn das `eks-pod-identity-agent` Add-on nicht bereits auf Ihrem EKS-Cluster installiert ist, installieren Sie es auf dem EKS-Cluster.

   ```
   aws eks create-addon \
       --cluster-name <eks_cluster_name> \
       --addon-name eks-pod-identity-agent \
       --addon-version vx.y.z-eksbuild.1
   ```

1. Erstellen Sie eine `trust-relationship.json` Datei für eine neue Rolle, die Pod aufrufen MLflow APIs soll.

   ```
   cat >trust-relationship.json <<EOF
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowEksAuthToAssumeRoleForPodIdentity",
               "Effect": "Allow",
               "Principal": {
                   "Service": "pods.eks.amazonaws.com"
   
               },
               "Action": [
                   "sts:AssumeRole",
                   "sts:TagSession"
               ]
           }
       ]
   }
   EOF
   ```

   Führen Sie den folgenden Code aus, um die Rolle zu erstellen und die Vertrauensstellung hinzuzufügen.

   ```
   aws iam create-role --role-name hyperpod-mlflow-role \
       --assume-role-policy-document file://trust-relationship.json \
       --description "allow pods to emit mlflow metrics and put data in s3"
   ```

1. Erstellen Sie die folgende Richtlinie, die Pod Zugriff gewährt, um alle `sagemaker-mlflow` Operationen aufzurufen und Modellartefakte in S3 zu speichern. Die S3-Berechtigung ist bereits auf dem Tracking-Server vorhanden, aber wenn die Modellartefakte zu groß sind, wird vom MLflow Code aus direkt s3 aufgerufen, um die Artefakte hochzuladen.

   ```
   cat >hyperpod-mlflow-policy.json <<EOF
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker-mlflow:AccessUI",
                   "sagemaker-mlflow:CreateExperiment",
                   "sagemaker-mlflow:SearchExperiments",
                   "sagemaker-mlflow:GetExperiment",
                   "sagemaker-mlflow:GetExperimentByName",
                   "sagemaker-mlflow:DeleteExperiment",
                   "sagemaker-mlflow:RestoreExperiment",
                   "sagemaker-mlflow:UpdateExperiment",
                   "sagemaker-mlflow:CreateRun",
                   "sagemaker-mlflow:DeleteRun",
                   "sagemaker-mlflow:RestoreRun",
                   "sagemaker-mlflow:GetRun",
                   "sagemaker-mlflow:LogMetric",
                   "sagemaker-mlflow:LogBatch",
                   "sagemaker-mlflow:LogModel",
                   "sagemaker-mlflow:LogInputs",
                   "sagemaker-mlflow:SetExperimentTag",
                   "sagemaker-mlflow:SetTag",
                   "sagemaker-mlflow:DeleteTag",
                   "sagemaker-mlflow:LogParam",
                   "sagemaker-mlflow:GetMetricHistory",
                   "sagemaker-mlflow:SearchRuns",
                   "sagemaker-mlflow:ListArtifacts",
                   "sagemaker-mlflow:UpdateRun",
                   "sagemaker-mlflow:CreateRegisteredModel",
                   "sagemaker-mlflow:GetRegisteredModel",
                   "sagemaker-mlflow:RenameRegisteredModel",
                   "sagemaker-mlflow:UpdateRegisteredModel",
                   "sagemaker-mlflow:DeleteRegisteredModel",
                   "sagemaker-mlflow:GetLatestModelVersions",
                   "sagemaker-mlflow:CreateModelVersion",
                   "sagemaker-mlflow:GetModelVersion",
                   "sagemaker-mlflow:UpdateModelVersion",
                   "sagemaker-mlflow:DeleteModelVersion",
                   "sagemaker-mlflow:SearchModelVersions",
                   "sagemaker-mlflow:GetDownloadURIForModelVersionArtifacts",
                   "sagemaker-mlflow:TransitionModelVersionStage",
                   "sagemaker-mlflow:SearchRegisteredModels",
                   "sagemaker-mlflow:SetRegisteredModelTag",
                   "sagemaker-mlflow:DeleteRegisteredModelTag",
                   "sagemaker-mlflow:DeleteModelVersionTag",
                   "sagemaker-mlflow:DeleteRegisteredModelAlias",
                   "sagemaker-mlflow:SetRegisteredModelAlias",
                   "sagemaker-mlflow:GetModelVersionByAlias"
               ],
               "Resource": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-tracking-server/<ml tracking server name>"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::<mlflow-s3-bucket_name>"
           }
       ]
   }
   EOF
   ```
**Anmerkung**  
Dies ARNs sind die vom MLflow Server und der S3-Bucket, die mit dem MLflow Server während des Servers eingerichtet wurden, den Sie gemäß den Anweisungen [ MLflow Infrastruktur einrichten](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-cli.html#mlflow-create-tracking-server-cli-infra-setup) erstellt haben.

1. Hängen Sie die `mlflow-metrics-emit-policy` Richtlinie `hyperpod-mlflow-role` mithilfe des im vorherigen Schritt gespeicherten Richtliniendokuments an.

   ```
   aws iam put-role-policy \
     --role-name hyperpod-mlflow-role \
     --policy-name mlflow-metrics-emit-policy \
     --policy-document file://hyperpod-mlflow-policy.json
   ```

1. Erstellen Sie ein Kubernetes-Dienstkonto für Pod, um auf den MLflow Server zuzugreifen. 

   ```
   cat >mlflow-service-account.yaml <<EOF
   apiVersion: v1
   kind: ServiceAccount
   metadata:
     name: mlflow-service-account
     namespace: kubeflow
   EOF
   ```

   Führen Sie den folgenden Befehl aus, um ihn auf den EKS-Cluster anzuwenden.

   ```
   kubectl apply -f mlflow-service-account.yaml
   ```

1. Erstellen Sie eine Pod-Identitätszuordnung.

   ```
   aws eks create-pod-identity-association \
       --cluster-name EKS_CLUSTER_NAME \
       --role-arn arn:aws:iam::111122223333:role/hyperpod-mlflow-role \
       --namespace kubeflow \
       --service-account mlflow-service-account
   ```

**Um Messwerte von Trainingsaufträgen auf dem Server zu sammeln MLflow**

Datenwissenschaftler müssen das Trainingsskript und das Docker-Image einrichten, um Metriken an den MLflow Server zu senden.

1. Fügen Sie am Anfang Ihres Trainingsskripts die folgenden Zeilen hinzu.

   ```
   import mlflow
   
   # Set the Tracking Server URI using the ARN of the Tracking Server you created
   mlflow.set_tracking_uri(os.environ['MLFLOW_TRACKING_ARN'])
   # Enable autologging in MLflow
   mlflow.autolog()
   ```

1. Erstellen Sie ein Docker-Image mit dem Trainingsskript und übertragen Sie es auf Amazon ECR. Rufen Sie den ARN des ECR-Containers ab. Weitere Informationen zum Erstellen und Pushen eines Docker-Images finden Sie unter [Pushing a Docker-Image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) im *ECR-Benutzerhandbuch*.
**Tipp**  
Stellen Sie sicher, dass Sie die Installation der Pakete mlflow und sagemaker-mlflow zur Docker-Datei hinzufügen. Weitere Informationen zur Installation der Pakete, zu den Anforderungen und zu den kompatiblen Versionen der Pakete finden [Sie unter Installation MLflow und das SageMaker MLflow AI-Plug-In](https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-track-experiments.html#mlflow-track-experiments-install-plugin).

1. Fügen Sie in den Pods für Trainingsjobs ein Servicekonto hinzu, um ihnen Zugriff auf `hyperpod-mlflow-role` zu gewähren. Dadurch können Pods anrufen MLflow APIs. Führen Sie die folgende SageMaker HyperPod CLI-Vorlage für die Einreichung von Jobs aus. Erstellen Sie dies mit dem Dateinamen `mlflow-test.yaml`.

   ```
   defaults:
    - override hydra/job_logging: stdout
   
   hydra:
    run:
     dir: .
    output_subdir: null
   
   training_cfg:
    entry_script: ./train.py
    script_args: []
    run:
     name: test-job-with-mlflow # Current run name
     nodes: 2 # Number of nodes to use for current training
     # ntasks_per_node: 1 # Number of devices to use per node
   cluster:
    cluster_type: k8s # currently k8s only
    instance_type: ml.c5.2xlarge
    cluster_config:
     # name of service account associated with the namespace
     service_account_name: mlflow-service-account
     # persistent volume, usually used to mount FSx
     persistent_volume_claims: null
     namespace: kubeflow
     # required node affinity to select nodes with SageMaker HyperPod
     # labels and passed health check if burn-in enabled
     label_selector:
         required:
             sagemaker.amazonaws.com/node-health-status:
                 - Schedulable
         preferred:
             sagemaker.amazonaws.com/deep-health-check-status:
                 - Passed
         weights:
             - 100
     pullPolicy: IfNotPresent # policy to pull container, can be Always, IfNotPresent and Never
     restartPolicy: OnFailure # restart policy
   
   base_results_dir: ./result # Location to store the results, checkpoints and logs.
   container: 111122223333.dkr.ecr.us-west-2.amazonaws.com/tag # container to use
   
   env_vars:
    NCCL_DEBUG: INFO # Logging level for NCCL. Set to "INFO" for debug information
    MLFLOW_TRACKING_ARN: arn:aws:sagemaker:us-west-2:11112223333:mlflow-tracking-server/tracking-server-name
   ```

1. Starten Sie den Job mit der YAML-Datei wie folgt.

   ```
   hyperpod start-job --config-file /path/to/mlflow-test.yaml
   ```

1. Generieren Sie eine vorsignierte URL für den MLflow Tracking-Server. Sie können den Link in Ihrem Browser öffnen und damit beginnen, Ihren Trainingsjob zu verfolgen.

   ```
   aws sagemaker create-presigned-mlflow-tracking-server-url \                          
       --tracking-server-name "tracking-server-name" \
       --session-expiration-duration-in-seconds 1800 \
       --expires-in-seconds 300 \
       --region region
   ```

# Beobachtbarkeit von Clustern und Aufgaben
<a name="sagemaker-hyperpod-eks-cluster-observability-cluster"></a>

Es gibt zwei Optionen für die Überwachung SageMaker HyperPod von Clustern:

**Das SageMaker HyperPod Observability-Add-on** — SageMaker HyperPod bietet ein umfassendes out-of-the-box Dashboard, das Ihnen Einblicke in die Entwicklungsaufgaben und Clusterressourcen von Foundation Model (FM) bietet. Diese vereinheitlichte Observability-Lösung veröffentlicht automatisch wichtige Metriken in Amazon Managed Service für Prometheus und zeigt sie in Amazon-Managed Grafana-Dashboards an. Die Dashboards wurden speziell für die FM-Entwicklung optimiert und decken umfassende Informationen zum Zustand der Hardware, zur Ressourcennutzung und zur Leistung auf Aufgabenebene ab. Mit diesem Add-on können Sie Integritäts- und Leistungsdaten von NVIDIA DCGM, Kubernetes-Knotenexportern auf Instanzebene, Elastic Fabric Adapter, integrierten Dateisystemen, Kubernetes, APIs Kueue und Task-Operatoren konsolidieren. SageMaker HyperPod 

**Amazon CloudWatch Insights** — Amazon CloudWatch Insights sammelt Metriken für Rechenressourcen wie CPU, Arbeitsspeicher, Festplatte und Netzwerk. Container Insights bietet auch Diagnoseinformationen, wie z. B.Fehler beim Container-Neustart, damit Sie Probleme schnell aufdecken und beheben können. Sie können auch CloudWatch Alarme für Metriken einrichten, die Container Insights erfasst.

**Topics**
+ [SageMaker HyperPod Amazon-Beobachtbarkeit mit Amazon Managed Grafana und Amazon Managed Service für Prometheus](sagemaker-hyperpod-observability-addon.md)
+ [Beobachtbarkeit mit Amazon CloudWatch](sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci.md)

# SageMaker HyperPod Amazon-Beobachtbarkeit mit Amazon Managed Grafana und Amazon Managed Service für Prometheus
<a name="sagemaker-hyperpod-observability-addon"></a>

Amazon SageMaker HyperPod (SageMaker HyperPod) bietet ein umfassendes out-of-the-box Dashboard, das Ihnen Einblicke in die Entwicklungsaufgaben und Clusterressourcen von Foundation Model (FM) bietet. Diese vereinheitlichte Observability-Lösung veröffentlicht automatisch wichtige Metriken in Amazon Managed Service für Prometheus und zeigt sie in Amazon-Managed Grafana-Dashboards an. Die Dashboards wurden speziell für die FM-Entwicklung optimiert und decken umfassende Informationen zum Zustand der Hardware, zur Ressourcennutzung und zur Leistung auf Aufgabenebene ab. Mit diesem Add-on können Sie Integritäts- und Leistungsdaten von NVIDIA DCGM, Kubernetes-Node-Exportern auf Instanzebene, Elastic Fabric Adapter, integrierten Dateisystemen, Kubernetes, APIs Kueue und Task-Operatoren konsolidieren. SageMaker HyperPod 

## Unterstützung für eingeschränkte Instanzgruppen (RIG)
<a name="hyperpod-observability-addon-rig-support"></a>

Das Observability-Add-on unterstützt auch Cluster, die eingeschränkte Instanzgruppen enthalten. In RIG-Clustern passt das Add-on seine Bereitstellungsstrategie automatisch an, um die Netzwerkisolierung und die Sicherheitsbeschränkungen eingeschränkter Knoten zu erfüllen. DaemonSet Komponenten (Node Exporter, DCGM-Exporter, EFA Exporter, Neuron Monitor und Node Collector) laufen sowohl auf Standard- als auch auf eingeschränkten Knoten. Die Bereitstellungskomponenten (Central Collector, Kube State Metrics und Training Metrics Agent) werden mit grenzenbewusster Logik geplant, um die Netzwerkisolierung zwischen Instanzgruppen zu wahren. Die Erfassung von Container-Protokollen mit Fluent Bit ist auf eingeschränkten Knoten nicht verfügbar.

Informationen zur Einrichtung des Add-ons auf Clustern mit eingeschränkten Instanzgruppen finden Sie unter[Das SageMaker HyperPod Observability-Add-on einrichten](hyperpod-observability-addon-setup.md).

**Topics**
+ [Unterstützung für eingeschränkte Instanzgruppen (RIG)](#hyperpod-observability-addon-rig-support)
+ [Das SageMaker HyperPod Observability-Add-on einrichten](hyperpod-observability-addon-setup.md)
+ [SageMaker HyperPod Amazon-Observability-Dashboards](hyperpod-observability-addon-viewing-dashboards.md)
+ [Untersuchung von SageMaker HyperPod Cluster-Metriken in Amazon Managed Grafana](hyperpod-observability-addon-exploring-metrics.md)
+ [Anpassen von Dashboards und Warnmeldungen für SageMaker HyperPod Cluster-Metriken](hyperpod-observability-addon-customizing.md)
+ [Benutzerdefinierte Cluster-Metriken erstellen SageMaker HyperPod](hyperpod-observability-addon-custom-metrics.md)
+ [SageMaker HyperPod Cluster-Metriken](hyperpod-observability-cluster-metrics.md)
+ [Vorkonfigurierte Alarme](hyperpod-observability-addon-alerts.md)
+ [Fehlerbehebung beim Amazon SageMaker HyperPod Observability Add-on](hyperpod-observability-addon-troubleshooting.md)

# Das SageMaker HyperPod Observability-Add-on einrichten
<a name="hyperpod-observability-addon-setup"></a>

In der folgenden Liste werden die Voraussetzungen für die Einrichtung des Observability-Add-ons beschrieben.

Um Metriken für Ihren Amazon SageMaker HyperPod (SageMaker HyperPod) -Cluster an einen Amazon Managed Service for Prometheus-Workspace senden zu lassen und sie optional in Amazon Managed Grafana anzuzeigen, fügen Sie Ihrer Konsolenrolle zunächst die folgenden verwalteten Richtlinien und Berechtigungen hinzu.
+ Um Amazon Managed Grafana zu verwenden, aktivieren Sie AWS IAM Identity Center (IAM Identity Center) an einem Ort, an AWS-Region dem Amazon Managed Grafana verfügbar ist. Anweisungen finden Sie unter [Erste Schritte mit IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) im *AWS IAM Identity Center -Benutzerhandbuch*. Eine Liste, AWS-Regionen wo Amazon Managed Grafana verfügbar ist, finden Sie unter [Unterstützte Regionen](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html#AMG-supported-Regions) im *Amazon Managed Grafana-Benutzerhandbuch*.
+ Erstellen Sie mindestens einen Benutzer in IAM Identity Center.
+ Stellen Sie sicher, dass das [Amazon EKS Pod Identity Agent](https://docs.aws.amazon.com/eks/latest/userguide/workloads-add-ons-available-eks.html#add-ons-pod-id) Add-on in Ihrem Amazon EKS-Cluster installiert ist. Das Amazon EKS Pod Identity Agent-Add-on ermöglicht es dem SageMaker HyperPod Observability-Add-on, die Anmeldeinformationen für die Interaktion mit Amazon Managed Service for Prometheus und Logs abzurufen. CloudWatch Um zu überprüfen, ob Ihr Amazon EKS-Cluster über das Add-on verfügt, rufen Sie die Amazon EKS-Konsole auf und überprüfen Sie den Tab „**Add-Ons**“ Ihres Clusters. Informationen zur Installation des Add-ons, falls es nicht installiert ist, finden [Sie unter Add-on erstellen (AWS-Managementkonsole)](https://docs.aws.amazon.com/eks/latest/userguide/creating-an-add-on.html#_create_add_on_console) im *Amazon EKS-Benutzerhandbuch*.
**Anmerkung**  
Der Amazon EKS Pod Identity Agent ist für Standard-Instance-Gruppen erforderlich. Für eingeschränkte Instanzgruppen (RIG) ist der Pod Identity Agent aufgrund von Einschränkungen der Netzwerkisolierung nicht verfügbar. Die IAM-Rolle für die Ausführung der Instance-Gruppe des Clusters wird für die Interaktion mit Amazon Managed Service for Prometheus verwendet. Informationen zur Konfiguration dieser Rolle finden Sie unter. [Zusätzliche Voraussetzungen für eingeschränkte Instanzgruppen](#hyperpod-observability-addon-rig-prerequisites)
+ Stellen Sie sicher, dass Sie mindestens einen Knoten in Ihrem SageMaker HyperPod Cluster haben, bevor Sie das SageMaker HyperPod Observability-Add-on installieren. Der kleinste Instance-Typ von Amazon EC2, der in diesem Fall funktioniert, ist `4xlarge`. Diese Mindestanforderung an die Knotengröße stellt sicher, dass der Knoten alle Pods aufnehmen kann, die das SageMaker HyperPod Observability-Add-on zusammen mit allen anderen bereits laufenden Pods auf dem Cluster erstellt.
+ Fügen Sie Ihrer Rolle die folgenden Richtlinien und Berechtigungen hinzu.
  + [AWS verwaltete Richtlinie: AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md)
  + [AWS verwaltete Richtlinie: V2 AWSGrafana WorkspacePermissionManagement](https://docs.aws.amazon.com/grafana/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AWSGrafanaWorkspacePermissionManagementV2)
  + [AWS verwaltete Richtlinie: AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)
  + Zusätzliche Berechtigungen zum Einrichten der erforderlichen IAM-Rollen für den Add-On-Zugriff auf Amazon Managed Grafana und Amazon Elastic Kubernetes Service:

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "CreateRoleAccess",
                "Effect": "Allow",
                "Action": [
                    "iam:CreateRole",
                    "iam:CreatePolicy",
                    "iam:AttachRolePolicy",
                    "iam:ListRoles"
                ],
                "Resource": [
                    "arn:aws:iam::*:role/service-role/AmazonSageMakerHyperPodObservabilityGrafanaAccess*",
                    "arn:aws:iam::*:role/service-role/AmazonSageMakerHyperPodObservabilityAddonAccess*",
                    "arn:aws:iam::*:policy/service-role/HyperPodObservabilityAddonPolicy*",
                    "arn:aws:iam::*:policy/service-role/HyperPodObservabilityGrafanaPolicy*"
                ]
            }
        ]
    }
    ```

------
  + Zusätzliche Berechtigungen, die zur Verwaltung von IAM Identity Center-Benutzern für Amazon Managed Grafana erforderlich sind:

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "SSOAccess",
                "Effect": "Allow",
                "Action": [
                    "sso:ListProfileAssociations",
                    "sso-directory:SearchUsers",
                    "sso-directory:SearchGroups",
                    "sso:AssociateProfile",
                    "sso:DisassociateProfile"
                ],
                "Resource": [
                    "*"
                ]
            }
        ]
    }
    ```

------

## Zusätzliche Voraussetzungen für eingeschränkte Instanzgruppen
<a name="hyperpod-observability-addon-rig-prerequisites"></a>

Wenn Ihr Cluster eingeschränkte Instance-Gruppen enthält, muss die Ausführungsrolle für die Instance-Gruppe über Berechtigungen verfügen, um Metriken in Amazon Managed Service for Prometheus zu schreiben. Wenn Sie **Quick Setup** verwenden, um Ihren Cluster mit aktivierter Observability zu erstellen, werden diese Berechtigungen automatisch zur Ausführungsrolle hinzugefügt.

Wenn Sie das **benutzerdefinierte Setup** verwenden oder Observability zu einem vorhandenen RIG-Cluster hinzufügen, stellen Sie sicher, dass die Ausführungsrolle für jede eingeschränkte Instanzgruppe über die folgenden Berechtigungen verfügt:

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "PrometheusAccess",
            "Effect": "Allow",
            "Action": "aps:RemoteWrite",
            "Resource": "arn:aws:aps:us-east-1:account_id:workspace/workspace-ID"
        }
    ]
}
```

Ersetzen Sie *us-east-1**account\$1id*, und *workspace-ID* durch Ihre AWS-Region Konto-ID und die Workspace-ID von Amazon Managed Service for Prometheus.

Nachdem Sie sichergestellt haben, dass Sie die oben genannten Voraussetzungen erfüllt haben, können Sie das Observability-Add-on installieren.

**Um das Observability-Add-on schnell zu installieren**

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Gehen Sie zur Detailseite Ihres Clusters.

1. Suchen Sie auf der Registerkarte **Dashboard** das Add-on mit dem Namen **HyperPod Monitoring & Observability** und wählen Sie **Schnellinstallation** aus.

**Um eine benutzerdefinierte Installation des Observability-Add-ons durchzuführen**

1. Gehen Sie zur Detailseite Ihres Clusters.

1. Suchen Sie auf der Registerkarte **Dashboard** das Add-on mit dem Namen **HyperPod Monitoring & Observability** und wählen Sie **Benutzerdefinierte** Installation aus.

1. Geben Sie die Metrikkategorien an, die Sie einsehen möchten. Weitere Informationen zu diesen Metrikkategorien finden Sie unter [SageMaker HyperPod Cluster-Metriken](hyperpod-observability-cluster-metrics.md).

1. Geben Sie an, ob Sie Amazon CloudWatch Logs aktivieren möchten.

1. Geben Sie an, ob Sie möchten, dass der Service einen neuen Workspace in Amazon Managed Service für Prometheus erstellt.

1. Um die Metriken in Amazon Managed Grafana-Dashboards anzeigen zu können, aktivieren Sie das Kontrollkästchen **Verwenden Sie einen Amazon Managed Grafana-Arbeitsbereich**. Sie können Ihren eigenen Arbeitsbereich angeben oder den Service einen neuen für Sie erstellen lassen. 
**Anmerkung**  
Amazon Managed Grafana ist nicht in allen Ländern verfügbar, AWS-Regionen in denen Amazon Managed Service für Prometheus verfügbar ist. Sie können jedoch einen Grafana-Arbeitsbereich in einer beliebigen AWS-Region einrichten und ihn so konfigurieren, dass er Metrikdaten aus einem Prometheus-Workspace abruft, der sich in einer anderen AWS-Region befindet. Informationen finden Sie unter [AWS Datenquellenkonfiguration verwenden, um Amazon Managed Service für Prometheus als Datenquelle hinzuzufügen](https://docs.aws.amazon.com/grafana/latest/userguide/AMP-adding-AWS-config.html) und [Connect zu Amazon Managed Service für Prometheus und Open-Source-Prometheus-Datenquellen](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) herstellen. 

# SageMaker HyperPod Amazon-Observability-Dashboards
<a name="hyperpod-observability-addon-viewing-dashboards"></a>

In diesem Thema wird beschrieben, wie Sie Metrik-Dashboards für Ihre Amazon SageMaker HyperPod (SageMaker HyperPod) -Cluster anzeigen und wie Sie neue Benutzer zu einem Dashboard hinzufügen. Das Thema beschreibt auch die verschiedenen Arten von Dashboards.

## Zugreifen auf Dashboards
<a name="hyperpod-observability-addon-accessing-dashboards"></a>

Gehen Sie wie folgt vor, um die Metriken Ihres SageMaker HyperPod Clusters in Amazon Managed Grafana anzuzeigen:

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Gehen Sie zur Detailseite Ihres Clusters.

1. Suchen Sie auf der Registerkarte **Dashboard** den Abschnitt **HyperPod Observability** und wählen Sie **Dashboard in Grafana öffnen** aus.

## Hinzufügen neuer Benutzer zu einem Amazon Managed Grafana-Arbeitsbereich
<a name="hyperpod-observability-addon-adding-users"></a>

Informationen zum Hinzufügen von Benutzern zu einem Workspace in Amazon Managed Grafana-finden Sie unter [Verwenden von AWS IAM Identity Center mit Ihrem Workspace in Amazon Managed Grafana finden Sie im Benutzerhandbuch](https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG-SSO.html) von *Amazon Managed Grafana*.

## Beobachtbarkeits Dashboards
<a name="hyperpod-observability-addon-dashboards.title"></a>

Das SageMaker HyperPod Observability-Add-on bietet sechs miteinander verbundene Dashboards in Ihrem standardmäßigen Amazon Managed Grafana-Arbeitsbereich. Jedes Dashboard bietet detaillierte Einblicke in verschiedene Ressourcen und Aufgaben in den Clustern für verschiedene Benutzer wie Datenwissenschaftler, Ingenieure für maschinelles Lernen und Administratoren.

### Task-Dashboard
<a name="hyperpod-observability-addon-task-dashboard"></a>

Das Task-Dashboard bietet eine umfassende Überwachung und Visualisierung der Kennzahlen zur Ressourcennutzung für Aufgaben. SageMaker HyperPod Im Hauptfenster wird eine detaillierte Tabelle angezeigt, in der die Ressourcennutzung nach übergeordneten Aufgaben gruppiert ist und die CPU-, GPU- und Speicherauslastung in den einzelnen Pods angezeigt wird. Interaktive Zeitreihendiagramme verfolgen die CPU-Auslastung, den Systemspeicherverbrauch, die prozentuale GPU-Auslastung und die GPU-Speichernutzung für ausgewählte Pods, sodass Sie Leistungstrends im Zeitverlauf überwachen können. Das Dashboard bietet leistungsstarke Filterfunktionen anhand von Variablen wie Clustername, Namespace, Aufgabentyp und spezifischen Pods, sodass Sie ganz einfach detaillierte Informationen zu bestimmten Workloads abrufen können. Diese Überwachungslösung ist unverzichtbar für die Optimierung der Ressourcenzuweisung und die Aufrechterhaltung der Leistung von Workloads für maschinelles Lernen. SageMaker HyperPod

### Schulungs-Dashboard
<a name="hyperpod-observability-addon-training-dashboard"></a>

Das Schulungs-Dashboard bietet eine umfassende Überwachung des Zustands, der Zuverlässigkeit und des Fehlermanagements von Trainingsaufgaben. Das Dashboard bietet wichtige Leistungsindikatoren wie die Anzahl der erstellten Aufgaben, Erfolgsquoten und die prozentuale Verfügbarkeit sowie eine detaillierte Nachverfolgung von automatischen und manuellen Neustartereignissen. Es bietet detaillierte Visualisierungen von Fehlermustern anhand von Kreisdiagrammen und Heatmaps, die Vorfälle nach Art und Latenz aufschlüsseln, sodass Sie wiederkehrende Probleme identifizieren und die Zuverlässigkeit Ihrer Aufgaben optimieren können. Die Benutzeroberfläche ermöglicht die Echtzeitüberwachung kritischer Kennzahlen wie Systemwiederherstellungszeiten und Latenzen bei der Fehlererkennung und ist somit ein unverzichtbares Tool für die Aufrechterhaltung einer hohen Verfügbarkeit von Schulungs-Workloads. Darüber hinaus bietet das 24-Stunden-Trailing-Fenster des Dashboards einen historischen Kontext für die Analyse von Trends und Mustern bei der Ausführung von Trainingsaufgaben und unterstützt Teams dabei, potenzielle Probleme proaktiv anzugehen, bevor sie sich auf die Produktions-Workloads auswirken.

### Inferenz-Dashboard
<a name="hyperpod-observability-addon-inference-dashboard"></a>

Das Inferenz-Dashboard ermöglicht eine umfassende Überwachung der Leistungs- und Integritätskennzahlen für die Modellbereitstellung in mehreren Dimensionen. Es bietet einen detaillierten Überblick über aktive Implementierungen, eine Echtzeitüberwachung der Anforderungsraten, Erfolgsquoten und Latenzmetriken, sodass Sie die Leistung der Modellbereitstellung verfolgen und potenzielle Engpässe identifizieren können. Das Dashboard enthält spezielle Bereiche sowohl für allgemeine Inferenzmetriken als auch für tokenspezifische Metriken für Sprachmodelle, wie Time to First Token (TTFT) und Token-Durchsatz, was es besonders für die Überwachung umfangreicher Sprachmodellbereitstellungen nützlich macht. Darüber hinaus bietet es Einblicke in die Infrastruktur durch die Verfolgung der Pod- und Knotenzuweisung und bietet detaillierte Fehleranalysefunktionen, um die hohe Verfügbarkeit und Leistung von Inferenz-Workloads aufrechtzuerhalten.

### Cluster-Dashboard
<a name="hyperpod-observability-addon-cluster-dashboard"></a>

Das Cluster-Dashboard bietet einen umfassenden Überblick über den Zustand und die Leistung des Clusters und bietet Echtzeiteinblicke in die Rechen-, Speicher-, Netzwerk- und Speicherressourcen in Ihrer Amazon SageMaker HyperPod (SageMaker HyperPod) -Umgebung. Auf einen Blick können Sie wichtige Kennzahlen wie die Gesamtzahl der Instances, die GPU-Auslastung, die Speicherauslastung und die Netzwerkleistung über eine intuitive Oberfläche einsehen, die Daten automatisch alle paar Sekunden aktualisiert. Das Dashboard ist in logische Abschnitte gegliedert, beginnend mit einer allgemeinen Clusterübersicht, in der wichtige Kennzahlen wie der Prozentsatz intakter Instances und die Gesamtzahl der Ressourcen angezeigt werden, gefolgt von detaillierten Abschnitten zu GPU-Leistung, Speicherauslastung, Netzwerkstatistiken und Speichermetriken. Jeder Abschnitt enthält interaktive Diagramme und Felder, mit denen Sie bestimmte Metriken detailliert untersuchen können, mit anpassbaren Zeitbereichen und Filteroptionen nach Clusternamen, Instance oder GPU-ID.

### Dateisystem-Dashboard
<a name="hyperpod-observability-addon-filesystem-dashboard"></a>

Das Dateisystem-Dashboard bietet einen umfassenden Einblick in die Leistungs- und Integritätskennzahlen des Dateisystems (Amazon FSx for Lustre). Das Dashboard zeigt wichtige Speichermetriken wie freie Kapazität, Einsparungen bei der Deduplizierung, CPU/memory Auslastung, Festplatten-IOPS, Durchsatz und Client-Verbindungen in mehreren Visualisierungen an. Es ermöglicht Ihnen, sowohl Leistungsindikatoren auf Systemebene wie CPU- und Speicherauslastung als auch speicherspezifische Kennzahlen wie Betriebsabläufe und Festplattenauslastungsmuster zu überwachen. read/write Die Benutzeroberfläche bietet Funktionen zur Überwachung von Warnmeldungen und detaillierte Zeitreihendiagramme zur Verfolgung von Leistungstrends im Zeitverlauf und ist somit für die proaktive Wartung und Kapazitätsplanung von großem Nutzen. Darüber hinaus hilft das Dashboard durch seine umfassende Erfassung von Kennzahlen dabei, potenzielle Engpässe zu identifizieren, die Speicherleistung zu optimieren und einen zuverlässigen Dateisystembetrieb für Workloads sicherzustellen. SageMaker HyperPod 

### Dashboard für GPU-Partitionen
<a name="hyperpod-observability-addon-gpu-partition-dashboard"></a>

Um GPU-partitionsspezifische Metriken bei der Verwendung von Multi-Instance-GPU-Konfigurationen (MIG) zu überwachen, müssen Sie die neueste Version des Observability-Addons installieren oder ein Upgrade darauf durchführen. SageMaker HyperPod Dieses Addon bietet umfassende Überwachungsfunktionen, einschließlich MIG-spezifischer Metriken wie Partitionsanzahl, Speichernutzung und Rechenauslastung pro GPU-Partition.

Wenn Sie SageMaker HyperPod Observability bereits installiert haben, aber Unterstützung für MIG-Metriken benötigen, aktualisieren Sie das Addon einfach auf die neueste Version. Dieser Prozess ist unterbrechungsfrei und behält Ihre bestehende Monitoring-Konfiguration bei.

SageMaker HyperPod macht automatisch MIG-spezifische Metriken verfügbar, darunter:
+ `nvidia_mig_instance_count`: Anzahl der MIG-Instanzen pro Profil
+ `nvidia_mig_memory_usage`: Speicherauslastung pro MIG-Instanz
+ `nvidia_mig_compute_utilization`: Rechenauslastung pro MIG-Instanz

### Dashboard mit Cluster-Protokollen
<a name="hyperpod-observability-addon-cluster-logs-dashboard"></a>

Das Clusterprotokoll-Dashboard bietet eine zentrale Ansicht der CloudWatch Protokolle für Ihren SageMaker HyperPod Cluster. Das Dashboard fragt die `/aws/sagemaker/Clusters/{cluster-name}/{cluster-id}` Protokollgruppe ab und zeigt Protokollereignisse mit Filterfunktionen nach Instanz-ID, Protokollstreamname, Protokollebene (ERROR, WARN, INFO, DEBUG) und Freitextsuche an. Das Dashboard umfasst eine Ereigniszeitleiste, die die Verteilung der Protokollereignisse im Laufe der Zeit anzeigt, einen Zähler für die Gesamtzahl der Ereignisse, eine Zeitleiste für durchsuchte Ereignisse für gefilterte Ergebnisse und ein detailliertes Protokollfenster mit vollständigen Protokollnachrichten, Zeitstempeln und Logstream-Metadaten. Dieses Dashboard verwendet CloudWatch als Datenquelle und ist nützlich für das Debuggen von Clusterproblemen, die Überwachung von Instanzzustandsereignissen und die Untersuchung fehlgeschlagener Trainingsaufgaben.

# Untersuchung von SageMaker HyperPod Cluster-Metriken in Amazon Managed Grafana
<a name="hyperpod-observability-addon-exploring-metrics"></a>

Nachdem Sie Amazon Managed Grafana mit Ihrem Amazon Managed Service for Prometheus-Workspace verbunden haben, können Sie den Abfrage-Editor und die Visualisierungstools von Grafana verwenden, um Ihre Metrikdaten zu untersuchen. Amazon Managed Grafana bietet mehrere Möglichkeiten, mit Prometheus-Daten zu interagieren, darunter einen umfassenden Abfrage-Editor zum Erstellen von PromQL-Ausdrücken, einen Metrikbrowser zum Auffinden verfügbarer Metriken und Labels sowie Vorlagenfunktionen für die Erstellung dynamischer Dashboards. Sie können Bereichsabfragen durchführen, um Zeitreihendaten über Zeiträume hinweg zu visualisieren, und Sofortabfragen, um die neuesten Werte abzurufen, mit Optionen zum Formatieren von Ergebnissen als Zeitreihendiagramme, Tabellen oder Heatmaps. Ausführliche Informationen zur Konfiguration von Abfrageeinstellungen, zur Verwendung des Metrik-Browsers und zur Nutzung von Vorlagenfunktionen finden Sie unter [Verwenden der Prometheus-Datenquelle](https://docs.aws.amazon.com/grafana/latest/userguide/using-prometheus-datasource.html).

# Anpassen von Dashboards und Warnmeldungen für SageMaker HyperPod Cluster-Metriken
<a name="hyperpod-observability-addon-customizing"></a>

Amazon Managed Grafana ermöglicht es Ihnen, umfassende Dashboards zu erstellen, die Ihre Daten anhand von Panels visualisieren, die Abfragen enthalten, die mit Ihren Datenquellen verknüpft sind. Sie können Dashboards von Grund auf neu erstellen, vorhandene importieren oder Ihre Kreationen zum Teilen und Sichern exportieren. Grafana-Dashboards unterstützen dynamische Funktionen durch Variablen, die hartcodierte Werte in Abfragen ersetzen, wodurch Ihre Visualisierungen flexibler und interaktiver werden. Sie können Ihre Dashboards auch mit Funktionen wie Anmerkungen, Bibliotheksfenstern zur Wiederverwendbarkeit, Verwaltung des Versionsverlaufs und benutzerdefinierten Links erweitern, um eine vollständige Überwachungs- und Beobachtbarkeitslösung zu erstellen. step-by-stepAnleitungen zum Erstellen, Importieren, Konfigurieren und Verwalten von Dashboards finden Sie unter Dashboards [erstellen](https://docs.aws.amazon.com/grafana/latest/userguide/v10-dash-building-dashboards.html).

# Benutzerdefinierte Cluster-Metriken erstellen SageMaker HyperPod
<a name="hyperpod-observability-addon-custom-metrics"></a>

Das Amazon SageMaker HyperPod (SageMaker HyperPod) Observability-Add-on bietet Hunderte von Gesundheits-, Leistungs- und Effizienzkennzahlen out-of-the-box. Zusätzlich zu diesen Metriken müssen Sie möglicherweise benutzerdefinierte Metriken überwachen, die für Ihre Anwendungen oder Geschäftsanforderungen spezifisch sind und nicht von den Standardmetriken erfasst werden, wie beispielsweise modellspezifische Leistungsindikatoren, Datenverarbeitungsstatistiken oder anwendungsspezifische Messungen. Um diesem Bedarf gerecht zu werden, können Sie die Erfassung benutzerdefinierter Metriken implementieren, OpenTelemetry indem Sie einen Python-Codeausschnitt in Ihre Anwendung integrieren.

Um benutzerdefinierte Metriken zu erstellen, führen Sie zunächst den folgenden Shell-Befehl aus, um die OpenTelemetry Kernkomponenten zu installieren, die für die Instrumentierung von Python-Anwendungen für Observability erforderlich sind. Diese Installation ermöglicht es Python-Anwendungen, die auf SageMaker HyperPod Clustern ausgeführt werden, benutzerdefinierte Telemetriedaten auszugeben. Diese Daten werden vom OpenTelemetry Collector gesammelt und an die Observability-Infrastruktur weitergeleitet.

```
pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-grpc
```

Das folgende Beispielskript konfiguriert eine OpenTelemetry Metrik-Pipeline, die Metriken automatisch mit Pod- und Knoteninformationen kennzeichnet, um eine korrekte Zuordnung innerhalb Ihres Clusters sicherzustellen, und diese Metriken jede Sekunde an den SageMaker HyperPod integrierten Observability-Stack sendet. Das Skript stellt eine Verbindung zum SageMaker HyperPod Metrik-Collector her, richtet entsprechende Ressourcenattribute zur Identifizierung ein und bietet eine Meterschnittstelle, über die Sie verschiedene Arten von Metriken (Zähler, Messgeräte oder Histogramme) erstellen können, um jeden Aspekt der Leistung Ihrer Anwendung zu verfolgen. Benutzerdefinierte Messwerte lassen sich zusammen mit Systemmetriken in die SageMaker HyperPod Monitoring-Dashboards integrieren. Diese Integration ermöglicht eine umfassende Beobachtbarkeit über eine einzige Oberfläche, über die Sie benutzerdefinierte Benachrichtigungen, Visualisierungen und Berichte erstellen können, um das vollständige Leistungsprofil Ihres Workloads zu überwachen.

```
import os
from opentelemetry import metrics
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.sdk.resources import Resource

# Get hostname/pod name
hostname = os.uname()[1]
node_name = os.getenv('NODE_NAME', 'unknown')

collector_endpoint = "hyperpod-otel-collector.hyperpod-observability:4317"

# Configure the OTLP exporter
exporter = OTLPMetricExporter(
    endpoint=collector_endpoint,
    insecure=True,
    timeout=5000  # 5 seconds timeout
)

reader = PeriodicExportingMetricReader(
    exporter,
    export_interval_millis=1000
)

resource = Resource.create({
    "service.name": "metric-test",
    "pod.name": hostname,
    "node.name": node_name
})

meter_provider = MeterProvider(
    metric_readers=[reader],
    resource=resource
)
metrics.set_meter_provider(meter_provider)

# Create a meter
meter = metrics.get_meter("test-meter")

# Create a counter
counter = meter.create_counter(
    name="test.counter",
    description="A test counter"
)

counter.add(1, {"pod": hostname, "node": node_name})
```

# SageMaker HyperPod Cluster-Metriken
<a name="hyperpod-observability-cluster-metrics"></a>

Amazon SageMaker HyperPod (SageMaker HyperPod) veröffentlicht verschiedene Kennzahlen in 9 verschiedenen Kategorien in Ihrem Amazon Managed Service for Prometheus-Workspace. Nicht alle Metriken sind standardmäßig aktiviert oder werden in Ihrem Workspace in Amazon Managed Grafana angezeigt. Die folgende Tabelle zeigt, welche Metriken standardmäßig aktiviert sind, wenn Sie das Observability-Add-on installieren, welche Kategorien zusätzliche Metriken haben, die für detailliertere Clusterinformationen aktiviert werden können, und wo sie im Amazon Managed Grafana-Arbeitsbereich angezeigt werden.


| Metrik-Kategorie | Standardmäßig aktiviert? | Zusätzliche erweiterte Metriken verfügbar? | Verfügbar unter welchen Grafana-Dashboards? | 
| --- | --- | --- | --- | 
| Trainingsmetriken | Ja | Ja | Training | 
| Inferenzmetriken | Ja | Nein | Inferenz | 
| Kennzahlen zur Aufgaben-Governance | Nein | Ja | Keine. Fragen Sie Ihren Workspace in Amazon Managed Service für Prometheus ab, um Ihr eigenes Dashboard zu erstellen. | 
| Skalierungsmetriken | Nein | Ja | Keine. Fragen Sie Ihren Workspace in Amazon Managed Service für Prometheus ab, um Ihr eigenes Dashboard zu erstellen. | 
| Cluster-Metriken | Ja | Ja | Cluster | 
| Instance-Metriken | Ja | Ja | Cluster | 
| Beschleunigte Rechenmetriken | Ja | Ja | Aufgabe, Cluster | 
| Netzwerkmetriken | Nein | Ja | Cluster | 
| Dateisystem | Ja | Nein | Dateisystem | 

In den folgenden Tabellen werden die Metriken beschrieben, die für die Überwachung Ihres SageMaker HyperPod Clusters verfügbar sind, geordnet nach Kategorien.

## Verfügbarkeit von Metriken für eingeschränkte Instanzgruppen
<a name="hyperpod-observability-rig-metrics-availability"></a>

Wenn Ihr Cluster eingeschränkte Instanzgruppen enthält, sind die meisten Metrikkategorien auf eingeschränkten Knoten verfügbar, mit den folgenden Ausnahmen und Überlegungen. Sie können auch Benachrichtigungen für jede Metrik Ihrer Wahl einrichten.


| Metrik-Kategorie | Auf RIG-Knoten verfügbar? | Hinweise | 
| --- | --- | --- | 
| Trainingsmetriken | Ja | Kubeflow- und Kubernetes-Pod-Metriken werden gesammelt. KPI-Metriken für fortgeschrittene Schulungen (vom Training Metrics Agent) sind auf den RIG-Knoten nicht verfügbar. | 
| Inferenzmetriken | Nein | Inferenz-Workloads werden in eingeschränkten Instanzgruppen nicht unterstützt. | 
| Kennzahlen zur Aufgaben-Governance | Nein | Warteschlangenmetriken werden nur von den Standardknoten erfasst, sofern vorhanden. | 
| Skalierungsmetriken | Nein | KEDA-Metriken werden nur von den Standardknoten erfasst, sofern vorhanden. | 
| Cluster-Metriken | Ja | Kube State Metrics und API-Server-Metriken sind verfügbar. Kube State Metrics wird bevorzugt auf Standardknoten geplant, kann aber auch auf eingeschränkten Knoten in reinen RIG-Clustern ausgeführt werden. | 
| Instance-Metriken | Ja | Node Exporter- und CADvisor-Metriken werden auf allen Knoten gesammelt, auch auf eingeschränkten Knoten. | 
| Beschleunigte Rechenmetriken | Ja | DCGM Exporter läuft auf GPU-fähigen eingeschränkten Knoten. Neuron Monitor läuft auf NEURON-fähigen eingeschränkten Knoten, wenn der erweiterte Modus aktiviert ist. | 
| Netzwerkmetriken | Ja | EFA Exporter läuft auf EFA-fähigen eingeschränkten Knoten, wenn der erweiterte Modus aktiviert ist. | 
| Metriken für das Dateisystem | Ja | FSx für Lustre werden Metriken zur Cluster-Auslastung auf eingeschränkten Instanzgruppen unterstützt. | 

**Anmerkung**  
Die Erfassung von Container-Protokollen mit Fluent Bit wird auf eingeschränkten Knoten nicht bereitgestellt. Clusterprotokolle von eingeschränkten Knoten sind unabhängig vom SageMaker HyperPod Observability-Add-on über die Plattform verfügbar. Sie können diese Protokolle im Clusterprotokoll-Dashboard einsehen.

## Trainingsmetriken
<a name="hyperpod-observability-training-metrics"></a>

Verwenden Sie diese Metriken, um die Leistung der auf dem SageMaker HyperPod Cluster ausgeführten Trainingsaufgaben zu verfolgen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| Kubeflow-Metriken | [https://github.com/kubeflow/Trainer](https://github.com/kubeflow/trainer) | Ja | Kubeflow | 
| Kubernetes-Pod-Metriken | [https://github.com/kubernetes/kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) | Ja | Kubernetes | 
| training\$1uptime\$1percentage | Prozentualer Anteil der Trainingszeit an der Gesamtfenstergröße | Nein | SageMaker HyperPod Schulung des Bedieners | 
| training\$1manual\$1recovery\$1count | Gesamtzahl der während des Jobs durchgeführten manuellen Neustarts | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1manual\$1downtime\$1ms | Gesamtzeit in Millisekunden, in der der Job aufgrund manueller Eingriffe ausgefallen war | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1auto\$1recovery\$1count | Gesamtzahl der automatischen Wiederherstellungen | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1auto\$1recovery\$1downtime | Gesamter Infrastruktur-Overhead in Millisekunden während der Fehlerbehebung | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1fault\$1count | Gesamtzahl der während des Trainings aufgetretenen Fehler | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1fault\$1type\$1count | Verteilung der Fehler nach Typ | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1fault\$1recovery\$1time\$1ms | Wiederherstellungszeit in Millisekunden für jeden Fehlertyp | Nein | SageMaker HyperPod ausbildender Betreiber | 
| training\$1time\$1ms | Gesamtzeit in Millisekunden, die für das tatsächliche Training aufgewendet wurde | Nein | SageMaker HyperPod ausbildender Betreiber | 

## Inferenzmetriken
<a name="hyperpod-observability-inference-metrics"></a>

Verwenden Sie diese Metriken, um die Leistung von Inferenzaufgaben auf dem SageMaker HyperPod Cluster zu verfolgen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| model\$1invocations\$1total | Gesamtzahl der Aufruf-Anforderungen an das Modell | Ja | SageMaker HyperPod Inferenzoperator | 
| model\$1errors\$1total | Gesamtzahl der Fehler beim Modellaufruf | Ja | SageMaker HyperPod Inferenzoperator | 
| model\$1concurrent\$1requests | Aktive gleichzeitige Modellanfragen | Ja | SageMaker HyperPod Inferenzoperator | 
| model\$1latency\$1milliseconds | Modellieren einer Latenz für Aufrufe in Millisekunden | Ja | SageMaker HyperPod Inferenzoperator | 
| model\$1ttfb\$1milliseconds | Modellieren Sie die Latenz von der Zeit bis zum ersten Byte in Millisekunden | Ja | SageMaker HyperPod Inferenzoperator | 
| TGI | Diese Metriken können verwendet werden, um die Leistung von TGI zu überwachen, die Bereitstellung automatisch zu skalieren und um Engpässe zu identifizieren. Eine detaillierte Liste der Metriken finden Sie unter [https://github.com/deepjavalibrary/djl- serving/blob/master/prometheus/README .md](https://github.com/deepjavalibrary/djl-serving/blob/master/prometheus/README.md). | Ja | Modellcontainer | 
| LMI | Diese Metriken können verwendet werden, um die Leistung von LMI zu überwachen und Engpässe zu identifizieren. Eine detaillierte Liste der Metriken finden Sie unter [https://github.com/deepjavalibrary/djl](https://github.com/deepjavalibrary/djl-serving/blob/master/prometheus/README.md) - .md. serving/blob/master/prometheus/README | Ja | Modellcontainer | 

## Kennzahlen zur Aufgaben-Governance
<a name="hyperpod-observability-task-governance-metrics"></a>

Verwenden Sie diese Metriken, um die Aufgabenverwaltung und die Ressourcenzuweisung auf dem SageMaker HyperPod Cluster zu überwachen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| Warteschlange | Weitere Informationen finden Sie [unter https://kueue.sigs.k8s. io/docs/reference/metrics](https://kueue.sigs.k8s.io/docs/reference/metrics/)/. | Nein | Warteschlange | 

## Skalierungsmetriken
<a name="hyperpod-observability-scaling-metrics"></a>

Verwenden Sie diese Metriken, um das Verhalten und die Leistung der auto-scaling auf dem SageMaker HyperPod Cluster zu überwachen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| KEDA-Operator-Metriken | Weitere Informationen finden Sie unter [https://keda. sh/docs/2.17/integrations/prometheus/\$1operator](https://keda.sh/docs/2.17/integrations/prometheus/#operator). | Nein | Kubernetes Event-Driven Autoscaler (KEDA) | 
| KEDA-Webhook-Metriken | Siehe [https://keda. sh/docs/2.17/integrations/prometheus/\$1admission -webhooks](https://keda.sh/docs/2.17/integrations/prometheus/#admission-webhooks). | Nein | Kubernetes Event-Driven Autoscaler (KEDA) | 
| KEDA-Metrik-Server Metriken | [Siehe https://keda. sh/docs/2.17/integrations/prometheus/\$1metrics -server](https://keda.sh/docs/2.17/integrations/prometheus/#metrics-server). | Nein | Kubernetes Event-Driven Autoscaler (KEDA) | 

## Cluster-Metriken
<a name="hyperpod-observability-cluster-health-metrics"></a>

Verwenden Sie diese Metriken, um den Gesamtzustand des Clusters und die Ressourcenzuweisung zu überwachen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| Cluster-Zustand | Metriken für Kubernetes-API-Server. Weitere Informationen finden Sie unter [https://kubernetes. io/docs/reference/instrumentation/metrics](https://kubernetes.io/docs/reference/instrumentation/metrics/)/. | Ja | Kubernetes | 
| Kubestate | Siehe [https://github.com/kubernetes/kube-state-metrics/tree/main/docs\$1default -resources](https://github.com/kubernetes/kube-state-metrics/tree/main/docs#default-resources). | Begrenzt | Kubernetes | 
| KubeState Fortgeschritten | Siehe [https://github.com/kubernetes/kube-state-metrics/tree/main/docs\$1optional -resources](https://github.com/kubernetes/kube-state-metrics/tree/main/docs#optional-resources). | Nein | Kubernetes | 

## Instance-Metriken
<a name="hyperpod-observability-instance-metrics"></a>

Verwenden Sie diese Metriken, um die Leistung und den Zustand einzelner Instances zu überwachen.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| Knoten-Metriken | [Siehe node\$1exporter? https://github.com/prometheus/ tab= \$1. readme-ov-file enabled-by-default](https://github.com/prometheus/node_exporter?tab=readme-ov-file#enabled-by-default) | Ja | Kubernetes | 
| Containermetriken | Von Cadvisor veröffentlichte Container-Metriken. [Siehe cadvisorhttps://github.com/google/.](https://github.com/google/cadvisor) | Ja | Kubernetes | 

## Beschleunigte Rechenmetriken
<a name="hyperpod-observability-accelerated-compute-metrics"></a>

Verwenden Sie diese Metriken, um die Leistung, den Zustand und die Auslastung einzelner Accelerated Computing-Geräte in Ihrem Cluster zu überwachen.

**Anmerkung**  
Wenn die GPU-Partitionierung mit MIG (Multi-Instance-GPU) auf Ihrem Cluster aktiviert ist, bieten DCGM-Metriken automatisch Granularität auf Partitionsebene für die Überwachung einzelner MIG-Instanzen. Jede MIG-Partition wird als separates GPU-Gerät mit eigenen Messwerten für Temperatur, Leistung, Speicherauslastung und Rechenaktivität bereitgestellt. Auf diese Weise können Sie die Ressourcennutzung und den Zustand der Ressourcen für jede GPU-Partition unabhängig verfolgen und so eine präzise Überwachung der Workloads ermöglichen, die auf fraktionierten GPU-Ressourcen ausgeführt werden. Weitere Informationen zur Konfiguration der GPU-Partitionierung finden Sie unter. [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md)


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| NVIDIA-GPU | DCGM-Metriken. Siehe [https://github.com/NVIDIA/dcgm--metrics-included.csv. exporter/blob/main/etc/dcp](https://github.com/NVIDIA/dcgm-exporter/blob/main/etc/dcp-metrics-included.csv) | Begrenzt |  NVIDIA-GPU-Manager für Rechenzentren (DCGM)  | 
|  NVIDIA-GPU (fortgeschritten)  | DCGM-Metriken, die in der folgenden CSV-Datei auskommentiert sind:[https://github.com/NVIDIA/dcgm--metrics-included.csv exporter/blob/main/etc/dcp](https://github.com/NVIDIA/dcgm-exporter/blob/main/etc/dcp-metrics-included.csv) | Nein |  NVIDIA-GPU-Manager für Rechenzentren (DCGM)  | 
| AWS Trainium | Neuronenmetriken. Siehe [https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron- .html\$1 monitor-user-guide](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-monitor-user-guide.html#neuron-monitor-nc-counters). neuron-monitor-nc-counters | Nein | AWS Neuronenmonitor | 

## Netzwerkmetriken
<a name="hyperpod-observability-network-metrics"></a>

Verwenden Sie diese Metriken für die Überwachung der Leistung und des Zustands der Elastic Fabric Adapter (EFA) in Ihrem Cluster.


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| EFA | Siehe [https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation\$1and\$1observability/3.efa-node-exporter/README.md.](https://github.com/aws-samples/awsome-distributed-training/blob/main/4.validation_and_observability/3.efa-node-exporter/README.md) | Nein | Elastic Fabric Adapter | 

## Metriken für das Dateisystem
<a name="hyperpod-observability-file-system-metrics"></a>


| Metrikname oder -typ | Description | Standardmäßig aktiviert? | Quelle der Metrik | 
| --- | --- | --- | --- | 
| Dateisystem | Amazon FSx for Lustre-Metriken von Amazon CloudWatch:[Überwachung mit Amazon CloudWatch](https://docs.aws.amazon.com/fsx/latest/LustreGuide/monitoring-cloudwatch.html). | Ja | Amazon FSx für Lustre | 

# Vorkonfigurierte Alarme
<a name="hyperpod-observability-addon-alerts"></a>

Das Amazon SageMaker HyperPod (SageMaker HyperPod) Observability-Add-on aktiviert Standardwarnungen für Ihren Cluster und Ihre Workloads, um Sie zu benachrichtigen, wenn das System allgemeine Frühindikatoren für eine unzureichende Cluster-Leistung erkennt. Diese Benachrichtigungen werden im integrierten Warnsystem von Amazon Managed Grafana definiert. Informationen darüber, wie Sie diese vorkonfigurierten Benachrichtigungen ändern oder neue erstellen können, finden Sie unter [Alerts in Grafana Version 10](https://docs.aws.amazon.com/grafana/latest/userguide/v10-alerts.html) im * Benutzerhandbuch für Amazon Managed Grafana*. Die folgende YAML zeigt die Standardwarnungen.

```
groups:
- name: sagemaker_hyperpod_alerts
  rules:
  # GPU_TEMP_ABOVE_80C
  - alert: GPUHighTemperature
    expr: DCGM_FI_DEV_GPU_TEMP > 80
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "GPU Temperature Above 80C"
      description: "GPU {{ $labels.gpu }} temperature is {{ $value }}°C."

  # GPU_TEMP_ABOVE_85C  
  - alert: GPUCriticalTemperature  
    expr: DCGM_FI_DEV_GPU_TEMP > 85
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "GPU Temperature Above 85C"
      description: "GPU {{ $labels.gpu }} temperature is {{ $value }}°C."

  # GPU_MEMORY_ERROR
  # Any ECC double-bit errors indicate serious memory issues requiring immediate attention
  - alert: GPUMemoryErrorDetected
    expr: DCGM_FI_DEV_ECC_DBE_VOL_TOTAL > 0 or DCGM_FI_DEV_ECC_DBE_AGG_TOTAL > DCGM_FI_DEV_ECC_DBE_AGG_TOTAL offset 5m
    labels:
      severity: critical
    annotations:
      summary: "GPU ECC Double-Bit Error Detected"
      description: "GPU {{ $labels.gpu }} has detected ECC double-bit errors."

  # GPU_POWER_WARNING
  # Sustained power limit violations can impact performance and stability
  - alert: GPUPowerViolation
    expr: DCGM_FI_DEV_POWER_VIOLATION > 100
    for: 5m
    labels:
      severity: warning  
    annotations:
      summary: "GPU Power Violation"
      description: "GPU {{ $labels.gpu }} has been operating at power limit for extended period."

  # GPU_NVLINK_ERROR
  # NVLink errors above threshold indicate interconnect stability issues
  - alert: NVLinkErrorsDetected
    expr: DCGM_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL > 0 or DCGM_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL > 10
    labels:
      severity: warning
    annotations:
      summary: "NVLink Errors Detected" 
      description: "GPU {{ $labels.gpu }} has detected NVLink errors."

  # GPU_THERMAL_VIOLATION  
  # Immediate alert on thermal violations to prevent hardware damage
  - alert: GPUThermalViolation
    expr: increase(DCGM_FI_DEV_THERMAL_VIOLATION[5m]) > 0
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "GPU Thermal Violation Detected"
      description: "GPU {{ $labels.gpu }} has thermal violations on node {{ $labels.Hostname }}"

  # GPU_XID_ERROR
  # XID errors indicate driver or hardware level GPU issues requiring investigation
  - alert: GPUXidError
    expr: DCGM_FI_DEV_XID_ERRORS > 0
    for: 0m
    labels:
      severity: critical
    annotations:
      summary: "GPU XID Error Detected"
      description: "GPU {{ $labels.gpu }} experienced XID error {{ $value }} on node {{ $labels.Hostname }}"

  # MIG_CONFIG_FAILURE
  # MIG configuration failures indicate issues with GPU partitioning setup
  - alert: MIGConfigFailure
    expr: kubelet_node_name{nvidia_com_mig_config_state="failed"} > 0
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "MIG Configuration Failed"
      description: "MIG configuration failed on node {{ $labels.instance }}"

  # DISK_SPACE_WARNING
  # 90% threshold ensures time to respond before complete disk exhaustion
  - alert: NodeDiskSpaceWarning
    expr: (node_filesystem_size_bytes - node_filesystem_free_bytes) / node_filesystem_size_bytes * 100 > 90
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "High Disk Usage"
      description: "Node {{ $labels.instance }} disk usage is above 90%"

  # FSX_STORAGE_WARNING
  # 80% FSx utilization allows buffer for burst workloads
  - alert: FsxLustreStorageWarning
    expr: fsx_lustre_storage_used_bytes / fsx_lustre_storage_capacity_bytes * 100 > 80
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "High FSx Lustre Usage"
      description: "FSx Lustre storage usage is above 80% on file system {{ $labels.filesystem_id }}"
```

# Fehlerbehebung beim Amazon SageMaker HyperPod Observability Add-on
<a name="hyperpod-observability-addon-troubleshooting"></a>

Verwenden Sie die folgenden Anleitungen, um häufig auftretende Probleme mit dem Amazon SageMaker HyperPod (SageMaker HyperPod) Observability-Add-on zu lösen.

## Behebung fehlender Metriken in Amazon Managed Grafana
<a name="troubleshooting-missing-metrics"></a>

Wenn Metriken nicht in Ihren Amazon Managed Grafana-Dashboards angezeigt werden, führen Sie die folgenden Schritte aus, um das Problem zu identifizieren und zu lösen.

### Überprüfen Sie die Verbindung zwischen Amazon Managed Service für Prometheus und Amazon Managed Grafana
<a name="verify-amp-grafana-connection"></a>

1. Melden Sie sich bei der Amazon Managed Grafana-Konsole an.

1. Wählen Sie im linken Bereich **Alle Arbeitsbereiche** aus.

1. Wählen Sie in der Tabelle **WorkBereiche** Ihren Workspace aus.

1. Wählen Sie auf der Detailseite des Workspace den Tab **Datenquellen aus**.

1. Stellen Sie sicher, dass die Datenquelle von Amazon Managed Service für Prometheus vorhanden ist.

1. Überprüfen Sie die Verbindungseinstellungen:
   + Vergewissern Sie sich, dass die Endpunkt-URL korrekt ist.
   + Stellen Sie sicher, dass die IAM-Authentifizierung ordnungsgemäß konfiguriert ist.
   + Wählen Sie **Test connection (Verbindung testen)** aus. Stellen Sie sicher, dass der Status „**Datenquelle funktioniert“ lautet**.

### Überprüfen Sie den Amazon-EKS-Add-on-Status
<a name="verify-eks-addon-status"></a>

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie die Registerkarte **Add-ons**.

1. **Vergewissern Sie sich, dass das SageMaker HyperPod Observability-Add-on aufgeführt ist und dass sein Status AKTIV ist.**

1. Wenn der Status nicht **ACTIVE** ist, siehe [Behebung von Fehlern bei der Installation von Add-ons](#troubleshooting-addon-installation-failures).

### Überprüfen Sie die Pod-Identity-Zuordnung
<a name="verify-pod-identity-association"></a>

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie auf der Seite mit den Cluster-Details die Registerkarte **Zugriff**.

1. Wählen Sie in der Tabelle mit den **Pod-Identity-Zuordnungen** die Zuordnung aus, die die folgenden Eigenschaftswerte hat:
   + **Namespace:** `hyperpod-observability`
   + **Servicekonto**: `hyperpod-observability-operator-otel-collector`
   + **Add-on**: `amazon-sagemaker-hyperpod-observability`

1. Stellen Sie sicher, dass die IAM-Rolle, die dieser Zuordnung zugeordnet ist, über die folgenden Berechtigungen verfügt.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PrometheusAccess",
               "Effect": "Allow",
               "Action": "aps:RemoteWrite",
               "Resource": "arn:aws:aps:us-east-1:111122223333:workspace/workspace-ID"
           },
           {
               "Sid": "CloudwatchLogsAccess",
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams",
                   "logs:PutLogEvents",
                   "logs:GetLogEvents",
                   "logs:FilterLogEvents",
                   "logs:GetLogRecord",
                   "logs:StartQuery",
                   "logs:StopQuery",
                   "logs:GetQueryResults"
               ],
               "Resource": [
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*",
                   "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*:log-stream:*"
               ]
           }
       ]
   }
   ```

------

1. Stellen Sie sicher, dass für die IAM-Rolle, die dieser Zuordnung zugeordnet ist, die folgende Vertrauensrichtlinie definiert ist. Stellen Sie sicher, dass der Quell-ARN und das Quellkonto korrekt sind.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowEksAuthToAssumeRoleForPodIdentity",
               "Effect": "Allow",
               "Principal": {
                   "Service": "pods.eks.amazonaws.com"
               },
               "Action": [
                   "sts:AssumeRole",
                   "sts:TagSession"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:SourceArn": "arn:aws:eks:us-east-1:111122223333:cluster/cluster-name",
                       "aws:SourceAccount": "111122223333"
                   }
               }
           }
       ]
   }
   ```

------

### Überprüfen Sie die Drosselung von Prometheus bei Amazon Managed Service
<a name="check-amp-throttling"></a>

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Service Quotas Quotas-Konsole unter [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/).

1. Suchen Sie im Feld **Verwaltete Kontingente** nach Amazon Managed Service for Prometheus und wählen Sie es aus.

1. Wählen Sie das Kontingent der **Active-Serie pro Workspace** aus.

1. Wählen Sie auf der Registerkarte **Kontingente auf Ressourcenebene** Ihren Workspace in Amazon Managed Service für Prometheus aus.

1. Stellen Sie sicher, dass die Auslastung unter Ihrem aktuellen Kontingent liegt.

1. Wenn du das Kontingentlimit erreicht hast, wähle deinen Workspace aus, indem du das Optionsfeld links davon auswählst und dann **Erhöhung auf Ressourcenebene beantragen** auswählst.

### Stellen Sie sicher, dass KV-Caching und intelligentes Routing aktiviert sind
<a name="verify-caching-routing"></a>

Wenn das `KVCache Metrics` Dashboard fehlt, ist die Funktion entweder nicht aktiviert oder der Port wird in der `modelMetrics` nicht erwähnt. Weitere Informationen zur Aktivierung finden Sie in den Schritten 1 und 3 unter[Konfigurieren Sie KV-Caching und intelligentes Routing für eine verbesserte Leistung](sagemaker-hyperpod-model-deployment-deploy-ftm.md#sagemaker-hyperpod-model-deployment-deploy-ftm-cache-route). 

Wenn das `Intelligent Router Metrics` Dashboard fehlt, aktivieren Sie die Funktion, damit sie angezeigt werden. Weitere Informationen zur Aktivierung dieser Funktion finden Sie unter[Konfigurieren Sie KV-Caching und intelligentes Routing für eine verbesserte Leistung](sagemaker-hyperpod-model-deployment-deploy-ftm.md#sagemaker-hyperpod-model-deployment-deploy-ftm-cache-route). 

## Behebung von Fehlern bei der Installation von Add-ons
<a name="troubleshooting-addon-installation-failures"></a>

Wenn das Observability-Add-on nicht installiert werden kann, gehen Sie wie folgt vor, um das Problem zu diagnostizieren und zu beheben.

### Überprüfen Sie den Status der Gesundheitsprüfung
<a name="check-health-probe-status"></a>

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie die Registerkarte **Add-ons**.

1. Wählen Sie das fehlgeschlagene Add-on aus.

1. Lesen Sie den Abschnitt **Gesundheitsprobleme**.

1. Wenn das Gesundheitsproblem mit Anmeldeinformationen oder der Pod-Identität zusammenhängt, finden Sie weitere Informationen unter[Überprüfen Sie die Pod-Identity-Zuordnung](#verify-pod-identity-association). Stellen Sie außerdem sicher, dass das Pod Identity Agent-Add-on im Cluster ausgeführt wird.

1. Suchen Sie in den Manager-Protokollen nach Fehlern. Detaillierte Anweisungen finden Sie unter [Überprüfen von Manager-Protokollen](#review-manager-logs).

1. Wenden Sie sich mit den Problemdetails an den AWS Support.

### Überprüfen von Manager-Protokollen
<a name="review-manager-logs"></a>

1. Holen Sie sich den Add-On-Manager-Pod:

   ```
   kubectl logs -n hyperpod-observability -l control-plane=hyperpod-observability-controller-manager
   ```

1. Bei dringenden Problemen wenden Sie sich an Support.

## Überprüfen Sie alle Observability-Pods
<a name="review-all-observability-pods"></a>

Alle Pods, die das SageMaker HyperPod Observability-Add-on erstellt, befinden sich im `hyperpod-observability` Namespace. Um den Status dieser Pods abzurufen, führen Sie den folgenden Befehl aus.

```
kubectl get pods -n hyperpod-observability
```

Suchen Sie nach den Pods, deren Status entweder `pending` oder `crashloopbackoff` ist. Führen Sie den folgenden Befehl aus, um die Protokolle dieser ausstehenden oder fehlgeschlagenen Pods abzurufen.

```
kubectl logs -n hyperpod-observability pod-name
```

Wenn Sie in den Protokollen keine Fehler finden, führen Sie den folgenden Befehl aus, um die Pods zu beschreiben und nach Fehlern zu suchen.

```
kubectl describe -n hyperpod-observability pod pod-name
```

Um mehr Kontext zu erhalten, führen Sie die beiden folgenden Befehle aus, um die Bereitstellungen und Daemonsets für diese Pods zu beschreiben.

```
kubectl describe -n hyperpod-observability deployment deployment-name
```

```
kubectl describe -n hyperpod-observability daemonset daemonset-name
```

## Problembehandlung bei Pods, die im Status „Ausstehend“ hängen bleiben
<a name="pods-stuck-in-pending"></a>

Wenn Sie feststellen, dass Pods mit dem `pending` Status „hängengeblieben“ sind, stellen Sie sicher, dass der Knoten groß genug ist, um in alle Pods zu passen. Führen Sie die folgenden Schritte aus, um zu überprüfen, ob dies der Fall ist.

1. Öffnen Sie die Amazon EKS-Konsole unter [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters).

1. Wählen Sie Ihren Cluster aus.

1. Wählen Sie die Registerkarte **Compute** des Clusters aus.

1. Wählen Sie den Knoten mit dem kleinsten Instance-Typ aus.

1. Suchen Sie im Bereich Kapazitätszuweisung nach verfügbaren Pods.

1. Wenn keine Pods verfügbar sind, benötigen Sie einen größeren Instance-Typ.

Bei dringenden Problemen wenden Sie sich an AWS Support.

## Fehlerbehebung bei der Observability bei eingeschränkten Instance-Gruppen
<a name="troubleshooting-rig-observability"></a>

Verwenden Sie die folgenden Anleitungen, um Probleme zu lösen, die sich speziell auf Cluster mit eingeschränkten Instanzgruppen beziehen.

### Observability-Pods starten nicht auf eingeschränkten Knoten
<a name="troubleshooting-rig-pods-not-starting"></a>

Wenn Observability-Pods nicht auf eingeschränkten Knoten gestartet werden, überprüfen Sie den Pod-Status und die Ereignisse:

```
kubectl get pods -n hyperpod-observability -o wide
kubectl describe pod pod-name -n hyperpod-observability
```

Zu den häufigsten Ursachen gehören:
+ **Fehler beim Abrufen von Bildern:** Bei den Pod-Ereignissen können Fehler beim Abrufen von Bildern auftreten, wenn die Observability-Container-Images auf den eingeschränkten Knoten noch nicht zugelassen sind. Stellen Sie sicher, dass Sie die neueste Version des Observability-Add-ons ausführen. Wenn das Problem nach dem Upgrade weiterhin besteht, wenden Sie sich an. Support
+ **Toleranzen vor schädlichen Einflüssen:** Stellen Sie sicher, dass die Pod-Spezifikation die erforderlichen Toleranzen für eingeschränkte Knoten enthält. Ab der Version fügt das Add-on diese Toleranz `v1.0.5-eksbuild.1` automatisch hinzu, wenn die RIG-Unterstützung aktiviert ist. Wenn Sie eine ältere Version verwenden, aktualisieren Sie bitte auf die neueste Version.

### Protokolle für Pods auf eingeschränkten Knoten anzeigen
<a name="troubleshooting-rig-viewing-logs"></a>

Der `kubectl logs` Befehl funktioniert nicht für Pods, die auf eingeschränkten Knoten ausgeführt werden. Dies ist eine zu erwartende Einschränkung, da der für das Protokollstreaming erforderliche Kommunikationspfad auf eingeschränkten Knoten nicht verfügbar ist.

Um Protokolle von eingeschränkten Knoten anzuzeigen, verwenden Sie das **Cluster-Logs-Dashboard** in Amazon Managed Grafana, das CloudWatch Protokolle direkt abfragt. Sie können nach Instance-ID, Protokollstream, Protokollebene und Freitextsuche filtern, um relevante Protokolleinträge zu finden.

### Fehler bei der DNS-Auflösung in Clustern mit sowohl Standardknoten als auch eingeschränkten Knoten
<a name="troubleshooting-rig-dns-resolution"></a>

In Hybrid-Clustern (Clustern mit sowohl standardmäßigen als auch eingeschränkten Instance-Gruppen) kann es bei Pods auf Standardknoten zu Timeouts bei der DNS-Auflösung kommen, wenn versucht wird, AWS Service-Endpunkte wie Amazon Managed Service for Prometheus oder zu erreichen. CloudWatch

**Ursache:** Der `kube-dns` Dienst hat Endpunkte sowohl von Standard-CoreDNS-Pods als auch von RIG-CoreDNS-Pods. Standard-Node-Pods können RIG CoreDNS-Endpunkte aufgrund der Netzwerkisolierung nicht erreichen. Beim `kube-proxy` Lastenausgleich einer DNS-Anfrage von einem Standardknoten-Pod zu einem RIG-CoreDNS-Endpunkt kommt es bei der Anfrage zu einem Timeout.

**Lösung:** Stellen Sie `internalTrafficPolicy: Local` den `kube-dns` Dienst so ein, dass Pods nur CoreDNS auf ihrem lokalen Knoten erreichen:

```
kubectl patch svc kube-dns -n kube-system -p '{"spec":{"internalTrafficPolicy":"Local"}}'
```

Starten Sie nach der Installation dieses Patches die betroffenen Observability-Pods neu:

```
kubectl delete pods -n hyperpod-observability -l app.kubernetes.io/name=hyperpod-node-collector
```

### Metriken von eingeschränkten Knoten, die Amazon Managed Service for Prometheus nicht erreichen
<a name="troubleshooting-rig-metrics-not-reaching-amp"></a>

Wenn Metriken von eingeschränkten Knoten nicht in Ihrem Amazon Managed Service for Prometheus-Workspace angezeigt werden:

1. **Überprüfen Sie die Berechtigungen für die Ausführungsrolle.** Stellen Sie sicher, dass die Ausführungsrolle für die eingeschränkte Instanzgruppe über `aps:RemoteWrite` Berechtigungen für Ihren Prometheus-Workspace verfügt. Weitere Informationen finden Sie unter [Zusätzliche Voraussetzungen für eingeschränkte Instanzgruppen](hyperpod-observability-addon-setup.md#hyperpod-observability-addon-rig-prerequisites).

1. **Überprüfen Sie den Pod-Status des Node Collector.** Führen Sie den folgenden Befehl aus und stellen Sie sicher, dass Node Collector-Pods auf eingeschränkten Knoten ausgeführt werden:

   ```
   kubectl get pods -n hyperpod-observability | grep node-collector
   ```

1. **Überprüfen Sie die Central Collector-Bereitstellungen.** In Clustern mit eingeschränkten Knoten stellt das Add-On einen Central Collector pro Netzwerkgrenze bereit. Stellen Sie sicher, dass für jede Grenze ein zentraler Collector vorhanden ist:

   ```
   kubectl get deployments -n hyperpod-observability | grep central-collector
   ```

1. **Überprüfen Sie die Pod-Ereignisse auf Fehler.** Verwenden Sie `kubectl describe` auf den Collector-Pods, um nach Fehlerereignissen zu suchen:

   ```
   kubectl describe pod collector-pod-name -n hyperpod-observability
   ```

Wenn das Problem nach der Überprüfung der oben genannten Punkte weiterhin besteht, wenden Sie sich an. Support

### Die Überprüfung der Pod-Identität gilt nicht für eingeschränkte Instanzgruppenknoten
<a name="troubleshooting-rig-pod-identity"></a>

Die Schritte [Überprüfen Sie die Pod-Identity-Zuordnung](#verify-pod-identity-association) zur Fehlerbehebung gelten nur für Standardknoten. Auf eingeschränkten Knoten verwendet das Add-on die Cluster-Instance-Gruppenausführungsrolle für die AWS Authentifizierung anstelle von Amazon EKS Pod Identity. Wenn Metriken für eingeschränkte Knoten fehlen, überprüfen Sie die Berechtigungen für die Ausführungsrolle und nicht die Pod Identity-Zuordnung.

### Fluent Bit läuft nicht auf eingeschränkten Knoten
<a name="troubleshooting-rig-fluent-bit"></a>

Dieses Verhalten wird erwartet. Fluent Bit wird bewusst nicht auf eingeschränkten Knoten eingesetzt. Protokolle von eingeschränkten Knoten werden unabhängig vom SageMaker HyperPod Observability-Add-on CloudWatch über die Plattform veröffentlicht. Verwenden Sie das **Cluster-Logs-Dashboard** in Amazon Managed Grafana, um diese Protokolle einzusehen.

# Beobachtbarkeit mit Amazon CloudWatch
<a name="sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci"></a>

Verwenden Sie [Amazon CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html), um Metriken und Protokolle aus den containerisierten Anwendungen und Microservices auf dem EKS-Cluster, der einem Cluster zugeordnet ist, zu sammeln, zu aggregieren und zusammenzufassen. HyperPod 

Amazon CloudWatch Insights sammelt Metriken für Rechenressourcen wie CPU, Arbeitsspeicher, Festplatte und Netzwerk. Container Insights bietet auch Diagnoseinformationen, wie z. B.Fehler beim Container-Neustart, damit Sie Probleme schnell aufdecken und beheben können. Sie können auch CloudWatch Alarme für Metriken einrichten, die Container Insights sammelt.

Eine vollständige Liste der Metriken finden Sie unter [Amazon EKS- und Kubernetes Container Insights-Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-EKS.html) im *Benutzerhandbuch Amazon EKS*.

## Installieren Sie CloudWatch Container Insights
<a name="sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci-setup"></a>

Cluster-Administratorbenutzer müssen CloudWatch Container Insights gemäß den Anweisungen unter [Installieren des CloudWatch Agenten mithilfe des Amazon CloudWatch Observability EKS-Add-ons oder des Helm-Diagramms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html) im *CloudWatch Benutzerhandbuch* einrichten. Weitere Informationen zum Amazon EKS-Add-on finden [Sie auch unter Installieren des Amazon CloudWatch Observability EKS-Add-ons](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-EKS-addon.html) im *Amazon EKS-Benutzerhandbuch*.

Stellen Sie nach Abschluss der Installation sicher, dass das CloudWatch Observability-Add-on auf der Registerkarte mit dem EKS-Cluster-Add-On sichtbar ist. Es kann einige Minuten dauern, bis das Dashboard geladen wird.

**Anmerkung**  
SageMaker HyperPod erfordert CloudWatch Insight v2.0.1-eksbuild.1 oder höher.

![\[CloudWatch Observability service card showing status, version, and IAM role information.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-eks-CIaddon.png)


# CloudWatch Greifen Sie auf das Container Insights Dashboard
<a name="sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci-access-dashboard"></a>

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie **Insights** und dann **Container Insights** aus.

1. Wählen Sie den EKS-Cluster aus, der mit dem von Ihnen verwendeten HyperPod Cluster eingerichtet wurde.

1. Sehen Sie sich die Pod/Cluster Level-Metriken an.

![\[Performance monitoring dashboard for EKS Cluster showing node status, resource utilization, and pod metrics.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/hyperpod-eks-CIdashboard.png)


## Zugriff auf CloudWatch Container-Insights-Logs
<a name="sagemaker-hyperpod-eks-cluster-observability-cluster-cloudwatch-ci-access-log"></a>

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie **Logs** (Protokolle) und anschließend **Log groups** (Protokollgruppen) aus.

Wenn Sie die HyperPod Cluster in Amazon CloudWatch Container Insights integriert haben, können Sie im folgenden Format auf die relevanten Protokollgruppen zugreifen:`/aws/containerinsights /<eks-cluster-name>/*`. In dieser Protokollgruppe können Sie verschiedene Arten von Protokollen wie Leistungsprotokolle, Hostprotokolle, Anwendungsprotokolle und Datenebenenprotokolle finden und untersuchen.

# Kontinuierliche Bereitstellung für erweiterte Cluster-Operationen auf Amazon EKS
<a name="sagemaker-hyperpod-scaling-eks"></a>

 SageMaker HyperPod Amazon-Cluster, die mit Amazon EKS-Orchestration erstellt wurden, unterstützen jetzt Continuous Provisioning, eine neue Funktion, die mehr Flexibilität und Effizienz bei der Ausführung AI/ML umfangreicher Workloads ermöglicht. Durch die kontinuierliche Bereitstellung können Sie schnell mit dem Training beginnen, nahtlos skalieren, Wartungsarbeiten ohne Betriebsunterbrechung durchführen und einen detaillierten Einblick in den Clusterbetrieb erhalten. 

**Anmerkung**  
Continuous Provisioning ist als optionale Konfiguration für HyperPod Cluster verfügbar, die mit EKS-Orchestrierung erstellt wurden. Mit Slurm-Orchestrierung erstellte Cluster verwenden ein anderes Skalierungsmodell.

## Funktionsweise
<a name="sagemaker-hyperpod-scaling-eks-how"></a>

Das Continuous Provisioning System führt eine Architektur mit gewünschtem Status ein, die das traditionelle, auf Anfragen basierende Modell ersetzt. Diese neue Architektur ermöglicht parallel, blockierungsfreie Operationen auf verschiedenen Ressourcenebenen unter Beibehaltung der Systemstabilität und -leistung. Das System zur kontinuierlichen Bereitstellung:
+ **Akzeptiert die Anfrage**: Zeichnet die Anzahl der ZielInstances für jede Instance-Gruppe auf
+ **Initiiert die Bereitstellung**: Beginnt mit dem Starten von Instances, um die Zielanzahl zu erreichen

  **Verfolgt den Fortschritt**: Überwacht jeden Instance-Startversuch und zeichnet den Status auf
+ **Behandelt Fehler**: Wiederholt automatisch fehlgeschlagene Starts

Die kontinuierliche Bereitstellung ist standardmäßig deaktiviert. Um diese Funktion zu verwenden, stellen Sie `--node-provisioning-mode` auf `Continuous` ein.

Wenn Continuous Provisioning aktiviert ist, können Sie mehrere Skalierungsvorgänge gleichzeitig initiieren, ohne auf den Abschluss früherer Operationen warten zu müssen. Auf diese Weise können Sie verschiedene Instance-Gruppen im selben Cluster gleichzeitig skalieren und mehrere Skalierungsanforderungen an dieselbe Instance-Gruppe senden. 

Durch die kontinuierliche Bereitstellung erhalten Sie außerdem Zugriff auf [DescribeClusterEvent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeClusterEvent.html)und [ListClusterEvent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterEvents.html)für eine detaillierte Ereignisüberwachung und betriebliche Transparenz. 

## Nutzungsmessung
<a name="sagemaker-hyperpod-scaling-eks-metering"></a>

HyperPod Cluster mit kontinuierlicher Bereitstellung verwenden Zählerfunktionen auf Instanzebene, um eine genaue Abrechnung zu gewährleisten, die die tatsächliche Ressourcennutzung widerspiegelt. Dieser Zählungsansatz unterscheidet sich von der herkömmlichen Abrechnung auf Clusterebene dadurch, dass jede Instance unabhängig verfolgt wird.

**Abrechnung auf Instance-Ebene**

Bei kontinuierlicher Bereitstellung beginnt und endet die Abrechnung auf der Ebene der einzelnen Instances, anstatt auf Statusänderungen auf Clusterebene zu warten. Diese Methode bietet folgende Vorteile:
+ **Präzise Rechnungsgenauigkeit: Die Abrechnung** beginnt, wenn die Ausführung des Lifecycle-Skripts beginnt. Wenn das Lifecycle-Skript fehlschlägt, wird die Instance-Bereitstellung erneut versucht, und Ihnen wird die Dauer der Laufzeit des Lifecycle-Skripts in Rechnung gestellt.
+ **Unabhängige Messung**: Der Abrechnungszyklus jeder Instance wird separat verwaltet, wodurch kaskadierende Abrechnungsfehler vermieden werden
+ **Abrechnungsupdates in Echtzeit**: Die Abrechnung beginnt, wenn eine Instance mit der Ausführung ihres Lifecycle-Skripts beginnt, und endet, wenn die Instance in den Endzustand übergeht

**Lebenszyklus der Abrechnung**

Jede Instanz in Ihrem HyperPod Cluster folgt diesem Abrechnungszyklus:
+ Die **Abrechnung beginnt**: Wenn die Instance erfolgreich gestartet wurde und mit der Ausführung ihres Lebenszyklus-Konfigurationsskripts beginnt
+ Die **Abrechnung wird fortgesetzt**: Während der gesamten Betriebsdauer der Instance
+ Die **Abrechnung wird beendet**: Wenn die Instance unabhängig vom Grund für die Kündigung in den Status „Beenden“ übergeht

**Anmerkung**  
Die Abrechnung für Instances, die nicht gestartet werden können, beginnt nicht. Wenn der Start einer Instance aufgrund unzureichender Kapazität oder anderer Probleme fehlschlägt, wird Ihnen dieser fehlgeschlagene Versuch nicht in Rechnung gestellt. Die Abrechnung wird auf Instance-Ebene berechnet und die Kosten werden zusammengefasst und unter dem Amazon-Ressourcennamen (ARN) Ihres Clusters gemeldet. 

## Erstellen Sie einen Cluster mit aktivierter kontinuierlicher Bereitstellung
<a name="sagemaker-hyperpod-scaling-eks-create"></a>

**Anmerkung**  
Sie müssen einen Amazon-EKS-Cluster mit VPC-Netzwerk konfiguriert und das erforderliche Helm-Diagramm installiert haben. Erstellen Sie außerdem ein Skript für die Lebenszykluskonfiguration und laden Sie es in einen Amazon-S3-Bucket hoch, auf den Ihre Ausführungsrolle zugreifen kann. Weitere Informationen finden Sie unter [Verwaltung von SageMaker HyperPod Clustern, die von Amazon EKS orchestriert werden](sagemaker-hyperpod-eks-operate.md).

Der folgende AWS CLI Vorgang erstellt einen HyperPod Cluster mit einer Instanzgruppe und aktivierter kontinuierlicher Bereitstellung.

```
aws sagemaker create-cluster \ 
--cluster-name $HP_CLUSTER_NAME \
--orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \
--vpc-config '{
   "SecurityGroupIds": ["'$SECURITY_GROUP'"],
   "Subnets": ["'$SUBNET'"]
}' \
--instance-groups '{
   "InstanceGroupName": "ig-1",
   "InstanceType": "ml.c5.2xlarge",
   "InstanceCount": 2,
   "LifeCycleConfig": {
      "SourceS3Uri": "s3://'$BUCKET_NAME'",
      "OnCreate": "on_create_noop.sh"
   },
   "ExecutionRole": "'$EXECUTION_ROLE'",
   "ThreadsPerCore": 1,
   "TrainingPlanArn": ""
}' \
--node-provisioning-mode Continuous


// Expected Output:
{
    "ClusterArn": "arn:aws:sagemaker:us-west-2:<account-id>:cluster/<cluster-id>"
}
```

Nachdem Sie Ihren Cluster erstellt haben, können Sie [ListClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterNodes.html)oder verwenden, [DescribeClusterNode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeClusterNode.html)um weitere Informationen über die Knoten im Cluster zu erhalten. 

Beim Aufrufen dieser Operationen wird ein [ClusterInstanceStatusDetails](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceStatusDetails.html)Objekt mit einem der folgenden Werte zurückgegeben: 
+  **Wird ausgeführt**: Der Knoten ist fehlerfrei und beim Cluster-Orchestrator (EKS) registriert. 
+  **Fehler**: Die Bereitstellung des Knotens ist fehlgeschlagen, aber das System versucht automatisch, die Bereitstellung mit einer neuen EC2-Instance zu wiederholen. 
+  **Ausstehend**: Der Knoten wird bereitgestellt oder neu gestartet. 
+  **ShuttingDown**: Die Knotenbeendigung ist im Gange. Der Knoten wechselt entweder in den Status Fehlgeschlagen, wenn bei der Terminierung Probleme auftreten, oder er wird erfolgreich aus dem Cluster entfernt. 
+  **SystemUpdating**: Der Knoten wird gerade einem AMI-Patching unterzogen, das entweder manuell oder im Rahmen von Patching-Cronjobs ausgelöst wird. 
+  **DeepHealthCheckInProgress**: Es werden [tiefgreifende Integritätsprüfungen (DHCs)](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md) durchgeführt. Dies kann je nach Art der Tests zwischen einigen Minuten und mehreren Stunden dauern. Fehlerhafte Knoten werden ersetzt und gesunde Knoten werden in den Status Running umgeschaltet. 
+  **NotFound**: Wird [BatchAddClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BatchAddClusterNodes.html)als Reaktion darauf verwendet, dass ein Knoten während der idempotenten Wiedergabe gelöscht wurde. 

## Mindestkapazitätsanforderungen () MinCount
<a name="sagemaker-hyperpod-scaling-eks-mincount"></a>

Mit dieser MinCount Funktion können Sie die Mindestanzahl von Instanzen angeben, die erfolgreich bereitgestellt werden müssen, bevor eine Instanzgruppe in den `InService` Status übergeht. Diese Funktion bietet eine bessere Kontrolle über Skalierungsvorgänge und trägt dazu bei, Szenarien zu vermeiden, in denen teilweise bereitgestellte Instanzgruppen nicht effektiv für Trainingsworkloads verwendet werden können.

**Wichtig**  
MinCount ist keine dauerhafte Garantie für Mindestkapazität. Es stellt lediglich sicher, dass die angegebene Mindestanzahl von Instanzen verfügbar ist, wenn die Instanzgruppe zum ersten Mal verfügbar ist`InService`. Bei normalem Betrieb, z. B. beim Austausch fehlerhafter Instances oder bei Wartungsarbeiten, MinCount kann es zu kurzen Abweichungen im unteren Bereich kommen.

### MinCount Wie funktioniert
<a name="sagemaker-hyperpod-scaling-eks-mincount-how"></a>

Wenn Sie eine Instanzgruppe mit MinCount aktivierter Option erstellen oder aktualisieren, tritt das folgende Verhalten auf:
+ **Neue Instanzgruppen**: Die Instanzgruppe bleibt so lange im `Creating` Status, bis mindestens MinCount Instanzen erfolgreich bereitgestellt wurden und bereit sind. Sobald dieser Schwellenwert erreicht ist, wechselt die Instanzgruppe zu`InService`.
+ **Bestehende Instanzgruppen**: Bei MinCount der Aktualisierung einer vorhandenen Instanzgruppe ändert sich der Status so lange, `Updating` bis die neue MinCount Anforderung erfüllt ist.
+ **Kontinuierliche Skalierung**: Wenn der Wert größer als TargetCount ist MinCount, versucht das System für kontinuierliche Skalierung weiterhin, weitere Instances zu starten, bis dieser TargetCount Wert erreicht ist.
+ **Timeout und Rollback**: Wenn das Problem MinCount nicht innerhalb von 3 Stunden erfüllt werden kann, setzt das System die Instanzgruppe automatisch auf ihren letzten als funktionierend bekannten Zustand zurück. Weitere Informationen zum Rollback-Verhalten finden Sie unter [Automatisches](#sagemaker-hyperpod-scaling-eks-mincount-rollback) Rollback-Verhalten.

### Status der Instanzgruppe während des Betriebs MinCount
<a name="sagemaker-hyperpod-scaling-eks-mincount-status"></a>

Instanzgruppen mit MinCount konfigurierter Konfiguration weisen das folgende Statusverhalten auf:

Erstellen  
Für neue Instanzgruppen, wenn CurrentCount < MinCount. Die Instanzgruppe bleibt in diesem Status, bis die Mindestkapazitätsanforderung erfüllt ist.

Aktualisieren  
Für bestehende Instanzgruppen MinCount wird wann geändert und CurrentCount < MinCount. Die Instanzgruppe behält diesen Status, bis die neue Mindestkapazitätsanforderung erfüllt ist.

InService  
Wenn MinCount ≤ CurrentCount ≤ TargetCount. Die Instanzgruppe ist einsatzbereit und alle Mutationsoperationen sind entsperrt.

Während `Creating` unseres `Updating` Status gelten die folgenden Einschränkungen:
+ Mutationsoperationen wie `BatchAddClusterNodes``BatchDeleteClusterNodes`, oder `UpdateClusterSoftware` sind blockiert
+ Sie können weiterhin TargetCount Werte ändern MinCount , um Konfigurationsfehler zu korrigieren
+ Das Löschen von Clustern und Instanzgruppen ist immer zulässig

### Automatisches Rollback-Verhalten
<a name="sagemaker-hyperpod-scaling-eks-mincount-rollback"></a>

Wenn eine Instanzgruppe ihr Ziel nicht MinCount innerhalb von 3 Stunden erreichen kann, leitet das System automatisch ein Rollback ein, um unbegrenztes Warten zu verhindern:
+ **Neue Instanzgruppen**: MinCount und TargetCount werden auf (0, 0) zurückgesetzt
+ **Bestehende Instanzgruppen**: MinCount und TargetCount werden auf ihre Werte aus dem letzten `InService` Status zurückgesetzt
+ **Instanzauswahl zur Kündigung**: Wenn Instanzen während eines Rollbacks beendet werden müssen, wählt das System zuerst die fehlerhaften Instanzen aus und dann diejenigen, die zuletzt bereitgestellt wurden.
+ **Statusübergang**: Die Instanzgruppe wechselt sofort nach der Initiierung des Rollbacks in `InService` den Status, sodass das System mit kontinuierlicher Skalierung die Kapazität gemäß den Rollback-Einstellungen verwalten kann

Das 3-Stunden-Timeout wird jedes Mal zurückgesetzt, wenn es aktualisiert wird. MinCount Wenn Sie beispielsweise MinCount mehrmals aktualisieren, beginnt der Timeout-Zeitraum mit dem letzten Update.

### MinCount Ereignisse
<a name="sagemaker-hyperpod-scaling-eks-mincount-events"></a>

Das System sendet bestimmte Ereignisse aus, um Ihnen bei der Nachverfolgung von MinCount Vorgängen zu helfen:
+ **Mindestkapazität erreicht**: Wird ausgegeben, wenn eine Instanzgruppe ihre Kapazität erfolgreich erreicht MinCount und zu dieser übergeht `InService`
+ **Rollback eingeleitet**: Wird ausgelöst, wenn das 3-stündige Timeout abläuft und das automatische Rollback beginnt

Sie können diese Ereignisse überwachen, um den Fortschritt [ListClusterEvents](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterEvents.html)Ihrer Operationen zu verfolgen. MinCount 

### API-Nutzung
<a name="sagemaker-hyperpod-scaling-eks-mincount-api"></a>

MinCount wird mithilfe des `MinInstanceCount` Parameters in Instanzgruppenkonfigurationen angegeben:

```
aws sagemaker create-cluster \
--cluster-name $HP_CLUSTER_NAME \
--orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \
--vpc-config '{
   "SecurityGroupIds": ["'$SECURITY_GROUP'"],
   "Subnets": ["'$SUBNET'"]
}' \
--instance-groups '{
   "InstanceGroupName": "worker-group",
   "InstanceType": "ml.p4d.24xlarge",
   "InstanceCount": 64,
   "MinInstanceCount": 50,
   "LifeCycleConfig": {
      "SourceS3Uri": "s3://'$BUCKET_NAME'",
      "OnCreate": "on_create.sh"
   },
   "ExecutionRole": "'$EXECUTION_ROLE'"
}' \
--node-provisioning-mode Continuous
```

Wichtige Überlegungen zur MinCount Verwendung:
+ `MinInstanceCount`muss zwischen 0 und dem `InstanceCount` (inklusiven) Wert der in [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)unserer [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)Anfrage angegebenen Instanzgruppe liegen
+ Bei Einstellung `MinInstanceCount` auf 0 (Standard) wird das standardmäßige kontinuierliche Skalierungsverhalten beibehalten
+ Wenn der `MinInstanceCount` Wert gleich gesetzt wird, `InstanceCount` ergibt sich ein all-or-nothing Skalierungsverhalten
+ MinCount ist nur für Cluster mit der `NodeProvisioningMode` Einstellung auf verfügbar `Continuous`

# Autoscaling auf EKS SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-autoscaling"></a>

Amazon SageMaker HyperPod bietet eine verwaltete, auf Karpenter basierende Node-Autoscaling-Lösung für Cluster, die mit EKS-Orchestrierung erstellt wurden. [Karpenter ist ein](https://karpenter.sh/) Open-Source-Kubernetes-Node-Lifecycle-Manager, der entwickelt wurde und die Clusterskalierung und Kosteneffizienz optimiert. AWS Im Gegensatz zu selbstverwalteten Karpenter-Deployments entfällt bei SageMaker HyperPod der verwalteten Implementierung der betriebliche Aufwand für die Installation, Konfiguration und Wartung von Karpenter Controllern und bietet gleichzeitig integrierte Stabilität und Fehlertoleranz. Diese verwaltete Autoscaling-Lösung basiert auf HyperPod den Funktionen zur [kontinuierlichen Bereitstellung](sagemaker-hyperpod-scaling-eks.md) und ermöglicht Ihnen eine effiziente Skalierung der Rechenressourcen für Schulungs- und Inferenz-Workloads mit automatischer Fehlerbehandlung und Wiederherstellung. 

Sie zahlen nur das, was Sie nutzen. Sie sind dafür verantwortlich, für alle Recheninstanzen zu bezahlen, die automatisch durch Autoscaling gemäß den Standardpreisen bereitgestellt werden. SageMaker HyperPod Detaillierte Preisinformationen finden Sie unter [Amazon SageMaker AI](https://aws.amazon.com/sagemaker/ai/pricing/).

Wenn Sie die Karpenter-basierte Autoskalierung mit aktivieren HyperPod, haben Sie Zugriff auf:
+ **Service-Managed Lifecycle** — HyperPod kümmert sich um die Installation, Updates und Wartung von Karpenter, wodurch der betriebliche Aufwand entfällt.
+ **Just-in-Time-Bereitstellung** – Karpenter beobachtet Ihre ausstehenden Pods und stellt die benötigte Rechenleistung für Ihre Workloads aus einem On-Demand-Pool bereit.
+ Auf **Null skalieren** – Skalieren Sie auf null Knoten herunter, ohne eine dedizierte Controller-Infrastruktur aufrechtzuerhalten.
+ **Auswahl von Knoten unter Berücksichtigung des Workloads** – Karpenter wählt die optimalen Instance-Typen basierend auf Pod-Anforderungen, Verfügbarkeitszonen und Preisen aus, um die Kosten zu minimieren.
+ **Automatische Knotenkonsolidierung** – Karpenter bewertet Cluster regelmäßig im Hinblick auf Optimierungsmöglichkeiten und verlagert die Workloads, um nicht ausgelastete Knoten zu eliminieren.
+ **Integrierte Ausfallsicherheit** — Nutzt die integrierten HyperPod Mechanismen für Fehlertoleranz und Knotenwiederherstellung.

In den folgenden Themen wird erklärt, wie HyperPod Autoscaling mit Karpenter aktiviert wird.

**Topics**
+ [Voraussetzungen](#sagemaker-hyperpod-eks-autoscaling-prereqs)
+ [Erstellen Sie mit Karpenter eine IAM-Rolle für HyperPod Autoscaling](sagemaker-hyperpod-eks-autoscaling-iam.md)
+ [Erstellen und konfigurieren Sie einen HyperPod Cluster mit Karpenter Autoscaling](sagemaker-hyperpod-eks-autoscaling-cluster.md)
+ [Erstellen Sie ein NodeClass](sagemaker-hyperpod-eks-autoscaling-nodeclass.md)
+ [Erstellen Sie eine NodePool](sagemaker-hyperpod-eks-autoscaling-nodepool.md)
+ [Stellen Sie einen Workload bereit](sagemaker-hyperpod-eks-autoscaling-workload.md)

## Voraussetzungen
<a name="sagemaker-hyperpod-eks-autoscaling-prereqs"></a>
+ Kontinuierliches Provisioning ist auf Ihrem Cluster aktiviert. HyperPod Aktivieren Sie die kontinuierliche Bereitstellung, indem Sie `Continuous` bei der Erstellung Ihres SageMaker HyperPod Clusters `--node-provisioning-mode` auf einstellen. Weitere Informationen finden Sie unter [Kontinuierliche Bereitstellung für erweiterte Cluster-Operationen auf Amazon EKS](sagemaker-hyperpod-scaling-eks.md).
+ Health Monitoring Agent Version 1.0.742.0\$11.0.241.0 oder höher ist installiert. Für den Betrieb und die Überwachung des HyperPod Clusters erforderlich. Der Agent muss konfiguriert werden, bevor die automatische Skalierung von Karpenter aktiviert wird, um die ordnungsgemäße Berichterstattung über den Clusterstatus und die Verwaltung des Knotenlebenszyklus sicherzustellen. Weitere Informationen finden Sie unter [System zur Gesundheitsüberwachung](sagemaker-hyperpod-eks-resiliency-health-monitoring-agent.md).
+ Nur wenn auf Ihrem Amazon EKS-Cluster Karpenter ausgeführt wird, müssen Karpenter `NodePool` und die `NodeClaim` Versionen v1 sein.
+ `NodeRecovery`auf automatisch eingestellt. Weitere Informationen finden Sie unter [Automatische Wiederherstellung von Knoten](sagemaker-hyperpod-eks-resiliency-node-recovery.md).

# Erstellen Sie mit Karpenter eine IAM-Rolle für HyperPod Autoscaling
<a name="sagemaker-hyperpod-eks-autoscaling-iam"></a>

In den folgenden Schritten erstellen Sie eine IAM-Rolle, mit der Sie Kubernetes-Knoten in Ihrem Cluster durch SageMaker HyperPod Karpenter-basiertes Autoscaling verwalten können. Diese Rolle bietet die erforderlichen Berechtigungen für das automatische Hinzufügen und Entfernen von HyperPod Clusterknoten je nach Arbeitslastanforderung.

**Öffnen Sie die IAM-Konsole.**

1. Melden Sie sich unter console.aws.amazon.com bei der IAM-Konsole an AWS-Managementkonsole und öffnen Sie sie.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

**Konfigurieren der Vertrauensrichtlinie**

1. Für **Trusted entity type** (Vertrauenstyp der Entität), wählen Sie **Custom trust policy** (Benutzerdefinierte Vertrauensrichtlinie).

1. Ersetzen Sie im Editor **für benutzerdefinierte Vertrauensrichtlinien** die Standardrichtlinie durch die folgende Richtlinie:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "hyperpod.sagemaker.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Wählen Sie **Weiter** aus.

**Erstellen Sie die Berechtigungsrichtlinie und fügen Sie sie an**

Da bestimmte Berechtigungen SageMaker HyperPod erforderlich sind, die in AWS verwalteten Richtlinien nicht verfügbar sind, müssen Sie eine benutzerdefinierte Richtlinie erstellen.

1. Wählen Sie **Richtlinie erstellen** aus. Dies öffnet eine neue Registerkarte im Browser.

1. Wählen Sie den Tab **JSON**.

1. Ersetzen Sie die Standardrichtlinie durch die folgende:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:BatchAddClusterNodes",
                   "sagemaker:BatchDeleteClusterNodes"
               ],
               "Resource": "arn:aws:sagemaker:*:*:cluster/*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "${aws:PrincipalAccount}"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:CreateGrant",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:*:*:key/*",
               "Condition": {
                   "StringLike": {
                       "kms:ViaService": "sagemaker.*.amazonaws.com"
                   },
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   },
                   "ForAllValues:StringEquals": {
                       "kms:GrantOperations": [
                           "CreateGrant",
                           "Decrypt",
                           "DescribeKey",
                           "GenerateDataKeyWithoutPlaintext",
                           "ReEncryptTo",
                           "ReEncryptFrom",
                           "RetireGrant"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Wählen Sie **Weiter** aus.

1. Geben Sie unter **Policy name** (Richtlinienname) **SageMakerHyperPodKarpenterPolicy** ein.

1. (Optional) Geben Sie im Feld **Beschreibung** eine Beschreibung für die Richtlinie ein.

1. Wählen Sie **Richtlinie erstellen** aus.

1. Kehren Sie zur Registerkarte Rollenerstellung zurück und aktualisieren Sie die Richtlinienliste.

1. Suchen Sie nach der **SageMakerHyperPodKarpenterPolicy**, die Sie gerade erstellt haben, und wählen Sie sie aus.

1. Wählen Sie **Weiter** aus.

**Benennen Sie die Rolle und erstellen Sie sie**

1. Geben Sie für **Rollenname** den Namen `SageMakerHyperPodKarpenterRole` ein.

1. (Optional) Geben Sie unter **Beschreibung** eine Beschreibung für die neue Rolle ein.

1. Überprüfen Sie im Abschnitt **Schritt 1: Vertrauenswürdige Entitäten auswählen** sicher, dass die Vertrauensrichtlinie die richtigen Dienstprinzipale anzeigt.

1. Vergewissern Sie sich im Abschnitt **Schritt 2: Berechtigungen hinzufügen**, dass der Anhang angehängt `SageMakerHyperPodKarpenterPolicy` ist.

1. Wählen Sie **Rolle erstellen** aus.

**Notieren Sie sich den Rollen-ARN.**

Nachdem die Rolle erfolgreich erstellt wurde:

1. Wählen Sie in der **Rollenliste** den Rollennamen `SageMakerHyperPodKarpenterRole` aus.

1. Kopieren Sie den **Rollen-ARN** aus dem Abschnitt **Zusammenfassung**. Sie benötigen diesen ARN, wenn Sie Ihren HyperPod Cluster erstellen.

Die Rollen-ARN folgt diesem Format: `arn:aws:iam::ACCOUNT-ID:role/SageMakerHyperPodKarpenterRole`.

# Erstellen und konfigurieren Sie einen HyperPod Cluster mit Karpenter Autoscaling
<a name="sagemaker-hyperpod-eks-autoscaling-cluster"></a>

In den folgenden Schritten erstellen Sie einen SageMaker HyperPod Cluster mit aktiviertem Continuous Provisioning und konfigurieren ihn für die Verwendung von Karpenter-basiertem Autoscaling.

**Erstellen Sie einen Cluster HyperPod**

1. Laden Sie Ihre Umgebungskonfiguration und extrahieren Sie Werte aus CloudFormation Stacks.

   ```
   source .env
   SUBNET1=$(cfn-output $VPC_STACK_NAME PrivateSubnet1)
   SUBNET2=$(cfn-output $VPC_STACK_NAME PrivateSubnet2)
   SUBNET3=$(cfn-output $VPC_STACK_NAME PrivateSubnet3)
   SECURITY_GROUP=$(cfn-output $VPC_STACK_NAME NoIngressSecurityGroup)
   EKS_CLUSTER_ARN=$(cfn-output $EKS_STACK_NAME ClusterArn)
   EXECUTION_ROLE=$(cfn-output $SAGEMAKER_STACK_NAME ExecutionRole)
   SERVICE_ROLE=$(cfn-output $SAGEMAKER_STACK_NAME ServiceRole)
   BUCKET_NAME=$(cfn-output $SAGEMAKER_STACK_NAME Bucket)
   HP_CLUSTER_NAME="hyperpod-eks-test-$(date +%s)"
   EKS_CLUSTER_NAME=$(cfn-output $EKS_STACK_NAME ClusterName)
   HP_CLUSTER_ROLE=$(cfn-output $SAGEMAKER_STACK_NAME ClusterRole)
   ```

1. Laden Sie das Knoteninitialisierungsskript in Ihren Amazon-S3-Bucket hoch.

   ```
   aws s3 cp lifecyclescripts/on_create_noop.sh s3://$BUCKET_NAME
   ```

1. Erstellen Sie eine Cluster-Konfigurationsdatei mit Ihren Umgebungsvariablen.

   ```
   cat > cluster_config.json << EOF
   {
       "ClusterName": "$HP_CLUSTER_NAME",
       "InstanceGroups": [
           {
               "InstanceCount": 1,
               "InstanceGroupName": "system",
               "InstanceType": "ml.c5.xlarge",
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://$BUCKET_NAME",
                   "OnCreate": "on_create_noop.sh"
               },
               "ExecutionRole": "$EXECUTION_ROLE"
           },
           {
               "InstanceCount": 0,
               "InstanceGroupName": "auto-c5-az1",
               "InstanceType": "ml.c5.xlarge",
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://$BUCKET_NAME",
                   "OnCreate": "on_create_noop.sh"
               },
               "ExecutionRole": "$EXECUTION_ROLE"
           },
           {
               "InstanceCount": 0,
               "InstanceGroupName": "auto-c5-4xaz2",
               "InstanceType": "ml.c5.4xlarge",
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://$BUCKET_NAME",
                   "OnCreate": "on_create_noop.sh"
               },
               "ExecutionRole": "$EXECUTION_ROLE",
               "OverrideVpcConfig": {
                   "SecurityGroupIds": [
                       "$SECURITY_GROUP"
                   ],
                   "Subnets": [
                       "$SUBNET2"
                   ]
               }
           },
           {
               "InstanceCount": 0,
               "InstanceGroupName": "auto-g5-az3",
               "InstanceType": "ml.g5.xlarge",
               "LifeCycleConfig": {
                   "SourceS3Uri": "s3://$BUCKET_NAME",
                   "OnCreate": "on_create_noop.sh"
               },
               "ExecutionRole": "$EXECUTION_ROLE",
               "OverrideVpcConfig": {
                   "SecurityGroupIds": [
                       "$SECURITY_GROUP"
                   ],
                   "Subnets": [
                       "$SUBNET3"
                   ]
               }
           }
       ],
       "VpcConfig": {
           "SecurityGroupIds": [
               "$SECURITY_GROUP"
           ],
           "Subnets": [
               "$SUBNET1"
           ]
       },
       "Orchestrator": {
           "Eks": {
               "ClusterArn": "$EKS_CLUSTER_ARN"
           }
       },
       "ClusterRole": "$HP_CLUSTER_ROLE",
       "AutoScaling": {
           "Mode": "Enable",
           "AutoScalerType": "Karpenter"
       },
       "NodeProvisioningMode": "Continuous"
   }
   EOF
   ```

1. Führen Sie den folgenden Befehl aus, um Ihren HyperPod Cluster zu erstellen.

   ```
   aws sagemaker create-cluster --cli-input-json file://./cluster_config.json
   ```

1. Der Prozess der Clustererstellung dauert ungefähr 20 Minuten. Überwachen Sie den Clusterstatus, bis ClusterStatus sowohl als auch AutoScaling .Status angezeigt InService werden.

1. Speichern Sie den Cluster-ARN für nachfolgende Operationen.

   ```
   HP_CLUSTER_ARN=$(aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME \
      --output text --query ClusterArn)
   ```

**Aktivieren von Carpenter Autoscaling**

1. Führen Sie den folgenden Befehl aus, um die Karpenter-basierte Autoskalierung auf jedem bereits vorhandenen Cluster zu aktivieren, der über den kontinuierlichen Knotenbereitstellungsmodus verfügt.

   ```
   aws sagemaker update-cluster \
       --cluster-name $HP_CLUSTER_NAME \
       --auto-scaling Mode=Enable,AutoScalerType=Karpenter \
       --cluster-role $HP_CLUSTER_ROLE
   ```

1. Stellen Sie sicher, dass Karpenter erfolgreich aktiviert wurde:

   ```
   aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --query 'AutoScaling'
   ```

1. Erwartete Ausgabe:

   ```
   {
       "Mode": "Enable",
       "AutoScalerType": "Karpenter",
       "Status": "InService"
   }
   ```

Warten Sie`Status`, bis das angezeigt wird, `InService` bevor Sie mit der Konfiguration von NodeClass und NodePool fortfahren.

# Erstellen Sie ein NodeClass
<a name="sagemaker-hyperpod-eks-autoscaling-nodeclass"></a>

**Wichtig**  
Sie müssen mit 0 Knoten in Ihrer Instance-Gruppe beginnen und Karpenter die automatische Skalierung übernehmen lassen. Wenn Sie mit mehr als 0 Knoten beginnen, skaliert Karpenter diese auf 0 herunter.

Eine Knotenklasse (`NodeClass`) definiert Einstellungen auf Infrastrukturebene, die für Knotengruppen in Ihrem Amazon EKS-Cluster gelten, einschließlich Netzwerkkonfiguration, Speichereinstellungen und Ressourcen-Tagging. A `HyperPodNodeClass` ist ein benutzerdefinierter Code`NodeClass`, der vorab erstellten Instanzgruppen zugeordnet wird. Dabei werden Einschränkungen definiert SageMaker HyperPod, welche Instanztypen und Availability Zones für die automatische Skalierung von Karpenter unterstützt werden.

**Überlegungen zur Erstellung einer Knotenklasse**
+ Sie können bis zu 10 Instance-Gruppen in einer angeben`NodeClass`.
+ Bei Verwendung der GPU-Partitionierung mit MIG (Multi-Instance-GPU) kann Karpenter automatisch Knoten mit MIG-fähigen Instanzgruppen bereitstellen. Stellen Sie sicher, dass Ihre Instanzgruppen von MIG unterstützte Instanztypen (ml.p4d.24xlarge, ml.p5.48xlarge oder ml.p5e/p5en.48xlarge) enthalten, und konfigurieren Sie die entsprechenden MIG-Labels während der Clustererstellung. Weitere Informationen zur Konfiguration [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md) der GPU-Partitionierung finden Sie unter.
+ Wenn benutzerdefinierte Labels auf Instanzgruppen angewendet werden, können Sie sie bei der Statusabfrage im `desiredLabels` Feld einsehen. `HyperpodNodeClass` Dazu gehören MIG-Konfigurationsbezeichnungen wie`nvidia.com/mig.config`. Wenn eingehende Jobs MIG-Ressourcen anfordern, skaliert Karpenter automatisch die Instanzen mit den entsprechenden MIG-Bezeichnungen.
+ Wenn Sie sich dafür entscheiden, eine Instanzgruppe zu löschen, empfehlen wir, sie aus Ihrer zu entfernen, `NodeClass` bevor Sie sie aus Ihrem HyperPod Cluster löschen. Wenn eine Instance-Gruppe gelöscht wird, während sie in einem `NodeClass` verwendet wird, wird die `NodeClass` als nicht `Ready` für die Bereitstellung markiert und für nachfolgende Skalierungsvorgänge nicht verwendet, bis die Instance-Gruppe aus `NodeClass` entfernt wird.
+ Wenn Sie Instance-Gruppen aus einer entfernen`NodeClass`, erkennt Karpenter eine Abweichung auf den Knoten, die von Karpenter in der Instance-Gruppe (n) verwaltet wurden, und unterbricht die Knoten auf der Grundlage Ihrer Budgetkontrollen für Störungen.
+ Die von der Instance-Gruppe verwendeten Subnetze sollten derselben AZ angehören. Subnetze werden entweder mit `OverrideVpcConfig` auf Instance-Gruppenebene oder Clusterebene spezifiziert. `VpcConfig` wird standardmäßig verwendet.
+ Derzeit wird nur On-Demand-Kapazität unterstützt. Instance-Gruppen mit Trainingsplan oder reservierter Kapazität werden nicht unterstützt.
+ Instance-Gruppen mit `DeepHealthChecks (DHC)` werden nicht unterstützt. Das liegt daran, dass die Fertigstellung eines DHC etwa 60 bis 90 Minuten in Anspruch nimmt und die Pods während dieser Zeit im Status „Ausstehend“ verbleiben, was zu einer Überprovisionierung führen kann.

In den folgenden Schritten wird erklärt, wie eine erstellt wird`NodeClass`.

1. Erstellen Sie eine YAML-Datei (z. B. nodeclass.yaml) mit Ihrer `NodeClass`-Konfiguration.

1. Wenden Sie die Konfiguration mit kubectl auf Ihren Cluster an.

1. Verweisen Sie `NodeClass` in Ihrer `NodePool` Konfiguration auf.

1. Im Folgenden finden Sie ein Beispiel`NodeClass`, das die Instance-Typen ml.c5.xlarge und ml.c5.4xlarge verwendet:

   ```
   apiVersion: karpenter.sagemaker.amazonaws.com/v1
   kind: HyperpodNodeClass
   metadata:
     name: sample-nc
   spec:
     instanceGroups:
       # name of InstanceGroup in HyperPod cluster. InstanceGroup needs to pre-created
       # MaxItems: 10
       - auto-c5-xaz1
       - auto-c5-4xaz2
   ```

1. Wenden Sie die Konfiguration an:

   ```
   kubectl apply -f nodeclass.yaml
   ```

1. Überwachen Sie den NodeClass Status, um sicherzustellen, dass die Bedingung Bereit im Status auf True gesetzt ist:

   ```
   kubectl get hyperpodnodeclass sample-nc -o yaml
   ```

   ```
   apiVersion: karpenter.sagemaker.amazonaws.com/v1
   kind: HyperpodNodeClass
   metadata:
     creationTimestamp: "<timestamp>"
     name: sample-nc
     uid: <resource-uid>
   spec:
     instanceGroups:
     - auto-c5-az1
     - auto-c5-4xaz2
   status:
     conditions:
     // true when all IGs in the spec are present in SageMaker cluster, false otherwise
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 3
       reason: InstanceGroupReady
       status: "True"
       type: InstanceGroupReady
     // true if subnets of IGs are discoverable, false otherwise
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 3
       reason: SubnetsReady
       status: "True"
       type: SubnetsReady
     // true when all dependent resources are Ready [InstanceGroup, Subnets]
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 3
       reason: Ready
       status: "True"
       type: Ready
     instanceGroups:
     - desiredLabels:
       - key: <custom_label_key>
         value: <custom_label_value>
       - key: nvidia.com/mig.config
         value: all-1g.5gb
       instanceTypes:
       - ml.c5.xlarge
       name: auto-c5-az1
       subnets:
       - id: <subnet-id>
         zone: <availability-zone-a>
         zoneId: <zone-id-a>
     - instanceTypes:
       - ml.c5.4xlarge
       name: auto-c5-4xaz2
       subnets:
       - id: <subnet-id>
         zone: <availability-zone-b>
         zoneId: <zone-id-b>
   ```

# Erstellen Sie eine NodePool
<a name="sagemaker-hyperpod-eks-autoscaling-nodepool"></a>

Das `NodePool` legt Einschränkungen für die Knoten fest, die von Karpenter erstellt werden können, und für die Pods, die auf diesen Knoten ausgeführt werden können. `NodePool`Sie können so konfiguriert werden, dass sie Dinge tun wie:
+ Beschränken Sie die Knotenerstellung auf bestimmte Zonen, Instance-Typen und Computerarchitekturen.
+ Definieren Sie Labels oder Taints, um die Anzahl der Pods zu begrenzen, die auf den von Karpenter erstellten Knoten ausgeführt werden können.

**Anmerkung**  
HyperPod Der Anbieter unterstützt eine begrenzte Anzahl bekannter Kubernetes- und Karpenteranforderungen, die im Folgenden erläutert werden. 

In den folgenden Schritten wird erklärt, wie eine erstellt wird`NodePool`.

1. Erstellen Sie eine YAML-Datei mit dem Namen nodepool.yaml und Ihrer gewünschten `NodePool`-Konfiguration.

1. Sie können die folgende Beispielkonfiguration verwenden.

   Suchen Sie nach `Ready` unter`Conditions`, um anzuzeigen, dass alle abhängigen Ressourcen ordnungsgemäß funktionieren.

   ```
   apiVersion: karpenter.sh/v1
   kind: NodePool
   metadata:
    name: sample-np
   spec:
    template:
      spec:
        nodeClassRef:
         group: karpenter.sagemaker.amazonaws.com
         kind: HyperpodNodeClass
         name: multiazc5
        expireAfter: Never
        requirements:
           - key: node.kubernetes.io/instance-type
             operator: Exists
   ```

1. Wenden Sie den `NodePool` auf Ihren Cluster an:

   ```
   kubectl apply -f nodepool.yaml
   ```

1. Überwachen Sie den `NodePool` Status, um sicherzustellen, dass der `Ready` Zustand im Status auf Folgendes gesetzt ist`True`:

   ```
   kubectl get nodepool sample-np -oyaml
   ```

   ```
   apiVersion: karpenter.sh/v1
   kind: NodePool
   metadata:
     name: <nodepool-name>
     uid: <resource-uid>
     ...
   spec:
     disruption:
       budgets:
       - nodes: 90%
       consolidateAfter: 0s
       consolidationPolicy: WhenEmptyOrUnderutilized
     template:
       spec:
         expireAfter: 720h
         nodeClassRef:
           group: karpenter.sagemaker.amazonaws.com
           kind: HyperpodNodeClass
           name: <nodeclass-name>
         requirements:
         - key: node.kubernetes.io/instance-type
           operator: Exists
   status:
     conditions:
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 2
       reason: ValidationSucceeded
       status: "True"
       type: ValidationSucceeded
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 2
       reason: NodeClassReady
       status: "True"
       type: NodeClassReady
     - lastTransitionTime: "<timestamp>"
       message: ""
       observedGeneration: 2
       reason: Ready
       status: "True"
       type: Ready
   ```

**Unterstützte Labels für Karpenter Provider HyperPod**

Dies sind die optionalen Einschränkungen und Anforderungen, die Sie in Ihrer `NodePool`-Konfiguration festlegen können.


|  Art der Anforderung  |  Zweck  |  Verwenden Sie Werte Case/Supported   |  Empfehlung  | 
| --- | --- | --- | --- | 
|  Instance-Typen (`node.kubernetes.io/instance-type`)  |  Steuert, SageMaker aus welchen Instanztypen Karpenter wählen kann  |  Anstatt sich nur auf ml.c5.xlarge zu beschränken, lassen Sie Karpenter aus allen verfügbaren Typen in Ihren Instance-Gruppen auswählen  |  Lassen Sie diesen Wert undefiniert oder verwenden Sie den Exists-Operator, um Karpenter maximale Flexibilität bei der Auswahl kostengünstiger Instance-Typen zu bieten  | 
|  Availability Zones (`topology.kubernetes.io/zone`)  |  Steuert, AWS in welchen Verfügbarkeitszonen Knoten erstellt werden können  |  Spezifische Zonennamen wie us-east-1c. Verwenden Sie diese Option, wenn Pods aus Latenz- oder Compliance-Gründen in bestimmten Zonen ausgeführt werden müssen  | – | 
|  Architektur (`kubernetes.io/arch`)  |  Spezifiziert die CPU-Architektur  |  Nur amd64 (derzeit keine ARM-Unterstützung)  |  –  | 

# Stellen Sie einen Workload bereit
<a name="sagemaker-hyperpod-eks-autoscaling-workload"></a>

Die folgenden Beispiele zeigen, wie HyperPod Autoscaling mit Karpenter automatisch Knoten als Reaktion auf Workload-Anforderungen bereitstellt. Diese Beispiele zeigen das grundlegende Skalierungsverhalten und die Verteilungsmuster für mehrere Verfügbarkeitszonen.

**Stellen Sie einen einfachen Workload bereit**

1. Die folgende Kubernetes-Bereitstellung umfasst Pods, die 1 CPU und 256 MB Arbeitsspeicher pro Replikat oder Pod anfordern. In diesem Szenario sind die Pods noch nicht hochgefahren.

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws/karpenter-provider-aws/refs/heads/main/examples/workloads/inflate.yaml
   ```

1. Führen Sie zum Test des Scale-Up-Prozesses den folgenden Befehl aus. Karpenter wird dem Cluster neue Knoten hinzufügen.

   ```
   kubectl scale deployment inflate --replicas 10
   ```

1. Führen Sie zum Test des Herunterskalierungsprozesses den folgenden Befehl aus. Karpenter wird Knoten aus dem Cluster entfernen.

   ```
   kubectl scale deployment inflate --replicas 0
   ```

**Stellen Sie einen Workload für mehrere bereit AZs**

1. Führen Sie den folgenden Befehl aus, um eine Workload bereitzustellen, die eine Kubernetes-Bereitstellung ausführt, bei der die Pods in der Bereitstellung gleichmäßig auf verschiedene Availability Zones verteilt werden müssen, mit einer maximalen Abweichung von 1.

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws/karpenter-provider-aws/refs/heads/main/examples/workloads/spread-zone.yaml
   ```

1. Führen Sie den folgenden Befehl aus, um die Anzahl der Pods anzupassen:

   ```
   kubectl scale deployment zone-spread --replicas 15
   ```

   Karpenter fügt dem Cluster neue Knoten hinzu, wobei sich mindestens ein Knoten in einer anderen Availability Zone befindet.

Weitere Beispiele finden Sie unter [Karpenter-Beispiel-Workloads](https://github.com/aws/karpenter-provider-aws/tree/main/examples/workloads) auf. GitHub

# Verwendung von topologieorientierter Planung in Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-topology"></a>

Die Effizienz der Datenübertragung ist ein entscheidender Faktor für High Performance Computing (HPC) - und Machine-Learning-Workloads. Wendet bei Verwendung UltraServers mit Amazon SageMaker HyperPod SageMaker HyperPod automatisch Topologie-Labels auf Ihre Ressourcen an. Die topologieorientierte Planung hilft bei der Zuweisung von Ressourcen, um den Datenübertragungsaufwand zu minimieren, indem sowohl die Instance-Topologie (wie Ressourcen innerhalb einer Instance verbunden sind) als auch die Netzwerktopologie (wie Instances miteinander verbunden sind) berücksichtigt werden. Weitere Informationen zur Instance-Topologie finden Sie unter [Instance-Topologie von Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology.html).

Die topologieorientierte Planung funktioniert mit beiden Clustern auf Slurm und Amazon EKS. Allgemeine Informationen darüber, wie Topologie mit Slurm funktioniert, finden Sie im [Topologie-Leitfaden](https://slurm.schedmd.com/topology.html) in der Slurm-Dokumentation.

Bei Amazon stammen SageMaker HyperPod die Kosten für die Datenübertragung in der Regel aus drei Hauptquellen:
+ **GPU-to-GPU Datenübertragung**: Moderne Technologien wie NVLink Switches ermöglichen NVLink Datenübertragungen mit hohem Durchsatz, GPUs ohne dass andere Rechenressourcen benötigt werden. Dies ist äußerst effizient, beschränkt sich jedoch normalerweise auf eine einzelne Instance.
+ **GPU-to-CPU Datenübertragung**: NUMA-Systeme (Non-Uniform Memory Access) verfügen über mehrere Systembusse auf einer einzigen Hauptplatine. In einer typischen EC2-Instance-Architektur wie p5.48xlarge gibt es zwei verschiedene Systembusse mit jeweils einer CPU und vier. GPUs Für eine optimale Leistung to/from GPUs sollten Prozesse, die Daten laden oder lesen, auf einer CPU ausgeführt werden, die mit demselben Systembus wie die GPU verbunden ist.
+ **Netzwerkkommunikation zwischen Instances: Instances** übertragen Daten über eine Kette von Netzwerk-Switches. Der kürzeste Pfad entspricht in der Regel der niedrigsten Latenz.

## UltraServer Architektur
<a name="sagemaker-hyperpod-topology-ultraserver-architecture"></a>

SageMaker HyperPod unterstützt UltraServer Architektur mit p6e-gb200.36xlarge-Instanzen. An UltraServer enthält bis zu 18 p6e-gb200.36xlarge-Instances, mit 4 auf jeder Instanz. GPUs Alle Knoten sind GPUs über NVLink Switches miteinander verbunden, sodass Daten zwischen zwei beliebigen Knoten übertragen werden können, ohne Netzwerkschnittstellen zu verwenden. GPUs 

Diese Architektur bietet eine deutliche Leistungssteigerung im Vergleich zu einzelnen Instances. Um diese Architektur effektiv nutzen zu können, sollten Jobs von einem einzigen Ort aus an die Rechenknoten übermittelt werden UltraServer.

## EKS-Topologie-Label
<a name="sagemaker-hyperpod-topology-eks-scheduling"></a>

Kennzeichnet Ihre Knoten gemäß der EC2-Instanztopologie HyperPod automatisch mit den folgenden Bezeichnungen:
+ **topology.kubernetes.io/region** — das, in dem sich der Knoten befindet. AWS-Region 
+ **topology.kubernetes.io/zone – Die Availability Zone**, in der sich der Knoten befindet.
+ **topology.k8s.aws/ network-node-layer** — beschreibt den Netzwerkknotensatz einer Instanz. NetworkNodes In jedem Netzwerkknotensatz sind die Netzwerkknoten absteigend in hierarchischer Reihenfolge aufgeführt. Der mit der Instance verbundene Netzwerkknoten ist der letzte Netzwerkknoten in der Liste. Es gibt bis zu vier Netzwerkknotenschichten, und jeder Knoten ist mit einer Bezeichnung gekennzeichnet. Verfügbare Ebenen sind`topology.k8s.aws/network-node-layer-1`,`topology.k8s.aws/network-node-layer-2`,`topology.k8s.aws/network-node-layer-3`.
+ **topology.k8s.aws/ultraserver-id — Ein Bezeichner, der verwendet wird, um alle Instanzen zu kennzeichnen, die zu derselben Domäne in einem Ultraserver gehören.** NVLink Weitere Informationen UltraServers zur Verwendung [UltraServers In Amazon verwenden SageMaker HyperPod](sagemaker-hyperpod-ultraserver.md) von SageMaker HyperPod with finden Sie unter.

Mithilfe dieser Beschriftungen können Sie die topologieorientierte Planung bei der HyperPod Task-Governance nutzen, um Topologiebezeichnungen und Anmerkungen anzubringen, um die Trainingseffizienz Ihrer Workloads zu optimieren. Weitere Informationen finden Sie unter [Verwendung von topologieorientierter Planung in der Amazon Task Governance SageMaker HyperPod](sagemaker-hyperpod-eks-operate-console-ui-governance-tasks-scheduling.md).

## Slurm-Netzwerktopologie-Plugins
<a name="sagemaker-hyperpod-topology-slurm-plugins"></a>

Slurm bietet integrierte Plugins zur Erkennung der Netzwerktopologie. UltraServer architecture in SageMaker HyperPod unterstützt das Block-Plugin.

### Das topology/block Plugin verwenden
<a name="w2aac13c35c39c15b5"></a>

NVIDIA hat ein topology/block Plugin entwickelt, das eine hierarchische Planung für Knotenblöcke mit den folgenden Merkmalen ermöglicht:
+ Ein Block ist ein aufeinanderfolgender Bereich von Knoten
+ Blöcke können sich nicht überlappen
+ Alle Knoten in einem Block werden einem Job zugewiesen, bevor der nächste Block verwendet wird
+ Die Planungsblockgröße ist die kleinste konfigurierte Blockgröße
+ Jede höhere Blockebenengröße ist eine Zweierpotenz als die vorherige

Dieses Plugin weist Knoten auf der Grundlage der definierten Netzwerktopologie zu.

#### Konfiguration
<a name="w2aac13c35c39c15b5b9"></a>

Um die topologieorientierte Planung mit dem Plugin zu konfigurieren, topology/block 
+ SageMaker HyperPod konfiguriert das Plugin automatisch. topology/block Wenn Sie das Plugin konfigurieren möchten, geben Sie Folgendes in der Datei topology.conf in Ihrem Slurm-Konfigurationsverzeichnis an:

  ```
  BlockName=us1 Nodes=ultraserver1-[0-17]
    
  BlockName=us2 Nodes=ultraserver2-[0-17]
    
  BlockSizes=18
  ```
+ Stellen Sie sicher, dass Ihr Paket beinhaltet: `slurm.conf`

  ```
  TopologyPlugin=topology/block
  ```

#### Usage
<a name="w2aac13c35c39c15b5c11"></a>

Beim Einreichen von Jobs können Sie die folgenden zusätzlichen Argumente mit den `srun` Befehlen `sbatch` und verwenden:
+ `--segment=N`: Geben Sie die Anzahl der Knoten an, die gruppiert werden sollen. Die Größe des Segments muss kleiner oder gleich der Größe des Planungsblocks sein.
+ `--exclusive=topo`: Fordert an, dass keine anderen Jobs im selben Block platziert werden. Dies ist nützlich für Benchmarking und leistungsabhängige Anwendungen.

Im Folgenden finden Sie Beispielszenarien, die Sie in Betracht ziehen könnten, wenn Sie über die Zuweisung von Blöcken nachdenken.

**Ordnen Sie einem leeren System einen ganzen Block von Knoten zu**

```
sbatch -N18
```

**Ordnen Sie einem leeren System zwei Knotenblöcke zu**

```
sbatch -N36
```

**Ordnen Sie einem Block 18 Knoten zu \$1 6 Knoten einem anderen Block**

```
sbatch -N24
```

**Ordnen Sie einem Block 12 Knoten und einem anderen Block 12 Knoten zu**

```
sbatch -N24 —segment=12
```

**Mit –exclusive=topo muss der Job in einem Block platziert werden, in dem es keine anderen Jobs gibt**

```
sbatch -N12 —exclusive=topo
```

## Bewährte Methoden für die Topologie UltraServer
<a name="sagemaker-hyperpod-topology-best-practices"></a>

Für optimale Leistung mit UltraServer Architektur in SageMaker HyperPod:
+ **Stellen Sie die entsprechenden Blockgrößen** ein: Konfigurieren Sie `BlockSizes=18` (oder 17, wenn ein Knoten frei ist), sodass sie der UltraServer Architektur entsprechen.
+ **Verwenden Sie Segmente für eine bessere Verfügbarkeit**: Verwenden Sie die `sbatch` Befehle `--segment=16``--segment=8`, oder `--segment=9` mit `srun` und, um die Flexibilität bei der Auftragsplanung zu verbessern.
+ **Berücksichtigen Sie die Auftragsgröße und die Segmentgröße**:
  + Falls`BlockSizes=18`, werden Jobs mit bis zu 18 Instanzen immer auf einer einzigen Instanz ausgeführt UltraServer.
  + Falls`BlockSizes=16`, werden Jobs mit weniger als 16 Instanzen immer auf einer einzigen Instanz ausgeführt UltraServer, während Jobs mit 18 Instanzen auf einer oder zwei Instanzen ausgeführt werden können UltraServers.

Wenn Sie über Segmentierung nachdenken, beachten Sie Folgendes
+ Mit `--segment=1` kann jede Instanz auf einer separaten Instanz ausgeführt UltraServer werden.
+ Mit `-N 18 --segment 9` werden 9 Knoten auf einem platziert UltraServer, und weitere 9 Knoten können auf demselben oder einem anderen platziert werden UltraServer.
+ Mit `-N 24 --segment 8` kann der Job auf 2 oder 3 ausgeführt werden UltraServers, wobei jeweils 8 Knoten zusammen auf demselben Server platziert werden.

## Einschränkungen bei der SageMaker HyperPod topologieorientierten Planung
<a name="sagemaker-hyperpod-topology-limitations"></a>

Das `topology/block`-Plugin hat Einschränkungen bei heterogenen Clustern (Clustern mit unterschiedlichen Instance-Typen):
+ Nur Knoten, die in Blöcken aufgeführt sind, können von Slurm geplant werden
+ Jeder Block muss mindestens `BlockSizes[0]` Knoten enthalten

Bei heterogenen Clustern sollten Sie die folgenden Alternativen in Betracht ziehen:
+ Verwenden Sie das Block-Plug-In nicht mit heterogenen Clustern. Isolieren Sie stattdessen UltraServer Knoten in einer anderen Partition.
+ Erstellen Sie einen separaten Cluster UltraServers nur in derselben VPC und verwenden Sie das Multicluster-Setup von Slurm.

# Bereitstellen von Modellen auf Amazon SageMaker HyperPod
<a name="sagemaker-hyperpod-model-deployment"></a>

Amazon geht SageMaker HyperPod jetzt über Schulungen hinaus und bietet eine umfassende Inferenzplattform, die die Flexibilität von Kubernetes mit der operativen Exzellenz von AWS Managed Services kombiniert. Stellen Sie Ihre Modelle für maschinelles Lernen bereit, skalieren und optimieren Sie sie mit Zuverlässigkeit auf Unternehmensniveau und nutzen Sie während des gesamten Modelllebenszyklus dieselbe HyperPod Rechenleistung.

Amazon SageMaker HyperPod bietet flexible Bereitstellungsschnittstellen, mit denen Sie Modelle über mehrere Methoden bereitstellen können, darunter kubectl, Python SDK, Amazon SageMaker Studio UI oder HyperPod CLI. Der Service bietet erweiterte Autoscaling-Funktionen mit dynamischer Ressourcenzuweisung, die sich automatisch an den Bedarf anpasst. Darüber hinaus umfasst es umfassende Beobachtungs- und Überwachungsfunktionen, die wichtige Kennzahlen wie time-to-first-token Latenz und GPU-Auslastung verfolgen, um Sie bei der Leistungsoptimierung zu unterstützen.

**Anmerkung**  
Bei der Bereitstellung auf GPU-fähigen Instances können Sie die GPU-Partitionierung mit der Multi-Instance-GPU (MIG) -Technologie verwenden, um mehrere Inferenz-Workloads auf einer einzigen GPU auszuführen. Dies ermöglicht eine bessere GPU-Auslastung und Kostenoptimierung. Weitere Informationen zur Konfiguration der GPU-Partitionierung finden Sie unter[Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

**Einheitliche Infrastruktur für Training und Inferenz**

Maximieren Sie Ihre GPU-Auslastung, indem Sie die Rechenressourcen nahtlos zwischen Trainings- und Inferenz-Workloads verlagern. Dies reduziert die Gesamtbetriebskosten und gewährleistet gleichzeitig die Betriebskontinuität.

**Bereitstellungsoptionen für Unternehmen**

Stellen Sie Modelle aus mehreren Quellen bereit, darunter Open-Weights- und Gated-Modelle von Amazon SageMaker JumpStart und benutzerdefinierte Modelle von Amazon S3 und Amazon, FSx mit Unterstützung für Inferenzarchitekturen mit einem oder mehreren Knoten.

**Verwaltetes Tiered Key-Value (KV) -Caching und intelligentes Routing**

Beim KV-Caching werden die vorberechneten Schlüssel-Wert-Vektoren nach der Verarbeitung früherer Token gespeichert. Wenn das nächste Token verarbeitet wird, müssen die Vektoren nicht neu berechnet werden. Mithilfe einer zweistufigen Caching-Architektur können Sie einen L1-Cache konfigurieren, der CPU-Speicher für die lokale Wiederverwendung mit geringer Latenz verwendet, und einen L2-Cache, der Redis nutzt, um skalierbare Cache-Sharing auf Knotenebene zu ermöglichen.

Intelligentes Routing analysiert eingehende Anfragen und leitet sie an die Inferenzinstanz weiter, bei der die relevanten zwischengespeicherten Schlüssel-Wert-Paare am wahrscheinlichsten sind. Das System untersucht die Anfrage und leitet sie dann auf der Grundlage einer der folgenden Routing-Strategien weiter:

1. `prefixaware`— Nachfolgende Anfragen mit demselben Prompt-Präfix werden an dieselbe Instanz weitergeleitet

1. `kvaware`— Eingehende Anfragen werden an die Instanz mit der höchsten KV-Cache-Trefferquote weitergeleitet.

1. `session`— Anfragen aus derselben Benutzersitzung werden an dieselbe Instanz weitergeleitet.

1. `roundrobin`— Gleichmäßige Verteilung von Anfragen ohne Berücksichtigung des Status des KV-Caches.

Weitere Informationen zur Aktivierung dieser Funktion finden Sie unter[Konfigurieren Sie KV-Caching und intelligentes Routing für eine verbesserte Leistung](sagemaker-hyperpod-model-deployment-deploy-ftm.md#sagemaker-hyperpod-model-deployment-deploy-ftm-cache-route).

**Integrierte L2-Cache-Tiered-Storage-Unterstützung für KV-Caching**

Aufbauend auf der bestehenden KV-Cache-Infrastruktur wird Tiered Storage HyperPod nun als zusätzliche L2-Backend-Option neben Redis integriert. Mit dem integrierten SageMaker verwalteten Tiered Storage bietet dies eine verbesserte Leistung. Diese Erweiterung bietet Kunden eine skalierbarere und effizientere Option für das Cache-Offloading, was besonders für LLM-Inferenz-Workloads mit hohem Durchsatz von Vorteil ist. Die Integration gewährleistet die Kompatibilität mit bestehenden Servern und Routing-Funktionen des VllM-Modells und bietet gleichzeitig eine bessere Leistung.

**Anmerkung**  
**Datenverschlüsselung:** KV-Cache-Daten (Aufmerksamkeitsschlüssel und -werte) werden im Ruhezustand unverschlüsselt gespeichert, um die Inferenzlatenz zu optimieren und die Leistung zu verbessern. Bei Workloads mit strengen encryption-at-rest Anforderungen sollten Sie die Verschlüsselung von Eingabeaufforderungen und Antworten auf Anwendungsebene in Betracht ziehen oder das Caching deaktivieren.  
**Datenisolierung:** Wenn verwalteter Tiered Storage als L2-Cache-Backend verwendet wird, teilen sich mehrere Inferenzbereitstellungen innerhalb eines Clusters den Cache-Speicher ohne Isolierung. L2-KV-Cachedaten (Aufmerksamkeitsschlüssel und -werte) aus verschiedenen Bereitstellungen werden nicht getrennt. Für Workloads, die eine Datenisolierung erfordern (Multi-Tenant-Szenarien, unterschiedliche Datenklassifizierungsebenen), sollten Sie die Lösung in separaten Clustern bereitstellen oder dedizierte Redis-Instanzen verwenden.

**Bereitstellung mit mehreren Instanzen und automatischem Failover**

HyperPod Inference unterstützt die Bereitstellung mit mehreren Instanzen, um die Zuverlässigkeit der Bereitstellung und die Ressourcennutzung zu verbessern. Geben Sie in Ihrer Bereitstellungskonfiguration eine priorisierte Liste von Instance-Typen an, und das System wählt automatisch aus verfügbaren Alternativen aus, wenn Ihr bevorzugter Instance-Typ nicht genügend Kapazität hat. Der Kubernetes-Scheduler verwendet die `preferredDuringSchedulingIgnoredDuringExecution` Knotenaffinität, um Instanztypen in der Reihenfolge ihrer Priorität zu bewerten. Dabei werden Workloads dem verfügbaren Instanztyp mit der höchsten Priorität zugewiesen und gleichzeitig die Bereitstellung sichergestellt, auch wenn bevorzugte Ressourcen nicht verfügbar sind. Diese Funktion verhindert Bereitstellungsausfälle aufgrund von Kapazitätsengpässen und behält gleichzeitig Ihre Kosten- und Leistungspräferenzen bei und gewährleistet so eine kontinuierliche Serviceverfügbarkeit auch bei Kapazitätsschwankungen im Cluster.

**Benutzerdefinierte Knotenaffinität für eine detaillierte Steuerung der Terminplanung**

HyperPod Inference unterstützt benutzerdefinierte Knotenaffinität, um die Workload-Platzierung über die Auswahl des Instanztyps hinaus zu steuern. Geben Sie im Feld Kriterien für die Knotenauswahl an, z. B. die Verteilung der Verfügbarkeitszonen, die Filterung nach Kapazitätstypen (auf Abruf oder vor Ort) oder benutzerdefinierte Knotenbezeichnungen. `nodeAffinity` Das System unterstützt obligatorische Platzierungsbeschränkungen `requiredDuringSchedulingIgnoredDuringExecution` und optionale Einstellungen durch `preferredDuringSchedulingIgnoredDuringExecution` und bietet so die volle Kontrolle über die Pod-Planung bei gleichzeitiger Beibehaltung der Flexibilität bei der Bereitstellung.

**Anmerkung**  
Wir erfassen bestimmte routinemäßige Betriebskennzahlen, um die Verfügbarkeit wesentlicher Dienste sicherzustellen. Die Erstellung dieser Metriken erfolgt vollautomatisch und erfordert keine menschliche Überprüfung des zugrundeliegenden Arbeitsaufwands für Modellinferenzen. Diese Metriken beziehen sich auf Bereitstellungsvorgänge, Ressourcenmanagement und Endpunktregistrierung.

**Topics**
+ [Einrichtung Ihrer HyperPod Cluster für die Modellbereitstellung](sagemaker-hyperpod-model-deployment-setup.md)
+ [Bereitstellen von Grundlagenmodellen und maßgeschneiderten, optimierten Modellen](sagemaker-hyperpod-model-deployment-deploy.md)
+ [Richtlinien zur automatischen Skalierung für die Bereitstellung Ihres HyperPod Inferenzmodells](sagemaker-hyperpod-model-deployment-autoscaling.md)
+ [Implementierung der Observability von Inferenzen auf Clustern HyperPod](sagemaker-hyperpod-model-deployment-observability.md)
+ [Aufgabenverwaltung für die Modellbereitstellung am HyperPod](sagemaker-hyperpod-model-deployment-task-gov.md)
+ [HyperPod Fehlerbehebung bei Inferenzen](sagemaker-hyperpod-model-deployment-ts.md)
+ [Versionshinweise SageMaker HyperPod zu Amazon Inference](sagemaker-hyperpod-inference-release-notes.md)

# Einrichtung Ihrer HyperPod Cluster für die Modellbereitstellung
<a name="sagemaker-hyperpod-model-deployment-setup"></a>

Diese Anleitung zeigt Ihnen, wie Sie Inferenzfunktionen auf SageMaker HyperPod Amazon-Clustern aktivieren. Sie richten die Infrastruktur, die Berechtigungen und die Operatoren ein, die Techniker für maschinelles Lernen benötigen, um Inferenzendpunkte bereitzustellen und zu verwalten.

**Anmerkung**  
Informationen zum Erstellen eines Clusters mit vorinstalliertem Inferenzoperator finden Sie unter. [Erstellen Sie einen EKS-orchestrierten Cluster SageMaker HyperPod](sagemaker-hyperpod-quickstart.md#sagemaker-hyperpod-quickstart-eks) Um den Inferenzoperator auf einem vorhandenen Cluster zu installieren, fahren Sie mit den folgenden Verfahren fort.

Sie können den Inferenzoperator mithilfe der SageMaker KI-Konsole installieren, um ein optimiertes Erlebnis zu erzielen, oder die AWS CLI für mehr Kontrolle verwenden. Dieses Handbuch behandelt beide Installationsmethoden.

## Methode 1: Installieren Sie das HyperPod Inference Add-on über die SageMaker AI-Konsole (empfohlen)
<a name="sagemaker-hyperpod-model-deployment-setup-ui"></a>

Die SageMaker AI-Konsole bietet mit zwei Installationsoptionen die optimierteste Benutzererfahrung:
+ **Schnellinstallation:** Erstellt automatisch alle erforderlichen Ressourcen mit optimierten Standardeinstellungen, einschließlich IAM-Rollen, Amazon S3 S3-Buckets und Abhängigkeits-Add-Ons. Es wird eine neue Studio-Domain mit den erforderlichen Berechtigungen für die Bereitstellung eines JumpStart Modells im entsprechenden Cluster erstellt. Diese Option ist ideal für einen schnellen Einstieg mit minimalen Konfigurationsentscheidungen.
+ **Benutzerdefinierte Installation:** Bietet Flexibilität bei der Angabe vorhandener Ressourcen oder der Anpassung von Konfigurationen bei gleichzeitiger Beibehaltung des Ein-Klick-Erlebnisses. Kunden können je nach ihren organisatorischen Anforderungen wählen, ob sie bestehende IAM-Rollen, Amazon S3 S3-Buckets oder Abhängigkeits-Add-ons wiederverwenden möchten.

### Voraussetzungen
<a name="sagemaker-hyperpod-model-deployment-setup-ui-prereqs"></a>
+ Ein vorhandener HyperPod Cluster mit Amazon EKS-Orchestrierung
+ IAM-Berechtigungen für die Amazon EKS-Clusterverwaltung
+ kubectl ist für den Clusterzugriff konfiguriert

### Schritte zur Installation
<a name="sagemaker-hyperpod-model-deployment-setup-ui-steps"></a>

1. Navigieren Sie zur SageMaker AI-Konsole und gehen Sie zu **HyperPod Clusters** **→ Cluster Management**.

1. Wählen Sie Ihren Cluster aus, in dem Sie den Inference Operator installieren möchten.

1. Navigieren Sie zur Registerkarte **Inferenz.** Wählen Sie „**Schnellinstallation**“ für die automatische Installation oder „**Benutzerdefinierte Installation**“ für eine flexible Konfiguration.

1. Wenn Sie sich für benutzerdefinierte Installation entscheiden, geben Sie vorhandene Ressourcen an oder passen Sie die Einstellungen nach Bedarf an.

1. Klicken Sie auf **Installieren**, um den automatisierten Installationsvorgang zu starten.

1. Überprüfen Sie den Installationsstatus über die Konsole oder indem Sie die folgenden Befehle ausführen:

   ```
   kubectl get pods -n hyperpod-inference-system
   ```

   ```
   aws eks describe-addon --cluster-name CLUSTER-NAME --addon-name amazon-sagemaker-hyperpod-inference --region REGION
   ```

Nachdem das Add-on erfolgreich installiert wurde, können Sie Modelle mithilfe der Dokumentation zur Modellbereitstellung bereitstellen oder zu navigieren[Stellen Sie sicher, dass der Inferenzoperator funktioniert](#sagemaker-hyperpod-model-deployment-setup-verify).

## Methode 2: Installation des Inferenzoperators mit der CLI AWS
<a name="sagemaker-hyperpod-model-deployment-setup-addon"></a>

Die AWS CLI-Installationsmethode bietet mehr Kontrolle über den Installationsprozess und eignet sich für Automatisierung und erweiterte Konfigurationen.

### Voraussetzungen
<a name="sagemaker-hyperpod-model-deployment-setup-prereq-addon"></a>

Der Inferenzoperator ermöglicht die Bereitstellung und Verwaltung von Inferenzendpunkten für maschinelles Lernen auf Ihrem Amazon EKS-Cluster. Stellen Sie vor der Installation sicher, dass Ihr Cluster über die erforderlichen Sicherheitskonfigurationen und die unterstützende Infrastruktur verfügt. Gehen Sie wie folgt vor, um IAM-Rollen zu konfigurieren, den Load AWS Balancer Controller zu installieren, Amazon S3- und Amazon FSx CSI-Treiber einzurichten und KEDA und cert-manager bereitzustellen:

1. [Connect zu Ihrem Cluster her und richten Sie Umgebungsvariablen ein](#sagemaker-hyperpod-model-deployment-setup-connect-addon)

1. [Konfigurieren Sie IAM-Rollen für den Inferenzoperator](#sagemaker-hyperpod-model-deployment-setup-prepare-addon)

1. [Erstellen Sie die ALB-Controller-Rolle](#sagemaker-hyperpod-model-deployment-setup-alb-addon)

1. [Erstellen Sie die KEDA-Operatorrolle](#sagemaker-hyperpod-model-deployment-setup-keda-addon)

1. [Installieren Sie die EKS Add-Ons für die Abhängigkeit](#sagemaker-hyperpod-model-deployment-setup-install-dependencies)

**Anmerkung**  
Alternativ können Sie CloudFormation Vorlagen verwenden, um die Einrichtung der Voraussetzungen zu automatisieren. Weitere Informationen finden Sie unter [Verwenden von CloudFormation Vorlagen zur Erstellung des Stacks für die erforderlichen Komponenten](#sagemaker-hyperpod-model-deployment-setup-cfn).

### Connect zu Ihrem Cluster her und richten Sie Umgebungsvariablen ein
<a name="sagemaker-hyperpod-model-deployment-setup-connect-addon"></a>

Bevor Sie fortfahren, stellen Sie sicher, dass Ihre AWS Anmeldeinformationen ordnungsgemäß konfiguriert sind und über die erforderlichen Berechtigungen verfügen. Führen Sie die folgenden Schritte mit einem IAM-Prinzipal mit Administratorrechten und Cluster-Admin-Zugriff auf einen Amazon EKS-Cluster aus. Stellen Sie sicher, dass Sie einen HyperPod Cluster mit [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) erstellt haben. Installieren Sie die Befehlszeilenprogramme helm, eksctl und kubectl.

Für Kubernetes-Administratorzugriff auf den Amazon EKS-Cluster öffnen Sie die Amazon EKS-Konsole und wählen Sie Ihren Cluster aus. Wählen Sie auf der Registerkarte **Zugriff** die Option **IAM-Zugriffseinträge** aus. Wenn für Ihren IAM-Prinzipal kein Eintrag vorhanden ist, wählen Sie „**Zugangseintrag erstellen**“ aus. Wählen Sie den gewünschten IAM-Prinzipal aus und ordnen Sie ihn `AmazonEKSClusterAdminPolicy` zu.

1. Konfigurieren Sie kubectl so, dass es eine Verbindung zu dem neu erstellten HyperPod Cluster herstellt, der vom Amazon EKS-Cluster orchestriert wird. Geben Sie die Region und HyperPod den Clusternamen an.

   ```
   export HYPERPOD_CLUSTER_NAME=<hyperpod-cluster-name>
   export REGION=<region>
   
   # S3 bucket where tls certificates will be uploaded
   export BUCKET_NAME="hyperpod-tls-<your-bucket-suffix>" # Bucket should have prefix: hyperpod-tls-*
   
   export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \
   --query 'Orchestrator.Eks.ClusterArn' --output text | \
   cut -d'/' -f2)
   aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION
   ```
**Anmerkung**  
Wenn Sie einen benutzerdefinierten Bucket-Namen verwenden, der nicht mit beginnt`hyperpod-tls-`, fügen Sie Ihrer Ausführungsrolle die folgende Richtlinie hinzu:  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "TLSBucketDeleteObjectsPermission",
               "Effect": "Allow",
               "Action": ["s3:DeleteObject"],
               "Resource": ["arn:aws:s3:::${BUCKET_NAME}/*"],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "${aws:PrincipalAccount}"
                   }
               }
           },
           {
               "Sid": "TLSBucketGetObjectAccess",
               "Effect": "Allow",
               "Action": ["s3:GetObject"],
               "Resource": ["arn:aws:s3:::${BUCKET_NAME}/*"]
           },
           {
               "Sid": "TLSBucketPutObjectAccess",
               "Effect": "Allow",
               "Action": ["s3:PutObject", "s3:PutObjectTagging"],
               "Resource": ["arn:aws:s3:::${BUCKET_NAME}/*"],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "${aws:PrincipalAccount}"
                   }
               }
           }
       ]
   }
   ```

1. Legen Sie die Standard-Umgebungsvariablen fest.

   ```
   HYPERPOD_INFERENCE_ROLE_NAME="SageMakerHyperPodInference-$HYPERPOD_CLUSTER_NAME"
   HYPERPOD_INFERENCE_NAMESPACE="hyperpod-inference-system"
   ```

1. Extrahieren Sie den Amazon EKS-Clusternamen aus dem Cluster-ARN, aktualisieren Sie die lokale kubeconfig und überprüfen Sie die Konnektivität, indem Sie alle Pods in NameBereiche auflisten.

   ```
   kubectl get pods --all-namespaces
   ```

1. (Optional) Installieren Sie das NVIDIA-Geräte-Plugin, um die GPU-Unterstützung auf dem Cluster zu aktivieren.

   ```
   # Install nvidia device plugin
   kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.5/nvidia-device-plugin.yml
   # Verify that GPUs are visible to k8s
   kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia.com/gpu
   ```

### Konfigurieren Sie IAM-Rollen für den Inferenzoperator
<a name="sagemaker-hyperpod-model-deployment-setup-prepare-addon"></a>

1. Sammeln Sie wichtige AWS Ressourcen-Identifikatoren, die für die Konfiguration von Serviceintegrationen zwischen Amazon EKS-, SageMaker KI- und IAM-Komponenten ARNs erforderlich sind.

   ```
   %%bash -x
   
   export ACCOUNT_ID=$(aws --region $REGION sts get-caller-identity --query 'Account' --output text)
   export OIDC_ID=$(aws --region $REGION eks describe-cluster --name $EKS_CLUSTER_NAME --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
   export EKS_CLUSTER_ROLE=$(aws eks --region $REGION describe-cluster --name $EKS_CLUSTER_NAME --query 'cluster.roleArn' --output text)
   ```

1. Ordnen Sie Ihrem EKS-Cluster einen OIDCidentity IAM-Anbieter zu.

   ```
   eksctl utils associate-iam-oidc-provider --region=$REGION --cluster=$EKS_CLUSTER_NAME --approve
   ```

1. Erstellen Sie die Vertrauensrichtlinie, die für die IAM-Rolle des HyperPod Inferenzoperators erforderlich ist. Diese Richtlinien ermöglichen eine sichere dienstübergreifende Kommunikation zwischen Amazon EKS, SageMaker KI und anderen AWS Diensten.

   ```
   %%bash -x
   
   # Create trust policy JSON
   cat << EOF > trust-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "sagemaker.amazonaws.com"
               ]
           },
           "Action": "sts:AssumeRole"
       },
       {
           "Effect": "Allow",
           "Principal": {
               "Federated": "arn:aws:iam::${ACCOUNT_ID}:oidc-provider/oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringLike": {
                   "oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}:aud": "sts.amazonaws.com",
                   "oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}:sub": "system:serviceaccount:hyperpod-inference-system:hyperpod-inference-controller-manager"
               }
           }
       }
   ]
   }
   EOF
   ```

1. Erstellen Sie eine Ausführungsrolle für den Inferenzoperator.

   ```
   aws iam create-role --role-name $HYPERPOD_INFERENCE_ROLE_NAME --assume-role-policy-document file://trust-policy.json
   aws iam attach-role-policy --role-name $HYPERPOD_INFERENCE_ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerHyperPodInferenceAccess
   ```

1. Erstellen Sie einen Namespace für Ressourcen von Inferenzoperatoren

   ```
   kubectl create namespace $HYPERPOD_INFERENCE_NAMESPACE
   ```

### Erstellen Sie die ALB-Controller-Rolle
<a name="sagemaker-hyperpod-model-deployment-setup-alb-addon"></a>

1. Erstellen der Vertrauens- und Berechtigungsrichtlinie

   ```
   # Create trust policy
   cat <<EOF > /tmp/alb-trust-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringLike": {
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:sub": "system:serviceaccount:hyperpod-inference-system:aws-load-balancer-controller",
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:aud": "sts.amazonaws.com"
               }
           }
       }
   ]
   }
   EOF
   
   # Create permissions policy
   export ALBController_IAM_POLICY_NAME=HyperPodInferenceALBControllerIAMPolicy
   curl -o AWSLoadBalancerControllerIAMPolicy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.13.0/docs/install/iam_policy.json
   
   # Create the role
   aws iam create-role \
       --role-name alb-role \
       --assume-role-policy-document file:///tmp/alb-trust-policy.json 
   
   # Create the policy
   ALB_POLICY_ARN=$(aws iam create-policy \
       --policy-name $ALBController_IAM_POLICY_NAME \
       --policy-document file://AWSLoadBalancerControllerIAMPolicy.json \
       --query 'Policy.Arn' \
       --output text)
   
   # Attach the policy to the role
   aws iam attach-role-policy \
       --role-name alb-role \
       --policy-arn $ALB_POLICY_ARN
   ```

1. Wenden Sie Tags (`kubernetes.io.role/elb`) auf alle Subnetze im Amazon EKS-Cluster (sowohl öffentlich als auch privat) an.

   ```
   export VPC_ID=$(aws --region $REGION eks describe-cluster --name $EKS_CLUSTER_NAME --query 'cluster.resourcesVpcConfig.vpcId' --output text)
   
   # Add Tags
   aws ec2 describe-subnets \
   --filters "Name=vpc-id,Values=${VPC_ID}" "Name=map-public-ip-on-launch,Values=true" \
   --query 'Subnets[*].SubnetId' --output text | \
   tr '\t' '\n' | \
   xargs -I{} aws ec2 create-tags --resources {} --tags Key=kubernetes.io/role/elb,Value=1
   
   # Verify Tags are added
   aws ec2 describe-subnets \
   --filters "Name=vpc-id,Values=${VPC_ID}" "Name=map-public-ip-on-launch,Values=true" \
   --query 'Subnets[*].SubnetId' --output text | \
   tr '\t' '\n' |
   xargs -n1 -I{} aws ec2 describe-tags --filters "Name=resource-id,Values={}" "Name=key,Values=kubernetes.io/role/elb" --query "Tags[0].Value" --output text
   ```

1. Erstellen Sie einen Amazon-S3-VPC-Endpunkt.

   ```
   aws ec2 create-vpc-endpoint \
       --region ${REGION} \
       --vpc-id ${VPC_ID} \
       --vpc-endpoint-type Gateway \
       --service-name "com.amazonaws.${REGION}.s3" \
       --route-table-ids $(aws ec2 describe-route-tables --region $REGION --filters "Name=vpc-id,Values=${VPC_ID}" --query 'RouteTables[].Associations[].RouteTableId' --output text | tr ' ' '\n' | sort -u | tr '\n' ' ')
   ```

### Erstellen Sie die KEDA-Operatorrolle
<a name="sagemaker-hyperpod-model-deployment-setup-keda-addon"></a>

1. Erstellen der Vertrauens- und Berechtigungsrichtlinie

   ```
   # Create trust policy
   cat <<EOF > /tmp/keda-trust-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringLike": {
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:sub": "system:serviceaccount:hyperpod-inference-system:keda-operator",
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:aud": "sts.amazonaws.com"
               }
           }
       }
   ]
   }
   EOF
   
   # Create permissions policy
   cat <<EOF > /tmp/keda-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "cloudwatch:GetMetricData",
               "cloudwatch:GetMetricStatistics",
               "cloudwatch:ListMetrics"
           ],
           "Resource": "*"
       },
       {
           "Effect": "Allow",
           "Action": [
               "aps:QueryMetrics",
               "aps:GetLabels",
               "aps:GetSeries",
               "aps:GetMetricMetadata"
           ],
           "Resource": "*"
       }
   ]
   }
   EOF
   
   # Create the role
   aws iam create-role \
       --role-name keda-operator-role \
       --assume-role-policy-document file:///tmp/keda-trust-policy.json
   
   # Create the policy
   KEDA_POLICY_ARN=$(aws iam create-policy \
       --policy-name KedaOperatorPolicy \
       --policy-document file:///tmp/keda-policy.json \
       --query 'Policy.Arn' \
       --output text)
   
   # Attach the policy to the role
   aws iam attach-role-policy \
       --role-name keda-operator-role \
       --policy-arn $KEDA_POLICY_ARN
   ```

1. Wenn Sie geschützte Modelle verwenden, erstellen Sie eine IAM-Rolle, um auf die geschützten Modelle zuzugreifen.

   1. Erstellen Sie eine IAM-Richtlinie.

      ```
      %%bash -s $REGION
      
      JUMPSTART_GATED_ROLE_NAME="JumpstartGatedRole-${REGION}-${HYPERPOD_CLUSTER_NAME}"
      
      cat <<EOF > /tmp/trust-policy.json
      {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID"
              },
              "Action": "sts:AssumeRoleWithWebIdentity",
              "Condition": {
                  "StringLike": {
                      "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:sub": "system:serviceaccount:*:hyperpod-inference-service-account*",
                      "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:aud": "sts.amazonaws.com"
                  }
              }
          },
              {
              "Effect": "Allow",
              "Principal": {
                  "Service": "sagemaker.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
          }
      ]
      }
      EOF
      ```

   1. Erstellen Sie eine IAM-Rolle.

      ```
      # Create the role using existing trust policy
      aws iam create-role \
      --role-name $JUMPSTART_GATED_ROLE_NAME \
      --assume-role-policy-document file:///tmp/trust-policy.json
      
      aws iam attach-role-policy \
      --role-name $JUMPSTART_GATED_ROLE_NAME \
      --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerHyperPodGatedModelAccess
      ```

      ```
      JUMPSTART_GATED_ROLE_ARN_LIST= !aws iam get-role --role-name=$JUMPSTART_GATED_ROLE_NAME --query "Role.Arn" --output text
      JUMPSTART_GATED_ROLE_ARN = JUMPSTART_GATED_ROLE_ARN_LIST[0]
      !echo $JUMPSTART_GATED_ROLE_ARN
      ```

### Installieren Sie die EKS Add-Ons für die Abhängigkeit
<a name="sagemaker-hyperpod-model-deployment-setup-install-dependencies"></a>

Bevor Sie den Inferenzoperator installieren, müssen Sie die folgenden erforderlichen EKS-Add-Ons auf Ihrem Cluster installieren. Der Inferenzoperator kann nicht installiert werden, wenn eine dieser Abhängigkeiten fehlt. Für jedes Add-on ist eine Mindestversion erforderlich, um die Kompatibilität mit dem Inference-Add-on zu gewährleisten.

**Wichtig**  
Installieren Sie alle Add-Ons für Abhängigkeiten, bevor Sie versuchen, den Inferenzoperator zu installieren. Fehlende Abhängigkeiten führen zu Installationsfehlern mit spezifischen Fehlermeldungen.

#### Erforderliche Add-Ons
<a name="sagemaker-hyperpod-model-deployment-setup-required-addons"></a>

1. **Amazon S3 Mountpoint CSI-Treiber** (Mindestversion: v1.14.1-eksbuild.1)

   Erforderlich für das Mounten von S3-Buckets als persistente Volumes in Inferenz-Workloads.

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name aws-mountpoint-s3-csi-driver \
       --region $REGION \
       --service-account-role-arn $S3_CSI_ROLE_ARN
   ```

   Detaillierte Installationsanweisungen, einschließlich der erforderlichen IAM-Berechtigungen, finden Sie unter [Mountpoint for Amazon S3](https://docs.aws.amazon.com/eks/latest/userguide/workloads-add-ons-available-eks.html#mountpoint-for-s3-add-on) CSI-Treiber.

1. **Amazon FSx CSI-Treiber** (Mindestversion: v1.6.0-eksbuild.1)

   Erforderlich für das Mounten von Dateisystemen für Hochleistungsmodellspeicher. FSx 

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name aws-fsx-csi-driver \
       --region $REGION \
       --service-account-role-arn $FSX_CSI_ROLE_ARN
   ```

   Detaillierte Installationsanweisungen, einschließlich der erforderlichen IAM-Berechtigungen, finden Sie unter [Amazon FSx for Lustre CSI-Treiber.](https://docs.aws.amazon.com/eks/latest/userguide/workloads-add-ons-available-eks.html#add-ons-aws-fsx-csi-driver)

1. **Metrics Server** (Mindestversion: v0.7.2-eksbuild.4)

   Erforderlich für die Autoscaling-Funktionalität und die Erfassung von Ressourcenmetriken.

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name metrics-server \
       --region $REGION
   ```

   Detaillierte Installationsanweisungen finden Sie unter [Metrics Server](https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html).

1. **Cert Manager** (Mindestversion: v1.18.2-eksbuild.2)

   Erforderlich für die Verwaltung von TLS-Zertifikaten für sichere Inferenzendpunkte.

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION
   ```

   [Detaillierte Installationsanweisungen finden Sie unter cert-manager.](https://docs.aws.amazon.com/eks/latest/userguide/community-addons.html#addon-cert-manager)

#### Überprüfen Sie die Installation des Add-ons
<a name="sagemaker-hyperpod-model-deployment-setup-verify-dependencies"></a>

Stellen Sie nach der Installation der erforderlichen Add-Ons sicher, dass sie ordnungsgemäß ausgeführt werden:

```
# Check add-on status
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name metrics-server --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION

# Verify pods are running
kubectl get pods -n kube-system | grep -E "(mountpoint|fsx|metrics-server)"
kubectl get pods -n cert-manager
```

Alle Add-Ons sollten den Status „AKTIV“ haben und alle Pods sollten sich im Status „Running“ befinden, bevor Sie mit der Installation des Inference Operators fortfahren.

**Anmerkung**  
Wenn Sie Ihren HyperPod Cluster mit den Optionen für die Schnellinstallation oder die benutzerdefinierte Einrichtung erstellt haben, sind der FSx CSI-Treiber und der Cert Manager möglicherweise bereits installiert. Überprüfen Sie, ob sie vorhanden sind, indem Sie die obigen Befehle verwenden.

### Installation des Inference Operators mit dem EKS-Add-on
<a name="sagemaker-hyperpod-model-deployment-setup-install-inference-operator-addon"></a>

Die Installationsmethode für das EKS-Add-on bietet eine verwaltete Erfahrung mit automatischen Updates und integrierter Abhängigkeitsprüfung. Dies ist der empfohlene Ansatz für die Installation des Inferenzoperators.

**Installieren Sie das Inferenzoperator-Add-on**

1. Bereiten Sie die Add-On-Konfiguration vor, indem Sie alle erforderlichen Daten ARNs zusammenstellen und die Konfigurationsdatei erstellen:

   ```
   # Gather required ARNs
   export EXECUTION_ROLE_ARN=$(aws iam get-role --role-name $HYPERPOD_INFERENCE_ROLE_NAME --query "Role.Arn" --output text)
   export HYPERPOD_CLUSTER_ARN=$(aws sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME --region $REGION --query "ClusterArn" --output text)
   export KEDA_ROLE_ARN=$(aws iam get-role --role-name keda-operator-role --query 'Role.Arn' --output text)
   export ALB_ROLE_ARN=$(aws iam get-role --role-name alb-role --query 'Role.Arn' --output text)
   
   # Verify all ARNs are set correctly
   echo "Execution Role ARN: $EXECUTION_ROLE_ARN"
   echo "HyperPod Cluster ARN: $HYPERPOD_CLUSTER_ARN"
   echo "KEDA Role ARN: $KEDA_ROLE_ARN"
   echo "ALB Role ARN: $ALB_ROLE_ARN"
   echo "TLS S3 Bucket: $BUCKET_NAME"
   ```

1. Erstellen Sie die Add-On-Konfigurationsdatei mit allen erforderlichen Einstellungen:

   ```
   cat > addon-config.json << EOF
   {
     "executionRoleArn": "$EXECUTION_ROLE_ARN",
     "tlsCertificateS3Bucket": "$BUCKET_NAME",
     "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN",
     "jumpstartGatedModelDownloadRoleArn": "$JUMPSTART_GATED_ROLE_ARN",
     "alb": {
       "serviceAccount": {
         "create": true,
         "roleArn": "$ALB_ROLE_ARN"
       }
     },
     "keda": {
       "auth": {
         "aws": {
           "irsa": {
             "roleArn": "$KEDA_ROLE_ARN"
           }
         }
       }
     }
   }
   EOF
   
   # Verify the configuration file
   cat addon-config.json
   ```

1. Installieren Sie das Inferenzoperator-Add-on (Mindestversion: v1.0.0-eksbuild.1):

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --configuration-values file://addon-config.json \
       --region $REGION
   ```

1. Überwachen Sie den Installationsfortschritt und stellen Sie sicher, dass die Installation erfolgreich abgeschlossen wurde:

   ```
   # Check installation status (repeat until status shows "ACTIVE")
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health}" \
       --output table
   
   # Verify pods are running
   kubectl get pods -n hyperpod-inference-system
   
   # Check operator logs for any issues
   kubectl logs -n hyperpod-inference-system deployment/hyperpod-inference-controller-manager --tail=50
   ```

Ausführliche Informationen zur Behebung von Installationsproblemen finden Sie unter[HyperPod Fehlerbehebung bei Inferenzen](sagemaker-hyperpod-model-deployment-ts.md).

Um zu überprüfen, ob der Inferenzoperator ordnungsgemäß funktioniert, fahren Sie fort mit[Stellen Sie sicher, dass der Inferenzoperator funktioniert](#sagemaker-hyperpod-model-deployment-setup-verify).

### Verwenden von CloudFormation Vorlagen zur Erstellung des Stacks für die erforderlichen Komponenten
<a name="sagemaker-hyperpod-model-deployment-setup-cfn"></a>

Als Alternative zur manuellen Konfiguration der Voraussetzungen können Sie CloudFormation Vorlagen verwenden, um die Erstellung der erforderlichen IAM-Rollen und -Richtlinien für den Inferenzoperator zu automatisieren.

1. Richten Sie Eingabevariablen ein. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen:

   ```
   #!/bin/bash
   set -e
   
   # ===== INPUT VARIABLES =====
   HP_CLUSTER_NAME="my-hyperpod-cluster"  # Replace with your HyperPod cluster name
   REGION="us-east-1"  # Replace with your AWS region
   PREFIX="my-prefix"  # Replace with your resource prefix
   SHORT_PREFIX="12a34d56"  # Replace with your short prefix (maximum 8 characters)
   CREATE_DOMAIN="true"  # Set to "false" if you don't need a SageMaker Studio domain
   STACK_NAME="hyperpod-inference-prerequisites"  # Replace with your stack name
   TEMPLATE_URL="https://aws-sagemaker-hyperpod-cluster-setup-${REGION}-prod.s3.${REGION}.amazonaws.com/templates/main-stack-inference-operator-addon-template.yaml"
   ```

1. Cluster- und Netzwerkinformationen ableiten:

   ```
   # ===== DERIVE EKS CLUSTER NAME =====
   EKS_CLUSTER_NAME=$(aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region $REGION --query 'Orchestrator.Eks.ClusterArn' --output text | awk -F'/' '{print $NF}')
   echo "EKS_CLUSTER_NAME=$EKS_CLUSTER_NAME"
   
   # ===== GET VPC AND OIDC =====
   VPC_ID=$(aws eks describe-cluster --name $EKS_CLUSTER_NAME --region $REGION --query 'cluster.resourcesVpcConfig.vpcId' --output text)
   echo "VPC_ID=$VPC_ID"
   
   OIDC_PROVIDER=$(aws eks describe-cluster --name $EKS_CLUSTER_NAME --region $REGION --query 'cluster.identity.oidc.issuer' --output text | sed 's|https://||')
   echo "OIDC_PROVIDER=$OIDC_PROVIDER"
   
   # ===== GET PRIVATE ROUTE TABLES =====
   ALL_ROUTE_TABLES=$(aws ec2 describe-route-tables --region $REGION --filters "Name=vpc-id,Values=$VPC_ID" --query 'RouteTables[].RouteTableId' --output text)
   EKS_PRIVATE_ROUTE_TABLES=""
   for rtb in $ALL_ROUTE_TABLES; do
       HAS_IGW=$(aws ec2 describe-route-tables --region $REGION --route-table-ids $rtb --query 'RouteTables[0].Routes[?GatewayId && starts_with(GatewayId, `igw-`)]' --output text 2>/dev/null)
       if [ -z "$HAS_IGW" ]; then
           EKS_PRIVATE_ROUTE_TABLES="${EKS_PRIVATE_ROUTE_TABLES:+$EKS_PRIVATE_ROUTE_TABLES,}$rtb"
       fi
   done
   echo "EKS_PRIVATE_ROUTE_TABLES=$EKS_PRIVATE_ROUTE_TABLES"
   
   # ===== CHECK S3 VPC ENDPOINT =====
   S3_ENDPOINT_EXISTS=$(aws ec2 describe-vpc-endpoints --region $REGION --filters "Name=vpc-id,Values=$VPC_ID" "Name=service-name,Values=com.amazonaws.$REGION.s3" --query 'VpcEndpoints[0].VpcEndpointId' --output text)
   CREATE_S3_ENDPOINT_STACK=$([ "$S3_ENDPOINT_EXISTS" == "None" ] && echo "true" || echo "false")
   echo "CREATE_S3_ENDPOINT_STACK=$CREATE_S3_ENDPOINT_STACK"
   
   # ===== GET HYPERPOD DETAILS =====
   HYPERPOD_CLUSTER_ARN=$(aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region $REGION --query 'ClusterArn' --output text)
   echo "HYPERPOD_CLUSTER_ARN=$HYPERPOD_CLUSTER_ARN"
   
   # ===== GET DEFAULT VPC FOR DOMAIN =====
   DOMAIN_VPC_ID=$(aws ec2 describe-vpcs --region $REGION --filters "Name=isDefault,Values=true" --query 'Vpcs[0].VpcId' --output text)
   echo "DOMAIN_VPC_ID=$DOMAIN_VPC_ID"
   
   DOMAIN_SUBNET_IDS=$(aws ec2 describe-subnets --region $REGION --filters "Name=vpc-id,Values=$DOMAIN_VPC_ID" --query 'Subnets[0].SubnetId' --output text)
   echo "DOMAIN_SUBNET_IDS=$DOMAIN_SUBNET_IDS"
   
   # ===== GET INSTANCE GROUPS =====
   INSTANCE_GROUPS=$(aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region $REGION --query 'InstanceGroups[].InstanceGroupName' --output json | python3 -c "import sys, json; groups = json.load(sys.stdin); print('[' + ','.join([f'\\\\\\\"' + g + '\\\\\\\"' for g in groups]) + ']')")
   echo "INSTANCE_GROUPS=$INSTANCE_GROUPS"
   ```

1. Parameterdatei erstellen und Stack bereitstellen:

   ```
   # ===== CREATE PARAMETERS JSON =====
   cat > /tmp/cfn-params.json << EOF
   [
     {"ParameterKey":"ResourceNamePrefix","ParameterValue":"$PREFIX"},
     {"ParameterKey":"ResourceNameShortPrefix","ParameterValue":"$SHORT_PREFIX"},
     {"ParameterKey":"VpcId","ParameterValue":"$VPC_ID"},
     {"ParameterKey":"EksPrivateRouteTableIds","ParameterValue":"$EKS_PRIVATE_ROUTE_TABLES"},
     {"ParameterKey":"EKSClusterName","ParameterValue":"$EKS_CLUSTER_NAME"},
     {"ParameterKey":"OIDCProviderURLWithoutProtocol","ParameterValue":"$OIDC_PROVIDER"},
     {"ParameterKey":"HyperPodClusterArn","ParameterValue":"$HYPERPOD_CLUSTER_ARN"},
     {"ParameterKey":"HyperPodClusterName","ParameterValue":"$HP_CLUSTER_NAME"},
     {"ParameterKey":"CreateDomain","ParameterValue":"$CREATE_DOMAIN"},
     {"ParameterKey":"DomainVpcId","ParameterValue":"$DOMAIN_VPC_ID"},
     {"ParameterKey":"DomainSubnetIds","ParameterValue":"$DOMAIN_SUBNET_IDS"},
     {"ParameterKey":"CreateS3EndpointStack","ParameterValue":"$CREATE_S3_ENDPOINT_STACK"},
     {"ParameterKey":"TieredStorageConfig","ParameterValue":"{\"Mode\":\"Enable\",\"InstanceMemoryAllocationPercentage\":20}"},
     {"ParameterKey":"TieredKVCacheConfig","ParameterValue":"{\"KVCacheMode\":\"Enable\",\"InstanceGroup\":$INSTANCE_GROUPS,\"NVMeMode\":\"Enable\"}"}
   ]
   EOF
   
   echo -e "\n===== CREATING CLOUDFORMATION STACK ====="
   aws cloudformation create-stack \
       --region $REGION \
       --stack-name $STACK_NAME \
       --template-url $TEMPLATE_URL \
       --parameters file:///tmp/cfn-params.json \
       --capabilities CAPABILITY_NAMED_IAM
   ```

1. Überwachen Sie den Status der Stack-Erstellung:

   ```
   aws cloudformation describe-stacks \
       --stack-name $STACK_NAME \
       --region $REGION \
       --query 'Stacks[0].StackStatus'
   ```

1. Sobald der Stack erfolgreich erstellt wurde, rufen Sie die Ausgabewerte zur Verwendung in der Installation des Inferenzoperators ab:

   ```
   aws cloudformation describe-stacks \
       --stack-name $STACK_NAME \
       --region $REGION \
       --query 'Stacks[0].Outputs'
   ```

Nachdem der CloudFormation Stack erstellt wurde, fahren Sie mit [Installation des Inference Operators mit dem EKS-Add-on](#sagemaker-hyperpod-model-deployment-setup-install-inference-operator-addon) der Installation des Inferenzoperators fort.

## Methode 3: Installation des Helmdiagramms
<a name="sagemaker-hyperpod-model-deployment-setup-helm"></a>

**Anmerkung**  
Für eine möglichst einfache Installation empfehlen wir die Verwendung von [Methode 1: Installieren Sie das HyperPod Inference Add-on über die SageMaker AI-Konsole (empfohlen)](#sagemaker-hyperpod-model-deployment-setup-ui) oder[Methode 2: Installation des Inferenzoperators mit der CLI AWS](#sagemaker-hyperpod-model-deployment-setup-addon). Die Installation von Helm-Charts ist in einer future Version möglicherweise veraltet.

### Voraussetzungen
<a name="sagemaker-hyperpod-model-deployment-setup-prereq"></a>

Bevor Sie fortfahren, stellen Sie sicher, dass Ihre AWS Anmeldeinformationen ordnungsgemäß konfiguriert sind und über die erforderlichen Berechtigungen verfügen. Die folgenden Schritte müssen von einem IAM-Prinzipal mit Administratorrechten und Cluster-Admin-Zugriff auf einen Amazon EKS-Cluster ausgeführt werden. Stellen Sie sicher, dass Sie einen HyperPod Cluster mit [Erstellen eines SageMaker HyperPod Clusters mit Amazon EKS-Orchestrierung](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) erstellt haben. Stellen Sie sicher, dass Sie die Befehlszeilenprogramme helm, eksctl und kubectl installiert haben. 

Um Kubernetes-Administratorzugriff auf den Amazon EKS-Cluster zu erhalten, gehen Sie zur Amazon EKS-Konsole und wählen Sie den Cluster aus, den Sie verwenden. Suchen Sie **auf der Registerkarte „Zugriff**“ nach und wählen Sie „IAM Access Entries“ aus. Wenn es keinen Eintrag für Ihren IAM-Principal gibt, wählen Sie **Access-Eintrag erstellen** aus. Wählen Sie dann den gewünschten IAM-Prinzipal aus und ordnen Sie ihn `AmazonEKSClusterAdminPolicy` zu.

1. Konfigurieren Sie kubectl so, dass es eine Verbindung zu dem neu erstellten HyperPod Cluster herstellt, der vom Amazon EKS-Cluster orchestriert wird. Geben Sie die Region und HyperPod den Clusternamen an.

   ```
   export HYPERPOD_CLUSTER_NAME=<hyperpod-cluster-name>
   export REGION=<region>
   
   # S3 bucket where tls certificates will be uploaded
   BUCKET_NAME="<Enter name of your s3 bucket>" # This should be bucket name, not URI
   
   export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \
   --query 'Orchestrator.Eks.ClusterArn' --output text | \
   cut -d'/' -f2)
   aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION
   ```

1. Legen Sie die Standard-Umgebungsvariablen fest.

   ```
   LB_CONTROLLER_POLICY_NAME="AWSLoadBalancerControllerIAMPolicy-$HYPERPOD_CLUSTER_NAME"
   LB_CONTROLLER_ROLE_NAME="aws-load-balancer-controller-$HYPERPOD_CLUSTER_NAME"
   S3_MOUNT_ACCESS_POLICY_NAME="S3MountpointAccessPolicy-$HYPERPOD_CLUSTER_NAME"
   S3_CSI_ROLE_NAME="SM_HP_S3_CSI_ROLE-$HYPERPOD_CLUSTER_NAME"
   KEDA_OPERATOR_POLICY_NAME="KedaOperatorPolicy-$HYPERPOD_CLUSTER_NAME"
   KEDA_OPERATOR_ROLE_NAME="keda-operator-role-$HYPERPOD_CLUSTER_NAME"
   HYPERPOD_INFERENCE_ROLE_NAME="HyperpodInferenceRole-$HYPERPOD_CLUSTER_NAME"
   HYPERPOD_INFERENCE_SA_NAME="hyperpod-inference-operator-controller"
   HYPERPOD_INFERENCE_SA_NAMESPACE="hyperpod-inference-system"
   JUMPSTART_GATED_ROLE_NAME="JumpstartGatedRole-$HYPERPOD_CLUSTER_NAME"
   FSX_CSI_ROLE_NAME="AmazonEKSFSxLustreCSIDriverFullAccess-$HYPERPOD_CLUSTER_NAME"
   ```

1. Extrahieren Sie den Amazon EKS-Clusternamen aus dem Cluster-ARN, aktualisieren Sie die lokale kubeconfig und überprüfen Sie die Konnektivität, indem Sie alle Pods in NameBereiche auflisten.

   ```
   kubectl get pods --all-namespaces
   ```

1. (Optional) Installieren Sie das NVIDIA-Geräte-Plugin, um die GPU-Unterstützung auf dem Cluster zu aktivieren.

   ```
   #Install nvidia device plugin
   kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.5/nvidia-device-plugin.yml
   # Verify that GPUs are visible to k8s
   kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia.com/gpu
   ```

### Bereiten Sie Ihre Umgebung auf die Installation des Inference Operators vor
<a name="sagemaker-hyperpod-model-deployment-setup-prepare"></a>

1. Sammeln Sie wichtige AWS Ressourcen-Identifikatoren, die für die Konfiguration von Serviceintegrationen zwischen Amazon EKS-, SageMaker KI- und IAM-Komponenten ARNs erforderlich sind.

   ```
   %%bash -x
   
   export ACCOUNT_ID=$(aws --region $REGION sts get-caller-identity --query 'Account' --output text)
   export OIDC_ID=$(aws --region $REGION eks describe-cluster --name $EKS_CLUSTER_NAME --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
   export EKS_CLUSTER_ROLE=$(aws eks --region $REGION describe-cluster --name $EKS_CLUSTER_NAME --query 'cluster.roleArn' --output text)
   ```

1. Ordnen Sie Ihrem EKS-Cluster einen OIDCidentity IAM-Anbieter zu.

   ```
   eksctl utils associate-iam-oidc-provider --region=$REGION --cluster=$EKS_CLUSTER_NAME --approve
   ```

1. Erstellen Sie die Vertrauensrichtlinie, die für die IAM-Rolle des HyperPod Inferenzoperators erforderlich ist. Diese Richtlinie ermöglicht eine sichere dienstübergreifende Kommunikation zwischen Amazon EKS, SageMaker AI und anderen AWS Diensten.

   ```
   %%bash -x
   
   # Create trust policy JSON
   cat << EOF > trust-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
   {
       "Effect": "Allow",
       "Principal": {
           "Service": [
               "sagemaker.amazonaws.com"
           ]
       },
       "Action": "sts:AssumeRole"
   },
   {
       "Effect": "Allow",
       "Principal": {
           "Federated": "arn:aws:iam::${ACCOUNT_ID}:oidc-provider/oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}"
       },
       "Action": "sts:AssumeRoleWithWebIdentity",
       "Condition": {
           "StringLike": {
               "oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}:aud": "sts.amazonaws.com",
               "oidc.eks.${REGION}.amazonaws.com/id/${OIDC_ID}:sub": "system:serviceaccount:hyperpod-inference-system:hyperpod-inference-controller-manager"
           }
       }
   }
   ]
   }
   EOF
   ```

1. Erstellen Sie eine Ausführungsrolle für den Inferenzoperator und hängen Sie die verwaltete Richtlinie an.

   ```
   aws iam create-role --role-name $HYPERPOD_INFERENCE_ROLE_NAME --assume-role-policy-document file://trust-policy.json
   aws iam attach-role-policy --role-name $HYPERPOD_INFERENCE_ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerHyperPodInferenceAccess
   ```

1. Laden Sie die IAM-Richtlinie herunter, die für den Load Balancer Controller zur Verwaltung von Application Load AWS Balancers und Network Load Balancers in Ihrem EKS-Cluster erforderlich ist, und erstellen Sie sie.

   ```
   %%bash -x 
   
   export ALBController_IAM_POLICY_NAME=HyperPodInferenceALBControllerIAMPolicy
   
   curl -o AWSLoadBalancerControllerIAMPolicy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.13.0/docs/install/iam_policy.json
   aws iam create-policy --policy-name $ALBController_IAM_POLICY_NAME --policy-document file://AWSLoadBalancerControllerIAMPolicy.json
   ```

1. Erstellen Sie ein IAM-Dienstkonto, das das Kubernetes-Dienstkonto mit der IAM-Richtlinie verknüpft, sodass der Load AWS Balancer Controller die erforderlichen AWS Berechtigungen über IRSA (IAM Roles for Service Accounts) annehmen kann.

   ```
   %%bash -x 
   
   export ALB_POLICY_ARN="arn:aws:iam::$ACCOUNT_ID:policy/$ALBController_IAM_POLICY_NAME"
   
   # Create IAM service account with gathered values
   eksctl create iamserviceaccount \
   --approve \
   --override-existing-serviceaccounts \
   --name=aws-load-balancer-controller \
   --namespace=kube-system \
   --cluster=$EKS_CLUSTER_NAME \
   --attach-policy-arn=$ALB_POLICY_ARN \
   --region=$REGION
   
   # Print the values for verification
   echo "Cluster Name: $EKS_CLUSTER_NAME"
   echo "Region: $REGION"
   echo "Policy ARN: $ALB_POLICY_ARN"
   ```

1. Wenden Sie Tags (`kubernetes.io.role/elb`) auf alle Subnetze im Amazon EKS-Cluster (sowohl öffentlich als auch privat) an.

   ```
   export VPC_ID=$(aws --region $REGION eks describe-cluster --name $EKS_CLUSTER_NAME --query 'cluster.resourcesVpcConfig.vpcId' --output text)
   
   # Add Tags
   aws ec2 describe-subnets \
   --filters "Name=vpc-id,Values=${VPC_ID}" "Name=map-public-ip-on-launch,Values=true" \
   --query 'Subnets[*].SubnetId' --output text | \
   tr '\t' '\n' | \
   xargs -I{} aws ec2 create-tags --resources {} --tags Key=kubernetes.io/role/elb,Value=1
   
   # Verify Tags are added
   aws ec2 describe-subnets \
   --filters "Name=vpc-id,Values=${VPC_ID}" "Name=map-public-ip-on-launch,Values=true" \
   --query 'Subnets[*].SubnetId' --output text | \
   tr '\t' '\n' |
   xargs -n1 -I{} aws ec2 describe-tags --filters "Name=resource-id,Values={}" "Name=key,Values=kubernetes.io/role/elb" --query "Tags[0].Value" --output text
   ```

1. Erstellen Sie einen Namespace für KEDA und den Cert Manager.

   ```
   kubectl create namespace keda
   kubectl create namespace cert-manager
   ```

1. Erstellen Sie einen Amazon-S3-VPC-Endpunkt.

   ```
   aws ec2 create-vpc-endpoint \
   --vpc-id ${VPC_ID} \
   --vpc-endpoint-type Gateway \
   --service-name "com.amazonaws.${REGION}.s3" \
   --route-table-ids $(aws ec2 describe-route-tables --filters "Name=vpc-id,Values=${VPC_ID}" --query 'RouteTables[].Associations[].RouteTableId' --output text | tr ' ' '\n' | sort -u | tr '\n' ' ')
   ```

1. Konfigurieren des S3-Speicherzugriffs:

   1. Erstellen Sie eine IAM-Richtlinie, die die erforderlichen S3-Berechtigungen für die Verwendung von Mountpoint for Amazon S3 gewährt, wodurch der Dateisystemzugriff auf S3-Buckets innerhalb des Clusters ermöglicht wird.

      ```
      %%bash -x
      
      export S3_CSI_BUCKET_NAME=“<bucketname_for_mounting_through_filesystem>”
      
      cat <<EOF> s3accesspolicy.json
      {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          
          {
              "Sid": "MountpointAccess",
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket",
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:AbortMultipartUpload",
                  "s3:DeleteObject"
              ],
              "Resource": [
                      "arn:aws:s3:::${S3_CSI_BUCKET_NAME}",
                      "arn:aws:s3:::${S3_CSI_BUCKET_NAME}/*"
              ]
          }
      ]
      }
      EOF
      
      aws iam create-policy \
      --policy-name S3MountpointAccessPolicy \
      --policy-document file://s3accesspolicy.json
      
      cat <<EOF> s3accesstrustpolicy.json
      {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/${OIDC_ID}"
              },
              "Action": "sts:AssumeRoleWithWebIdentity",
              "Condition": {
                  "StringEquals": {
                      "oidc.eks.$REGION.amazonaws.com/id/${OIDC_ID}:aud": "sts.amazonaws.com",
                      "oidc.eks.$REGION.amazonaws.com/id/${OIDC_ID}:sub": "system:serviceaccount:kube-system:${s3-csi-driver-sa}"
                  }
              }
          }
      ]
      }
      EOF
      
      aws iam create-role --role-name $S3_CSI_ROLE_NAME --assume-role-policy-document file://s3accesstrustpolicy.json
      
      aws iam attach-role-policy --role-name $S3_CSI_ROLE_NAME --policy-arn "arn:aws:iam::$ACCOUNT_ID:policy/S3MountpointAccessPolicy"
      ```

   1. (Optional) Erstellen Sie ein IAM-Servicekonto für den CSI-Treiber von Amazon S3. Der Amazon S3 S3-CSI-Treiber benötigt ein IAM-Servicekonto mit entsprechenden Berechtigungen, um S3-Buckets als persistente Volumes in Ihrem Amazon EKS-Cluster bereitzustellen. In diesem Schritt werden die erforderliche IAM-Rolle und das erforderliche Kubernetes-Servicekonto mit der erforderlichen S3-Zugriffsrichtlinie erstellt.

      ```
      %%bash -x 
      
      export S3_CSI_ROLE_NAME="SM_HP_S3_CSI_ROLE-$REGION"
      export S3_CSI_POLICY_ARN=$(aws iam list-policies --query 'Policies[?PolicyName==`S3MountpointAccessPolicy`]' | jq '.[0].Arn' |  tr -d '"')
      
      eksctl create iamserviceaccount \
      --name s3-csi-driver-sa \
      --namespace kube-system \
      --cluster $EKS_CLUSTER_NAME \
      --attach-policy-arn $S3_CSI_POLICY_ARN \
      --approve \
      --role-name $S3_CSI_ROLE_NAME \
      --region $REGION 
      
      kubectl label serviceaccount s3-csi-driver-sa app.kubernetes.io/component=csi-driver app.kubernetes.io/instance=aws-mountpoint-s3-csi-driver app.kubernetes.io/managed-by=EKS app.kubernetes.io/name=aws-mountpoint-s3-csi-driver -n kube-system --overwrite
      ```

   1. (Optional) Installieren Sie das Amazon-S3-CSI-Add-on. Dieser Treiber ermöglicht es Ihren Pods, S3-Buckets als persistente Volumes bereitzustellen, sodass Sie von Ihren Kubernetes-Workloads aus direkt auf S3-Speicher zugreifen können.

      ```
      %%bash -x
      
      export S3_CSI_ROLE_ARN=$(aws iam get-role --role-name $S3_CSI_ROLE_NAME  --query 'Role.Arn' --output text)
      eksctl create addon --name aws-mountpoint-s3-csi-driver --cluster $EKS_CLUSTER_NAME --service-account-role-arn $S3_CSI_ROLE_ARN --force
      ```

   1. (Optional) Erstellen Sie einen Persistent Volume Claim (PVC) für S3-Speicher. Mit diesem PVC können Ihre Pods S3-Speicher anfordern und verwenden, als ob es sich um ein herkömmliches Dateisystem handeln würde.

      ```
      %%bash -x 
      
      cat <<EOF> pvc_s3.yaml
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
      name: s3-claim
      spec:
      accessModes:
      - ReadWriteMany # supported options: ReadWriteMany / ReadOnlyMany
      storageClassName: "" # required for static provisioning
      resources:
      requests:
          storage: 1200Gi # ignored, required
      volumeName: s3-pv
      EOF
      
      kubectl apply -f pvc_s3.yaml
      ```

1. (Optional) Konfigurieren Sie den FSx Speicherzugriff. Erstellen Sie ein IAM-Servicekonto für den Amazon FSx CSI-Treiber. Dieses Dienstkonto wird vom FSx CSI-Treiber verwendet, um im Namen Ihres Clusters mit dem FSx Amazon-Service zu interagieren.

   ```
   %%bash -x 
   
   
   eksctl create iamserviceaccount \
   --name fsx-csi-controller-sa \
   --namespace kube-system \
   --cluster $EKS_CLUSTER_NAME \
   --attach-policy-arn arn:aws:iam::aws:policy/AmazonFSxFullAccess \
   --approve \
   --role-name FSXLCSI-${EKS_CLUSTER_NAME}-${REGION} \
   --region $REGION
   ```

### Erstellen Sie die KEDA-Operatorrolle
<a name="sagemaker-hyperpod-model-deployment-setup-keda"></a>

1. Erstellen der Vertrauens- und Berechtigungsrichtlinie

   ```
   # Create trust policy
   cat <<EOF > /tmp/keda-trust-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID"
           },
           "Action": "sts:AssumeRoleWithWebIdentity",
           "Condition": {
               "StringLike": {
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:sub": "system:serviceaccount:kube-system:keda-operator",
                   "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:aud": "sts.amazonaws.com"
               }
           }
       }
   ]
   }
   EOF
   # Create permissions policy
   cat <<EOF > /tmp/keda-policy.json
   {
   "Version": "2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "cloudwatch:GetMetricData",
               "cloudwatch:GetMetricStatistics",
               "cloudwatch:ListMetrics"
           ],
           "Resource": "*"
       },
       {
           "Effect": "Allow",
           "Action": [
               "aps:QueryMetrics",
               "aps:GetLabels",
               "aps:GetSeries",
               "aps:GetMetricMetadata"
           ],
           "Resource": "*"
       }
   ]
   }
   EOF
   # Create the role
   aws iam create-role \
   --role-name keda-operator-role \
   --assume-role-policy-document file:///tmp/keda-trust-policy.json
   # Create the policy
   KEDA_POLICY_ARN=$(aws iam create-policy \
   --policy-name KedaOperatorPolicy \
   --policy-document file:///tmp/keda-policy.json \
   --query 'Policy.Arn' \
   --output text)
   # Attach the policy to the role
   aws iam attach-role-policy \
   --role-name keda-operator-role \
   --policy-arn $KEDA_POLICY_ARN
   ```

1. Wenn Sie geschützte Modelle verwenden, erstellen Sie eine IAM-Rolle, um auf die geschützten Modelle zuzugreifen.

   1. Erstellen Sie die Vertrauensrichtlinie und die IAM-Rolle für den geschützten Modellzugriff.

      ```
      %%bash -s $REGION
      
      JUMPSTART_GATED_ROLE_NAME="JumpstartGatedRole-${REGION}-${HYPERPOD_CLUSTER_NAME}"
      
      cat <<EOF > /tmp/trust-policy.json
      {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "Federated": "arn:aws:iam::$ACCOUNT_ID:oidc-provider/oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID"
              },
              "Action": "sts:AssumeRoleWithWebIdentity",
              "Condition": {
                  "StringLike": {
                      "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:sub": "system:serviceaccount:*:hyperpod-inference-service-account*",
                      "oidc.eks.$REGION.amazonaws.com/id/$OIDC_ID:aud": "sts.amazonaws.com"
                  }
              }
          },
              {
              "Effect": "Allow",
              "Principal": {
                  "Service": "sagemaker.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
          }
      ]
      }
      EOF
      
      # Create the role and attach the managed policy
      aws iam create-role \
      --role-name $JUMPSTART_GATED_ROLE_NAME \
      --assume-role-policy-document file:///tmp/trust-policy.json
      
      aws iam attach-role-policy \
      --role-name $JUMPSTART_GATED_ROLE_NAME \
      --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerHyperPodGatedModelAccess
      ```

      ```
      JUMPSTART_GATED_ROLE_ARN_LIST= !aws iam get-role --role-name=$JUMPSTART_GATED_ROLE_NAME --query "Role.Arn" --output text
      JUMPSTART_GATED_ROLE_ARN = JUMPSTART_GATED_ROLE_ARN_LIST[0]
      !echo $JUMPSTART_GATED_ROLE_ARN
      ```

### Installieren des Inferenzoperators
<a name="sagemaker-hyperpod-model-deployment-setup-install"></a>

1. Installieren Sie den HyperPod Inferenzoperator. In diesem Schritt werden die erforderlichen AWS Ressourcen-IDs gesammelt und der Helm-Installationsbefehl mit den entsprechenden Konfigurationsparametern generiert.

   Greifen Sie über [https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm\$1chart](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart) auf das Helmdiagramm zu.

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-cli
   cd sagemaker-hyperpod-cli
   cd helm_chart/HyperPodHelmChart
   helm dependencies update charts/inference-operator
   ```

   ```
   %%bash -x
   
   HYPERPOD_INFERENCE_ROLE_ARN=$(aws iam get-role --role-name=$HYPERPOD_INFERENCE_ROLE_NAME --query "Role.Arn" --output text)
   echo $HYPERPOD_INFERENCE_ROLE_ARN
   
   S3_CSI_ROLE_ARN=$(aws iam get-role --role-name=$S3_CSI_ROLE_NAME --query "Role.Arn" --output text)
   echo $S3_CSI_ROLE_ARN
   
   HYPERPOD_CLUSTER_ARN=$(aws sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME --query "ClusterArn")
   
   # Verify values
   echo "Cluster Name: $EKS_CLUSTER_NAME"
   echo "Execution Role: $HYPERPOD_INFERENCE_ROLE_ARN"
   echo "Hyperpod ARN: $HYPERPOD_CLUSTER_ARN"
   # Run the the HyperPod inference operator installation. 
   
   helm install hyperpod-inference-operator charts/inference-operator \
   -n kube-system \
   --set region=$REGION \
   --set eksClusterName=$EKS_CLUSTER_NAME \
   --set hyperpodClusterArn=$HYPERPOD_CLUSTER_ARN \
   --set executionRoleArn=$HYPERPOD_INFERENCE_ROLE_ARN \
   --set s3.serviceAccountRoleArn=$S3_CSI_ROLE_ARN \
   --set s3.node.serviceAccount.create=false \
   --set keda.podIdentity.aws.irsa.roleArn="arn:aws:iam::$ACCOUNT_ID:role/keda-operator-role" \
   --set tlsCertificateS3Bucket="s3://$BUCKET_NAME" \
   --set alb.region=$REGION \
   --set alb.clusterName=$EKS_CLUSTER_NAME \
   --set alb.vpcId=$VPC_ID
   
   # For JumpStart Gated Model usage, Add
   # --set jumpstartGatedModelDownloadRoleArn=$UMPSTART_GATED_ROLE_ARN
   ```

1. Konfigurieren Sie die Anmerkungen zum Dienstkonto für die IAM-Integration. Diese Anmerkung ermöglicht es dem Servicekonto des Betreibers, die erforderlichen IAM-Berechtigungen für die Verwaltung von Inferenzendpunkten und die Interaktion mit AWS -Services anzunehmen.

   ```
   %%bash -x 
   
   EKS_CLUSTER_ROLE_NAME=$(echo $EKS_CLUSTER_ROLE | sed 's/.*\///')
   
   # Annotate service account
   kubectl annotate serviceaccount hyperpod-inference-operator-controller-manager \
   -n hyperpod-inference-system \
   eks.amazonaws.com/role-arn=arn:aws:iam::${ACCOUNT_ID}:role/${EKS_CLUSTER_ROLE_NAME} \
   --overwrite
   ```

## Stellen Sie sicher, dass der Inferenzoperator funktioniert
<a name="sagemaker-hyperpod-model-deployment-setup-verify"></a>

Gehen Sie wie folgt vor, um zu überprüfen, ob Ihre Inferenzoperator-Installation ordnungsgemäß funktioniert, indem Sie ein einfaches Modell bereitstellen und testen.

**Stellen Sie ein Testmodell bereit, um den Operator zu verifizieren**

1. Erstellen einer Konfigurationsdatei für Modellbereitstellung Dadurch wird eine Kubernetes-Manifestdatei erstellt, die eine JumpStart Modellbereitstellung für den HyperPod Inferenzoperator definiert.

   ```
   cat <<EOF>> simple_model_install.yaml
   ---
   apiVersion: inference.sagemaker.aws.amazon.com/v1
   kind: JumpStartModel
   metadata:
   name: testing-deployment-bert
   namespace: default
   spec:
   model:
   modelId: "huggingface-eqa-bert-base-cased"
   sageMakerEndpoint:
   name: "hp-inf-ep-for-testing"
   server:
   instanceType: "ml.c5.2xlarge"
   environmentVariables:
   - name: SAMPLE_ENV_VAR
       value: "sample_value"
   maxDeployTimeInSeconds: 1800
   EOF
   ```

1. Stellen Sie das Modell bereit und bereinigen Sie die Konfigurationsdatei.

   ```
   kubectl create -f simple_model_install.yaml
   rm -f simple_model_install.yaml
   ```

1. Überprüfen Sie die Konfiguration des Dienstkontos, um sicherzustellen, dass der Operator Berechtigungen annehmen kann. AWS 

   ```
   # Get the service account details
   kubectl get serviceaccount -n hyperpod-inference-system
   
   # Check if the service account has the AWS annotations
   kubectl describe serviceaccount hyperpod-inference-operator-controller-manager -n hyperpod-inference-system
   ```

**Konfigurieren Sie die Bereitstellungseinstellungen (wenn Sie die Studio-Benutzeroberfläche verwenden)**

1. Überprüfen Sie den empfohlenen Instanztyp unter **Bereitstellungseinstellungen**.

1. Wenn Sie den **Instanztyp** ändern, stellen Sie die Kompatibilität mit Ihrem HyperPod Cluster sicher. Wenden Sie sich an Ihren Administrator, wenn kompatible Instances nicht verfügbar sind.

1. Wählen Sie für GPU-partitionierte Instances mit aktiviertem MIG eine geeignete **GPU-Partition aus den verfügbaren MIG-Profilen aus, um die GPU-Auslastung** zu optimieren. Weitere Informationen finden Sie unter [Verwenden von GPU-Partitionen in Amazon SageMaker HyperPod](sagemaker-hyperpod-eks-gpu-partitioning.md).

1. Wenn Sie Task Governance verwenden, konfigurieren Sie die Prioritätseinstellungen für die Funktion zur Verhinderung der Modellbereitstellung.

1. Geben Sie den von Ihrem Administrator bereitgestellten Namespace ein. Wenden Sie sich bei Bedarf an Ihren Administrator, um den richtigen Namespace zu erhalten.

## (Optional) Richten Sie den Benutzerzugriff über die JumpStart Benutzeroberfläche in SageMaker AI Studio Classic ein
<a name="sagemaker-hyperpod-model-deployment-setup-optional-js"></a>

Weitere Hintergrundinformationen zur Einrichtung des SageMaker HyperPod Zugriffs für Studio Classic-Benutzer und zur Konfiguration detaillierter Kubernetes-RBAC-Berechtigungen für Data Scientist-Benutzer finden Sie unter und. [Einen Amazon-EKS-Cluster in Studio einrichten](sagemaker-hyperpod-studio-setup-eks.md) [Einrichten der rollenbasierten Zugriffskontrolle für Kubernetes](sagemaker-hyperpod-eks-setup-rbac.md)

1. Identifizieren Sie die IAM-Rolle, die Data Scientist-Benutzer verwenden werden, um Modelle von AI Studio Classic aus zu verwalten und bereitzustellen. SageMaker HyperPod SageMaker Dies ist in der Regel die Benutzerprofil-Ausführungsrolle oder die Domain-Ausführungsrolle für den Studio Classic-Benutzer.

   ```
   %%bash -x
   
   export DATASCIENTIST_ROLE_NAME="<Execution Role Name used in SageMaker Studio Classic>"
   
   export DATASCIENTIST_POLICY_NAME="HyperPodUIAccessPolicy"
   export EKS_CLUSTER_ARN=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \
     --query 'Orchestrator.Eks.ClusterArn' --output text)
   
   export DATASCIENTIST_HYPERPOD_NAMESPACE="team-namespace"
   ```

1. Fügen Sie eine Identitätsrichtlinie an, die den Zugriff auf Model Deployment ermöglicht.

   ```
   %%bash -x
   
   # Create access policy
   cat << EOF > hyperpod-deployment-ui-access-policy.json
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DescribeHyerpodClusterPermissions",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeCluster"
               ],
               "Resource": "$HYPERPOD_CLUSTER_ARN"
           },
           {
               "Sid": "UseEksClusterPermissions",
               "Effect": "Allow",
               "Action": [
                   "eks:DescribeCluster",
                   "eks:AccessKubernetesApi",
                   "eks:MutateViaKubernetesApi",
                   "eks:DescribeAddon"
               ],
               "Resource": "$EKS_CLUSTER_ARN"
           },
           {
               "Sid": "ListPermission",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:ListClusters",
                   "sagemaker:ListEndpoints"
               ],
               "Resource": "*"
           },
           {
               "Sid": "SageMakerEndpointAccess",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeEndpoint",
                   "sagemaker:InvokeEndpoint"
               ],
               "Resource": "arn:aws:sagemaker:$REGION:$ACCOUNT_ID:endpoint/*"
           }
       ]
   }
   EOF
   
   aws iam put-role-policy --role-name DATASCIENTIST_ROLE_NAME --policy-name HyperPodDeploymentUIAccessInlinePolicy --policy-document file://hyperpod-deployment-ui-access-policy.json
   ```

1. Erstellen Sie einen EKS-Zugriffseintrag für den Benutzer, der ihn einer Kubernetes-Gruppe zuordnet.

   ```
   %%bash -x
   
   aws eks create-access-entry --cluster-name $EKS_CLUSTER_NAME \
       --principal-arn "arn:aws:iam::$ACCOUNT_ID:role/$DATASCIENTIST_ROLE_NAME" \
       --kubernetes-groups '["hyperpod-scientist-user-namespace-level","hyperpod-scientist-user-cluster-level"]'
   ```

1. Erstellen Sie Kubernetes-RBAC-Richtlinien für den Benutzer.

   ```
   %%bash -x
   
   cat << EOF > cluster_level_config.yaml
   kind: ClusterRole
   apiVersion: rbac.authorization.k8s.io/v1
   metadata:
     name: hyperpod-scientist-user-cluster-role
   rules:
   - apiGroups: [""]
     resources: ["pods"]
     verbs: ["list"]
   - apiGroups: [""]
     resources: ["nodes"]
     verbs: ["list"]
   - apiGroups: [""]
     resources: ["namespaces"]
     verbs: ["list"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: hyperpod-scientist-user-cluster-role-binding
   subjects:
   - kind: Group
     name: hyperpod-scientist-user-cluster-level
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: hyperpod-scientist-user-cluster-role
     apiGroup: rbac.authorization.k8s.io
   EOF
   
   
   kubectl apply -f cluster_level_config.yaml
   
   
   cat << EOF > namespace_level_role.yaml
   kind: Role
   apiVersion: rbac.authorization.k8s.io/v1
   metadata:
     namespace: $DATASCIENTIST_HYPERPOD_NAMESPACE
     name: hyperpod-scientist-user-namespace-level-role
   rules:
   - apiGroups: [""]
     resources: ["pods"]
     verbs: ["create", "get"]
   - apiGroups: [""]
     resources: ["nodes"]
     verbs: ["get", "list"]
   - apiGroups: [""]
     resources: ["pods/log"]
     verbs: ["get", "list"]
   - apiGroups: [""]
     resources: ["pods/exec"]
     verbs: ["get", "create"]
   - apiGroups: ["kubeflow.org"]
     resources: ["pytorchjobs", "pytorchjobs/status"]
     verbs: ["get", "list", "create", "delete", "update", "describe"]
   - apiGroups: [""]
     resources: ["configmaps"]
     verbs: ["create", "update", "get", "list", "delete"]
   - apiGroups: [""]
     resources: ["secrets"]
     verbs: ["create", "get", "list", "delete"]
   - apiGroups: [ "inference.sagemaker.aws.amazon.com" ]
     resources: [ "inferenceendpointconfig", "inferenceendpoint", "jumpstartmodel" ]
     verbs: [ "get", "list", "create", "delete", "update", "describe" ]
   - apiGroups: [ "autoscaling" ]
     resources: [ "horizontalpodautoscalers" ]
     verbs: [ "get", "list", "watch", "create", "update", "patch", "delete" ]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: RoleBinding
   metadata:
     namespace: $DATASCIENTIST_HYPERPOD_NAMESPACE
     name: hyperpod-scientist-user-namespace-level-role-binding
   subjects:
   - kind: Group
     name: hyperpod-scientist-user-namespace-level
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: Role
     name: hyperpod-scientist-user-namespace-level-role
     apiGroup: rbac.authorization.k8s.io
   EOF
   
   
   kubectl apply -f namespace_level_role.yaml
   ```

# Bereitstellen von Grundlagenmodellen und maßgeschneiderten, optimierten Modellen
<a name="sagemaker-hyperpod-model-deployment-deploy"></a>

Ganz gleich, ob Sie vortrainierte Open-Weights-Modelle oder Gated-Modelle von Amazon SageMaker JumpStart oder Ihre eigenen benutzerdefinierten oder fein abgestimmten Modelle einsetzen, die in Amazon S3 oder Amazon gespeichert sind FSx, SageMaker HyperPod bietet die flexible, skalierbare Infrastruktur, die Sie für Produktionsinferenz-Workloads benötigen.




****  

|  | Stellen Sie Open-Weights- und Gated-Foundation-Modelle bereit von JumpStart | Stellen Sie benutzerdefinierte und fein abgestimmte Modelle von Amazon S3 und Amazon bereit FSx | 
| --- | --- | --- | 
| Beschreibung |  Nutzen Sie für die Implementierung einen umfassenden Katalog vortrainierter Grundlagenmodelle mit automatischen Optimierungs- und Skalierungsrichtlinien, die auf jede Modellfamilie zugeschnitten sind.  | Bringen Sie Ihre eigenen maßgeschneiderten und fein abgestimmten Modelle mit und nutzen Sie die SageMaker HyperPod Unternehmensinfrastruktur für Inferenzen im Produktionsmaßstab. Wählen Sie zwischen kostengünstigem Speicher mit Amazon S3 oder einem leistungsstarken Dateisystem mit Amazon FSx. | 
| Die wichtigsten Vorteile | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-deploy.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-deploy.html)  | 
| Optionen für die Bereitstellung |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-deploy.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-deploy.html)  | 

In den folgenden Abschnitten werden Sie Schritt für Schritt durch die Bereitstellung von Modellen von Amazon SageMaker JumpStart sowie von Amazon S3 und Amazon geführt FSx.

**Topics**
+ [Bereitstellen von Modellen JumpStart mithilfe von Amazon SageMaker Studio](sagemaker-hyperpod-model-deployment-deploy-js-ui.md)
+ [Stellen Sie Modelle JumpStart mithilfe von kubectl bereit](sagemaker-hyperpod-model-deployment-deploy-js-kubectl.md)
+ [Stellen Sie mit kubectl benutzerdefinierte, fein abgestimmte Modelle von Amazon S3 und Amazon FSx bereit](sagemaker-hyperpod-model-deployment-deploy-ftm.md)
+ [Stellen Sie benutzerdefinierte, fein abgestimmte Modelle mit dem Python-SDK und HPCLI bereit](deploy-trained-model.md) 
+ [Stellen Sie Modelle von Amazon SageMaker JumpStart mithilfe des Python-SDK und HPCLI bereit](deploy-jumpstart-model.md) 

# Bereitstellen von Modellen JumpStart mithilfe von Amazon SageMaker Studio
<a name="sagemaker-hyperpod-model-deployment-deploy-js-ui"></a>

Die folgenden Schritte zeigen Ihnen, wie Sie Modelle JumpStart mithilfe von Amazon SageMaker Studio bereitstellen.

## Voraussetzungen
<a name="sagemaker-hyperpod-model-deployment-deploy-js-ui-prereqs"></a>

Stellen Sie sicher, dass Sie Inferenzfunktionen auf Ihren SageMaker HyperPod Amazon-Clustern eingerichtet haben. Weitere Informationen finden Sie unter [Einrichtung Ihrer HyperPod Cluster für die Modellbereitstellung](sagemaker-hyperpod-model-deployment-setup.md). 

## Erstellen Sie ein Deployment HyperPod
<a name="sagemaker-hyperpod-model-deployment-deploy-js-ui-create"></a>

1. Öffnen Sie in Amazon SageMaker Studio die **JumpStart**Landingpage im linken Navigationsbereich. 

1. Wählen Sie unter **Alle öffentlichen Modelle** ein Modell aus, das Sie bereitstellen möchten.
**Anmerkung**  
Wenn Sie ein geschlossenes Modell ausgewählt haben, müssen Sie die Endbenutzer-Lizenzvereinbarung (EULA) akzeptieren.

1. Wählen Sie **SageMaker HyperPod**.

1. Unter **Bereitstellungseinstellungen** JumpStart wird eine Instance für die Bereitstellung empfohlen. Sie können diese Einstellungen bei Bedarf anpassen.

   1. Wenn Sie den **Instanztyp** ändern, stellen Sie sicher, dass er mit dem ausgewählten **HyperPod Cluster** kompatibel ist. Wenn es keine kompatiblen Instances gibt, müssen Sie einen neuen **HyperPod Cluster** auswählen oder Ihren Administrator kontaktieren, um dem Cluster kompatible Instances hinzuzufügen.

   1. Um die Modellbereitstellung zu priorisieren, installieren Sie das Task Governance-Addon, erstellen Sie Rechenzuweisungen und richten Sie Aufgabenranglisten für die Cluster-Richtlinie ein. Anschließend sollte eine Option zur Auswahl einer Priorität für die Modellbereitstellung angezeigt werden, die zur Vorrangigkeit gegenüber anderen Bereitstellungen und Aufgaben im Cluster verwendet werden kann. 

   1. Geben Sie den Namespace ein, auf den Ihr Administrator Ihnen Zugriff gewährt hat. Möglicherweise müssen Sie sich direkt an Ihren Administrator wenden, um den genauen Namespace zu erhalten. Sobald ein gültiger Namespace bereitgestellt wurde, sollte die Schaltfläche **Bereitstellen** aktiviert sein, um das Modell bereitzustellen.

   1. Wenn Ihr Instance-Typ partitioniert ist (MIG aktiviert), wählen Sie einen **GPU-Partitionstyp** aus.

   1. Wenn Sie L2 KVCache oder Intelligentes Routing zur Beschleunigung der LLM-Inferenz aktivieren möchten, aktivieren Sie sie. Standardmäßig ist nur L1 KV Cache aktiviert. Weitere Informationen zu KVCache intelligentem Routing finden Sie unter [SageMaker HyperPod Modellbereitstellung](sagemaker-hyperpod-model-deployment.md).

1. Wählen Sie **Deploy** und warten Sie, bis der **Endpoint** erstellt ist.

1. Nachdem der **Endpunkt** erstellt wurde, wählen Sie **Test Inference** aus.

## Bearbeiten Sie eine HyperPod Bereitstellung
<a name="sagemaker-hyperpod-model-deployment-deploy-js-ui-edit"></a>

1. Wählen Sie in Amazon SageMaker Studio im linken Navigationsbereich **Compute** und dann **HyperPodCluster** aus. 

1. Wählen Sie unter **Bereitstellungen** die HyperPod Cluster-Bereitstellung aus, die Sie ändern möchten.

1. **Wählen Sie auf dem Symbol mit den vertikalen Auslassungspunkten () die Option Bearbeiten aus.**

1. Unter **Bereitstellungseinstellungen** können Sie **Auto-Scaling** aktivieren oder deaktivieren und die Anzahl der **Max** Replicas ändern.

1. Wählen Sie **Speichern** aus.

1. **Der **Status** ändert sich in Aktualisierung.** Sobald der Status wieder **in Betrieb** ist, sind Ihre Änderungen abgeschlossen und Sie erhalten eine Bestätigungsmeldung.

## Löschen Sie eine Bereitstellung HyperPod
<a name="sagemaker-hyperpod-model-deployment-deploy-js-ui-delete"></a>

1. Wählen Sie in Amazon SageMaker Studio im linken Navigationsbereich **Compute** und dann **HyperPodCluster** aus. 

1. Wählen Sie unter **Bereitstellungen** die HyperPod Cluster-Bereitstellung aus, die Sie ändern möchten.

1. **Wählen Sie auf dem Symbol mit den vertikalen Auslassungspunkten () die Option Löschen aus.**

1. Aktivieren **Sie im Fenster „ HyperPod Bereitstellung löschen**“ das Kontrollkästchen.

1. Wählen Sie **Löschen** aus.

1. Der **Status** ändert sich zu **Löschen**. Sobald die HyperPod Bereitstellung gelöscht wurde, wird eine Bestätigungsmeldung angezeigt.

# Stellen Sie Modelle JumpStart mithilfe von kubectl bereit
<a name="sagemaker-hyperpod-model-deployment-deploy-js-kubectl"></a>

Die folgenden Schritte zeigen Ihnen, wie Sie mithilfe von kubectl ein JumpStart Modell in einem HyperPod Cluster bereitstellen.

Die folgenden Anweisungen enthalten Codezellen und Befehle, die für die Ausführung in einem Terminal konzipiert sind. Stellen Sie sicher, dass Sie Ihre Umgebung mit AWS Anmeldeinformationen konfiguriert haben, bevor Sie diese Befehle ausführen. 

## Voraussetzungen
<a name="kubectl-prerequisites"></a>

Bevor Sie beginnen, stellen Sie sicher, dass Sie: 
+ Richten Sie Inferenzfunktionen auf Ihren SageMaker HyperPod Amazon-Clustern ein. Weitere Informationen finden Sie unter [Einrichtung Ihrer HyperPod Cluster für die Modellbereitstellung](sagemaker-hyperpod-model-deployment-setup.md).
+ [Das [kubectl-Hilfsprogramm](https://kubernetes.io/docs/reference/kubectl/) wurde installiert und jq in Ihrem Terminal konfiguriert.](https://jqlang.org/)

## Einrichtung und Konfiguration
<a name="kubectl-prerequisites-setup-and-configuration"></a>

1. Wählen Sie Ihre Region aus.

   ```
   export REGION=<region>
   ```

1. Sehen Sie sich alle SageMaker Public-Hub-Modelle und HyperPod -Cluster an.

1. Wählen Sie einen `JumpstartModel` von JumpstartPublic Hub aus. JumpstartPublic In einem Hub ist eine große Anzahl von Modellen verfügbar, sodass `NextToken` Sie schrittweise alle verfügbaren Modelle im öffentlichen Hub auflisten können.

   ```
   aws sagemaker list-hub-contents --hub-name SageMakerPublicHub --hub-content-type Model --query '{Models: HubContentSummaries[].{ModelId:HubContentName,Version:HubContentVersion}, NextToken: NextToken}' --output json
   ```

   ```
   export MODEL_ID="deepseek-llm-r1-distill-qwen-1-5b"
   export MODEL_VERSION="2.0.4"
   ```

1. Konfigurieren Sie die Modell-ID und den Clusternamen, die Sie ausgewählt haben, in den folgenden Variablen.
**Anmerkung**  
Erkundigen Sie sich bei Ihrem Cluster-Administrator, ob für diese Rolle oder diesen Benutzer Berechtigungen erteilt wurden. Sie können ausführen`!aws sts get-caller-identity --query "Arn"`, um zu überprüfen, welche Rolle oder welchen Benutzer Sie in Ihrem Terminal verwenden.

   ```
   aws sagemaker list-clusters --output table
   
   # Select the cluster name where you want to deploy the model.
   export HYPERPOD_CLUSTER_NAME="<insert cluster name here>"
   
   # Select the instance that is relevant for your model deployment and exists within the selected cluster.
   # List availble instances in your HyperPod cluster
   aws sagemaker describe-cluster --cluster-name=$HYPERPOD_CLUSTER_NAME --query "InstanceGroups[].{InstanceType:InstanceType,Count:CurrentCount}" --output table
   
   # List supported instance types for the selected model
   aws sagemaker describe-hub-content --hub-name SageMakerPublicHub --hub-content-type Model --hub-content-name "$MODEL_ID" --output json | jq -r '.HubContentDocument | fromjson | {Default: .DefaultInferenceInstanceType, Supported: .SupportedInferenceInstanceTypes}'
   
   
   # Select and instance type from the cluster that is compatible with the model. 
   # Make sure that the selected instance is either default or supported instance type for the jumpstart model 
   export INSTANCE_TYPE="<Instance_type_In_cluster"
   ```

1. Bestätigen Sie mit dem Cluster-Administrator, welchen Namespace Sie verwenden dürfen. Der Administrator sollte ein `hyperpod-inference` Dienstkonto in Ihrem Namespace erstellt haben.

   ```
   export CLUSTER_NAMESPACE="default"
   ```

1. Geben Sie einen Namen für den Endpunkt und das zu erstellende benutzerdefinierte Objekt ein.

   ```
   export SAGEMAKER_ENDPOINT_NAME="deepsek-qwen-1-5b-test"
   ```

1. Nachfolgend sehen Sie ein Beispiel für eine `deepseek-llm-r1-distill-qwen-1-5b` Modellbereitstellung von Jumpstart. Erstellen Sie eine ähnliche YAML-Datei für die Bereitstellung, die auf dem im obigen Schritt ausgewählten Modell basiert.
**Anmerkung**  
Wenn Ihr Cluster die GPU-Partitionierung mit MIG verwendet, können Sie bestimmte MIG-Profile anfordern, indem Sie das `acceleratorPartitionType` Feld zur Serverspezifikation hinzufügen. Weitere Informationen finden Sie unter [Einreichung von Aufgaben mit MIG](sagemaker-hyperpod-eks-gpu-partitioning-task-submission.md).

   ```
   cat << EOF > jumpstart_model.yaml
   ---
   apiVersion: inference.sagemaker.aws.amazon.com/v1
   kind: JumpStartModel
   metadata:
     name: $SAGEMAKER_ENDPOINT_NAME
     namespace: $CLUSTER_NAMESPACE 
   spec:
     sageMakerEndpoint:
       name: $SAGEMAKER_ENDPOINT_NAME
     model:
       modelHubName: SageMakerPublicHub
       modelId: $MODEL_ID
       modelVersion: $MODEL_VERSION
     server:
       instanceType: $INSTANCE_TYPE
       # Optional: Specify GPU partition profile for MIG-enabled instances
       # acceleratorPartitionType: "1g.10gb"
     metrics:
       enabled: true
     environmentVariables:
       - name: SAMPLE_ENV_VAR
         value: "sample_value"
     maxDeployTimeInSeconds: 1800
     autoScalingSpec:
       cloudWatchTrigger:
         name: "SageMaker-Invocations"
         namespace: "AWS/SageMaker"
         useCachedMetrics: false
         metricName: "Invocations"
         targetValue: 10
         minValue: 0.0
         metricCollectionPeriod: 30
         metricStat: "Sum"
         metricType: "Average"
         dimensions:
           - name: "EndpointName"
             value: "$SAGEMAKER_ENDPOINT_NAME"
           - name: "VariantName"
             value: "AllTraffic"
   EOF
   ```

## Bereitstellen Ihres Modells
<a name="kubectl-deploy-your-model"></a>

**Aktualisieren Sie Ihre Kubernetes-Konfiguration und stellen Sie Ihr Modell bereit**

1. Konfigurieren Sie kubectl für die Verbindung mit dem von Amazon HyperPod EKS orchestrierten Cluster.

   ```
   export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \
     --query 'Orchestrator.Eks.ClusterArn' --output text | \
     cut -d'/' -f2)
   aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION
   ```

1. Stellen Sie Ihr Modell bereit. JumpStart 

   ```
   kubectl apply -f jumpstart_model.yaml
   ```

**Überwachen des Status Ihrer Modellbereitstellung**

1. Überprüfen Sie, ob das Modell erfolgreich bereitgestellt wurde.

   ```
   kubectl describe JumpStartModel $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Stellen Sie sicher, dass der Endpunkt erfolgreich erstellt wurde.

   ```
   aws sagemaker describe-endpoint --endpoint-name=$SAGEMAKER_ENDPOINT_NAME --output table
   ```

1. Rufen Sie Ihren Modellendpunkt auf. Sie können programmgesteuert Beispiel-Payloads aus dem `JumpStartModel`-Objekt abrufen.

   ```
   aws sagemaker-runtime invoke-endpoint \
     --endpoint-name $SAGEMAKER_ENDPOINT_NAME \
     --content-type "application/json" \
     --body '{"inputs": "What is AWS SageMaker?"}' \
     --region $REGION \
     --cli-binary-format raw-in-base64-out \
     /dev/stdout
   ```

## Planen Ihrer Bereitstellung
<a name="kubectl-manage-your-deployment"></a>

Löschen Sie Ihre JumpStart Modellbereitstellung, sobald Sie sie nicht mehr benötigen.

```
kubectl delete JumpStartModel $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
```

**Fehlerbehebung**

Verwenden Sie diese Debugging-Befehle, wenn Ihre Bereitstellung nicht wie erwartet funktioniert.

1. Prüfen Sie den Status der Kubernetes-Bereitstellung. Dieser Befehl überprüft das zugrunde liegende Kubernetes-Bereitstellungsobjekt, das die Pods verwaltet, auf denen Ihr Modell ausgeführt wird. Verwenden Sie diesen Befehl, um Probleme mit der Pod-Planung, der Ressourcenzuweisung und dem Start von Containern zu beheben.

   ```
   kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Überprüfen Sie den Status Ihrer JumpStart Modellressource. Mit diesem Befehl wird die benutzerdefinierte `JumpStartModel` Ressource untersucht, die die allgemeine Modellkonfiguration und den Bereitstellungszyklus verwaltet. Verwenden Sie diese Option, um modellspezifische Probleme wie Konfigurationsfehler oder Probleme bei der Erstellung von SageMaker KI-Endpunkten zu beheben.

   ```
   kubectl describe JumpStartModel $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Überprüfen Sie den Status aller Kubernetes -Objekte. Dieser Befehl bietet einen umfassenden Überblick über alle zugehörigen Kubernetes-Ressourcen in Ihrem Namespace. Verwenden Sie diesen Befehl für einen schnellen Integritätscheck, um den Gesamtstatus der Pods, Dienste, Bereitstellungen und benutzerdefinierten Ressourcen zu überprüfen, die mit Ihrer Modellbereitstellung verknüpft sind.

   ```
   kubectl get pods,svc,deployment,JumpStartModel,sagemakerendpointregistration -n $CLUSTER_NAMESPACE
   ```

# Stellen Sie mit kubectl benutzerdefinierte, fein abgestimmte Modelle von Amazon S3 und Amazon FSx bereit
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm"></a>

Die folgenden Schritte zeigen Ihnen, wie Sie auf Amazon S3 oder Amazon gespeicherte Modelle mithilfe von FSx kubectl in einem SageMaker HyperPod Amazon-Cluster bereitstellen. 

Die folgenden Anweisungen enthalten Codezellen und Befehle, die für die Ausführung in einem Terminal konzipiert sind. Stellen Sie sicher, dass Sie Ihre Umgebung mit AWS Anmeldeinformationen konfiguriert haben, bevor Sie diese Befehle ausführen.

## Voraussetzungen
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-prereqs"></a>

Bevor Sie beginnen, stellen Sie sicher, dass Sie: 
+ Richten Sie Inferenzfunktionen auf Ihren SageMaker HyperPod Amazon-Clustern ein. Weitere Informationen finden Sie unter [Einrichtung Ihrer HyperPod Cluster für die Modellbereitstellung](sagemaker-hyperpod-model-deployment-setup.md).
+ [Das [kubectl-Hilfsprogramm](https://kubernetes.io/docs/reference/kubectl/) wurde installiert und jq in Ihrem Terminal konfiguriert.](https://jqlang.org/)

## Einrichtung und Konfiguration
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-setup"></a>

Ersetzen Sie alle Platzhalterwerte durch Ihre tatsächlichen Ressourcen-IDs.

1. Wählen Sie Ihre Region in Ihrer Umgebung aus.

   ```
   export REGION=<region>
   ```

1. Initialisieren des -Cluster-Namens Dadurch wird der HyperPod Cluster identifiziert, in dem Ihr Modell bereitgestellt wird.
**Anmerkung**  
Erkundigen Sie sich bei Ihrem Cluster-Administrator, ob für diese Rolle oder diesen Benutzer Berechtigungen erteilt wurden. Sie können ausführen`!aws sts get-caller-identity --query "Arn"`, um zu überprüfen, welche Rolle oder welchen Benutzer Sie in Ihrem Terminal verwenden.

   ```
   # Specify your hyperpod cluster name here
   HYPERPOD_CLUSTER_NAME="<Hyperpod_cluster_name>"
   
   # NOTE: For sample deployment, we use g5.8xlarge for deepseek-r1 1.5b model which has sufficient memory and GPU
   instance_type="ml.g5.8xlarge"
   ```

1. Initialisieren Sie Ihren Cluster-Namespace. Ihr Clusteradministrator sollte bereits ein Hyperpod-Inferenzdienstkonto in Ihrem Namespace erstellt haben.

   ```
   cluster_namespace="<namespace>"
   ```

1. Erstellen Sie ein CRD mithilfe einer der folgenden Optionen:

------
#### [ Using Amazon FSx as the model source ]

   1. Richten Sie einen SageMaker Endpunktnamen ein.

      ```
      export SAGEMAKER_ENDPOINT_NAME="deepseek15b-fsx"
      ```

   1. Konfigurieren Sie die zu verwendende FSx Amazon-Dateisystem-ID.

      ```
      export FSX_FILE_SYSTEM_ID="fs-1234abcd"
      ```

   1. Im Folgenden finden Sie ein Beispiel für eine Yaml-Datei zum Erstellen eines Endpunkts mit Amazon FSx und einem DeepSeek Modell.
**Anmerkung**  
Bei Clustern mit aktivierter GPU-Partitionierung `nvidia.com/gpu` ersetzen Sie diesen durch den entsprechenden MIG-Ressourcennamen, z. B. `nvidia.com/mig-1g.10gb` Weitere Informationen finden Sie unter [Einreichung von Aufgaben mit MIG](sagemaker-hyperpod-eks-gpu-partitioning-task-submission.md).

      ```
      cat <<EOF> deploy_fsx_cluster_inference.yaml
      ---
      apiVersion: inference.sagemaker.aws.amazon.com/v1
      kind: InferenceEndpointConfig
      metadata:
        name: lmcache-test
        namespace: inf-update
      spec:
        modelName: Llama-3.1-8B-Instruct
        instanceType: ml.g5.24xlarge
        invocationEndpoint: v1/chat/completions
        replicas: 2
        modelSourceConfig:
          fsxStorage:
            fileSystemId: $FSX_FILE_SYSTEM_ID
          modelLocation: deepseek-1-5b
          modelSourceType: fsx
        worker:
          environmentVariables:
          - name: HF_MODEL_ID
            value: /opt/ml/model
          - name: SAGEMAKER_PROGRAM
            value: inference.py
          - name: SAGEMAKER_SUBMIT_DIRECTORY
            value: /opt/ml/model/code
          - name: MODEL_CACHE_ROOT
            value: /opt/ml/model
          - name: SAGEMAKER_ENV
            value: '1'
          image: 763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.4.0-tgi2.3.1-gpu-py311-cu124-ubuntu22.04-v2.0
          modelInvocationPort:
            containerPort: 8080
            name: http
          modelVolumeMount:
            mountPath: /opt/ml/model
            name: model-weights
          resources:
            limits:
              nvidia.com/gpu: 1
              # For MIG-enabled instances, use: nvidia.com/mig-1g.10gb: 1
            requests:
              cpu: 30000m
              memory: 100Gi
              nvidia.com/gpu: 1
              # For MIG-enabled instances, use: nvidia.com/mig-1g.10gb: 1
      EOF
      ```

------
#### [ Using Amazon S3 as the model source ]

   1. Richten Sie einen SageMaker Endpunktnamen ein.

      ```
      export SAGEMAKER_ENDPOINT_NAME="deepseek15b-s3"
      ```

   1. Konfigurieren Sie den Amazon-S3-Bucket-Speicherort, an dem sich das Modell befindet.

      ```
      export S3_MODEL_LOCATION="deepseek-qwen-1-5b"
      ```

   1. Im Folgenden finden Sie ein Beispiel für eine Yaml-Datei zum Erstellen eines Endpunkts mit Amazon S3 und einem DeepSeek Modell.
**Anmerkung**  
Bei Clustern mit aktivierter GPU-Partitionierung `nvidia.com/gpu` ersetzen Sie diesen durch den entsprechenden MIG-Ressourcennamen, z. B. `nvidia.com/mig-1g.10gb` Weitere Informationen finden Sie unter [Einreichung von Aufgaben mit MIG](sagemaker-hyperpod-eks-gpu-partitioning-task-submission.md).

      ```
      cat <<EOF> deploy_s3_inference.yaml
      ---
      apiVersion: inference.sagemaker.aws.amazon.com/v1alpha1
      kind: InferenceEndpointConfig
      metadata:
        name: $SAGEMAKER_ENDPOINT_NAME
        namespace: $CLUSTER_NAMESPACE
      spec:
        modelName: deepseek15b
        endpointName: $SAGEMAKER_ENDPOINT_NAME
        instanceType: ml.g5.8xlarge
        invocationEndpoint: invocations
        modelSourceConfig:
          modelSourceType: s3
          s3Storage:
            bucketName: $S3_MODEL_LOCATION
            region: $REGION
          modelLocation: deepseek15b
          prefetchEnabled: true
        worker:
          resources:
            limits:
              nvidia.com/gpu: 1
              # For MIG-enabled instances, use: nvidia.com/mig-1g.10gb: 1
            requests:
              nvidia.com/gpu: 1
              # For MIG-enabled instances, use: nvidia.com/mig-1g.10gb: 1
              cpu: 25600m
              memory: 102Gi
          image: 763104351884.dkr.ecr.us-east-2.amazonaws.com/djl-inference:0.32.0-lmi14.0.0-cu124
          modelInvocationPort:
            containerPort: 8000
            name: http
          modelVolumeMount:
            name: model-weights
            mountPath: /opt/ml/model
          environmentVariables:
            - name: PYTHONHASHSEED
              value: "123"
            - name: OPTION_ROLLING_BATCH
              value: "vllm"
            - name: SERVING_CHUNKED_READ_TIMEOUT
              value: "480"
            - name: DJL_OFFLINE
              value: "true"
            - name: NUM_SHARD
              value: "1"
            - name: SAGEMAKER_PROGRAM
              value: "inference.py"
            - name: SAGEMAKER_SUBMIT_DIRECTORY
              value: "/opt/ml/model/code"
            - name: MODEL_CACHE_ROOT
              value: "/opt/ml/model"
            - name: SAGEMAKER_MODEL_SERVER_WORKERS
              value: "1"
            - name: SAGEMAKER_MODEL_SERVER_TIMEOUT
              value: "3600"
            - name: OPTION_TRUST_REMOTE_CODE
              value: "true"
            - name: OPTION_ENABLE_REASONING
              value: "true"
            - name: OPTION_REASONING_PARSER
              value: "deepseek_r1"
            - name: SAGEMAKER_CONTAINER_LOG_LEVEL
              value: "20"
            - name: SAGEMAKER_ENV
              value: "1"
            - name: MODEL_SERVER_TYPE
              value: "vllm"
            - name: SESSION_KEY
              value: "x-user-id"
      EOF
      ```

------
#### [ Using Amazon S3 as the model source ]

   1. Richten Sie einen SageMaker Endpunktnamen ein.

      ```
      export SAGEMAKER_ENDPOINT_NAME="deepseek15b-s3"
      ```

   1. Konfigurieren Sie den Amazon-S3-Bucket-Speicherort, an dem sich das Modell befindet.

      ```
      export S3_MODEL_LOCATION="deepseek-qwen-1-5b"
      ```

   1. Im Folgenden finden Sie ein Beispiel für eine Yaml-Datei zum Erstellen eines Endpunkts mit Amazon S3 und einem DeepSeek Modell.

      ```
      cat <<EOF> deploy_s3_inference.yaml
      ---
      apiVersion: inference.sagemaker.aws.amazon.com/v1
      kind: InferenceEndpointConfig
      metadata:
        name: lmcache-test
        namespace: inf-update
      spec:
        modelName: Llama-3.1-8B-Instruct
        instanceType: ml.g5.24xlarge
        invocationEndpoint: v1/chat/completions
        replicas: 2
        modelSourceConfig:
          modelSourceType: s3
          s3Storage:
            bucketName: bugbash-ada-resources
            region: us-west-2
          modelLocation: models/Llama-3.1-8B-Instruct
          prefetchEnabled: false
        kvCacheSpec:
          enableL1Cache: true
      #    enableL2Cache: true
      #    l2CacheSpec:
      #      l2CacheBackend: redis/sagemaker
      #      l2CacheLocalUrl: redis://redis.redis-system.svc.cluster.local:6379
        intelligentRoutingSpec:
          enabled: true
        tlsConfig:
          tlsCertificateOutputS3Uri: s3://sagemaker-lmcache-fceb9062-tls-6f6ee470
        metrics:
          enabled: true
          modelMetrics:
            port: 8000
        loadBalancer:
          healthCheckPath: /health
        worker:
          resources:
            limits:
              nvidia.com/gpu: "4"
            requests:
              cpu: "6"
              memory: 30Gi
              nvidia.com/gpu: "4"
          image: lmcache/vllm-openai:latest
          args:
            - "/opt/ml/model"
            - "--max-model-len"
            - "20000"
            - "--tensor-parallel-size"
            - "4"
          modelInvocationPort:
            containerPort: 8000
            name: http
          modelVolumeMount:
            name: model-weights
            mountPath: /opt/ml/model
          environmentVariables:
            - name: PYTHONHASHSEED
              value: "123"
            - name: OPTION_ROLLING_BATCH
              value: "vllm"
            - name: SERVING_CHUNKED_READ_TIMEOUT
              value: "480"
            - name: DJL_OFFLINE
              value: "true"
            - name: NUM_SHARD
              value: "1"
            - name: SAGEMAKER_PROGRAM
              value: "inference.py"
            - name: SAGEMAKER_SUBMIT_DIRECTORY
              value: "/opt/ml/model/code"
            - name: MODEL_CACHE_ROOT
              value: "/opt/ml/model"
            - name: SAGEMAKER_MODEL_SERVER_WORKERS
              value: "1"
            - name: SAGEMAKER_MODEL_SERVER_TIMEOUT
              value: "3600"
            - name: OPTION_TRUST_REMOTE_CODE
              value: "true"
            - name: OPTION_ENABLE_REASONING
              value: "true"
            - name: OPTION_REASONING_PARSER
              value: "deepseek_r1"
            - name: SAGEMAKER_CONTAINER_LOG_LEVEL
              value: "20"
            - name: SAGEMAKER_ENV
              value: "1"
            - name: MODEL_SERVER_TYPE
              value: "vllm"
            - name: SESSION_KEY
              value: "x-user-id"
      EOF
      ```

------

## Konfigurieren Sie KV-Caching und intelligentes Routing für eine verbesserte Leistung
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-cache-route"></a>

1. Aktivieren Sie KV-Caching, indem Sie `enableL1Cache` und `enableL2Cache` auf einstellen. Stellen `true` `l2CacheSpec` Sie dann auf `redis` und aktualisieren Sie `l2CacheLocalUrl` mit der Redis-Cluster-URL.

   ```
     kvCacheSpec:
       enableL1Cache: true
       enableL2Cache: true
       l2CacheSpec:
         l2CacheBackend: <redis | tieredstorage>
         l2CacheLocalUrl: <redis cluster URL if l2CacheBackend is redis >
   ```
**Anmerkung**  
Wenn sich der Redis-Cluster nicht in derselben Amazon VPC wie der HyperPod Cluster befindet, ist die Verschlüsselung der Daten während der Übertragung nicht garantiert.
**Anmerkung**  
Sie benötigen l2 nicht, CacheLocalUrl wenn TieredStorage ausgewählt ist.

1. Aktivieren Sie intelligentes Routing, indem Sie die Einstellung `enabled` auf unter setzen. `true` `intelligentRoutingSpec` Sie können unter angeben, welche Routing-Strategie verwendet werden soll`routingStrategy`. Wenn keine Routingstrategie angegeben ist, wird standardmäßig verwendet. `prefixaware`

   ```
   intelligentRoutingSpec:
       enabled: true
       routingStrategy: <routing strategy to use>
   ```

1. Aktivieren Sie Router-Metriken und Caching-Metriken, indem Sie `enabled` auf `true` unter setzen. `metrics` Der `port` Wert muss mit dem `containerPort` Wert unter `modelInvocationPort` übereinstimmen.

   ```
   metrics:
       enabled: true
       modelMetrics:
         port: <port value>
       ...
       modelInvocationPort:
         containerPort: <port value>
   ```

## Stellen Sie Ihr Modell von Amazon S3 oder Amazon aus bereit FSx
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-deploy"></a>

1. Rufen Sie den Namen des Amazon EKS-Clusters aus dem HyperPod Cluster-ARN für die Kubectl-Authentifizierung ab.

   ```
   export EKS_CLUSTER_NAME=$(aws --region $REGION sagemaker describe-cluster --cluster-name $HYPERPOD_CLUSTER_NAME \
     --query 'Orchestrator.Eks.ClusterArn' --output text | \
     cut -d'/' -f2)
   aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $REGION
   ```

1. Stellen Sie Ihr InferenceEndpointConfig Modell mit einer der folgenden Optionen bereit:

------
#### [ Deploy with Amazon FSx as a source ]

   ```
   kubectl apply -f deploy_fsx_luster_inference.yaml
   ```

------
#### [ Deploy with Amazon S3 as a source ]

   ```
   kubectl apply -f deploy_s3_inference.yaml
   ```

------

## Überprüfen des Status Ihrer Bereitstellung
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-verify"></a>

1. Überprüfen Sie, ob das Modell erfolgreich eingesetzt wurde.

   ```
   kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Stellen Sie sicher, dass der Endpunkt erfolgreich erstellt wurde.

   ```
   kubectl describe SageMakerEndpointRegistration $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Testen Sie den bereitgestellten Endpunkt, um sicherzustellen, dass er ordnungsgemäß funktioniert. Dieser Schritt bestätigt, dass Ihr Modell erfolgreich bereitgestellt wurde und Inferenzanfragen verarbeiten kann.

   ```
   aws sagemaker-runtime invoke-endpoint \
     --endpoint-name $SAGEMAKER_ENDPOINT_NAME \
     --content-type "application/json" \
     --body '{"inputs": "What is AWS SageMaker?"}' \
     --region $REGION \
     --cli-binary-format raw-in-base64-out \
     /dev/stdout
   ```

## Planen Ihrer Bereitstellung
<a name="sagemaker-hyperpod-model-deployment-deploy-ftm-manage"></a>

Wenn Sie mit dem Testen Ihrer Bereitstellung fertig sind, verwenden Sie die folgenden Befehle, um Ihre Ressourcen zu bereinigen.

**Anmerkung**  
Stellen Sie sicher, dass Sie das bereitgestellte Modell oder die gespeicherten Daten nicht mehr benötigen, bevor Sie fortfahren.

**Bereinigen Ihrer Ressourcen**

1. Löschen Sie die Inferenzbereitstellung und die zugehörigen Kubernetes-Ressourcen. Dadurch werden die laufenden Modellcontainer gestoppt und der SageMaker Endpunkt entfernt.

   ```
   kubectl delete inferenceendpointconfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Stellen Sie sicher, dass die Bereinigung erfolgreich durchgeführt wurde.

   ```
   # # Check that Kubernetes resources are removed
   kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE
   ```

   ```
   # Verify SageMaker endpoint is deleted (should return error or empty)
   aws sagemaker describe-endpoint --endpoint-name $SAGEMAKER_ENDPOINT_NAME --region $REGION
   ```

**Fehlerbehebung**

Verwenden Sie diese Debugging-Befehle, wenn Ihre Bereitstellung nicht wie erwartet funktioniert.

1. Überprüfen Sie den Kubernetes-Bereitstellungsstatus.

   ```
   kubectl describe deployment $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Überprüfen Sie den InferenceEndpointConfig Status, um den allgemeinen Bereitstellungsstatus und etwaige Konfigurationsprobleme zu überprüfen.

   ```
   kubectl describe InferenceEndpointConfig $SAGEMAKER_ENDPOINT_NAME -n $CLUSTER_NAMESPACE
   ```

1. Überprüfen Sie den Status aller Kubernetes-Objekte. Verschaffen Sie sich einen umfassenden Überblick über alle zugehörigen Kubernetes-Ressourcen in Ihrem Namespace. Auf diese Weise erhalten Sie einen schnellen Überblick darüber, was läuft und was möglicherweise fehlt.

   ```
   kubectl get pods,svc,deployment,InferenceEndpointConfig,sagemakerendpointregistration -n $CLUSTER_NAMESPACE
   ```

# Richtlinien zur automatischen Skalierung für die Bereitstellung Ihres HyperPod Inferenzmodells
<a name="sagemaker-hyperpod-model-deployment-autoscaling"></a>

Die folgenden Informationen enthalten praktische Beispiele und Konfigurationen für die Implementierung von Autoscaling-Richtlinien in Bereitstellungen des SageMaker HyperPod Amazon-Inferenzmodells. 

Sie erfahren, wie Sie die automatische Skalierung mithilfe der in Ihren Bereitstellungs-YAML-Dateien integrierten `autoScalingSpec` konfigurieren und eigenständige KEDA–`ScaledObject`Konfigurationen für erweiterte Skalierungsszenarien erstellen. Die Beispiele behandeln Skalierungsauslöser auf der Grundlage von CloudWatch Metriken, Amazon SQS SQS-Warteschlangenlängen, Prometheus-Abfragen und Kennzahlen zur Ressourcennutzung wie CPU und Arbeitsspeicher. 

## Verwendung von YAML bei der Bereitstellung autoScalingSpec
<a name="sagemaker-hyperpod-model-deployment-autoscaling-yaml"></a>

Der Amazon SageMaker HyperPod Inference Operator bietet integrierte Autoscaling-Funktionen für Modellbereitstellungen, die Metriken von Amazon Managed Prometheus (AMP) CloudWatch und Amazon Managed Prometheus (AMP) verwenden. Das folgende YAML-Implementierungsbeispiel enthält einen `autoScalingSpec` Abschnitt, der die Konfigurationswerte für die Skalierung Ihrer Modellbereitstellung definiert.

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name: deepseek-sample624
  namespace: ns-team-a
spec:
  sageMakerEndpoint:
    name: deepsek7bsme624
  model:
    modelHubName: SageMakerPublicHub
    modelId: deepseek-llm-r1-distill-qwen-1-5b
    modelVersion: 2.0.4
  server:
    instanceType: ml.g5.8xlarge
  metrics:
    enabled: true
  environmentVariables:
    - name: SAMPLE_ENV_VAR
      value: "sample_value"
  maxDeployTimeInSeconds: 1800
  tlsConfig:
    tlsCertificateOutputS3Uri: "s3://{USER}-tls-bucket-{REGION}/certificates"
  autoScalingSpec:
    minReplicaCount: 0
    maxReplicaCount: 5
    pollingInterval: 15
    initialCooldownPeriod: 60
    cooldownPeriod: 120
    scaleDownStabilizationTime: 60
    scaleUpStabilizationTime: 0
    cloudWatchTrigger:
        name: "SageMaker-Invocations"
        namespace: "AWS/SageMaker"
        useCachedMetrics: false
        metricName: "Invocations"
        targetValue: 10.5
        activationTargetValue: 5.0
        minValue: 0.0
        metricCollectionStartTime: 300
        metricCollectionPeriod: 30
        metricStat: "Sum"
        metricType: "Average"
        dimensions:
          - name: "EndpointName"
            value: "deepsek7bsme624"
          - name: "VariantName"
            value: "AllTraffic"
    prometheusTrigger: 
        name: "Prometheus-Trigger"
        useCachedMetrics: false
        serverAddress: http://<prometheus-host>:9090
        query: sum(rate(http_requests_total{deployment="my-deployment"}[2m]))
        targetValue: 10.0
        activationTargetValue: 5.0
        namespace: "namespace"
        customHeaders: "X-Client-Id=cid"
        metricType: "Value"
```

### Erläuterung der Felder, die bei der Bereitstellung von YAML verwendet werden
<a name="sagemaker-hyperpod-model-deployment-autoscaling-fields"></a>

`minReplicaCount` (Optional, Ganzzahl)  
Gibt die Mindestanzahl der Modellbereitstellungsreplikate an, die im Cluster verwaltet werden sollen. Bei Down-Scale-Down-Ereignissen wird die Bereitstellung auf diese Mindestanzahl von Pods herunterskaliert. Der Wert muss gleich oder größer 0 sein. Standard: 1

`maxReplicaCount` (Optional, Ganzzahl)  
Gibt die maximale Anzahl von Modellbereitstellungsreplikaten an, die im Cluster verwaltet werden sollen. Der Wert muss gleich oder größer `minReplicaCount` sein. Bei Skalierungsereignissen wird die Bereitstellung auf diese maximale Anzahl von Pods skaliert. Standard: 5.

`pollingInterval` (Optional, Ganzzahl)  
Das Zeitintervall in Sekunden für die Abfrage von Metriken. Minimum: 0. Standard: 30 Sekunden.

`cooldownPeriod` (Optional, Ganzzahl)  
Das Zeitintervall in Sekunden, in dem gewartet werden soll, bevor während eines Scale-Down-Ereignisses von 1 auf 0 Pods herunterskaliert wird. Gilt nur, wenn `minReplicaCount` auf 0 gesetzt ist. Minimum: 0. Standard: 300 Sekunden.

`initialCooldownPeriod` (Optional, Ganzzahl)  
Das Zeitintervall in Sekunden, in dem gewartet werden soll, bevor bei der ersten Bereitstellung von 1 auf 0 Pods herunterskaliert wird. Gilt nur, wenn `minReplicaCount` auf 0 gesetzt ist. Minimum: 0. Standard: 300 Sekunden.

`scaleDownStabilizationTime` (Optional, Ganzzahl)  
Das Stabilisierungszeitfenster in Sekunden, nachdem ein Scale-Down-Trigger aktiviert wurde, bevor das Herunterskalieren erfolgt. Minimum: 0. Standard: 300 Sekunden.

`scaleUpStabilizationTime` (Optional, Ganzzahl)  
Das Stabilisierungszeitfenster in Sekunden nach der Aktivierung eines Scale-Up-Triggers, bevor das Hochskalieren erfolgt. Minimum: 0. Standard: 0 Sekunden.

`cloudWatchTrigger`  
Die Triggerkonfiguration für CloudWatch Metriken, die bei Entscheidungen zur automatischen Skalierung verwendet werden. Die folgenden Felder sind verfügbar in `cloudWatchTrigger`:  
+ `name`(Optional, Zeichenfolge) — Name für den CloudWatch Trigger. Falls nicht angegeben, wird das Standardformat verwendet: < model-deployment-name >-scaled-object-cloudwatch-trigger.
+ `useCachedMetrics`(Optional, Boolean) – Legt fest, ob von KEDA abgefragte Metriken zwischengespeichert werden sollen. KEDA fragt Metriken mithilfe des PollingInterval ab, während der Horizontal Pod Autoscaler (HPA) alle 15 Sekunden Metriken von KEDA anfordert. Wenn dieser Wert auf true gesetzt ist, werden abgefragte Metriken zwischengespeichert und zur Bearbeitung von HPA-Anfragen verwendet. Standard: true
+ `namespace`(Erforderlich, Zeichenfolge) — Der CloudWatch Namespace für die abzufragende Metrik.
+ `metricName`(Erforderlich, Zeichenfolge) — Der Name der CloudWatch Metrik.
+ `dimensions`(Optional, Liste) – Die Liste der Dimensionen für die Metrik. Jede Dimension umfasst einen Namen (Dimensionsname – Zeichenfolge) und einen Wert (Dimensionswert – Zeichenfolge).
+ `targetValue`(Erforderlich, Float) — Der Zielwert für die CloudWatch Metrik, die bei Autoscaling-Entscheidungen verwendet wird.
+ `activationTargetValue`(Optional, Float) — Der Zielwert für die CloudWatch Metrik, die bei der Skalierung von 0 auf 1 Pod verwendet wird. Gilt nur, wenn `minReplicaCount` auf 0 gesetzt ist. Standard: 0
+ `minValue`(Optional, Float) — Der Wert, der verwendet werden soll, wenn die CloudWatch Abfrage keine Daten zurückgibt. Standard: 0
+ `metricCollectionStartTime`(Optional, Integer) — Die Startzeit für die Metrikabfrage, berechnet als metricCollectionStart T-Zeit. Muss größer oder gleich sein metricCollectionPeriod. Standard: 300 Sekunden.
+ `metricCollectionPeriod`(Optional, Integer) – Die Dauer der Metrikabfrage in Sekunden. Muss ein von CloudWatch -unterstützter Wert sein (1, 5, 10, 30 oder ein Vielfaches von 60). Standard: 300 Sekunden.
+ `metricStat`(Optional, Zeichenfolge) — Der Statistiktyp für die CloudWatch Abfrage. Standard: `Average`.
+ `metricType`(Optional, Zeichenfolge) – Definiert, wie die Metrik für Skalierungsberechnungen verwendet wird. Standard: `Average`. Zulässige Werte: `Average`, `Value`.
  + **Durchschnitt**: Gewünschte Replikate = ceil (metrischer Wert)/(TargetValue)
  + **Wert**: Gewünschte Replikate = (aktuelle Replikate) × ceil (metrischer Wert)/(TargetValue)

`prometheusTrigger`  
Die Triggerkonfiguration für Amazon Managed Prometheus (AMP) -Metriken, die bei Entscheidungen zur automatischen Skalierung verwendet werden. Die folgenden Felder sind verfügbar in `prometheusTrigger`:  
+ `name`(Optional, Zeichenfolge) — Name für den CloudWatch Trigger. Falls nicht angegeben, wird das Standardformat verwendet: < model-deployment-name >-scaled-object-cloudwatch-trigger.
+ `useCachedMetrics`(Optional, Boolean) – Legt fest, ob von KEDA abgefragte Metriken zwischengespeichert werden sollen. KEDA fragt Metriken mithilfe des PollingInterval ab, während der Horizontal Pod Autoscaler (HPA) alle 15 Sekunden Metriken von KEDA anfordert. Wenn dieser Wert auf true gesetzt ist, werden abgefragte Metriken zwischengespeichert und zur Bearbeitung von HPA-Anfragen verwendet. Standard: true
+ `serverAddress`(Erforderlich, Zeichenfolge) – Die Adresse des AMP-Servers. Muss das Format verwenden: <https://aps-workspaces.<region>.amazonaws.com/workspaces/<workspace\$1id>
+ `query`(Erforderlich, Zeichenfolge) – Die für die Metrik verwendete PromQL-Abfrage. Muss einen Skalarwert zurückgeben.
+ `targetValue`(Erforderlich, Float) — Der Zielwert für die CloudWatch Metrik, die bei Autoscaling-Entscheidungen verwendet wird.
+ `activationTargetValue`(Optional, Float) — Der Zielwert für die CloudWatch Metrik, die bei der Skalierung von 0 auf 1 Pod verwendet wird. Gilt nur, wenn `minReplicaCount` auf 0 gesetzt ist. Standard: 0
+ `namespace`(Optional, String) – Der Namespace, der für Namespace-Abfragen verwendet werden soll. Standard: leere Zeichenfolge (`""`).
+ `customHeaders`(Optional, Zeichenfolge) – Benutzerdefinierte Header, die bei der Abfrage des Prometheus-Endpunkts berücksichtigt werden sollen. Standard: leere Zeichenfolge ("").
+ `metricType`(Optional, Zeichenfolge) – Definiert, wie die Metrik für Skalierungsberechnungen verwendet wird. Standard: `Average`. Zulässige Werte: `Average`, `Value`.
  + **Durchschnitt**: Gewünschte Replikate = ceil (metrischer Wert)/(TargetValue)
  + **Wert**: Gewünschte Replikate = (aktuelle Replikate) × ceil (metrischer Wert)/(TargetValue)

## Verwendung von ScaledObject KEDA-Yaml-Definitionen über kubectl
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl"></a>

Zusätzlich zur Konfiguration von Autoscaling über den autoScalingSpec Abschnitt in Ihrer YAML-Bereitstellung können Sie eigenständige KEDA-YAML-Definitionen mit kubectl erstellen und anwenden. `ScaledObject`

Dieser Ansatz bietet mehr Flexibilität für komplexe Skalierungsszenarien und ermöglicht es Ihnen, Autoscaling-Richtlinien unabhängig von Ihren Modellbereitstellungen zu verwalten. `ScaledObject`KEDA-Konfigurationen unterstützen eine [Vielzahl von Skalierungsauslösern](https://keda.sh/docs/2.17/scalers/), darunter CloudWatch Metriken, Amazon SQS SQS-Warteschlangenlängen, Prometheus-Abfragen und ressourcenbasierte Metriken wie CPU- und Speicherauslastung. Sie können diese Konfigurationen auf bestehende Modellbereitstellungen anwenden, indem Sie im Abschnitt der Spezifikation auf den Namen der Bereitstellung verweisen. scaleTargetRef ScaledObject 

**Anmerkung**  
Stellen Sie sicher, dass die während der Installation des HyperPod Inference-Operators bereitgestellte Keda-Operatorrolle über ausreichende Berechtigungen verfügt, um die in den skalierten Objekt-Triggern definierten Metriken abzufragen.

### CloudWatch Metriken
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-cw"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet CloudWatch Metriken als Auslöser für die automatische Skalierung in einer Kubernetes-Bereitstellung. Die Richtlinie fragt die Anzahl der Aufrufe für einen Sagemaker-Endpunkt ab und skaliert die Anzahl der Bereitstellungs-Pods. [Die vollständige Liste der von KEDA for `aws-cloudwatch` Trigger unterstützten Parameter finden Sie unter https://keda. sh/docs/2.17/scalers/aws-cloudwatch/](https://keda.sh/docs/2.17/scalers/aws-cloudwatch/).

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 1 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  triggers:
  - type: aws-cloudwatch
    metadata:
      namespace: AWS/SageMaker
      metricName: Invocations
      targetMetricValue: "1"
      minMetricValue: "1"
      awsRegion: "us-west-2"
      dimensionName: EndpointName;VariantName
      dimensionValue: $ENDPOINT_NAME;$VARIANT_NAME
      metricStatPeriod: "30" # seconds
      metricStat: "Sum"
      identityOwner: operator
```

### Amazon-SQS-Metriken
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-sqs"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet Amazon-SQS-Metriken als Auslöser für die automatische Skalierung einer Kubernetes-Bereitstellung. Die Richtlinie fragt die Anzahl der Aufrufe für einen Sagemaker-Endpunkt ab und skaliert die Anzahl der Bereitstellungs-Pods. [Die vollständige Liste der von KEDA für `aws-cloudwatch` Trigger unterstützten Parameter finden Sie unter https://keda. sh/docs/2.17/scalers/aws-sqs/](https://keda.sh/docs/2.17/scalers/aws-sqs/).

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 1 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  triggers:
  - type: aws-sqs-queue
    metadata:
      queueURL: https://sqs.eu-west-1.amazonaws.com/account_id/QueueName
      queueLength: "5"  # Default: "5"
      awsRegion: "us-west-1"
      scaleOnInFlight: true
      identityOwner: operator
```

### Prometheus-Metriken
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-prometheus"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet Prometheus-Metriken als Auslöser für die automatische Skalierung in einer Kubernetes-Bereitstellung. Die Richtlinie fragt die Anzahl der Aufrufe für einen Sagemaker-Endpunkt ab und skaliert die Anzahl der Bereitstellungs-Pods. [Die vollständige Liste der von KEDA für `aws-cloudwatch` Trigger unterstützten Parameter finden Sie unter https://keda. sh/docs/2.17/scalers/prometheus](https://keda.sh/docs/2.17/scalers/prometheus/)/.

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 1 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  triggers:
  - type: prometheus
    metadata:
      serverAddress: http://<prometheus-host>:9090
      query: avg(rate(http_requests_total{deployment="$DEPLOYMENT_NAME"}[2m])) # Note: query must return a vector/scalar single element response
      threshold: '100.50'
      namespace: example-namespace  # for namespaced queries, eg. Thanos
      customHeaders: X-Client-Id=cid,X-Tenant-Id=tid,X-Organization-Id=oid # Optional. Custom headers to include in query. In case of auth header, use the custom authentication or relevant authModes.
      unsafeSsl: "false" #  Default is `false`, Used for skipping certificate check when having self-signed certs for Prometheus endpoint    
      timeout: 1000 # Custom timeout for the HTTP client used in this scaler
      identityOwner: operator
```

### CPU-Metriken
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-cpu"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet die CPU-Metrik als Auslöser für die automatische Skalierung in einer Kubernetes-Bereitstellung. Die Richtlinie fragt die Anzahl der Aufrufe für einen Sagemaker-Endpunkt ab und skaliert die Anzahl der Bereitstellungs-Pods. Die vollständige Liste der von KEDA für `aws-cloudwatch` Trigger unterstützten Parameter finden Sie unter [https://keda. sh/docs/2.17/scalers/prometheus](https://keda.sh/docs/2.17/scalers/prometheus/)/.

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 1 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  triggers:
  - type: cpu
    metricType: Utilization # Allowed types are 'Utilization' or 'AverageValue'
    metadata:
        value: "60"
        containerName: "" # Optional. You can use this to target a specific container
```

### Speichermetriken
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-memory"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet die Prometheus-Metrikabfrage als Auslöser für die automatische Skalierung in einer Kubernetes-Bereitstellung. Die Richtlinie fragt die Anzahl der Aufrufe für einen Sagemaker-Endpunkt ab und skaliert die Anzahl der Bereitstellungs-Pods. Die vollständige Liste der von KEDA für `aws-cloudwatch` Trigger unterstützten Parameter finden Sie unter [https://keda. sh/docs/2.17/scalers/prometheus](https://keda.sh/docs/2.17/scalers/prometheus/)/.

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 1 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  triggers:
  - type: memory
    metricType: Utilization # Allowed types are 'Utilization' or 'AverageValue'
    metadata:
        value: "60"
        containerName: "" # Optional. You can use this to target a specific container in a pod
```

## Beispiel für eine Prometheus-Richtlinie zum Herunterskalieren auf 0 Pods
<a name="sagemaker-hyperpod-model-deployment-autoscaling-kubectl-sample"></a>

Die folgende KEDA-Yaml-Richtlinie verwendet die Prometheus-Metrikabfrage als Auslöser für die automatische Skalierung in einer Kubernetes-Bereitstellung. Diese Richtlinie verwendet einen `minReplicaCount` von 0, wodurch KEDA die Bereitstellung auf 0 Pods reduzieren kann. Wenn auf 0 gesetzt `minReplicaCount` ist, müssen Sie ein Aktivierungskriterium angeben, um den ersten Pod aufzurufen, nachdem die Pods auf 0 herunterskaliert wurden. Für den Prometheus-Trigger wird dieser Wert von `activationThreshold` bereitgestellt. Für die SQS-Warteschlange stammt er von `activationQueueLength`.

**Anmerkung**  
Stellen Sie bei Verwendung `minReplicaCount` von 0 sicher, dass die Aktivierung nicht von einer Metrik abhängt, die von den Pods generiert wird. Wenn die Pods auf 0 herunterskaliert werden, wird diese Metrik nie generiert und die Pods werden nicht wieder hochskaliert.

```
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: invocations-scaledobject # name of the scaled object that will be created by this
  namespace: ns-team-a # namespace that this scaled object targets
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: $DEPLOYMENT_NAME # name of the model deployment
  minReplicaCount: 0 # minimum number of pods to be maintained
  maxReplicaCount: 4 # maximum number of pods to scale to
  pollingInterval: 10
  cooldownPeriod:  30
  initialCooldownPeriod:  180 # time before scaling down the pods after initial deployment
  triggers:
  - type: prometheus
    metadata:
      serverAddress: http://<prometheus-host>:9090
      query: sum(rate(http_requests_total{deployment="my-deployment"}[2m])) # Note: query must return a vector/scalar single element response
      threshold: '100.50'
      activationThreshold: '5.5' # Required if minReplicaCount is 0 for initial scaling
      namespace: example-namespace
      timeout: 1000
      identityOwner: operator
```

**Anmerkung**  
Die CPU- und Speicher-Trigger können nur dann auf 0 skaliert werden, wenn Sie mindestens einen zusätzlichen Skalierer definieren, der nicht CPU oder Speicher ist (z. B. SQS \$1 CPU oder Prometheus \$1 CPU). 

# Implementierung der Observability von Inferenzen auf Clustern HyperPod
<a name="sagemaker-hyperpod-model-deployment-observability"></a>

Amazon SageMaker HyperPod bietet umfassende Funktionen zur Beobachtung von Inferenzen, mit denen Datenwissenschaftler und Ingenieure für maschinelles Lernen ihre eingesetzten Modelle überwachen und optimieren können. [https://prometheus.io/](https://prometheus.io/)

Mit standardmäßig aktivierten Metriken erfasst die Plattform wichtige Modellleistungsdaten wie Aufruflatenz, gleichzeitige Anfragen, Fehlerraten und Metriken auf Token-Ebene und bietet gleichzeitig Standard-Prometheus-Endpunkte für Kunden, die es vorziehen, benutzerdefinierte Observability-Lösungen zu implementieren.

**Anmerkung**  
Dieses Thema befasst sich eingehend mit der Implementierung von Inferenzbeobachtbarkeit in Clustern. HyperPod Eine allgemeinere Referenz finden Sie unter [Beobachtbarkeit von Clustern und Aufgaben](sagemaker-hyperpod-eks-cluster-observability-cluster.md).

Dieses Handbuch enthält step-by-step Anweisungen zur Implementierung und Verwendung von Inferenzbeobachtbarkeit in Ihren Clustern. HyperPod Sie erfahren, wie Sie Metriken in Ihren YAML-Bereitstellungsdateien konfigurieren, je nach Ihrer Rolle (Administrator, Datenwissenschaftler oder Ingenieur für maschinelles Lernen) auf Monitoring-Dashboards zugreifen, benutzerdefinierte Observability-Lösungen mithilfe von Prometheus-Endpunkten integrieren und häufig auftretende Überwachungsprobleme beheben.

## Unterstützte Inferenzmetriken
<a name="sagemaker-hyperpod-model-deployment-observability-metrics"></a>

**Aufrufmetriken**

Diese Metriken erfassen Anforderungs- und Antwortdaten zur Modellinferenz und sorgen so für allgemeine Transparenz, unabhängig von Ihrem Modelltyp oder Serving-Framework. Wenn Inferenzmetriken aktiviert sind, werden diese Metriken zum Zeitpunkt des Aufrufs berechnet und in Ihre Monitoring-Infrastruktur exportiert.
+ `model_invocations_total`- Gesamtzahl der Aufrufanfragen an das Modell 
+ `model_errors_total`- Gesamtzahl der Fehler beim Modellaufruf
+ `model_concurrent_requests`- Aktive gleichzeitige Modellanfragen
+ `model_latency_milliseconds`- Modellieren Sie die Latenz bei Aufrufen in Millisekunden
+ `model_ttfb_milliseconds`- Modellieren Sie die Latenz von der Zeit bis zum ersten Byte in Millisekunden

**Modellcontainer-Metriken**

Diese Metriken bieten Einblicke in die internen Abläufe Ihrer Modellcontainer, einschließlich Token-Verarbeitung, Warteschlangenverwaltung und Framework-spezifischer Leistungsindikatoren. Die verfügbaren Metriken hängen von Ihrem Model Serving Framework ab:
+ [TGI-Containermetriken](https://huggingface.co/docs/text-generation-inference/en/reference/metrics) 
+ [LMI-Containermetriken](https://github.com/deepjavalibrary/djl-serving/blob/master/prometheus/README.md) 

**Metrische Abmessungen**

Alle Inferenzmetriken enthalten umfassende Labels, die eine detaillierte Filterung und Analyse Ihrer Bereitstellungen ermöglichen:
+ **Cluster-Identität:**
  + `cluster_id`- Die eindeutige ID des HyperPod Clusters
  + `cluster_name`- Der Name des HyperPod Clusters
+ **Ressourcenidentität:**
  + `resource_name`- Name der Bereitstellung (zum Beispiel "jumpstart-model-deployment„)
  + `resource_type` – Art der Bereitstellung (Jumpstart, Inferenzendpunkt)
  + `namespace` – Kubernetes-Namespace für Mehrmandantenfähigkeit
+ **Eigenschaften des Modells:**
  + `model_name`- Spezifische Modell-ID (zum Beispiel „llama-2-7b-chat“)
  + `model_version`— Modellversion für A/B Tests und Rollbacks
  + `model_container_type`- Bereitstellungsframework (TGI, LMI, -)
+ **Kontext der Infrastruktur:**
  + `pod_name`- Individuelle Pod-ID für das Debuggen
  + `node_name`- Kubernetes-Knoten für die Korrelation von Ressourcen
  + `instance_type`- EC2-Instance-Typ für die Kostenanalyse
+ **Betrieblicher Kontext:**
  + `metric_source`- Sammelstelle (Reverse-Proxy, Modellcontainer)
  + `task_type`- Klassifizierung der Arbeitslast (Inferenz)

## Konfigurieren Sie Metriken im YAML-Bereitstellungsmodus
<a name="sagemaker-hyperpod-model-deployment-observability-yaml"></a>

Amazon SageMaker HyperPod aktiviert standardmäßig Inferenzmetriken für alle Modellbereitstellungen und bietet so sofortige Beobachtbarkeit ohne zusätzliche Konfiguration. Sie können das Verhalten von Metriken anpassen, indem Sie die YAML-Konfiguration für die Bereitstellung ändern, um die Erfassung von Metriken je nach Ihren spezifischen Anforderungen zu aktivieren oder zu deaktivieren.

**Stellen Sie ein Modell bereit von JumpStart**

Verwenden Sie die folgende YAML-Konfiguration, um ein JuJumpStartmpStart Modell mit aktivierten Metriken bereitzustellen:

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name:mistral-model
  namespace: ns-team-a
spec:
  model:
    modelId: "huggingface-llm-mistral-7b-instruct"
    modelVersion: "3.19.0"
  metrics:
    enabled:true # Default: true (can be set to false to disable)
  replicas: 2
  sageMakerEndpoint:
    name: "mistral-model-sm-endpoint"
  server:
    instanceType: "ml.g5.12xlarge"
    executionRole: "arn:aws:iam::123456789:role/SagemakerRole"
  tlsConfig:
    tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/
```

**Stellen Sie benutzerdefinierte und fein abgestimmte Modelle von Amazon S3 oder Amazon bereit FSx**

Konfigurieren Sie benutzerdefinierte Inferenzendpunkte mit detaillierten Metrikeinstellungen mithilfe der folgenden YAML:

```
apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name:mistral-model
  namespace: ns-team-a
spec:
  model:
    modelId: "huggingface-llm-mistral-7b-instruct"
    modelVersion: "3.19.0"
  metrics:
    enabled:true # Default: true (can be set to false to disable)
  replicas: 2
  sageMakerEndpoint:
    name: "mistral-model-sm-endpoint"
  server:
    instanceType: "ml.g5.12xlarge"
    executionRole: "arn:aws:iam::123456789:role/SagemakerRole"
  tlsConfig:
    tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/

Deploy a custom inference endpoint

Configure custom inference endpoints with detailed metrics settings using the following YAML:

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: inferenceendpoint-deepseeks
  namespace: ns-team-a
spec:
  modelName: deepseeks
  modelVersion: 1.0.1
  metrics:
    enabled: true # Default: true (can be set to false to disable)
    metricsScrapeIntervalSeconds: 30 # Optional: if overriding the default 15s
    modelMetricsConfig:
        port: 8000 # Optional: if overriding, it defaults to the WorkerConfig.ModelInvocationPort.ContainerPort within the InferenceEndpointConfig spec 8080
        path: "/custom-metrics" # Optional: if overriding the default "/metrics"
  endpointName: deepseek-sm-endpoint
  instanceType: ml.g5.12xlarge
  modelSourceConfig:
    modelSourceType: s3
    s3Storage:
      bucketName: model-weights
      region: us-west-2
    modelLocation: deepseek
    prefetchEnabled: true
  invocationEndpoint: invocations
  worker:
    resources:
      limits:
        nvidia.com/gpu: 1
      requests:
        nvidia.com/gpu: 1
        cpu: 25600m
        memory: 102Gi
    image: 763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.32.0-lmi14.0.0-cu124
    modelInvocationPort:
      containerPort: 8080
      name: http
    modelVolumeMount:
      name: model-weights
      mountPath: /opt/ml/model
    environmentVariables: ...
  tlsConfig:
    tlsCertificateOutputS3Uri: s3://hyperpod/inferenceendpoint-deepseeks4/certs/
```

**Anmerkung**  
Um Metriken für bestimmte Bereitstellungen zu deaktivieren, legen Sie dies `metrics.enabled: false` in Ihrer YAML-Konfiguration fest.

## Überwachen Sie Inferenz-Workloads nach Rollen und beheben Sie Fehler
<a name="sagemaker-hyperpod-model-deployment-observability-role"></a>

Amazon SageMaker HyperPod bietet umfassende Observability-Funktionen, die verschiedene Benutzerworkflows unterstützen, von der anfänglichen Clustereinrichtung bis hin zur erweiterten Performance-Fehlerbehebung. Verwenden Sie je nach Ihrer Rolle und Ihren Überwachungsanforderungen die folgenden Anleitungen.

**HyperPod Administrator**

**Ihre Verantwortung:** Aktivieren Sie die Observability-Infrastruktur und stellen Sie die Systemintegrität im gesamten Cluster sicher.

**Was Sie wissen müssen:**
+ Clusterweite Observability bietet Infrastrukturmetriken für alle Workloads
+ Bei der Einrichtung mit nur einem Klick wird ein Monitoring-Stack mit vorkonfigurierten Dashboards bereitgestellt
+ Infrastrukturmetriken sind von modellspezifischen Inferenzmetriken getrennt

**Was Sie tun müssen:**

1. Navigieren Sie zur HyperPod Konsole.

1. Wählen Sie Ihren Cluster aus.

1. Gehen Sie zu der HyperPod Cluster-Detailseite, die Sie gerade erstellt haben. Sie werden eine neue Option zur Installation des HyperPod Observability-Add-ons sehen.

1. Klicken Sie auf die Option **Schnellinstallation**. Nach 1-2 Minuten sind alle Schritte abgeschlossen und Sie sehen das Grafana-Dashboard und die Prometheus-Workspace-Details.

Diese einzelne Aktion stellt automatisch das EKS-Add-on bereit, konfiguriert Observability-Operatoren und stellt vorgefertigte Dashboards in Grafana bereit.

**Datenwissenschaftler**

**Ihre Verantwortung:** Stellen Sie Modelle effizient bereit und überwachen Sie deren grundlegende Leistung.

**Was Sie wissen müssen:**
+ Metriken werden automatisch aktiviert, wenn Sie Modelle bereitstellen
+ Grafana-Dashboards bieten sofortigen Einblick in die Modellleistung
+ Sie können Dashboards filtern, um sich auf Ihre spezifischen Bereitstellungen zu konzentrieren

**Was Sie tun müssen:**

1. Implementieren Sie Ihr Modell mit Ihrer bevorzugten Methode:

   1. Amazon SageMaker Studio-Benutzeroberfläche

   1. HyperPod CLI-Befehle

   1. Python-SDK in Notebooks

   1. kubectl mit YAML-Konfigurationen

1. Greifen Sie auf Ihre Modellmetriken zu:

   1. Öffnen Sie Amazon SageMaker Studio

   1. Navigieren Sie zu HyperPod Cluster und öffnen Sie das Grafana-Dashboard

   1. Wählen Sie Inference Dashboard

   1. Wenden Sie Filter an, um Ihre spezifische Modellbereitstellung anzuzeigen

1. Überwachen Sie wichtige Leistungsindikatoren:

   1. Verfolgen Sie die Latenz und den Durchsatz des

   1. Überwachen Sie die Fehlerquoten und die Verfügbarkeit

   1. Überprüfen von Trends zur Ressourcennutzung

Sobald dies abgeschlossen ist, erhalten Sie ohne zusätzliche Konfiguration sofortigen Einblick in die Leistung Ihres Modells, sodass Sie Probleme bei der Bereitstellung oder Leistungsänderungen schnell erkennen können.

**Machine Learning-Engineer (MLE)**

**Ihre Verantwortung:** Aufrechterhaltung der Leistung des Serienmodells und Behebung komplexer Leistungsprobleme.

**Was Sie wissen müssen:**
+ Zu den erweiterten Metriken gehören Details zu Modellcontainern wie Warteschlangentiefen und Token-Metriken
+ Die Korrelationsanalyse über mehrere Metriktypen hinweg deckt die Hauptursachen auf
+ Konfigurationen mit automatischer Skalierung wirken sich direkt auf die Leistung bei Verkehrsspitzen aus

**Hypothetisches Szenario:** Das Chat-Modell eines Kunden reagiert zeitweise langsam. Benutzer beschweren sich über Verzögerungen von 5-10 Sekunden. Das MLE kann die Beobachtbarkeit von Inferenzen für systematische Leistungsuntersuchungen nutzen.

**Was Sie tun müssen:**

1. Untersuchen Sie das Grafana-Dashboard, um den Umfang und die Schwere des Leistungsproblems zu verstehen:

   1. Warnung bei hoher Latenz, aktiv seit 09:30 Uhr

   1. P99-Latenz: 8,2 s (normal: 2,1 s)

   1. Betroffenes Zeitfenster: 09:30-10:15 (45 Minuten)

1. Korrelieren Sie mehrere Messwerte, um das Systemverhalten während des Vorfalls zu verstehen:

   1. Gleichzeitige Anfragen: Die Zahl wurde auf 45 erhöht (normal: 15 bis 20)

   1. Pod-Skalierung: KEDA hat während des Vorfalls 2 → 5 Pods skaliert

   1. GPU-Auslastung: Blieb normal (85-90%)

   1. Speichernutzung: Normal (24 GB/32 GB)

1. Untersuchen Sie das Verhalten verteilter Systeme, da die Infrastrukturkennzahlen normal zu sein scheinen:

   1. Ansicht auf Knotenebene: Alle Pods konzentrierten sich auf denselben Knoten (schlechte Verteilung)

   1. Modellcontainer-Metriken: Die Tiefe der TGI-Warteschlange zeigt 127 Anfragen an (normal: 5-10)

   ```
   Available in Grafana dashboard under "Model Container Metrics" panel
           Metric: tgi_queue_size{resource_name="customer-chat-llama"}
           Current value: 127 requests queued (indicates backlog)
   ```

1. Identifizieren Sie miteinander verbundene Konfigurationsprobleme:

   1. KEDA-Skalierungsrichtlinie: Zu langsam (Abfrageintervall von 30 Sekunden)

   1. Zeitplan für die Skalierung: Die Reaktion bei der Skalierung blieb um mehr als 45 Sekunden hinter der Verkehrsspitze zurück

1. Implementieren Sie gezielte Korrekturen auf der Grundlage der Analyse:

   1. Das KEDA-Abfrageintervall wurde aktualisiert: 30 s → 15 s

   1. Mehr MaxReplicas in der Skalierungskonfiguration

   1. Die Skalierungsschwellenwerte wurden angepasst, um früher zu skalieren (15 gegenüber 20 gleichzeitigen Anfragen)

Sie können komplexe Leistungsprobleme anhand umfassender Kennzahlen systematisch diagnostizieren, gezielte Lösungen implementieren und präventive Maßnahmen ergreifen, um eine konsistente Leistung des Produktionsmodells aufrechtzuerhalten.

## Implementieren Sie Ihre eigene Observability-Integration
<a name="sagemaker-hyperpod-model-deployment-observability-diy"></a>

Amazon SageMaker HyperPod stellt Inferenzmetriken über branchenübliche Prometheus-Endpunkte zur Verfügung und ermöglicht so die Integration in Ihre bestehende Observability-Infrastruktur. Verwenden Sie diesen Ansatz, wenn Sie es vorziehen, benutzerdefinierte Überwachungslösungen zu implementieren oder in Observability-Plattformen von Drittanbietern zu integrieren, anstatt den integrierten Grafana- und Prometheus-Stack zu verwenden.

**Greifen Sie auf Endpunkte für Inferenzmetriken zu**

**Was Sie wissen müssen:**
+ Inferenzmetriken werden automatisch auf standardisierten Prometheus-Endpunkten verfügbar gemacht
+ Metriken sind unabhängig von Ihrem Modelltyp oder Serving-Framework verfügbar
+ Für die Datenerfassung gelten die üblichen Prometheus-Scraping-Praktiken

**Konfiguration des Endpunkts für Inferenzmetriken:**
+ **Port**: 9113
+ **Pfad: /metrics**
+ **Vollständiger Endpunkt: http://pod-ip:9113/metrics**

**Verfügbare Instance-Metriken:**
+ `model_invocations_total`- Gesamtzahl der Aufrufanfragen an das Modell
+ `model_errors_total`- Gesamtzahl der Fehler beim Modellaufruf
+ `model_concurrent_requests`- Aktive gleichzeitige Anfragen pro Modell
+ `model_latency_milliseconds`- Modellieren Sie die Latenz bei Aufrufen in Millisekunden
+ `model_ttfb_milliseconds`- Modellieren Sie die Latenz von der Zeit bis zum ersten Byte in Millisekunden

**Greifen Sie auf Kennzahlen für Modellcontainer zu**

**Was Sie wissen müssen:**
+ Modellcontainer stellen zusätzliche Metriken zur Verfügung, die für ihr Serving-Framework spezifisch sind
+ Diese Metriken bieten Einblicke in interne Container wie die Token-Verarbeitung und die Warteschlangentiefe
+ Die Endpunktkonfiguration variiert je nach Modell und Containertyp

**Für JumpStart Modellbereitstellungen mit TGI-Containern (Text Generation Inference):**
+ **Port:** 8080 (Modellcontainer-Port)
+ **Pfad: /metrics**
+ **Dokumentation**[: https://huggingface. co/docs/text-generation-inference/en/reference/metrics](https://huggingface.co/docs/text-generation-inference/en/reference/metrics)

**Für JumpStart Modellbereitstellungen mit Large Model Inference (LMI) -Containern:**
+ **Port:** 8080 (Modellcontainer-Port)
+ **Pfad: /server/metrics**
+ **Dokumentation: https://github.com/deepjavalibrary/ djl** [- .md serving/blob/master/prometheus/README](https://github.com/deepjavalibrary/djl-serving/blob/master/prometheus/README.md)

**Für benutzerdefinierte Inferenzendpunkte (BYOD):**
+ **Port:** Vom Kunden konfiguriert (Standard 8080). Standardmäßig ist der. WorkerConfig ModelInvocationPort. ContainerPort innerhalb der InferenceEndpointConfig Spezifikation.)
+ **Pfad:** Vom Kunden konfiguriert (Standard /metrics)

**Implementieren Sie eine benutzerdefinierte Observability-Integration**

Bei einer benutzerdefinierten Observability-Integration sind Sie verantwortlich für:

1. **Metrics Scraping:** Implementieren Sie Prometheus-kompatibles Scraping von den oben genannten Endpunkten

1. **Datenexport**: Konfigurieren Sie den Export auf die von Ihnen gewählte Observability-Plattform

1. **Warnung: Richten** Sie Warnregeln ein, die auf Ihren betrieblichen Anforderungen basieren

1. **Dashboards:** Erstellen Sie Visualisierungs-Dashboards für Ihre Überwachungsanforderungen

## Beheben Sie Probleme mit der Beobachtbarkeit von Inferenzen
<a name="sagemaker-hyperpod-model-deployment-observability-troubleshoot"></a>

**Das Dashboard zeigt keine Daten**

Wenn das Grafana-Dashboard leer ist und in allen Bereichen „Keine Daten“ angezeigt wird, führen Sie zur Untersuchung die folgenden Schritte durch:

1. Stellen Sie sicher, dass der Administrator Inference Observability installiert hat:

   1. Navigieren Sie zu HyperPod Konsole > Cluster auswählen > Prüfen Sie, ob der Status „Observability“ auf „Aktiviert“ steht

   1. Stellen Sie sicher, dass der Grafana-Workspace-Link von der Cluster-Übersicht aus zugänglich ist

   1. Bestätigen Sie, dass Amazon Managed Prometheus Workspace konfiguriert ist und Daten empfängt

1. Stellen Sie sicher, dass HyperPod Observability aktiviert ist:

   ```
   hyp observability view      
   ```

1. Stellen Sie sicher, dass Modellmetriken aktiviert sind:

   ```
   kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled       
   ```

   ```
   kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled        
   ```

1. Überprüfen Sie den Endpunkt der Metriken:

   ```
   kubectl port-forward pod/customer-chat-llama-xxx 9113:9113
   curl localhost:9113/metrics | grep model_invocations_total# Expected: model_invocations_total{...} metrics
   ```

1. Überprüfen Sie die Protokolle:

   ```
   # Model Container
   kubectl logs customer-chat-llama-xxx -c customer-chat-llama# Look for: OOM errors, CUDA errors, model loading failures
   
   # Proxy/SideCar
   kubectl logs customer-chat-llama-xxx -c sidecar-reverse-proxy# Look for: DNS resolution issues, upstream connection failures
   
   # Metrics Exporter Sidecar
   kubectl logs customer-chat-llama-xxx -c otel-collector# Look for: Metrics collection issues, export failures
   ```

**Andere häufig auftretende Probleme**


| Problem | Lösung | Action | 
| --- | --- | --- | 
|  Inference Observability ist nicht installiert  |  Installieren Sie die Inferenzbeobachtbarkeit über die Konsole  |  „Observability aktivieren“ in der Konsole HyperPod   | 
|  Metriken sind im Modell deaktiviert  |  Aktualisieren der Modellkonfiguration  |  `metrics: {enabled: true}`Zur Modellspezifikation hinzufügen  | 
|  AMP Workspace ist nicht konfiguriert  |  Reparieren der Datenquellenverbindung  |  Überprüfen Sie die AMP Workspace-ID in Grafana-Datenquellen  | 
|  Netzwerkkonnektivität  |  Überprüfen Sie die Sicherheitsgruppen/ NACLs  |  Stellen Sie sicher, dass Pods AMP-Endpunkte erreichen können  | 

# Aufgabenverwaltung für die Modellbereitstellung am HyperPod
<a name="sagemaker-hyperpod-model-deployment-task-gov"></a>

In diesem Abschnitt wird beschrieben, wie Sie Ihre gemeinsam genutzten Amazon SageMaker HyperPod EKS-Cluster für Inferenz-Workloads in Echtzeit optimieren können. Sie lernen, wie Sie die Aufgaben-Governance-Features von Kueue konfigurieren – darunter Kontingentverwaltung, Prioritätsplanung und Richtlinien zur gemeinsamen Nutzung von Ressourcen –, um sicherzustellen, dass Ihre Inferenz-Workloads bei Traffic-Spitzen die benötigten GPU-Ressourcen erhalten und gleichzeitig eine faire Zuweisung für die Trainings-, Bewertungs- und Testaktivitäten Ihrer Teams gewährleistet ist. Weitere [SageMaker HyperPod Verwaltung von Aufgaben](sagemaker-hyperpod-eks-operate-console-ui-governance.md) allgemeine Informationen zur Aufgabenverwaltung finden Sie unter.

## So funktioniert das Inferenz-Workload-Management
<a name="sagemaker-hyperpod-model-deployment-task-gov-how"></a>

Um die Spitzen des Inferenzverkehrs in Echtzeit in gemeinsam genutzten HyperPod EKS-Clustern effektiv zu bewältigen, implementieren Sie die folgenden Task-Governance-Strategien unter Verwendung der vorhandenen Funktionen von Kueue.

**Konfiguration der Prioritätsklasse**

Definieren Sie dedizierte Prioritätsklassen für Inferenz-Workloads mit hohen Gewichtungen (z. B. 100), um sicherzustellen, dass Inferenz-Pods vor anderen Aufgabentypen zugelassen und geplant werden. Diese Konfiguration ermöglicht es Inferenz-Workloads, Jobs mit niedrigerer Priorität während der Clusterlast zuvorzukommen, was für die Einhaltung niedriger Latenzanforderungen bei hohen Datenverkehrszahlen entscheidend ist.

**Größe und Zuteilung von Kontingenten**

Reservieren Sie ausreichend GPU-Ressourcen in Ihrem Team`ClusterQueue`, um erwartete Inferenzspitzen zu bewältigen. In Zeiten mit geringem Inferenzverkehr können ungenutzte Quotenressourcen vorübergehend den Aufgaben anderer Teams zugewiesen werden. Wenn der Bedarf an Inferenzen steigt, können diese geliehenen Ressourcen zurückgewonnen werden, um ausstehende Inferenz-Pods zu priorisieren. Weitere Informationen finden Sie unter [Cluster-Warteschlange](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/).

**Strategien zur gemeinsamen Nutzung von Ressourcen**

Wählen Sie zwischen zwei Anwesungen zur Aufteilung der Kontingente, die Ihren Anforderungen entsprechen:

1. **Strikte Ressourcenkontrolle:** Deaktivieren Sie das Ausleihen und Ausleihen von Kontingenten, um sicherzustellen, dass reservierte GPU-Kapazität immer für Ihre Workloads verfügbar ist. Dieser Ansatz erfordert ausreichend dimensionierte Kontingente, um Spitzenauslastungen unabhängig bewältigen zu können, was jedoch in Zeiten mit geringem Datenverkehr zu ungenutzten Knoten führen kann.

1. **Flexible gemeinsame Nutzung von Ressourcen:** Ermöglichen Sie die Ausleihe von Kontingenten, um bei Bedarf ungenutzte Ressourcen anderer Teams zu nutzen. Ausgeliehene Kapseln sind als vorrätig gekennzeichnet und können geräumt werden, wenn das Ausleihteam Kapazitäten zurückfordert.

**Teaminterne Präemption**

Aktivieren Sie die teaminterne Präemption, wenn gemischte Workloads (Evaluierung, Schulung und Inferenz) unter demselben Kontingent ausgeführt werden. Dadurch kann Kueue Aufgaben mit niedrigerer Priorität innerhalb Ihres Teams vorrangig behandeln, um Pods mit hoher Priorität zu berücksichtigen, und so sicherstellen, dass die Echtzeit-Inferenz ohne externe Kontingentausleihe ausgeführt werden kann. Weitere [Informationen finden](https://kueue.sigs.k8s.io/docs/concepts/preemption/) Sie unter Präemption.

## Beispiel für die Einrichtung eines Inferenz-Workloads
<a name="sagemaker-hyperpod-model-deployment-task-gov-example"></a>

Das folgende Beispiel zeigt, wie Kueue GPU-Ressourcen in einem gemeinsam genutzten SageMaker HyperPod Amazon-Cluster verwaltet.

**Clusterkonfiguration und Richtlinieneinrichtung**  
Ihr Cluster hat die folgende Konfiguration:
+ **Gruppe A**: 10-P4-GPU-Kontingent
+ **Team B**: 20-P4-GPU-Kontingent
+ **Statische Bereitstellung**: Keine automatische Skalierung
+ **Gesamtkapazität**: 30 P4 GPUs

Der gemeinsam genutzte GPU-Pool verwendet diese Prioritätsrichtlinie:

1. **Inferenz in Echtzeit**: Priorität 100

1. **Schulung**: Priorität 75

1. **Bewertung**: Priorität 50

In der Warteschlange werden Teamkontingente und Prioritätsklassen durchgesetzt, wobei Präemption und Quotenausleihe aktiviert sind.

**Ausgangszustand: Normale Clusterauslastung**  
Im Normalbetrieb:
+ Team A führt Schulungs- und Bewertungsjobs auf allen 10 P4 durch GPUs
+ Team B führt Inferenz (10 P4s) und Evaluierungen (10 P4s) in Echtzeit im Rahmen seiner 20-GPU-Quote durch
+ Der Cluster ist voll ausgelastet, da alle Jobs zugelassen sind und ausgeführt werden

**Inferenzanstieg: Team B benötigt zusätzliche GPUs**  
Wenn Team B einen Anstieg des Datenverkehrs verzeichnet, benötigen zusätzliche Inferenz-Pods 5 weitere P4. GPUs Kueue stellt fest, dass es sich bei den neuen Pods um:
+ Im Namespace von Team B
+ Priorität 100 (Echtzeit-Inferenz)
+ Aufgrund von Quotenbeschränkungen steht die Zulassung noch aus

**Bei der Reaktion von Kueue wird zwischen zwei Optionen gewählt:**  
**Option 1: Quotenausleihe** – Wenn Team A nur 6 seiner 10 P4 verwendet, kann Kueue die Pods von Team B zulassen, die die 4 P4 im Leerlauf verwenden. Diese geliehenen Ressourcen sind jedoch präventiv – wenn Team A Aufträge einreicht, um sein volles Kontingent zu erreichen, entfernt Kueue die geliehenen Inferenzkapseln von Team B.

**Option 2: Selbstprävention** (empfohlen) – Team B führt Bewertungsaufträge mit niedriger Priorität aus (Priorität 50). Wenn Inferenz-Pods mit hoher Priorität warten, nimmt Kueue die Evaluierungsjobs innerhalb des Kontingents von Team B vor und lässt die Inferenz-Pods zu. Dieser Ansatz ermöglicht eine sichere Ressourcenzuweisung ohne das Risiko einer externen Räumung.

Kueue folgt einem dreistufigen Prozess zur Zuweisung von Ressourcen:

1. **Kontingentprüfung**

   Frage: Hat Team B ein ungenutztes Kontingent?
   + Ja → Gib die Pods zu
   + Nein → Weiter mit Schritt 2

1. **Selbstprävention innerhalb von Team B**

   Frage: Können Team-B-Jobs mit niedrigerer Priorität ausgeschlossen werden?
   + Ja → Evaluierungsjobs (Priorität 50) zuvorkommen, 5 P4 freigeben und Inferenz-Pods zulassen
   + Nein → Weiter mit Schritt 3

   Dieser Ansatz hält die Arbeitslast innerhalb der garantierten Quote von Team B und vermeidet so das Risiko einer externen Unternehmensräumung.

1. **Kredite von anderen Teams aufnehmen**

   Frage: Gibt es ungenutzte, ausleihbare Quoten von anderen Teams?
   + Ja → Gib zu, ein geliehenes Kontingent genutzt zu haben (als präemptiv gekennzeichnet)
   + Nein → Der Pod bleibt im Status `NotAdmitted`

# HyperPod Fehlerbehebung bei Inferenzen
<a name="sagemaker-hyperpod-model-deployment-ts"></a>

In diesem Leitfaden zur Fehlerbehebung werden häufig auftretende Probleme behandelt, die bei der Bereitstellung und dem Betrieb von Amazon SageMaker HyperPod Inference auftreten können. Zu diesen Problemen gehören in der Regel VPC-Netzwerkkonfiguration, IAM-Berechtigungen, Kubernetes-Ressourcenmanagement und Probleme mit der Betreiberkonnektivität, die eine erfolgreiche Modellbereitstellung verhindern oder dazu führen können, dass Bereitstellungen fehlschlagen oder im Status „Ausstehend“ verbleiben.

In diesem Leitfaden zur Fehlerbehebung wird die folgende Terminologie verwendet: **Schritte zur Fehlerbehebung** sind Diagnoseverfahren zur Identifizierung und Untersuchung von Problemen, **Lösung** enthält die spezifischen Maßnahmen zur Behebung identifizierter Probleme und **Verifizierung** bestätigt, dass die Lösung ordnungsgemäß funktioniert hat.

**Topics**
+ [Fehler bei der Installation von Inference Operatoren über die SageMaker KI-Konsole](sagemaker-hyperpod-model-deployment-ts-console-cfn-failures.md)
+ [Fehler bei der Installation des Inferenzoperators über CLI AWS](sagemaker-hyperpod-model-deployment-ts-cli.md)
+ [Timeout beim Herunterladen von Zertifikaten](sagemaker-hyperpod-model-deployment-ts-certificate.md)
+ [Probleme bei der Modellbereitstellung](sagemaker-hyperpod-model-deployment-ts-deployment-issues.md)
+ [Problem mit der VPC-ENI-Berechtigung](sagemaker-hyperpod-model-deployment-ts-permissions.md)
+ [Problem mit der IAM-Vertrauensbeziehung](sagemaker-hyperpod-model-deployment-ts-trust.md)
+ [Fehler beim fehlenden NVIDIA-GPU-Plugin](sagemaker-hyperpod-model-deployment-ts-gpu.md)
+ [Der Inferenzoperator kann nicht gestartet werden](sagemaker-hyperpod-model-deployment-ts-startup.md)

# Fehler bei der Installation von Inference Operatoren über die SageMaker KI-Konsole
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-failures"></a>

**Überblick:** Bei der Installation des Inferenzoperators über die SageMaker KI-Konsole mithilfe von Quick Install oder Custom Install können die zugrunde liegenden CloudFormation Stacks aufgrund verschiedener Probleme ausfallen. In diesem Abschnitt werden häufig auftretende Fehlerszenarien und deren Lösungen behandelt.

## Fehler bei der Installation des Inference Operator-Add-ons über die Schnellinstallation oder benutzerdefinierte Installation
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-stack-failed"></a>

**Problem:** Die HyperPod Clustererstellung wurde erfolgreich abgeschlossen, aber die Installation des Inferenzoperator-Add-ons schlägt fehl.

**Häufige Ursachen:**
+ Die Kapazitätsgrenzen der Pods wurden auf den Clusterknoten überschritten. Für die Installation des Inferenzoperators sind mindestens 13 Pods erforderlich. Der empfohlene Mindestinstanztyp ist`ml.c5.4xlarge`.
+ Probleme mit IAM-Berechtigungen
+ Einschränkungen beim Ressourcenkontingent
+ Netzwerk- oder VPC-Konfigurationsprobleme

### Symptome und Diagnose
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-symptoms"></a>

**Symptome:**
+ Das Inferenzoperator-Add-on zeigt in der Konsole den Status CREATE\$1FAILED oder DEGRADED an
+ CloudFormation Der dem Add-on zugeordnete Stack befindet sich im Status CREATE\$1FAILED
+ Der Installationsvorgang wird gestoppt oder es werden Fehlermeldungen angezeigt

**Diagnoseschritte:**

1. Überprüfen Sie den Status des Add-ons für den Inferenzoperator:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

1. Suchen Sie nach Problemen mit dem Pod-Limit:

   ```
   # Check current pod count per node
   kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, allocatable: .status.allocatable.pods, capacity: .status.capacity.pods}'
   
   # Check pods running on each node
   kubectl get pods --all-namespaces -o wide | awk '{print $8}' | sort | uniq -c
   
   # Check for pod evictions or failures
   kubectl get events --all-namespaces --sort-by='.lastTimestamp' | grep -i "pod\|limit\|quota"
   ```

1. Überprüfen Sie den CloudFormation Stack-Status (wenn Sie die Konsoleninstallation verwenden):

   ```
   # List CloudFormation stacks related to the cluster
   aws cloudformation list-stacks \
       --region $REGION \
       --query "StackSummaries[?contains(StackName, '$EKS_CLUSTER_NAME') && StackStatus=='CREATE_FAILED'].{Name:StackName,Status:StackStatus,Reason:StackStatusReason}" \
       --output table
   
   # Get detailed stack events
   aws cloudformation describe-stack-events \
       --stack-name <stack-name> \
       --region $REGION \
       --query "StackEvents[?ResourceStatus=='CREATE_FAILED']" \
       --output table
   ```

### Auflösung
<a name="sagemaker-hyperpod-model-deployment-ts-console-cfn-resolution"></a>

Um den Installationsfehler zu beheben, speichern Sie die aktuelle Konfiguration, löschen Sie das fehlgeschlagene Add-on, beheben Sie das zugrunde liegende Problem und installieren Sie dann den Inferenzoperator über die SageMaker AI-Konsole (empfohlen) oder die AWS CLI erneut.

**Schritt 1: Speichern Sie die aktuelle Konfiguration**
+ Extrahieren und speichern Sie die Add-On-Konfiguration vor dem Löschen:

  ```
  # Save the current configuration
  aws eks describe-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION \
      --query 'addon.configurationValues' \
      --output text > addon-config-backup.json
  
  # Verify the configuration was saved
  cat addon-config-backup.json
  
  # Pretty print for readability
  cat addon-config-backup.json | jq '.'
  ```

**Schritt 2: Löschen Sie das fehlgeschlagene Add-on**
+ Löschen Sie das Add-on für den Inferenzoperator:

  ```
  aws eks delete-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION
  
  # Wait for deletion to complete
  echo "Waiting for add-on deletion..."
  aws eks wait addon-deleted \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --region $REGION 2>/dev/null || sleep 60
  ```

**Schritt 3: Beheben Sie das zugrunde liegende Problem**

Wählen Sie je nach Fehlerursache die passende Lösung aus:

Wenn das Problem darin besteht, dass das Pod-Limit überschritten wurde:

```
# The inference operator requires a minimum of 13 pods.
# The minimum recommended instance type is ml.c5.4xlarge.
#
# Option 1: Add instance group with higher pod capacity
# Different instance types support different maximum pod counts
# For example: m5.large (29 pods), m5.xlarge (58 pods), m5.2xlarge (58 pods)
aws sagemaker update-cluster \
    --cluster-name $HYPERPOD_CLUSTER_NAME \
    --region $REGION \
    --instance-groups '[{"InstanceGroupName":"worker-group-2","InstanceType":"ml.m5.xlarge","InstanceCount":2}]'

# Option 2: Scale existing node group to add more nodes
aws eks update-nodegroup-config \
    --cluster-name $EKS_CLUSTER_NAME \
    --nodegroup-name <nodegroup-name> \
    --scaling-config minSize=2,maxSize=10,desiredSize=5 \
    --region $REGION

# Option 3: Clean up unused pods
kubectl delete pods --field-selector status.phase=Failed --all-namespaces
kubectl delete pods --field-selector status.phase=Succeeded --all-namespaces
```

**Schritt 4: Installieren Sie den Inferenzoperator erneut**

Nachdem Sie das zugrunde liegende Problem behoben haben, installieren Sie den Inferenzoperator erneut mit einer der folgenden Methoden:
+ **SageMaker AI-Konsole mit benutzerdefinierter Installation (empfohlen):** Verwenden Sie vorhandene IAM-Rollen und den TLS-Bucket aus Ihrer vorherigen Installation wieder. Informationen zu den erforderlichen Schritten finden Sie unter [Methode 1: Installieren Sie das HyperPod Inference Add-on über die SageMaker AI-Konsole (empfohlen)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).
+ **AWS CLI mit gespeicherter Konfiguration:** Verwenden Sie die Konfiguration, die Sie in Schritt 1 gesichert haben, um das Add-on erneut zu installieren. Die vollständigen CLI-Installationsschritte finden Sie unter[Methode 2: Installation des Inferenzoperators mit der CLI AWS](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-addon).

  ```
  aws eks create-addon \
      --cluster-name $EKS_CLUSTER_NAME \
      --addon-name amazon-sagemaker-hyperpod-inference \
      --addon-version v1.0.0-eksbuild.1 \
      --configuration-values file://addon-config-backup.json \
      --region $REGION
  ```
+ **SageMaker AI-Konsole mit Schnellinstallation:** Erstellt automatisch neue IAM-Rollen, TLS-Buckets und Abhängigkeits-Add-Ons. Informationen zu den erforderlichen Schritten finden Sie unter [Methode 1: Installieren Sie das HyperPod Inference Add-on über die SageMaker AI-Konsole (empfohlen)](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-ui).

**Schritt 5: Überprüfen Sie die erfolgreiche Installation**

```
# Check add-on status
aws eks describe-addon \
    --cluster-name $EKS_CLUSTER_NAME \
    --addon-name amazon-sagemaker-hyperpod-inference \
    --region $REGION \
    --query "addon.{Status:status,Health:health}" \
    --output table

# Verify pods are running
kubectl get pods -n hyperpod-inference-system

# Check operator logs
kubectl logs -n hyperpod-inference-system deployment/hyperpod-inference-controller-manager --tail=50
```

## Die Installation von CERT-Manager ist fehlgeschlagen, da der Kueue-Webhook nicht bereit ist
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-webhook-race"></a>

**Problem:** Die Installation des Cert-Manager-Add-ons schlägt mit einem Webhook-Fehler fehl, da für den Task Governance (Kueue) -Webhook-Dienst keine verfügbaren Endpunkte verfügbar sind. Dies ist eine Race-Bedingung, die auftritt, wenn der Cert-Manager versucht, Ressourcen zu erstellen, bevor die Task Governance-Webhook-Pods vollständig ausgeführt werden. Dies kann passieren, wenn das Task Governance-Add-on zusammen mit dem Inferenzoperator während der Clustererstellung installiert wird.

### Symptome und Diagnose
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-symptoms"></a>

**Fehlermeldung:**

```
AdmissionRequestDenied
Internal error occurred: failed calling webhook "mdeployment.kb.io": failed to call webhook: 
Post "https://kueue-webhook-service.kueue-system.svc:443/mutate-apps-v1-deployment?timeout=10s": 
no endpoints available for service "kueue-webhook-service"
```

**Grundursache:**
+ Das Task Governance-Add-on installiert und registriert einen mutierenden Webhook, der alle Deployment-Erstellungen abfängt
+ Das CERT-Manager-Add-on versucht, Bereitstellungsressourcen zu erstellen, bevor die Task Governance-Webhook-Pods bereit sind
+ Die Kubernetes-Zugangssteuerung ruft den Task Governance-Webhook auf, hat aber keine Endpunkte (Pods laufen noch nicht)

**Diagnoseschritt:**

1. Überprüfen Sie den Status des Cert-Manager-Add-ons:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

### Auflösung
<a name="sagemaker-hyperpod-model-deployment-ts-console-kueue-resolution"></a>

**Lösung: Löschen Sie den Cert-Manager und installieren Sie ihn erneut**

Der Task Governance-Webhook ist innerhalb von 60 Sekunden bereit. Löschen Sie einfach das Cert-Manager-Add-on und installieren Sie es erneut:

1. Löschen Sie das fehlgeschlagene Cert-Manager-Add-On:

   ```
   aws eks delete-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION
   ```

1. Warten Sie 30-60 Sekunden, bis der Task Governance-Webhook bereit ist, und installieren Sie dann das cert-manager-Add-on erneut:

   ```
   sleep 60
   
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --region $REGION
   ```

# Fehler bei der Installation des Inferenzoperators über CLI AWS
<a name="sagemaker-hyperpod-model-deployment-ts-cli"></a>

**Überblick:** Bei der Installation des Inferenzoperators über die AWS CLI kann die Installation von Add-Ons aufgrund fehlender Abhängigkeiten fehlschlagen. In diesem Abschnitt werden häufig auftretende CLI-Installationsfehlerszenarien und deren Lösungen behandelt.

## Die Installation des Inference Add-ons ist aufgrund fehlender CSI-Treiber fehlgeschlagen
<a name="sagemaker-hyperpod-model-deployment-ts-missing-csi-drivers"></a>

**Problem:** Die Erstellung des Inferenzoperator-Add-ons schlägt fehl, da die erforderlichen CSI-Treiberabhängigkeiten nicht auf dem EKS-Cluster installiert sind.

**Symptome und Diagnose:**

**Fehlermeldungen:**

Die folgenden Fehler treten in den Protokollen zur Erstellung von Add-ons oder in den Protokollen der Inferenzoperatoren auf:

```
S3 CSI driver not installed (missing CSIDriver s3.csi.aws.com). 
Please install the required CSI driver and see the troubleshooting guide for more information.

FSx CSI driver not installed (missing CSIDriver fsx.csi.aws.com). 
Please install the required CSI driver and see the troubleshooting guide for more information.
```

**Diagnoseschritte:**

1. Prüfen Sie, ob CSI-Treiber installiert sind:

   ```
   # Check for S3 CSI driver
   kubectl get csidriver s3.csi.aws.com
   kubectl get pods -n kube-system | grep mountpoint
   
   # Check for FSx CSI driver  
   kubectl get csidriver fsx.csi.aws.com
   kubectl get pods -n kube-system | grep fsx
   ```

1. Überprüfen Sie den Status des EKS-Add-ons:

   ```
   # List all add-ons
   aws eks list-addons --cluster-name $EKS_CLUSTER_NAME --region $REGION
   
   # Check specific CSI driver add-ons
   aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION 2>/dev/null || echo "S3 CSI driver not installed"
   aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION 2>/dev/null || echo "FSx CSI driver not installed"
   ```

1. Überprüfen Sie den Status des Add-ons für den Inferenzoperator:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

**Auflösung**

**Schritt 1: Installieren Sie den fehlenden S3-CSI-Treiber**

1. Erstellen Sie die IAM-Rolle für den S3-CSI-Treiber (falls nicht bereits erstellt):

   ```
   # Set up service account role ARN (from installation steps)
   export S3_CSI_ROLE_ARN=$(aws iam get-role --role-name $S3_CSI_ROLE_NAME --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found")
   echo "S3 CSI Role ARN: $S3_CSI_ROLE_ARN"
   ```

1. Installieren Sie das S3 CSI-Treiber-Add-On:

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name aws-mountpoint-s3-csi-driver \
       --addon-version v1.14.1-eksbuild.1 \
       --service-account-role-arn $S3_CSI_ROLE_ARN \
       --region $REGION
   ```

1. Überprüfen Sie die Installation des S3 CSI-Treibers:

   ```
   # Wait for add-on to be active
   aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION
   
   # Verify CSI driver is available
   kubectl get csidriver s3.csi.aws.com
   kubectl get pods -n kube-system | grep mountpoint
   ```

**Schritt 2: Fehlenden FSx CSI-Treiber installieren**

1. Erstellen Sie die IAM-Rolle für FSx den CSI-Treiber (falls nicht bereits erstellt):

   ```
   # Set up service account role ARN (from installation steps)
   export FSX_CSI_ROLE_ARN=$(aws iam get-role --role-name $FSX_CSI_ROLE_NAME --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found")
   echo "FSx CSI Role ARN: $FSX_CSI_ROLE_ARN"
   ```

1.  FSx CSI-Treiber-Add-On installieren:

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name aws-fsx-csi-driver \
       --addon-version v1.6.0-eksbuild.1 \
       --service-account-role-arn $FSX_CSI_ROLE_ARN \
       --region $REGION
   
   # Wait for add-on to be active
   aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION
   
   # Verify FSx CSI driver is running
   kubectl get pods -n kube-system | grep fsx
   ```

**Schritt 3: Überprüfen Sie alle Abhängigkeiten**

Stellen Sie nach der Installation der fehlenden Abhängigkeiten sicher, dass sie ordnungsgemäß ausgeführt werden, bevor Sie erneut versuchen, den Inferenzoperator zu installieren:

```
# Check all required add-ons are active
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-mountpoint-s3-csi-driver --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-fsx-csi-driver --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name metrics-server --region $REGION
aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION

# Verify all pods are running
kubectl get pods -n kube-system | grep -E "(mountpoint|fsx|metrics-server)"
kubectl get pods -n cert-manager
```

## Benutzerdefinierte Inferenzressourcendefinitionen fehlen während der Modellbereitstellung
<a name="sagemaker-hyperpod-model-deployment-ts-crd-not-exist"></a>

**Problem:** Benutzerdefinierte Ressourcendefinitionen (CRDs) fehlen, wenn Sie versuchen, Modellbereitstellungen zu erstellen. Dieses Problem tritt auf, wenn Sie das Inferenz-Add-on zuvor installiert und gelöscht haben, ohne Modellbereitstellungen mit Finalizern zu bereinigen.

**Symptome und Diagnose:**

**Grundursache:**

Wenn Sie das Inferenz-Add-on löschen, ohne zuerst alle Modellbereitstellungen zu entfernen, verbleiben benutzerdefinierte Ressourcen mit Finalizern im Cluster. Diese Finalizer müssen abgeschlossen sein, bevor Sie sie löschen können. CRDs Beim Löschen von Add-Ons wird nicht darauf gewartet, dass das Löschen der CRD abgeschlossen ist. Dadurch verbleibt das CRDs Add-On im Endzustand und Neuinstallationen werden verhindert.

**Um dieses Problem zu diagnostizieren**

1. Prüfen Sie, ob CRDs es existiert.

   ```
   kubectl get crd | grep inference.sagemaker.aws.amazon.com
   ```

1. Suchen Sie nach festgefahrenen benutzerdefinierten Ressourcen.

   ```
   # Check for JumpStartModel resources
   kubectl get jumpstartmodels -A
   
   # Check for InferenceEndpointConfig resources
   kubectl get inferenceendpointconfigs -A
   ```

1. Untersuchen Sie die Finalizer für festgefahrene Ressourcen.

   ```
   # Example for a specific JumpStartModel
   kubectl get jumpstartmodels <model-name> -n <namespace> -o jsonpath='{.metadata.finalizers}'
   
   # Example for a specific InferenceEndpointConfig
   kubectl get inferenceendpointconfigs <config-name> -n <namespace> -o jsonpath='{.metadata.finalizers}'
   ```

**Auflösung**

Entfernen Sie die Finalizer manuell aus allen Modellbereitstellungen, die nicht gelöscht wurden, als Sie das Inferenz-Add-on entfernt haben. Führen Sie die folgenden Schritte für jede festgefahrene benutzerdefinierte Ressource aus.

**Um Finalizer aus Ressourcen zu entfernen JumpStartModel **

1. Listet alle JumpStartModel Ressourcen in allen Namespaces auf.

   ```
   kubectl get jumpstartmodels -A
   ```

1. Entfernen Sie für jede JumpStartModel Ressource die Finalizer, indem Sie die Ressource so patchen, dass metadata.finalizers auf ein leeres Array gesetzt wird.

   ```
   kubectl patch jumpstartmodels <model-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge
   ```

   Das folgende Beispiel zeigt, wie eine Ressource mit dem Namen kv-l1-only gepatcht wird.

   ```
   kubectl patch jumpstartmodels kv-l1-only -n default -p '{"metadata":{"finalizers":[]}}' --type=merge
   ```

1. Stellen Sie sicher, dass die Modellinstanz gelöscht wurde.

   ```
   kubectl get jumpstartmodels -A
   ```

   Wenn alle Ressourcen bereinigt sind, sollte die folgende Ausgabe angezeigt werden.

   ```
   Error from server (NotFound): Unable to list "inference.sagemaker.aws.amazon.com/v1, Resource=jumpstartmodels": the server could not find the requested resource (get jumpstartmodels.inference.sagemaker.aws.amazon.com)
   ```

1. Stellen Sie sicher, dass die JumpStartModel CRD entfernt wurde.

   ```
   kubectl get crd | grep jumpstartmodels.inference.sagemaker.aws.amazon.com
   ```

   Wenn die CRD erfolgreich entfernt wurde, gibt dieser Befehl keine Ausgabe zurück.

**Um Finalizer aus Ressourcen zu entfernen InferenceEndpointConfig **

1. Listet alle InferenceEndpointConfig Ressourcen in allen Namespaces auf.

   ```
   kubectl get inferenceendpointconfigs -A
   ```

1. Entfernen Sie für jede InferenceEndpointConfig Ressource die Finalizer.

   ```
   kubectl patch inferenceendpointconfigs <config-name> -n <namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge
   ```

   Das folgende Beispiel zeigt, wie eine Ressource mit dem Namen gepatcht wird. my-inference-config

   ```
   kubectl patch inferenceendpointconfigs my-inference-config -n default -p '{"metadata":{"finalizers":[]}}' --type=merge
   ```

1. Stellen Sie sicher, dass die Konfigurationsinstanz gelöscht wurde.

   ```
   kubectl get inferenceendpointconfigs -A
   ```

   Wenn alle Ressourcen bereinigt sind, sollte die folgende Ausgabe angezeigt werden.

   ```
   Error from server (NotFound): Unable to list "inference.sagemaker.aws.amazon.com/v1, Resource=inferenceendpointconfigs": the server could not find the requested resource (get inferenceendpointconfigs.inference.sagemaker.aws.amazon.com)
   ```

1. Stellen Sie sicher, dass die InferenceEndpointConfig CRD entfernt wurde.

   ```
   kubectl get crd | grep inferenceendpointconfigs.inference.sagemaker.aws.amazon.com
   ```

   Wenn die CRD erfolgreich entfernt wurde, gibt dieser Befehl keine Ausgabe zurück.

**Um das Inferenz-Add-on neu zu installieren**

Nachdem Sie alle festgefahrenen Ressourcen bereinigt und sichergestellt haben, dass sie entfernt wurden, installieren CRDs Sie das Inferenz-Add-on erneut. Weitere Informationen finden Sie unter [Installation des Inference Operators mit dem EKS-Add-on](sagemaker-hyperpod-model-deployment-setup.md#sagemaker-hyperpod-model-deployment-setup-install-inference-operator-addon).

**Überprüfung:**

1. Stellen Sie sicher, dass das Inferenz-Add-on erfolgreich installiert wurde.

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health}" \
       --output table
   ```

   Der Status sollte AKTIV sein und die Health sollte GESUND sein.

1. Stellen Sie sicher, dass sie ordnungsgemäß installiert CRDs sind.

   ```
   kubectl get crd | grep inference.sagemaker.aws.amazon.com
   ```

   In der Ausgabe sollten die Informationen zu den CRDs Inferenzen aufgeführt sein.

1. Testen Sie die Erstellung einer neuen Modellbereitstellung, um sicherzustellen, dass das Problem behoben ist.

   ```
   # Create a test deployment using your preferred method
   kubectl apply -f <your-model-deployment.yaml>
   ```

**Vorbeugung:**

Um dieses Problem zu vermeiden, führen Sie die folgenden Schritte aus, bevor Sie das Inferenz-Add-on deinstallieren.

1. Löschen Sie alle Modellbereitstellungen.

   ```
   # Delete all JumpStartModel resources
   kubectl delete jumpstartmodels --all -A
   
   # Delete all InferenceEndpointConfig resources
   kubectl delete inferenceendpointconfigs --all -A
   
   # Wait for all resources to be fully deleted
   kubectl get jumpstartmodels -A
   kubectl get inferenceendpointconfigs -A
   ```

1. Stellen Sie sicher, dass alle benutzerdefinierten Ressourcen gelöscht wurden.

1. Nachdem Sie bestätigt haben, dass alle Ressourcen bereinigt wurden, löschen Sie das Inferenz-Add-on.

## Die Installation des Inference-Add-Ons ist aufgrund des fehlenden Cert-Managers fehlgeschlagen
<a name="sagemaker-hyperpod-model-deployment-ts-missing-cert-manager"></a>

**Problem:** Die Erstellung des Add-Ons für den Inferenzoperator schlägt fehl, weil das EKS-Add-On für Cert-Manager nicht installiert ist, was dazu führt, dass benutzerdefinierte Ressourcendefinitionen () fehlen. CRDs

**Symptome und Diagnose:**

**Fehlermeldungen:**

Die folgenden Fehler treten in den Protokollen zur Erstellung von Add-ons oder in den Protokollen der Inferenzoperatoren auf:

```
Missing required CRD: certificaterequests.cert-manager.io. 
The cert-manager add-on is not installed. Please install cert-manager and see the troubleshooting guide for more information.
```

**Diagnoseschritte:**

1. Prüfen Sie, ob cert-manager installiert ist:

   ```
   # Check for cert-manager CRDs
   kubectl get crd | grep cert-manager
   kubectl get pods -n cert-manager
   
   # Check EKS add-on status
   aws eks describe-addon --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION 2>/dev/null || echo "Cert-manager not installed"
   ```

1. Überprüfen Sie den Status des Add-ons für den Inferenzoperator:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,Issues:issues}" \
       --output json
   ```

**Auflösung**

**Schritt 1: Installieren Sie das Cert-Manager-Add-On**

1. Installieren Sie das cert-manager EKS-Add-on:

   ```
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name cert-manager \
       --addon-version v1.18.2-eksbuild.2 \
       --region $REGION
   ```

1. Überprüfen Sie die Installation von cert-manager:

   ```
   # Wait for add-on to be active
   aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name cert-manager --region $REGION
   
   # Verify cert-manager pods are running
   kubectl get pods -n cert-manager
   
   # Verify CRDs are installed
   kubectl get crd | grep cert-manager | wc -l
   # Expected: Should show multiple cert-manager CRDs
   ```

**Schritt 2: Versuchen Sie erneut, den Inference Operator zu installieren**

1. Versuchen Sie nach der Installation des Cert-Managers erneut, den Inferenzoperator zu installieren:

   ```
   # Delete the failed add-on if it exists
   aws eks delete-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation"
   
   # Wait for deletion to complete
   sleep 30
   
   # Reinstall the inference operator add-on
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --addon-version v1.0.0-eksbuild.1 \
       --configuration-values file://addon-config.json \
       --region $REGION
   ```

1. Überwachen Sie die Installation:

   ```
   # Check installation status
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health}" \
       --output table
   
   # Verify inference operator pods are running
   kubectl get pods -n hyperpod-inference-system
   ```

## Die Installation des Inference-Add-ons ist aufgrund des fehlenden ALB-Controllers fehlgeschlagen
<a name="sagemaker-hyperpod-model-deployment-ts-missing-alb"></a>

**Problem:** Die Erstellung des Inferenzoperator-Add-ons schlägt fehl, weil der Load AWS Balancer Controller für das Inferenz-Add-on nicht installiert oder nicht richtig konfiguriert ist.

**Symptome und Diagnose:**

**Fehlermeldungen:**

Die folgenden Fehler treten in den Protokollen zur Erstellung von Add-ons oder in den Protokollen der Inferenzoperatoren auf:

```
ALB Controller not installed (missing aws-load-balancer-controller pods). 
Please install the Application Load Balancer Controller and see the troubleshooting guide for more information.
```

**Diagnoseschritte:**

1. Prüfen Sie, ob ALB Controller installiert ist:

   ```
   # Check for ALB Controller pods
   kubectl get pods -n kube-system | grep aws-load-balancer-controller
   kubectl get pods -n hyperpod-inference-system | grep aws-load-balancer-controller
   
   # Check ALB Controller service account
   kubectl get serviceaccount aws-load-balancer-controller -n kube-system 2>/dev/null || echo "ALB Controller service account not found"
   kubectl get serviceaccount aws-load-balancer-controller -n hyperpod-inference-system 2>/dev/null || echo "ALB Controller service account not found in inference namespace"
   ```

1. Überprüfen Sie die Konfiguration des Zusatzmoduls für den Inferenzoperator:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,ConfigurationValues:configurationValues}" \
       --output json
   ```

**Auflösung**

Wählen Sie je nach Konfiguration eine der folgenden Optionen aus:

**Option 1: Lassen Sie das Inferenz-Add-on den ALB Controller installieren (empfohlen)**
+ Stellen Sie sicher, dass die ALB-Rolle in Ihrer Add-On-Konfiguration erstellt und ordnungsgemäß konfiguriert ist:

  ```
  # Verify ALB role exists
  export ALB_ROLE_ARN=$(aws iam get-role --role-name alb-role --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found")
  echo "ALB Role ARN: $ALB_ROLE_ARN"
  
  # Update your addon-config.json to enable ALB
  cat > addon-config.json << EOF
  {
    "executionRoleArn": "$EXECUTION_ROLE_ARN",
    "tlsCertificateS3Bucket": "$BUCKET_NAME",
    "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN",
    "alb": {
      "enabled": true,
      "serviceAccount": {
        "create": true,
        "roleArn": "$ALB_ROLE_ARN"
      }
    },
    "keda": {
      "auth": {
        "aws": {
          "irsa": {
            "roleArn": "$KEDA_ROLE_ARN"
          }
        }
      }
    }
  }
  EOF
  ```

**Option 2: Verwenden Sie die vorhandene ALB Controller-Installation**
+ Wenn Sie ALB Controller bereits installiert haben, konfigurieren Sie das Add-On so, dass es die bestehende Installation verwendet:

  ```
  # Update your addon-config.json to disable ALB installation
  cat > addon-config.json << EOF
  {
    "executionRoleArn": "$EXECUTION_ROLE_ARN",
    "tlsCertificateS3Bucket": "$BUCKET_NAME",
    "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN",
    "alb": {
      "enabled": false
    },
    "keda": {
      "auth": {
        "aws": {
          "irsa": {
            "roleArn": "$KEDA_ROLE_ARN"
          }
        }
      }
    }
  }
  EOF
  ```

**Schritt 3: Versuchen Sie erneut, den Inference Operator zu installieren**

1. Installieren Sie das Inferenzoperator-Add-on mit der aktualisierten Konfiguration erneut:

   ```
   # Delete the failed add-on if it exists
   aws eks delete-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation"
   
   # Wait for deletion to complete
   sleep 30
   
   # Reinstall with updated configuration
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --addon-version v1.0.0-eksbuild.1 \
       --configuration-values file://addon-config.json \
       --region $REGION
   ```

1. Stellen Sie sicher, dass der ALB Controller funktioniert:

   ```
   # Check ALB Controller pods
   kubectl get pods -n hyperpod-inference-system | grep aws-load-balancer-controller
   kubectl get pods -n kube-system | grep aws-load-balancer-controller
   
   # Check service account annotations
   kubectl describe serviceaccount aws-load-balancer-controller -n hyperpod-inference-system 2>/dev/null
   kubectl describe serviceaccount aws-load-balancer-controller -n kube-system 2>/dev/null
   ```

## Die Installation des Inference Add-ons ist aufgrund eines fehlenden KEDA-Operators fehlgeschlagen
<a name="sagemaker-hyperpod-model-deployment-ts-missing-keda"></a>

**Problem:** Die Erstellung des Inferenzoperator-Add-ons schlägt fehl, weil der KEDA-Operator (Kubernetes Event Driven Autoscaler) nicht installiert oder für das Inferenz-Add-on nicht richtig konfiguriert ist.

**Symptome und Diagnose:**

**Fehlermeldungen:**

Die folgenden Fehler treten in den Protokollen zur Erstellung von Add-ons oder in den Protokollen der Inferenzoperatoren auf:

```
KEDA operator not installed (missing keda-operator pods). 
KEDA can be installed separately in any namespace or via the Inference addon.
```

**Diagnoseschritte:**

1. Prüfen Sie, ob der KEDA-Operator installiert ist:

   ```
   # Check for KEDA operator pods in common namespaces
   kubectl get pods -n keda-system | grep keda-operator 2>/dev/null || echo "KEDA not found in keda-system namespace"
   kubectl get pods -n kube-system | grep keda-operator 2>/dev/null || echo "KEDA not found in kube-system namespace"
   kubectl get pods -n hyperpod-inference-system | grep keda-operator 2>/dev/null || echo "KEDA not found in inference namespace"
   
   # Check for KEDA CRDs
   kubectl get crd | grep keda 2>/dev/null || echo "KEDA CRDs not found"
   
   # Check KEDA service account
   kubectl get serviceaccount keda-operator -A 2>/dev/null || echo "KEDA service account not found"
   ```

1. Überprüfen Sie die Konfiguration des Zusatzmoduls für den Inferenzoperator:

   ```
   aws eks describe-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION \
       --query "addon.{Status:status,Health:health,ConfigurationValues:configurationValues}" \
       --output json
   ```

**Auflösung**

Wählen Sie je nach Konfiguration eine der folgenden Optionen aus:

**Option 1: Lassen Sie das Inferenz-Add-on KEDA installieren (empfohlen)**
+ Stellen Sie sicher, dass die KEDA-Rolle in Ihrer Add-On-Konfiguration erstellt und ordnungsgemäß konfiguriert ist:

  ```
  # Verify KEDA role exists
  export KEDA_ROLE_ARN=$(aws iam get-role --role-name keda-operator-role --query 'Role.Arn' --output text 2>/dev/null || echo "Role not found")
  echo "KEDA Role ARN: $KEDA_ROLE_ARN"
  
  # Update your addon-config.json to enable KEDA
  cat > addon-config.json << EOF
  {
    "executionRoleArn": "$EXECUTION_ROLE_ARN",
    "tlsCertificateS3Bucket": "$BUCKET_NAME",
    "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN",
    "alb": {
      "serviceAccount": {
        "create": true,
        "roleArn": "$ALB_ROLE_ARN"
      }
    },
    "keda": {
      "enabled": true,
      "auth": {
        "aws": {
          "irsa": {
            "roleArn": "$KEDA_ROLE_ARN"
          }
        }
      }
    }
  }
  EOF
  ```

**Option 2: Verwenden Sie die vorhandene KEDA-Installation**
+ Wenn Sie KEDA bereits installiert haben, konfigurieren Sie das Add-on so, dass es die bestehende Installation verwendet:

  ```
  # Update your addon-config.json to disable KEDA installation
  cat > addon-config.json << EOF
  {
    "executionRoleArn": "$EXECUTION_ROLE_ARN",
    "tlsCertificateS3Bucket": "$BUCKET_NAME",
    "hyperpodClusterArn": "$HYPERPOD_CLUSTER_ARN",
    "alb": {
      "serviceAccount": {
        "create": true,
        "roleArn": "$ALB_ROLE_ARN"
      }
    },
    "keda": {
      "enabled": false
    }
  }
  EOF
  ```

**Schritt 3: Versuchen Sie erneut, den Inference Operator zu installieren**

1. Installieren Sie das Inferenzoperator-Add-on mit der aktualisierten Konfiguration erneut:

   ```
   # Delete the failed add-on if it exists
   aws eks delete-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --region $REGION 2>/dev/null || echo "Add-on not found, proceeding with installation"
   
   # Wait for deletion to complete
   sleep 30
   
   # Reinstall with updated configuration
   aws eks create-addon \
       --cluster-name $EKS_CLUSTER_NAME \
       --addon-name amazon-sagemaker-hyperpod-inference \
       --addon-version v1.0.0-eksbuild.1 \
       --configuration-values file://addon-config.json \
       --region $REGION
   ```

1. Stellen Sie sicher, dass KEDA funktioniert:

   ```
   # Check KEDA pods
   kubectl get pods -n hyperpod-inference-system | grep keda
   kubectl get pods -n kube-system | grep keda
   kubectl get pods -n keda-system | grep keda 2>/dev/null
   
   # Check KEDA CRDs
   kubectl get crd | grep scaledobjects
   kubectl get crd | grep scaledjobs
   
   # Check KEDA service account annotations
   kubectl describe serviceaccount keda-operator -n hyperpod-inference-system 2>/dev/null
   kubectl describe serviceaccount keda-operator -n kube-system 2>/dev/null
   kubectl describe serviceaccount keda-operator -n keda-system 2>/dev/null
   ```

# Timeout beim Herunterladen von Zertifikaten
<a name="sagemaker-hyperpod-model-deployment-ts-certificate"></a>

Bei der Bereitstellung eines SageMaker KI-Endpunkts schlägt der Erstellungsprozess fehl, da das Zertifikat der Zertifizierungsstelle (CA) in einer VPC-Umgebung nicht heruntergeladen werden kann. Detaillierte Konfigurationsschritte finden Sie im [Administratorhandbuch](https://github.com/aws-samples/sagemaker-genai-hosting-examples/blob/main/SageMakerHyperpod/hyperpod-inference/Hyperpod_Inference_Admin_Notebook.ipynb).

**Fehlermeldung:**

Der folgende Fehler wird in den SageMaker CloudWatch AI-Endpunktprotokollen angezeigt: 

```
Error downloading CA certificate: Connect timeout on endpoint URL: "https://****.s3.<REGION>.amazonaws.com/****/***.pem"
```

**Grundursache:**
+ Dieses Problem tritt auf, wenn der Inferenzoperator nicht auf das selbstsignierte Zertifikat in Amazon S3 in Ihrer VPC zugreifen kann
+ Die richtige Konfiguration des Amazon S3 S3-VPC-Endpunkts ist für den Zertifikatszugriff unerlässlich

**Auflösung**

1. Wenn Sie keinen Amazon S3 S3-VPC-Endpunkt haben:
   + Erstellen Sie einen Amazon S3 S3-VPC-Endpunkt gemäß der Konfiguration in Abschnitt 5.3 des [Admin-Handbuchs](https://github.com/aws-samples/sagemaker-genai-hosting-examples/blob/main/SageMakerHyperpod/hyperpod-inference/Hyperpod_Inference_Admin_Notebook.ipynb).

1. Wenn Sie bereits einen Amazon S3 S3-VPC-Endpunkt haben:
   + Stellen Sie sicher, dass die Subnetz-Routentabelle so konfiguriert ist, dass sie auf den VPC-Endpunkt verweist (wenn Sie den Gateway-Endpunkt verwenden) oder dass privates DNS für den Schnittstellenendpunkt aktiviert ist.
   + Der Amazon S3 S3-VPC-Endpunkt sollte der Konfiguration ähneln, die in Abschnitt 5.3 Schritt zur Endpunkterstellung erwähnt wurde

# Probleme bei der Modellbereitstellung
<a name="sagemaker-hyperpod-model-deployment-ts-deployment-issues"></a>

**Überblick:** In diesem Abschnitt werden häufig auftretende Probleme behandelt, die bei der Modellbereitstellung auftreten, darunter ausstehende Zustände, fehlgeschlagene Bereitstellungen und die Überwachung des Bereitstellungsfortschritts.

## Die Modellbereitstellung blieb im Status „Ausstehend“ hängen
<a name="sagemaker-hyperpod-model-deployment-ts-pending"></a>

Bei der Bereitstellung eines Modells verbleibt die Bereitstellung über einen längeren Zeitraum im Status „Ausstehend“. Dies weist darauf hin, dass der Inferenzoperator die Modellbereitstellung in Ihrem HyperPod Cluster nicht initiieren kann.

**Betroffene Komponenten:**

Während der normalen Bereitstellung sollte der Inferenzoperator:
+ Model Pod bereitstellen
+ Einen Load Balancer erstellen
+  SageMaker KI-Endpunkt erstellen

**Schritte zur Fehlerbehebung:**

1. Überprüfen Sie den Pod-Status des Inferenz-Operators:

   ```
   kubectl get pods -n hyperpod-inference-system
   ```

   Beispiel für eine erwartete Ausgabe:

   ```
   NAME                                                           READY   STATUS    RESTARTS   AGE
   hyperpod-inference-operator-controller-manager-65c49967f5-894fg   1/1     Running   0         6d13h
   ```

1. Überprüfen Sie die Protokolle der Inferenzoperatoren und überprüfen Sie die Operatorprotokolle auf Fehlermeldungen:

   ```
   kubectl logs hyperpod-inference-operator-controller-manager-5b5cdd7757-txq8f -n hyperpod-inference-operator-system
   ```

**Worauf Sie achten sollten:**
+ Fehlermeldungen in den Bedienerprotokollen
+ Status des Bediener-Pods
+ Alle Warnungen oder Fehler im Zusammenhang mit der Bereitstellung

**Anmerkung**  
Bei einer fehlerfreien Bereitstellung sollte der Status „Ausstehend“ innerhalb eines angemessenen Zeitraums überschritten werden. Falls die Probleme weiterhin bestehen, überprüfen Sie die Protokolle der Inferenzoperatoren auf spezifische Fehlermeldungen, um die Ursache zu ermitteln.

## Die Modellbereitstellung ist fehlgeschlagen, Status „Fehlerbehebung“
<a name="sagemaker-hyperpod-model-deployment-ts-failed"></a>

Wenn eine Modellbereitstellung in den Status „Fehlgeschlagen“ übergeht, kann der Fehler in einer von drei Komponenten auftreten:
+ Bereitstellung eines Modell-Pods
+ Erstellung eines Load Balancers
+ SageMaker Erstellung von KI-Endpunkten

**Schritte zur Fehlerbehebung:**

1. Überprüfen Sie den Status des Inferenzoperators:

   ```
   kubectl get pods -n hyperpod-inference-system
   ```

   Erwartete Ausgabe:

   ```
   NAME                                                           READY   STATUS    RESTARTS   AGE
   hyperpod-inference-operator-controller-manager-65c49967f5-894fg   1/1     Running   0         6d13h
   ```

1. Überprüfen Sie die Operatorprotokolle:

   ```
   kubectl logs hyperpod-inference-operator-controller-manager-5b5cdd7757-txq8f -n hyperpod-inference-operator-system
   ```

**Worauf Sie achten sollten:**

In den Benutzerprotokollen wird angegeben, welche Komponente ausgefallen ist:
+ Fehler bei der Bereitstellung des Modell-Pods
+ Probleme bei der Erstellung des Load Balancers
+ SageMaker Fehler an KI-Endpunkten

## Überprüfung des Fortschritts der Modellbereitstellung
<a name="sagemaker-hyperpod-model-deployment-ts-progress"></a>

Um den Fortschritt Ihrer Modellbereitstellung zu überwachen und potenzielle Probleme zu identifizieren, können Sie kubectl-Befehle verwenden, um den Status verschiedener Komponenten zu überprüfen. Auf diese Weise können Sie feststellen, ob die Bereitstellung normal verläuft oder ob bei der Erstellung des Modell-Pods, beim Load Balancer-Setup oder bei der Konfiguration der SageMaker KI-Endgeräte Probleme aufgetreten sind.

**Methode 1: Überprüfen Sie den Modellstatus JumpStart **

```
kubectl describe jumpstartmodel.inference.sagemaker.aws.amazon.com/<model-name> -n <namespace>
```

**Wichtige zu überwachende Statusindikatoren:**

1. Bereitstellungsstatus
   + Suchen Sie nach`Status.State`: Sollte angezeigt werden `DeploymentComplete`
   + Überprüfe `Status.Deployment Status.Available Replicas`
   + Überwachen Sie `Status.Conditions` den Fortschritt der Bereitstellung

1. SageMaker Status des KI-Endpunkts
   + Prüfen`Status.Endpoints.Sagemaker.State`: Sollte angezeigt werden `CreationCompleted`
   + Verifizieren `Status.Endpoints.Sagemaker.Endpoint Arn`

1. Status des TLS-Zertifikats
   + `Status.Tls Certificate`Einzelheiten anzeigen
   + Überprüfen Sie den Ablauf des Zertifikats in `Last Cert Expiry Time`

**Methode 2: Überprüfen Sie die Konfiguration des Inferenzendpunkts**

```
kubectl describe inferenceendpointconfig.inference.sagemaker.aws.amazon.com/<deployment_name> -n <namespace>
```

**Allgemeine Statuszustände:**
+ `DeploymentInProgress`: Erste Bereitstellungsphase
+ `DeploymentComplete`: Erfolgreicher Einsatz
+ `Failed`: Die Bereitstellung ist fehlgeschlagen

**Anmerkung**  
Überwachen Sie den Abschnitt Ereignisse auf Warnungen oder Fehler. Prüfen Sie, ob die Anzahl der Replikate der erwarteten Konfiguration entspricht. Stellen Sie sicher, dass alle Bedingungen `Status: True` für eine fehlerfreie Bereitstellung vorliegen.

# Problem mit der VPC-ENI-Berechtigung
<a name="sagemaker-hyperpod-model-deployment-ts-permissions"></a>

SageMaker Die Erstellung von KI-Endpunkten schlägt fehl, da die Berechtigungen zum Erstellen von Netzwerkschnittstellen in VPC nicht ausreichen.

**Fehlermeldung:**

```
Please ensure that the execution role for variant AllTraffic has sufficient permissions for creating an endpoint variant within a VPC
```

**Grundursache:**

Der Ausführungsrolle des Inferenzoperators fehlt die erforderliche Amazon EC2 EC2-Berechtigung zum Erstellen von Netzwerkschnittstellen (ENI) in VPC.

**Auflösung**

Fügen Sie der Ausführungsrolle des Inferenzoperators die folgende IAM-Berechtigung hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterfacePermission"
     ],
    "Resource": "*"
}
```

**Überprüfung:**

Nach dem Hinzufügen der Erlaubnis:

1. Löschen Sie den ausgefallenen Endpunkt (falls vorhanden)

1. Versuchen Sie erneut, den Endpunkt zu erstellen

1. Überwachen Sie den Bereitstellungsstatus, um den erfolgreichen Abschluss sicherzustellen

**Anmerkung**  
Diese Berechtigung ist für SageMaker KI-Endpunkte, die im VPC-Modus ausgeführt werden, unerlässlich. Stellen Sie sicher, dass die Ausführungsrolle auch über alle anderen erforderlichen VPC-bezogenen Berechtigungen verfügt.

# Problem mit der IAM-Vertrauensbeziehung
<a name="sagemaker-hyperpod-model-deployment-ts-trust"></a>

HyperPod Der Inferenzoperator startet nicht mit einem AssumeRoleWithWebIdentity STS-Fehler, was auf ein Problem mit der Konfiguration der IAM-Vertrauensbeziehung hinweist.

**Fehlermeldung:**

```
failed to enable inference watcher for HyperPod cluster *****: operation error SageMaker: UpdateClusterInference, 
get identity: get credentials: failed to refresh cached credentials, failed to retrieve credentials, 
operation error STS: AssumeRoleWithWebIdentity, https response error StatusCode: 403, RequestID: ****, 
api error AccessDenied: Not authorized to perform sts:AssumeRoleWithWebIdentity
```

**Auflösung**

Aktualisieren Sie die Vertrauensstellung der IAM-Ausführungsrolle des Inferenzoperators mit der folgenden Konfiguration.

Ersetzen die folgenden Platzhalter:
+ `<ACCOUNT_ID>`: Ihre Konto-ID AWS 
+ `<REGION>`: Deine AWS Region
+ `<OIDC_ID>`: Die OIDC-Anbieter-ID Ihres Amazon EKS-Clusters

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
            "Federated": "arn:aws:iam::<ACCOUNT_ID>:oidc-provider/oidc.eks.<REGION>.amazonaws.com/id/<OIDC_ID>"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringLike": {
                    "oidc.eks.<REGION>.amazonaws.com/id/<OIDC_ID>:sub": "system:serviceaccount:<namespace>:<service-account-name>",
                    "oidc.eks.<REGION>.amazonaws.com/id/<OIDC_ID>:aud": "sts.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "sagemaker.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

**Überprüfung:**

Nach der Aktualisierung der Vertrauensbeziehung:

1. Überprüfen Sie die Rollenkonfiguration in der IAM-Konsole

1. Starten Sie den Inferenzoperator bei Bedarf neu

1. Überwachen Sie die Operatorprotokolle für einen erfolgreichen Start

# Fehler beim fehlenden NVIDIA-GPU-Plugin
<a name="sagemaker-hyperpod-model-deployment-ts-gpu"></a>

Die Modellbereitstellung schlägt mit einem GPU-Insuffizienzfehler fehl, obwohl GPU-Knoten verfügbar sind. Dies tritt auf, wenn das NVIDIA-Geräte-Plug-In nicht im HyperPod Cluster installiert ist.

**Fehlermeldung:**

```
0/15 nodes are available: 10 node(s) didn't match Pod's node affinity/selector, 
5 Insufficient nvidia.com/gpu. preemption: 0/15 nodes are available: 
10 Preemption is not helpful for scheduling, 5 No preemption victims found for incoming pod.
```

**Grundursache:**
+ Kubernetes kann ohne das NVIDIA-Geräte-Plugin keine GPU-Ressourcen erkennen
+ Führt zu Planungsfehlern für GPU-Workloads

**Auflösung**

Installieren Sie das NVIDIA-GPU-Plugin, indem Sie Folgendes ausführen:

```
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/refs/tags/v0.17.1/deployments/static/nvidia-device-plugin.yml
```

**Schritte zur Überprüfung:**

1. Überprüfen Sie den Status der Plugin-Bereitstellung:

   ```
   kubectl get pods -n kube-system | grep nvidia-device-plugin
   ```

1. Stellen Sie sicher, dass die GPU-Ressourcen jetzt sichtbar sind:

   ```
   kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\\.com/gpu
   ```

1. Versuchen Sie erneut, das Modell bereitzustellen

**Anmerkung**  
Stellen Sie sicher, dass NVIDIA-Treiber auf GPU-Knoten installiert sind. Die Plugin-Installation ist ein einmaliges Setup pro Cluster. Für die Installation sind möglicherweise Cluster-Administratorrechte erforderlich.

# Der Inferenzoperator kann nicht gestartet werden
<a name="sagemaker-hyperpod-model-deployment-ts-startup"></a>

Der Inferenzoperator-Pod konnte nicht gestartet werden und verursacht die folgende Fehlermeldung. Dieser Fehler ist darauf zurückzuführen, dass die Berechtigungsrichtlinie für die Operator-Ausführungsrolle nicht autorisiert ist. `sts:AssumeRoleWithWebIdentity` Aus diesem Grund wird der Operatorteil, der auf der Steuerungsebene ausgeführt wird, nicht gestartet.

**Fehlermeldung:**

```
Warning Unhealthy 5m46s (x22 over 49m) kubelet Startup probe failed: Get "http://10.1.100.59:8081/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
```

**Grundursache:**
+ Die Berechtigungsrichtlinie der Ausführungsrolle des Inferenzoperators ist nicht auf den Zugriff auf das Autorisierungstoken für Ressourcen festgelegt.

**Auflösung**

Legen Sie die folgende Richtlinie für die Ausführungsrolle `EXECUTION_ROLE_ARN` für den HyperPod Inferenzoperator fest:

```
HyperpodInferenceAccessPolicy-ml-cluster to include all resources
```

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Schritte zur Überprüfung:**

1. Ändern der Richtlinie

1. Beenden Sie den HyperPod Inferenzoperator-Pod.

1. Der Pod wird neu gestartet, ohne dass Ausnahmen ausgelöst werden.

# Versionshinweise SageMaker HyperPod zu Amazon Inference
<a name="sagemaker-hyperpod-inference-release-notes"></a>

Dieses Thema behandelt Versionshinweise, in denen Updates, Korrekturen und neue Funktionen für Amazon SageMaker HyperPod Inference nachverfolgt werden. SageMaker HyperPod Inference ermöglicht Ihnen die Bereitstellung und Skalierung von Modellen für maschinelles Lernen auf Ihren HyperPod Clustern mit Zuverlässigkeit auf Unternehmensniveau. Allgemeine Versionen, Updates und Verbesserungen der SageMaker HyperPod Amazon-Plattform finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

Informationen zu den Funktionen und Bereitstellungsoptionen von SageMaker HyperPod Inference finden Sie unter[Bereitstellen von Modellen auf Amazon SageMaker HyperPod](sagemaker-hyperpod-model-deployment.md).

## SageMaker HyperPod Versionshinweise zu Inference: v3.0
<a name="sagemaker-hyperpod-inference-release-notes-20260223"></a>

**Datum der Veröffentlichung:** 23. Februar 2026

**Übersicht**

Inference Operator 3.0 führt die EKS-Add-on-Integration für ein vereinfachtes Lebenszyklusmanagement, Node Affinity-Unterstützung für eine detaillierte Planungssteuerung und ein verbessertes Ressourcen-Tagging ein. Bestehende HELM-basierte Installationen können mithilfe des mitgelieferten Migrationsskripts auf das EKS-Add-on migriert werden. Aktualisieren Sie vor dem Upgrade Ihre Ausführungsrolle „Inference Operator“ mit neuen Tagging-Berechtigungen.

**Die wichtigsten Funktionen**
+ **EKS Add-on-Integration** — Lebenszyklusmanagement auf Unternehmensniveau mit vereinfachter Installationserfahrung
+ **Node Affinity — Präzise** Planungssteuerung zum Ausschluss von Spot-Instances, zum Bevorzugen von Availability Zones oder zum Targeting von Knoten mit benutzerdefinierten Labels

Detaillierte Informationen, einschließlich Voraussetzungen, Upgrade-Anweisungen und Migrationshinweise, finden Sie in den folgenden Abschnitten.

### Voraussetzungen
<a name="sagemaker-hyperpod-inference-v3-0-prerequisites"></a>

Vor dem Upgrade der Helm-Version auf 3.0 sollten Kunden ihrer Rolle als Inference-Operator Execution zusätzliche Tagging-Berechtigungen hinzufügen. Im Rahmen der Verbesserung von Ressourcen-Tagging und Sicherheit kennzeichnet der Inference Operator jetzt ALB-, S3- und ACM-Ressourcen. Für diese Erweiterung sind zusätzliche Berechtigungen in der Ausführungsrolle „Inference Operator“ erforderlich. Fügen Sie Ihrer Ausführungsrolle „Inference Operator“ die folgenden Berechtigungen hinzu:

```
{  
    "Sid": "CertificateTagginPermission",  
    "Effect": "Allow",  
    "Action": [  
        "acm:AddTagsToCertificate"  
    ],  
    "Resource": "arn:aws:acm:*:*:certificate/*",  
},  
{  
    "Sid": "S3PutObjectTaggingAccess",  
    "Effect": "Allow",  
    "Action": [  
        "s3:PutObjectTagging"  
    ],  
    "Resource": [  
        "arn:aws:s3:::<TLS_BUCKET>/*" # Replace * with your TLS bucket  
    ]  
}
```

### Führen Sie ein Upgrade auf Version 3.0 durch
<a name="sagemaker-hyperpod-inference-v3-0-upgrade"></a>

Wenn Sie den Inference Operator bereits über Helm installiert haben, verwenden Sie die folgenden Befehle für das Upgrade:

```
helm get values -n kube-system hyperpod-inference-operator \
> current-values.yaml

cd sagemaker-hyperpod-cli/helm_chart/HyperPodHelmChart/\
charts/inference-operator

helm upgrade hyperpod-inference-operator . -n kube-system \
  -f current-values.yaml --set image.tag=v3.0
    
# Verification
kubectl get deployment hyperpod-inference-operator-controller-manager \
  -n hyperpod-inference-system \
  -o jsonpath='{.spec.template.spec.containers[0].image}'
```

### Migration von Helm zu EKS Add-Ons
<a name="sagemaker-hyperpod-inference-v3-0-migration"></a>

Wenn Inference Operator vor Version 3.0 über Helm installiert wurde, empfehlen wir, zum EKS Add-on zu migrieren, um rechtzeitig über die neuen Funktionen informiert zu werden, die für Inference Operator veröffentlicht werden. Dieses Skript migriert den SageMaker HyperPod Inference Operator von der HELM-basierten Installation zur EKS-Add-On-Installation.

**Überblick:** Das Skript verwendet einen Clusternamen und eine Region als Parameter, ruft die bestehende Helm-Installationskonfiguration ab und migriert zur EKS-Add-on-Bereitstellung. Es erstellt neue IAM-Rollen für den Inference Operator, den ALB-Controller und den KEDA-Operator.

Vor der Migration des Inferenzoperators stellt das Skript sicher, dass die erforderlichen Abhängigkeiten (S3-CSI-Treiber, CSI-Treiber, Cert-Manager und FSx Metrics-Server) vorhanden sind. Wenn sie nicht existieren, werden sie als Add-on bereitgestellt.

Nach Abschluss der Migration des Inference Operator Add-ons migriert das Skript auch S3 und andere Abhängigkeiten (ALB FSx, KEDA, cert-manager, metrics-server), sofern sie ursprünglich über das Diagramm Inference Operator Helm installiert wurden. Verwenden Sie diese Option`--skip-dependencies-migration`, um diesen Schritt für den S3-CSI-Treiber, den CSI-Treiber, den Cert-Manager und den Metrics-Server zu überspringen. FSx Beachten Sie, dass ALB und KEDA als Teil des Add-ons im selben Namespace wie Inference Operator installiert werden und als Teil des Inference Operator Add-ons migriert werden.

**Wichtig**  
Stellen Sie während der Migration keine neuen Modelle bereit, da diese erst bereitgestellt werden, wenn die Migration abgeschlossen ist. Sobald sich das Inference Operator Add-on im Status AKTIV befindet, können neue Modelle bereitgestellt werden. Die Migration dauert in der Regel 15 bis 20 Minuten und kann innerhalb von 30 Minuten abgeschlossen sein, wenn derzeit nur wenige Modelle eingesetzt werden.

**Voraussetzungen für die Migration:**
+ AWS CLI mit den entsprechenden Anmeldeinformationen konfiguriert
+ kubectl ist mit Zugriff auf Ihren EKS-Cluster konfiguriert
+ Helm installiert
+ Bestehende Helm-Installation von hyperpod-inference-operator

**Anmerkung**  
Endgeräte, die bereits laufen, werden während des Migrationsprozesses nicht unterbrochen. Bestehende Endgeräte werden den Datenverkehr während der gesamten Migration weiterhin unterbrechungsfrei bereitstellen.

**Abrufen des Migrationsskripts:**

```
git clone https://github.com/aws/sagemaker-hyperpod-cli.git
cd sagemaker-hyperpod-cli/helm_chart/HyperPodHelmChart/\
charts/inference-operator/migration
```

**Verwendung:**

```
./helm_to_addon.sh [OPTIONS] \
  --cluster-name <cluster-name> (Required) \
  --region <region> (Required) \
  --helm-namespace kube-system (Optional) \
  --auto-approve (Optional) \
  --skip-dependencies-migration (Optional) \
  --s3-mountpoint-role-arn <s3-mountpoint-role-arn> (Optional) \
  --fsx-role-arn <fsx-role-arn> (Optional)
```

**Optionen:**
+ `--cluster-name NAME`— Name des EKS-Clusters (erforderlich)
+ `--region REGION`— AWS Region (erforderlich)
+ `--helm-namespace NAMESPACE`— Namespace, in dem Helm Chart installiert ist (Standard: kube-system) (optional)
+ `--s3-mountpoint-role-arn ARN`— S3 Mountpoint CSI-Treiber, IAM-Rolle ARN (optional)
+ `--fsx-role-arn ARN`— IAM-Rolle ARN des FSx CSI-Treibers (optional)
+ `--auto-approve`— Überspringen Sie Bestätigungsaufforderungen, wenn dieses Flag aktiviert ist. `step-by-step`und schließen `auto-approve` sich gegenseitig aus, falls `--auto-approve` angegeben, bitte nicht angeben `--step-by-step` (optional)
+ `--step-by-step`— Machen Sie nach jedem wichtigen Schritt eine Pause zur Überprüfung. Dies sollte nicht erwähnt werden, wenn `--auto-approve` es bereits hinzugefügt wurde (optional)
+ `--skip-dependencies-migration`— Überspringt die Migration der von HELM installierten Abhängigkeiten zum Add-on. Denn Abhängigkeiten wurden NICHT über das Inference Operator Helm-Diagramm installiert, oder wenn Sie sie separat verwalten möchten. (optional)

**Beispiele:**

Grundlegende Migration (migriert Abhängigkeiten):

```
./helm_to_addon.sh \
  --cluster-name my-cluster \
  --region us-east-1
```

Automatische Genehmigung ohne Eingabeaufforderungen:

```
./helm_to_addon.sh \
  --cluster-name my-cluster \
  --region us-east-1 \
  --auto-approve
```

Überspringen Sie die Abhängigkeitsmigration für FSx S3-Mountpoint, Cert Manager und Metrics-Server:

```
./helm_to_addon.sh \
  --cluster-name my-cluster \
  --region us-east-1 \
  --skip-dependencies-migration
```

Stellen Sie bestehende S3- und FSx IAM-Rollen bereit:

```
./helm_to_addon.sh \
  --cluster-name my-cluster \
  --region us-east-1 \
  --s3-mountpoint-role-arn arn:aws:iam::123456789012:role/s3-csi-role \
  --fsx-role-arn arn:aws:iam::123456789012:role/fsx-csi-role
```

**Backup-Speicherort:**

Backups werden gespeichert in `/tmp/hyperpod-migration-backup-<timestamp>/`

Backups ermöglichen eine sichere Migration und Wiederherstellung:
+ **Rollback bei einem Fehler** — Wenn die Migration fehlschlägt, kann das Skript Ihren Cluster mithilfe der gesicherten Konfigurationen automatisch auf den Zustand vor der Migration zurücksetzen
+ **Audit Trail** — Bietet eine vollständige Aufzeichnung dessen, was vor der Migration vorhanden war, zur Problembehandlung und Einhaltung von Vorschriften
+ **Konfigurationsreferenz** — Ermöglicht den Vergleich von Konfigurationen vor und nach der Migration
+ **Manuelle Wiederherstellung** — Bei Bedarf können Sie bestimmte Ressourcen aus dem Backup-Verzeichnis manuell überprüfen und wiederherstellen

**Rollback:**

Wenn die Migration fehlschlägt, fordert das Skript den Benutzer zur Bestätigung auf, bevor ein Rollback initiiert wird, um den vorherigen Status wiederherzustellen.

## SageMaker HyperPod Versionshinweise zu Inference: v2.3
<a name="sagemaker-hyperpod-inference-release-notes-20260203"></a>

**Was ist neu**

In dieser Version werden neue optionale Felder in den benutzerdefinierten Ressourcendefinitionen (CRDs) eingeführt, um die Flexibilität der Bereitstellungskonfiguration zu erhöhen.

**Funktionen**
+ **Typen mit mehreren Instanzen**
  + **Verbesserte Zuverlässigkeit bei der Bereitstellung** — Unterstützt Konfigurationen mit mehreren Instanzen mit automatischem Failover auf alternative Instance-Typen, wenn die bevorzugten Optionen nicht genügend Kapazität haben
  + **Intelligente Ressourcenplanung** — Nutzt die Kubernetes-Knotenaffinität, um Instanztypen zu priorisieren und gleichzeitig die Bereitstellung zu gewährleisten, auch wenn bevorzugte Ressourcen nicht verfügbar sind
  + **Optimierte Kosten und Leistung** — Behält Ihre Instance-Typpräferenzen bei und verhindert kapazitätsbedingte Ausfälle bei Cluster-Fluktuationen

**Fehlerbehebungen**

Änderungen am Feld `invocationEndpoint` in der Spezifikation von `InferenceEndpointConfig` werden nun wirksam:
+ Wenn das `invocationEndpoint` Feld gepatcht oder aktualisiert wird, werden abhängige Ressourcen wie Load Balancer und SageMaker Endpoint mit der Normalisierung aktualisiert. `Ingress` `SageMakerEndpointRegistration`
+ Der `invocationEndpoint` angegebene Wert wird unverändert in der Spezifikation selbst gespeichert. `InferenceEndpointConfig` Wenn dieser Wert verwendet wird, um einen Load Balancer und — falls aktiviert — einen SageMaker Endpoint zu erstellen, wird er normalisiert, sodass er einen vorangestellten Schrägstrich hat.
  + `v1/chat/completions`wird `/v1/chat/completions` für AWS Load Balancer und SageMaker Endpoint normalisiert. `Ingress` Für den `SageMakerEndpointRegistration` wird es in seiner Spezifikation als angezeigt. `v1/chat/completions`
  + `///invoke`wird `/invoke` für AWS Load Balancer und SageMaker Endpoint normalisiert. `Ingress` Für den `SageMakerEndpointRegistration` wird es in seiner Spezifikation als angezeigt. `invoke`

**Helm installieren:**

Folgen Sie: [https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm\$1chart](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart)

Wenn Sie sich darauf konzentrieren, nur den Inferenzoperator zu installieren, tun Sie dies nach Schritt 1 `Set Up Your Helm Environment` also. `cd HyperPodHelmChart/charts/inference-operator` Da Sie sich im Verzeichnis der Inferenzoperatordiagramme selbst befinden, ersetzen Sie in den Befehlen, wo immer Sie sie sehen`helm_chart/HyperPodHelmChart`, durch. `.`

**Führen Sie ein Upgrade von Operator auf Version 2.3 durch, falls es bereits installiert ist:**

```
cd sagemaker-hyperpod-cli/helm_chart/HyperPodHelmChart/\
charts/inference-operator

helm get values -n kube-system hyperpod-inference-operator \
> current-values.yaml

helm upgrade hyperpod-inference-operator . \
  -n kube-system \
  -f current-values.yaml \
  --set image.tag=v2.3
```

# HyperPod im Studio
<a name="sagemaker-hyperpod-studio"></a>

Sie können Machine-Learning-Workloads auf SageMaker HyperPod Amazon-Clustern starten und HyperPod Cluster-Informationen in Amazon SageMaker Studio anzeigen. Die verbesserte Transparenz der Cluster-Details und Hardware-Metriken kann Ihrem Team helfen, den richtigen Kandidaten für Ihre Workloads vor dem Training oder zur Feinabstimmung zu finden. 

Eine Reihe von Befehlen ist verfügbar, um Ihnen den Einstieg zu erleichtern, wenn Sie Studio IDEs auf einem HyperPod Cluster starten. Sie können an Ihren Schulungsskripten arbeiten, Docker-Container für die Schulungsskripte verwenden und Jobs an den Cluster senden — alles vom Studio IDEs aus. In den folgenden Abschnitten finden Sie Informationen zur Einrichtung, zum Erkennen von Clustern und zur Überwachung ihrer Aufgaben, zum Anzeigen von Clusterinformationen und zum Herstellen einer Verbindung zu HyperPod Clustern IDEs in Studio.

**Topics**
+ [Einrichtung HyperPod in Studio](sagemaker-hyperpod-studio-setup.md)
+ [HyperPod Registerkarten in Studio](sagemaker-hyperpod-studio-tabs.md)
+ [Verbindung zu HyperPod Clustern herstellen und Aufgaben an Cluster senden](sagemaker-hyperpod-studio-open.md)
+ [Fehlerbehebung](sagemaker-hyperpod-studio-troubleshoot.md)

# Einrichtung HyperPod in Studio
<a name="sagemaker-hyperpod-studio-setup"></a>

Sie müssen die Cluster je nach Wahl des Cluster-Orchestrators einrichten, um über Amazon SageMaker Studio auf Ihre Cluster zuzugreifen. Wählen Sie in den folgenden Abschnitten das Setup aus, das zu Ihrem Orchestrator passt.

In den Anleitungen wird davon ausgegangen, dass Sie Ihren Cluster bereits eingerichtet haben. Informationen zu den Cluster-Orchestratoren und zur Einrichtung finden Sie auf den HyperPod Orchestrator-Seiten:
+  [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) 
+  [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) 

**Topics**
+ [Einrichtung eines Slurm-Clusters in Studio](sagemaker-hyperpod-studio-setup-slurm.md)
+ [Einen Amazon-EKS-Cluster in Studio einrichten](sagemaker-hyperpod-studio-setup-eks.md)

# Einrichtung eines Slurm-Clusters in Studio
<a name="sagemaker-hyperpod-studio-setup-slurm"></a>

Die folgenden Anweisungen beschreiben, wie Sie einen HyperPod Slurm-Cluster in Studio einrichten.

1. Erstellen Sie eine Domain oder halten Sie eine bereit. Weitere Informationen zum Erstellen einer Domain finden Sie unter [Leitfaden für die Einrichtung von Amazon SageMaker AI](gs.md).

1. (Optional) Erstellen Sie ein benutzerdefiniertes Volume FSx für Lustre und fügen Sie es Ihrer Domain hinzu. 

   1. Stellen Sie sicher, dass FSx Ihr Lustre-Dateisystem in derselben VPC wie Ihre beabsichtigte Domain und in einem der Subnetze in der Domain vorhanden ist.

   1. Folgen Sie den Anweisungen in [Hinzufügen eines benutzerdefinierten Dateisystems zu einer Domain](domain-custom-file-system.md). 

1. (Optional) Wir empfehlen Ihnen, Ihren Clustern Tags hinzuzufügen, um einen reibungsloseren Arbeitsablauf zu gewährleisten. Informationen zum Hinzufügen von Tags finden [Bearbeiten Sie einen SageMaker HyperPod Cluster](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters) Sie unter So aktualisieren Sie Ihren Cluster mithilfe der SageMaker AI-Konsole.

   1. Kennzeichnen Sie Ihr FSx for Lustre-Dateisystem mit Ihrer Studio-Domain. Auf diese Weise können Sie das Dateisystem beim Starten Ihrer Studio-Bereiche identifizieren. Fügen Sie dazu Ihrem Cluster das folgende Tag hinzu, um ihn mit der FSx Dateisystem-ID zu identifizieren. `fs-id` 

      Tag-Schlüssel = „`hyperpod-cluster-filesystem`“, Tag-Wert = „`fs-id`“.

   1. Kennzeichnen Sie Ihren [Amazon Managed Grafana-Workspace](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) mit Ihrer Studio-Domain. Dies wird verwendet, um schnell direkt von Ihrem Cluster in Studio aus eine Verbindung zu Ihrem Grafana-Workspace herzustellen. Fügen Sie dazu Ihrem Cluster das folgende Tag hinzu, um ihn mit Ihrer Grafana-Workspace-ID, `ws-id`, zu identifizieren.

      Tag-Schlüssel = „`grafana-workspace`“, Tag-Wert = „`ws-id`“.

1. Fügen Sie Ihrer Ausführungsrolle die folgende Berechtigung hinzu. 

   Informationen zu SageMaker KI-Ausführungsrollen und deren Bearbeitung finden Sie unter[Grundlegendes zu Domainbereichsberechtigungen und Ausführungsrollen](execution-roles-and-spaces.md). 

   Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:StartSession",
                   "ssm:TerminateSession"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateCluster",
                   "sagemaker:ListClusters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "cloudwatch:PutMetricData",
                   "cloudwatch:GetMetricData"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeCluster",
                   "sagemaker:DescribeClusterNode",
                   "sagemaker:ListClusterNodes",
                   "sagemaker:UpdateCluster",
                   "sagemaker:UpdateClusterSoftware"
               ],
               "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/*"
           }
       ]
   }
   ```

------

1. Fügen Sie dieser IAM-Rolle ein Tag mit dem Tag-Schlüssel = „`SSMSessionRunAs`“ und dem Tag-Wert = „`os user`“ hinzu. Das `os user` hier ist derselbe Benutzer, den Sie für den Slurm-Cluster eingerichtet haben. Verwalten Sie den Zugriff auf SageMaker HyperPod Cluster auf einer IAM-Rollen- oder Benutzerebene mithilfe der Funktion „Ausführen als“ im [AWS Systems Manager Agenten (SSM-Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)). Mit dieser Funktion können Sie jede SSM-Sitzung mit dem Betriebssystembenutzer (OS) starten, der der IAM-Rolle oder dem IAM-Benutzer zugeordnet ist. 

   Weitere Informationen zum Hinzufügen von Tags zu Ihrer Ausführungsrolle finden Sie unter [Tag-IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html).

1. [Aktivieren des Run-As-Supports für Linux- und macOS-verwaltete Knoten](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html) Die Einstellungen „Ausführen als“ gelten für das gesamte Konto und sind erforderlich, damit alle SSM-Sitzungen erfolgreich gestartet werden können.

1. (Optional) [Beschränken Sie die Aufgabenansicht in Studio für Slurm-Cluster](#sagemaker-hyperpod-studio-setup-slurm-restrict-tasks-view). Informationen zu sichtbaren Aufgaben in Studio finden Sie unter [Aufgaben](sagemaker-hyperpod-studio-tabs.md#sagemaker-hyperpod-studio-tabs-tasks).

In Amazon SageMaker Studio können Sie navigieren, um Ihre HyperPod Cluster in Clustern anzuzeigen (unter Compute).

## Beschränken Sie die Aufgabenansicht in Studio für Slurm-Cluster
<a name="sagemaker-hyperpod-studio-setup-slurm-restrict-tasks-view"></a>

Sie können Benutzern die Anzeige von Slurm-Aufgaben, für die sie berechtigt sind, einschränken, ohne dass eine manuelle Eingabe von NameBereiche oder zusätzliche Berechtigungsprüfungen erforderlich sind. Die Einschränkung wird auf der Grundlage der IAM-Rolle des Benutzers angewendet und sorgt so für eine optimierte und sichere Benutzererfahrung. Der folgende Abschnitt enthält Informationen zur Einschränkung der Aufgabenansicht in Studio für Slurm-Cluster. Informationen zu sichtbaren Aufgaben in Studio finden Sie unter [Aufgaben](sagemaker-hyperpod-studio-tabs.md#sagemaker-hyperpod-studio-tabs-tasks). 

Alle Studio-Benutzer können standardmäßig alle Slurm-Cluster-Aufgaben anzeigen, verwalten und mit ihnen interagieren. Um dies einzuschränken, können Sie den Zugriff auf SageMaker HyperPod Cluster auf einer IAM-Rollen- oder Benutzerebene verwalten, indem Sie die Funktion „**Ausführen als**“ in [AWS Systems Manager Agent (SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)) verwenden.

Sie können dies tun, indem Sie IAM-Rollen mit bestimmten Kennungen wie ihrem Benutzernamen oder ihrer Gruppe kennzeichnen. Wenn ein Benutzer auf Studio zugreift, verwendet der Session Manager die Funktion „Ausführen als“, um Befehle mit einem bestimmten Slurm-Benutzerkonto auszuführen, das seinen IAM-Rollen-Tags entspricht. Die Slurm-Konfiguration kann so eingerichtet werden, dass die Sichtbarkeit der Aufgaben je nach Benutzerkonto eingeschränkt wird. Die Studio-Benutzeroberfläche filtert automatisch Aufgaben, die für dieses spezifische Benutzerkonto sichtbar sind, wenn Befehle über die Funktion „Ausführen als“ ausgeführt werden. Nach der Einrichtung werden diese Slurm-Aufgaben für jeden Benutzer, der die Rolle mit den angegebenen Kennungen annimmt, auf der Grundlage der Slurm-Konfiguration gefiltert. Weitere Informationen zum Hinzufügen von Tags zu Ihrer Ausführungsrolle finden Sie unter [Tag-IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html).

# Einen Amazon-EKS-Cluster in Studio einrichten
<a name="sagemaker-hyperpod-studio-setup-eks"></a>

In den folgenden Anweisungen wird die Einrichtung eines Amazon-EKS-Clusters in Studio beschrieben.

1. Erstellen Sie eine Domain oder halten Sie eine bereit. Weitere Informationen zum Erstellen einer Domain finden Sie unter [Leitfaden für die Einrichtung von Amazon SageMaker AI](gs.md).

1. Fügen Sie Ihrer Ausführungsrolle die folgende Berechtigung hinzu. 

   Informationen zu SageMaker KI-Ausführungsrollen und deren Bearbeitung finden Sie unter[Grundlegendes zu Domainbereichsberechtigungen und Ausführungsrollen](execution-roles-and-spaces.md). 

   Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DescribeHyerpodClusterPermissions",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeCluster"
               ],
               "Resource": "arn:aws:sagemaker:us-east-1:111122223333:cluster/cluster-name"
           },
           {
               "Effect": "Allow",
               "Action": "ec2:Describe*",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ecr:CompleteLayerUpload",
                   "ecr:GetAuthorizationToken",
                   "ecr:UploadLayerPart",
                   "ecr:InitiateLayerUpload",
                   "ecr:BatchCheckLayerAvailability",
                   "ecr:PutImage"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
                   "Action": [
                       "cloudwatch:PutMetricData",
                       "cloudwatch:GetMetricData"
                       ],
               "Resource": "*"
           },
           {
               "Sid": "UseEksClusterPermissions",
               "Effect": "Allow",
               "Action": [
                   "eks:DescribeCluster",
                   "eks:AccessKubernetesApi",
                   "eks:DescribeAddon"
               ],
               "Resource": "arn:aws:eks:us-east-1:111122223333:cluster/cluster-name"
           },
           {
               "Sid": "ListClustersPermission",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:ListClusters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:StartSession",
                   "ssm:TerminateSession"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. [Gewähren Sie IAM-Benutzern Zugriff auf Kubernetes mit](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) EKS-Zugriffseinträgen.

   1. Navigieren Sie zu dem Amazon EKS-Cluster, der Ihrem HyperPod Cluster zugeordnet ist.

   1. Wählen Sie die Registerkarte **Zugriff** und [erstellen Sie einen Zugriffseintrag](https://docs.aws.amazon.com/eks/latest/userguide/creating-access-entries.html) für die von Ihnen erstellte Ausführungsrolle. 

      1. Wählen Sie in Schritt 1 in der Dropdownliste für den **IAM-Prinzipal** die Ausführungsrolle aus, die Sie oben erstellt haben.

      1. Wählen Sie in Schritt 2 einen Richtliniennamen und einen Zugriffsbereich aus, auf den die Benutzer Zugriff haben sollen. 

1. (Optional) Um ein reibungsloseres Erlebnis zu gewährleisten, empfehlen wir Ihnen, Ihren Clustern Tags hinzuzufügen. Informationen zum Hinzufügen von Tags finden Sie unter [Bearbeiten Sie einen SageMaker HyperPod Cluster](sagemaker-hyperpod-operate-slurm-console-ui.md#sagemaker-hyperpod-operate-slurm-console-ui-edit-clusters) So aktualisieren Sie Ihren Cluster mithilfe der SageMaker AI-Konsole.

   1. Kennzeichnen Sie Ihren [Amazon Managed Grafana-Workspace](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) mit Ihrer Studio-Domain. Dies wird verwendet, um schnell direkt von Ihrem Cluster in Studio aus eine Verbindung zu Ihrem Grafana-Workspace herzustellen. Fügen Sie dazu Ihrem Cluster das folgende Tag hinzu, um ihn mit Ihrer Grafana-Workspace-ID, `ws-id`, zu identifizieren.

     Tag-Schlüssel = „`grafana-workspace`“, Tag-Wert = „`ws-id`“.

1. (Optional) [Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster](#sagemaker-hyperpod-studio-setup-eks-restrict-tasks-view). Informationen zu sichtbaren Aufgaben in Studio finden Sie unter [Aufgaben](sagemaker-hyperpod-studio-tabs.md#sagemaker-hyperpod-studio-tabs-tasks).

## Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster
<a name="sagemaker-hyperpod-studio-setup-eks-restrict-tasks-view"></a>

Sie können die Kubernetes-Namespace-Berechtigungen für Benutzer einschränken, sodass diese nur Zugriff auf Aufgaben haben, die zu einem bestimmten Namespace gehören. Im Folgenden finden Sie Informationen dazu, wie Sie die Taskansicht in Studio für EKS-Cluster einschränken. Informationen zu sichtbaren Aufgaben in Studio finden Sie unter [Aufgaben](sagemaker-hyperpod-studio-tabs.md#sagemaker-hyperpod-studio-tabs-tasks). 

Benutzer haben standardmäßig Einblick in alle EKS-Cluster-Aufgaben. Sie können die Sichtbarkeit der Benutzer für EKS-Clusteraufgaben auf bestimmte NameBereiche beschränken und so sicherstellen, dass Benutzer auf die benötigten Ressourcen zugreifen und gleichzeitig strenge Zugriffskontrollen einhalten können. Sie müssen den Namespace angeben, damit der Benutzer Jobs dieses NameBereiche anzeigen kann, sobald Folgendes eingerichtet ist.

Sobald die Einschränkung angewendet wurde, müssen Sie den Namespace den Benutzern zur Verfügung stellen, die die Rolle übernehmen. **Studio zeigt die Jobs des NameBereiche erst an, wenn der Benutzer Eingabe-Namespace, zu dessen Anzeige er berechtigt ist, auf der Registerkarte Aufgaben angegeben hat.** 

Die folgende Konfiguration ermöglicht es Administratoren, Datenwissenschaftlern bestimmten, eingeschränkten Zugriff auf Aufgaben innerhalb des Clusters zu gewähren. Diese Konfiguration gewährt die folgenden Berechtigungen:
+ Pods auflisten und abrufen
+ Ereignisse auflisten und abrufen
+ Holen Sie sich benutzerdefinierte Ressourcendefinitionen (CRDs)

YAML-Konfiguration

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: pods-events-crd-cluster-role
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list"]
- apiGroups: [""]
  resources: ["events"]
  verbs: ["get", "list"]
- apiGroups: ["apiextensions.k8s.io"]
  resources: ["customresourcedefinitions"]
  verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: pods-events-crd-cluster-role-binding
subjects:
- kind: Group
  name: pods-events-crd-cluster-level
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: pods-events-crd-cluster-role
  apiGroup: rbac.authorization.k8s.io
```

1. Speichern Sie die YAML-Konfiguration in einer Datei mit dem Namen `cluster-role.yaml`.

1. Wenden Sie die Konfiguration an mit [https://kubernetes.io/docs/reference/kubectl/](https://kubernetes.io/docs/reference/kubectl/):

   ```
   kubectl apply -f cluster-role.yaml
   ```

1. Überprüfen Sie die Konfiguration:

   ```
   kubectl get clusterrole pods-events-crd-cluster-role
   kubectl get clusterrolebinding pods-events-crd-cluster-role-binding
   ```

1. Weisen Sie der `pods-events-crd-cluster-level` Gruppe Benutzer über Ihren Identitätsanbieter oder IAM zu.

# HyperPod Registerkarten in Studio
<a name="sagemaker-hyperpod-studio-tabs"></a>

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und Ihre Clusterliste einsehen. Die angezeigten Cluster enthalten Informationen wie Aufgaben, Hardwaremetriken, Einstellungen und Metadatendetails. Diese Transparenz kann Ihrem Team helfen, den richtigen Kandidaten für Ihre Workloads vor der Schulung oder Feinabstimmung zu finden. In den folgenden Abschnitten finden Sie Informationen zu den einzelnen Informationstypen.

## Aufgaben
<a name="sagemaker-hyperpod-studio-tabs-tasks"></a>

Amazon SageMaker HyperPod bietet einen Überblick über Ihre Cluster-Aufgaben. Aufgaben sind Operationen oder Jobs, die an den Cluster gesendet werden. Dabei kann es sich um Operationen des maschinellen Lernens wie Training, Durchführung von Experimenten oder Inferenz handeln. Der folgende Abschnitt enthält Informationen zu Ihren HyperPod Cluster-Aufgaben.

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und die **Aufgabeninformationen** in Ihrem Cluster anzeigen. Wenn Sie Probleme beim Anzeigen von Aufgaben haben, finden Sie weitere Informationen unter [Fehlerbehebung](sagemaker-hyperpod-studio-troubleshoot.md).

Die Aufgabentabelle umfasst:

------
#### [ For Slurm clusters ]

Für Slurm-Cluster werden die Aufgaben, die sich derzeit in der Slurm-Job-Scheduler-Warteschlange befinden, in der Tabelle angezeigt. Zu den Informationen, die für jede Aufgabe angezeigt werden, gehören der Name der Aufgabe, der Status, die Job-ID, die Partition, die Laufzeit, die Knoten, die von erstellt wurden, und die Aktionen.

Für eine Liste und Details zu vergangenen Jobs verwenden Sie den [https://slurm.schedmd.com/sacct.html](https://slurm.schedmd.com/sacct.html)Befehl in JupyterLab oder einem Code-Editor-Terminal. *Der `sacct` Befehl wird verwendet, um *historische Informationen* über Jobs anzuzeigen, die im System *abgeschlossen oder abgeschlossen* wurden.* Er stellt Abrechnungsinformationen bereit, einschließlich der Nutzung von Jobressourcen wie Speicher und Exit-Status. 

Standardmäßig können alle Studio-Benutzer alle verfügbaren Slurm-Aufgaben anzeigen, verwalten und mit ihnen interagieren. Informationen zur Beschränkung der sichtbaren Aufgaben auf Studio-Benutzer finden Sie unter [Beschränken Sie die Aufgabenansicht in Studio für Slurm-Cluster](sagemaker-hyperpod-studio-setup-slurm.md#sagemaker-hyperpod-studio-setup-slurm-restrict-tasks-view).

------
#### [ For Amazon EKS clusters ]

Für Amazon EKS-Cluster werden kubeflow (PyTorch, MPI, TensorFlow) -Aufgaben in der Tabelle aufgeführt. PyTorch Aufgaben werden standardmäßig angezeigt. Sie können nach PyTorch, MPI und TensorFlow unter **Aufgabentyp** sortieren. Zu den Informationen, die für jede Aufgabe angezeigt werden, gehören der Aufgabenname, der Status, der Namespace, die Prioritätsklasse und die Erstellungszeit. 

Standardmäßig können alle Benutzer Jobs in allen NameBereiche anzeigen. Informationen zum Einschränken der sichtbaren Kubernetes-Namespaces, die Studio-Benutzern zur Verfügung stehen, finden Sie unter [Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster](sagemaker-hyperpod-studio-setup-eks.md#sagemaker-hyperpod-studio-setup-eks-restrict-tasks-view). Wenn ein Benutzer die Aufgaben nicht sehen kann und aufgefordert wird, einen Namespace anzugeben, muss er sich diese Informationen vom Administrator holen. 

------

## Kennzahlen
<a name="sagemaker-hyperpod-studio-tabs-metrics"></a>

Amazon SageMaker HyperPod bietet einen Überblick über Ihre Slurm- oder Amazon EKS-Cluster-Nutzungsmetriken. Im Folgenden finden Sie Informationen zu Ihren HyperPod Cluster-Metriken. 

Sie müssen das Amazon-EKS-Add-on installieren, um die folgenden Metriken anzeigen zu können. Weitere Informationen finden [Sie unter Installieren des Amazon CloudWatch Observability EKS-Add-ons](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-EKS-addon.html).

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und die **Metrikdetails** zu Ihrem Cluster einsehen. Metrics bietet einen umfassenden Überblick über die Metriken zur Cluster-Auslastung, einschließlich Hardware-, Team- und Aufgabenmetriken. Dazu gehören die Verfügbarkeit und Nutzung von Rechenleistung, Teamzuweisung und -auslastung sowie Informationen zur Ausführung und Wartezeit von Aufgaben. 

## Einstellungen
<a name="sagemaker-hyperpod-studio-tabs-settings"></a>

Amazon SageMaker HyperPod bietet eine Ansicht Ihrer Cluster-Einstellungen. Im Folgenden finden Sie Informationen zu Ihren HyperPod Cluster-Einstellungen.

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und die **Einstellungsinformationen** zu Ihrem Cluster einsehen. Die Informationen umfassen Folgendes:
+ **Instance-Details**, einschließlich Instance-ID, Status, Instance-Typ und Instance-Gruppe
+ Details zu **Instance-Gruppen**, einschließlich Name, Typ, Anzahl und Recheninformationen der Instance-Gruppe
+ Einzelheiten **zur Orchestrierung**, einschließlich Orchestrator, Version und Zertifizierungsstelle
+ Einzelheiten zur **Cluster-Resilienz**
+ **Sicherheitsdetails**, einschließlich Subnetze und Sicherheitsgruppen

## Details
<a name="sagemaker-hyperpod-studio-tabs-details"></a>

Amazon SageMaker HyperPod bietet eine Ansicht Ihrer Cluster-Metadatendetails. Der folgende Abschnitt enthält Informationen darüber, wie Sie Ihre HyperPod Clusterdetails abrufen können.

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und die **Details** zu Ihrem Cluster anzeigen. Dazu gehören die Tags, Protokolle und Metadaten.

# Verbindung zu HyperPod Clustern herstellen und Aufgaben an Cluster senden
<a name="sagemaker-hyperpod-studio-open"></a>

Sie können Machine-Learning-Workloads auf HyperPod Clustern in Amazon SageMaker Studio IDEs starten. Wenn Sie Studio IDEs auf einem HyperPod Cluster starten, steht Ihnen eine Reihe von Befehlen zur Verfügung, die Ihnen den Einstieg erleichtern. Sie können an Ihren Schulungsskripten arbeiten, Docker-Container für die Schulungsskripte verwenden und Jobs an den Cluster senden — alles vom Studio IDEs aus. Der folgende Abschnitt enthält Informationen darüber, wie Sie Ihren Cluster mit Studio IDEs verbinden.

In Amazon SageMaker Studio können Sie zu einem Ihrer **HyperPodCluster** in Clustern (unter **Compute**) navigieren und Ihre Clusterliste einsehen. **Sie können Ihren Cluster mit einer IDE verbinden, die unter Aktionen aufgeführt ist.** 

Sie können Ihr benutzerdefiniertes Dateisystem auch aus der Liste der Optionen auswählen. Informationen zur Einrichtung finden Sie unter [Einrichtung HyperPod in Studio](sagemaker-hyperpod-studio-setup.md).

Alternativ können Sie einen Space erstellen und eine IDE mit dem starten AWS CLI. Führen Sie dazu die folgenden Befehle aus. Das folgende Beispiel erstellt einen `Private` `JupyterLab` Bereich für, an `user-profile-name` den das `fs-id` FSx for Lustre-Dateisystem angehängt ist.

1. Erstellen Sie einen Bereich mit dem [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html) AWS CLI.

   ```
   aws sagemaker create-space \
   --region your-region \
   --ownership-settings "OwnerUserProfileName=user-profile-name" \
   --space-sharing-settings "SharingType=Private" \
   --space-settings "AppType=JupyterLab,CustomFileSystems=[{FSxLustreFileSystem={FileSystemId=fs-id}}]"
   ```

1. Erstellen Sie die App mit dem [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-app.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-app.html) AWS CLI.

   ```
   aws sagemaker create-app \
   --region your-region \
   --space-name space-name \
   --resource-spec '{"ec2InstanceType":"'"instance-type"'","appEnvironmentArn":"'"image-arn"'"}'
   ```

Sobald Sie Ihre Anwendungen geöffnet haben, können Sie Aufgaben direkt an die Cluster senden, mit denen Sie verbunden sind. 

# Fehlerbehebung
<a name="sagemaker-hyperpod-studio-troubleshoot"></a>

Im folgenden Abschnitt werden Lösungen zur Fehlerbehebung für HyperPod in Studio aufgeführt.

**Topics**
+ [Registerkarte „Aufgaben“](#sagemaker-hyperpod-studio-troubleshoot-tasks)
+ [Registerkarte „Metriken“](#sagemaker-hyperpod-studio-troubleshoot-metrics)

## Registerkarte „Aufgaben“
<a name="sagemaker-hyperpod-studio-troubleshoot-tasks"></a>

Wenn Sie erhalten, dass Custom Resource Definition (CRD) auf dem Cluster nicht konfiguriert ist, während Sie sich auf der Registerkarte **Aufgaben befinden**.
+ Gewähren Ihrer Domain-Ausführungsrolle die entsprechenden `EKSAdminViewPolicy`- und `ClusterAccessRole`-Richtlinien. 

  Weitere Informationen zum Hinzufügen von Tags zu Ihrer Ausführungsrolle finden Sie unter [Tag-IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html).

  Informationen zum Hinzufügen von Richtlinien zu einem IAM-Benutzer oder einer IAM-Gruppe finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

Wenn das Aufgabenraster für Slurm-Metriken auf der Registerkarte „**Aufgaben**“ nicht aufhört zu laden.
+ Stellen Sie sicher, dass das Tag in Ihren [AWS Session Manager-Einstellungen `RunAs`](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) aktiviert ist und dass der Rolle, die Sie verwenden, das `SSMSessionRunAs` Tag angehängt ist. 
  + Navigieren Sie zur Aktivierung von `RunAs` in der [Systems-Manager-Konsole](https://console.aws.amazon.com/systems-manager/session-manager) zur Registerkarte **Einstellungen**. 
  +  [Aktivieren des Run-As-Supports für Linux- und macOS-verwaltete Knoten](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-preferences-run-as.html) 

Für die eingeschränkte Aufgabenansicht in Studio für EKS-Cluster:
+ Wenn Ihre Ausführungsrolle nicht berechtigt ist, NameBereiche für EKS-Cluster aufzulisten.
  + Siehe [Beschränken Sie die Aufgabenansicht in Studio für EKS-Cluster](sagemaker-hyperpod-studio-setup-eks.md#sagemaker-hyperpod-studio-setup-eks-restrict-tasks-view).
+ Wenn Benutzer Probleme mit dem Zugriff auf EKS-Cluster haben.

  1. Stellen Sie sicher, dass RBAC aktiviert ist, indem Sie den folgenden AWS CLI Befehl ausführen.

     ```
     kubectl api-versions | grep rbac
     ```

     Dies sollte rbac.authorization.k8s.io/v1 zurückgeben.

  1. Überprüfen Sie, ob `ClusterRole` und `ClusterRoleBinding` existieren, indem Sie die folgenden Befehle ausführen.

     ```
     kubectl get clusterrole pods-events-crd-cluster-role
     kubectl get clusterrolebinding pods-events-crd-cluster-role-binding
     ```

  1. Überprüfen Sie die Mitgliedschaft in der Benutzergruppe. Stellen Sie sicher, dass der Benutzer der `pods-events-crd-cluster-level` Gruppe in Ihrem Identitätsanbieter oder IAM korrekt zugewiesen ist.
+ Wenn der Benutzer keine Ressourcen sehen kann.
  + Überprüfen Sie die Gruppenmitgliedschaft und stellen Sie sicher, dass das `ClusterRoleBinding` korrekt angewendet wurde.
+ Wenn Benutzer Ressourcen in allen NameBereiche sehen können.
  + Wenn eine Namespace-Beschränkung erforderlich ist, sollten Sie `Role` und `RoleBinding` anstelle von `ClusterRole` und `ClusterRoleBinding` verwenden.
+ Wenn die Konfiguration korrekt erscheint, die Berechtigungen jedoch nicht angewendet werden.
  + Prüfen Sie, ob es irgendwelche gibt `NetworkPolicies` oder den Zugriff `PodSecurityPolicies` behindern.

## Registerkarte „Metriken“
<a name="sagemaker-hyperpod-studio-troubleshoot-metrics"></a>

Wenn keine CloudWatch Amazon-Metriken vorhanden sind, werden sie auf der Registerkarte **Metriken** angezeigt.
+ Der `Metrics` Abschnitt mit den HyperPod Cluster-Details wird CloudWatch zum Abrufen der Daten verwendet. Um die Metriken in diesem Abschnitt sehen zu können, müssen Sie aktiviert haben[Beobachtbarkeit von Clustern und Aufgaben](sagemaker-hyperpod-eks-cluster-observability-cluster.md). Wenden Sie sich an Ihren Administrator, um Metriken zu konfigurieren.

# SageMaker HyperPod Verweise
<a name="sagemaker-hyperpod-ref"></a>

Weitere Informationen und Referenzen zur Verwendung finden Sie SageMaker HyperPod in den folgenden Themen.

**Topics**
+ [SageMaker HyperPod Preisgestaltung](#sagemaker-hyperpod-ref-pricing)
+ [SageMaker HyperPod APIs](#sagemaker-hyperpod-ref-api)
+ [SageMaker HyperPod Slurm-Konfiguration](#sagemaker-hyperpod-ref-slurm-configuration)
+ [SageMaker HyperPod DLAMI](#sagemaker-hyperpod-ref-hyperpod-ami)
+ [SageMaker HyperPod Referenz zu API-Berechtigungen](#sagemaker-hyperpod-ref-api-permissions)
+ [SageMaker HyperPod Befehle in AWS CLI](#sagemaker-hyperpod-ref-cli)
+ [SageMaker HyperPod Python-Module in AWS SDK für Python (Boto3)](#sagemaker-hyperpod-ref-boto3)

## SageMaker HyperPod Preisgestaltung
<a name="sagemaker-hyperpod-ref-pricing"></a>

Die folgenden Themen enthalten Informationen zur SageMaker HyperPod Preisgestaltung. Weitere Informationen zum Preis pro Stunde für die Nutzung von SageMaker HyperPod Instances finden Sie auch unter [ SageMaker Amazon-Preise](https://aws.amazon.com/sagemaker/pricing/). 

**Kapazitätsanfragen**

Sie können mit SageMaker KI Rechenkapazität auf Abruf oder reservierte Rechenkapazität zur Nutzung auf SageMaker HyperPod zuweisen. Bei der On-Demand-Clustererstellung werden verfügbare Kapazitäten aus dem SageMaker KI-On-Demand-Kapazitätspool zugewiesen. Alternativ können Sie reservierte Kapazität anfordern, um den Zugriff sicherzustellen, indem Sie ein Ticket für eine Erhöhung des Kontingents einreichen. Eingehende Kapazitätsanfragen werden von SageMaker KI priorisiert und Sie erhalten eine geschätzte Zeit für die Kapazitätszuweisung.

**Service – Fakturierung**

Wenn Sie Rechenkapazität am bereitstellen SageMaker HyperPod, wird Ihnen die Dauer der Kapazitätszuweisung in Rechnung gestellt. SageMaker HyperPod Die Abrechnung erscheint in Ihren Jubiläumsrechnungen mit einer Zeile für die Art der Kapazitätszuweisung (auf Abruf, reserviert), den Instance-Typ und die für die Nutzung der Instance aufgewendete Zeit. 

Informationen zum Einreichen eines Tickets für eine Erhöhung des Kontingents finden Sie unter [SageMaker HyperPod Kontingente](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-quotas).

## SageMaker HyperPod APIs
<a name="sagemaker-hyperpod-ref-api"></a>

Die folgende Liste enthält eine vollständige Liste von Optionen SageMaker HyperPod APIs für die Einreichung von Aktionsanfragen im JSON-Format an SageMaker KI über AWS CLI oder AWS SDK für Python (Boto3).
+ [BatchDeleteClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BatchDeleteClusterNodes.html)
+ [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)
+ [DeleteCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteCluster.html)
+ [DescribeCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)
+ [DescribeClusterNode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeClusterNode.html)
+ [ListClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterNodes.html)
+ [ListClusters](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusters.html)
+ [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)
+ [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)

## SageMaker HyperPod Slurm-Konfiguration
<a name="sagemaker-hyperpod-ref-slurm-configuration"></a>

HyperPod unterstützt zwei Ansätze für die Konfiguration von Slurm auf Ihrem Cluster. Wählen Sie den Ansatz, der Ihren Bedürfnissen am besten entspricht.


|  |  |  | 
| --- |--- |--- |
| Ansatz | Beschreibung | Empfohlen für | 
| API-gesteuerte Konfiguration | Definieren Sie die Slurm-Konfiguration direkt in den CreateCluster und API-Anfragen UpdateCluster  | Neue Cluster; vereinfachtes Management | 
| Legacy-Konfiguration | Verwenden Sie eine separate provisioning\$1parameters.json Datei, die in Amazon S3 gespeichert ist | Bestehende Cluster; Abwärtskompatibilität | 

### API-gesteuerte Slurm-Konfiguration (empfohlen)
<a name="sagemaker-hyperpod-ref-slurm-api-driven"></a>

Bei der API-gesteuerten Konfiguration definieren Sie Slurm-Knotentypen, Partitionszuweisungen und Dateisystem-Mounts direkt in den und API-Anfragen. CreateCluster UpdateCluster Dieser Ansatz bietet:
+ **Zentrale Informationsquelle — Die** gesamte Konfiguration in der API-Anfrage
+ **Keine S3-Dateiverwaltung** — Sie müssen sie nicht erstellen oder verwalten `provisioning_parameters.json`
+ **Integrierte Validierung — Die** API validiert die Slurm-Topologie vor der Clustererstellung
+ **Drift-Erkennung — Erkennt** unbefugte Änderungen an `slurm.conf`
+ **Per-instance-group Speicher** — Konfigurieren Sie verschiedene FSx Dateisysteme für verschiedene Instanzgruppen
+ **FSx für OpenZFS-Unterstützung** — Mounten Sie zusätzlich zu Lustre auch OpenZFS-Dateisysteme FSx 

#### SlurmConfig (pro Instanzgruppe)
<a name="sagemaker-hyperpod-ref-slurm-config"></a>

Fügen Sie `SlurmConfig` jede Instanzgruppe hinzu, um den Slurm-Knotentyp und die Partitionszuweisung zu definieren.

```
"SlurmConfig": {
    "NodeType": "Controller | Login | Compute",
    "PartitionNames": ["string"]
}
```

**Parameter:**
+ `NodeType` – Erforderlich. Der Slurm-Knotentyp für diese Instanzgruppe. Zulässige Werte:
  + `Controller`— Slurm-Controller-Knoten (Kopf). Führt den `slurmctld` Daemon aus. Genau eine Instanzgruppe muss diesen Knotentyp haben.
  + `Login`— Login-Knoten für den Benutzerzugriff. Optional. Höchstens eine Instanzgruppe kann diesen Knotentyp haben.
  + `Compute`— Worker-Knoten, die Jobs ausführen. Kann mehrere Instanzgruppen mit diesem Knotentyp haben.
**Wichtig**  
`NodeType`ist unveränderlich. Sobald es bei der Clustererstellung festgelegt wurde, kann es nicht geändert werden. Um einen anderen Knotentyp zu verwenden, erstellen Sie eine neue Instanzgruppe.
+ `PartitionNames`— Befriedigend. Eine Reihe von Slurm-Partitionsnamen. Erforderlich für `Compute` Knotentypen; nicht zulässig für `Controller` `Login` Node-Typen. Unterstützt derzeit einen einzelnen Partitionsnamen pro Instanzgruppe.
**Anmerkung**  
Alle Knoten werden der universellen `dev` Partition zusätzlich zu ihrer angegebenen Partition automatisch hinzugefügt.

**Beispiel:**

```
{
    "InstanceGroupName": "gpu-compute",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 8,
    "SlurmConfig": {
        "NodeType": "Compute",
        "PartitionNames": ["gpu-training"]
    },
    "LifeCycleConfig": {
        "SourceS3Uri": "s3://sagemaker-bucket/lifecycle/src/",
        "OnCreate": "on_create.sh"
    },
    "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole"
}
```

#### Orchestrator.Slurm (Clusterebene)
<a name="sagemaker-hyperpod-ref-slurm-orchestrator"></a>

Fügen Sie der Cluster-Konfiguration hinzu`Orchestrator.Slurm`, um anzugeben, wie die Datei verwaltet wird. HyperPod `slurm.conf`

```
"Orchestrator": {
    "Slurm": {
        "SlurmConfigStrategy": "Managed | Overwrite | Merge"
    }
}
```

**Parameter:**
+ `SlurmConfigStrategy`— Erforderlich, `Orchestrator.Slurm` wenn angegeben. Steuert, wie die `slurm.conf` Datei auf dem Controller-Knoten HyperPod verwaltet wird. Zulässige Werte:
  + `Managed`(Standard) — Steuert HyperPod vollständig die Partitionsknoten-Zuordnungen in. `slurm.conf` Die Drift-Erkennung ist aktiviert: Wenn der aktuelle Wert von der erwarteten Konfiguration `slurm.conf` abweicht, UpdateCluster schlägt der Fehler fehl. Verwenden Sie diese Strategie, wenn Sie HyperPod die zentrale Informationsquelle für die Slurm-Konfiguration sein möchten.
  + `Overwrite`— HyperPod erzwingt die Anwendung der API-Konfiguration und überschreibt alle manuellen Änderungen an. `slurm.conf` Die Drifterkennung ist deaktiviert. Verwenden Sie diese Strategie, um die Drift zu beheben oder den Cluster auf einen bekannten Zustand zurückzusetzen.
  + `Merge`— HyperPod behält manuelle `slurm.conf` Änderungen bei und führt sie mit der API-Konfiguration zusammen. Die Drifterkennung ist deaktiviert. Verwenden Sie diese Strategie, wenn Sie manuelle Änderungen an der Slurm-Konfiguration vornehmen müssen, die auch nach Updates beibehalten werden sollen.

**Anmerkung**  
Wenn sie in der Anfrage weggelassen `Orchestrator.Slurm` wird, ist `Managed` das Standardverhalten Strategie.

**Tipp**  
Sie können `SlurmConfigStrategy` jederzeit Änderungen vornehmen mit UpdateCluster. Es gibt keine Bindung an eine bestimmte Strategie.

**Beispiel:**

```
{
    "ClusterName": "my-hyperpod-cluster",
    "InstanceGroups": [...],
    "Orchestrator": {
        "Slurm": {
            "SlurmConfigStrategy": "Managed"
        }
    }
}
```

#### SlurmConfigStrategy Vergleich
<a name="sagemaker-hyperpod-ref-slurm-strategy-comparison"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| Strategie | Erkennung von Driften | Manuelle Änderungen | Anwendungsfall | 
| Managed | Aktiviert — blockiert Updates, wenn eine Drift erkannt wird | Blocked | HyperPod verwaltet | 
| Overwrite | Disabled | Überschrieben | Wiederherstellung nach Drift; auf bekannten Zustand zurückgesetzt | 
| Merge | Disabled | Konserviert | Fortgeschrittene Benutzer mit individuellen slurm.conf Bedürfnissen | 

#### FSx Konfiguration über InstanceStorageConfigs
<a name="sagemaker-hyperpod-ref-slurm-fsx-config"></a>

Mit der API-gesteuerten Konfiguration können Sie FSx Dateisysteme pro Instanzgruppe mithilfe von konfigurieren. `InstanceStorageConfigs` Auf diese Weise können verschiedene Instanzgruppen unterschiedliche Dateisysteme mounten.

**Voraussetzungen:**
+ Ihr Cluster muss eine benutzerdefinierte VPC (via`VpcConfig`) verwenden. FSx Dateisysteme befinden sich in Ihrer VPC, und die plattformverwaltete VPC kann sie nicht erreichen.
+ Mindestens eine Instanzgruppe muss mit haben. `SlurmConfig` `NodeType: Controller`

##### FsxLustreConfig
<a name="sagemaker-hyperpod-ref-slurm-fsx-lustre"></a>

Konfigurieren Sie FSx das Lustre-Dateisystem-Mounten für eine Instanzgruppe.

```
"InstanceStorageConfigs": [
    {
        "FsxLustreConfig": {
            "DnsName": "string",
            "MountPath": "string",
            "MountName": "string"
        }
    }
]
```

**Parameter:**
+ `DnsName` – Erforderlich. Der DNS-Name des FSx for Lustre-Dateisystems. Beispiel: `fs-0abc123def456789.fsx.us-west-2.amazonaws.com`
+ `MountPath` – Optional. Der lokale Mountpfad auf der Instanz. Standard: `/fsx`
+ `MountName` – Erforderlich. Der Mount-Name des FSx for Lustre-Dateisystems. Sie finden dies in der FSx Amazon-Konsole oder indem Sie es ausführen`aws fsx describe-file-systems`.

##### FsxOpenZfsConfig
<a name="sagemaker-hyperpod-ref-slurm-fsx-openzfs"></a>

Konfigurieren Sie FSx das OpenZFS-Dateisystem-Mounten für eine Instance-Gruppe.

```
"InstanceStorageConfigs": [
    {
        "FsxOpenZfsConfig": {
            "DnsName": "string",
            "MountPath": "string"
        }
    }
]
```

**Parameter:**
+ `DnsName` – Erforderlich. Der DNS-Name des FSx für OpenZFS-Dateisystems. Beispiel: `fs-0xyz987654321.fsx.us-west-2.amazonaws.com`
+ `MountPath` – Optional. Der lokale Mount-Pfad auf der Instanz. Standard: `/home`

**Anmerkung**  
Jede Instanzgruppe kann höchstens eins `FsxLustreConfig` und eins haben`FsxOpenZfsConfig`.

**Beispiel mit mehreren Dateisystemen:**

```
{
    "InstanceGroupName": "gpu-compute",
    "InstanceType": "ml.p4d.24xlarge",
    "InstanceCount": 4,
    "SlurmConfig": {
        "NodeType": "Compute",
        "PartitionNames": ["gpu-training"]
    },
    "InstanceStorageConfigs": [
        {
            "FsxLustreConfig": {
                "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com",
                "MountPath": "/fsx",
                "MountName": "abcdefgh"
            }
        },
        {
            "FsxOpenZfsConfig": {
                "DnsName": "fs-0xyz987654321.fsx.us-west-2.amazonaws.com",
                "MountPath": "/shared"
            }
        },
        {
            "EbsVolumeConfig": {
                "VolumeSizeInGB": 500
            }
        }
    ],
    "LifeCycleConfig": {
        "SourceS3Uri": "s3://sagemaker-bucket/lifecycle/src/",
        "OnCreate": "on_create.sh"
    },
    "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole"
}
```

**Wichtig**  
FSx Konfigurationsänderungen gelten nur während der Knotenbereitstellung. Bestehende Knoten behalten ihre ursprüngliche FSx Konfiguration bei. Um eine neue FSx Konfiguration auf alle Knoten anzuwenden, reduzieren Sie die Instanzgruppe auf 0 und skalieren Sie dann wieder nach oben.

#### Vollständiges API-gesteuertes Konfigurationsbeispiel
<a name="sagemaker-hyperpod-ref-slurm-complete-example"></a>

Das folgende Beispiel zeigt eine vollständige CreateCluster Anfrage mit einer API-gesteuerten Slurm-Konfiguration:

```
{
    "ClusterName": "ml-training-cluster",
    "InstanceGroups": [
        {
            "InstanceGroupName": "controller",
            "InstanceType": "ml.c5.xlarge",
            "InstanceCount": 1,
            "SlurmConfig": {
                "NodeType": "Controller"
            },
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole",
            "ThreadsPerCore": 2
        },
        {
            "InstanceGroupName": "login",
            "InstanceType": "ml.m5.xlarge",
            "InstanceCount": 1,
            "SlurmConfig": {
                "NodeType": "Login"
            },
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole",
            "ThreadsPerCore": 2
        },
        {
            "InstanceGroupName": "gpu-compute",
            "InstanceType": "ml.p4d.24xlarge",
            "InstanceCount": 8,
            "SlurmConfig": {
                "NodeType": "Compute",
                "PartitionNames": ["gpu-training"]
            },
            "InstanceStorageConfigs": [
                {
                    "FsxLustreConfig": {
                        "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com",
                        "MountPath": "/fsx",
                        "MountName": "abcdefgh"
                    }
                }
            ],
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole",
            "ThreadsPerCore": 2,
            "OnStartDeepHealthChecks": ["InstanceStress", "InstanceConnectivity"]
        },
        {
            "InstanceGroupName": "cpu-compute",
            "InstanceType": "ml.c5.18xlarge",
            "InstanceCount": 4,
            "SlurmConfig": {
                "NodeType": "Compute",
                "PartitionNames": ["cpu-preprocessing"]
            },
            "InstanceStorageConfigs": [
                {
                    "FsxLustreConfig": {
                        "DnsName": "fs-0abc123def456789.fsx.us-west-2.amazonaws.com",
                        "MountPath": "/fsx",
                        "MountName": "abcdefgh"
                    }
                }
            ],
            "LifeCycleConfig": {
                "SourceS3Uri": "s3://sagemaker-us-west-2-111122223333/lifecycle/src/",
                "OnCreate": "on_create.sh"
            },
            "ExecutionRole": "arn:aws:iam::111122223333:role/HyperPodRole",
            "ThreadsPerCore": 2
        }
    ],
    "Orchestrator": {
        "Slurm": {
            "SlurmConfigStrategy": "Managed"
        }
    },
    "VpcConfig": {
        "SecurityGroupIds": ["sg-0abc123def456789a"],
        "Subnets": ["subnet-0abc123def456789a", "subnet-0abc123def456789b"]
    },
    "Tags": [
        {
            "Key": "Project",
            "Value": "ML-Training"
        }
    ]
}
```

Weitere Informationen zur Verwendung der API-gesteuerten Konfiguration finden Sie unter. [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)

### Legacy-Konfiguration: provisioning\$1parameters.json
<a name="sagemaker-hyperpod-ref-provisioning-forms"></a>

**Anmerkung**  
Der `provisioning_parameters.json` Ansatz ist die alte Methode zur Konfiguration von Slurm on. HyperPod Für neue Cluster empfehlen wir, den oben beschriebenen API-gesteuerten Konfigurationsansatz zu verwenden. Der ältere Ansatz wird aus Gründen der Abwärtskompatibilität weiterhin vollständig unterstützt.

Beim Legacy-Ansatz erstellen Sie eine Slurm-Konfigurationsdatei mit dem Namen `provisioning_parameters.json` und laden sie als Teil Ihrer Lifecycle-Skripte auf Amazon S3 hoch. HyperPod liest diese Datei während der Clustererstellung, um Slurm-Knoten zu konfigurieren.

#### Konfigurationsformular für provisioning\$1parameters.json
<a name="sagemaker-hyperpod-ref-provisioning-forms-slurm"></a>

Der folgende Code ist das Slurm-Konfigurationsformular, das Sie vorbereiten sollten, um Slurm-Knoten auf Ihrem Cluster ordnungsgemäß einzurichten. HyperPod Sie sollten dieses Formular ausfüllen und es während der Clustererstellung als Teil einer Reihe von Lebenszyklusskripten hochladen. Informationen darüber, wie dieses Formular während der HyperPod Clustererstellung vorbereitet werden sollte, finden Sie unter. [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)

```
// Save as provisioning_parameters.json.
{
    "version": "1.0.0",
    "workload_manager": "slurm",
    "controller_group": "string",
    "login_group": "string",
    "worker_groups": [
        {
            "instance_group_name": "string",
            "partition_name": "string"
        }
    ],
    "fsx_dns_name": "string",
    "fsx_mountname": "string"
}
```

**Parameter:**
+ `version` – Erforderlich. Dies ist die Version des Formulars für HyperPod Bereitstellungsparameter. Belassen Sie es auf `1.0.0`.
+ `workload_manager` – Erforderlich. Damit geben Sie an, welcher Workload-Manager auf dem HyperPod Cluster konfiguriert werden soll. Belassen Sie es auf `slurm`.
+ `controller_group` – Erforderlich. Dies dient zur Angabe des Namens der HyperPod Cluster-Instanzgruppe, die Sie dem Slurm-Controller-Knoten (Head) zuweisen möchten.
+ `login_group` – Optional. Dies dient zur Angabe des Namens der HyperPod Cluster-Instanzgruppe, die Sie dem Slurm-Login-Knoten zuweisen möchten.
+ `worker_groups` – Erforderlich. Dies dient zum Einrichten von Slurm-Worker-Knoten (Compute) auf dem HyperPod Cluster.
  + `instance_group_name` – Erforderlich. Dies dient zur Angabe des Namens der HyperPod Instanzgruppe, die Sie dem Slurm-Worker-Knoten (Compute) zuweisen möchten.
  + `partition_name` – Erforderlich. Dies dient zur Angabe des Partitionsnamens für den Knoten.
+ `fsx_dns_name` – Optional. Wenn Sie Ihre Slurm-Knoten auf dem HyperPod Cluster für die Kommunikation mit Amazon einrichten möchten FSx, geben Sie den FSx DNS-Namen an.
+ `fsx_mountname` – Optional. Wenn Sie Ihre Slurm-Knoten auf dem HyperPod Cluster für die Kommunikation mit Amazon einrichten möchten FSx, geben Sie den FSx Mount-Namen an.

### Vergleich: API-gesteuerte Konfiguration im Vergleich zu älteren Konfigurationen
<a name="sagemaker-hyperpod-ref-slurm-comparison"></a>


|  |  |  | 
| --- |--- |--- |
| Merkmal | API-gesteuert (empfohlen) | Legacy (provisioning\$1parameters.json) | 
| Speicherort der Konfiguration | CreateCluster API-Anfrage | S3-Datei | 
| FSx für Lustre | Ja — Pro Instanzgruppe | Ja — Nur clusterweit | 
| FSx für OpenZFS | Ja — Pro Instanzgruppe | Nein — Nicht unterstützt | 
| Integrierte Validierung | Ja | Nein | 
| Erkennung von Abweichungen | Ja — (Verwaltete Strategie) | Nein | 
| S3-Dateiverwaltung | Nicht erforderlich | Erforderlich | 
| Komplexität des Lebenszyklus-Skri | Vereinfacht | Vollständiges SLURM-Setup erforderlich | 

## SageMaker HyperPod DLAMI
<a name="sagemaker-hyperpod-ref-hyperpod-ami"></a>

SageMaker HyperPod führt ein DLAMI aus, das auf Folgendem basiert:
+ [AWS Deep Learning Base GPU AMI (Ubuntu 20.04)](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-20-04/) für die Orchestrierung mit Slurm.
+ Auf Amazon Linux 2 basierendes AMI für die Orchestrierung mit Amazon EKS.

Das SageMaker HyperPod DLAMI wird mit zusätzlichen Paketen zur Unterstützung von Open-Source-Tools wie Slurm, Kubernetes, Abhängigkeiten und SageMaker HyperPod Cluster-Softwarepaketen zur Unterstützung von Resilienzfunktionen wie Cluster-Integritätsprüfung und Auto-Resume gebündelt. Weitere Informationen zu HyperPod Softwareupdates, über die das Serviceteam verteilt, finden Sie unter. HyperPod DLAMIs [SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md)

## SageMaker HyperPod Referenz zu API-Berechtigungen
<a name="sagemaker-hyperpod-ref-api-permissions"></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.

Wenn Sie die Zugriffskontrolle für die Ausführung von SageMaker HyperPod API-Vorgängen einrichten und eine Berechtigungsrichtlinie schreiben, die Sie IAM-Benutzern für Cloud-Administratoren zuordnen können, verwenden Sie die folgende Tabelle als Referenz.


|  |  |  | 
| --- |--- |--- |
|  SageMaker Amazon-API-Operationen | Erforderliche Berechtigungen (API-Aktionen) | Ressourcen | 
| CreateCluster | sagemaker:CreateCluster | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| DeleteCluster | sagemaker:DeleteCluster | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| DescribeCluster | sagemaker:DescribeCluster | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| DescribeClusterNode | sagemaker:DescribeClusterNode | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| ListClusterNodes | sagemaker:ListClusterNodes | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| ListClusters | sagemaker:ListClusters | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| UpdateCluster | sagemaker:UpdateCluster | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 
| UpdateClusterSoftware | sagemaker:UpdateClusterSoftware | arn:aws:sagemaker:region:account-id:cluster/cluster-id | 

Eine vollständige Liste der Berechtigungen und Ressourcentypen für SageMaker APIs finden Sie unter [Aktionen, Ressourcen und Bedingungsschlüssel für Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html) in der *AWS Service Authorization Reference*.

## SageMaker HyperPod Befehle in AWS CLI
<a name="sagemaker-hyperpod-ref-cli"></a>

Im Folgenden finden Sie die AWS CLI Befehle SageMaker HyperPod zum Ausführen der wichtigsten [HyperPod API-Operationen](#sagemaker-hyperpod-ref-api).
+ [batch-delete-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/batch-delete-cluster-nodes.html)
+ [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html)
+ [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-cluster.html)
+ [describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster.html)
+ [describe-cluster-node](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-cluster-node.html)
+ [list-cluster-nodes](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-cluster-nodes.html)
+ [list-clusters](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-clusters.html)
+ [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html)
+ [update-cluster-software](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster-software.html)

## SageMaker HyperPod Python-Module in AWS SDK für Python (Boto3)
<a name="sagemaker-hyperpod-ref-boto3"></a>

Im Folgenden sind die Methoden des AWS SDK für Python (Boto3) Clients für SageMaker KI zum Ausführen der wichtigsten [HyperPod API-Operationen aufgeführt](#sagemaker-hyperpod-ref-api).
+ [batch\$1delete\$1cluster\$1nodes](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/batch_delete_cluster_nodes.html#)
+ [Cluster erstellen](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_cluster.html)
+ [Cluster löschen](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/delete_cluster.html)
+ [cluster beschreiben](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/describe_cluster.html)
+ [cluster\$1node beschreiben](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/describe_cluster_node.html)
+ [cluster\$1nodes auflisten](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/list_cluster_nodes.html)
+ [cluster\$1auflisten](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/list_clusters.html)
+ [Cluster aktualisieren](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_cluster.html)
+ [Cluster-Software aktualisieren](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_cluster_software.html)

# SageMaker HyperPod Versionshinweise von Amazon
<a name="sagemaker-hyperpod-release-notes"></a>

Dieses Thema behandelt Versionshinweise, in denen Updates, Korrekturen und neue Funktionen für Amazon nachverfolgt SageMaker HyperPod werden. Wenn Sie nach allgemeinen Feature-Releases, Updates und Verbesserungen für Amazon suchen SageMaker HyperPod, könnte diese Seite hilfreich sein.

Die HyperPod AMI-Versionen werden separat dokumentiert und enthalten Informationen zu den wichtigsten Komponenten, einschließlich allgemeiner AMI-Versionen, Versionen und Abhängigkeiten. Informationen zu HyperPod AMI-Versionen finden Sie unter[SageMaker HyperPod Amazon-AMI](sagemaker-hyperpod-release-ami.md).

## SageMaker HyperPod Versionshinweise: 25. Januar 2026
<a name="sagemaker-hyperpod-release-notes-20260125"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Das neue SageMaker HyperPod AMI für Amazon EKS 1.34 wurde veröffentlicht. Weitere Informationen finden Sie unter [SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 25. Januar 2026](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20260125).

Weitere Informationen finden Sie unter [Kubernetes](https://kubernetes.io/blog/2025/08/27/kubernetes-v1-34-release/) v1.34.

## SageMaker HyperPod Versionshinweise: 07. November 2025
<a name="sagemaker-hyperpod-release-notes-20251107"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Aktualisierte Sicherheitspatches[SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 07. November 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20251107).

## SageMaker HyperPod Versionshinweise: 29. September 2025
<a name="sagemaker-hyperpod-release-notes-20250929"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Das neue SageMaker HyperPod AMI für Amazon EKS 1.33 wurde veröffentlicht. Weitere Informationen finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 29. September 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250929).
**Wichtig**  
Die Beta-Kubernetes-API für dynamische Ressourcenzuweisung ist in dieser Version standardmäßig aktiviert.  
Diese API verbessert die Planung und Überwachung von Workloads, die Ressourcen erfordern, wie z. GPUs
Diese API wurde von der Open-Source-Kubernetes-Community entwickelt und könnte sich in future Versionen von Kubernetes ändern. Bevor Sie die API verwenden, sollten Sie die [Kubernetes-Dokumentation lesen und sich darüber informieren](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/), wie sie sich auf Ihre Workloads auswirkt.
HyperPod veröffentlicht kein HyperPod Amazon Linux 2-AMI für Kubernetes 1.33. AWS empfiehlt, dass Sie zu migrieren. AL2023 Weitere Informationen finden Sie unter [Upgrade von Amazon Linux 2 auf AL2023](https://docs.aws.amazon.com/eks/latest/userguide/al2023.html).

Weitere Informationen finden Sie unter [Kubernetes v1.33](https://kubernetes.io/blog/2025/04/23/kubernetes-v1-33-release/).

## SageMaker HyperPod Versionshinweise: 4. August 2025
<a name="sagemaker-hyperpod-release-notes-20250804"></a>

SageMaker HyperPod veröffentlicht neues Publikum AMIs für EKS-Orchestrierung. Public AMIs kann eigenständig verwendet werden, oder sie können verwendet werden, um benutzerdefinierte AMIs zu erstellen. Weitere Informationen zur Öffentlichkeit finden Sie AMIs unter[Öffentliche AMI-Veröffentlichungen](sagemaker-hyperpod-release-public-ami.md). Weitere Informationen zum Erstellen einer benutzerdefinierten AMI finden Sie unter [Benutzerdefinierte Amazon Machine Images (AMIs) für SageMaker HyperPod Cluster](hyperpod-custom-ami-support.md). 

## SageMaker HyperPod Versionshinweise: 31. Juli 2025
<a name="sagemaker-hyperpod-release-notes-20250731"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Es wurde ein neues AMI veröffentlicht, das das Betriebssystem von Amazon Linux 2 auf Amazon Linux 2023 für EKS-Cluster aktualisiert. Zu den wichtigsten Upgrades gehören der Linux-Kernel 6.1, Python 3.10, der NVIDIA-Treiber 560.35.03 und der DNF-Paketmanager, der YUM ersetzt.
**Wichtig**  
Das Update von Amazon Linux 2 auf AL2023 führt wichtige Änderungen ein, die sich auf die Kompatibilität mit Software und Konfigurationen auswirken können, die dafür entwickelt wurden AL2. Wir empfehlen dringend, Ihre Anwendungen mit zu testen, AL2023 bevor Sie Ihre Cluster vollständig aktualisieren.

  Weitere Informationen über das neue AMI und wie Sie Ihre Cluster aktualisieren, finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 31. Juli 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250731).

## SageMaker HyperPod Versionshinweise: 13. Mai 2025
<a name="sagemaker-hyperpod-release-notes-20250513"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features und Verbesserungen**
+ Es wurde ein aktualisiertes AMI veröffentlicht, das Ubuntu 22.04 LTS für Slurm-Cluster unterstützt. Diese Version umfasst mehrere System- und Softwarekomponenten-Upgrades, um eine verbesserte Leistung, aktualisierte Funktionen und mehr Sicherheit zu bieten.
**Wichtig**  
Das Update von Ubuntu 20.04 LTS auf Ubuntu 22.04 LTS führt zu Änderungen, die sich auf die Kompatibilität mit Software und Konfigurationen auswirken können, die für Ubuntu 20.04 entwickelt wurden.

   Weitere Informationen finden Sie unter:
  + [Wichtige Aktualisierungen im Ubuntu 22.04 AMI](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-ami-slurm-ubuntu22-updates)
  + [Upgrade auf das Ubuntu 22.04 AMI](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-ami-slurm-ubuntu22-upgrade)
  + [Beheben von Upgrade-Fehlern](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-ami-slurm-ubuntu22-troubleshoot)

## SageMaker HyperPod Versionshinweise: 1. Mai 2025
<a name="sagemaker-hyperpod-release-notes-20250501"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Es wurden Nutzungsberichte für EKS-orchestrierte Cluster hinzugefügt, sodass Unternehmen eine transparente, nutzungsbasierte Kostenverteilung zwischen Teams, Projekten oder Abteilungen implementieren können. Diese Funktion ergänzt die [Task-Governance-Funktionalität](sagemaker-hyperpod-eks-operate-console-ui-governance.md) und sorgt HyperPod so für eine faire Kostenverteilung in gemeinsam genutzten Umgebungen mit mehreren Mandanten AI/ML . Weitere Informationen finden Sie unter [Berichterstattung über die Computenutzung](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-usage-reporting.html) in. HyperPod

## SageMaker HyperPod Versionshinweise: 28. April 2025
<a name="sagemaker-hyperpod-release-notes-20250428"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Der NVIDIA-Treiber wurde von Version 550.144.03 auf 550.163.01 aktualisiert. Mit diesem Upgrade sollen häufig auftretende Sicherheitslücken und Sicherheitslücken (CVEs) behoben werden, die im [NVIDIA GPU Display Security Bulletin vom April](https://nvidia.custhelp.com/app/answers/detail/a_id/5630) 2025 enthalten sind.

Informationen zu verwandten AMI-Versionen finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 28. April 2025](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20250428) und [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 28. April 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250428).

## SageMaker HyperPod Versionshinweise: 18. April 2025
<a name="sagemaker-hyperpod-release-notes-20250418"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Neues SageMaker HyperPod AMI für Amazon EKS 1.32.1 veröffentlicht. Weitere Informationen finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 18. April 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250418).

## SageMaker HyperPod Versionshinweise: 10. April 2025
<a name="sagemaker-hyperpod-release-notes-20250410"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features und Verbesserungen**
+ Es wurde ein Rezept-Tutorial für Direct Preference Optimization (DPO) für die SageMaker HyperPod Slurm-Orchestrierung hinzugefügt. Dieses Tutorial zur Feinabstimmung bietet step-by-step Anleitungen zur Optimierung der Modellausrichtung mithilfe der DPO-Methode auf GPU-betriebenen Slurm-Clustern. SageMaker HyperPod Weitere Informationen finden Sie unter [HyperPod Tutorial zum Slurm-Cluster DPO (GPU)](hyperpod-gpu-slurm-dpo-tutorial.md).

## SageMaker HyperPod Versionshinweise: 03. April 2025
<a name="sagemaker-hyperpod-release-notes-20250403"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Es wurde eine [Schnellstart-Seite](sagemaker-hyperpod-quickstart.md) für die Bereitstellung von SageMaker HyperPod Clustern hinzugefügt. Die Seite nutzt optimierte Einrichtungs-Workflows aus den spezialisierten Workshops und automatisiert SageMaker HyperPod die Bereitstellung mithilfe vorgefertigter Vorlagen. AWS CloudFormation Es unterstützt Infrastruktureinstellungen wie Slurm oder Amazon EKS für eine einfache Konfiguration und Bereitstellung von Basisclustern.
+ SageMaker HyperPod unterstützt jetzt die folgenden Instance-Typen für Slurm- und Amazon EKS-Cluster.
  + Neue Instance-Typen: i3EN-, M7i-, R7i-Instances. Die vollständige Liste der unterstützten Instances finden Sie in dem Feld `InstanceType` in der `[ClusterInstanceGroupDetails](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupDetails.html)`.

## SageMaker HyperPod Versionshinweise: 16. März 2025
<a name="sagemaker-hyperpod-release-notes-20250316"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Die folgenden IAM-Bedingungsschlüssel wurden für eine detailliertere Zugriffskontrolle in den und API-Operationen [https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateCluster.html) und [https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateCluster.html).    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html)

## SageMaker HyperPod Versionshinweise: 20. Februar 2025
<a name="sagemaker-hyperpod-release-notes-20250220"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Unterstützung für das Löschen von Instanzgruppen aus Ihrem SageMaker HyperPod Cluster hinzugefügt. Weitere Informationen finden Sie unter [Instance-Gruppen löschen](smcluster-scale-down.md#smcluster-remove-instancegroup) aus EKS-orchestrierten Clustern und [Herunterskalieren eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-scale-down) unter SLURM-orchestrierten Clustern. 

## SageMaker HyperPod Versionshinweise: 18. Februar 2025
<a name="sagemaker-hyperpod-release-notes-20250218"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features**
+ Diese Version von SageMaker HyperPod enthält ein Sicherheitsupdate aus dem Nvidia-Container-Toolkit (von Version 1.17.3 auf Version 1.17.4). Weitere Informationen finden Sie unter [v1.17.4 Versionshinweis](https://github.com/NVIDIA/nvidia-container-toolkit/releases/tag/v1.17.4). 
**Anmerkung**  
Für alle Container-Workloads im Nvidia-Container-Toolkit Version 1.17.4 ist das Mounten von CUDA-Kompatibilitätsbibliotheken jetzt deaktiviert. Um die Kompatibilität mit mehreren CUDA-Versionen in Container-Workflows sicherzustellen, aktualisieren Sie Ihr System so, dass es Ihre CUDA-Kompatibilitätsbibliotheken `LD_LIBRARY_PATH` einbezieht. Die spezifischen Schritte finden Sie unter [Wenn Sie eine CUDA-Kompatibilitätsebene verwenden](inference-gpu-drivers.md#collapsible-cuda-compat).

Informationen zu verwandten AMI-Versionen finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 18. Februar 2025](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20250218) und [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 18. Februar 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250218).

## SageMaker HyperPod Versionshinweise: 06. Februar 2025
<a name="sagemaker-hyperpod-release-notes-20250206"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md) und[Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).

**Neue Features und Verbesserungen**
+ Verbesserte SageMaker HyperPod Multi-AZ-Unterstützung: Sie können für einzelne Instanzgruppen innerhalb Ihres Clusters verschiedene Subnetze und Sicherheitsgruppen angeben, die sich über verschiedene Availability Zones erstrecken. Weitere Informationen zur SageMaker HyperPod Multi-AZ-Unterstützung finden Sie unter. [Einrichtung von Clustern über mehrere SageMaker HyperPod AZs](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-multiple-availability-zones)

## SageMaker HyperPod Versionshinweise: 22. Januar 2025
<a name="sagemaker-hyperpod-release-notes-20250122"></a>

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 22. Januar 2025](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20250122)

## SageMaker HyperPod Versionshinweise: 09. Januar 2025
<a name="sagemaker-hyperpod-release-notes-20250109"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features und Verbesserungen**
+  IPv6 Unterstützung hinzugefügt: Cluster können IPv6 Adressierung verwenden, wenn sie mit IPv6 -aktivierter VPC und Subnetzen konfiguriert sind. Weitere Informationen finden Sie unter [Einrichtung SageMaker HyperPod mit einer benutzerdefinierten Amazon VPC](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc).

## SageMaker HyperPod Versionshinweise: 21. Dezember 2024
<a name="sagemaker-hyperpod-release-notes-20241221"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ SageMaker HyperPod unterstützt jetzt die folgenden Instance-Typen für Slurm- und Amazon EKS-Cluster.
  + Neue Instance-Typen: C6GN, C6i, M6i, R6i.
  + Neue Trainium-Instance-Typen: Trn1 und Trn1n.

**Verbesserungen**
+ Verbesserte Sichtbarkeit der Fehlerprotokollierung, wenn Slurm Jobs unterbricht, und ein unnötiges Abbrechen von Jobschritten bei durch Slurm initiierten Job-Stornierungen wurde verhindert.
+ Das Basis-DLAMI für p5en wurde für Slurm- und Amazon EKS-Cluster aktualisiert.

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 21. Dezember 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20241221)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 21. Dezember 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241221)

## SageMaker HyperPod Versionshinweise: 13. Dezember 2024
<a name="sagemaker-hyperpod-release-notes-20241213"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neues Feature**
+ SageMaker HyperPod veröffentlicht eine Reihe von CloudWatch Amazon-Metriken zur Überwachung des Zustands und der Leistung von SageMaker HyperPod Slurm-Clustern. Diese Metriken beziehen sich auf CPU-, GPU-, Speicherauslastung und Cluster-Instance-Informationen wie Knotenanzahl und ausgefallene Knoten. Diese Überwachungsfunktion ist standardmäßig aktiviert, und auf die Metriken kann unter dem `/aws/sagemaker/Clusters` CloudWatch Namespace zugegriffen werden. Sie können auch CloudWatch Alarme einrichten, die auf diesen Metriken basieren, um potenzielle Probleme in ihren HyperPod SLURM-basierten Clustern proaktiv zu erkennen und zu beheben. Weitere Informationen finden Sie unter [Amazon SageMaker HyperPod Slurm-Metriken](smcluster-slurm-metrics.md).

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 13. Dezember 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241213)

## SageMaker HyperPod Versionshinweise: 24. November 2024
<a name="sagemaker-hyperpod-release-notes-20241124"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Unterstützung für die Konfiguration von SageMaker HyperPod Clustern in mehreren Availability Zones wurde hinzugefügt. Weitere Informationen zur SageMaker HyperPod Multi-AZ-Unterstützung finden Sie unter[Einrichtung von Clustern über mehrere SageMaker HyperPod AZs](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-multiple-availability-zones).

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 24. November 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20241124)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 24. November 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241124)

## SageMaker HyperPod Versionshinweise: 15. November 2024
<a name="sagemaker-hyperpod-release-notes-20241115"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md). Weitere Informationen finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 15. November 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241115).

**Neue Features und Verbesserungen**
+ Unterstützung für die Instance-Typen trn1 und trn1n für von Amazon EKS und Slurm orchestrierte Cluster hinzugefügt.
+ Verbessertes Protokollmanagement für Slurm-Cluster:
  +  Implementierte Protokollrotation: wöchentlich oder täglich, je nach Größe.
  +  Stellen Sie die Protokollaufbewahrung auf 3 Wochen ein.
  +  Komprimierte Protokolle, um die Speicherbelastung zu reduzieren.
  +  Fortsetzung des Hochladens von Protokollen CloudWatch zur langfristigen Aufbewahrung.
**Anmerkung**  
Einige Protokolle werden immer noch in Syslogs gespeichert.
+ Die Fluent Bit-Einstellungen wurden angepasst, um Probleme mit der Nachverfolgung von Dateien mit langen Zeilen zu verhindern.

**Fehlerbehebungen**
+ Durch Aktualisierungen des Slurm-Controller-Knotens in der Konfigurationsdatei `slurm.config` wurde eine unbeabsichtigte Kürzung verhindert.

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 15. November 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20241115)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 15. November 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241115)

## SageMaker HyperPod Versionshinweise: 11. November 2024
<a name="sagemaker-hyperpod-release-notes-20241111"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md). 

**Neues Feature**
+ SageMaker HyperPod AMI unterstützt jetzt G6e-Instance-Typen.

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 11. November 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20241111)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 11. November 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241111)

## SageMaker HyperPod Versionshinweise: 31. Oktober 2024
<a name="sagemaker-hyperpod-release-notes-20241031"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Es wurde eine Herunterskalierung von SageMaker HyperPod Clustern auf Instanzgruppen- und Instanzebene für von Amazon EKS und Slurm orchestrierte Cluster hinzugefügt. Weitere Informationen zum Herunterskalieren von Amazon-EKS-Clustern finden Sie unter [Einen SageMaker HyperPod Cluster herunterskalieren](smcluster-scale-down.md). Weitere Informationen zum Herunterskalieren von Slurm-Clustern finden Sie unter *Herunterskalieren eines Clusters* in [Verwaltung von SageMaker HyperPod Slurm-Clustern mit dem AWS CLI](sagemaker-hyperpod-operate-slurm-cli-command.md).
+ SageMaker HyperPod unterstützt jetzt den Instance-Typ P5e sowohl für Amazon EKS- als auch für Slurm-orchestrierte Cluster. 

## SageMaker HyperPod Versionshinweise: 21. Oktober 2024
<a name="sagemaker-hyperpod-release-notes-20241021"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neues Feature**
+ SageMaker HyperPod unterstützt jetzt die Instance-Typen P5e [n], G6, Gr6 und Trn2 [n] für Slurm- und Amazon EKS-Cluster.

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 21. Oktober 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20241021)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 21. Oktober 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20241021)

## SageMaker HyperPod Versionshinweise: 10. September 2024
<a name="sagemaker-hyperpod-release-notes-20240910"></a>

SageMaker HyperPod veröffentlicht Folgendes für [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md) und[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Amazon EKS-Unterstützung wurde hinzugefügt in SageMaker HyperPod. Weitere Informationen hierzu finden Sie unter [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md).
+ Unterstützung für die Verwaltung von SageMaker HyperPod Clustern über CloudFormation und Terraform hinzugefügt. Weitere Informationen zur Verwaltung von HyperPod Clustern über CloudFormation finden Sie in der [CloudFormation Dokumentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html) für. `AWS::SageMaker::Cluster` Weitere Informationen zur Verwaltung von HyperPod Clustern über Terraform finden Sie in der [Terraform-Dokumentation](https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/data-sources/sagemaker_cluster) für. `awscc_sagemaker_cluster`

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 10. September 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20240910)
+ [SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 10. September 2024](sagemaker-hyperpod-release-ami-eks.md#sagemaker-hyperpod-release-ami-eks-20240910)

## SageMaker HyperPod Versionshinweise: 20. August 2024
<a name="sagemaker-hyperpod-release-notes-20240820"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Die [Funktion zur SageMaker HyperPod automatischen Wiederaufnahme](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm.html#sagemaker-hyperpod-resiliency-slurm-auto-resume) wurde verbessert und die Resilienzfähigkeit für Slurm-Knoten erweitert, die mit Generic RESources (GRES) verbunden sind.

  Wenn [Generic Resources (GRES)](https://slurm.schedmd.com/gres.html) an einen Slurm-Knoten angefügt sind, lässt Slurm in der Regel keine Änderungen an der Knotenzuweisung zu, wie z. B. das Ersetzen von Knoten, und erlaubt daher auch nicht die Wiederaufnahme eines fehlgeschlagenen Jobs. Sofern nicht ausdrücklich verboten, setzt die Funktion zur HyperPod automatischen Wiederaufnahme automatisch alle fehlerhaften Jobs, die mit den GRES-fähigen Knoten verknüpft sind, erneut in die Warteschlange. Dieser Vorgang umfasst das Anhalten des Jobs, das Zurücksetzen in die Job-Warteschlange und das anschließende Neustarten des Jobs von Anfang an.

Weitere Änderungen
+ Im SageMaker HyperPod AMI [https://slurm.schedmd.com/slurmrestd.html](https://slurm.schedmd.com/slurmrestd.html)vorverpackt.
+ Die Standardwerte für `ResumeTimeout` und `UnkillableStepTimeout` von 60 Sekunden auf 300 Sekunden wurden geändert, um die Reaktionsfähigkeit des Systems und die `slurm.conf` Auftragsabwicklung zu verbessern.
+ Bei den Integritätsprüfungen für NVIDIA Data Center GPU Manager (DCGM) und das NVIDIA System Management Interface (nvidia-smi) wurden geringfügige Verbesserungen vorgenommen.

**Fehlerbehebungen**
+ Das HyperPod Auto-Resume-Plug-in kann inaktive Knoten verwenden, um einen Job wieder aufzunehmen.

## SageMaker HyperPod Versionshinweise: 20. Juni 2024
<a name="sagemaker-hyperpod-release-notes-20240620"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Es wurde eine neue Funktion hinzugefügt, um zusätzlichen Speicher an SageMaker HyperPod Clusterinstanzen anzuhängen. Mit dieser Funktion können Sie zusätzlichen Speicher auf der Konfigurationsebene der Instanzgruppe während der Clustererstellungs- oder Aktualisierungsprozesse konfigurieren, entweder über die SageMaker HyperPod Konsole oder über [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)und [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) APIs. Das zusätzliche EBS-Volume wird an jede Instance innerhalb eines SageMaker HyperPod Clusters angehängt und dort bereitgestellt. `/opt/sagemaker` Weitere Informationen zur Implementierung in Ihrem SageMaker HyperPod Cluster finden Sie in der aktualisierten Dokumentation auf den folgenden Seiten.
  + [Erste Schritte mit SageMaker HyperPod](smcluster-getting-started-slurm.md)
  + [SageMaker HyperPod Slurm-Clusteroperationen](sagemaker-hyperpod-operate-slurm.md)

  Beachten Sie, dass Sie die HyperPod Clustersoftware aktualisieren müssen, um diese Funktion nutzen zu können. Nach dem Patchen der HyperPod Clustersoftware können Sie diese Funktion für bestehende SageMaker HyperPod Cluster nutzen, die vor dem 20. Juni 2024 erstellt wurden, indem Sie neue Instanzgruppen hinzufügen. Diese Funktion ist für alle SageMaker HyperPod Cluster, die nach dem 20. Juni 2024 erstellt wurden, voll wirksam.

**Schritte zum Upgrade**
+ Führen Sie den folgenden Befehl aus, um die [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API aufzurufen und Ihre vorhandenen HyperPod Cluster mit dem neuesten HyperPod DLAMI zu aktualisieren. Weitere Anweisungen finden Sie unter [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software). 
**Wichtig**  
Sichern Sie Ihre Arbeit, bevor Sie diese API ausführen. Der Patching-Prozess ersetzt das Root-Volume durch das aktualisierte AMI, was bedeutet, dass Ihre zuvor im Root-Volume der Instance gespeicherten Daten verloren gehen. Stellen Sie sicher, dass Sie Ihre Daten vom Instance-Root-Volume auf Amazon S3 oder Amazon FSx for Lustre sichern. Weitere Informationen finden Sie unter [Verwenden Sie das Backup-Skript von SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).

  ```
   aws sagemaker update-cluster-software --cluster-name your-cluster-name
  ```
**Anmerkung**  
Beachten Sie, dass Sie den AWS CLI Befehl ausführen sollten, um Ihren HyperPod Cluster zu aktualisieren. Das Aktualisieren der HyperPod Software über die Benutzeroberfläche der SageMaker HyperPod Konsole ist derzeit nicht verfügbar.

## SageMaker HyperPod Versionshinweise: 24. April 2024
<a name="sagemaker-hyperpod-release-notes-20240424"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Fehlerbehebungen**
+ Ein Fehler mit dem `ThreadsPerCore`-Parameter in der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html)-API wurde behoben. Mit dem Fix werden die Benutzereingaben von [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)und [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) APIs korrekt verarbeitet und angewendet`ThreadsPerCore`. Dieser Fix ist für HyperPod Cluster wirksam, die nach dem 24. April 2024 erstellt wurden. Wenn Sie Probleme mit diesem Bug hatten und möchten, dass dieser Fix auf Ihren Cluster angewendet wird, müssen Sie einen neuen Cluster erstellen. Stellen Sie sicher, dass Sie Ihre Arbeit sichern und wiederherstellen, während Sie zu einem neuen Cluster wechseln. Folgen Sie dabei den Anweisungen unter [Verwenden Sie das Backup-Skript von SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).

## SageMaker HyperPod Versionshinweise: 27. März 2024
<a name="sagemaker-hyperpod-release-notes-20240327"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**HyperPod Software-Patch**

Das HyperPod Serviceteam verteilt Softwarepatches über[SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami). Sehen Sie sich die folgenden Details zum neuesten HyperPod DLAMI an.
+ In dieser Version von HyperPod DLAMI wurde Slurm mit REST service (`slurmestd`) mit JSON-, YAML- und JWT-Unterstützung erstellt.
+ [Slurm wurde auf v23.11.3 aktualisiert.](https://slurm.schedmd.com/documentation.html)

**Verbesserungen**
+ Das Timeout für die automatische Wiederaufnahme des Dienstes wurde auf 60 Minuten erhöht.
+ Der Prozess zum Ersetzen von Instances wurde verbessert, sodass der Slurm-Controller nicht neu gestartet wird.
+ Verbesserte Fehlermeldungen beim Ausführen von Lebenszyklusskripten, wie z. B. Download-Fehler und Fehler bei der Zustandsprüfung der Instance beim Start der Instance.

**Fehlerbehebungen**
+ Es wurde ein Fehler mit dem Chrony-Service behoben, der ein Problem mit der Zeitsynchronisierung verursachte.
+ Ein Fehler beim `slurm.conf` Parsen wurde behoben.
+ Ein Problem mit der [`go-dcgm`NVIDIA-Bibliothek](https://github.com/NVIDIA/go-dcgm) wurde behoben.

## SageMaker HyperPod Versionshinweise: 14. März 2024
<a name="sagemaker-hyperpod-release-notes-20240314"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Verbesserungen**
+ HyperPod unterstützt jetzt korrekt die Übergabe von Partitionsnamen, die über bereitgestellt wurden, `provisioning_parameters.json` und erstellt Partitionen entsprechend auf der Grundlage der bereitgestellten Eingaben. Weitere Informationen zu `provisioning_parameters.json` finden Sie unter [Legacy-Konfiguration: provisioning\$1parameters.json](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-provisioning-forms) und [Anpassen von SageMaker HyperPod Clustern mithilfe von Lifecycle-Skripten](sagemaker-hyperpod-lifecycle-best-practices-slurm.md).

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 14. März 2024](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20240314)

## SageMaker HyperPod Versionshinweise: 15. Februar 2024
<a name="sagemaker-hyperpod-release-notes-20240215"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Eine neue `UpdateClusterSoftware` API für SageMaker HyperPod Sicherheitspatches wurde hinzugefügt. Wenn Sicherheitspatches verfügbar werden, empfehlen wir Ihnen, vorhandene SageMaker HyperPod Cluster in Ihrem Konto zu aktualisieren, indem Sie Folgendes ausführen`aws sagemaker update-cluster-software --cluster-name your-cluster-name`. Um über future Sicherheitspatches auf dem Laufenden zu bleiben, sollten Sie diese Seite mit den SageMaker HyperPod Versionshinweisen von Amazon weiter verfolgen. Um zu erfahren, wie die `UpdateClusterSoftware`-API funktioniert, siehe [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software).

## SageMaker HyperPod Versionshinweise: 29. November 2023
<a name="sagemaker-hyperpod-release-notes-20231129"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit Slurm](sagemaker-hyperpod-slurm.md).

**Neue Features**
+ Amazon wurde SageMaker HyperPod auf der AWS re:Invent 2023 vorgestellt.

**AMI-Veröffentlichungen**
+ [SageMaker HyperPod AMI-Veröffentlichung für Slurm: 29. November 2023](sagemaker-hyperpod-release-ami-slurm.md#sagemaker-hyperpod-release-ami-slurm-20231129)

# SageMaker HyperPod Amazon-AMI
<a name="sagemaker-hyperpod-release-ami"></a>

Amazon SageMaker HyperPod Amazon Machine Images (AMIs) sind spezialisierte Maschinenimages für verteilte Workloads für maschinelles Lernen und Hochleistungsrechnen. Diese AMIs erweitern die Basis-Images um wichtige Komponenten wie GPU-Treiber und AWS Neuron-Beschleunigerunterstützung.

Zu den hinzugefügten Schlüsselkomponenten HyperPod AMIs gehören:
+ [Öffentlichkeit AMIs](sagemaker-hyperpod-release-public-ami.md) mit Unterstützung für die [Erstellung benutzerdefinierter AMIs](hyperpod-custom-ami-support.md)
+ Fortgeschrittene Orchestrierungstools:
  + [Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md)
  + [Orchestrierung von SageMaker HyperPod Clustern mit Amazon EKS](sagemaker-hyperpod-eks.md)
+ Abhängigkeiten der Clusterverwaltung
+ Integrierte Zuverlässigkeitsfeatures:
  + Cluster-Zustandsprüfung
  + Funktionen zur automatischen Wiederaufnahme
+ Support für HyperPod Clustermanagement und Konfiguration

Diese Verbesserungen basieren auf dem folgenden grundlegenden Deep Learning AMIs (DLAMIs):
+ [AWS Deep Learning Base GPU AMI (Ubuntu 20.04)](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-20-04/) für die Orchestrierung mit Slurm.
+ Amazon Linux 2 oder Amazon Linux 2023 basierendes AMI für die Orchestrierung mit Amazon EKS.

Wählen Sie Ihre HyperPod AMIs auf der Grundlage Ihrer Orchestrierungspräferenz aus:
+ Informationen zur Slurm-Orchestrierung finden Sie unter [SageMaker HyperPod AMI-Veröffentlichungen für Slurm](sagemaker-hyperpod-release-ami-slurm.md).
+ Informationen zur Amazon EKS-Orchestrierung finden Sie unter[SageMaker HyperPod AMI-Versionen für Amazon EKS](sagemaker-hyperpod-release-ami-eks.md).

Informationen zu SageMaker HyperPod Feature-Releases von Amazon finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

# Aktualisieren Sie Ihre AMI-Version in Ihrem SageMaker HyperPod Cluster
<a name="sagemaker-hyperpod-release-ami-update"></a>

Amazon SageMaker HyperPod Amazon Machine Images (AMIs) sind spezialisierte Maschinenimages für verteilte Workloads für maschinelles Lernen und Hochleistungsrechnen. Auf jedem AMI sind Treiber, Frameworks für maschinelles Lernen, Schulungsbibliotheken und Tools zur Leistungsüberwachung vorinstalliert. Durch die Aktualisierung der AMI-Version in Ihrem Cluster können Sie die neuesten Versionen dieser Komponenten und Pakete für Ihre Trainingsaufgaben und Workflows verwenden.

 Wenn Sie die AMI-Version in Ihrem Cluster aktualisieren, haben Sie die Möglichkeit, das Update sofort zu verarbeiten, ein einmaliges Update zu planen oder einen Cron-Ausdruck zu verwenden, um einen wiederkehrenden Zeitplan zu erstellen. Sie können auch wählen, ob Sie alle Instances in einer Instance-Gruppe oder nur Batches von Instances aktualisieren möchten. Wenn Sie Batches aktualisieren möchten, legen Sie den Prozentsatz oder die Anzahl der Instances fest, für die SageMaker KI gleichzeitig ein Upgrade durchführen soll. Wenn Sie diese Aktualisierungsmethode verwenden, legen Sie ein Intervall fest, in dem SageMaker KI zwischen den Batches warten soll.

Wenn Sie sich dafür entscheiden, stapelweise zu aktualisieren, können Sie auch eine Liste mit Alarmen und Messwerten hinzufügen. Während des Wartezeitraums beobachtet SageMaker KI diese Metriken, und wenn sie ihren Schwellenwert überschreiten, geht der entsprechende Alarm in den ALARM-Status über und SageMaker KI macht das AMI-Update rückgängig. Um automatische Rollbacks nutzen zu können, muss Ihre IAM-Ausführungsrolle über die entsprechende Genehmigung `cloudwatch:DescribeAlarms` verfügen.

**Anmerkung**  
Die stapelweise Aktualisierung Ihres Clusters ist nur für HyperPod Cluster verfügbar, die in Amazon EKS integriert sind. Wenn Sie mehrere Zeitpläne erstellen, empfehlen wir außerdem, dass Sie zwischen den Zeitplänen einen Zeitpuffer haben. Wenn sich Zeitpläne überschneiden, schlagen Aktualisierungen möglicherweise fehl.

Weitere Informationen zu den einzelnen AMI-Versionen für Ihren HyperPod Cluster finden Sie unter[SageMaker HyperPod Amazon-AMI](sagemaker-hyperpod-release-ami.md). Weitere Informationen zu allgemeinen HyperPod Versionen finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

Sie können die SageMaker KI-API- oder CLI-Operationen verwenden, um Ihren Cluster zu aktualisieren oder geplante Updates für einen bestimmten Cluster einzusehen. Wenn Sie die AWS Konsole verwenden, gehen Sie wie folgt vor:

**Anmerkung**  
Die Aktualisierung Ihres AMI mit der AWS Konsole ist nur für Cluster verfügbar, die in Amazon EKS integriert sind. Wenn Sie einen Slurm-Cluster haben, müssen Sie die SageMaker KI-API- oder CLI-Operationen verwenden.

1. Öffnen Sie die Amazon SageMaker AI-Konsole unter [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Erweitern Sie auf der linken Seite **HyperPod Clusters** und wählen Sie **Cluster Management** aus.

1. Wählen Sie den Cluster aus, den Sie aktualisieren möchten, klicken Sie dann auf **Details** und dann auf **AMI aktualisieren**.



Verwenden Sie die folgenden API-Operationen, um Aktualisierungszeitpläne programmgesteuert zu erstellen und zu verwalten:
+ [CreateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)— Erstellen Sie einen Cluster und geben Sie dabei einen Aktualisierungszeitplan an
+ [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html)— aktualisiert einen Cluster, um einen Aktualisierungszeitplan hinzuzufügen
+ [ UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)— um die Plattformsoftware eines Clusters zu aktualisieren
+ [ DescribeCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeCluster.html)— sehen Sie sich einen Aktualisierungszeitplan an, den Sie für einen Cluster erstellt haben
+ [DescribeClusterNode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeClusterNode.html)und [ListClusterNodes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListClusterNodes.html)— sehen Sie, wann der Cluster zuletzt aktualisiert wurde.

## Erforderliche Berechtigungen
<a name="sagemaker-hyperpod-release-ami-update-permissions"></a>

Je nachdem, wie Sie Ihr [Pod-Disruption-Budget](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) in Ihrem Amazon EKS-Cluster konfiguriert haben, werden HyperPod Pods entfernt, Knoten freigegeben und jegliche Aktualisierungsplanung während des AMI-Aktualisierungsvorgangs verhindert. Wenn Einschränkungen innerhalb des Budgets verletzt werden, HyperPod überspringt dieser Knoten während des AMI-Updates. SageMaker HyperPod Um Pods korrekt zu entfernen, müssen Sie der dienstbezogenen Rolle die erforderlichen Berechtigungen hinzufügen. HyperPod Die folgende Yaml-Datei verfügt über die erforderlichen Berechtigungen.

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: hyperpod-patching
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["list"]
- apiGroups: [""]
  resources: ["pods/eviction"]
  verbs: ["create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: hyperpod-patching
subjects:
- kind: User
  name: hyperpod-service-linked-role
roleRef:
  kind: ClusterRole
  name: hyperpod-patching
  apiGroup: rbac.authorization.k8s.io
```

Verwenden Sie die folgenden Befehle, um die Berechtigungen anzuwenden.

```
git clone https://github.com/aws/sagemaker-hyperpod-cli.git 

cd sagemaker-hyperpod-cli/helm_chart

helm upgrade hyperpod-dependencies HyperPodHelmChart --namespace kube-system --install
```

## Cron-Ausdrücke
<a name="sagemaker-hyperpod-release-ami-update-cron"></a>

Verwenden Sie Cron-Ausdrücke, um ein einmaliges Update zu einem bestimmten Zeitpunkt oder nach einem wiederkehrenden Zeitplan zu konfigurieren. Cron-Ausdrücke unterstützen sechs Felder und werden durch Leerzeichen getrennt. Es handelt sich um Pflichtfelder.

```
cron(Minutes Hours Day-of-month Month Day-of-week Year)
```


| **Felder** | **Werte** | **Platzhalter** | 
| --- | --- | --- | 
|  Minuten  |  00–59  |  –  | 
|  Stunden  |  00–23  |  –  | 
|  D ay-of-month  |  01–31  | ? | 
|  Monat  |  01–12  | \$1 / | 
|  D ay-of-week  |  1 – 7 oder MO-SA  | ? \$1 L | 
|  Jahr  |  Aktuelles Jahr – 2099  | \$1 | 

**Platzhalter**
+ Das Platzhalterzeichen **\$1** (Sternchen) steht für alle Werte im Feld. Im Feld `Hours` steht **\$1** für alle Stunden.
+ Das Platzhalterzeichen **/** (Schrägstrich) steht für schrittweise Steigerungen. In das `Months`-Feld könnten Sie **\$1/3** eingeben, um jeden 3. Monat anzugeben.
+ Das Platzhalterzeichen **?** (Fragezeichen) steht für einen Wert. In das `Day-of-month` Feld könntest du **7** eingeben, und wenn es dir egal wäre, welcher Wochentag der siebte war, könntest du eingeben**?** auf dem Day-of-week Feld.
+ Der Platzhalter **L** im Feld `day-of-week` oder gibt den letzten Tag des Monats oder der Woche an. Beispielsweise bedeutet `5L` den letzten Freitag des Monats.
+ Der Platzhalter **\$1** in dem ay-of-week Feld gibt eine bestimmte Instanz des angegebenen Wochentags innerhalb eines Monats an. Beispiel: 3\$12 steht für den zweiten Dienstag des Monats: Die 3 bezieht sich auf Dienstag, da dies der dritte Tag jeder Woche ist, und die 2 bezieht sich auf den zweiten Tag dieses Typs innerhalb des Monats.

Sie können Cron-Ausdrücke für die folgenden Szenarien verwenden:
+ Einmaliger Zeitplan, der zu einer bestimmten Uhrzeit und an einem bestimmten Tag ausgeführt wird. Sie können den `?` Platzhalter verwenden, um dies zu kennzeichnen day-of-month oder es spielt day-of-week keine Rolle.

  ```
  cron(30 14 ? 12 MON 2024)
  ```

  ```
  cron(30 14 15 12 ? 2024)
  ```
+ Ein wöchentlicher Zeitplan, der zu einer bestimmten Uhrzeit und an einem bestimmten Tag ausgeführt wird. Im folgenden Beispiel wird ein Zeitplan erstellt, der an jedem Montag um 12:00 Uhr läuft, unabhängig von. day-of-month

  ```
  cron(00 12 ? * 1 *)
  ```
+ Monatlicher Zeitplan, der jeden Monat ausgeführt wird, unabhängig vom day-of-week. Der folgende Zeitplan wird am 15. eines jeden Monats um 12:30 Uhr ausgeführt.

  ```
  cron(30 12 15 * ? *)
  ```
+ Ein monatlicher Zeitplan, der verwendet day-of-week.

  ```
  cron(30 12 ? * MON *)
  ```
+ Um einen Zeitplan zu erstellen, der alle N Monate ausgeführt wird, verwenden Sie den Platzhalter `/`. Im folgenden Beispiel wird ein monatlicher Zeitplan erstellt, der alle 3 Monate ausgeführt wird. Die folgenden zwei Beispiele zeigen, wie es mit day-of-week und funktioniert day-of-month.

  ```
  cron(30 12 15 */3 ? *)
  ```

  ```
  cron(30 12 ? */3 MON *)
  ```
+ Ein Zeitplan, der für eine bestimmte Instance des angegebenen Wochentags ausgeführt wird. Im folgenden Beispiel wird ein Zeitplan erstellt, der an jedem zweiten Montag jedes Monats um 12:30 Uhr ausgeführt wird.

  ```
  cron(30 12 ? * 1#2 *)
  ```
+ Ein Zeitplan, der auf der letzten Instance des angegebenen Wochentags ausgeführt wird. Der folgende Zeitplan am letzten Montag jeden Monats um 12:30 Uhr ausgeführt.

  ```
  cron(30 12 ? * 1L *)
  ```

# SageMaker HyperPod AMI-Veröffentlichungen für Slurm
<a name="sagemaker-hyperpod-release-ami-slurm"></a>

In den folgenden Versionshinweisen werden die neuesten Updates für Amazon SageMaker HyperPod AMI-Versionen für Slurm-Orchestration beschrieben. Diese HyperPod AMIs basieren auf dem [AWS Deep Learning Base GPU AMI (Ubuntu 22.04).](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-22-04/) Das HyperPod Serviceteam verteilt Softwarepatches über. [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) Informationen zu HyperPod AMI-Versionen für Amazon EKS-Orchestrierung finden Sie unter[SageMaker HyperPod AMI-Versionen für Amazon EKS](sagemaker-hyperpod-release-ami-eks.md). Informationen zu SageMaker HyperPod Feature-Releases von Amazon finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

**Anmerkung**  
Informationen zum Aktualisieren vorhandener HyperPod Cluster mit dem neuesten DLAMI finden Sie unter. [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software)

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 01. März 2026
<a name="sagemaker-hyperpod-release-ami-slurm-20260301"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Slurm-Versionen 24.11.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker HyperPod DLAMI für Slurm-Unterstützung** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Slurm v24.11 ]
+ Slurm 24.11 (): ARM64
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx26
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 1.45.1
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx26
  + nvidia-imex-Version: 580.126.09-1
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Git-Version: 2.34.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1b1344-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1
+ Slurm 24.11 (x86\$164):
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx26
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + als Neuronx DMS-Version: 2.26.5.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + Stress-Version: 1.0.5
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx26
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1b1344-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 12. Februar 2026
<a name="sagemaker-hyperpod-release-ami-slurm-20260212"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Slurm-Versionen 24.11.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker HyperPod DLAMI für Slurm-Unterstützung** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Slurm v24.11 ]
+ Slurm 24.11 (): ARM64
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 1.45.1
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + nvidia-imex-Version: 580.126.09-1
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Git-Version: 2.34.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.0b1337-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1
+ Slurm 24.11 (x86\$164):
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + Stress-Version: 1.0.5
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.0b1337-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 25. Januar 2026
<a name="sagemaker-hyperpod-release-ami-slurm-20260125"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Slurm-Versionen 24.11.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker HyperPod DLAMI für Slurm-Unterstützung** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Slurm v24.11 ]
+ Slurm 24.11 (): ARM64
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 2.3.1amzn3.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + nvidia-imex-Version: 580.126.09-1
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Git-Version: 2.34.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300063.0b1323-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1
+ Slurm 24.11 (x86\$164):
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 2.3.1amzn2.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + Stress-Version: 1.0.5
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300063.0b1323-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 29. Dezember 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20251229"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Slurm-Versionen 24.11.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker HyperPod DLAMI für Slurm-Unterstützung** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Slurm v24.11 ]
+ Slurm 24.11 (): ARM64
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 2.3.1amzn3.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + nvidia-imex-Version: 580.105.08-1
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Git-Version: 2.34.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.0b1304-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1
+ Slurm 24.11 (x86\$164):
  + Linux-Kernelversion: 6.8
  + Glibc-Version: 2.35
  + OpenSSL-Version: 3.0.2
  + FSx Lustre-Client-Version: 2.15.6-1fsx25
  + Runc-Version: 1.3.4
  + Enthaltene Version: containerd containerd.io v2.2.1
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.6, 12.8, 12.9, 13.0
  + EFA-Installationsversion: 2.3.1amzn2.0
  + Python-Version: 3.10.12
  + Slurm-Version: 24.11.0
  + nvme-CLI-Version: 1.16
  + Stress-Version: 1.0.5
  + gesammelte Version: 5.12.0.
  + Lustre-Client-Version: 2.15.6-1fsx25
  + Systemd-Version: 249
  + OpenSSH-Version: 8.9
  + Sudo-Version: 1.9.9
  + ufw-Version: 0.36.1
  + GCC-Version: 11.4.0
  + cmake-Version: 3.22.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.0b1304-1
  + nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
  + iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
  + LVM2-Version: 2.03.11
  + ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
  + RDMA-Core-Version: 60.0-1

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 22. November 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20251128"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Slurm-Versionen 24.11.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker HyperPod DLAMI für Slurm-Unterstützung** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Slurm (arm64) ]
+ Linux-Kernelversion: 6.8
+ Glibc-Version: 2.35
+ OpenSSL-Version: 3.0.2
+ FSx Lustre-Client-Version: 2.15.6-1fsx21
+ Runc-Version: 1.3.3
+ Enthaltene Version: containerd containerd.io v2.1.5
+ NVIDIA-Treiberversion: 580.95.05
+ CUDA-Version: 12.6, 12.8, 12.9, 13.0
+ EFA-Installationsversion: 2.1.0amzn5.0
+ Python-Version: 3.10.12
+ Slurm-Version: 24.11.0
+ nvme-CLI-Version: 1.16
+ gesammelte Version: 5.12.0.
+ Lustre-Client-Version: 2.15.6-1fsx21
+ nvidia-imex-Version: 580.95.05-1
+ Systemd-Version: 249
+ OpenSSH-Version: 8.9
+ Sudo-Version: 1.9.9
+ ufw-Version: 0.36.1
+ GCC-Version: 11.4.0
+ cmake-Version: 3.22.1
+ Git-Version: 2.34.1
+ Version erstellen: 4.3
+ Cloudwatch-Agent-Version: 1.300062.0b1304-1
+ nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
+ iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
+ LVM2-Version: 2.03.11
+ ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
+ RDMA-Core-Version: 58.amzn0-1

------
#### [ Slurm (x86\$164) ]
+ Linux-Kernelversion: 6.8
+ Glibc-Version: 2.35
+ OpenSSL-Version: 3.0.2
+ FSx Lustre-Client-Version: 2.15.6-1fsx21
+ Runc-Version: 1.3.3
+ Enthaltene Version: containerd containerd.io v2.1.5
+ als Neuronx DMS-Version: 2.24.7.0
+ NVIDIA-Treiberversion: 580.95.05
+ CUDA-Version: 12.6, 12.8, 12.9, 13.0
+ EFA-Installationsversion: 2.3.1amzn1.0
+ Python-Version: 3.10.12
+ Slurm-Version: 24.11.0
+ nvme-CLI-Version: 1.16
+ Stress-Version: 1.0.5
+ gesammelte Version: 5.12.0.
+ Lustre-Client-Version: 2.15.6-1fsx21
+ Systemd-Version: 249
+ OpenSSH-Version: 8.9
+ Sudo-Version: 1.9.9
+ ufw-Version: 0.36.1
+ GCC-Version: 11.4.0
+ cmake-Version: 3.22.1
+ Version erstellen: 4.3
+ Cloudwatch-Agent-Version: 1.300062.0b1304-1
+ nfs-utils-Version: 1:2.6 .1-1ubuntu1.2
+ iscsi-initiator-utils Ausführung: 2.1.5-1ubuntu1.1
+ LVM2-Version: 2.03.11
+ ec2-instance-connect-Version: 1.1.14-0ubuntu1.1
+ RDMA-Core-Version: 59.amzn0-1

------

## SageMaker HyperPod Versionshinweise: 07. November 2025
<a name="sagemaker-hyperpod-release-notes-20251107"></a>

**Das AMI umfasst Folgendes:**
+ Unterstützt AWS-Service: Amazon EC2
+ Betriebssystem: Ubuntu 22.04
+ Rechenarchitektur: ARM64
+ Aktualisierte Pakete: NVIDIA-Treiber: 580.95.05
+ CUDA-Versionen: cuda-12.6, cuda-12.8, cuda-12.9, cuda-13.0
+ [Sicherheitskorrekturen: Runc-Sicherheitspatch](https://aws.amazon.com/security/security-bulletins/rss/aws-2025-024/)

## SageMaker HyperPod Versionshinweise: 29. September 2025
<a name="sagemaker-hyperpod-release-notes-20250929"></a>

**Das AMI umfasst Folgendes:**
+ Unterstützt AWS-Service: Amazon EC2
+ Betriebssystem: Ubuntu 22.04
+ Rechenarchitektur: ARM64
+ Aktualisierte Pakete: NVIDIA-Treiber: 570.172.08
+ Fehlerbehebungen bei der Sicherheit

## SageMaker HyperPod Versionshinweise: 12. August 2025
<a name="sagemaker-hyperpod-release-notes-20250812"></a>

**Das AMI umfasst Folgendes:**
+ Unterstützt AWS-Service: Amazon EC2
+ Betriebssystem: Ubuntu 22.04
+ Rechenarchitektur: ARM64
+ Die neueste verfügbare Version ist für die folgenden Pakete installiert:
  + Linux-Kernel: 6.8
  + FSx Glanz
  + Docker
  + AWS CLI v2 bei `/usr/bin/aws`
  + NVIDIA DCGM
  + Nvidia-Container-Toolkit:
    + Befehl Version: `nvidia-container-cli -V`
  + NVIDIA-Docker2:
    + Befehl Version: `nvidia-docker version`
  + NVIDIA-IMEX: v570.172.08-1
+ NVIDIA-Treiber: 570.158.01
+ NVIDIA CUDA 12.4, 12.5, 12.6, 12.8 Stapel:
  + Installationsverzeichnisse CUDA, NCCL und cuDDN: `/usr/local/cuda-xx.x/`
    + Beispiel: `/usr/local/cuda-12.8/`, `/usr/local/cuda-12.8/`
  + Kompilierte NCCL-Version:
    + Für das CUDA-Verzeichnis von 12.4, kompilierte NCCL-Version 2.22.3\$1 .4 CUDA12
    + Für das CUDA-Verzeichnis 12.5, kompilierte NCCL-Version 2.22.3\$1 .5 CUDA12
    + Für das CUDA-Verzeichnis von 12.6, kompilierte NCCL-Version 2.24.3\$1 .6 CUDA12
    + Für das CUDA-Verzeichnis von 12.8, kompilierte NCCL-Version 2.27.5\$1. CUDA12
  + Standard-CUDA: 12.8
    + PATH `/usr/local/cuda` zeigt auf CUDA 12.8
    + Die folgenden Umgebungsvariablen wurden aktualisiert:
      + `LD_LIBRARY_PATH`zu haben `/usr/local/cuda-12.8/lib:/usr/local/cuda-12.8/lib64:/usr/local/cuda-12.8:/usr/local/cuda-12.8/targets/sbsa-linux/lib:/usr/local/cuda-12.8/nvvm/lib64:/usr/local/cuda-12.8/extras/CUPTI/lib64`
      + `PATH`zu haben `/usr/local/cuda-12.8/bin/:/usr/local/cuda-12.8/include/`
      + Für jede andere CUDA-Version aktualisieren Sie bitte `LD_LIBRARY_PATH` entsprechend.
+ EFA-Installationsprogramm: 1.42.0
+ Nvidia GDRCopy: 2.5.1
+ AWS Das OFI NCCL-Plugin wird mit dem EFA-Installationsprogramm geliefert
  + Pfade `/opt/amazon/ofi-nccl/lib/aarch64-linux-gnu` und `/opt/amazon/ofi-nccl/efa` werden hinzugefügt. `LD_LIBRARY_PATH`
+ AWS CLI v2 bei `/usr/local/bin/aws2` und AWS CLI v1 bei `/usr/bin/aws`
+ EBS-Volumetyp: gp3
+ Python: `/usr/bin/python3.10`

## SageMaker HyperPod Versionshinweise: 27. Mai 2025
<a name="sagemaker-hyperpod-release-notes-20250527"></a>

SageMaker HyperPod veröffentlicht das Folgende für[Orchestrierung von SageMaker HyperPod Clustern mit SlurmSlurm-Orchestrierung](sagemaker-hyperpod-slurm.md).

**Neue Features und Verbesserungen**
+ Das Basis-AMI wurde mit den folgenden Schlüsselkomponenten auf `Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250523` aktualisiert:
  + NVIDIA-Treiber: 570.133.20
  + CUDA: 12.8 (Standard), mit Unterstützung für CUDA 12.4–12.6
  + NCCL-Version: 2.26.5
  + EFA-Installationsprogramm: 1.40.0
  + AWS OFI NCCL: 1.14.2-aws
+ Aktualisierte Neuron-SDK-Pakete:
  + aws-neuronx-collectives: 2.25.65.0-9858ac9a1 (von 2.24.59.0-838c7fc8b)
  + aws-neuronx-dkms: 2,21,37,0 (von 2,20.28,0)
  + aws-neuronx-runtime-lib: 2.25.57.0-166c7a468 (von 2.24.53.0-f239092cc)
  + aws-neuronx-tools: 2,23,9,0 (von 2.22.61,0)

**Wichtige Hinweise**
+ Das NVIDIA Container Toolkit 1.17.4 hat nun das Mounten von CUDA-kompatiblen Bibliotheken deaktiviert.
+ Die EFA-Konfiguration wurde von 1.37 auf 1.38 aktualisiert. EFA enthält nun das Plugin AWS OFI NCCL, das sich im `/opt/amazon/ofi-nccl`-Verzeichnis anstelle des ursprünglichen Pfads befindet. (Veröffentlicht am 18. Februar 2025)
+ Die Kernel-Version ist aus Gründen der Stabilität und Treiberkompatibilität fixiert.

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 13. Mai 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20250513"></a>

Amazon SageMaker HyperPod hat ein aktualisiertes AMI veröffentlicht, das Ubuntu 22.04 LTS für Slurm-Cluster unterstützt. AWS wird regelmäßig aktualisiert AMIs , um sicherzustellen, dass Sie Zugriff auf den aktuellsten Software-Stack haben. Durch das Upgrade auf das neueste AMI profitieren Sie von erhöhter Sicherheit durch umfassende Paketaktualisierungen, verbesserter Leistung und Stabilität für Ihre Workloads sowie Kompatibilität mit neuen Instance-Typen und den neuesten Kernel-Features.

**Wichtig**  
Das Update von Ubuntu 20.04 LTS auf Ubuntu 22.04 LTS führt zu Änderungen, die sich auf die Kompatibilität mit Software und Konfigurationen auswirken können, die für Ubuntu 20.04 entwickelt wurden.

**Topics**
+ [Wichtige Aktualisierungen im Ubuntu 22.04 AMI](#sagemaker-hyperpod-ami-slurm-ubuntu22-updates)
+ [Upgrade auf das Ubuntu 22.04 AMI](#sagemaker-hyperpod-ami-slurm-ubuntu22-upgrade)
+ [Beheben von Upgrade-Fehlern](#sagemaker-hyperpod-ami-slurm-ubuntu22-troubleshoot)

### Wichtige Aktualisierungen im Ubuntu 22.04 AMI
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-updates"></a>

In der folgenden Tabelle werden die Komponentenversionen des Ubuntu 22.04 AMI im Vergleich zum vorherigen AMI aufgelistet.


**Komponentenversionen des Ubuntu 22.04 AMI im Vergleich zum vorherigen AMI**  

| Komponente | Frühere Versionen | Aktualisierte Version | 
| --- | --- | --- | 
|  **Ubuntu-Betriebssystem**  |  20,04 LTS  |  22.04 LTS  | 
|  **Slurm**  |  24,11  |  24.11 (unverändert)  | 
|  **Python**  |  3.8 (Standard)  |  3.10 (Standard)  | 
|  **Elastic Fabric Adapter (EFA) bei Amazon FSx**  |  Nicht unterstützt  |  Unterstützt  | 
|  **Linux-Kernel**  |  5.15  |  6.8  | 
|  **GNU C Library (glibc)**  |  2,31  |  2,35  | 
|  **GNU Compiler Collection (GCC)**  |  9,4,0  |  11,4,0  | 
|  **libc6**  |  ≤ 2.31  |  ≥ 2.35 unterstützt  | 
|  **Network File System (NFS)**  |  1:1.3.4  |  1:2.6.1  | 

**Anmerkung**  
Obwohl die Slurm-Version (24.11) unverändert bleibt, können die zugrunde liegenden Betriebssystem- und Bibliotheksaktualisierungen in diesem AMI Auswirkungen auf das Systemverhalten und die Workload-Kompatibilität haben. Sie müssen Ihre Workloads testen, bevor Sie Produktionscluster aktualisieren.

### Upgrade auf das Ubuntu 22.04 AMI
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-upgrade"></a>

Bevor Sie Ihren Cluster auf das Ubuntu 22.04 AMI aktualisieren, führen Sie die folgenden Vorbereitungsschritte durch und überprüfen Sie die Upgrade-Anforderungen. Informationen zur Behebung von Upgrade-Fehlern finden Sie unter [Beheben von Upgrade-Fehlern](#sagemaker-hyperpod-ami-slurm-ubuntu22-troubleshoot).

#### Überprüfen der Python-Kompatibilität
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-python-compatibility"></a>

Das Ubuntu 22.04 AMI verwendet Python 3.10 als Standardversion, ein Upgrade von Python 3.8. Obwohl Python 3.10 mit dem Großteil des Python-3.8-Codes kompatibel bleibt, empfehlen wir, Ihre bestehenden Workloads vor dem Upgrade zu testen. Sollten Ihre Workloads Python 3.8 erfordern, können Sie es mit dem folgenden Befehl in Ihrem Lebenszyklusskript installieren:

```
yum install python-3.8
```

Bevor Sie Ihr Cluster aktualisieren, stellen Sie sicher, dass Sie die folgenden Schritte ausführen:

1. Testen Sie Ihre Codekompatibilität mit Python 3.10.

1. Stellen Sie sicher, dass Ihre Lebenszyklusskripte in der neuen Umgebung funktionieren.

1. Überprüfen Sie, ob alle Abhängigkeiten mit der neuen Python-Version kompatibel sind.

1. Wenn Sie Ihren HyperPod Cluster erstellt haben, indem Sie das standardmäßige Lifecycle-Skript von kopiert haben GitHub, fügen Sie Ihrer `setup_mariadb_accounting.sh` Datei den folgenden Befehl hinzu, bevor Sie auf Ubuntu 22 aktualisieren. Das vollständige Skript finden Sie [unter setup\$1mariadb\$1accounting.sh GitHub](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/setup_mariadb_accounting.sh).

   ```
   apt-get -y -o DPkg::Lock::Timeout=120 update && apt-get -y -o DPkg::Lock::Timeout=120 install apg
   ```

#### Aktualisieren Ihres Slurm-Clusters
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-upgrade-cluster"></a>

Sie können Ihren Slurm-Cluster auf zwei Arten aktualisieren, um das neue AMI zu verwenden:

1. Erstellen Sie einen neuen Cluster mit der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html)-API.

1. Aktualisieren Sie die Software eines vorhandenen Clusters mithilfe der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)-API.

#### Validierte Konfigurationen
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-validation"></a>

AWS hat eine Vielzahl verteilter Trainingsworkloads und Infrastrukturfunktionen auf G5-, G6-, G6e-, P4d-, P5- und Trn1-Instances getestet, darunter:
+ Verteilte Schulungen mit PyTorch (z. B. FSDP, MA, MNIST). NeMo LLa
+ Beschleunigertests für verschiedene Instance-Typen mit Nvidia (P/G-Serie) und AWS Neuron (Trn1).
+ Ausfallsicherheits-Features, darunter [automatische Wiederaufnahme](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm.html#sagemaker-hyperpod-resiliency-slurm-auto-resume) und umfassende [Zustandsprüfungen](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-resiliency-deep-health-checks.html).

#### Clusterausfallzeit und -verfügbarkeit
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-downtime-availability"></a>

Der Cluster ist während des Upgrade-Vorgangs nicht verfügbar. Gehen Sie wie folgt vor, um Unterbrechungen zu minimieren:
+ Testen Sie den Upgrade-Prozess auf kleineren Clustern.
+ Erstellen Sie vor dem Upgrade Checkpoints und starten Sie die Trainingsworkloads nach Abschluss des Upgrades von den vorhandenen Checkpoints aus neu.

### Beheben von Upgrade-Fehlern
<a name="sagemaker-hyperpod-ami-slurm-ubuntu22-troubleshoot"></a>

Wenn ein Upgrade fehlschlägt, stellen Sie zunächst fest, ob der Fehler mit Lebenszyklusskripten zusammenhängt. Diese Skripte schlagen häufig aufgrund von Syntaxfehlern, fehlenden Abhängigkeiten oder falschen Konfigurationen fehl.

Um Fehler im Zusammenhang mit Lifecycle-Skripten zu untersuchen, überprüfen Sie die Protokolle. CloudWatch Alle SageMaker HyperPod Ereignisse und Protokolle werden in der Protokollgruppe gespeichert:`/aws/sagemaker/Clusters/[ClusterName]/[ClusterID]`. Schauen Sie sich speziell den Protokollstream `LifecycleConfig/[instance-group-name]/[instance-id]` an, der detaillierte Informationen über etwaige Fehler bei der Skriptausführung enthält.

Wenn der Upgrade-Fehler nichts mit Lebenszyklusskripten zu tun hat, sammeln Sie relevante Informationen, einschließlich Cluster-ARN, Fehlerprotokolle und Zeitstempel, und wenden Sie sich dann an den Support, um weitere [AWS -Unterstützung](https://aws.amazon.com/premiumsupport/) zu erhalten.

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 07. Mai 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20250507"></a>

Amazon SageMaker HyperPod for Slurm hat ein wichtiges Betriebssystem-Versions-Upgrade auf Ubuntu 22.04 (von dem früheren Ubuntu 20.04) veröffentlicht. Weitere Informationen finden Sie unter DLAMI Ubuntu 22.04 ([Versionshinweise](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-22-04/)): `Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250503`

Wichtige Paket-Upgrades:
+ Ubuntu 22.04 LTS (ab 20.04)
+ Python-Version:
  + Python 3.10 ist jetzt die Standard-Python-Version im Slurm-AMI Ubuntu 22.04
  + Dieses Upgrade bietet Zugriff auf die neuesten Features, Leistungsverbesserungen und Bugfixes, die in Python 3.10 eingeführt wurden
+ Support für EFA am FSx
+ Neue Linux-Kernel-Version 6.8 (aktualisiert von 5.15)
+ Glibc-Version: 2.35 (aktualisiert von 2.31)
+ GCC-Version: 11.4.0 (aktualisiert von 9.4.0)
+ Unterstützung neuerer libc6-Versionen (ab libc6-Version <= 2.31)
+ NFS-Version: 1:2.6 .1 (aktualisiert von 1:1.3.4)

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 28. April 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20250428"></a>

**Verbesserungen für Slurm**
+ Der NVIDIA-Treiber wurde von Version 550.144.03 auf 550.163.01 aktualisiert. Mit diesem Upgrade sollen häufig auftretende Sicherheitslücken und Sicherheitslücken (CVEs) behoben werden, die im [NVIDIA GPU Display Security Bulletin](https://nvidia.custhelp.com/app/answers/detail/a_id/5630) vom April 2025 enthalten sind.

**Amazon SageMaker HyperPod DLAMI für Slurm-Unterstützung**

------
#### [ Installed the latest version of AWS Neuron SDK ]
+ aws-neuronx-collectives: **2,24,59,0-838c7fc8b**
+ **aws-neuronx-dkms:** 2,20,28,0
+ **aws-neuronx-runtime-lib: 2,24,53,0-f239092cc**
+ **aws-neuronx-tools/unbekannt: 2.22.61.0**

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 18. Februar 2025
<a name="sagemaker-hyperpod-release-ami-slurm-20250218"></a>

**Verbesserungen für Slurm**
+ Slurm-Version auf 24.11 aktualisiert.
+ Die Version des Elastic Fabric Adapter (EFA) wurde von 1.37.0 auf 1.38.0 aktualisiert.
+ Die EFA enthält jetzt das AWS OFI NCCL-Plugin. Sie finden dieses Plugin im `/opt/amazon/ofi-nccl`-Verzeichnis und nicht am ursprünglichen Speicherort `/opt/aws-ofi-nccl/`. Sollten Sie Ihre Umgebungsvariable `LD_LIBRARY_PATH` aktualisieren müssen, stellen Sie sicher, dass Sie den Pfad so ändern, dass er auf den neuen `/opt/amazon/ofi-nccl`-Speicherort des OFI-NCCL-Plugins verweist.
+ Das Emacs-Paket wurde von diesen entfernt. DLAMIs Sie können Emacs von GNU Emac aus installieren.

**Amazon SageMaker HyperPod DLAMI für Slurm-Unterstützung**

------
#### [ Installed the latest version of AWS Neuron SDK 2.19 ]
+ **aws-neuronx-collectives/unbekannt**: 2.23.135.0-3e70920f2 amd64
+ **aws-neuronx-dkms/unbekannt:** 2.19.64.0 amd64
+ **aws-neuronx-runtime-lib/unbekannt: 2.23.112.0-9b5179492** amd64
+ **aws-neuronx-tools/unbekannt:** 2.20.204.0 amd64

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 21. Dezember 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20241221"></a>

**SageMaker HyperPod DLAMI für Slurm-Unterstützung**

------
#### [ Deep Learning Slurm AMI ]
+ **NVIDIA-Treiber:** 550.127.05
+ **EFA-Treiber:** 2.13.0-1
+ Die neueste Version des Neuron SDK wurde installiert AWS 
  + **aws-neuronx-collectives: 2.22.33.0**
  + **aws-neuronx-dkms:** 2,18,20,0
  + **aws-neuronx-oci-hook:** 2,5,8,0
  + **aws-neuronx-runtime-lib: 2.22.19,0**
  + **aws-neuronx-tools:** 2.19.0.0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 24. November 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20241124"></a>

**Allgemeine AMI-Updates**
+ Veröffentlicht in der Region `MEL` (Melbourne).
+  SageMaker HyperPod Basis-DLAMI wurde auf die folgenden Versionen aktualisiert:
  + Slurm: 22.11.2024

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 15. November 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20241115"></a>

**Allgemeine AMI-Updates**
+ Das neueste `libnvidia-nscq-xxx`-Paket wurde installiert.

**SageMaker HyperPod DLAMI für Slurm-Unterstützung**

------
#### [ Deep Learning Slurm AMI ]
+ **NVIDIA-Treiber:** 550.127.05
+ **EFA-Treiber:** 2.13.0-1
+ Die neueste Version des Neuron SDK wurde installiert AWS 
  + **aws-neuronx-collectives: v2.22.33.0-d2128d1aa**
  + **aws-neuronx-dkms:** v2.17.17.0
  + **aws-neuronx-oci-hook:** v2.4.4.0
  + **aws-neuronx-runtime-lib:** v2.21.41.0
  + **aws-neuronx-tools:** v2.18.3.0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 11. November 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20241111"></a>

**Allgemeine AMI-Updates**
+  SageMaker HyperPod Basis-DLAMI wurde auf die folgende Version aktualisiert:
  + Slurm: 23.10.2024

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 21. Oktober 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20241021"></a>

**Allgemeine AMI-Updates**
+  SageMaker HyperPod Basis-DLAMI wurde auf die folgenden Versionen aktualisiert:
  + Slurm: 27.09.2024

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 10. September 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20240910"></a>

**SageMaker HyperPod DLAMI für Slurm-Unterstützung**

------
#### [ Deep Learning Slurm AMI ]
+ Der NVIDIA-Treiber v550.90.07 wurde installiert.
+ Der EFA-Treiber v2.10 wurde installiert.
+ Die neueste Version des Neuron SDK wurde installiert AWS 
  + **aws-neuronx-collectives: v2.21.46.0**
  + **aws-neuronx-dkms:** v2.17.17.0
  + **aws-neuronx-oci-hook:** v2.4.4.0
  + **aws-neuronx-runtime-lib:** v2.21.41.0
  + **aws-neuronx-tools:** v2.18.3.0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Slurm: 14. März 2024
<a name="sagemaker-hyperpod-release-ami-slurm-20240314"></a>

**HyperPod Software-Patch für Slami für Slurm**
+ [Slurm](https://slurm.schedmd.com/documentation.html) wurde auf v23.11.1 aktualisiert.
+ [Open PMIx](https://openpmix.github.io/code/getting-the-reference-implementation) [v4.2.6 zur Aktivierung von Slurm mit hinzugefügt. PMIx](https://slurm.schedmd.com/mpi_guide.html#pmix)
+ Basierend auf der [AWS Deep Learning Base GPU AMI (Ubuntu 20.04)](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-20-04/), veröffentlicht am 26.10.2023
+ Eine vollständige Liste der vorinstallierten Pakete in diesem HyperPod DLAMI zusätzlich zum Basis-AMI
  + [Slurm](https://slurm.schedmd.com/documentation.html): v23.11.1
  + [Öffnen: v4.2.6 PMIx ](https://openpmix.github.io/code/getting-the-reference-implementation)
  + Munge: v0.5.15
  + `aws-neuronx-dkms`: v2.\$1
  + `aws-neuronx-collectives`: v2.\$1
  + `aws-neuronx-runtime-lib`: v2.\$1
  + `aws-neuronx-tools`: v2.\$1
  + SageMaker HyperPod Softwarepakete zur Unterstützung von Funktionen wie Cluster-Integritätsprüfung und automatischer Wiederaufnahme

**Schritte zum Upgrade**
+ Führen Sie den folgenden Befehl aus, um die [UpdateClusterSoftware](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API aufzurufen und Ihre vorhandenen HyperPod Cluster mit dem neuesten HyperPod DLAMI zu aktualisieren. Weitere Anweisungen finden Sie unter [Aktualisieren Sie die SageMaker HyperPod Plattformsoftware eines Clusters](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software).
**Wichtig**  
Sichern Sie Ihre Arbeit, bevor Sie diese API ausführen. Der Patching-Prozess ersetzt das Root-Volume durch das aktualisierte AMI, was bedeutet, dass Ihre zuvor im Root-Volume der Instance gespeicherten Daten verloren gehen. Stellen Sie sicher, dass Sie Ihre Daten vom Instance-Root-Volume auf Amazon S3 oder Amazon FSx for Lustre sichern. Weitere Informationen finden Sie unter [Verwenden Sie das Backup-Skript von SageMaker HyperPod](sagemaker-hyperpod-operate-slurm-cli-command.md#sagemaker-hyperpod-operate-slurm-cli-command-update-cluster-software-backup).

  ```
   aws sagemaker update-cluster-software --cluster-name your-cluster-name
  ```
**Anmerkung**  
Beachten Sie, dass Sie den AWS CLI Befehl ausführen sollten, um Ihren HyperPod Cluster zu aktualisieren. Das Aktualisieren der HyperPod Software über die Benutzeroberfläche der SageMaker HyperPod Konsole ist derzeit nicht verfügbar.

## SageMaker HyperPod AMI-Veröffentlichung für Slurm: 29. November 2023
<a name="sagemaker-hyperpod-release-ami-slurm-20231129"></a>

**HyperPod Software-Patch für Slami für Slurm**

Das HyperPod Serviceteam verteilt Softwarepatches über. [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami) Sehen Sie sich die folgenden Details zum neuesten HyperPod DLAMI an.
+ Basiert auf dem [AWS -Deep-Learning-Base-GPU-AMI (Ubuntu 20.04), das am 18.10.2023](https://aws.amazon.com/releasenotes/aws-deep-learning-base-gpu-ami-ubuntu-20-04/) veröffentlicht wurde
+ Eine vollständige Liste der vorinstallierten Pakete in diesem HyperPod DLAMI zusätzlich zum Basis-AMI
  + [Slurm: v23.02.3](https://slurm.schedmd.com/documentation.html)
  + Munge: v0.5.15
  + `aws-neuronx-dkms`: v2.\$1
  + `aws-neuronx-collectives`: v2.\$1
  + `aws-neuronx-runtime-lib`: v2.\$1
  + `aws-neuronx-tools`: v2.\$1
  + SageMaker HyperPod Softwarepakete zur Unterstützung von Funktionen wie Cluster-Integritätsprüfung und automatischer Wiederaufnahme

# SageMaker HyperPod AMI-Versionen für Amazon EKS
<a name="sagemaker-hyperpod-release-ami-eks"></a>

In den folgenden Versionshinweisen werden die neuesten Updates für Amazon SageMaker HyperPod AMI-Versionen für Amazon EKS-Orchestration beschrieben. Jeder Versionshinweis enthält eine zusammengefasste Liste der Pakete, die im Amazon EKS-Support vorinstalliert oder vorkonfiguriert sind. SageMaker HyperPod DLAMIs Jedes DLAMI basiert auf einer bestimmten AL2023 Kubernetes-Version und unterstützt diese. Informationen zu HyperPod DLAMI-Releases für Slurm-Orchestrierung finden Sie unter. [SageMaker HyperPod AMI-Veröffentlichungen für Slurm](sagemaker-hyperpod-release-ami-slurm.md) Informationen zu SageMaker HyperPod Feature-Releases von Amazon finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

## SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 01. März 2026
<a name="sagemaker-hyperpod-release-ami-eks-20260301"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker Hyperpod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker Unterstützung für Hyperpod DLAMI für Amazon EKS** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.44 Python/3.10.17 Linux/5.10.248-247.988.amzn2.x86\$164 botocore/1.42.54
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.29 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.44 Python/3.10.17 Linux/5.10.248-247.988.amzn2.x86\$164 botocore/1.42.54
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.30 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.44 Python/3.10.17 Linux/5.10.248-247.988.amzn2.x86\$164 botocore/1.42.54
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.31 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.44 Python/3.10.17 Linux/5.10.248-247.988.amzn2.x86\$164 botocore/1.42.54
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.32 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.46 Python/3.10.17 Linux/5.10.248-247.988.amzn2.x86\$164 botocore/1.42.56
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.34 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.16.1g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.2
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300064.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------

## SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 12. Februar 2026
<a name="sagemaker-hyperpod-release-ami-eks-20260212"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker Hyperpod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker Unterstützung für Hyperpod DLAMI für Amazon EKS** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.31 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.41
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.29 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.31 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.41
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.30 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.31 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.41
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.31 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.31 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.41
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.32 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.31 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.41
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.34 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.45.0
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + EFA-Installationsversion: 1.43.3
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.1
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------

## SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 25. Januar 2026
<a name="sagemaker-hyperpod-release-ami-eks-20260125"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker Hyperpod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33, 1.34.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker Unterstützung für Hyperpod DLAMI für Amazon EKS** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.21 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.31
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.29 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.21 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.31
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.30 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.21 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.31
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.31 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.21 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.31
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.32 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.14, Build 0bab007
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.21 Python/3.10.17 Linux/5.10.247-246.989.amzn2.x86\$164 botocore/1.42.31
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.211.01
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.34 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.4
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.5
  + NVIDIA-Treiberversion: 580.126.09
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.34.2-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.126.09
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300062.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------

## SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 29. Dezember 2025
<a name="sagemaker-hyperpod-release-ami-eks-20251229"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker Hyperpod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker Unterstützung für Hyperpod DLAMI für Amazon EKS** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.4 Python/3.10.17 Linux/5.10.245-245.983.amzn2.x86\$164 botocore/1.42.14
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.28.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.29 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.4 Python/3.10.17 Linux/5.10.245-245.983.amzn2.x86\$164 botocore/1.42.14
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.29.15-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.30 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.4 Python/3.10.17 Linux/5.10.245-245.983.amzn2.x86\$164 botocore/1.42.14
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.30.14-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0

------
#### [ Kubernetes v1.31 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.4 Python/3.10.17 Linux/5.10.245-245.983.amzn2.x86\$164 botocore/1.42.14
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.31.13-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.105.08
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.32 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7.29
  + AWS-CLI v2-Version: aws-cli/1.44.4 Python/3.10.17 Linux/5.10.245-245.983.amzn2.x86\$164 botocore/1.42.14
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.32.9-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.105.08
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + als Neuronx DMS-Version: 2.25.4.0
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 60.0
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd/v2 2.1.4
  + NVIDIA-Treiberversion: 580.105.08
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.25
  + Kubernetes-Version: v1.33.5-eks-ecaa3a6
  + iptables-services versie: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.105.08
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------

## SageMaker Hyperpod AMI-Veröffentlichungen für Amazon EKS: 22. November 2025
<a name="sagemaker-hyperpod-release-ami-eks-20251128"></a>

 **Allgemeine AMI-Updates** 
+ Veröffentlichte Updates für SageMaker Hyperpod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32, 1.33.
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

 **SageMaker Unterstützung für Hyperpod DLAMI für Amazon EKS** 

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + AWS-CLI v2-Version: aws-cli/1.42.71 Python/3.10.17 Linux/5.10.245-241.978.amzn2.x86\$164 botocore/1.40.71
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.28.15-eks-473151a
  + Version für iptables-Dienste: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.28.15-eks-473151a
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.

------
#### [ Kubernetes v1.29 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + AWS-CLI v2-Version: aws-cli/1.42.71 Python/3.10.17 Linux/5.10.245-241.978.amzn2.x86\$164 botocore/1.40.71
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.29.15-eks-473151a
  + Version für iptables-Dienste: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.29.15-eks-473151a
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.

------
#### [ Kubernetes v1.30 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.2
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + AWS-CLI v2-Version: aws-cli/1.42.69 Python/3.10.17 Linux/5.10.245-241.976.amzn2.x86\$164 botocore/1.40.69
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.30.11-eks-473151a
  + Version für iptables-Dienste: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.30.11-eks-473151a
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.

------
#### [ Kubernetes v1.31 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + AWS-CLI v2-Version: aws-cli/1.42.71 Python/3.10.17 Linux/5.10.245-241.978.amzn2.x86\$164 botocore/1.40.71
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.31.7-eks-473151a
  + Version für iptables-Dienste: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.31.13-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.31.13-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.95.05
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.32 ]
+  **AL2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023** 
+ AL2 (x86\$164):
  + Linux-Kernelversion: 5.10
  + Glibc-Version: 2.26
  + OpenSSL-Version: 1.0.2k-fips
  + FSx Lustre-Clientversion: 2.12.8
  + Docker-Version: Docker-Version 25.0.13, Build 0bab007
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + AWS-CLI v2-Version: aws-cli/1.42.74 Python/3.10.17 Linux/5.10.245-241.978.amzn2.x86\$164 botocore/1.40.74
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.2
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.7.16
  + Kubernetes-Version: v1.32.3-eks-473151a
  + Version für iptables-Dienste: 1.8.4
  + Nginx-Version: 1.20.1
  + nvme-CLI-Version: 1.11.1
  + Epel-Release-Version: 7
  + Stress-Version: 1.0.4
  + gesammelte Version: 5.8.1
  + ACL-Version: 2.2.51
  + Rsyslog-Version: 8.24.0
  + Lustre-Client-Version: 2.12.8
  + Systemd-Version: 219
  + OpenSSH-Version: 7.4
  + Sudo-Version: 1.8.23
  + GCC-Version: 7.3.1
  + cmake-Version: 2.8.12.2
  + Git-Version: 2.47.3
  + Version erstellen: 3.82
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 1.3.0
  + LVM2-Version: 2.02.187
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.32.9-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.32.9-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.95.05
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + Linux-Kernelversion: 6.1
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + als Neuronx DMS-Version: 2.24.7.0
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.33.5-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 59.
+ AL2023 (ARM64):
  + Linux-Kernelversion: 6.12
  + Glibc-Version: 2.34
  + OpenSSL-Version: 3.2.2
  + FSx Lustre-Client-Version: 2.15.6
  + Runc-Version: 1.3.3
  + Container-Version: enthaltenes Github. com/containerd/containerd 1,7,27
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 12.8
  + ENA-Treiberversion: 2.15.0g
  + Python-Version: 3.9.24
  + Kubernetes-Version: v1.33.5-eks-113cf36
  + Version für iptables-Dienste: 1.8.8
  + Nginx-Version: 1.28.0
  + nvme-cli-Version: 2.13 1.13
  + Stress-Version: 1.0.7
  + gesammelte Version: 5.12.0.
  + ACL-Version: 2.3.1
  + Lustre-Client-Version: 2.15.6
  + nvidia-imex-Version: 580.95.05
  + Systemd-Version: 252
  + OpenSSH-Version: 8.7
  + Sudo-Version: 1.9.15
  + GCC-Version: 11.5.0
  + cmake-Version: 3.22.2
  + Git-Version: 2.50.1
  + Version erstellen: 4.3
  + Cloudwatch-Agent-Version: 1.300060.1
  + NFS-Utils-Version: 2.5.4
  + LVM2-Version: 2.03.16
  + ec2-Instance-Connect-Version: 1.1
  + aws-cfn-bootstrap Ausführung: 2.0
  + RDMA-Core-Version: 58.

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 07. November 2025
<a name="sagemaker-hyperpod-release-ami-eks-20251107"></a>

**Allgemeine AMI-Updates**
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32 und 1.33. 
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/appendix-ami-release-notes.html#appendix-ami-release-notes-base)

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.28.15
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.28.15
+ Zu den Paket-Updates gehören Boto3-, Botocore-, Pip-, Regex-, Psutil- und Nvidia-Container-Toolkit-Komponenten.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.29 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.29.15
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.29.15
+ Zu den Paket-Updates gehören Kernel-Updates, Glibc-Updates und verschiedene Systembibliotheken.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.30 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.30.11
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.30.11
+ Zu den Paket-Updates gehören Kernel-Livepatch-Updates und Systembibliotheksupdates.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.31 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.31.7
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.31.13
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.31.13
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören umfangreiche Systembibliotheksupdates, Kernel-Updates und Boost-Bibliotheksupdates.
+ Pakete hinzugefügt: apr-util-lmdb, kernel-livepatch-6.1.156-177.286

------
#### [ Kubernetes v1.32 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.32.3
  + AWS IAM-Authentifikator-Version: v0.6.29
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.32.9
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.32.9
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören Kernel-Livepatch-Updates und Systembibliotheksupdates.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.33.5
  + Kernelversion: 6.1.155-176.282.amzn2023.x86\$164
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.33.5
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören umfangreiche Systembibliotheksupdates, Kernel-Updates und Boost-Bibliotheksupdates.
+ Hinzugefügte Pakete: apr-util-lmdb, Kernel-Livepatch-Updates

------

**Anmerkung**  
[Die runc-Version wurde auf 1.3.2 aktualisiert Security Bulletin](https://aws.amazon.com/security/security-bulletins/rss/aws-2025-024/)

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 29. Oktober 2025
<a name="sagemaker-hyperpod-release-ami-eks-20251029"></a>

**Allgemeine AMI-Updates**
+ Veröffentlichte Updates für SageMaker HyperPod AMI für Amazon EKS-Versionen 1.28, 1.29, 1.30, 1.31, 1.32 und 1.33. 
+ [Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/aws-deep-learning-ami-baseoss-aml2-2025-10-14.html)

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.28.15
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.28.15
+ Zu den Paket-Updates gehören Boto3-, Botocore-, Pip-, Regex-, Psutil- und Nvidia-Container-Toolkit-Komponenten.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.29 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.29.15
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.29.15
+ Zu den Paket-Updates gehören Kernel-Updates, Glibc-Updates und verschiedene Systembibliotheken.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.30 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.30.11
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.30.11
+ Zu den Paket-Updates gehören Kernel-Livepatch-Updates und Systembibliotheksupdates.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.31 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.31.7
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.31.13
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.31.13
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören umfangreiche Systembibliotheksupdates, Kernel-Updates und Boost-Bibliotheksupdates.
+ Pakete hinzugefügt: apr-util-lmdb, kernel-livepatch-6.1.156-177.286

------
#### [ Kubernetes v1.32 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ AL2 (x86\$164):
  + NVIDIA-Treiberversion: 570.195.03
  + CUDA-Version: 12.8
  + Kubernetes-Version: 1.32.3
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.32.9
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.32.9
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören Kernel-Livepatch-Updates und Systembibliotheksupdates.
+ Paket hinzugefügt: annotated-doc 0.0.3

------
#### [ Kubernetes v1.33 ]
+ AL2023 (x86\$164):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.33.5
  + Kernelversion: 6.1.155-176.282.amzn2023.x86\$164
+ AL2023 (Arm):
  + NVIDIA-Treiberversion: 580.95.05
  + CUDA-Version: 13.0
  + Kubernetes-Version: 1.33.5
  + Kernelversion: 6.12.46-66.121.amzn2023.aarch64
+ Zu den Paket-Updates gehören umfangreiche Systembibliotheksupdates, Kernel-Updates und Boost-Bibliotheksupdates.
+ Hinzugefügte Pakete: apr-util-lmdb, Kernel-Livepatch-Updates

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 22. Oktober 2025
<a name="sagemaker-hyperpod-release-ami-eks-20251022"></a>

**AL2x86**

**Anmerkung**  
Amazon Linux 2 ist jetzt veraltet. Das Kubernetes-AMI basiert auf. AL2023

[Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/aws-deep-learning-ami-baseoss-aml2-2025-10-14.html)
+ EKS-Versionen 1.28 — 1.32
+ Diese Version enthält CVE-Patches für die betroffenen NVIDIA-Treiberpakete, die im Nvidia Security Bulletin [vom Oktober](https://nvidia.custhelp.com/app/answers/detail/a_id/5703) zu finden sind.
+ NVIDIA SMI

  ```
  NVIDIA-SMI 570.195.03             
  Driver Version: 570.195.03     
  CUDA Version: 12.8
  ```
+ Hauptversionen  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Hinzugefügte Pakete: In dieser Version wurden keine Pakete hinzugefügt.
+ Aktualisierte Pakete  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Entfernte Pakete: In dieser Version wurden keine Pakete entfernt.

**AL2023x86**

[Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/aws-deep-learning-ami-gpubaseoss-al2023-2025-10-14.html)
+ EKS-Versionen 1.28 — 1.32. Keine Veröffentlichung für EKS-Version 1.33.
+ Diese Version enthält CVE-Patches für die betroffenen NVIDIA-Treiberpakete, die im Nvidia [Security Bulletin vom Oktober](https://nvidia.custhelp.com/app/answers/detail/a_id/5703) zu finden sind.
+ NVIDIA SMI

  ```
  NVIDIA-SMI 580.95.05             
  Driver Version: 580.95.05  
  CUDA Version: 13.0
  ```
+ Hauptversionen  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Hinzugefügte Pakete: In dieser Version wurden keine Pakete hinzugefügt.
+ Aktualisierte Pakete  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Entfernte Pakete: In dieser Version wurden keine Pakete entfernt.

**AL2023 ARM64**

[Die Basisversion von DLAMI ist hier verfügbar.](https://docs.aws.amazon.com//dlami/latest/devguide/aws-deep-learning-ami-gpubaseossarm64-al2023-2025-10-14.html)
+ EKS-Versionen 1.31 bis 1.33.
+ Diese Version enthält CVE-Patches für die betroffenen NVIDIA-Treiberpakete, die im Nvidia Security Bulletin [vom Oktober](https://nvidia.custhelp.com/app/answers/detail/a_id/5703) zu finden sind.
+ NVIDIA SMI

  ```
  NVIDIA-SMI 580.95.05        
  Driver Version: 580.95.05    
  CUDA Version: 13.0
  ```
+ Hauptversionen  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Hinzugefügte Pakete: In dieser Version wurden keine Pakete hinzugefügt.
+ Aktualisierte Pakete  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-hyperpod-release-ami-eks.html)
+ Entfernte Pakete: In dieser Version wurden keine Pakete entfernt.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 29. September 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250929"></a>

**Allgemeine AMI-Updates**
+ Das neue SageMaker HyperPod AMI für Amazon EKS 1.33 wurde veröffentlicht. Weitere Informationen finden Sie unter SageMaker HyperPod AMI-Versionen für Amazon EKS: 29. September 2025.
**Wichtig**  
Die Beta-Kubernetes-API für dynamische Ressourcenzuweisung ist in dieser Version standardmäßig aktiviert.  
Diese API verbessert die Planung und Überwachung von Workloads, die Ressourcen erfordern, wie z. GPUs
Diese API wurde von der Open-Source-Kubernetes-Community entwickelt und könnte sich in future Versionen von Kubernetes ändern. Bevor Sie die API verwenden, sollten Sie die [Kubernetes-Dokumentation lesen und sich darüber informieren](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/), wie sie sich auf Ihre Workloads auswirkt.
HyperPod veröffentlicht kein HyperPod Amazon Linux 2-AMI für Kubernetes 1.33. AWS empfiehlt die Migration zu. AL2023 Weitere Informationen finden Sie unter [Upgrade von Amazon Linux 2 auf AL2023](https://docs.aws.amazon.com/eks/latest/userguide/al2023.html).

Weitere Informationen finden Sie unter [Kubernetes v1.33](https://kubernetes.io/blog/2025/04/23/kubernetes-v1-33-release/).

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ NVIDIA SMI:
  + NVIDIA-Treiberversion: 570.172.08
  + CUDA-Version: 12.8
+ Pakete:
  + Sprachen und Kernbibliotheken:
    + GCC: 11.5.0-5.amzn2023.0.5
    + GCC 14:14.2.1-7.amzn2023.0.1
    + Java: 17.016\$18-1.amzn2023.1
    + Perl: 5.32.1-477.amzn2023.0.7
    + Python: 3.9.23-1.amzn2023.0.3
    + Gehe zu: 3.2.0-37.amzn2023
    + Rost: 1.89.0-1.amzn2023.0.2
  + Kernbibliotheken:
    + GLibc: 2.34-196.amzn2023.0.1
    + OpenSSL: 3.2.2-1.amzn2023.0.1
    + Zlib: 1.2.11-33.amzn2023.0.5
    + XZ-Dienstprogramme: 5.2.5-9.amzn2023.0.2
    + Util-Linux: 2.37.4-1.amzn2023.0.4
  + Neuron:
    + aws-neuronx-dkms: 2.23.9.0-dkms
    + aws-neuronx-tools: 2,25,145,0-1
  + EFA:
    + efa-Treiber: 2.17.2-1.amzn2023
    + efa-Konfiguration: 1.18-1.amzn2023
    + efa nv-Server: 1.2.2-1.amzn2023
    + efa-Profil: 1.7-1.amzn2023
  + Kernel:
    + Kernel: 6.1.148-173.267.amzn2023
    + Kernel-Entwicklung: 6.1.148-173.267.amzn2023
    + Kernel-Header: 6.1.148-173.267.amzn2023
    + Kernel-Tools: 6.1.148-173.267.amzn2023
    + Zusätzliche Kernel-Module: 6.1.148-173.267.amzn2023
    + Kernel-Live-Patch: 1.0-0.amzn2023
  + Nvidia:
    + Nvidia-Container-Toolkit: 1.17.8-1
    + Basis des Nvidia-Container-Toolkits: 1.17.8-1
    + libnvidia-container: 1.17.8-1 (mit Tools)
    + NVIDIA Fabric Manager: 570.172.08-1
    + libnvidia-nscq: 570.172.08-1

------
#### [ Kubernetes v1.29 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ NVIDIA SMI:
  + NVIDIA-Treiberversion: 570.172.08
  + CUDA-Version: 12.8
+ Pakete:
  + Sprachen und Kernbibliotheken:
    + GCC: 11.5.0-5.amzn2023.0.5
    + GCC 14:14.2.1-7.amzn2023.0.1
    + Java: 17.016\$18-1.amzn2023.1
    + Perl: 5.32.1-477.amzn2023.0.7
    + Python: 3.9.23-1.amzn2023.0.3
    + Gehe zu: 3.2.0-37.amzn2023
    + Rost: 1.89.0-1.amzn2023.0.2
  + Kernbibliotheken:
    + GLibc: 2.34-196.amzn2023.0.1
    + OpenSSL: 3.2.2-1.amzn2023.0.1
    + Zlib: 1.2.11-33.amzn2023.0.5
    + XZ-Dienstprogramme: 5.2.5-9.amzn2023.0.2
    + Util-Linux: 2.37.4-1.amzn2023.0.4
  + Neuron:
    + aws-neuronx-dkms: 2.23.9.0-dkms
    + aws-neuronx-tools: 2,25,145,0-1
  + EFA:
    + efa-Treiber: 2.17.2-1.amzn2023
    + efa-Konfiguration: 1.18-1.amzn2023
    + efa nv-Server: 1.2.2-1.amzn2023
    + efa-Profil: 1.7-1.amzn2023
  + Kernel:
    + Kernel: 6.1.148-173.267.amzn2023
    + Kernel-Entwicklung: 6.1.148-173.267.amzn2023
    + Kernel-Header: 6.1.148-173.267.amzn2023
    + Kernel-Tools: 6.1.148-173.267.amzn2023
    + Zusätzliche Kernel-Module: 6.1.148-173.267.amzn2023
    + Kernel-Live-Patch: 1.0-0.amzn2023
  + Nvidia:
    + Nvidia-Container-Toolkit: 1.17.8-1
    + Basis des Nvidia-Container-Toolkits: 1.17.8-1
    + libnvidia-container: 1.17.8-1 (mit Tools)
    + NVIDIA Fabric Manager: 570.172.08-1
    + libnvidia-nscq: 570.172.08-1

------
#### [ Kubernetes v1.30 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ NVIDIA SMI:
  + NVIDIA-Treiberversion: 570.172.08
  + CUDA-Version: 12.8
+ Pakete:
  + Sprachen und Kernbibliotheken:
    + GCC: 11.5.0-5.amzn2023.0.5
    + GCC 14:14.2.1-7.amzn2023.0.1
    + Java: 17.016\$18-1.amzn2023.1
    + Perl: 5.32.1-477.amzn2023.0.7
    + Python: 3.9.23-1.amzn2023.0.3
    + Gehe zu: 3.2.0-37.amzn2023
    + Rost: 1.89.0-1.amzn2023.0.2
  + Kernbibliotheken:
    + GLibc: 2.34-196.amzn2023.0.1
    + OpenSSL: 3.2.2-1.amzn2023.0.1
    + Zlib: 1.2.11-33.amzn2023.0.5
    + XZ-Dienstprogramme: 5.2.5-9.amzn2023.0.2
    + Util-Linux: 2.37.4-1.amzn2023.0.4
  + Neuron:
    + aws-neuronx-dkms: 2.23.9.0-dkms
    + aws-neuronx-tools: 2,25,145,0-1
  + EFA:
    + efa-Treiber: 2.17.2-1.amzn2023
    + efa-Konfiguration: 1.18-1.amzn2023
    + efa nv-Server: 1.2.2-1.amzn2023
    + efa-Profil: 1.7-1.amzn2023
  + Kernel:
    + Kernel: 6.1.148-173.267.amzn2023
    + Kernel-Entwicklung: 6.1.148-173.267.amzn2023
    + Kernel-Header: 6.1.148-173.267.amzn2023
    + Kernel-Tools: 6.1.148-173.267.amzn2023
    + Zusätzliche Kernel-Module: 6.1.148-173.267.amzn2023
    + Kernel-Live-Patch: 1.0-0.amzn2023
  + Nvidia:
    + Nvidia-Container-Toolkit: 1.17.8-1
    + Basis des Nvidia-Container-Toolkits: 1.17.8-1
    + libnvidia-container: 1.17.8-1 (mit Tools)
    + NVIDIA Fabric Manager: 570.172.08-1
    + libnvidia-nscq: 570.172.08-1

------
#### [ Kubernetes v1.31 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ NVIDIA SMI:
  + NVIDIA-Treiberversion: 570.172.08
  + CUDA-Version: 12.8
+ Pakete:
  + Sprachen und Kernbibliotheken:
    + GCC: 11.5.0-5.amzn2023.0.5
    + GCC 14:14.2.1-7.amzn2023.0.1
    + Java: 17.016\$18-1.amzn2023.1
    + Perl: 5.32.1-477.amzn2023.0.7
    + Python: 3.9.23-1.amzn2023.0.3
    + Gehe zu: 3.2.0-37.amzn2023
    + Rost: 1.89.0-1.amzn2023.0.2
  + Kernbibliotheken:
    + GLibc: 2.34-196.amzn2023.0.1
    + OpenSSL: 3.2.2-1.amzn2023.0.1
    + Zlib: 1.2.11-33.amzn2023.0.5
    + XZ-Dienstprogramme: 5.2.5-9.amzn2023.0.2
    + Util-Linux: 2.37.4-1.amzn2023.0.4
  + Neuron:
    + aws-neuronx-dkms: 2.23.9.0-dkms
    + aws-neuronx-tools: 2,25,145,0-1
  + EFA:
    + efa-Treiber: 2.17.2-1.amzn2023
    + efa-Konfiguration: 1.18-1.amzn2023
    + efa nv-Server: 1.2.2-1.amzn2023
    + efa-Profil: 1.7-1.amzn2023
  + Kernel:
    + Kernel: 6.1.148-173.267.amzn2023
    + Kernel-Entwicklung: 6.1.148-173.267.amzn2023
    + Kernel-Header: 6.1.148-173.267.amzn2023
    + Kernel-Tools: 6.1.148-173.267.amzn2023
    + Zusätzliche Kernel-Module: 6.1.148-173.267.amzn2023
    + Kernel-Live-Patch: 1.0-0.amzn2023
  + Nvidia:
    + Nvidia-Container-Toolkit: 1.17.8-1
    + Basis des Nvidia-Container-Toolkits: 1.17.8-1
    + libnvidia-container: 1.17.8-1 (mit Tools)
    + NVIDIA Fabric Manager: 570.172.08-1
    + libnvidia-nscq: 570.172.08-1

------
#### [ Kubernetes v1.32 ]
+ **Amazon Linux 2 ist jetzt veraltet. Kubernetes AMI basiert auf. AL2023**
+ NVIDIA SMI:
  + NVIDIA-Treiberversion: 570.172.08
  + CUDA-Version: 12.8
+ Pakete:
  + Sprachen und Kernbibliotheken:
    + GCC: 11.5.0-5.amzn2023.0.5
    + GCC 14:14.2.1-7.amzn2023.0.1
    + Java: 17.016\$18-1.amzn2023.1
    + Perl: 5.32.1-477.amzn2023.0.7
    + Python: 3.9.23-1.amzn2023.0.3
    + Gehe zu: 3.2.0-37.amzn2023
    + Rost: 1.89.0-1.amzn2023.0.2
  + Kernbibliotheken:
    + GLibc: 2.34-196.amzn2023.0.1
    + OpenSSL: 3.2.2-1.amzn2023.0.1
    + Zlib: 1.2.11-33.amzn2023.0.5
    + XZ-Dienstprogramme: 5.2.5-9.amzn2023.0.2
    + Util-Linux: 2.37.4-1.amzn2023.0.4
  + Neuron:
    + aws-neuronx-dkms: 2.23.9.0-dkms
    + aws-neuronx-tools: 2,25,145,0-1
  + EFA:
    + efa-Treiber: 2.17.2-1.amzn2023
    + efa-Konfiguration: 1.18-1.amzn2023
    + efa nv-Server: 1.2.2-1.amzn2023
    + efa-Profil: 1.7-1.amzn2023
  + Kernel:
    + Kernel: 6.1.148-173.267.amzn2023
    + Kernel-Entwicklung: 6.1.148-173.267.amzn2023
    + Kernel-Header: 6.1.148-173.267.amzn2023
    + Kernel-Tools: 6.1.148-173.267.amzn2023
    + Zusätzliche Kernel-Module: 6.1.148-173.267.amzn2023
    + Kernel-Live-Patch: 1.0-0.amzn2023
  + Nvidia:
    + Nvidia-Container-Toolkit: 1.17.8-1
    + Basis des Nvidia-Container-Toolkits: 1.17.8-1
    + libnvidia-container: 1.17.8-1 (mit Tools)
    + NVIDIA Fabric Manager: 570.172.08-1
    + libnvidia-nscq: 570.172.08-1

------
#### [ Kubernetes v1.33 ]

Die folgende Tabelle enthält Informationen zu den Komponenten in dieser AMI-Version und den entsprechenden Versionen.


| component | AL2023\$1x86 | AL2023\$1arm64 | 
| --- | --- | --- | 
| EKS | v1.33.4 | v1.33.4 | 
| amazon-ssm-agent | 3.3.2299.0-1.amzn2023 | 3.3.2299,0-1. amzn2023 | 
| aws-neuronx-dkms | 2.23.9.0-dkms | – | 
| containerd | 1.7.27-1.eks.amzn2023.0.4 | 1.7.27-1.eks.amzn2023.0.4 | 
| efa | 2.17.2-1.amzn2023 | 2.17.2-1. amzn2023 | 
| ena | 2,14,1 g | 2,14,1 g | 
| kernel | 6.12.40-64.114.amzn2023 | – | 
| Kernel 6.12 | – | 6.12.40-64.114.amzn2023 | 
| kmod-nvidia-latest-dkms | 570,172,08-1. amzn2023 | 570,172,08-1.el9 | 
| nvidia-container-toolkit | 1,17,8-1 | 1,17,8-1 | 
| runc | 1.2.6-1.amzn2023.0.1 | 1.2.6-1.amzn2023.0.1 | 

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 25. August 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250825"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Diese Veröffentlichung umfasst folgende Updates:

------
#### [ Kubernetes v1.28 ]

**NVIDIA SMI:**
+ Nvidia-Treiberversion: 570.172.08
+ CUDA-Version: 12.8

**Hinzugefügte Pakete:**
+ kernel-livepatch-5.10.240-238.955.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Aktualisierte Pakete:**
+ gdk-pixbuf2.x86\$164: 2.36.12-3.amzn2 → 2.36.12-3.amzn2.0.2
+ kernel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-devel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-headers.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-tools.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ libgs.x86\$164: 9.54.0-9.amzn2.0.11 → 9.54.0-9.amzn2.0.12
+ microcode\$1ctl.x86\$164: 2:2.1-47.amzn2.4.24 → 2:2.1-47.amzn2.4.25
+ pam.x86\$164: 1.1.8-23.amzn2.0.2 → 1.1.8-23.amzn2.0.4

**Entfernte Pakete:**
+ kernel-livepatch-5.10.239-236.958.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Geändertes Repository:**
+ libnvidia-container-tools.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ libnvidia-container1.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit-base.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit

------
#### [ Kubernetes v1.29 ]

**NVIDIA SMI:**
+ Nvidia-Treiberversion: 570.172.08
+ CUDA-Version: 12.8

**Hinzugefügte Pakete:**
+ kernel-livepatch-5.10.240-238.955.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Aktualisierte Pakete:**
+ gdk-pixbuf2.x86\$164: 2.36.12-3.amzn2 → 2.36.12-3.amzn2.0.2
+ kernel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-devel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-headers.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-tools.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ libgs.x86\$164: 9.54.0-9.amzn2.0.11 → 9.54.0-9.amzn2.0.12
+ microcode\$1ctl.x86\$164: 2:2.1-47.amzn2.4.24 → 2:2.1-47.amzn2.4.25
+ pam.x86\$164: 1.1.8-23.amzn2.0.2 → 1.1.8-23.amzn2.0.4

**Entfernte Pakete:**
+ kernel-livepatch-5.10.239-236.958.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Geändertes Repository:**
+ libnvidia-container-tools.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ libnvidia-container1.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit-base.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit

------
#### [ Kubernetes v1.30 ]

**NVIDIA SMI:**
+ Nvidia-Treiberversion: 570.172.08
+ CUDA-Version: 12.8

**Hinzugefügte Pakete:**
+ kernel-livepatch-5.10.240-238.955.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Aktualisierte Pakete:**
+ aws-neuronx-dkms.noarch: 2.22.2.0-dkms → 2.23.9.0-dkms
+ efa.x86\$164: 2.15.3-1.amzn2 → 2.17.2-1.amzn2
+ efa-nv-peermem.x86\$164:1.2.1-1.amzn2 → 1.2.2-1.amzn2
+ gdk-pixbuf2.x86\$164: 2.36.12-3.amzn2 → 2.36.12-3.amzn2.0.2
+ ibacm.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ infiniband-diags.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ kernel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-devel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-headers.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-tools.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ libfabric-aws.x86\$164: 2.1.0amzn3.0-1.amzn2 → 2.1.0amzn5.0-1.amzn2
+ libfabric-aws-devel.x86\$164:2.1.0 amzn3.0-1.amzn2 → 2.1.0 amzn5.0-1.amzn2
+ libgs.x86\$164: 9.54.0-9.amzn2.0.11 → 9.54.0-9.amzn2.0.12
+ libibumad.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs-core.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs-utils.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libnccl-ofi.x86\$164: 1.15.0-1.amzn2 → 1.16.2-1.amzn2
+ librdmacm.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ librdmacm-utils.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ microcode\$1ctl.x86\$164: 2:2.1-47.amzn2.4.24 → 2:2.1-47.amzn2.4.25
+ pam.x86\$164: 1.1.8-23.amzn2.0.2 → 1.1.8-23.amzn2.0.4
+ rdma-core.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ rdma-core-devel.x86\$164:57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2

**Entfernte Pakete:**
+ kernel-livepatch-5.10.239-236.958.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Geändertes Repository:**
+ libnvidia-container-tools.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ libnvidia-container1.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit-base.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit

------
#### [ Kubernetes v1.31 ]

**NVIDIA SMI:**
+ Nvidia-Treiberversion: 570.172.08
+ CUDA-Version: 12.8

**Hinzugefügte Pakete:**
+ kernel-livepatch-5.10.240-238.955.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Aktualisierte Pakete:**
+ gdk-pixbuf2.x86\$164: 2.36.12-3.amzn2 → 2.36.12-3.amzn2.0.2
+ kernel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-devel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-headers.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-tools.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ libgs.x86\$164: 9.54.0-9.amzn2.0.11 → 9.54.0-9.amzn2.0.12
+ microcode\$1ctl.x86\$164: 2:2.1-47.amzn2.4.24 → 2:2.1-47.amzn2.4.25
+ pam.x86\$164: 1.1.8-23.amzn2.0.2 → 1.1.8-23.amzn2.0.4

**Entfernte Pakete:**
+ kernel-livepatch-5.10.239-236.958.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Geändertes Repository:**
+ libnvidia-container-tools.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ libnvidia-container1.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit-base.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit

------
#### [ Kubernetes v1.32 ]

**NVIDIA SMI:**
+ Nvidia-Treiberversion: 570.172.08
+ CUDA-Version: 12.8

**Hinzugefügte Pakete:**
+ kernel-livepatch-5.10.240-238.955.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Aktualisierte Pakete:**
+ aws-neuronx-dkms.noarch: 2.22.2.0-dkms → 2.23.9.0-dkms
+ efa.x86\$164: 2.15.3-1.amzn2 → 2.17.2-1.amzn2
+ efa-nv-peermem.x86\$164:1.2.1-1.amzn2 → 1.2.2-1.amzn2
+ gdk-pixbuf2.x86\$164: 2.36.12-3.amzn2 → 2.36.12-3.amzn2.0.2
+ ibacm.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ infiniband-diags.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ kernel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-devel.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-headers.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ kernel-tools.x86\$164: 5.10.239-236.958.amzn2 → 5.10.240-238.955.amzn2
+ libfabric-aws.x86\$164: 2.1.0amzn3.0-1.amzn2 → 2.1.0amzn5.0-1.amzn2
+ libfabric-aws-devel.x86\$164:2.1.0 amzn3.0-1.amzn2 → 2.1.0 amzn5.0-1.amzn2
+ libgs.x86\$164: 9.54.0-9.amzn2.0.11 → 9.54.0-9.amzn2.0.12
+ libibumad.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs-core.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libibverbs-utils.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ libnccl-ofi.x86\$164: 1.15.0-1.amzn2 → 1.16.2-1.amzn2
+ librdmacm.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ librdmacm-utils.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ microcode\$1ctl.x86\$164: 2:2.1-47.amzn2.4.24 → 2:2.1-47.amzn2.4.25
+ pam.x86\$164: 1.1.8-23.amzn2.0.2 → 1.1.8-23.amzn2.0.4
+ rdma-core.x86\$164: 57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2
+ rdma-core-devel.x86\$164:57.amzn1-1.amzn2.0.2 → 58.amzn0-1.amzn2.0.2

**Entfernte Pakete:**
+ kernel-livepatch-5.10.239-236.958.x86\$164 1.0-0.amzn2 amzn2extra-kernel-5.10

**Geändertes Repository:**
+ libnvidia-container-tools.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ libnvidia-container1.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit
+ nvidia-container-toolkit-base.x86\$164: cuda-Rhel8-x86\$164 → nvidia-container-toolkit

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 12. August 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250812"></a>

**Das AMI umfasst Folgendes:**
+ Unterstützter AWS Service: Amazon EC2
+ Betriebssystem: Amazon Linux 2023
+ Rechenarchitektur: ARM64
+ Die neueste verfügbare Version ist für die folgenden Pakete installiert:
  + Linux-Kernel: 6.12
  + FSx Glanz
  + Docker
  + AWS CLI v2 bei `/usr/bin/aws`
  + NVIDIA DCGM
  + Nvidia-Container-Toolkit:
    + Befehl Version: `nvidia-container-cli -V`
  + NVIDIA-Docker2:
    + Befehl Version: `nvidia-docker version`
  + NVIDIA-IMEX: v570.172.08-1
+ NVIDIA-Treiber: 570.158.01
+ NVIDIA CUDA 12.4, 12.5, 12.6, 12.8 Stapel:
  + Installationsverzeichnisse CUDA, NCCL und cuDDN: `/usr/local/cuda-xx.x/`
    + Beispiel: `/usr/local/cuda-12.8/`, `/usr/local/cuda-12.8/`
  + Kompilierte NCCL-Version:
    + Für das CUDA-Verzeichnis von 12.4, kompilierte NCCL-Version 2.22.3\$1. 4 CUDA12
    + Für das CUDA-Verzeichnis 12.5, kompilierte NCCL-Version 2.22.3\$1 .5 CUDA12
    + Für das CUDA-Verzeichnis von 12.6, kompilierte NCCL-Version 2.24.3\$1 .6 CUDA12
    + Für das CUDA-Verzeichnis von 12.8, kompilierte NCCL-Version 2.27.5\$1. CUDA12
  + Standard-CUDA: 12.8
    + PATH `/usr/local/cuda` zeigt auf CUDA 12.8
    + Die folgenden Umgebungsvariablen wurden aktualisiert:
      + `LD_LIBRARY_PATH`zu haben `/usr/local/cuda-12.8/lib:/usr/local/cuda-12.8/lib64:/usr/local/cuda-12.8:/usr/local/cuda-12.8/targets/sbsa-linux/lib:/usr/local/cuda-12.8/nvvm/lib64:/usr/local/cuda-12.8/extras/CUPTI/lib64`
      + `PATH`zu haben `/usr/local/cuda-12.8/bin/:/usr/local/cuda-12.8/include/`
      + Für jede andere CUDA-Version aktualisieren Sie bitte `LD_LIBRARY_PATH` entsprechend.
+ EFA-Installationsprogramm: 1.42.0
+ Nvidia GDRCopy: 2.5.1
+ AWS Das OFI NCCL-Plugin wird mit dem EFA-Installationsprogramm geliefert
  + Pfade `/opt/amazon/ofi-nccl/lib` und `/opt/amazon/ofi-nccl/efa` werden hinzugefügt. `LD_LIBRARY_PATH`
+ AWS CLI v2 bei `/usr/local/bin/aws`
+ EBS-Volumetyp: gp3
+ Python: `/usr/bin/python3.9`

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 6. August 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250806"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Sie AMIs beinhalten die folgenden Updates:

------
#### [ K8s v1.28 ]
+ **Neuron-Pakete:**
  + **aws-neuronx-collectives: 2.27.34.0\$1ec8cd5e8b-1**
  + **aws-neuronx-dkms:** 2.23.9.0-dkms
  + **aws-neuronx-runtime-lib: 2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-k8-Erweiterung: 2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler:** 2.27.7.0-1
  + **aws-neuronx-tools: 2.25.145.0-1**

------
#### [ K8s v1.29 ]
+ **Neuron-Pakete:**
  + **aws-neuronx-collectives: 2,27,34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-dkms:** 2.23.9.0-dkms
  + **aws-neuronx-runtime-lib: 2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-k8-Erweiterung: 2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler:** 2.27.7.0-1
  + **aws-neuronx-tools: 2.25.145.0-1**

------
#### [ K8s v1.30 ]
+ **Neuron-Pakete:**
  + **aws-neuronx-collectives: 2,27,34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-dkms:** 2.23.9.0-dkms
  + **aws-neuronx-runtime-lib: 2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-k8-Erweiterung: 2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler:** 2.27.7.0-1
  + **aws-neuronx-tools: 2.25.145.0-1**

------
#### [ K8s v1.31 ]
+ **Neuron-Pakete:**
  + **aws-neuronx-collectives: 2,27,34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-dkms:** 2.23.9.0-dkms
  + **aws-neuronx-runtime-lib: 2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-k8-Erweiterung: 2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler:** 2.27.7.0-1
  + **aws-neuronx-tools: 2.25.145.0-1**

------
#### [ K8s v1.32 ]
+ **Neuron-Pakete:**
  + **aws-neuronx-collectives: 2,27,34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-dkms:** 2.23.9.0-dkms
  + **aws-neuronx-runtime-lib: 2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-k8-Erweiterung: 2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler:** 2.27.7.0-1
  + **aws-neuronx-tools: 2.25.145.0-1**

------

**Wichtig**  
Deep Learning Base OSS Nvidia-Treiber AMI (Amazon Linux 2) Version 70.3
Deep-Learning-Base-proprietäres Nvidia-Treiber-AMI (Amazon Linux 2) -AMI 6.8.4
Neueste Unterstützung für CUDA 12.8
Der Nvidia-Treiber wurde von 570.158.01 auf 570.172.08 aktualisiert, um die im Nvidia-Sicherheitsbulletin für Juli enthaltenen CVE-Probleme zu beheben

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 31. Juli 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250731"></a>

Amazon unterstützt SageMaker HyperPod jetzt ein neues AMI für Amazon EKS-Cluster, das das Basisbetriebssystem auf Amazon Linux 2023 aktualisiert. Diese Version bietet mehrere Verbesserungen gegenüber Amazon Linux 2 (AL2). HyperPod veröffentlicht AMIs regelmäßig neue Versionen. Wir empfehlen, dass Sie alle Ihre HyperPod Cluster auf den neuesten und sichersten Versionen von ausführen, um Sicherheitslücken AMIs zu schließen und veraltete Software und Bibliotheken auslaufen zu lassen.

### Wichtige Upgrades
<a name="sagemaker-hyperpod-release-ami-eks-20250731-specs"></a>
+ **Betriebssystem**: Amazon Linux 2023 (aktualisiert von Amazon Linux 2 oder AL2)
+ **Package Manager**: DNF ist das Standard-Paketverwaltungstool und ersetzt YUM, das in verwendet wird AL2
+ **Netzwerkdienst**: `systemd-networkd` verwaltet Netzwerkschnittstellen und ersetzt `dhclient` ISC, das in verwendet wird AL2
+ **Linux-Kernel**: Version 6.1, aktualisiert gegenüber dem in verwendeten Kernel AL2
+ **Glibc**: Version 2.34, aktualisiert von der Version in AL2
+ **GCC**: Version 11.5.0, aktualisiert von der Version in AL2
+ **NFS**: Version 1:2.6 .1, aktualisiert von Version 1:1.3 .4 in AL2
+ **NVIDIA-Treiber**: Version 570.172.08, eine neuere Treiberversion
+ **Python**: Version 3.9, ersetzt Python 2.7, das in verwendet wurde AL2
+ **NVME**: Version 1.11.1, eine neuere Version des Treibers NVMe 

### Vor dem Upgrade
<a name="sagemaker-hyperpod-release-ami-eks-20250731-prereqs"></a>

Vor dem Upgrade sollten Sie einige wichtige Dinge wissen. Mit AL2023 wurden im Vergleich zu mehrere Pakete hinzugefügt, aktualisiert oder entfernt. AL2 Wir empfehlen dringend, dass Sie Ihre Anwendungen mit testen, AL2023 bevor Sie Ihre Cluster aktualisieren. Eine umfassende Liste aller Paketänderungen in AL2023 finden Sie unter [Paketänderungen in Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/release-notes/compare-packages.html).

Im Folgenden sind einige der wichtigsten Änderungen zwischen AL2 und aufgeführt AL2023:
+ **Python 3.10**: Das wichtigste Update neben dem Betriebssystem ist das Python-Versionsupgrade. Nach dem Upgrade haben Cluster standardmäßig Python 3.10. Obwohl einige verteilte Python-3.8-Training-Workloads möglicherweise mit Python 3.10 kompatibel sind, empfehlen wir dringend, dass Sie Ihre spezifischen Workloads separat testen. Wenn sich die Migration zu Python 3.10 als schwierig erweist, Sie Ihren Cluster dennoch für andere neue Funktionen aktualisieren möchten, können Sie eine ältere Python-Version installieren, indem Sie den Befehl `yum install python-xx.x` mit [Lebenszyklusskripten](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-lifecycle-best-practices-slurm.html) verwenden, bevor Sie Workloads ausführen. Stellen Sie sicher, dass Sie sowohl Ihre vorhandenen Lebenszyklus-Skripts als auch Ihren Anwendungscode auf Kompatibilität testen.
+ **Durchsetzung der NVIDIA-Laufzeit: Erzwingt** AL2023 strikt die Laufzeitanforderungen für NVIDIA-Container, was dazu führt, dass Container mit hartcodierten NVIDIA-Umgebungsvariablen (wie`NVIDIA_VISIBLE_DEVICES: "all"`) auf reinen CPU-Knoten fehlschlagen (während diese Einstellungen AL2 ignoriert werden, wenn keine GPU-Treiber vorhanden sind). Sie können die Durchsetzung außer Kraft setzen, indem Sie sie `NVIDIA_VISIBLE_DEVICES: "void"` in Ihrer Pod-Spezifikation festlegen oder indem Sie reine CPU-Images verwenden.
+ **cgroup v2**: AL2023 bietet die nächste Generation einheitlicher Kontrollgruppenhierarchien (cgroup v2). cgroup v2 wird für Container-Laufzeiten verwendet und wird auch von verwendet. `systemd` Es enthält zwar AL2023 immer noch Code, mit dem das System mithilfe von cgroup v1 ausgeführt werden kann, dies ist jedoch keine empfohlene Konfiguration.
+ **Amazon VPC CNI und `eksctl` Versionen**: AL2023 Außerdem muss Ihre Amazon VPC CNI-Version 1.16.2 oder höher und Ihre `eksctl` Version 0.176.0 oder höher sein.
+ **EFA on FSx for Lustre**: Sie können EFA on jetzt FSx für Lustre verwenden, wodurch Sie eine Anwendungsleistung erzielen können, die mit lokalen Clustern AI/ML oder HPC-Clustern (High Performance Computing) vergleichbar ist, und gleichzeitig von der Skalierbarkeit, Flexibilität und Elastizität von Cloud Computing profitieren.

Darüber hinaus ist für ein Upgrade auf AL2023 eine Mindestversion `1.0.643.0_1.0.192.0` des Health Monitoring Agents erforderlich. Führen Sie das folgende Verfahren durch, um den Health Monitoring Agent zu aktualisieren:

1. Wenn Sie HyperPod Lifecycle-Skripts aus dem GitHub Repository verwenden [awsome-distributed-training](https://github.com/aws-samples/awsome-distributed-training)), stellen Sie sicher, dass Sie die neueste Version abrufen. Frühere Versionen sind nicht kompatibel mit AL2023. Das neue Lifecycle-Skript stellt sicher, dass der zusätzliche bereitgestellte Speicher zum Abrufen von Container-Images `containerd` verwendet wird AL2023.

1. Rufen Sie die neueste Version des [HyperPod CLI-Git-Repositorys](https://github.com/aws/sagemaker-hyperpod-cli/tree/main) auf.

1. Aktualisieren Sie Abhängigkeiten mit dem folgenden Befehl: `helm dependencies update helm_chart/HyperPodHelmChart`

1. Wie in Schritt 4 in der [README-Datei von](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#step-four-whenever-you-want-to-upgrade-the-installation-of-helm-charts) erwähnt HyperPodHelmChart, führen Sie den folgenden Befehl aus, um die Version der Abhängigkeiten zu aktualisieren, die auf dem Cluster ausgeführt werden: `helm upgrade dependencies helm_chart/HyperPodHelmChart -namespace kube-system`

### Workloads, die auf aktualisierten EKS-Clustern getestet wurden
<a name="sagemaker-hyperpod-release-ami-eks-20250731-tested"></a>

Im Folgenden sind einige Anwendungsfälle aufgeführt, in denen das Upgrade getestet wurde:
+ **Abwärtskompatibilität**: Beliebte verteilte Trainingsjobs, die beinhalten, PyTorch sollten auf dem neuen AMI abwärtskompatibel sein. Da Ihre Workloads jedoch von bestimmten Python- oder Linux-Bibliotheken abhängen können, empfehlen wir, zuerst in einem kleineren Maßstab oder einer Teilmenge von Knoten zu testen, bevor Sie Ihre größeren Cluster aktualisieren.
+ **Beschleunigertests**: Es wurden Jobs für verschiedene Instance-Typen getestet, wobei sowohl NVIDIA-Beschleuniger (für die P- und G-Instance-Familien) als auch AWS Neuron-Beschleuniger (für Trn-Instances) verwendet wurden.

### So aktualisieren Sie Ihr AMI und die zugehörigen Workloads
<a name="sagemaker-hyperpod-release-ami-eks-20250731-upgrade"></a>

Sie können mithilfe einer der folgenden Methoden ein Upgrade auf das neue AMI durchführen:
+ Verwenden Sie die [Create-Cluster-API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html), um einen neuen Cluster mit dem neuesten AMI zu erstellen.
+ Verwenden Sie die [update-cluster-software](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html)API, um Ihren vorhandenen Cluster zu aktualisieren. Beachten Sie, dass diese Option alle Lebenszyklusskripts erneut ausführt.

Während des Aktualisierungsvorgangs ist der Cluster nicht verfügbar. Wir empfehlen, diese Ausfallzeit einzuplanen und die Trainingslast nach Abschluss des Upgrades von einem vorhandenen Checkpoint aus neu zu starten. Als bewährte Methode empfehlen wir Ihnen, Tests an einem kleineren Cluster durchzuführen, bevor Sie Ihre größeren Cluster aktualisieren.

Wenn der Befehl zum Aktualisieren fehlschlägt, identifizieren Sie zunächst die Fehlerursache. Nehmen Sie bei Fehlern im Lebenszyklus-Skript die erforderlichen Korrekturen an Ihren Skripts vor und versuchen Sie es erneut. Bei allen anderen Problemen, die nicht gelöst werden können, wenden Sie sich an [AWS Support](https://aws.amazon.com/premiumsupport/).

### Fehlerbehebung
<a name="sagemaker-hyperpod-release-ami-eks-20250731-troubleshooting"></a>

Verwenden Sie den folgenden Abschnitt, um Hilfe bei der Behebung von Problemen zu erhalten, die beim Upgrade auf auftreten AL2023.

**Wie behebe ich Fehler, z. B. `"nvml error: driver not loaded: unknown"` auf Clusterknoten, die nur mit CPUs arbeiten?**

Wenn Container, die auf AL2 CPU-Amazon-EKS-Knoten funktionierten, jetzt ausfallen AL2023, enthält Ihr Container-Image möglicherweise hartcodierte NVIDIA-Umgebungsvariablen. Sie können mit dem folgenden Befehl nach fest codierten Umgebungsvariablen suchen:

```
docker inspect image:tag | grep -i nvidia
```

AL2023 setzt diese Anforderungen strikt durch, während AL2 es bei reinen CPU-Knoten milder war. Eine Lösung besteht darin, die AL2023 Durchsetzung außer Kraft zu setzen, indem Sie bestimmte NVIDIA-Umgebungsvariablen in Ihrer Amazon EKS-Pod-Spezifikation festlegen, wie im folgenden Beispiel gezeigt:

```
yaml
containers:
- name: your-container
image: your-image:tag
env:
- name: NVIDIA_VISIBLE_DEVICES
value: "void"
- name: NVIDIA_DRIVER_CAPABILITIES
value: ""
```

Eine weitere Alternative besteht darin, Container-Images (wie`pytorch/pytorch:latest-cpu`) nur für die CPU zu verwenden oder benutzerdefinierte Images ohne NVIDIA-Abhängigkeiten zu erstellen.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 15. Juli 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250715"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

Sie AMIs beinhalten die folgenden Updates:

------
#### [ K8s v1.28 ]
+ **Neuester NVIDIA-Treiber: 550.163.01**
+ **Standard-CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.38.0
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch**: 2.22.2.0-dkms
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,26.43.0\$147cc904ea-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,16,2,0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,16.1.0\$10a6506a47-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.26.26.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.26.26.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.26.42.0\$12ff3b5c7d-1**
  + **aws-neuronx-tools.x86\$164:2,24,54,0-1**
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.29 ]
+ **Nvidia-Treiberversion:** 550.163.01
+ **CUDA-Version:** 12.4
+ **EFA-Installationsprogramm:** 1.38.0
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,26.43.0\$147cc904ea-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,16,2,0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,16.1.0\$10a6506a47-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.26.26.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.26.26.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.26.42.0\$12ff3b5c7d-1**
  + **aws-neuronx-tools.x86\$164:2,24,54,0-1**
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.30 ]
+ **Nvidia-Treiberversion:** 550.163.01
+ **CUDA-Version:** 12.4
+ **Version des EFA-Installationsprogramms:** 1.38.0
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,26.43.0\$147cc904ea-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,16,2,0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,16.1.0\$10a6506a47-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.26.26.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.26.26.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.26.42.0\$12ff3b5c7d-1**
  + **aws-neuronx-tools.x86\$164:2,24,54,0-1**
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.31 ]
+ **Nvidia-Treiberversion:** 550.163.01
+ **CUDA-Version:** 12.4
+ **Version des EFA-Installationsprogramms:** 1.38.0
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,26.43.0\$147cc904ea-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,16,2,0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,16.1.0\$10a6506a47-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.26.26.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.26.26.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.26.42.0\$12ff3b5c7d-1**
  + **aws-neuronx-tools.x86\$164:2,24,54,0-1**
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.32 ]
+ **Nvidia-Treiberversion:** 550.163.01
+ **CUDA-Version:** 12.4
+ **Version des EFA-Installationsprogramms:** 1.38.0
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,26.43.0\$147cc904ea-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,16,2,0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,16.1.0\$10a6506a47-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.26.26.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.26.26.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.26.42.0\$12ff3b5c7d-1**
  + **aws-neuronx-tools.x86\$164:2,24,54,0-1**
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 09. Juni 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250609"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

------
#### [ Neuron SDK Updates ]
+ **aws-neuronx-dkms.noarch: 2.21.37.0 (von 2.20.74.0**)

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 22. Mai 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250522"></a>

**Allgemeine AMI-Updates**

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

------
#### [ Deep Learning Base AMI AL2 ]
+ **Neuester NVIDIA-Treiber: 550.163.01**
+ **CUDA-Stack-Updates:**
  + **Standard-CUDA:** 12.1
  + **NCCL-Version:** 2.22.3
+ **EFA-Installationsprogramm:** 1.38.0
+ **AWS OFI NCCL: 1.13.2**
+ **Linux-Kernel:** 5.10
+ **GDRCopy: 2,4**

**Wichtig**  
**Aktualisierung des NVIDIA Container Toolkit 1.17.4:** Die Einbindung von CUDA-kompatiblen Bibliotheken ist nun deaktiviert.
**EFA-Updates von 1.37 auf 1.38:**  
AWS Das OFI-NCCL-Plugin befindet sich jetzt in/-nccl opt/amazon/ofi
Der vorherige Speicherort /opt//ist veraltet aws-ofi-nccl

------
#### [ Neuron SDK Updates ]
+ **aws-neuronx-dkms.noarch**: 2.20.74.0 (von 2.20.28.0)
+ **aws-neuronx-collectives.x86\$164:2.25.65.0\$19858ac9a1-1** (von 2.24.59.0\$1838c7fc8b-1)
+ **aws-neuronx-runtime-lib.x86\$164:** 2.25.57.0\$1166c7a468-1 (von 2.24.53.0\$1f239092cc-1)
+ **aws-neuronx-tools.x86\$164:** 2.23.9.0 (von 2.22.61.0)
+ **aws-neuronx-gpsimd-customop-lib.x86\$164:** 0.15.12.0 (von 0.14.12.0)
+ **aws-neuronx-gpsimd-tools.x86\$164:0.15.1.0\$15d31b6a3f (von 0.14.6.0\$1241eb69f4**)
+ **aws-neuronx-k8-plugin.x86\$164:** 2.25.24.0 (von 2.24.23.0)
+ **aws-neuronx-k8-scheduler.x86\$164:** 2.25.24.0 (von 2.24.23.0)

**Hinweise zu Support:**
+ AMI-Komponenten, einschließlich CUDA-Versionen, können basierend auf der Framework-Supportrichtlinie entfernt oder geändert werden
+ Die Kernel-Version ist aus Kompatibilitätsgründen festgelegt. Benutzer sollten Updates vermeiden, sofern sie nicht für Sicherheitspatches erforderlich sind
+ Für EC2-Instances mit mehreren Netzwerkkarten finden Sie Informationen zur korrekten Einrichtung im EFA-Konfigurationsleitfaden

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 07. Mai 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250507"></a>

------
#### [ Installed the latest version of AWS Neuron SDK ]
+ **tensorflow-model-server-neuron.x86\$164** 2.8.0.2.3.0.0-0 Neuron

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 28. April 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250428"></a>

**Verbesserungen für K8s**
+ Der NVIDIA-Treiber wurde von Version 550.144.03 auf 550.163.01 aktualisiert. Mit diesem Upgrade sollen häufig auftretende Sicherheitslücken und Sicherheitslücken (CVEs) behoben werden, die im [NVIDIA GPU Display Security Bulletin vom April 2025 aufgeführt](https://nvidia.custhelp.com/app/answers/detail/a_id/5630) sind.

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

------
#### [ Installed the latest version of AWS Neuron SDK ]
+ **aws-neuronx-dkms.noarch**: 2.20.28.0-dkms
+ **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
+ **aws-neuronx-tools.x86\$164:2.18.3.0-1**
+ **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
+ **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
+ **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
+ **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
+ **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
+ **aws-neuron-tools.x86\$164:** 2.1.4.0-1
+ **aws-neuronx-collectives.x86\$164:2,24,59,0\$1838c7fc8b-1**
+ **aws-neuronx-gpsimd-customop.x86\$164:0,2.3.0-1**
+ **aws-neuronx-gpsimd-customop-lib.x86\$164:0,14.12.0-1**
+ **aws-neuronx-gpsimd-tools.x86\$164:0,14.6.0\$1241eb69f4-1**
+ **aws-neuronx-k8-plugin.x86\$164:2.24.23.0-1**
+ **aws-neuronx-k8-Scheduler.x86\$164**: 2.24.23.0-1
+ **aws-neuronx-runtime-lib.x86\$164:2.24.53.0\$1f239092cc-1**
+ **aws-neuronx-tools.x86\$164:** 2,22.61,0-1
+ **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 18. April 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250418"></a>

**Allgemeine AMI-Updates**
+ Neues SageMaker HyperPod AMI für Amazon EKS 1.32.1.

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

 AMIs Dazu gehören die folgenden:

------
#### [ Deep Learning EKS AMI 1.32.1 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.32.1
  + Containerd-Version: 1.7.27
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.29
+ **Amazon SSM Agent:** 3.3.1611.0 
+ **Linux-Kernel:** 5.10.235
+ **OSS-Nvidia-Treiber**: 550.163.01
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1-1
+ **Nvidia-Container-Toolkit**: 1.17.6
+ **AWS OFI NCCL: 1.13.2**
+ **aws-neuronx-tools: 2,18,3,0**
+ **aws-neuronx-runtime-lib: 2,24,53,0**
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,20,28,0
+ **aws-neuronx-collectives:** 2,24,59,0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 18. Februar 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250218"></a>

**Verbesserungen für K8s**
+ Das Nvidia-Container-Toolkit wurde von Version 1.17.3 auf Version 1.17.4 aktualisiert.
+ Das Problem, dass Kunden nach einem Neustart keine Verbindung zu Knoten herstellen konnten, wurde behoben.
+ Die Version des Elastic Fabric Adapter (EFA) wurde von 1.37.0 auf 1.38.0 aktualisiert.
+ Die EFA enthält jetzt das AWS OFI-NCCL-Plugin, das sich im `/opt/amazon/ofi-nccl` Verzeichnis statt im ursprünglichen Pfad befindet. `/opt/aws-ofi-nccl/` Sollten Sie Ihre Umgebungsvariable `LD_LIBRARY_PATH` aktualisieren müssen, stellen Sie sicher, dass Sie den Pfad so ändern, dass er auf den neuen `/opt/amazon/ofi-nccl`-Speicherort des OFI-NCCL-Plugins verweist.
+ Das Emacs-Paket wurde aus diesen entfernt. DLAMIs Sie können Emacs von GNU Emac aus installieren.

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

------
#### [ Installed the latest version of neuron SDK ]
+ **aws-neuronx-dkms.noarch**: 2.19.64.0-dkms @neuron
+ **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1 @neuron
+ **aws-neuronx-tools.x86\$164:** 2.18.3.0-1 @neuron
+ **aws-neuronx-collectives.x86\$164:2.23.135.0\$13e70920f2-1-Neuron**
+ **aws-neuronx-gpsimd-customop.x86\$164:** 0.2.3.0-1 Neuron
+ **aws-neuronx-gpsimd-customop-lib.x86\$164**
+ **aws-neuronx-gpsimd-tools.x86\$164:0.13.2.0\$194ba34927-1 Neuron**
+ **aws-neuronx-k8-plugin.x86\$164:** 2.23.45.0-1 Neuron
+ **aws-neuronx-k8-Scheduler.x86\$164:** 2.23.45.0-1 Neuron
+ **aws-neuronx-runtime-lib.x86\$164:2.23.112.0\$19b5179492-1** Neuron
+ **aws-neuronx-tools.x86\$164:2.20.204.0-1** Neuron
+ **tensorflow-model-server-neuronx.x86\$164**

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 22. Januar 2025
<a name="sagemaker-hyperpod-release-ami-eks-20250122"></a>

**Allgemeine AMI-Updates**
+ Neues SageMaker HyperPod AMI für Amazon EKS 1.31.2.

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

 AMIs Dazu gehören die folgenden:

------
#### [ Deep Learning EKS AMI 1.31 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.31.2
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.10.230
+ **OSS-Nvidia-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.37.0
+ **GDRCopy:** 2.4.1-1
+ **Nvidia-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL: 1.13.0**
+ **aws-neuronx-tools: 2,18,3**
+ **aws-neuronx-runtime-lib: 2,23,112,0**
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,23,133,0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 21. Dezember 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241221"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

 AMIs Dazu gehören die folgenden:

------
#### [ K8s v1.28 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.28.15
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.10.228
+ **OSS-NVIDIA-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.37.0
+ **GDRCopy:** 2,4
+ **NVIDIA-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.13.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,23,112,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,23,135,0

------
#### [ K8s v1.29 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.29.10
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.15.0
+ **OSS-Nvidia-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.37.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.13.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,23,112,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,23,135,0

------
#### [ K8s v1.30 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.30.6
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987.0
+ **Linux-Kernel:** 5.10.228
+ **OSS-Nvidia-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.37.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.13.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,23,112,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,23,135,0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 13. Dezember 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241213"></a>

**SageMaker HyperPod Aktualisierung von DLAMI für Amazon EKS**
+ Der SSM-Agent wurde auf Version `3.3.1311.0` aktualisiert.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 24. November 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241124"></a>

**Allgemeine AMI-Updates**
+ Veröffentlicht in der Region `MEL` (Melbourne).
+  SageMaker HyperPod Basis-DLAMI wurde auf die folgenden Versionen aktualisiert:
  + Kubernetes: 01.11.2024.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 15. November 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241115"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

 AMIs Dazu gehören die folgenden:

------
#### [ Deep Learning EKS AMI 1.28 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.28.15
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.10.228
+ **OSS-NVIDIA-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.34.0
+ **GDRCopy:** 2,4
+ **NVIDIA-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.11.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2.22.19,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,22,33,0

------
#### [ Deep Learning EKS AMI 1.29 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.29.10
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.10.228
+ **OSS-Nvidia-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.34.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.11.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2.22.19,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,22,33,0

------
#### [ Deep Learning EKS AMI 1.30 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.30.6
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.1.14
  + AWS IAM-Authentifikator: 0.6.26
+ **Amazon SSM Agent:** 3.3.987
+ **Linux-Kernel:** 5.10.228
+ **OSS-Nvidia-Treiber:** 550.127.05
+ **NVIDIA CUDA:** 12.4
+ **EFA-Installationsprogramm:** 1.34.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.17.3
+ **AWS OFI NCCL**: 1.11.0
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2.22.19,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2,18,20,0
+ **aws-neuronx-collectives:** 2,22,33,0

------

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 11. November 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241111"></a>

**Allgemeine AMI-Updates**
+  SageMaker HyperPod DLAMI mit den Amazon EKS-Versionen 1.28.13, 1.29.8, 1.30.4 aktualisiert.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 21. Oktober 2024
<a name="sagemaker-hyperpod-release-ami-eks-20241021"></a>

**Allgemeine AMI-Updates**
+  SageMaker HyperPod Basis-DLAMI wurde auf die folgenden Versionen aktualisiert:
  + Amazon EKS: 1.28.11, 1.29.6, 1.30.2.

## SageMaker HyperPod AMI-Veröffentlichungen für Amazon EKS: 10. September 2024
<a name="sagemaker-hyperpod-release-ami-eks-20240910"></a>

**SageMaker HyperPod Unterstützung für DLAMI für Amazon EKS**

 AMIs Dazu gehören die folgenden:

------
#### [ Deep Learning EKS AMI 1.28 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.28.11
  + Containerd-Version: 1.7.20
  + Runc-Version: 1.1.11
  + AWS IAM-Authentifikator: 0.6.21
+ **Amazon SSM Agent:** 3.3.380
+ **Linux-Kernel:** 5.10.223
+ **OSS-NVIDIA-Treiber:** 535.183.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.32.0
+ **GDRCopy:** 2,4
+ **NVIDIA-Container-Toolkit:** 1.16.1
+ **AWS OFI NCCL**: 1.9.1
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,21,41,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2.17.17,0
+ **aws-neuronx-collectives:** 2,21,46,0

------
#### [ Deep Learning EKS AMI 1.29 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.29.6
  + Containerd-Version: 1.7.20
  + Runc-Version: 1.1.11
  + AWS IAM-Authentifikator: 0.6.21
+ **Amazon SSM Agent:** 3.3.380
+ **Linux-Kernel:** 5.10.223
+ **OSS-Nvidia-Treiber:** 535.183.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.32.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.16.1
+ **AWS OFI NCCL**: 1.9.1
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,21,41,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2.17.17,0
+ **aws-neuronx-collectives:** 2,21,46,0

------
#### [ Deep Learning EKS AMI 1.30 ]
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.30.2
  + Containerd-Version: 1.7.20
  + Runc-Version: 1.1.11
  + AWS IAM-Authentifikator: 0.6.21
+ **Amazon SSM Agent:** 3.3.380
+ **Linux-Kernel:** 5.10.223
+ **OSS-Nvidia-Treiber:** 535.183.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.32.0
+ **GDRCopy:** 2,4
+ **Nvidia-Container-Toolkit:** 1.16.1
+ **AWS OFI NCCL**: 1.9.1
+ **aws-neuronx-tools: 2.18.3.0-1**
+ **aws-neuronx-runtime-lib:** 2,21,41,0
+ **aws-neuronx-oci-hook:** 2,4,4,0-1
+ **aws-neuronx-dkms:** 2.17.17,0
+ **aws-neuronx-collectives:** 2,21,46,0

------

# Öffentliche AMI-Veröffentlichungen
<a name="sagemaker-hyperpod-release-public-ami"></a>

In den folgenden Versionshinweisen werden die neuesten Updates für SageMaker HyperPod öffentliche AMI-Versionen von Amazon für Amazon EKS-Orchestration beschrieben. Jeder Versionshinweis enthält eine zusammengefasste Liste der Pakete, die im Amazon EKS-Support vorinstalliert oder vorkonfiguriert sind. SageMaker HyperPod DLAMIs Jedes DLAMI basiert auf einer bestimmten AL2023 Kubernetes-Version und unterstützt diese. Informationen zu SageMaker HyperPod Feature-Releases von Amazon finden Sie unter[SageMaker HyperPod Versionshinweise von Amazon](sagemaker-hyperpod-release-notes.md).

Diese Seite wird regelmäßig aktualisiert und bietet umfassende Informationen zum AMI-Lebenszyklusmanagement, einschließlich Sicherheitslücken, Ankündigungen veralteter Versionen und Patch-Empfehlungen. Im Rahmen der Verpflichtung, die Sicherheit und up-to-date Infrastruktur aufrechtzuerhalten, überwacht SageMaker KI mithilfe automatisierter Scan-Workflows kontinuierlich AMIs die gesamte HyperPod Öffentlichkeit auf kritische Sicherheitslücken. Wenn kritische Sicherheitslücken identifiziert werden, AMIs werden sie mit entsprechenden Migrationsleitfäden systematisch als veraltet eingestuft. Regelmäßige Updates umfassen den Status der Behebung von Common Vulnerabilites and Exposures (CVE), Compliance-Ergebnisse und Handlungsempfehlungen, um sicherzustellen, dass Sie sichere HyperPod Umgebungen aufrechterhalten und gleichzeitig Betriebsunterbrechungen bei AMI-Übergängen minimieren können.

## SageMaker HyperPod öffentliche AMI-Veröffentlichungen: 04. August 2025
<a name="sagemaker-hyperpod-release-public-ami-2025-08-04"></a>

Amazon unterstützt SageMaker HyperPod jetzt neue Public-Cluster AMIs für Amazon EKS. AMIs Dazu gehören die folgenden:

------
#### [ K8s v1.32 ]

AMI-Name: HyperPod EKS 1.32 x86\$164 AMI Amazon Linux 2 2025080407
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.32.3
  + Containerd-Version: 1.7.23
  + Runc-Version: 1.2.6
  + AWS IAM-Authentifikator: 0.6.29
+ **Amazon SSM Agent:** 3.3.2299.0
+ **Linux-Kernel:** 5.10.238-234.956.amzn2.x86\$164
+ **OSS-NVIDIA-Treiber:** 550.163.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1
+ **NVIDIA-Container-Toolkit:** 1.17.8
+ **AWS OFI NCCL**: 1.13.0-aws
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,27.34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,17.1.0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,17.0.0\$1aacc27699-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.27.7.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-tools.x86\$164:** 2,25,145,0-1
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.30 ]

AMI-Name: HyperPod EKS 1.30 x86\$164 AMI Amazon Linux 2 2025080407
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.30.11
  + Containerd-Version: 1.7.\$1
  + Runc-Version: 1.2.6
  + AWS IAM-Authentifikator: 0.6.28
+ **Amazon SSM Agent:** 3.3.2299.0
+ **Linux-Kernel:** 5.10.238-234.956.amzn2.x86\$164
+ **OSS-NVIDIA-Treiber:** 550.163.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1
+ **NVIDIA-Container-Toolkit:** 1.17.8
+ **AWS OFI NCCL**: 1.13.0-aws
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,27.34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,17.1.0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,17.0.0\$1aacc27699-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.27.7.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-tools.x86\$164:** 2,25,145,0-1
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.31 ]

AMI-Name: HyperPod EKS 1.31 x86\$164 AMI Amazon Linux 2 2025080407
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.31.7
  + Containerd-Version: 1.7.\$1
  + Runc-Version: 1.2.6
  + AWS IAM-Authentifikator: 0.6.28
+ **Amazon SSM Agent:** 3.3.2299.0
+ **Linux-Kernel:** 5.10.238-234.956.amzn2.x86\$164
+ **OSS-NVIDIA-Treiber:** 550.163.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1
+ **NVIDIA-Container-Toolkit:** 1.17.8
+ **AWS OFI NCCL**: 1.13.0-aws
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,27.34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,17.1.0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,17.0.0\$1aacc27699-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.27.7.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-tools.x86\$164:** 2,25,145,0-1
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.29 ]

AMI-Name: HyperPod EKS 1.29 x86\$164 AMI Amazon Linux 2 2025080407
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.29.15
  + Containerd-Version: 1.7.\$1
  + Runc-Version: 1.2.6
  + AWS IAM-Authentifikator: 0.6.28
+ **Amazon SSM Agent:** 3.3.2299.0
+ **Linux-Kernel:** 5.10.238-234.956.amzn2.x86\$164
+ **OSS-NVIDIA-Treiber:** 550.163.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1
+ **NVIDIA-Container-Toolkit:** 1.17.8
+ **AWS OFI NCCL**: 1.13.0-aws
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,27.34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,17.1.0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,17.0.0\$1aacc27699-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.27.7.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-tools.x86\$164:** 2,25,145,0-1
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------
#### [ K8s v1.28 ]

AMI-Name: HyperPod EKS 1.28 x86\$164 AMI Amazon Linux 2 2025080407
+ **Amazon-EKS-Komponenten**
  + Kubernetes-Version: 1.28.15
  + Containerd-Version: 1.7.\$1
  + Runc-Version: 1.2.6
  + AWS IAM-Authentifikator: 0.6.28
+ **Amazon SSM Agent:** 3.3.2299.0
+ **Linux-Kernel:** 5.10.238-234.956.amzn2.x86\$164
+ **OSS-NVIDIA-Treiber:** 550.163.01
+ **NVIDIA CUDA:** 12.2
+ **EFA-Installationsprogramm:** 1.38.0
+ **GDRCopy:** 2.4.1
+ **NVIDIA-Container-Toolkit:** 1.17.8
+ **AWS OFI NCCL**: 1.13.0-aws
+ **Neuron-Pakete:**
  + **aws-neuronx-dkms.noarch: 2.22.2.0-dkms**
  + **aws-neuronx-oci-hook.x86\$164:** 2.4.4.0-1
  + **aws-neuronx-tools.x86\$164:2.18.3.0-1**
  + **aws-neuron-dkms.noarch: 2.3.26.0-dkms**
  + **aws-neuron-k8-plugin.x86\$164:** 1.9.3.0-1
  + **aws-neuron-k8-Scheduler.x86\$164**: 1.9.3.0-1
  + **aws-neuron-runtime.x86\$164**: 1.6.24.0-1
  + **aws-neuron-runtime-base.x86\$164:** 1.6.21.0-1
  + **aws-neuron-tools.x86\$164:** 2.1.4.0-1
  + **aws-neuronx-collectives.x86\$164:2,27.34,0\$1ec8cd5e8b-1**
  + **aws-neuronx-gpsimd-customop.x86\$164:0.2.3.0-1**
  + **aws-neuronx-gpsimd-customop-lib.x86\$164:0,17.1.0-1**
  + **aws-neuronx-gpsimd-tools.x86\$164:0,17.0.0\$1aacc27699-1**
  + **aws-neuronx-k8-Plugin.x86\$164:2.27.7.0-1**
  + **aws-neuronx-k8-Scheduler.x86\$164**: 2.27.7.0-1
  + **aws-neuronx-runtime-lib.x86\$164:2.27.23.0\$18deec4dbf-1**
  + **aws-neuronx-tools.x86\$164:** 2,25,145,0-1
  + **tensorflow-model-server-neuron.x86\$164:** 2.8.0.2.3.0.0-0
  + **tensorflow-model-server-neuronx.x86\$164:** 2.10.1.2.12.2.0-0

------

# Generative KI in Notebook-Umgebungen SageMaker
<a name="jupyterai"></a>

[Jupyter AI](https://github.com/jupyterlab/jupyter-ai) ist eine Open-Source-Erweiterung zur JupyterLab Integration generativer KI-Funktionen in Jupyter-Notebooks. Über die Chat-Oberfläche von Jupyter AI und Magic-Befehle können Benutzer mit Code experimentieren, der aus Anweisungen in natürlicher Sprache generiert wurde, vorhandenen Code erklären, Fragen zu ihren lokalen Dateien stellen, ganze Notebooks erstellen und vieles mehr. Die Erweiterung verbindet Jupyter-Notebooks mit großen Sprachmodellen (LLMs), mit denen Benutzer Text, Code oder Bilder generieren und Fragen zu ihren eigenen Daten stellen können. Jupyter AI unterstützt Anbieter generativer Modelle wie AI21 Anthropic AWS (JumpStart und Amazon Bedrock), Cohere und OpenAI.

Sie können Amazon Q Developer auch als sofort einsatzbereite Lösung verwenden. Anstatt manuell eine Verbindung zu einem Modell einrichten zu müssen, können Sie Amazon Q Developer mit minimaler Konfiguration verwenden. Wenn Sie Amazon Q Developer aktivieren, wird es zum Standardlösungsanbieter in Jupyter AI. Weitere Informationen über die Verwendung von Amazon Q Developer finden Sie unter [SageMaker JupyterLab](studio-updated-jl.md).

Das Paket der Erweiterung ist in [Amazon SageMaker Distribution](https://github.com/aws/sagemaker-distribution) [Version 1.2 und höher](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v1) enthalten. Amazon SageMaker Distribution ist eine Docker-Umgebung für Datenwissenschaft und wissenschaftliche Datenverarbeitung, die als Standard-Image für JupyterLab Notebook-Instances verwendet wird. Benutzer verschiedener IPython Umgebungen können Jupyter AI manuell installieren.

[In diesem Abschnitt geben wir einen Überblick über die KI-Funktionen von Jupyter und zeigen, wie Modelle konfiguriert werden, die von JumpStart oder Amazon Bedrock aus [JupyterLab](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl.html)oder Studio Classic-Notebooks bereitgestellt werden.](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) Ausführlichere Informationen zum Jupyter-AI-Projekt finden Sie in der zugehörigen [Dokumentation](https://jupyter-ai.readthedocs.io/en/latest/). Alternativ finden Sie im Blogbeitrag *[Generative KI in Jupyter](https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862)* einen Überblick und Beispiele der wichtigsten Funktionen von Jupyter AI.

Bevor Sie Jupyter AI verwenden und mit Ihrem interagieren, stellen Sie sicher LLMs, dass Sie die folgenden Voraussetzungen erfüllen:
+ Für Modelle, die von gehostet werden AWS, sollten Sie den ARN Ihres SageMaker KI-Endpunkts haben oder Zugriff auf Amazon Bedrock haben. Bei anderen Modellanbietern sollten Sie über den API-Schlüssel verfügen, der zur Authentifizierung und Autorisierung von Anfragen an Ihr Modell verwendet wird. Jupyter AI unterstützt eine Vielzahl von Modellanbietern und Sprachmodellen. Informieren Sie sich in der Liste der [unterstützten Modelle](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers) über die neuesten verfügbaren Modelle. Informationen zur Bereitstellung eines Modells in JumpStart finden Sie unter [Bereitstellen eines Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-deploy.html) in der JumpStart Dokumentation. Sie müssen Zugriff auf [Amazon Bedrock](https://aws.amazon.com/bedrock/) beantragen, um es als Ihren Modellanbieter verwenden zu können.
+ Stellen Sie sicher, dass Jupyter-AI-Bibliotheken in Ihrer Umgebung vorhanden sind. Falls nicht, installieren Sie das erforderliche Paket, indem Sie den Anweisungen unter [Installation von Jupyter AI](sagemaker-jupyterai-installation.md) folgen.
+ Machen Sie sich mit den Funktionen von Jupyter AI in [Greifen Sie auf die Funktionen von Jupyter AI zu](sagemaker-jupyterai-overview.md) vertraut.
+ Konfigurieren Sie die Zielmodelle, die Sie verwenden möchten, indem Sie den Anweisungen unter [Konfigurieren Sie Ihren Modellanbieter](sagemaker-jupyterai-model-configuration.md) folgen.

Nachdem Sie die erforderlichen Schritte abgeschlossen haben, können Sie mit fortfahren[Verwenden Sie Jupyter AI in oder Studio Classic JupyterLab](sagemaker-jupyterai-use.md).

**Topics**
+ [Installation von Jupyter AI](sagemaker-jupyterai-installation.md)
+ [Greifen Sie auf die Funktionen von Jupyter AI zu](sagemaker-jupyterai-overview.md)
+ [Konfigurieren Sie Ihren Modellanbieter](sagemaker-jupyterai-model-configuration.md)
+ [Verwenden Sie Jupyter AI in oder Studio Classic JupyterLab](sagemaker-jupyterai-use.md)

# Installation von Jupyter AI
<a name="sagemaker-jupyterai-installation"></a>

Um Jupyter AI verwenden zu können, müssen Sie zuerst das Jupyter-AI-Paket installieren. Für Benutzer von [Amazon SageMaker AI Distribution](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v1) empfehlen wir, das SageMaker Distribution-Image Version 1.2 oder höher auszuwählen. Es ist keine weitere Installation erforderlich. Benutzer von JupyterLab in Studio können bei der Erstellung eines Bereichs die Version ihrer SageMaker Amazon-Distribution auswählen.

Für Benutzer anderer IPython Umgebungen hängt die Version des empfohlenen Jupyter AI-Pakets von der Version ab, die JupyterLab sie verwenden.

Die Jupyter AI-Distribution besteht aus zwei Paketen.
+ `jupyter_ai`: Dieses Paket bietet eine JupyterLab Erweiterung und eine native Chat-Benutzeroberfläche (UI). Es fungiert als Konversationsassistent und verwendet das große Sprachmodell Ihrer Wahl.
+ `jupyter_ai_magics`: Dieses Paket enthält die Befehle IPython `%%ai` und die `%ai` magischen Befehle, mit denen Sie ein Large Language Model (LLM) von Ihren Notebookzellen aus aufrufen können.

**Anmerkung**  
Durch die Installation von `jupyter_ai` wird auch `jupyter_ai_magics` installiert. Sie können es jedoch `jupyter_ai_magics` unabhängig ohne JupyterLab oder installieren. `jupyter_ai` Die magischen Befehle `%%ai` `%ai` funktionieren in jeder IPython Kernel-Umgebung. Wenn Sie nur installieren`jupyter_ai_magics`, können Sie die Chat-Benutzeroberfläche nicht verwenden.

Für Benutzer von JupyterLab 3 Jahren, insbesondere Studio Classic-Benutzern, empfehlen wir die Installation von `jupyter-ai` [Version 1.5.x](https://pypi.org/project/jupyter-ai/#history) oder einer späteren 1.x-Version. Wir empfehlen jedoch dringend, Jupyter AI mit 4 zu verwenden. JupyterLab In der mit JupyterLab 3 kompatiblen `jupyter-ai` Version können Benutzer möglicherweise keine zusätzlichen Modellparameter wie Temperatur, Top-K- und Top-P-Sampling, maximale Tokens oder maximale Länge oder Lizenzvereinbarungen für die Benutzerakzeptanz festlegen.

Für Benutzer von JupyterLab 4 Umgebungen, die SageMaker Distribution nicht verwenden, empfehlen wir die Installation von `jupyter-ai` [Version 2.5.x oder einer späteren 2.x-Version](https://pypi.org/project/jupyter-ai/#history).

*[Die Installationsanweisungen finden Sie im Abschnitt Installation der Jupyter AI-Dokumentation.](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#installation-via-pip)*

# Greifen Sie auf die Funktionen von Jupyter AI zu
<a name="sagemaker-jupyterai-overview"></a>

Sie können auf die Jupyter-AI-Funktionen über zwei verschiedene Methoden zugreifen: über die Chat-Benutzeroberfläche oder über Magic Commands in Notebooks.

## Über die Chat-Benutzeroberfläche (AI-Assistent).
<a name="sagemaker-jupyterai-overview-chatui"></a>

Die Chat-Oberfläche verbindet Sie mit Jupyternaut, einem Konversationsagenten, der das Sprachmodell Ihrer Wahl verwendet. 

Nachdem Sie eine mit Jupyter AI installierte JupyterLab Anwendung gestartet haben, können Sie auf die Chat-Oberfläche zugreifen, indem Sie im linken Navigationsbereich auf das Chat-Symbol (![\[Icon of a rectangular shape with a curved arrow pointing to the upper right corner.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-chat-ui.png)) klicken. Erstbenutzer werden aufgefordert, ihr Modell zu konfigurieren. Anweisungen für die Konfiguration finden Sie unter [Konfigurieren Sie Ihren Modellanbieter in der Chat-Benutzeroberfläche](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-chatui).

**Mithilfe der Chat-Benutzeroberfläche können Sie:**
+ **Fragen beantworten**: Sie können Jupyternaut beispielsweise auffordern, eine Python-Funktion zu erstellen, die CSV-Dateien zu einem Amazon-S3-Bucket hinzufügt. Anschließend können Sie Ihre Antwort mit einer Folgefrage präzisieren, beispielsweise indem Sie der Funktion einen Parameter hinzufügen, um den Pfad auszuwählen, in dem die Dateien gespeichert werden sollen. 
+ **Interagieren Sie mit Dateien in JupyterLab**: Sie können einen Teil Ihres Notizbuchs in Ihre Eingabeaufforderung aufnehmen, indem Sie ihn auswählen. Anschließend können Sie sie entweder durch die vom Modell vorgeschlagene Antwort ersetzen oder die Antwort manuell in Ihre Zwischenablage kopieren.
+ **Generieren Sie ganze Notebooks** anhand von Prompts: Wenn Sie Ihren Prompt mit beginnen, lösen Sie im Hintergrund einen Prozess zur Erstellung eines Notebooks aus, ohne die Verwendung von Jupyternaut zu unterbrechen. Nach Abschluss des Vorgangs wird eine Meldung mit dem Link zur neuen Datei angezeigt.
+ **Lernen Sie aus lokalen Dateien und stellen Sie Fragen** dazu: Mit dem `/learn` Befehl können Sie einem Einbettungsmodell Ihrer Wahl über lokale Dateien beibringen und dann mit dem `/ask` Befehl Fragen zu diesen Dateien stellen. Jupyter AI speichert den eingebetteten Inhalt in einer lokalen [FAISS-Vektordatenbank](https://github.com/facebookresearch/faiss) und verwendet dann Retrieval-Augmented Generation (RAG), um Antworten auf der Grundlage des Gelernten zu geben. Um alle zuvor gelernten Informationen aus Ihrem Einbettungsmodell zu löschen, verwenden Sie `/learn -d`.

**Anmerkung**  
Amazon Q Developer ist nicht in der Lage, Notebooks von Grund auf neu zu erstellen.

Eine vollständige Liste der Funktionen und detaillierte Anweisungen zu ihrer Verwendung finden Sie in der Dokumentation zur [Jupyter AI-Chat-Oberfläche](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#the-chat-interface). Informationen zur Konfiguration des Zugriffs auf ein Modell in Jupyternaut finden Sie unter [Konfigurieren Sie Ihren Modellanbieter in der Chat-Benutzeroberfläche](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-chatui).

## Aus Notebook-Zellen
<a name="sagemaker-jupyterai-overview-magic-commands"></a>

Mithilfe von `%%ai` `%ai` Magic-Befehlen können Sie von Ihren Notebookzellen oder einer beliebigen IPython Befehlszeilenschnittstelle aus mit dem Sprachmodell Ihrer Wahl interagieren. Der `%%ai` Befehl wendet Ihre Anweisungen auf die gesamte Zelle an, während `%ai` Sie sie auf eine bestimmte Zeile anwenden.

Das folgende Beispiel zeigt einen `%%ai` magischen Befehl, der ein Anthropic-Claude-Modell aufruft, um eine HTML-Datei auszugeben, die das Bild eines weißen Quadrats mit schwarzen Rändern enthält.

```
%%ai anthropic:claude-v1.2 -f html
Create a square using SVG with a black border and white fill.
```

Um mehr über die Syntax der einzelnen Befehle zu erfahren, verwenden Sie `%ai help`. Führen Sie den folgenden Befehl aus, um die Anbieter und Modelle aufzulisten, die von der Erweiterung unterstützt werden`%ai list`.

Eine vollständige Liste der Funktionen und detaillierte Anweisungen zu ihrer Verwendung finden Sie in der Dokumentation zu Jupyter AI [Magic](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#the-ai-and-ai-magic-commands) Commands. Insbesondere können Sie das Ausgabeformat Ihres Modells mithilfe des Parameters `-f` oder `--format` anpassen, die Variableninterpolation in Eingabeaufforderungen zulassen, einschließlich spezielle `In`- und `Out`-Variablen und vieles mehr.

Informationen zur Konfiguration des Zugriffs auf ein Modell finden Sie unter [Konfigurieren Sie Ihren Modellanbieter in einem Notebook](sagemaker-jupyterai-model-configuration.md#sagemaker-jupyterai-model-configuration-magic-commands). 

# Konfigurieren Sie Ihren Modellanbieter
<a name="sagemaker-jupyterai-model-configuration"></a>

**Anmerkung**  
In diesem Abschnitt gehen wir davon aus, dass die Sprach- und Einbettungsmodelle, die Sie verwenden möchten, bereits bereitgestellt sind. Für Modelle, die von bereitgestellt werden AWS, sollten Sie bereits über den ARN Ihres SageMaker KI-Endpunkts oder Zugriff auf Amazon Bedrock verfügen. Bei anderen Modellanbietern sollten Sie über den API-Schlüssel verfügen, der zur Authentifizierung und Autorisierung von Anfragen an Ihr Modell verwendet wird.  
Jupyter AI unterstützt eine Vielzahl von Modellanbietern und Sprachmodellen. Informieren Sie sich in der Liste der [unterstützten Modelle](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers) über die neuesten verfügbaren Modelle. Informationen zur Bereitstellung eines Modells, das von bereitgestellt wird JumpStart, finden Sie in der JumpStart Dokumentation unter [Bereitstellen eines Modells](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-deploy.html). Sie müssen Zugriff auf [Amazon Bedrock](https://aws.amazon.com/bedrock/) beantragen, um es als Ihren Modellanbieter verwenden zu können.

Die Konfiguration von Jupyter AI hängt davon ab, ob Sie die Chat-Benutzeroberfläche oder magische Befehle verwenden.

## Konfigurieren Sie Ihren Modellanbieter in der Chat-Benutzeroberfläche
<a name="sagemaker-jupyterai-model-configuration-chatui"></a>

**Anmerkung**  
Sie können mehrere Modelle konfigurieren LLMs und sie einbetten, indem Sie denselben Anweisungen folgen. Sie müssen jedoch mindestens ein **Sprachmodell** konfigurieren.

**Um Ihre Chat-Benutzeroberfläche zu konfigurieren**

1. Rufen Sie in die Chat-Oberfläche auf JupyterLab, indem Sie im linken Navigationsbereich das Chat-Symbol (![\[Icon of a rectangular shape with a curved arrow pointing to the upper right corner.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-chat-ui.png)) auswählen.

1. Wählen Sie in der oberen rechten Ecke des linken Bereichs das Konfigurationssymbol (![\[Gear or cog icon representing settings or configuration options.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-configure-models.png)). Dadurch wird das Jupyter AI-Konfigurationsfenster geöffnet.

1. Füllen Sie die Felder aus, die sich auf Ihren Dienstanbieter beziehen.
   + **Für Modelle, die von JumpStart oder Amazon Bedrock bereitgestellt werden**
     + Wählen Sie in der Dropdownliste **Sprachmodell** `sagemaker-endpoint` für Modelle aus, die mit Amazon Bedrock bereitgestellt werden, JumpStart oder `bedrock` für Modelle, die von Amazon Bedrock verwaltet werden.
     + Die Parameter unterscheiden sich je nachdem, ob Ihr Modell auf SageMaker KI oder Amazon Bedrock bereitgestellt wird.
       + Für Modelle, die bereitgestellt werden mit JumpStart:
         + Geben Sie im Feld Endpunktname den **Namen Ihres Endpunkts und anschließend den Namen**, AWS-Region in dem Ihr Modell bereitgestellt wird, unter [**Regionsname**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-region-name) ein. Um den ARN der SageMaker KI-Endpunkte abzurufen, navigieren Sie zu **Inference [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)** and **Endpoints und wählen Sie dann im linken Menü** aus.
         + Fügen Sie die JSON-Datei des auf Ihr Modell zugeschnittenen [**Anforderungsschemas**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-request-schema) und den entsprechenden [**Antwortpfad**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-response-path) für die Analyse der Modellausgabe ein.
**Anmerkung**  
[In den folgenden Beispielnotizbüchern finden Sie das Anforderungs- und Antwortformat verschiedener JumpStart Foundation-Modelle.](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models) Jedes Notebook ist nach dem Modell benannt, das es vorstellt.
       + Für Modelle, die von Amazon Bedrock verwaltet werden: Fügen Sie das AWS Profil hinzu, in dem Ihre AWS Anmeldeinformationen auf Ihrem System gespeichert sind (optional), und dann das Profil, AWS-Region in dem Ihr Modell bereitgestellt wird, als [**Regionsname**](sagemaker-jupyterai-use.md#sagemaker-jupyterai-region-name).
     + (Optional) Wählen Sie ein [Einbettungsmodell](sagemaker-jupyterai-overview.md#sagemaker-jupyterai-embedding-model) aus, auf das Sie Zugriff haben. Einbettungsmodelle werden verwendet, um zusätzliche Informationen aus lokalen Dokumenten zu erfassen, sodass das Textgenerierungsmodell Fragen im Kontext dieser Dokumente beantworten kann.
     + Wählen Sie **Änderungen speichern** und navigieren Sie zum Linkspfeilsymbol (![\[Left-pointing arrow icon, typically used for navigation or returning to a previous page.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png)) in der oberen linken Ecke des linken Bereichs. Dadurch wird die Jupyter AI-Chat-Benutzeroberfläche geöffnet. Sie können beginnen, mit Ihrem Modell zu interagieren.
   + **Für Modelle, die von Drittanbietern gehostet werden**
     + Wählen Sie in der Dropdownliste für das **Sprachmodell** Ihre Anbieter-ID aus. Sie finden die Details der einzelnen Anbieter, einschließlich ihrer ID, in der Jupyter [AI-Liste der](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers) Modellanbieter.
     + (Optional) Wählen Sie ein [Einbettungsmodell](sagemaker-jupyterai-overview.md#sagemaker-jupyterai-embedding-model) aus, auf das Sie Zugriff haben. Einbettungsmodelle werden verwendet, um zusätzliche Informationen aus lokalen Dokumenten zu erfassen, sodass das Textgenerierungsmodell Fragen im Kontext dieser Dokumente beantworten kann.
     + Fügen Sie die API-Schlüssel Ihrer Modelle ein.
     + Wählen Sie **Änderungen speichern** und navigieren Sie zum Linkspfeilsymbol (![\[Left-pointing arrow icon, typically used for navigation or returning to a previous page.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/icons/jupyterai/jupyterai-return-to-chat.png)) in der oberen linken Ecke des linken Bereichs. Dadurch wird die Jupyter AI-Chat-Benutzeroberfläche geöffnet. Sie können beginnen, mit Ihrem Modell zu interagieren.

Der folgende Snapshot zeigt das Konfigurationsfenster der Chat-Benutzeroberfläche, das so eingerichtet ist, dass es ein von KI bereitgestelltes und in KI bereitgestelltes Modell von FLAN-T5-Small aufruft. JumpStart SageMaker 

![\[Das Chat-UI-Konfigurationsfenster ist so eingestellt, dass es ein Flan-T5-Small-Modell aufruft, das von bereitgestellt wird. JumpStart\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/studio/jupyterai/jupyterai-chatui-configuration.png)


### Übergeben Sie zusätzliche Modellparameter und benutzerdefinierte Parameter an Ihre Anfrage
<a name="sagemaker-jupyterai-configuration-model-parameters"></a>

Ihr Modell benötigt möglicherweise zusätzliche Parameter, wie beispielsweise ein benutzerdefiniertes Attribut für die Zustimmung zur Nutzungsvereinbarung oder Anpassungen anderer Modellparameter wie Temperatur oder Antwortlänge. Wir empfehlen, diese Einstellungen als Startoption Ihrer JupyterLab Anwendung mithilfe einer Lifecycle-Konfiguration zu konfigurieren. Informationen dazu, wie Sie eine Lifecycle-Konfiguration erstellen und sie über die [SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) an Ihre Domain oder an ein Benutzerprofil anhängen, finden [Sie unter Lebenszykluskonfiguration erstellen und zuordnen](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). Sie können Ihr LCC-Skript auswählen, wenn Sie einen Bereich für Ihre JupyterLab Anwendung erstellen.

[Verwenden Sie das folgende JSON-Schema, um Ihre zusätzlichen Parameter zu konfigurieren:](sagemaker-jupyterai-use.md#sagemaker-jupyterai-extra-model-params)

```
{
  "AiExtension": {
    "model_parameters": {
      "<provider_id>:<model_id>": { Dictionary of model parameters which is unpacked and passed as-is to the provider.}
      }
    }
  }
}
```

Das folgende Skript ist ein Beispiel für eine JSON-Konfigurationsdatei, die Sie beim Erstellen einer JupyterLab Anwendungs-LCC verwenden können, um die maximale Länge eines [AI21Labs Jurassic-2-Modells](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-jurassic2.html) festzulegen, das auf Amazon Bedrock bereitgestellt wird. Wenn Sie die Länge der vom Modell generierten Antwort erhöhen, kann verhindert werden, dass die Antwort Ihres Modells systematisch gekürzt wird.

```
#!/bin/bash
set -eux

mkdir -p /home/sagemaker-user/.jupyter

json='{"AiExtension": {"model_parameters": {"bedrock:ai21.j2-mid-v1": {"model_kwargs": {"maxTokens": 200}}}}}'
# equivalent to %%ai bedrock:ai21.j2-mid-v1 -m {"model_kwargs":{"maxTokens":200}}

# File path
file_path="/home/sagemaker-user/.jupyter/jupyter_jupyter_ai_config.json"

#jupyter --paths

# Write JSON to file
echo "$json" > "$file_path"

# Confirmation message
echo "JSON written to $file_path"

restart-jupyter-server

# Waiting for 30 seconds to make sure the Jupyter Server is up and running
sleep 30
```

Das folgende Skript ist ein Beispiel für eine JSON-Konfigurationsdatei zur Erstellung einer JupyterLab Anwendungs-LCC, mit der zusätzliche Modellparameter für ein auf Amazon Bedrock bereitgestelltes [Anthropic-Claude-Modell](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-claude.html) festgelegt werden.

```
#!/bin/bash
set -eux

mkdir -p /home/sagemaker-user/.jupyter

json='{"AiExtension": {"model_parameters": {"bedrock:anthropic.claude-v2":{"model_kwargs":{"temperature":0.1,"top_p":0.5,"top_k":25
0,"max_tokens_to_sample":2}}}}}'
# equivalent to %%ai bedrock:anthropic.claude-v2 -m {"model_kwargs":{"temperature":0.1,"top_p":0.5,"top_k":250,"max_tokens_to_sample":2000}}

# File path
file_path="/home/sagemaker-user/.jupyter/jupyter_jupyter_ai_config.json"

#jupyter --paths

# Write JSON to file
echo "$json" > "$file_path"

# Confirmation message
echo "JSON written to $file_path"

restart-jupyter-server

# Waiting for 30 seconds to make sure the Jupyter Server is up and running
sleep 30
```

Nachdem Sie Ihr LCC an Ihre Domain oder Ihr Benutzerprofil angehängt haben, fügen Sie Ihr LCC zu Ihrem Bereich hinzu, wenn Sie Ihre Anwendung starten. JupyterLab Um sicherzustellen, dass Ihre Konfigurationsdatei vom LCC aktualisiert wird, führen Sie `more ~/.jupyter/jupyter_jupyter_ai_config.json` in einem Terminal aus. Der Inhalt der Datei sollte dem Inhalt der JSON-Datei entsprechen, die an das LCC übergeben wurde.

## Konfigurieren Sie Ihren Modellanbieter in einem Notebook
<a name="sagemaker-jupyterai-model-configuration-magic-commands"></a>

**Um ein Modell über Jupyter AI in Notebooks JupyterLab oder Studio Classic-Notebooks mit den Befehlen und Magic aufzurufen `%%ai` `%ai`**

1. Installieren Sie die für Ihren Modellanbieter spezifischen Client-Bibliotheken in Ihrer Notebook-Umgebung. Wenn Sie beispielsweise OpenAI-Modelle verwenden, müssen Sie die `openai` Client-Bibliothek installieren. Sie finden die Liste der pro Anbieter erforderlichen Clientbibliotheken in der Spalte *Python-Pakete* der Jupyter AI [Model-Anbieterliste](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers).
**Anmerkung**  
Bei Modellen, die von gehostet werden AWS, `boto3` ist bereits in dem von Studio Classic verwendeten SageMaker AI Distribution-Image oder einem JupyterLab anderen mit Studio Classic verwendeten Data Science-Image installiert.

1. 
   + **Für Modelle, die gehostet werden von AWS**

     Stellen Sie sicher, dass Ihre Ausführungsrolle berechtigt ist, Ihren SageMaker KI-Endpunkt für Modelle aufzurufen, die von Amazon Bedrock bereitgestellt werden JumpStart oder für die Sie Zugriff darauf haben.
   + **Für Modelle, die von Drittanbietern gehostet werden**

     Exportieren Sie den API-Schlüssel Ihres Anbieters mithilfe von Umgebungsvariablen in Ihre Notebook-Umgebung. Sie können folgenden Magic-Befehl verwenden. Ersetzen Sie das `provider_API_key` im Befehl enthaltene durch die Umgebungsvariable in der Spalte *Umgebungsvariable* der [Anbieterliste des Jupyter AI-Modells für Ihren Anbieter](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers).

     ```
     %env provider_API_key=your_API_key
     ```

# Verwenden Sie Jupyter AI in oder Studio Classic JupyterLab
<a name="sagemaker-jupyterai-use"></a>

Sie können Jupyter AI in JupyterLab oder Studio Classic verwenden, indem Sie Sprachmodelle entweder über die Chat-Benutzeroberfläche oder über Notebookzellen aufrufen. Die folgenden Abschnitte enthalten Informationen zu den erforderlichen Schritten, um dies abzuschließen.

## Verwenden Sie Sprachmodelle aus der Chat-Benutzeroberfläche
<a name="sagemaker-jupyterai-use-chatui"></a>

Verfassen Sie Ihre Nachricht im Textfeld der Chat-Benutzeroberfläche, um mit der Interaktion mit Ihrem Modell zu beginnen. Verwenden Sie den `/clear` Befehl, um den Nachrichtenverlauf zu löschen.

**Anmerkung**  
Durch das Löschen des Nachrichtenverlaufs wird der Chat-Kontext mit dem Modellanbieter nicht gelöscht.

## Verwenden Sie Sprachmodelle aus Notebookzellen
<a name="sagemaker-jupyterai-use-magic-commands"></a>

Bevor Sie die `%ai` Befehle `%%ai` und verwenden, um ein Sprachmodell aufzurufen, laden Sie die IPython Erweiterung, indem Sie den folgenden Befehl in einer Notebookzelle JupyterLab oder Studio Classic ausführen.

```
%load_ext jupyter_ai_magics
```
+ **Für Modelle, die gehostet werden von AWS:**
  + Um ein in SageMaker AI bereitgestelltes Modell aufzurufen, übergeben Sie die Zeichenfolge mit den unten angegebenen erforderlichen Parametern `sagemaker-endpoint:endpoint-name` an den `%%ai` magischen Befehl und fügen Sie dann Ihre Eingabeaufforderung in den folgenden Zeilen hinzu.

    In der folgenden Tabelle sind die erforderlichen und optionalen Parameter beim Aufrufen von Modellen aufgeführt, die von SageMaker AI oder Amazon Bedrock gehostet werden.<a name="sagemaker-jupyterai-jumpstart-inference-params"></a>    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/sagemaker-jupyterai-use.html)

    Der folgende Befehl ruft ein [LLama2-7B-Modell](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html) auf, das von AI gehostet wird. SageMaker 

    ```
    %%ai sagemaker-endpoint:jumpstart-dft-meta-textgeneration-llama-2-7b -q {"inputs":"<prompt>","parameters":{"max_new_tokens":64,"top_p":0.9,"temperature":0.6,"return_full_text":false}} -n us-east-2 -p [0].generation -m {"endpoint_kwargs":{"CustomAttributes":"accept_eula=true"}} -f text
    Translate English to French:
    sea otter => loutre de mer
    peppermint => menthe poivrée
    plush girafe => girafe peluche
    cheese =>
    ```

    Das folgende Beispiel ruft ein von AI gehostetes Flan-T5-Small-Modell auf. SageMaker 

    ```
    %%ai sagemaker-endpoint:hf-text2text-flan-t5-small --request-schema={"inputs":"<prompt>","parameters":{"num_return_sequences":4}} --region-name=us-west-2 --response-path=[0]["generated_text"] -f text
    What is the atomic number of Hydrogen?
    ```
  + Um ein in Amazon Bedrock bereitgestelltes Modell aufzurufen, übergeben Sie die Zeichenfolge `bedrock:model-name` mit einem beliebigen optionalen Parameter, der `%%ai` in der Parameterliste [für das Aufrufen von Modellen definiert ist, die von JumpStart oder Amazon Bedrock gehostet werden](#sagemaker-jupyterai-jumpstart-inference-params), und fügen Sie dann Ihre Eingabeaufforderung in den folgenden Zeilen hinzu.

    Im folgenden Beispiel wird ein [AI21 Labs-Jurassic-2-Modell](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-jurassic2.html) aufgerufen, das von Amazon Bedrock gehostet wird.

    ```
    %%ai bedrock:ai21.j2-mid-v1 -m {"model_kwargs":{"maxTokens":256}} -f code
    Write a function in python implementing a bubbble sort.
    ```
+ **Für Modelle, die von Drittanbietern gehostet werden**

  Um ein von Drittanbietern gehostetes Modell aufzurufen, übergeben Sie die Zeichenfolge mit einem optionalen [`Output format`](#sagemaker-jupyterai-output-format-params)Befehl `provider-id:model-name` an den `%%ai` magischen Befehl und fügen Sie dann Ihre Eingabeaufforderung in den folgenden Zeilen hinzu. Sie finden die Details der einzelnen Anbieter, einschließlich ihrer ID, in der Jupyter [AI-Liste](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#model-providers) der Modellanbieter.

  Mit dem folgenden Befehl wird ein Modell von Anthropic Claude aufgefordert, eine HTML-Datei auszugeben, die das Bild eines weißen Quadrats mit schwarzen Rändern enthält.

  ```
  %%ai anthropic:claude-v1.2 -f html
  Create a square using SVG with a black border and white fill.
  ```

# Amazon Q Developer
<a name="studio-updated-amazon-q"></a>

Amazon Q Developer ist ein generativer KI-Konversationsassistent, der Ihnen hilft, besseren Code zu schreiben. Amazon Q Developer ist in Amazon SageMaker Studio in den folgenden IDEs Versionen verfügbar:
+ JupyterLab
+ Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source

In den folgenden Abschnitten können Sie Amazon Q Developer einrichten und in Ihrer Umgebung verwenden.

**Topics**
+ [Amazon Q Developer für Ihre Benutzer einrichten](studio-updated-amazon-q-admin-guide-set-up.md)
+ [Verwenden von Amazon Q, um Ihre Machine-Learning-Workflows zu beschleunigen](studio-updated-user-guide-use-amazon-q.md)
+ [Passen Sie Amazon Q Developer in Amazon SageMaker Studio-Anwendungen an](q-customizations.md)

# Amazon Q Developer für Ihre Benutzer einrichten
<a name="studio-updated-amazon-q-admin-guide-set-up"></a>

Amazon Q Developer ist ein generativer KI-Konversationsassistent. Sie können Amazon Q Developer innerhalb einer neuen Domain oder einer bestehenden Domain einrichten. Verwenden Sie die folgenden Informationen, um Amazon Q Developer einzurichten.

Mit Amazon Q Developer können Ihre Benutzer:
+ Lassen Sie sich step-by-step beraten, wie Sie SageMaker KI-Funktionen unabhängig oder in Kombination mit anderen AWS Diensten nutzen können.
+ Holen Sie sich Beispielcode, um mit Ihren ML-Aufgaben wie Datenaufbereitung, Training, Inferenz und MLOps zu beginnen.
+ Sie erhalten Unterstützung bei der Fehlerbehebung, um Fehler zu debuggen und zu beseitigen, die beim Ausführen von Code aufgetreten sind.

**Anmerkung**  
Amazon Q Developer in Studio verwendet keine Benutzerinhalte, um den Service zu verbessern, unabhängig davon, ob Sie das Free-Tier- oder das Pro-Abonnement verwenden. Für die Weitergabe von Telemetriedaten auf IDE-Ebene kann Amazon Q die Nutzung Ihrer Benutzer verfolgen, beispielsweise die Anzahl der gestellten Fragen und ob Empfehlungen angenommen oder abgelehnt wurden. Diese Telemetriedaten enthalten keine persönlich identifizierbaren Informationen wie die IP-Adresse der Benutzer. Weitere Informationen zum Datenschutz und Anweisungen zur Deaktivierung finden Sie unter [Deaktivierung der Datenfreigabe in der IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/opt-out-IDE.html).

Sie können Amazon Q Developer entweder mit einem Pro- oder Free-Abonnement einrichten. Bei der Pro-Stufe handelt es sich um einen kostenpflichtigen Abonnementdienst mit höheren Nutzungslimits und anderen Funktionen. Weitere Informationen zu den Unterschieden zwischen den Stufen finden Sie unter [Grundlegendes zu den Servicestufen für Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-tiers.html).

Informationen zum Abonnieren von Amazon Q Developer Pro finden Sie unter [Amazon Q Developer Pro abonnieren](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-admin-setup-subscribe-general.html).

## Anweisungen zur Einrichtung des kostenlosen Kontingents für Amazon Q Developer:
<a name="studio-updated-amazon-q-developer-free-tier-set-up"></a>

Gehen Sie wie folgt vor, um das kostenlose Kontingent von Amazon Q Developer einzurichten:

**So richten Sie das kostenlose Kontingent für Amazon Q Developer ein**

1. Fügen Sie der IAM-Rolle, mit der Sie Ihren Bereich JupyterLab oder den Code-Editor erstellt haben, die folgende Richtlinie hinzu:

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Effect": "Allow",
   			"Action": [
   				"q:SendMessage"
   			],
   			"Resource": [
   				"*"
   			]
   		},
   		{
   			"Sid": "AmazonQDeveloperPermissions",
   			"Effect": "Allow",
   			"Action": [
   				"codewhisperer:GenerateRecommendations"
   			],
   			"Resource": "*"
   		}
   	]
   }
   ```

------

1. Navigieren Sie zu Amazon SageMaker Studio.

1. Öffnen Sie Ihren Bereich JupyterLab oder den Code-Editor.

1. **Navigiere zum **Launcher und wähle Terminal**.**

1. Gehen Sie in JupyterLab wie folgt vor:

   1. Geben Sie an `restart-jupyter-server`.

   1. Starten Sie Ihren Browser neu und navigieren Sie zurück zu Amazon SageMaker Studio.

## Anweisungen zur Einrichtung der Amazon Q Developer Pro-Stufe:
<a name="studio-updated-amazon-q-developer-pro-set-up"></a>

**Voraussetzungen**  
Um Amazon Q Pro einzurichten, benötigen Sie:  
Eine für Ihre Organisation eingerichtete Amazon SageMaker AI-Domain mit konfiguriertem IAM Identity Center als Zugriffsmittel.
Ein Amazon Q Developer Pro-Abonnement.

Wenn Sie eine Domain aktualisieren, die Sie bereits für Ihre Organisation eingerichtet haben, müssen Sie sie aktualisieren, um Amazon Q Developer verwenden zu können. Sie können entweder die AWS-Managementkonsole oder die verwenden AWS Command Line Interface , um eine Domain zu aktualisieren.

Sie müssen den ARN Ihres Amazon Q Developer-Profils verwenden. Sie finden den Q Profile ARN auf der Seite [Q Developer Settings](https://console.aws.amazon.com/amazonq/developer/settings).

Sie können den folgenden AWS Command Line Interface Befehl verwenden, um Ihre Domain zu aktualisieren:

```
aws --region AWS-Region sagemaker update-domain --domain-id domain-id --domain-settings-for-update "AmazonQSettings={Status=ENABLED,QProfileArn=Q-Profile-ARN}"           
```

Sie können auch das folgende Verfahren verwenden, um die Domain innerhalb des zu aktualisieren AWS-Managementkonsole.

1. Navigieren Sie zur [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker).

1. Wählen Sie Domains aus.

1. Wählen Sie **App-Konfigurationen** aus.

1. Wählen Sie für **Amazon Q Developer for SageMaker AI Applications** die Option **Bearbeiten** aus.

1. Wählen Sie **Amazon Q Developer auf dieser Domain aktivieren** aus.

1. Geben Sie die Q-Profil-ARN an.

1. Wählen Sie **Absenden** aus.

Sie müssen den ARN Ihres Amazon Q Developer-Profils verwenden. Sie finden den ARN des Q-Profils auf der Seite mit den **Amazon Q-Kontodetails** der [Amazon Q Developer](https://console.aws.amazon.com/amazonq/developer) Console.

Die **Einrichtung für Organisationen** ist eine erweiterte Einrichtung für die Amazon SageMaker AI-Domain, mit der Sie IAM Identity Center verwenden können. Weitere Informationen zum Einrichten der Domain und zum Einrichten des vertrauenswürdigen Zugriffs für IAM Identity Center finden Sie unter [Benutzerdefiniertes Setup für Amazon SageMaker AI verwenden](onboard-custom.md).

Wenn Sie Amazon Q Developer in einer neuen Domain einrichten, können Sie entweder den AWS-Managementkonsole oder den folgenden AWS Command Line Interface Befehl von Ihrem lokalen Computer aus verwenden:

```
                    
aws --region AWS-Region sagemaker create-domain --domain-id domain-id --domain-name "example-domain-name" --vpc-id example-vpc-id --subnet-ids example-subnet-ids --auth-mode SSO --default-user-settings "ExecutionRole=arn:aws:iam::111122223333:role/IAM-role",--domain-settings "AmazonQSettings={status=ENABLED,qProfileArn=Q-profile-ARN" --query example-domain-ARN--output text
```

Sie können den folgenden AWS CLI Befehl verwenden, um Amazon Q Developer zu deaktivieren:

```
aws --region AWS-Region sagemaker update-domain --domain-id domain-id --domain-settings-for-update "AmazonQSettings={Status=DISABLED,QProfileArn=Q-Profile-ARN}"           
```

Wir empfehlen, die neueste Version von AWS Command Line Interface zu verwenden. Informationen zur Aktualisierung von finden [Sie unter Installation oder Aktualisierung auf die neueste Version von AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). AWS CLI

Wenn Sie eine Verbindung zwischen Amazon Q Developer und Ihrer VPC herstellen müssen, finden Sie weitere Informationen unter [Erstellen eines VPC-Schnittstellen-Endpunkts für Amazon](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/vpc-interface-endpoints.html#vpc-endpoint-create) Q.

**Anmerkung**  
Für Amazon Q Developer gelten folgende Einschränkungen:  
Shared Bereiche werden nicht unterstützt.
Amazon Q Developer erkennt, ob ein Codevorschlag dem öffentlich verfügbaren Code möglicherweise zu ähnlich ist. Der Referenz-Tracker kann Vorschläge mit Repository URLs und Lizenzen kennzeichnen oder herausfiltern. Auf diese Weise können Sie den referenzierten Code und seine Verwendung überprüfen, bevor Sie ihn übernehmen. Alle Verweise werden protokolliert, sodass Sie sie später überprüfen können, um sicherzustellen, dass Ihr Codefluss nicht gestört wird und Sie ohne Unterbrechung weiterprogrammieren können.  
Weitere Informationen zu Codereferenzen finden Sie unter [Verwenden von Codereferenzen — Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-reference.html) and [AI Coding Assistant — Amazon Q Developer FAQs](https://aws.amazon.com/q/developer/faqs/?refid=255ccf7b-4a76-4dcb-9b07-68709e2b636b#:~:text=Can%20I%20prevent%20Amazon%20Q%20Developer%20from%20recommending%20code%20with%20code%20references%3F).
Amazon Q verarbeitet alle Benutzerinteraktionsdaten in der AWS-Region USA Ost (Nord-Virginia). Weitere Informationen darüber, wie Amazon Q Daten verarbeitet und welche AWS-Regionen es unterstützt, finden Sie unter [Unterstützte Regionen für Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/regions.html).
Amazon Q funktioniert nur in Amazon SageMaker Studio. Es wird in Amazon SageMaker Studio Classic nicht unterstützt.
On JupyterLab funktioniert Amazon Q innerhalb von SageMaker AI Distribution Images Version 2.0 und höher. Im Code-Editor funktioniert Amazon Q mit SageMaker AI Distribution Images Version 2.2.1 und höher.
Amazon Q Developer JupyterLab funktioniert innerhalb der Jupyter AI-Erweiterung. Sie können keine anderen 3P-Modelle innerhalb der Erweiterung verwenden, während Sie Amazon Q verwenden.

## Amazon Q-Anpassungen in Amazon SageMaker AI
<a name="q-customizations-in-sagemaker"></a>

Wenn Sie Amazon Q Developer Pro verwenden, haben Sie die Möglichkeit, *Anpassungen* zu erstellen. Mit Anpassungen bietet Amazon Q Developer Vorschläge, die auf der Codebasis Ihres Unternehmens basieren. Wenn Sie Anpassungen in Amazon Q Developer erstellen, können Sie diese in Amazon SageMaker Studio JupyterLab und im Code-Editor verwenden. Weitere Informationen zum Einrichten von Anpassungen finden Sie unter [Anpassungsvorschläge](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/customizations.html) im *Amazon Q Developer User Guide*.

# Verwenden von Amazon Q, um Ihre Machine-Learning-Workflows zu beschleunigen
<a name="studio-updated-user-guide-use-amazon-q"></a>

Amazon Q Developer ist Ihr KI-gestütztes Begleittool für die Entwicklung von Machine Learning. Mit Amazon Q Developer können Sie:
+ Lassen Sie sich step-by-step beraten, wie Sie SageMaker KI-Funktionen unabhängig oder in Kombination mit anderen AWS Diensten nutzen können.
+ Holen Sie sich Beispielcode, um mit Ihren ML-Aufgaben wie Datenaufbereitung, Training, Inferenz und MLOps zu beginnen.

 Um Amazon Q Developer zu verwenden, wählen Sie **Q** in der linken Navigationsleiste Ihrer JupyterLab oder Code Editor-Umgebung aus.

Wenn Sie das **Q**-Symbol nicht sehen, muss Ihr Administrator es für Sie einrichten. Weitere Informationen über die Einrichtung von Amazon Q Developer finden Sie unter [Amazon Q Developer für Ihre Benutzer einrichten](studio-updated-amazon-q-admin-guide-set-up.md).

Amazon Q bietet automatisch Vorschläge, die Ihnen beim Schreiben Ihres Codes helfen. Sie können auch über die Chat-Oberfläche nach Vorschlägen fragen.

# Passen Sie Amazon Q Developer in Amazon SageMaker Studio-Anwendungen an
<a name="q-customizations"></a>

Sie können Amazon Q Developer in den Anwendungen JupyterLab und Code Editor in Amazon SageMaker Studio anpassen. Wenn Sie Q Developer anpassen, erhalten Sie Vorschläge und Antworten, die auf Beispielen aus Ihrer Codebasis basieren. Wenn Sie Amazon Q Developer Pro verwenden, können Sie alle Anpassungen laden, die Sie mit diesem Service erstellt haben. 

## Anpassen in JupyterLab
<a name="q-customizations-jupyterlab"></a>

In JupyterLab können Sie alle Anpassungen laden, die Sie mit Amazon Q Developer Pro erstellt haben. Oder Sie können Q Developer in Ihrem JupyterLab Bereich lokal mit Dateien anpassen, die Sie in den Space hochladen.

### So verwenden Sie Anpassungen, die Sie in Amazon Q Developer Pro erstellt haben
<a name="use-q-customizations-jupyterlab"></a>

Wenn Sie eine Anpassung laden, bietet Q Developer Vorschläge, die auf der Codebasis basieren, mit der Sie die Anpassung erstellt haben. Wenn Sie den Chat im **Amazon Q-Panel** verwenden, interagieren Sie außerdem mit Ihrer Anpassung.

Weitere Informationen zum Einrichten von Anpassungen finden Sie unter [Anpassungsvorschläge](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/customizations.html) im *Amazon Q Developer User Guide*.

**Um Ihre Anpassung zu laden**

Öffnen Sie Ihren JupyterLab Bereich und führen Sie die folgenden Schritte aus.

1. Wählen Sie in der Statusleiste am unteren JupyterLab Rand **Amazon Q** aus. Ein Menü wird geöffnet.

1. Wählen Sie im Menü „**Andere Funktionen**“. Die Registerkarte **Amazon-Q-Features** wird im Hauptarbeitsbereich geöffnet.

1. Wählen Sie auf der Registerkarte **Amazon Q-Funktionen** unter **Select Customization** Ihre Q Developer-Anpassung aus.

1. Interagieren Sie mit Ihrer Anpassung mit einer der folgenden Methoden:
   + Erstelle ein Notebook und schreibe Code hinein. Dabei bietet Q Developer automatisch maßgeschneiderte Inline-Vorschläge, die auf Ihren Anpassungen basieren.
   + Chatten Sie mit Q Developer im **Amazon Q-Panel**, indem Sie diesen Schritten folgen:

     1. Wählen Sie in der linken Seitenleiste das **Jupyter** AI Chat-Symbol aus. JupyterLab Das **Amazon Q-Panel** wird geöffnet.

     1. Verwenden Sie das Chatfeld „**Frag Amazon Q**“, um mit Ihrer Anpassung zu interagieren.

### So passen Sie Amazon Q Developer mit Dateien in Ihrem JupyterLab Bereich an
<a name="customize-q-in-jupyterlab"></a>

 JupyterLabIn können Sie Q Developer mit Dateien anpassen, die Sie in Ihren Bereich hochladen. Anschließend können Sie im Chat im **Amazon Q-Bereich** einen Befehl verwenden, um Q Developer nach diesen Dateien zu fragen.

Wenn Sie Q Developer mit Dateien in Ihrem Bereich anpassen, ist die Anpassung nur in Ihrem Bereich verfügbar. Sie können die Anpassung nicht an anderer Stelle laden, beispielsweise in anderen Bereichen oder in der Konsole Amazon Q Developer.

Sie können Q Developer mit Dateien anpassen, JupyterLab wenn Sie entweder Amazon Q Developer Pro oder Amazon Q Developer im Rahmen des kostenlosen Kontingents verwenden.

**Zur Anpassung mit Ihren Dateien**

Öffnen Sie Ihren JupyterLab Bereich und führen Sie die folgenden Schritte aus.

1. Prüfen Sie, ob Ihr Space mit dem erforderlichen Einbettungsmodell konfiguriert ist. Sie können Q Developer JupyterLab nur anpassen, wenn Sie das Standard-Einbettungsmodell verwenden, nämlich **CodeSage : codesage-small**. Zur Überprüfung gehen Sie folgendermaßen vor:

   1. **Wählen Sie in der linken Seitenleiste das Jupyter JupyterLab AI Chat-Symbol aus.** Das **Amazon Q-Panel** wird geöffnet.

   1. Wählen Sie das Symbol für Einstellungen in der oberen rechten Ecke des Fensters.

   1. **Wählen **Sie bei Bedarf unter Modell einbetten** die Option **CodeSage : codesage-small** und dann Änderungen speichern aus.**

   1. Wählen Sie in der oberen rechten Ecke des Fensters das Zurück-Symbol. 

1. **Um Dateien hochzuladen, mit denen Sie Q Developer personalisieren möchten, wählen Sie im **Dateibrowser-Bereich das Symbol** „Dateien hochladen“.**

1. Nachdem Sie Ihre Dateien hochgeladen haben, geben Sie in das Chatfeld **Ask Amazon Q** den Text ein`/learn file path/`. Ersetzen Sie *file path/* durch den Pfad zu Ihren Dateien in Ihrem Space. JupyterLab Wenn Amazon Q die Verarbeitung Ihrer Dateien abgeschlossen hat, wird dies mit einer Chat-Nachricht im Amazon Q-Panel bestätigt.

1. Um Q Developer eine Frage zu Ihren Dateien zu stellen, geben Sie den `/ask` Text in das Chat-Feld ein und folgen Sie dem Befehl mit Ihrer Frage. Amazon Q generiert eine Antwort auf der Grundlage Ihrer Dateien und antwortet im Chat.

Weitere Informationen zu den Befehlen `/learn` und `/ask` ihren Optionen sowie den unterstützten Argumenten finden Sie im Abschnitt [Informationen zu lokalen Daten](https://jupyter-ai.readthedocs.io/en/latest/users/index.html#learning-about-local-data) in der Jupyter-AI-Benutzerdokumentation. Auf dieser Seite wird erklärt, wie Sie die Befehle mit dem Jupyternaut AI-Chatbot verwenden. JupyterLabin Amazon SageMaker Studio unterstützt dieselbe Befehlssyntax.

## Im Code-Editor anpassen
<a name="q-customizations-code-editor"></a>

Wenn Sie eine Anpassung in Amazon Q Developer Pro erstellt haben, können Sie sie im Code-Editor laden. Wenn Q Developer dann Vorschläge für Ihren Code macht, basieren diese auf der Codebasis, mit der Sie die Anpassung erstellt haben. Wenn Sie den Chat im **Amazon Q: Chat-Panel** verwenden, interagieren Sie außerdem mit Ihrer Anpassung.

**So verwenden Sie Anpassungen, die Sie in Amazon Q Developer Pro erstellt haben**

Öffnen Sie Ihren Code-Editor-Bereich und führen Sie die folgenden Schritte aus.

1. Wählen Sie im Code-Editor-Menü „**Ansicht**“ und anschließend „**Befehlspalette“**.

1. Beginnen Sie in der Befehlspalette mit der Eingabe **>Amazon Q: Select Customization** und wählen Sie diese Option in der gefilterten Befehlsliste aus, sobald sie angezeigt wird. In der Befehlspalette werden Ihre Q Developer-Anpassungen angezeigt.

1. Wählen Sie Ihre Anpassung.

1. Interagieren Sie mit Ihrer Anpassung mit einer der folgenden Methoden:
   + Erstellen Sie eine Python-Datei oder ein Jupyter-Notebook und schreiben Sie Code hinein. Dabei bietet Q Developer automatisch maßgeschneiderte Inline-Vorschläge, die auf Ihren Anpassungen basieren.
   + Chatten Sie mit Q Developer im **Amazon Q-Panel**, indem Sie diesen Schritten folgen:

     1. Wählen Sie in der linken Seitenleiste des Code-Editors das **Amazon Q-Symbol** aus. Das **Amazon Q: Chat-Panel** wird geöffnet.

     1. Verwenden Sie das Chat-Feld, um mit Ihrer Anpassung zu interagieren.

Weitere Informationen zu den Funktionen von Q Developer finden Sie unter [Using Amazon Q Developer in the IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html) im *Amazon Q Developer User Guide*.

# Überblick über die KI-Apps von Amazon SageMaker Partner
<a name="partner-apps"></a>

Mit Amazon SageMaker Partner AI Apps erhalten Benutzer Zugriff auf generative KI- und maschinelles Lernen (ML) -Entwicklungsanwendungen, die von branchenführenden Anwendungsanbietern entwickelt, veröffentlicht und vertrieben werden. KI-Apps von Partnern sind für den Betrieb auf SageMaker KI zertifiziert. Mit Partner-KI-Apps können Benutzer die Entwicklung von Lösungen auf der Grundlage von Foundation Models (FM) und klassischen ML-Modellen beschleunigen und verbessern, ohne die Sicherheit ihrer sensiblen Daten zu gefährden. Die Daten bleiben vollständig innerhalb ihrer vertrauenswürdigen Sicherheitskonfiguration und werden niemals an Dritte weitergegeben.  

## Funktionsweise
<a name="partner-apps-how-works"></a>

Partner-KI-Apps sind vollständige Anwendungsstacks, die einen Amazon Elastic Kubernetes Service-Cluster und eine Reihe von Begleitdiensten umfassen, darunter Application Load Balancer, Amazon Relational Database Service, Amazon Simple Storage Service-Buckets, -Warteschlangen von Amazon Simple Queue Service und Caches Redis. 

Diese Dienstanwendungen können von allen Benutzern in einer SageMaker KI-Domäne gemeinsam genutzt werden und werden von einem Administrator bereitgestellt. Nach der Bereitstellung der Anwendung durch den Kauf eines Abonnements über kann der AWS Marketplace Administrator Benutzern in der SageMaker AI-Domain Berechtigungen für den direkten Zugriff auf die Partner-KI-App von Amazon SageMaker Studio, Amazon SageMaker Unified Studio (Vorschau) oder über eine vorsignierte URL erteilen. Weitere Informationen zum Starten einer Anwendung aus Studio finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md). 

Partner AI Apps bietet Administratoren und Benutzern die folgenden Vorteile.  
+  Administratoren verwenden die SageMaker KI-Konsole, um die Partner-KI-Apps zu durchsuchen, zu entdecken, auszuwählen und bereitzustellen, damit sie von ihren Data-Science- und ML-Teams verwendet werden können. Nachdem die Partner-KI-Apps bereitgestellt wurden, führt SageMaker KI sie auf serviceverwalteten AWS-Konten Apps aus. Dies reduziert den mit der Erstellung und dem Betrieb dieser Anwendungen verbundenen Betriebskosten erheblich und trägt zur Sicherheit und zum Datenschutz von Kundendaten bei. 
+  Datenwissenschaftler und ML-Entwickler können in ihrer ML-Entwicklungsumgebung in Amazon SageMaker Studio oder Amazon SageMaker Unified Studio (Vorschauversion) auf Partner-KI-Apps zugreifen. Sie können die Partner-KI-Apps verwenden, um ihre mit KI erstellten Daten, Experimente und Modelle zu SageMaker analysieren. Dadurch werden Kontextwechsel minimiert und der Aufbau von Grundlagenmodellen und die Markteinführung neuer generativer KI-Funktionen beschleunigt. 

## Integration mit AWS-Services
<a name="partner-apps-integration"></a>

Partner AI Apps verwendet die bestehende AWS Identity and Access Management (IAM-) Konfiguration für die Autorisierung und Authentifizierung. Daher müssen Benutzer keine separaten Anmeldeinformationen angeben, um von Amazon SageMaker Studio aus auf jede Partner-KI-App zuzugreifen. Weitere Informationen zur Autorisierung und Authentifizierung mit Partner-KI-Apps finden Sie unter [Richten Sie KI-Apps für Partner ein](partner-app-onboard.md). 

Partner AI Apps lassen sich auch integrieren Amazon CloudWatch , um die Betriebsüberwachung und -verwaltung zu ermöglichen. Kunden können auch die KI-Apps von Partnern durchsuchen und weitere Informationen zu diesen Apps, wie Funktionen, Kundenerlebnis und Preisgestaltung, auf der abrufen AWS-Managementkonsole. Weitere Informationen dazu Amazon CloudWatch finden Sie unter [So Amazon CloudWatch funktioniert](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) es. 

KI-Anwendungen von Partnern wie Deepchecks unterstützen die Integration mit Amazon Bedrock, um LLM-basierte Bewertungsfunktionen wie „LLM as a Judge“ -Bewertungen und automatisierte Kommentarfunktionen zu ermöglichen. Wenn die Amazon Bedrock-Integration aktiviert ist, verwendet die Partner AI-App Ihr vom Kunden verwaltetes Amazon Bedrock-Konto, um auf Foundation-Modelle zuzugreifen und so sicherzustellen, dass Ihre Daten innerhalb Ihrer vertrauenswürdigen Sicherheitskonfiguration bleiben. Weitere Informationen zur Konfiguration der Amazon Bedrock-Integration finden Sie unter[Amazon Bedrock-Integration konfigurieren](partner-app-onboard.md#partner-app-onboard-admin-bedrock).

## Unterstützte -Typen
<a name="partner-apps-supported"></a>

KI-Apps von Partnern unterstützen die folgenden Typen: 
+ Comet 
+  Deepchecks 
+  Fiddler 
+  Lakera Guard 

 Wenn der Administrator eine Partner-AI-App startet, muss er die Konfiguration des Instance-Clusters auswählen, mit dem die Partner-AI-App gestartet wird. Diese Konfiguration wird als Stufe der Partner AI App bezeichnet. Die Stufe einer Partner-KI-App kann einen der folgenden Werte annehmen: 
+  `small` 
+  `medium` 
+  `large` 

 Die folgenden Abschnitte enthalten Informationen zu den einzelnen Partner-AI-App-Typen sowie Einzelheiten zu den Tierwerten der Partner-AI-App. 

### Comet-Übersicht
<a name="partner-apps-supported-comet"></a>

 Cometbietet eine Plattform zur end-to-end Modellevaluierung für KI-Entwickler mit LLM-Evaluierungen, Versuchsverfolgung und Produktionsüberwachung. 

 Je nach Arbeitslast empfehlen wir die folgenden Partner-KI-App-Stufen: 
+  `small` – Empfohlen für bis zu 5 Benutzer und 20 laufende Jobs. 
+  `medium` – Empfohlen für bis zu 50 Benutzer und 100 laufende Jobs. 
+  `large` – Empfohlen für bis zu 500 Benutzer und mehr als 100 laufende Jobs. 

**Anmerkung**  
SageMaker KI unterstützt nicht die Anzeige der Comet Benutzeroberfläche als Teil der Ausgabe eines Jupyter-Notebooks. 

### Deepchecks-Übersicht
<a name="partner-apps-supported-deepchecks"></a>

Entwickler und Stakeholder von KI-Anwendungen können LLM-basierte Anwendungen kontinuierlich validieren, einschließlich Eigenschaften, Leistungskennzahlen und potenzieller Fallstricke während des gesamten Lebenszyklus, von der Bereitstellung über interne Experimente Deepchecks bis hin zur Produktion. 

 Je nach der für den Workload gewünschten Geschwindigkeit empfehlen wir die folgenden Partner-KI-App-Stufen: 
+  `small` – Verarbeitet 200 Token pro Sekunde. 
+  `medium` – Verarbeitet 500 Token pro Sekunde. 
+  `large` – Verarbeitet 1300 Token pro Sekunde. 

### Fiddler-Übersicht
<a name="partner-apps-supported-fiddler"></a>

 Die Fiddler AI Observability Platform erleichtert die Validierung, Überwachung und Analyse von ML-Modellen in der Produktion, einschließlich tabellarischer Modelle, Deep-Learning-, Computer Vision- und natürlicher Sprachverarbeitungsmodelle. 

 Je nach der für den Workload gewünschten Geschwindigkeit empfehlen wir die folgenden Partner-KI-App-Stufen: 
+  `small` – Die Verarbeitung von 10 Millionen Ereignissen in 5 Modellen, 100 Funktionen und 20 Iterationen dauert etwa 53 Minuten. 
+  `medium` – Die Verarbeitung von 10 MM-Ereignissen in 5 Modellen, 100 Features und 20 Iterationen dauert etwa 23 Minuten. 
+  `large` – Die Verarbeitung von 10 MM-Ereignissen in 5 Modellen, 100 Features und 100 Iterationen dauert etwa 27 Minuten. 

### Lakera Guard-Übersicht
<a name="partner-apps-supported-lakera-guard"></a>

 Lakera Guardist eine KI-Anwendungsfirewall mit niedriger Latenz, um generative KI-Anwendungen vor KI-spezifischen Bedrohungen der Generation zu schützen. 

 Je nach Arbeitslast empfehlen wir die folgenden Partner-KI-App-Stufen: 
+  `small`— Empfohlen für bis zu 20 robotergestützte Prozessautomatisierungen (). RPAs 
+  `medium`— Empfohlen für bis zu 100 RPAs. 
+  `large`— Empfohlen für bis zu 200 RPAs. 

# Richten Sie KI-Apps für Partner ein
<a name="partner-app-onboard"></a>

 In den folgenden Themen werden die Berechtigungen beschrieben, die für den Start der Nutzung von Amazon SageMaker Partner AI Apps erforderlich sind. Die erforderlichen Berechtigungen sind je nach Stufe der Benutzerberechtigungen in zwei Teile aufgeteilt: 
+  **Administratorberechtigungen** – Berechtigungen für Administratoren, die Entwicklerumgebungen für Datenwissenschaftler und maschinelles Lernen (ML) einrichten.
  + AWS Marketplace
  +  Verwaltung von KI-Apps durch Partner 
  +  AWS License Manager 
+  **Benutzerberechtigungen** – Berechtigungen für Datenwissenschaftler und Entwickler von maschinellem Lernen. 
  +  Benutzer-Autorisierung 
  +  Verbreitung von Identitäten 
  +  SDK-Zugang 

## Voraussetzungen
<a name="partner-app-onboard-prereq"></a>

 Administratoren können die folgenden Voraussetzungen erfüllen, um Partner-KI-Apps einzurichten. 
+ (Optional) Integrieren Sie sich in eine SageMaker KI-Domain. Auf KI-Apps von Partnern kann direkt von einer SageMaker KI-Domain aus zugegriffen werden. Weitere Informationen finden Sie unter [Überblick über die Amazon SageMaker AI-Domain](gs-studio-onboard.md). 
  + Wenn Sie Partner AI Apps in einer SageMaker KI-Domain im Nur-VPC-Modus verwenden, müssen Administratoren einen Endpunkt mit dem folgenden Format erstellen, um eine Verbindung zu den Partner AI-Apps herzustellen. Weitere Informationen zur Verwendung von Studio im Modus „Nur VPC“ finden Sie unter [Amazon SageMaker Studio in einer VPC mit externen Ressourcen Connect](studio-updated-and-internet-access.md). 

    ```
    aws.sagemaker.region.partner-app
    ```
+ (Optional) Wenn Administratoren über die mit der Domain interagieren AWS CLI, müssen sie auch die folgenden Voraussetzungen erfüllen. 

  1. Aktualisieren Sie die, AWS CLI indem Sie den Schritten unter [Installation der aktuellen AWS CLI Version](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled) folgen.  

  1. Führen Sie `aws configure` vom lokalen Rechner aus und geben Sie die AWS -Anmeldeinformationen ein. Informationen zu AWS Anmeldeinformationen finden Sie unter [AWS Anmeldeinformationen verstehen und abrufen](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html).

## Administrative Berechtigungen
<a name="partner-app-onboard-admin"></a>

 Der Administrator muss die folgenden Berechtigungen hinzufügen, um Partner-KI-Apps in SageMaker KI zu aktivieren. 
+  Erlaubnis, das AWS Marketplace Abonnement für Partner-AI-Apps abzuschließen 
+  Richten Sie die Ausführungsrolle für die Partner-AI-App ein 

### AWS Marketplace Abonnement für Partner-KI-Apps
<a name="partner-app-onboard-admin-marketplace"></a>

Administratoren müssen die folgenden Schritte ausführen, um Berechtigungen für AWS Marketplace hinzuzufügen. Informationen zur Nutzung AWS Marketplace finden Sie unter [Erste Schritte als Käufer mit AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-getting-started.html).

1. Erteilen Sie Berechtigungen für AWS Marketplace. Administratoren von Partner-KI-Apps benötigen diese Berechtigungen, um Abonnements für Partner-KI-Apps zu erwerben AWS Marketplace. Um Zugriff darauf zu erhalten AWS Marketplace, müssen Administratoren die `AWSMarketplaceManageSubscriptions` verwaltete Richtlinie an die IAM-Rolle anhängen, die sie für den Zugriff auf die SageMaker KI-Konsole und den Kauf der App verwenden. Einzelheiten zur `AWSMarketplaceManageSubscriptions` verwalteten Richtlinie finden Sie unter [AWS Verwaltete Richtlinien für AWS Marketplace Käufer](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-security-iam-awsmanpol.html#security-iam-awsmanpol-awsmarketplacemanagesubscriptions). Informationen zum Hinzufügen von verwalteten Richtlinien finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). 

1. Erteilen Sie SageMaker KI die Erlaubnis, Operationen im Namen der Administratoren mithilfe von anderen AWS-Services auszuführen. Administratoren müssen SageMaker KI Berechtigungen zur Nutzung dieser Dienste und der Ressourcen, auf die sie zugreifen, erteilen. In der folgenden Richtliniendefinition wird demonstriert, wie Sie die erforderlichen Berechtigungen für Partner-AI Apps gewähren. Diese Berechtigungen werden zusätzlich zu den vorhandenen Berechtigungen für die Administratorrolle benötigt. Weitere Informationen finden Sie unter [Wie verwendet man SageMaker AI-Ausführungsrollen](sagemaker-roles.md).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreatePartnerApp",
                   "sagemaker:DeletePartnerApp",
                   "sagemaker:UpdatePartnerApp",
                   "sagemaker:DescribePartnerApp",
                   "sagemaker:ListPartnerApps",
                   "sagemaker:CreatePartnerAppPresignedUrl",
                   "sagemaker:CreatePartnerApp",
                   "sagemaker:AddTags",
                   "sagemaker:ListTags",
                   "sagemaker:DeleteTags"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::*:role/*",
               "Condition": {
                   "StringEquals": {
                        "iam:PassedToService": "sagemaker.amazonaws.com"
                    } 
               }
           }
       ]
   }
   ```

------

### Richten Sie die Ausführungsrolle für die Partner-AI-App ein
<a name="partner-app-onboard-admin-role"></a>

1. KI-Apps von Partnern benötigen eine Ausführungsrolle, um mit Ressourcen in der zu interagieren AWS-Konto. Administratoren können diese Ausführungsrolle mithilfe der AWS CLI erstellen. Die Partner AI App verwendet diese Rolle, um Aktionen im Zusammenhang mit der Funktionalität der Partner AI App abzuschließen. 

   ```
   aws iam create-role --role-name PartnerAiAppExecutionRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "sagemaker.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }'
   ```

1.  Erstellen Sie die AWS License Manager dienstverknüpfte Rolle, indem Sie die Schritte unter [Erstellen einer dienstbezogenen Rolle für License Manager](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html#create-slr-core) ausführen.  

1.  Erteilen Sie der Partner AI App Berechtigungen für den Zugriff auf den License Manager mithilfe von AWS CLI. Diese Berechtigungen sind für den Zugriff auf die Lizenzen für die Partner AI App erforderlich. Dadurch kann die Partner AI App den Zugriff auf die Partner AI App-Lizenz überprüfen.

   ```
   aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name LicenseManagerPolicy --policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Allow",
       "Action": [
         "license-manager:CheckoutLicense",
         "license-manager:CheckInLicense",
         "license-manager:ExtendLicenseConsumption",
         "license-manager:GetLicense",
         "license-manager:GetLicenseUsage"
       ],
       "Resource": "*"
     }
   }'
   ```

1.  Wenn die Partner-KI-App Zugriff auf einen Amazon-S3-Bucket benötigt, fügen Sie der Ausführungsrolle Amazon-S3-Berechtigungen hinzu. Weitere Informationen finden Sie unter [Erforderliche Berechtigungen für API-Operationen von Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-policy-actions.html). 

### Amazon Bedrock-Integration konfigurieren
<a name="partner-app-onboard-admin-bedrock"></a>

KI-Anwendungen von Partnern wie Deepchecks unterstützen die Integration mit Amazon Bedrock, um LLM-basierte Evaluierungsfunktionen zu ermöglichen. Bei der Konfiguration einer Partner-KI-App mit Amazon Bedrock-Unterstützung können Administratoren angeben, welche Fundamentmodelle und Inferenzprofile für die Verwendung in der Anwendung verfügbar sind. Wenn Sie das Kontingentlimit für Ihre Amazon Bedrock-Modelle erhöhen müssen, finden Sie weitere Informationen unter [Eine Erhöhung der Amazon Bedrock-Kontingente beantragen](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas-increase.html).

1. Stellen Sie sicher, dass die Partner-AI-App-Ausführungsrolle über die erforderlichen Amazon Bedrock-Berechtigungen verfügt. Fügen Sie die folgenden Berechtigungen hinzu, um den Zugriff auf das Amazon Bedrock-Modell zu aktivieren:

   ```
   aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name BedrockInferencePolicy --policy-document '{
   	   "Version": "2012-10-17",		 	 	 
   	   "Statement": {
   	     "Effect": "Allow",
   	     "Action": [
   	       "bedrock:InvokeModel",
   	       "bedrock:GetFoundationModel",
   	       "bedrock:GetInferenceProfile"
   	     ],
   	     "Resource": "*"
   	   }
   	 }'
   ```

1. Identifizieren Sie die Amazon Bedrock-Modelle, die Ihr Unternehmen der Partner AI App zur Verfügung stellen möchte. Sie können die verfügbaren Modelle in Ihrer Region mithilfe der Amazon Bedrock-Konsole anzeigen. Informationen zur Verfügbarkeit von Modellen in verschiedenen Regionen finden Sie unter [Modellsupport von AWS-Region](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html).

1. (Optional) Erstellen Sie vom Kunden verwaltete Inferenzprofile für die Kostenverfolgung und das Modellmanagement. Mit Inferenzprofilen können Sie die Nutzung von Amazon Bedrock speziell für die Partner AI App verfolgen und regionsübergreifende Inferenzen ermöglichen, wenn Modelle in Ihrer aktuellen Region nicht verfügbar sind. Weitere Informationen finden Sie unter [Verwenden von Inferenzprofilen in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles.html).

1. Geben Sie bei der Erstellung oder Aktualisierung der Partner-AI-App die zulässigen Modelle und Inferenzprofile mithilfe der `CreatePartnerApp` API oder an. `UpdatePartnerApp` Die Partner-AI-App kann nur auf die Modelle und Inferenzprofile zugreifen, die Sie explizit konfigurieren.

**Wichtig**  
Die Nutzung von Amazon Bedrock über Partner-KI-Apps wird Ihnen direkt AWS-Konto mit Ihren bestehenden Amazon Bedrock-Preisen in Rechnung gestellt. Die Infrastrukturkosten für die Partner-KI-App-Infrastruktur sind von den Inferenzkosten für das Amazon Bedrock-Modell getrennt.

#### Deepchecks Amazon Bedrock-Integration
<a name="partner-app-onboard-admin-bedrock-deepchecks"></a>

Deepchecks unterstützt die Amazon Bedrock-Integration für LLM-basierte Evaluierungsfunktionen, darunter:
+ *Evaluierungen durch LLM als Richter* — Verwenden Sie Basismodelle, um die Ergebnisse der Modelle automatisch im Hinblick auf Qualität, Relevanz und andere Kriterien zu bewerten
+ *Automatisierte Annotation* — Generieren Sie Beschriftungen und Anmerkungen für Datensätze mithilfe von Fundamentmodellen
+ *Inhaltsanalyse* — Analysieren Sie Textdaten mithilfe von LLM-Funktionen auf Verzerrungen, Toxizität und andere Qualitätskennzahlen

Detaillierte Informationen zu den Funktionen und der Konfiguration von Deepchecks Amazon Bedrock finden Sie in der Deepchecks-Dokumentation in der Anwendung.

## Benutzerberechtigungen
<a name="partner-app-onboard-user"></a>

 Nachdem die Administratoren die Einstellungen für die Administratorberechtigungen vorgenommen haben, müssen sie sicherstellen, dass die Benutzer über die für den Zugriff auf die Partner-AI-Apps erforderlichen Berechtigungen verfügen.

1. Erteilen Sie SageMaker KI die Erlaubnis, Operationen in Ihrem Namen mithilfe anderer auszuführen. AWS-Services Administratoren müssen SageMaker KI Berechtigungen zur Nutzung dieser Dienste und der Ressourcen, auf die sie zugreifen, erteilen. Administratoren gewähren SageMaker KI diese Berechtigungen mithilfe einer IAM-Ausführungsrolle. Weitere Informationen zu IAM-Rollen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html). In der folgenden Richtliniendefinition wird demonstriert, wie Sie die erforderlichen Berechtigungen für Partner-AI Apps gewähren. Diese Richtlinie kann zur Ausführungsrolle des Benutzerprofils hinzugefügt werden.  Weitere Informationen finden Sie unter [Wie verwendet man SageMaker AI-Ausführungsrollen](sagemaker-roles.md). 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribePartnerApp",
                   "sagemaker:ListPartnerApps",
                   "sagemaker:CreatePartnerAppPresignedUrl"
               ],
               "Resource": "arn:aws:sagemaker:*:*:partner-app/app-*"
           }
       ]
   }
   ```

------

1.  (Optional) Wenn Sie Partner-KI-Apps von Studio aus starten, fügen Sie die `sts:TagSession` Vertrauensrichtlinie wie folgt der Rolle hinzu, mit der Studio oder die Partner-AI-Apps direkt gestartet wurden. Dadurch wird sichergestellt, dass die Identität ordnungsgemäß weitergegeben werden kann.

   ```
   {
       "Effect": "Allow",
       "Principal": {
           "Service": "sagemaker.amazonaws.com"
       },
       "Action": [
                   "sts:AssumeRole",
                   "sts:TagSession"
                ]
   }
   ```

1.  (Optional) Wenn Sie das SDK einer Partner-KI-App für den Zugriff auf Funktionen in SageMaker KI verwenden, fügen Sie der Rolle, die zur Ausführung des SDK-Codes verwendet wird, die folgende `CallPartnerAppApi` Berechtigung hinzu. Wenn Sie den SDK-Code von Studio aus ausführen, fügen Sie die Berechtigung zur Studio-Ausführungsrolle hinzu. Wenn Sie den Code von einem anderen Ort als Studio aus ausführen, fügen Sie die Berechtigung zur IAM-Rolle hinzu, die mit dem Notebook verwendet wird. Dadurch kann der Benutzer über das SDK der Partner AI App auf die Funktionen der Partner AI App zugreifen. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CallPartnerAppApi"
               ],
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:partner-app/app"
               ]
           }
       ]
   }
   ```

------

### Verwalten der Benutzerautorisierung und -authentifizierung
<a name="partner-app-onboard-user-auth"></a>

Um Mitgliedern ihres Teams Zugriff auf Partner-KI-Apps zu gewähren, müssen Administratoren sicherstellen, dass die Identität ihrer Benutzer an die Partner-KI-Apps weitergegeben wird. Diese Weitergabe stellt sicher, dass Benutzer ordnungsgemäß auf die Benutzeroberfläche der Partner AI Apps zugreifen und autorisierte Partner-AI-App-Aktionen ausführen können. 

 KI-Apps von Partnern unterstützen die folgenden Identitätsquellen: 
+  AWS IAM Identity Center 
+  Externe Identitätsanbieter (IdPs)  
+  IAM-Sitzungsbasierte Identität 

 Die folgenden Abschnitte enthalten Informationen zu den Identitätsquellen, die von Partner-KI-Apps unterstützt werden, sowie wichtige Informationen zu dieser Identitätsquelle. 

#### IAM Identity Center
<a name="partner-app-onboard-user-auth-idc"></a>

Wenn ein Benutzer mithilfe von IAM Identity Center in Studio authentifiziert wird und eine Anwendung von Studio aus startet, `UserName` wird das IAM Identity Center automatisch als Benutzeridentität für eine Partner-AI-App weitergegeben. Dies ist nicht der Fall, wenn der Benutzer die Partner AI-App direkt über die `CreatePartnerAppPresignedUrl`-API startet.

#### Externe Identitätsanbieter (IdPs)
<a name="partner-app-onboard-user-auth-idps"></a>

Wenn Sie SAML für den AWS-Konto Verbund verwenden, haben Administratoren zwei Möglichkeiten, die IdP-Identität als Benutzeridentität für eine Partner-KI-App zu übernehmen. Informationen zur Einrichtung eines AWS-Konto Verbunds finden Sie unter [So konfigurieren Sie SAML 2.0 für den](https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Amazon-Web-Service) Verbund. AWS-Konto   
+ **Principal Tag** — Administratoren können die IDP-spezifische IAM Identity Center-Anwendung so konfigurieren, dass Identitätsinformationen aus der Landing-Sitzung mithilfe der AWS Sitzung `PrincipalTag` mit dem folgenden Attribut weitergegeben werden. `Name` Bei Verwendung von SAML verwendet die Sitzung mit der Landing-Rolle eine IAM-Rolle. Um die verwenden zu können`PrincipalTag`, müssen Administratoren sowohl dieser Landing-Rolle als auch der Studio-Ausführungsrolle die `sts:TagSession` entsprechende Berechtigung hinzufügen. Weitere Informationen zu `PrincipalTag` finden Sie unter [Konfigurieren von SAML-Zusicherungen für die Authentifizierungsantwort](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-tags). 

  ```
  https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerPartnerAppUser
  ```
+ **Name der Landing-Session** – Administratoren können den Namen der Landing-Session als Identität für die Partner-AI-App weitergeben. Dazu müssen sie das `EnableIamSessionBasedIdentity` Opt-in-Flag für jede Partner-KI-App setzen. Weitere Informationen finden Sie unter [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session).

#### IAM-Sitzungsbasierte Identität
<a name="partner-app-onboard-user-auth-iam"></a>

**Wichtig**  
Wir raten davon ab, diese Methode für Produktionskonten zu verwenden. Verwenden Sie für Produktionskonten einen Identitätsanbieter, um die Sicherheit zu erhöhen.

 SageMaker KI unterstützt die folgenden Optionen für die Weitergabe von Identitäten, wenn eine auf einer IAM-Sitzung basierende Identität verwendet wird. Alle Optionen, mit Ausnahme der Verwendung eines Sitzungs-Tags mit AWS STS, erfordern das Setzen des `EnableIamSessionBasedIdentity` Opt-in-Flags für jede Anwendung. Weitere Informationen finden Sie unter [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session).

Bei der Weitergabe von Identitäten überprüft SageMaker KI, ob ein AWS STS Session-Tag verwendet wird. Wenn keines verwendet wird, gibt SageMaker AI den IAM-Benutzernamen oder den Sitzungsnamen weiter. AWS STS 
+  **AWS STS Sitzungs-Tag** — Administratoren können ein Sitzungs-Tag für die `SageMakerPartnerAppUser` IAM-Sitzung des Launchers festlegen. Wenn Administratoren eine Partner-AI-App mithilfe der SageMaker AI-Konsole oder der starten AWS CLI, wird das `SageMakerPartnerAppUser` Sitzungs-Tag automatisch als Benutzeridentität für die Partner AI-App übergeben. Das folgende Beispiel zeigt, wie Sie das `SageMakerPartnerAppUser` Sitzungs-Tag unter Verwendung des festlege AWS CLI. Der Wert des Schlüssels wird als Haupt-Tag hinzugefügt.

  ```
  aws sts assume-role \
      --role-arn arn:aws:iam::account:role/iam-role-used-to-launch-partner-ai-app \
      --role-session-name session_name \
      --tags Key=SageMakerPartnerAppUser,Value=user-name
  ```

   Wenn Sie Benutzern Zugriff auf eine Partner-KI-App gewähren`CreatePartnerAppPresignedUrl`, empfehlen wir, den Wert für den `SageMakerPartnerAppUser` Schlüssel zu überprüfen. Dies trägt dazu bei, einen unbeabsichtigten Zugriff auf Ressourcen der Partner-KI-App zu verhindern. Mit der folgenden Vertrauensrichtlinie wird überprüft, ob das Sitzungs-Tag genau mit dem zugehörigen IAM-Benutzer übereinstimmt. Zu diesem Zweck können Administratoren ein beliebiges Principal-Tag verwenden. Es sollte für die Rolle konfiguriert werden, die Studio oder die Partner AI App startet.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
              "Effect": "Allow",
              "Action": [
                  "sts:AssumeRole",
                  "sts:TagSession"
              ],
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Condition": {
                  "StringLike": {
                      "aws:RequestTag/SageMakerPartnerAppUser": "prefix${aws:username}"
                  }
              }
          }
      ]
  }
  ```

------
+  **Authentifizierter IAM-Benutzer** – Der Benutzername des Benutzers wird automatisch als Partner AI App-Benutzer weitergegeben. 
+  **AWS STS Sitzungsname** — Wenn bei der Verwendung kein `SageMakerPartnerAppUser` Sitzungs-Tag konfiguriert ist AWS STS, gibt SageMaker AI einen Fehler zurück, wenn Benutzer eine Partner-AI-App starten. Um diesen Fehler zu vermeiden, müssen Administratoren das `EnableIamSessionBasedIdentity` Opt-in-Flag für jede Partner-KI-App setzen. Weitere Informationen finden Sie unter [`EnableIamSessionBasedIdentity`](#partner-app-onboard-user-iam-session).

   Wenn das `EnableIamSessionBasedIdentity` Opt-In-Flag aktiviert ist, stellen Sie mithilfe der [IAM-Richtlinie für Rollenvertrauensstellungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname) sicher, dass der Name der IAM-Sitzung dem IAM-Benutzernamen entspricht oder diesen enthält. Dadurch wird sichergestellt, dass Benutzer keinen Zugriff erhalten, indem sie sich als andere Benutzer ausgeben. Mit der folgenden Vertrauensrichtlinie wird überprüft, ob der Sitzungsname genau mit dem zugehörigen IAM-Benutzer übereinstimmt. Zu diesem Zweck können Administratoren ein beliebiges Principal-Tag verwenden. Es sollte für die Rolle konfiguriert werden, die Studio oder die Partner AI App startet.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Principal": {
                  "AWS": "arn:aws:iam::111122223333:root"
              },
              "Condition": {
                  "StringEquals": {
                      "sts:RoleSessionName": "${aws:username}"
                  }
              }
          }
      ]
  }
  ```

------

  Administratoren müssen die `sts:TagSession` Vertrauensrichtlinie auch der Rolle hinzufügen, mit der Studio oder die Partner AI-App gestartet wird. Dadurch wird sichergestellt, dass die Identität ordnungsgemäß weitergegeben werden kann.

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "Service": "sagemaker.amazonaws.com"
      },
      "Action": [
                  "sts:AssumeRole",
                  "sts:TagSession"
               ]
  }
  ```

 Nach dem Einrichten der Anmeldeinformationen können Administratoren ihren Benutzern Zugriff auf Studio oder die Partner-AI-App gewähren, indem sie entweder die Aufrufe `CreatePresignedDomainUrl` oder die `CreatePartnerAppPresignedUrl` API-Aufrufe AWS CLI verwenden.

Benutzer können dann Studio auch von der SageMaker AI-Konsole aus starten und Partner-KI-Apps von Studio aus starten.

### `EnableIamSessionBasedIdentity`
<a name="partner-app-onboard-user-iam-session"></a>

`EnableIamSessionBasedIdentity`ist ein Opt-in-Flag. Wenn die `EnableIamSessionBasedIdentity` Markierung gesetzt ist, übergibt SageMaker KI die IAM-Sitzungsinformationen als Benutzeridentität der Partner-AI-App. Weitere Informationen zu AWS STS Sitzungen finden Sie unter [Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html).

### Zugriffskontrolle
<a name="partner-app-onboard-user-access"></a>

 Um den Zugriff auf KI-Anwendungen von Partnern zu steuern, verwenden Sie eine IAM-Richtlinie, die der Ausführungsrolle des Benutzerprofils zugeordnet ist. Um eine Partner-KI-App direkt von Studio aus oder mithilfe von zu starten AWS CLI, muss die Ausführungsrolle des Benutzerprofils über eine Richtlinie verfügen, die Berechtigungen für die `CreatePartnerAppPresignedUrl` API gewährt. Entfernen Sie diese Berechtigung aus der Ausführungsrolle des Benutzerprofils, um sicherzustellen, dass Partner AI-Apps nicht gestartet werden können. 

### Root-Admin-Benutzer
<a name="partner-app-onboard-user-root"></a>

 Für die Apps Comet und Fiddler Partner AI ist mindestens ein Root-Admin-Benutzer erforderlich. Root-Admin-Benutzer sind berechtigt, sowohl normale als auch Admin-Benutzer hinzuzufügen und Ressourcen zu verwalten. Die als Root-Admin-Benutzer angegebenen Benutzernamen müssen mit den Benutzernamen aus der Identitätsquelle übereinstimmen. 

 Root-Admin-Benutzer werden zwar dauerhaft in SageMaker AI gespeichert, normale Admin-Benutzer jedoch nicht und existieren nur innerhalb der Partner-AI-App, bis die Partner-AI-App beendet wird. 

 Administratoren können Root-Admin-Benutzer mithilfe des `UpdatePartnerApp`-API-Aufrufs aktualisieren. Wenn Root-Admin-Benutzer aktualisiert werden, wird die aktualisierte Liste der Root-Admin-Benutzer an die Partner AI App weitergegeben. Die Partner AI-App stellt sicher, dass allen Benutzernamen in der Liste Root-Administratorrechte gewährt werden. Wenn ein Root-Admin-Benutzer aus der Liste entfernt wird, behält der Benutzer weiterhin normale Administratorrechte, bis einer der folgenden Punkte zutrifft:
+ Der Benutzer wird aus der Anwendung entfernt.
+ Ein anderer Admin-Benutzer widerruft die Administratorberechtigungen für den Benutzer.

**Anmerkung**  
Fiddlerunterstützt das Aktualisieren von Admin-Benutzern nicht. CometUnterstützt nur Updates für Root-Admin-Benutzer.  

 Um einen Root-Admin-Benutzer zu löschen, müssen Sie zuerst die Liste der Root-Admin-Benutzer aktualisieren, die die `UpdatePartnerApp` API verwenden. Entfernen oder widerrufen Sie anschließend die Administratorberechtigungen über die Benutzeroberfläche der Partner AI-App.

 Wenn Sie einen Root-Admin-Benutzer aus der Benutzeroberfläche der Partner AI-App entfernen, ohne die Liste der Root-Admin-Benutzer mit der `UpdatePartnerApp` API zu aktualisieren, ist die Änderung vorübergehend. Wenn SageMaker KI die nächste Aktualisierungsanfrage für die Partner-AI-App sendet, sendet SageMaker KI die Root-Admin-Liste, die den Benutzer immer noch enthält, an die Partner-AI-App. Dadurch wird der über die Benutzeroberfläche der Partner AI App abgeschlossene Löschvorgang außer Kraft gesetzt. 

# Bereitstellung von Partner-KI-Apps
<a name="partner-apps-provision"></a>

Nachdem die Administratoren die erforderlichen Berechtigungen eingerichtet haben, können sie Amazon SageMaker Partner AI Apps für Benutzer in der Domain erkunden und bereitstellen.

Administratoren können alle verfügbaren Partner-KI-Apps sowie die Partner-KI-Apps, die sie bereitgestellt haben, von der [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker/) aus einsehen. Auf der Seite **Partner AI Apps** können Administratoren Details zum Preismodell für jede Partner-AI-App einsehen und sie Benutzern zur Verfügung stellen. Administratoren können sie zur Verfügung stellen, indem sie zu der navigieren, um diese AWS Marketplace Partner-AI-App zu abonnieren.

 Administratoren können neue Apps auf der Seite Partner AI Apps bereitstellen. Sie können auch die Partner-KI-Apps, die sie bereits bereitgestellt haben, auf der Registerkarte **Meine Apps** einsehen.

**Anmerkung**  
Auf Anwendungen, die Administratoren bereitstellen, können alle Benutzer zugreifen, denen Administratoren in einem AWS-Konto die entsprechenden Berechtigungen erteilt haben. KI-Apps von Partnern sind nicht auf eine bestimmte Domain oder einen bestimmten Benutzer beschränkt.

## Status
<a name="partner-apps-provision-status"></a>

 Wenn Administratoren eine von ihnen bereitgestellte Partner-KI-App aufrufen, können sie auch den Status ihrer Anwendung mit einem der folgenden Werte sehen.
+  **Bereitgestellt** – Die Anwendung ist einsatzbereit. Administratoren können die Anwendungskonfiguration aktualisieren und die Anwendung löschen.
+ **Fehler** – Es gab ein Problem mit der Anwendungsbereitstellung. Administratoren können Fehler beheben und die Anwendung erneut konfigurieren, um sie bereitzustellen.
+ **Nicht bereitgestellt** – Die Anwendung wurde abonniert, jedoch noch nicht bereitgestellt. Administratoren können die Anwendung für die Bereitstellung konfigurieren.

## Optionen
<a name="partner-apps-provision-options"></a>

 Wenn Administratoren eine Anwendung konfigurieren, können sie sich für die folgenden Optionen entscheiden: 
+  **Anwendungsname** – Ein eindeutiger Name für die Anwendung. 
+  **Wartungsplan für Apps** – KI-Apps von Partnern werden wöchentlich gewartet. Bei dieser Option wählen Administratoren sowohl den Wochentag als auch die Uhrzeit, zu der diese Wartung durchgeführt wird. 
+  **Weitergabe der STS-Identität** — Verwenden Sie diese Option, um den Namen der IAM-Sitzung des Launchers AWS -Security-Token-Service (AWS STS) als Benutzeridentität der Partner-AI-App zu übergeben. Weitere Informationen finden Sie unter [Richten Sie KI-Apps für Partner ein](partner-app-onboard.md). 
+  **Administratorverwaltung** – Einige Partner-KI-Apps unterstützen das Hinzufügen von bis zu fünf Administratoren, die über alle Rechte zur Verwaltung der Partner-AI-App-Funktionalität verfügen. Dies gilt nur für Comet und Fiddler. Weitere Informationen finden Sie unter [Richten Sie KI-Apps für Partner ein](partner-app-onboard.md). 
+  **Ausführungsrolle** – Die Rolle, die die Partner-AI-App verwendet, um auf Ressourcen zuzugreifen und Aktionen auszuführen. Weitere Informationen finden Sie unter [Richten Sie KI-Apps für Partner ein](partner-app-onboard.md). 
+  **App-Version** – Die Version der Partner-AI-App, die Administratoren verwenden möchten.  
+  **Tierauswahl – Die Stufe** der Infrastrukturbereitstellung für die Partner-AI-App. Die Tiergröße wirkt sich auf die Geschwindigkeit und die Funktionen der Anwendung aus. Weitere Informationen finden Sie unter [Richten Sie KI-Apps für Partner ein](partner-app-onboard.md). 
+  **Bucket-Richtlinie zu Lakera S3** – Dies wird von der Lakera-guard-App nur benötigt, um auf einen Amazon-S3-Bucket zuzugreifen.

# Richten Sie die Amazon SageMaker Partner AI Apps ein SDKs
<a name="partner-apps-sdk"></a>

 Das folgende Thema beschreibt den Prozess, der für die Installation und Verwendung der anwendungsspezifischen Apps SDKs mit Amazon SageMaker Partner AI erforderlich ist. Für die Installation und Verwendung SDKs für Anwendungen müssen Sie spezifische Umgebungsvariablen für Partner-AI-Apps angeben, damit das SDK der Anwendung Umgebungsvariablen aufnehmen und die Autorisierung auslösen kann. Die folgenden Abschnitte enthalten Informationen zu den Schritten, die erforderlich sind, um diesen Vorgang für jeden der unterstützten Anwendungstypen abzuschließen. 

## Komet
<a name="partner-apps-sdk-comet"></a>

 Comet bietet zwei Produkte an: 
+  Opik ist ein LLM-Quell-Evaluierungsframework. 
+  Die ML-Plattform von Comet kann verwendet werden, um Modelle über den gesamten ML-Lebenszyklus hinweg zu verfolgen, zu vergleichen, zu erklären und zu optimieren. 

Comet unterstützt die Verwendung von zwei verschiedenen, SDKs je nachdem, mit welchem Produkt Sie interagieren. Gehen Sie wie folgt vor, um Comet oder Opik zu installieren und zu verwenden. SDKs Weitere Informationen über das Comet-SDK finden Sie unter [Quickstart](https://www.comet.com/docs/v2/guides/quickstart/). Weitere Informationen zum Opik SDK finden Sie unter [Open Source LLM](https://github.com/comet-ml/opik) Evaluation Framework.

1. Starten Sie die Umgebung, in der Sie Comet oder Opik SDKs mit Partner-KI-Apps verwenden. Informationen zum Starten einer JupyterLab Anwendung finden Sie unter. [Erstellen eines Berichts](studio-updated-jl-user-guide-create-space.md) Weitere Informationen zum Starten von Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

1.  Starten Sie ein Jupyter-Notebook oder einen Code-Editor-Bereich. 

1.  Installieren Sie in der Entwicklungsumgebung die kompatiblen Comet-, Opik- und SageMaker Python-SDK-Versionen. Um kompatibel zu sein: 
   +  Die SageMaker Python-SDK-Version muss mindestens sein`2.237.0`.
   +  Die Comet SDK-Version muss die neueste Version sein.
   +  Die Opik SDK-Version muss mit der Version übereinstimmen, die von Ihrer Opik-Anwendung verwendet wird. Überprüfen Sie die in der Benutzeroberfläche der Opik-Webanwendung verwendete Opik-Version. Eine Ausnahme besteht darin, dass die Opik SDK-Version mindestens `1.2.0` sein muss, wenn die Opik-Anwendungsversion `1.1.5` ist.
**Anmerkung**  
SageMaker JupyterLab wird mit installiertem SageMaker Python-SDK geliefert. Möglicherweise müssen Sie das SageMaker Python-SDK jedoch aktualisieren, wenn die Version niedriger als ist`2.237.0`.

   ```
   %pip install sagemaker>=2.237.0 comet_ml
   
   ##or
   
   %pip install sagemaker>=2.237.0 opik=<compatible-version>
   ```

1.  Legen Sie die folgenden Umgebungsvariablen für den ARN der Anwendungsressource fest. Diese Umgebungsvariablen werden für die Kommunikation mit dem Comet und SDKs Opik verwendet. Um diese Werte abzurufen, navigieren Sie zur Detailseite für die Anwendung in Amazon SageMaker Studio.

   ```
   os.environ['AWS_PARTNER_APP_AUTH'] = 'true'
   os.environ['AWS_PARTNER_APP_ARN'] = '<partner-app-ARN>'
   ```

1.  Für die Comet-Anwendung ist die SDK-URL automatisch als Teil des API-Schlüssels enthalten, der im folgenden Schritt festgelegt wurde. Sie können stattdessen die `COMET_URL_OVERRIDE` Umgebungsvariable so einstellen, dass sie die SDK-URL manuell überschreibt.

   ```
   os.environ['COMET_URL_OVERRIDE'] = '<comet-url>'
   ```

1.  Für die Opik-Anwendung ist die SDK-URL automatisch als Teil des im folgenden Schritt festgelegten API-Schlüssels enthalten. Sie können stattdessen die `OPIK_URL_OVERRIDE` Umgebungsvariable so einstellen, dass sie die SDK-URL manuell überschreibt. Um den Namen des Opik-Workspace abzurufen, rufen Sie die Opik-Anwendung auf und navigieren Sie zum Workspace des Benutzers.

   ```
   os.environ['OPIK_URL_OVERRIDE'] = '<opik-url>'
   os.environ['OPIK_WORKSPACE'] = '<workspace-name>'
   ```

1.  Legen Sie die Umgebungsvariable fest, die den API-Schlüssel für Comet oder Opik identifiziert. Dies wird verwendet, um die Verbindung von SageMaker zur Anwendung zu überprüfen, wenn Comet und Opik verwendet SDKs werden. Dieser API-Schlüssel ist anwendungsspezifisch und wird nicht von verwaltet. SageMaker Um diesen Schlüssel zu erhalten, müssen Sie sich bei der Anwendung anmelden und den API-Schlüssel abrufen. Der Opik-API-Schlüssel ist derselbe wie der Comet-API-Schlüssel.

   ```
   os.environ['COMET_API_KEY'] = '<API-key>'
   os.environ["OPIK_API_KEY"] = os.environ["COMET_API_KEY"]
   ```

## Geiger
<a name="partner-apps-sdk-fiddler"></a>

 Führen Sie das folgende Verfahren aus, um den Fiddler Python-Client zu installieren und zu verwenden. Informationen zum Fiddler Python Client finden Sie unter About Client [3.x](https://docs.fiddler.ai/python-client-3-x/about-client-3x). 

1.  Starten Sie die Notebook-Umgebung, in der Sie den Fiddler Python Client mit Partner-KI-Apps verwenden. Informationen zum Starten einer JupyterLab Anwendung finden Sie unter. [Erstellen eines Berichts](studio-updated-jl-user-guide-create-space.md) Weitere Informationen zum Starten von Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

1.  Starten Sie ein Jupyter-Notebook oder einen Code-Editor-Bereich. 

1.  Installieren Sie in der Entwicklungsumgebung die Versionen Fiddler Python Client und SageMaker Python SDK. Um kompatibel zu sein: 
   +  Die SageMaker Python-SDK-Version muss mindestens sein`2.237.0`. 
   +  Die Fiddler Python Client-Version muss mit der in der Anwendung verwendeten Fiddler-Version kompatibel sein. Nachdem Sie die Fiddler-Version über die Benutzeroberfläche überprüft haben, finden Sie in der [Fiddler-Kompatibilitätsmatrix die kompatible Fiddler-Python-Client-Version](https://docs.fiddler.ai/history/compatibility-matrix). 
**Anmerkung**  
SageMaker JupyterLab wird mit installiertem SageMaker Python-SDK geliefert. Möglicherweise müssen Sie das SageMaker Python-SDK jedoch aktualisieren, wenn die Version niedriger als ist`2.237.0`. 

   ```
   %pip install sagemaker>=2.237.0 fiddler-client=<compatible-version>
   ```

1.  Legen Sie die folgenden Umgebungsvariablen für die Anwendungsressource ARN und die SDK-URL fest. Diese Umgebungsvariablen werden für die Kommunikation mit dem Fiddler Python Client verwendet. Um diese Werte abzurufen, navigieren Sie zur Detailseite für die Fiddler-Anwendung in Amazon SageMaker Studio.   

   ```
   os.environ['AWS_PARTNER_APP_AUTH'] = 'true'
   os.environ['AWS_PARTNER_APP_ARN'] = '<partner-app-ARN>'
   os.environ['AWS_PARTNER_APP_URL'] = '<partner-app-URL>'
   ```

1.  Legen Sie die Umgebungsvariable fest, die den API-Schlüssel für die Fiddler-Anwendung identifiziert. Dies wird verwendet, um die Verbindung von der Fiddler-Anwendung SageMaker zu überprüfen, wenn der Fiddler Python Client verwendet wird. Dieser API-Schlüssel ist anwendungsspezifisch und wird nicht von verwaltet. SageMaker Um diesen Schlüssel zu erhalten, müssen Sie sich bei der Fiddler-Anwendung anmelden und den API-Schlüssel abrufen. 

   ```
   os.environ['FIDDLER_KEY'] = '<API-key>'
   ```

## Tiefgreifende Prüfungen
<a name="partner-apps-sdk-deepchecks"></a>

 Führen Sie das folgende Verfahren durch, um das Python-SDK von Deepchecks zu installieren und zu verwenden. 

1.  Starten Sie die Notebook-Umgebung, in der Sie das Deepchecks Python SDK mit Partner-KI-Apps verwenden. Hinweise zum Starten einer JupyterLab Anwendung finden Sie unter. [Erstellen eines Berichts](studio-updated-jl-user-guide-create-space.md) Weitere Informationen zum Starten von Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

1.  Starten Sie ein Jupyter-Notebook oder einen Code-Editor-Bereich. 

1.  Installieren Sie in der Entwicklungsumgebung die kompatiblen Deepchecks Python SDK- und SageMaker Python SDK-Versionen.  Partner-KI-Apps führen die Version `0.21.15` von Deepchecks aus. Um kompatibel zu sein: 
   +  Die SageMaker Python-SDK-Version muss mindestens sein`2.237.0`. 
   +  Das Deepchecks Python SDK muss die Nebenversion `0.21` verwenden. 
**Anmerkung**  
SageMaker JupyterLab wird mit installiertem SageMaker Python-SDK geliefert. Möglicherweise müssen Sie das SageMaker Python-SDK jedoch aktualisieren, wenn die Version niedriger als ist`2.237.0`. 

   ```
   %pip install sagemaker>=2.237.0 deepchecks-llm-client>=0.21,<0.22
   ```

1.  Legen Sie die folgenden Umgebungsvariablen für die Anwendungsressource ARN und die SDK-URL fest. Diese Umgebungsvariablen werden für die Kommunikation mit dem Deepchecks Python SDK verwendet. Um diese Werte abzurufen, navigieren Sie zur Detailseite für die Anwendung in Amazon SageMaker Studio.   

   ```
   os.environ['AWS_PARTNER_APP_AUTH'] = 'true'
   os.environ['AWS_PARTNER_APP_ARN'] = '<partner-app-ARN>'
   os.environ['AWS_PARTNER_APP_URL'] = '<partner-app-URL>'
   ```

1.  Legen Sie die Umgebungsvariable fest, die den API-Schlüssel für die Deepchecks-Anwendung identifiziert. Dies wird verwendet, um die Verbindung von der Deepchecks-Anwendung SageMaker zu überprüfen, wenn das Deepchecks Python SDK verwendet wird. Dieser API-Schlüssel ist anwendungsspezifisch und wird nicht von verwaltet. SageMaker Informationen zum Abrufen dieses Schlüssels finden Sie unter [Setup: Python-SDK-Installation und API-Schlüsselabruf](https://llmdocs.deepchecks.com/docs/setup-sdk-installation-api-key#generate-an-api-key-via-the-ui). 

   ```
   os.environ['DEEPCHECKS_API_KEY'] = '<API-key>'
   ```

## Lakera
<a name="partner-apps-sdk-lakera"></a>

 Lakera bietet kein SDK an. Stattdessen können Sie mit der Lakera Guard-API über HTTP-Anfragen an die verfügbaren Endpunkte in einer beliebigen Programmiersprache interagieren. Weitere Informationen finden Sie in der [Lakera Guard API](https://platform.lakera.ai/docs/api). 

 Gehen Sie wie folgt vor, um das SageMaker Python-SDK mit Lakera zu verwenden: 

1.  Starten Sie die Umgebung, in der Sie Partner-KI-Apps verwenden. Informationen zum Starten einer JupyterLab Anwendung finden Sie unter[Erstellen eines Berichts](studio-updated-jl-user-guide-create-space.md). Weitere Informationen zum Starten von Code Editor, basierend auf Code-OSS, Visual Studio Code – Open Source, finden Sie unter [Starten einer Code-Editor-Anwendung in Studio](code-editor-use-studio.md).

1.  Starten Sie ein Jupyter-Notebook oder einen Code-Editor-Bereich. 

1.  Installieren Sie in der Entwicklungsumgebung die kompatible SageMaker Python-SDK-Version. Die SageMaker Python-SDK-Version muss mindestens `2.237.0` 
**Anmerkung**  
SageMaker JupyterLab wird mit installiertem SageMaker Python-SDK geliefert. Möglicherweise müssen Sie das SageMaker Python-SDK jedoch aktualisieren, wenn die Version niedriger als ist`2.237.0`. 

   ```
   %pip install sagemaker>=2.237.0
   ```

1.  Legen Sie die folgenden Umgebungsvariablen für die Anwendungsressource ARN und die SDK-URL fest. Um diese Werte abzurufen, navigieren Sie zur Detailseite für die Anwendung in Amazon SageMaker Studio. 

   ```
   os.environ['AWS_PARTNER_APP_ARN'] = '<partner-app-ARN>'
   os.environ['AWS_PARTNER_APP_URL'] = '<partner-app-URL>'
   ```

# Partner-KI-Apps in Studio
<a name="partner-apps-studio"></a>

 Nachdem der Administrator die erforderlichen Berechtigungen und autorisierten Benutzer hinzugefügt hat, können Benutzer die Amazon SageMaker Partner AI-App in Amazon SageMaker Studio aufrufen. In Studio können Benutzer Apps starten, deren Verwendung von ihrem Administrator genehmigt wurde.

## Durchsuchen und auswählen
<a name="partner-apps-studio-browse"></a>

 Um die verfügbaren Partner-KI-Apps zu durchsuchen, müssen Benutzer zu Studio navigieren. Weitere Informationen zum Starten von Studio finden Sie unter [Starten Sie Amazon SageMaker Studio](studio-updated-launch.md).

 Nachdem Benutzer Studio gestartet haben, können sie sich alle verfügbaren Partner-KI-Apps ansehen, indem sie in der linken Navigationsleiste den Abschnitt **Partner-KI-Apps** auswählen. Auf der **Seite Partner-KI-Apps** sind alle Partner-KI-Apps aufgeführt und es gibt Informationen darüber, ob die Partner-KI-Apps vom Administrator bereitgestellt wurden. Wenn die gewünschten Partner-KI-Apps nicht bereitgestellt wurden, können sich Benutzer an den Administrator wenden, um zu beantragen, dass sie die Partner-KI-Apps für die Verwendung in der SageMaker AI-Domain bereitstellen.

 Wenn die Anwendung bereitgestellt wurde, können Benutzer die Benutzeroberfläche der Partner AI-App öffnen, um sie zu verwenden, oder Details der Partner AI-App einsehen.

 Wenn sich Benutzer die Details der Anwendung ansehen, erkennen sie den Wert der folgenden Punkte. 
+  ARN – Dies ist der Ressourcen-ARN der Partner AI App.
+  SDK-URL — Dies ist die URL der Partner-KI-App, die das Partner-AI-App-SDK verwendet, um app-spezifische Aufgaben wie die Protokollierung von Modellexperimenten aus einem JupyterLab Notizbuch in Studio zu unterstützen.

Benutzer können diese Werte verwenden, um Code zu schreiben, der das Partner AI App SDK für app-spezifische Aufgaben verwendet.

Die Detailseite jeder Partner-AI-App enthält ein BeispielNotebook. Zu Beginn können Benutzer das Beispielnotizbuch in einem JupyterLab Bereich in der Studio-Umgebung starten.

# AWS KMS Berechtigungen für KI-Apps Amazon SageMaker Amazon-Partnern verwenden
<a name="partner-apps-kms"></a>

Sie können Ihre Daten im Ruhezustand mithilfe der Verschlüsselung für Amazon SageMaker Partner AI Apps schützen. Standardmäßig wird serverseitige Verschlüsselung mit einem SageMaker eigenen Schlüssel verwendet. SageMaker unterstützt auch eine Option für serverseitige Verschlüsselung mit einem vom Kunden verwalteten KMS-Schlüssel.

## Serverseitige Verschlüsselung mit SageMaker verwalteten Schlüsseln (Standard)
<a name="partner-apps-managed-key"></a>

KI-Apps von Partnern verschlüsseln standardmäßig alle Ihre Daten im Ruhezustand mit einem AWS verwalteten Schlüssel.

## Serverseitige Verschlüsselung mit vom Kunden verwalteten KMS-Schlüsseln (optional)
<a name="partner-apps-customer-managed-key"></a>

KI-Apps von Partnern unterstützen die Verwendung eines symmetrischen, vom Kunden verwalteten Schlüssels, den Sie erstellen, besitzen und verwalten, um die bestehende AWS Verschlüsselung zu ersetzen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:
+ Festlegung und Pflege wichtiger Richtlinien
+ Festlegung und Aufrechterhaltung von IAM-Richtlinien und -Zuschüssen
+ Aktivieren und Deaktivieren wichtiger Richtlinien
+ Kryptographisches Material mit rotierendem Schlüssel
+ Hinzufügen von -Tags
+ Erstellen von Schlüsselaliasen
+ Schlüssel für das Löschen von Schlüsseln planen

Weitere Informationen finden Sie unter [Kundenverwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

## So verwenden KI-Apps von Partnern Zuschüsse in AWS KMS
<a name="partner-apps-grants-cmk"></a>

Partner-KI-Apps erfordern eine Erteilung, um Ihren vom Kunden verwalteten Schlüssel zu verwenden. Wenn Sie eine Anwendung erstellen, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt Partner AI Apps in Ihrem Namen einen Zuschuss, indem es eine CreateGrant Anfrage an sendet AWS KMS. Grants in AWS KMS werden verwendet, um Partner-AI-Apps Zugriff auf einen KMS-Schlüssel in einem Kundenkonto zu gewähren.

Sie können den Zugriff auf die Genehmigung jederzeit widerrufen oder den Zugriff des Services auf den vom Kunden verwalteten Schlüssel entfernen. In diesem Fall kann die Partner-KI-App nicht auf die mit dem vom kundenseitig verwalteten Schlüssel verschlüsselten Daten zugreifen, was sich auf Vorgänge auswirkt, die von diesen Daten abhängig sind. Die Anwendung wird nicht ordnungsgemäß funktionieren und kann nicht mehr wiederhergestellt werden.

## Erstellen eines kundenseitig verwalteten Schlüssels
<a name="partner-apps-create-cmk"></a>

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel erstellen, indem Sie den AWS-Managementkonsole oder den AWS KMS APIs verwenden.

**Einen symmetrischen kundenverwalteten Schlüssel erstellen**

Befolgen Sie die Schritte zur [Erstellung von KMS-Schlüsseln mit symmetrischer Verschlüsselung](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im *AWS Key Management Service -Entwicklerhandbuch*.

**Schlüsselrichtlinie**

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter [Festlegen des Zugriffs auf AWS KMS -Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/determining-access.html) im *AWS Key Management Service Entwicklerhandbuch*.

Um Ihren vom Kunden verwalteten Schlüssel mit Ihren Ressourcen der Partner-KI-App zu verwenden, müssen die folgenden API-Vorgänge in der Schlüsselrichtlinie zugelassen sein. Das Prinzip dieser Operationen hängt davon ab, ob die Rolle zum Erstellen oder Verwenden der Anwendung verwendet wird. 
+ Erstellen der Anwendung:
  + `[kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`
  + [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 
+ Verwenden der Anwendung:
  + [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 
  + [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)

Im Folgenden finden Sie Beispiele für Richtlinienanweisungen, die Sie für KI-Anwendungen von Partnern hinzufügen können, je nachdem, ob es sich bei der Persona um einen Administrator oder einen Benutzer handelt. Weitere Informationen zum Festlegen von Berechtigungen in einer Richtlinie finden Sie unter [AWS KMS Berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) im *AWS Key Management Service Entwicklerhandbuch*. Weitere Informationen zur Fehlerbehebung finden Sie unter [Fehlerbehebung beim Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) im *AWS Key Management Service Entwicklerhandbuch*.

**Administrator**

Die folgende Grundsatzerklärung wird für den Administrator verwendet, der Partner-KI-Apps erstellt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "example-key-policy",
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/<admin-role>"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "sagemaker.us-east-1.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**Nutzer**

Die folgende Grundsatzerklärung richtet sich an den Benutzer der Partner-AI-Apps.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id":"example-key-policy",
  "Statement":[
    {
      "Effect":"Allow",
      "Principal":{
        "AWS":"arn:aws:iam::111122223333:role/user-role"
      },
      "Action":[
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource":"*",
      "Condition":{
        "StringEquals":{
          "kms:ViaService":"sagemaker.us-east-1.amazonaws.com"
        }
      }
    }
  ]
}
```

------

# Kontoübergreifendes Teilen für KI-Apps von Amazon SageMaker AI-Partnern einrichten
<a name="partner-app-resource-sharing-ram"></a>

Amazon SageMaker AI ist in AWS Resource Access Manager (AWS RAM) integriert, um die gemeinsame Nutzung von Ressourcen zu ermöglichen. AWS RAM ist ein Service, der es Ihnen ermöglicht, einige Amazon SageMaker AI-Ressourcen mit anderen AWS-Konten oder über diese zu teilen AWS Organizations. Mit teilen Sie Ressourcen AWS RAM, die Sie besitzen, indem Sie eine *gemeinsame* Nutzung erstellen. Eine Ressourcenfreigabe legt die freizugebenden Ressourcen und die Konsumenten fest, für die sie freigegeben werden sollen. Verbraucher können AWS-Konten innerhalb oder außerhalb ihrer Organisation spezifisch sein AWS Organizations.

Weitere Informationen zu AWS RAM finden Sie im *[AWS RAM Benutzerhandbuch](https://docs.aws.amazon.com/ram/latest/userguide/)*.

In diesem Thema wird erklärt, wie Sie Ressourcen teilen, deren Eigentümer Sie sind, und wie Sie Ressourcen verwenden, die mit Ihnen gemeinsam genutzt werden.

**Topics**
+ [Voraussetzungen für das Teilen einer Amazon SageMaker Partner AI-App](#partner-app-resource-sharing-ram-prereqs)
+ [Eine Amazon SageMaker Partner AI-App teilen](#partner-app-resource-sharing-share)
+ [Annehmen einer Ressourcenfreigabe-Einladung](#partner-app-resource-sharing-responses)
+ [Identifizierung einer gemeinsam genutzten Amazon SageMaker Partner AI-App](#sharing-identify)
+ [Verantwortlichkeiten und Berechtigungen für gemeinsam genutzte Amazon SageMaker Partner AI Apps](#sharing-perms)

## Voraussetzungen für das Teilen einer Amazon SageMaker Partner AI-App
<a name="partner-app-resource-sharing-ram-prereqs"></a>
+ Um eine Amazon SageMaker Partner AI App zu teilen, müssen Sie sie in Ihrer besitzen AWS-Konto. Das bedeutet, dass die Ressource Ihrem Konto zugewiesen oder bereitgestellt werden muss. Sie können keine Amazon SageMaker Partner AI-App teilen, die mit Ihnen geteilt wurde.
+ Um eine Amazon SageMaker Partner AI App mit Ihrer Organisation oder einer Organisationseinheit in zu teilen AWS Organizations, müssen Sie das Teilen mit aktivieren AWS Organizations. Weitere Informationen finden Sie unter [Freigabe für AWS Organizations aktivieren](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) im *AWS RAM -Benutzerhandbuch*.

## Eine Amazon SageMaker Partner AI-App teilen
<a name="partner-app-resource-sharing-share"></a>

Um eine Amazon SageMaker Partner AI App zu teilen, müssen Sie sie zu einer Ressourcenfreigabe hinzufügen. Eine Ressourcenfreigabe ist eine AWS RAM -Ressource, mit der Sie Ihre Ressourcen in mehreren AWS-Konten gemeinsam nutzen können. Eine Ressourcenfreigabe gibt die freizugebenden Ressourcen und die Konsumenten an, für die sie freigegeben werden. Wenn Sie eine Amazon SageMaker Partner AI-App über die [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/sagemaker) teilen, fügen Sie sie zu einer vorhandenen Ressourcenfreigabe hinzu. Um die Amazon SageMaker Partner AI App zu einer neuen Ressourcenfreigabe hinzuzufügen, müssen Sie zuerst die Ressourcenfreigabe mithilfe der [AWS RAM Konsole](https://console.aws.amazon.com/ram) erstellen.

Sie können eine Amazon SageMaker Partner AI-App, die Sie besitzen, über die Amazon SageMaker AI-Konsole, AWS RAM Konsole oder die teilen AWS CLI.

**Um eine Amazon SageMaker Partner AI-App, die Sie besitzen, über die Amazon SageMaker AI-Konsole zu teilen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS RAM Konsole zu [https://console.aws.amazon.com/ram/Hause](https://console.aws.amazon.com/ram/home).

1. Wählen Sie im Hauptbereich **Create** a resource share aus.

1. Geben Sie einen Namen für die Ressourcenfreigabe ein, die Sie erstellen möchten.

1. Wählen Sie im Abschnitt **Ressourcen** als **Ressourcentyp** die Option **SageMaker AI Partner Apps** aus. Die Partner-Apps, die Sie teilen können, werden in der Tabelle angezeigt.

1. Wählen Sie die Partner-Apps, die Sie freigeben möchten.

1. Geben Sie optional Tags an und wählen Sie dann **Weiter**.

1. Geben Sie die Apps an, AWS-Konten mit denen Sie Ihre Partner-Apps teilen möchten.

1. Überprüfen Sie Ihre Konfiguration für die gemeinsame Nutzung Ihrer Ressourcen und wählen Sie **Ressourcenfreigabe erstellen** aus. benötigt eventuell einige Minuten, um die Erstellung der Ressourcenfreigabe abzuschließen.

**Um eine Amazon SageMaker Partner AI-App, die Sie besitzen, über die AWS RAM Konsole zu teilen**  
Siehe [Erstellen einer Ressourcenfreigabe](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) im *AWS RAM -Benutzerhandbuch*.

**Um eine Amazon SageMaker Partner AI-App, die Sie besitzen, mit dem zu teilen AWS CLI**  
Verwenden Sie den Befehl [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

## Annehmen einer Ressourcenfreigabe-Einladung
<a name="partner-app-resource-sharing-responses"></a>

Wenn ein Ressourcenbesitzer eine Resource Share einrichtet, AWS-Konto erhält jeder Nutzer eine Einladung, der Resource Share beizutreten. Der Verbraucher AWS-Konten muss die Einladung annehmen, um Zugriff auf alle gemeinsam genutzten Ressourcen zu erhalten.

Weitere Informationen zum Annehmen einer Einladung zur gemeinsamen Nutzung von Ressourcen finden Sie unter [Verwenden gemeinsam genutzter AWS Ressourcen](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html) im *AWS Resource Access Manager Manager-Benutzerhandbuch*. AWS RAM

## Identifizierung einer gemeinsam genutzten Amazon SageMaker Partner AI-App
<a name="sharing-identify"></a>

Eigentümer und Verbraucher können gemeinsam genutzte Amazon SageMaker Partner AI-Apps mithilfe der Amazon SageMaker AI-Konsole identifizieren und AWS CLI.

**So identifizieren Sie eine gemeinsam genutzte Amazon SageMaker Partner AI-App mithilfe der Amazon SageMaker AI-Konsole**  
Siehe [Partner-KI-Apps in Studio](partner-apps-studio.md).

**Um eine gemeinsam genutzte Amazon SageMaker Partner AI-App zu identifizieren, verwenden Sie den AWS CLI**  
Verwenden Sie den Befehl [list-partner-apps](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-partner-apps.html). Der Befehl gibt die Amazon SageMaker Partner AI Apps zurück, die Sie besitzen, und Amazon SageMaker Partner AI Apps, die mit Ihnen geteilt wurden. `OwnerId`zeigt die AWS-Konto ID des Besitzers der Amazon SageMaker Partner AI App an.

## Verantwortlichkeiten und Berechtigungen für gemeinsam genutzte Amazon SageMaker Partner AI Apps
<a name="sharing-perms"></a>

Für das Konto, mit dem eine Amazon SageMaker Partner AI App geteilt wird, muss die folgende AWS Identity and Access Management Richtlinie gelten.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Sid" : "AmazonSageMakerPartnerListAppsPermission",
      "Effect" : "Allow",
      "Action" : "sagemaker:ListPartnerApps",
      "Resource" : "*"
    },
    {
      "Sid" : "AmazonSageMakerPartnerAppsPermission",
      "Effect" : "Allow",
      "Action" : [
        "sagemaker:CreatePartnerAppPresignedUrl",
        "sagemaker:DescribePartnerApp",
        "sagemaker:CallPartnerAppApi"
      ],
      "Condition" : {
        "StringEquals" : {
          "aws:ResourceAccount" : [
                        "App-owner AWS-Konto-1", "App-owner AWS-Konto-2"]        
        }
      },
      "Resource" : "arn:aws:sagemaker:*:*:partner-app/*"
    }
  ]
}
```

------