

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.

# Verwenden des Amazon EBS-CSI-Treibers auf EKS-Clustern SageMaker HyperPod
<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 erstellen, anhängen und verwalten, die auf Clustern mit Amazon EKS-Orchestrierung ausgeführt werden. SageMaker HyperPod 

**Topics**
+ [Wichtige Speicherfunktionen](#sagemaker-hyperpod-eks-ebs-features)
+ [Überlegungen](#sagemaker-hyperpod-eks-ebs-considerations)
+ [Anwendungsfälle](#sagemaker-hyperpod-eks-ebs-use)
+ [Einrichtung des Amazon EBS-CSI-Treibers auf EKS-Clustern SageMaker HyperPod](#sagemaker-hyperpod-eks-ebs-setup)
+ [Verwenden der APIs](#sagemaker-hyperpod-eks-ebs-setup-apis)

## Wichtige Speicherfunktionen
<a name="sagemaker-hyperpod-eks-ebs-features"></a>

Der Amazon EBS-CSI-Treiber auf 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 [`PersistentVolumeClaims`](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims). Parameter können übergeben werden, [`StorageClass`](https://kubernetes.io/docs/concepts/storage/storage-classes/)um die Volume-Erstellung detailliert zu steuern.
+ Volumenänderung: Erweitert bestehende Volumes durch Aktualisierung der [`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 Snapshots von Volumes zu einem bestimmten Zeitpunkt 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/).*

## Überlegungen
<a name="sagemaker-hyperpod-eks-ebs-considerations"></a>

Das SageMaker HyperPod AMI verwaltet bereits den lokalen NVMe-Instance-Speicher auf jedem Knoten. Beim Booten fasst es alle NVMe-Laufwerke des Knotens zu einer einzigen LVM-Volume-Gruppe (`vg.01`) zusammen und mountet das Ergebnis unter. `/opt/sagemaker` Sie müssen nichts weiter installieren, um den lokalen NVMe-Speicher zu verwenden — er ist einsatzbereit, sobald der Node betriebsbereit ist.

**Wichtig**  
Installieren Sie keinen zweiten CSI-Treiber, der auf NVMe-Instance-Speicher abzielt (manchmal auch als Local Instance Storage-CSI-Treiber bezeichnet). Ein zweiter Speichermanager führt zu Konflikten mit `vg.01` I/O NVMe-Ausfällen, Mount-Fehlern und einem beschädigten Gerätezustand, der auch nach Neustarts und Ersetzungen von Knoten anhält.

Diese Einschränkung gilt nur für Treiber, die den lokalen NVMe-Instance-Speicher verwalten. Network-backed CSI-Treiber (Amazon EBS, Amazon FSx, Amazon EFS und Mountpoint für Amazon S3) sind nicht betroffen, da sie nicht auf die lokalen NVMe-Festplatten zugreifen.

Der auf dieser Seite beschriebene Amazon EBS-CSI-Treiber verwaltet nur Amazon EBS-Volumes und ist von diesem Konflikt nicht betroffen. Der Konflikt gilt nur für CSI-Treiber, die den lokalen NVMe-Instance-Speicher auf dem Knoten verwalten.

Wenn Sie bereits einen CSI-Treiber installiert haben, der auf NVMe-Instance-Speicher abzielt, und I/O NVMe-Fehler auftreten, gehen Sie wie folgt vor:

1. Deinstallieren Sie das CSI-Treiber-Add-on für lokalen Instanzspeicher.

1. Tauschen Sie die betroffenen Knoten aus (es wird empfohlen, jeweils etwa drei Knoten auszutauschen).

1. Stellen Sie sicher, dass der NVMe-Instance-Speicher wiederhergestellt ist. Der wiederhergestellte Zustand bleibt auch bei nachfolgenden Neustarts und Ersetzungen bestehen.

**Wichtig**  
Tauschen Sie die Knoten nicht aus, bevor Sie das Add-on deinstalliert haben. Der Konflikt wird auf den neuen Knoten erneut auftreten, und die I/O Fehler werden weiterhin auftreten.

Um den NVMe-Instance-Speicher zu verwenden HyperPod, verlassen Sie sich über den Standard-Mount-Pfad () auf die integrierte LVM-Konfiguration des AMI. `/opt/sagemaker` Verwenden Sie für dynamisch bereitgestellten Blockspeicher auf Pod-Ebene den Amazon EBS-CSI-Treiber, wie im Rest dieser Seite beschrieben.

## Anwendungsfälle
<a name="sagemaker-hyperpod-eks-ebs-use"></a>

Die Amazon EBS-CSI-Treiberintegration ermöglicht mehrere wichtige Anwendungsfälle sowohl für Trainings- als auch für Inferenz-Workloads auf EKS-Clustern. SageMaker HyperPod 

**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 EKS-Clustern SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-ebs-setup"></a>

Mit dem Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) -Treiber können Sie Amazon EBS-Volumes für Ihre containerisierten Workloads, die auf Clustern mit EKS-Orchestrierung ausgeführt werden, dynamisch bereitstellen und verwalten. SageMaker HyperPod 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"
        }
    ]
}
```

------

## Verwenden 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 von diesen zu trennen.

**Zu den wichtigsten Anforderungen für die Verwendung dieser APIs gehören die folgenden.**
+ Sowohl das Amazon EBS-Volume als auch der SageMaker HyperPod EKS-Cluster müssen demselben gehören. AWS-Konto
+ 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 ein Volume an Ihren HyperPod Knoten angehängt haben, folgen Sie den Anweisungen unter [ Zugreifen auf SageMaker HyperPod Clusterknoten, ](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-access-through-terminal.html) um auf den Cluster-Knoten zuzugreifen, und [ Stellen Sie ein Volume zur Verfügung, das ](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html) zum Mounten des angeschlossenen Volumes verwendet 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 AWS KMS keys
<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 an HyperPod Clusterknoten angeschlossenen Amazon EBS-Volumes zu verschlüsseln. 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 Sie ein CAVA-Volume (Cluster Auto Volume Attachment), das mit kundenverwalteten KMS-Schlüsseln verschlüsselt ist, trennen.