Erstellen Sie eine Amazon ECS-Aufgabendefinition und mounten Sie mithilfe von Amazon EFS ein Dateisystem auf EC2-Instances - AWS Prescriptive Guidance

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

Erstellen Sie eine Amazon ECS-Aufgabendefinition und mounten Sie mithilfe von Amazon EFS ein Dateisystem auf EC2-Instances

Erstellt von Durga Prasad Cheepuri (AWS)

Umgebung: PoC oder Pilotprojekt

Technologien: Container und Mikroservices CloudNative; Verwaltung und Verwaltung; Speicher und Backup; Web- und mobile Apps

AWS-Dienste: Amazon ECS; Amazon EFS

Übersicht

Dieses Muster enthält Codebeispiele und Schritte zum Erstellen einer Amazon Elastic Container Service (Amazon ECS) -Aufgabendefinition, die auf Amazon Elastic Compute Cloud (Amazon EC2) -Instances in der Amazon Web Services (AWS) -Cloud ausgeführt wird, während Amazon Elastic File System (Amazon EFS) zum Mounten eines Dateisystems auf diesen EC2-Instances verwendet wird. Amazon ECS-Aufgaben, die Amazon EFS verwenden, mounten automatisch die Dateisysteme, die Sie in der Aufgabendefinition angeben, und stellen diese Dateisysteme den Containern der Aufgabe in allen Availability Zones in einer AWS-Region zur Verfügung.

Um Ihre Anforderungen an persistenten Speicher und gemeinsam genutzten Speicher zu erfüllen, können Sie Amazon ECS und Amazon EFS zusammen verwenden. Sie können Amazon EFS beispielsweise verwenden, um persistente Benutzerdaten und Anwendungsdaten für Ihre Anwendungen mit aktiven und Standby-ECS-Containerpaaren zu speichern, die in verschiedenen Availability Zones laufen, um eine hohe Verfügbarkeit zu gewährleisten. Sie können Amazon EFS auch verwenden, um gemeinsam genutzte Daten zu speichern, auf die parallel von ECS-Containern und verteilten Job-Workloads zugegriffen werden kann.

Um Amazon EFS mit Amazon ECS zu verwenden, können Sie einer Aufgabendefinition eine oder mehrere Volume-Definitionen hinzufügen. Eine Volume-Definition umfasst eine Amazon EFS-Dateisystem-ID, eine Zugriffspunkt-ID und eine Konfiguration für die AWS Identity and Access Management (IAM) -Autorisierung oder die Transport Layer Security (TLS) -Verschlüsselung bei der Übertragung. Sie können Containerdefinitionen innerhalb von Aufgabendefinitionen verwenden, um die Aufgabendefinitionsvolumes anzugeben, die bei der Ausführung des Containers bereitgestellt werden. Wenn eine Aufgabe ausgeführt wird, die ein Amazon EFS-Dateisystem verwendet, stellt Amazon ECS sicher, dass das Dateisystem bereitgestellt ist und für die Container verfügbar ist, die Zugriff darauf benötigen.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • Amazon ECS-Container-Agent-Versionen vor 1.35.0 unterstützen keine Amazon EFS-Dateisysteme für Aufgaben, die den EC2-Starttyp verwenden.

Architektur

Das folgende Diagramm zeigt ein Beispiel für eine Anwendung, die Amazon ECS verwendet, um eine Aufgabendefinition zu erstellen und ein Amazon EFS-Dateisystem auf EC2-Instances in ECS-Containern zu mounten.

AWS Cloud architecture showing ECS task definition, ECS service, and EFS file system interaction.

Das Diagramm zeigt den folgenden Workflow:

  1. Erstellen Sie ein Amazon EFS-Dateisystem.

  2. Erstellen Sie eine Aufgabendefinition mit einem Container.

  3. Konfigurieren Sie die Container-Instances für das Mounten des Amazon EFS-Dateisystems. Die Aufgabendefinition verweist auf die Volume-Mounts, sodass die Container-Instance das Amazon EFS-Dateisystem verwenden kann. ECS-Aufgaben haben Zugriff auf dasselbe Amazon EFS-Dateisystem, unabhängig davon, auf welcher Container-Instance diese Aufgaben erstellt werden.

  4. Erstellen Sie einen Amazon ECS-Service mit drei Instanzen der Aufgabendefinition.

