Entwickeln Sie Ihre 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.

Entwickeln Sie Ihre 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:

  • Der zu verwendende Starttyp, der die Infrastruktur bestimmt, auf der Ihre Aufgaben gehostet werden.

    Wenn Sie den EC2 Starttyp verwenden, wählen Sie auch den Instance-Typ aus. Für einige Instance-TypenGPU, z. B. müssen Sie zusätzliche Parameter festlegen. Weitere Informationen finden Sie unter Anwendungsfälle für ECS Amazon-Aufgabendefinitionen.

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

  • 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 einer EC2 Instanz ausgeführt werden, gibt es mehrere Optionen, wir empfehlen jedoch, den awsvpc Netzwerkmodus zu verwenden. Der awsvpc Netzwerkmodus vereinfacht Container-Netzwerke, da Sie mehr Kontrolle darüber haben, wie Ihre Anwendungen miteinander und mit anderen Diensten innerhalb Ihres Netzwerks kommunizierenVPCs.

    Für Aufgaben, die auf Fargate ausgeführt werden, können Sie nur den awsvpc Netzwerkmodus verwenden.

  • Die für Ihre Aufgaben zu verwendende Protokollierungskonfiguration.

  • Alle Datenvolumes, die mit den Containern in der Aufgabe verwendet werden.

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

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 Anwendungscontainern in derselben Aufgabendefinition zusammenfassen, können Sie diese Container nicht unabhängig voneinander skalieren. Es ist beispielsweise unwahrscheinlich, dass sowohl für eine Website als auch für eine dieselbe Geschwindigkeit skaliert werden API muss. Mit steigendem Traffic 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 Webcontainern und API Containern aus.

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

    Betrachten Sie innerhalb einer Aufgabendefinitionsfamilie jede Version der Aufgabendefinition als eine Momentaufnahme der Einstellungen für ein bestimmtes Container-Image. 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.

    Stellen Sie sicher, dass eine one-to-one Zuordnung zwischen einer Version des Anwendungscodes, einem Container-Image-Tag und einer Revision der Aufgabendefinition besteht. Ein typischer Release-Prozess beinhaltet einen Git-Commit, der in ein Container-Image umgewandelt wird, das mit dem Git-Commit gekennzeichnet istSHA. Dann erhält dieses Container-Image-Tag seine eigene Version der ECS Amazon-Aufgabendefinition. Zuletzt wird der ECS Amazon-Service aktualisiert, um ihm mitzuteilen, dass er die neue Version der Aufgabendefinition bereitstellen soll.

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

    Definieren Sie jede Aufgabendefinition mit ihrer eigenen IAM Rolle. Diese Empfehlung sollte mit unserer Empfehlung einhergehen, jeder Geschäftskomponente eine eigene Aufgabendefinitionsfamilie zur Verfügung zu stellen. Durch die Implementierung dieser beiden bewährten Methoden können Sie einschränken, wie viel Zugriff jeder Dienst auf Ressourcen in Ihrem AWS Konto hat. 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.