Entwerfen Ihrer Anwendung für Amazon ECS - Amazon Elastic Container Service

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.

Entwerfen Ihrer Anwendung für Amazon ECS

Sie entwerfen Ihre Anwendung, indem Sie eine Aufgabendefinition für Ihre Anwendung erstellen. Die Aufgabendefinition enthält die Parameter, die Informationen über die Anwendung definieren, darunter:

  • Die zu verwendende Kapazität, die die Infrastruktur bestimmt, in der Ihre Aufgaben gehostet werden

    Wenn Sie den EC2 Kapazitätsanbieter verwenden, wählen Sie auch den Instanztyp aus. Wenn Sie den Kapazitätsanbieter von Amazon ECS Managed Instances verwenden, können Sie Instance-Anforderungen für Amazon ECS zur Verwaltung der Rechenkapazität angeben. Für einige Instance-Typen, wie z. B. GPU, müssen Sie bestimmte Parameter festlegen. Weitere Informationen finden Sie unter Anwendungsfälle für Amazon-ECS-Aufgabendefinitionen.

  • Das Container-Image, das Ihren Anwendungscode und alle Abhängigkeiten, die Ihr Anwendungscode zur Ausführung benötigt, enthält.

  • Der Netzwerkmodus, der für die Container in Ihrer Aufgabe verwendet werden soll

    Der Netzwerkmodus bestimmt, wie Ihre Aufgabe über das Netzwerk kommuniziert.

    Für Aufgaben, die auf EC2 Instances und Amazon ECS Managed Instances ausgeführt werden, gibt es mehrere Optionen, wir empfehlen jedoch, den awsvpc Netzwerkmodus zu verwenden. Der awsvpc Netzwerkmodus vereinfacht Container-Netzwerke, indem er Ihnen mehr Kontrolle darüber gibt, wie Ihre Anwendungen miteinander und mit anderen Diensten innerhalb Ihres Netzwerks kommunizieren VPCs.

    Für Aufgaben, die auf Fargate ausgeführt werden, müssen Sie den awsvpc-Netzwerkmodus verwenden.

  • Die Protokollierungskonfiguration, die für Ihre Aufgaben verwendet werden soll

  • Die jeweiligen Daten-Volumes, die mit den Containern in der Aufgabe verwendet werden.

Eine vollständige Liste der Aufgabendefinitionsparameter finden Sie unter Amazon-ECS-Aufgabendefinitionsparameter für Fargate.

Beachten Sie bei der Erstellung Ihrer Aufgabendefinitionen die folgenden Richtlinien:

  • Verwenden Sie jede Aufgabendefinitionsfamilie nur für einen Geschäftszweck.

    Wenn Sie mehrere Typen von Anwendungs-Container in derselben Aufgabendefinition zusammenfassen, können Sie diese Container nicht unabhängig voneinander skalieren. Beispielsweise erfordern eine Website und eine API in der Regel unterschiedliche Skalierungsmuster. Mit steigendem Datenverkehr wird eine andere Anzahl von Web-Containern benötigt als API-Container. Wenn diese beiden Container in derselben Aufgabendefinition bereitgestellt werden, führt jede Aufgabe dieselbe Anzahl von Web-Containern und API-Containern aus.

  • Ordnen Sie jeder Anwendungsversion eine Revision der Aufgabendefinition innerhalb einer Aufgabendefinitionsfamilie zu.

    Innerhalb einer Aufgabendefinitionsfamilie stellt jede Version der Aufgabendefinition eine point-in-time Momentaufnahme der Einstellungen für ein bestimmtes Container-Image dar. Dies ist vergleichbar mit der Art und Weise, wie der Container eine Momentaufnahme aller Dinge ist, die zur Ausführung einer bestimmten Version Ihres Anwendungscodes erforderlich sind.

    Erstellen Sie eine one-to-one Zuordnung zwischen einer Version des Anwendungscodes, einem Container-Image-Tag und einer Aufgabendefinitionsrevision. Ein typischer Release-Prozess beinhaltet einen Git-Commit, der in ein Container-Image umgewandelt wird, das mit dem Git-Commit-SHA gekennzeichnet ist. Dann erhält dieses Container-Image-Tag seine eigene Version der Amazon-ECS-Aufgabendefinition. Zuletzt wird der Amazon-ECS-Service aktualisiert, um die neue Revision der Aufgabendefinition bereitzustellen.

  • Verwenden Sie für jede Aufgabendefinitionsfamilie unterschiedliche IAM-Rollen.

    Definieren Sie jede Aufgabendefinition mit einer eigenen IAM-Rolle. Implementieren Sie diese Vorgehensweise und stellen Sie jeder Geschäftskomponente eine eigene Aufgabendefinitionsfamilie zur Verfügung. Durch die Implementierung dieser beiden bewährten Methoden können Sie den Zugriff der einzelnen Dienste auf Ressourcen in Ihrem AWS Konto einschränken. Sie können Ihrem Authentifizierungsservice beispielsweise Zugriff gewähren, um eine Verbindung zu Ihrer Kennwortdatenbank herzustellen. Gleichzeitig können Sie auch sicherstellen, dass nur Ihr Bestellservice Zugriff auf die Kreditkartenzahlungsinformationen hat.