Technologie-Stack

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

Tools

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) bietet skalierbare Rechenkapazität in der AWS-Cloud. Sie können Amazon EC2 verwenden, um so viele oder so wenige virtuelle Server zu starten, wie Sie benötigen, und Sie können horizontal oder horizontal skalieren.

  • Amazon ECS — Amazon Elastic Container Service (Amazon ECS) ist ein hoch skalierbarer, schneller Container-Management-Service zum Ausführen, Stoppen und Verwalten von Containern in einem Cluster. Sie können Ihre Aufgaben und Services auf einer serverlosen Infrastruktur ausführen, die von AWS Fargate verwaltet wird. Um mehr Kontrolle über Ihre Infrastruktur zu erhalten, können Sie Ihre Aufgaben und Dienste alternativ auf einem Cluster von EC2-Instances ausführen, die Sie verwalten.

  • Amazon EFS — Amazon Elastic File System (Amazon EFS) bietet ein einfaches, skalierbares, vollständig verwaltetes elastisches NFS-Dateisystem zur Verwendung mit AWS-Cloud-Services und lokalen Ressourcen.

  • AWS CLI — Die AWS-Befehlszeilenschnittstelle (AWS CLI) ist ein Open-Source-Tool für die Interaktion mit AWS-Services über Befehle in Ihrer Befehlszeilen-Shell. Mit minimaler Konfiguration können Sie AWS-CLI-Befehle, die Funktionen implementieren, die denen entsprechen, die von der browserbasierten AWS-Managementkonsole bereitgestellt werden, von einer Befehlszeile aus ausführen.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie mithilfe der AWS-Managementkonsole ein Amazon EFS-Dateisystem.
  1. Erstellen Sie ein Amazon EFS-Dateisystem und wählen Sie die VPC aus, die Ihre Container enthält. Hinweis: Wenn Sie eine andere VPC verwenden, richten Sie eine VPC-Peering-Verbindung ein.

  2. Notieren Sie sich die File system ID (Dateisystem-ID).

AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie eine Aufgabendefinition mit einem Amazon EFS-Dateisystem.

Erstellen Sie eine Aufgabendefinition mithilfe der neuen Amazon ECS-Konsole oder der klassischen Amazon ECS-Konsole mit den folgenden Konfigurationen:

  • Wenn Sie die neue Konsole verwenden, wählen Sie Amazon EC2 EC2-Instances für die App-Umgebung. Wenn Sie die klassische Konsole verwenden, wählen Sie EC2 als Starttyp.

  • Fügen Sie ein Volume hinzu. Geben Sie einen Namen für das Volume ein, wählen Sie EFS als Volumetyp und wählen Sie dann die Dateisystem-ID, die Sie zuvor notiert haben. Wählen Sie für das Stammverzeichnis den Amazon EFS-Dateisystempfad, den Sie auf dem Amazon ECS-Container-Host hosten möchten.

AWS DevOps
Erstellen Sie mit der AWS-CLI eine Aufgabendefinition.
  1. Führen Sie den folgenden Befehl aus, um eine JSON-Vorlage mit Platzhaltern für Eingabeparameter für Ihre Aufgabendefinition zu erstellen:

    aws ecs register-task-definition --generate-cli-skeleton
  2. Führen Sie den folgenden Befehl aus, um die Aufgabendefinition mit der JSON-Vorlage zu erstellen:

    aws ecs register-task-definition --cli-input-json file://<path_to_your_json_file>
  3. Geben Sie die Eingabeparameter in Ihre JSON-Vorlage ein, die auf der task_definition_parameters.json Datei (angehängt) basieren. Hinweis: Weitere Informationen zu Eingabeparametern finden Sie unter Aufgabendefinitionsparameter (Amazon ECS-Dokumentation) und register-task-definition(AWS CLI Command Reference).

AWS DevOps

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip