View a markdown version of this page

Amazon-S3-Files-Volumes - AWS Batch

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.

Amazon-S3-Files-Volumes

S3 Files bietet direkten Dateisystemzugriff auf Daten, die in Amazon Simple Storage Service (Amazon S3) -Buckets gespeichert sind. Mit AWS Batch können Sie S3-Files-Volumes in Ihren Jobdefinitionen definieren, sodass Ihre Container Amazon S3-Daten mithilfe von Standarddateioperationen lesen und schreiben können.

Um S3 Files-Volumes verwenden zu können, benötigen Sie ein S3-Dateisystem und ein Mount-Target, die in derselben VPC wie Ihre AWS Batch Rechenumgebung konfiguriert sind. Vollständige Anweisungen zur Einrichtung, einschließlich Bucket-Konfiguration, IAM-Rollen, Dateisystemerstellung und Mount-Zielen, finden Sie unter Voraussetzungen für S3-Dateien im Amazon S3-Benutzerhandbuch und unter Konfiguration von S3-Dateien für Amazon ECS im Amazon Elastic Container Service Developer Guide.

Überlegungen zum Volumen von Amazon S3 Files

Beachten Sie bei der Verwendung von S3 Files-Volumes Folgendes:

  • Sie können S3 Files-Volumes mit Fargate-, Amazon EC2- und Amazon ECS Managed Instances-Rechenumgebungen verwenden. In Amazon EC2-Rechenumgebungen erfordert die Unterstützung von S3 Files die Amazon ECS-Container-Agent-Version, die in den aktuellen Amazon AMIs enthalten ist. ECS-optimized Jede Amazon EC2-Rechenumgebung, die nach dem 19. Juni 2026 erstellt wurde, beinhaltet diese Unterstützung standardmäßig. Um einer vorhandenen Amazon EC2-Rechenumgebung die Unterstützung von S3 Files hinzuzufügen, aktualisieren Sie die Rechenumgebung auf die neueste Amazon ECS-optimized AMI-Version. Weitere Informationen finden Sie unter Verwalten von AMI-Versionen in Datenverarbeitungsumgebungen.

  • Die Übertragungsverschlüsselung ist für S3-Files-Volumes immer aktiviert. Sie können den Port optional mithilfe des transitEncryptionPort Parameters angeben. Der Standard-Port ist 2049.

  • Die Jobrolle (entspricht der Amazon ECS-Aufgabenrolle) muss über s3files:ClientMount s3files:ClientWrite Berechtigungen für das Dateisystem verfügen. Für direkte Lesevorgänge aus Amazon S3 benötigt s3:GetObject die Rolle außerdem s3:ListBucket Berechtigungen für den Bucket. s3:GetObjectVersion

  • Das S3-Dateisystem-Mount-Ziel muss sich in derselben VPC befinden und von den Subnetzen Ihrer AWS Batch Rechenumgebung aus erreichbar sein. Die Sicherheitsgruppe für das Mount-Ziel muss eingehenden NFS-Verkehr (TCP-Port 2049) von der Sicherheitsgruppe für die Computerumgebung zulassen.

Verwenden Sie Amazon S3 Files Access Points

Zugriffspunkte für S3-Dateien sind anwendungsspezifische Einstiegspunkte in ein Dateisystem, die eine POSIX-Benutzeridentität und ein Stammverzeichnis für alle Dateisystemanforderungen erzwingen. Sie können Zugriffspunkte verwenden, um Mandanten zu isolieren, sodass jeder Job nur auf sein eigenes Verzeichnis innerhalb eines gemeinsam genutzten Dateisystems zugreifen kann.

Anmerkung

Wenn Sie mithilfe des accessPointArn Parameters einen Access Point angeben, rootDirectory muss der entweder weggelassen oder auf gesetzt werden/. Der Access Point erzwingt seinen eigenen Stammverzeichnispfad.

Weitere Informationen zum Erstellen und Verwalten von Access Points finden Sie unter Creating Access Points für ein S3-Dateisystem im Amazon S3-Benutzerhandbuch. Weitere Informationen zur Verwendung von Dateisystemrichtlinien zur Durchsetzung der Zugriffspunkt-Isolierung finden Sie unter How S3-Files works with IAM im Amazon S3-Benutzerhandbuch.

Geben Sie in Ihrer Auftragsdefinition ein Amazon S3 Files-Dateisystem an

