Erstellen Sie eine ECS Amazon-Aufgabendefinition und mounten Sie mithilfe von Amazon ein Dateisystem auf EC2 Instances EFS - 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 ECS Amazon-Aufgabendefinition und mounten Sie mithilfe von Amazon ein Dateisystem auf EC2 Instances EFS

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

AWSDienstleistungen: AmazonECS; Amazon EFS

Übersicht

Dieses Muster enthält Codebeispiele und Schritte zum Erstellen einer Amazon Elastic Container Service (AmazonECS) -Aufgabendefinition, die auf Amazon Elastic Compute Cloud (AmazonEC2) -Instances in der Amazon Web Services (AWS) Cloud ausgeführt wird, während Amazon Elastic File System (AmazonEFS) zum Mounten eines Dateisystems auf diesen EC2 Instances verwendet wird. ECSAmazon-Aufgaben, die Amazon verwenden, mounten EFS 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 beispielsweise verwenden, EFS um persistente Benutzerdaten und Anwendungsdaten für Ihre Anwendungen mit aktiven und ECS Standby-Containerpaaren zu speichern, die in verschiedenen Availability Zones laufen, um eine hohe Verfügbarkeit zu gewährleisten. Sie können Amazon auch verwendenEFS, um gemeinsam genutzte Daten zu speichern, auf die ECS Container und verteilte Job-Workloads parallel zugreifen können.

Um Amazon EFS mit Amazon zu verwendenECS, können Sie einer Aufgabendefinition eine oder mehrere Volumendefinitionen hinzufügen. Eine Volume-Definition umfasst eine EFS Amazon-Dateisystem-ID, eine Zugriffspunkt-ID und eine Konfiguration für AWS Identity and Access Management (IAM) -Autorisierung oder 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 EFS Amazon-Dateisystem verwendet, ECS stellt Amazon 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

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

Architektur

Das folgende Diagramm zeigt ein Beispiel für eine Anwendung, die Amazon verwendet, ECS um eine Aufgabendefinition zu erstellen und ein EFS Amazon-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 EFS Amazon-Dateisystem.

  2. Erstellen Sie eine Aufgabendefinition mit einem Container.

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

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

Technologie-Stack

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

Tools

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

  • Amazon ECS — Amazon Elastic Container Service (AmazonECS) 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 Dienste 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 (AmazonEFS) bietet ein einfaches, skalierbares, vollständig verwaltetes elastisches NFS Dateisystem zur Verwendung mit AWS Cloud-Diensten und lokalen Ressourcen.

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

Epen

AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie mithilfe der AWS Management Console ein EFS Amazon-Dateisystem.
  1. Erstellen Sie ein EFS Amazon-Dateisystem und wählen Sie VPC das aus, das Ihre Container enthält. Hinweis: Wenn Sie ein anderes verwendenVPC, 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 EFS Amazon-Dateisystem.

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

  • Wenn Sie die neue Konsole verwenden, wählen Sie Amazon EC2 Instances for App environment. Wenn Sie die klassische Konsole verwenden, wählen Sie EC2als Starttyp.

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

AWS DevOps
Erstellen Sie eine Aufgabendefinition mit dem AWSCLI.
  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 (ECSAmazon-Dokumentation) und register-task-definition(AWSCLIBefehlsreferenz).

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