Um S3 Files-Volumes für Ihre Container zu verwenden, müssen Sie die Volume- und Mount-Point-Konfigurationen in Ihrer Jobdefinition angeben. Das folgende JSON-Snippet mit der Jobdefinition zeigt die Syntax für die volumes mountPoints UND-Objekte für einen Container:

{ "ecsProperties": { "taskProperties": [ { ..., "taskRoleArn": "arn:aws:iam::<account>:role/<job-role-name>", "containers": [ { ..., "mountPoints": [ { "sourceVolume": "myS3FilesVolume", "containerPath": "/mnt/s3data", "readOnly": false } ] } ], "volumes": [ { "name": "myS3FilesVolume", "s3filesVolumeConfiguration": { "fileSystemArn": "arn:aws:s3files:<region>:<account>:file-system/<fs-id>", "rootDirectory": "/keypath/in/s3" } } ] } ] } }
s3filesVolumeConfiguration

Typ: Objekt

Erforderlich: Nein

Dieser Parameter wird angegeben, wenn S3-Files-Volumes verwendet werden.

fileSystemArn

Typ: Zeichenfolge

Erforderlich: Ja

Der vollständige ARN des zu verwendenden S3-Dateisystems.

rootDirectory

Typ: Zeichenfolge

Erforderlich: Nein

Das Verzeichnis innerhalb des S3-Dateisystems, das als Stammverzeichnis innerhalb des Hosts gemountet werden soll. Wenn dieser Parameter weggelassen wird, wird das Stammverzeichnis des Dateisystems verwendet. Die Angabe von / hat denselben Effekt wie das Weglassen dieses Parameters. Es kann bis zu 4.096 Zeichen lang sein.

Wichtig

Wenn in der ein S3-Dateien-Zugriffspunkt angegeben istaccessPointArn, muss der Stammverzeichnisparameter entweder weggelassen oder auf gesetzt werden. / Dadurch wird der Pfad erzwungen, der auf dem Access Point festgelegt ist.

transitEncryptionPort

Typ: Ganzzahl

Erforderlich: Nein

Der Port, der beim Senden verschlüsselter Daten zwischen dem AWS Batch Host und dem S3 Files-Server verwendet werden soll. Wenn Sie keinen Port für die Übertragungsverschlüsselung angeben, 2049 wird der Standardwert von verwendet. Dieser Wert muss zwischen 0 und 65.535 liegen. Die Transitverschlüsselung ist für S3-Files-Volumes immer aktiviert.

accessPointArn

Typ: Zeichenfolge

Erforderlich: Nein

Der ARN des zu verwendenden S3-Dateien-Zugriffspunkts. Wenn ein Zugriffspunkt angegeben ist, s3filesVolumeConfiguration muss der Stammverzeichniswert in der entweder weggelassen oder auf gesetzt werden/. Dadurch wird der Pfad erzwungen, der auf dem Access Point festgelegt ist. Access Points erzwingen eine POSIX-Benutzeridentität und können den Zugriff auf bestimmte Verzeichnisse innerhalb des Dateisystems einschränken. Weitere Informationen finden Sie unter Erstellen von Zugriffspunkten für ein S3-Dateisystem im Amazon S3-Benutzerhandbuch.

Verwenden Sie S3-Dateien-Volumes mit AWS Batch und Amazon EKS

Für Jobs, die Amazon EKS-Ressourcen verwenden, AWS Batch unterstützt S3 Files-Volumes über eine Volume-Konfiguration persistentVolumeClaim in der EKS-Auftragsdefinition. Sie müssen das persistente Volume und den Persistent Volume Claim in Ihrem Amazon EKS-Cluster vorab erstellen, bevor Sie in Ihrer Jobdefinition darauf verweisen.

Der folgende Ausschnitt aus der Jobdefinition zeigt, wie Sie auf einen Anspruch auf ein persistentes S3-Files-Volume verweisen:

{ "eksProperties": { "podProperties": { ..., "containers": [ { ..., "volumeMounts": [ { "name": "s3files-vol", "mountPath": "/mnt/s3data" } ] } ], "volumes": [ { "name": "s3files-vol", "persistentVolumeClaim": { "claimName": "<s3files-pvc-name>" } } ] } } }

Weitere Informationen zum Einrichten von S3-Dateien mit Amazon EKS finden Sie unter Mounten von S3-Dateisystemen in Amazon EKS im Amazon S3-Benutzerhandbuch. Die vollständige Referenz zu den Volumenparametern finden Sie EksVolume in der AWS Batch API-Referenz.