Erstellen einer Aufgabendefinition mit der neuen Konsole - Amazon ECS

Erstellen einer Aufgabendefinition mit der neuen Konsole

Erstellen Sie Ihre Aufgabendefinitionen mit dem neuen Amazon-ECS-Konsolenerlebnis. Um den Prozess der Aufgabendefinitions-Erstellung so einfach wie möglich zu gestalten, verfügt die Konsole über Standardauswahlen für viele Auswahlmöglichkeiten, die wir unten beschreiben. Es gibt auch Hilfe-Panels für die meisten Abschnitte in der Konsole, die weiteren Kontext bieten.

So erstellen Sie eine neue Aufgabendefinition (Neue Amazon-ECS-Konsole)

  1. Öffnen Sie die neue Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Wählen Sie im Navigationsbereich Task definitions (Aufgabendefinitionen) Create new task definition (Neue Aufgabendefinition erstellen).

  3. Geben Sie für Task definition family (Aufgabendefinitions-Familie) einen eindeutigen Namen für die Aufgabendefinition an.

  4. Führen Sie für jeden in Ihrer Aufgabendefinition zu definierenden Container die folgenden Schritte aus.

    1. Geben Sie für Name einen Namen für den Container an.

    2. Geben Sie für Image URI das Image an, das zum Starten eines Containers verwendet werden soll. Images in der Public-Gallery-Registry von Amazon ECR können nur mit dem Namen der öffentlichen Registry von Amazon ECR angegeben werden. Wenn beispielsweise public.ecr.aws/ecs/amazon-ecs-agent:latest angegeben ist, wird der auf Amazon ECR Public Gallery gehostete Amazon-Linux-Container verwendet. Geben Sie für alle anderen Repositorys das Repository im repository-url/image:tag- oder repository-url/image@digest-Format an.

    3. Wenn für Ihre Aufgabendefinition zwei oder mehr Container definiert sind, können Sie für Essential container angeben, ob der Container als Essenziell betrachtet werden soll. Wenn ein Container als essential (essenziell) markiert ist und dieser Container angehalten wird, wird die Aufgabe angehalten. Jede Aufgabendefinition muss mindestens einen essenziellen Container enthalten.

    4. Ein Port-Mapping erlaubt es dem Container, auf Ports auf dem Host zuzugreifen, um Datenverkehr zu senden oder zu empfangen. Führen Sie unter Port-Mappings einen der folgenden Schritte aus:

      • Wenn Sie den awsvpc-Netzwerkmodus verwenden, geben Sie für Container-Port und Protocol das Port-Mapping an, das für den Container verwendet werden soll.

      • Wenn Sie den bridge-Netzwerkmodus verwenden, geben Sie für Container port und Protocol das Port-Mapping an, das für den Container verwendet werden soll. Auf der nächsten Seite wählen Sie den bridge-Netzwerkmodus aus. Nachdem Sie ihn ausgewählt haben, wählen Sie Previous (Vorherige) und geben Sie dann für Host port die Portnummer auf der Container-Instance an, die für Ihren Container reserviert werden soll.

      Wählen Sie Add more port mappings (Weitere Port-Mappings hinzufügen) aus, um zusätzliche Container-Port-Mappings anzugeben.

    5. Erweitern Sie den Abschnitt Environmental variables (Umgebungsvariablen), um Umgebungsvariablen anzugeben, die in den Container eingefügt werden sollen. Sie können Umgebungsvariablen entweder einzeln mit Schlüssel-Wert-Paaren oder in großen Mengen angeben, indem Sie eine Umgebungsvariablen-Datei angeben, die in einem Amazon-S3-Bucket gehostet wird. Weitere Informationen zum Formatieren einer Umgebungsvariablen-Datei finden Sie unter Verwenden von Umgebungsvariablen.

    6. (Optional) Wählen Sie Add more containers (Weiterer Container hinzufügen) aus, um der Aufgabendefinition zusätzliche Container hinzuzufügen. Klicken Sie auf Next (Weiter) sobald alle Container definiert wurden.

  5. Wählen Sie für App environment (App-Umgebung) AWS Fargate (Serverless), Amazon-EC2-Instances oder beides aus. Amazon ECS führt eine Validierung mit diesem Wert durch, um sicherzustellen, dass die Aufgabendefinitions-Parameter für den Infrastrukturtyp gültig sind.

  6. Wählen Sie für Operating system/architecture (Betriebssystem/Architektur) das Betriebssystem und die CPU-Architektur für die Aufgabe aus.

    Um Ihre Aufgabe auf einer 64-Bit-ARM-Architektur auszuführen, wählen Sie Linux/ARM64 aus. Weitere Informationen finden Sie unter Laufzeit-Plattform.

    Um Ihre AWS Fargate (Serverless)-Aufgaben auf Windows-Containern auszuführen, wählen Sie ein unterstütztes Windows-Betriebssystem aus. Weitere Informationen finden Sie unter Überlegungen zu Windows-Container auf AWS Fargate.

  7. Geben Sie für Task size (Aufgabengröße) die CPU- und Arbeitsspeicherwerte an, die für die Aufgabe reserviert werden sollen. Der CPU-Wert wird als vCPUs angegeben und der Arbeitsspeicher als GB angegeben.

    Für Aufgaben, die auf Fargate gehostet werden, zeigt die folgende Tabelle die gültigen CPU- und Arbeitsspeicher-Kombinationen.

    CPU-Wert Speicherwert

    256 (0,25 vCPU)

    512 MiB, 1 GB, 2 GB

    512 (0,5 vCPU)

    1 GB, 2 GB, 3 GB, 4 GB

    1024 (1 vCPU)

    2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB

    2048 (2 vCPU)

    Zwischen 4 GB und 16 GB in 1-GB-Schritten

    4096 (4 vCPU)

    Zwischen 8 GB und 30 GB in 1-GB-Schritten

    Für auf Amazon EC2 gehostete Aufgaben liegen die unterstützten Aufgaben-CPU-Werte zwischen 128 CPU-Einheiten (0,125 vCPUs) und 10240 CPU-Einheiten (10 vCPUs).

    Anmerkung

    CPU- und Speicherparameter auf Aufgabenebene werden für Windows-Container ignoriert.

  8. Erweitern Sie den Abschnitt Container size (Containergröße), um die Menge an Arbeitsspeicher (in GB) anzugeben, die dem Container zur Verfügung gestellt werden soll, und die Anzahl der CPU-Einheiten, die der Amazon-ECS-Container-Agent für den Container reserviert.

    Wenn Ihr Container versucht, das angegebene Limit zu überschreiten, wird der Container beendet. Der gesamte Arbeitsspeicher, der für alle Container reserviert ist, muss niedriger sein als der Aufgabenwert Memory, sofern angegeben.

    Die Gesamtmenge an CPU, die für alle Container innerhalb einer Aufgabe reserviert ist, muss niedriger sein als der CPU-Wert auf Aufgabenebene.

    Sie können den angegebenen Wert mit 1024 multiplizieren, um die Anzahl der CPU-Einheiten zu ermitteln, die pro Amazon-EC2-Instance-Typ verfügbar sind. Der Wert für eine t3-Nano-Instance ist beispielsweise 2048. Weitere Informationen finden Sie unter Amazon-EC2-Instances.

  9. (Optional) Erweitern Sie den Abschnitt Task roles, network modes (Aufgabenrollen, Netzwerkmodus), um Folgendes anzugeben:

    1. Wählen Sie für Task role (Aufgabenrolle) eine IAM-Rolle aus, die Sie der Aufgabe zuweisen möchten. Eine Aufgaben-IAM-Rolle liefert Berechtigungen für die Container in einer Aufgabe, AWS-APIs aufzurufen.

    2. Wählen Sie für Network mode (Netzwerkmodus) den zu verwendenden Netzwerkmodus aus. Der Standardmodus ist awsvpc. Weitere Informationen finden Sie unter Amazon ECS-Aufgabenvernetzung.

      Wenn Sie bridge für den Netzwerkmodus auswählen, wählen Sie Previous (Vorherige) und geben Sie dann unter Port-Mappings für Host port die Portnummer auf der Container-Instance an, die für Ihren Container reserviert werden soll.

  10. (Optional) Der Abschnitt Storage (Speicher) wird verwendet, um die Menge an flüchtigem Speicher für auf Fargate gehostete Aufgaben zu erweitern und eine Daten-Volume-Konfiguration für die Aufgabe hinzuzufügen.

    1. Geben Sie für Amount (Menge) einen Wert bis zu 200 GiB an, um den verfügbaren flüchtigen Speicher über den Standardwert von 20 GiB für Ihre Fargate-Aufgaben zu erweitern.

  11. (Optional) Wählen Sie Add volume (Volume hinzufügen) aus, um eine Daten-Volume-Konfiguration für die Aufgabe hinzuzufügen. Führen Sie für jedes Daten-Volume die folgenden Schritte aus.

    1. Wählen Sie für Volume type (Volume-Typ) Bind-Mount (Bind-Bindungsbereitstellung) aus.

    2. Geben Sie für Volume name (Volume-Name) einen Namen für das Daten-Volume an. Der Name des Daten-Volumes wird beim Erstellen eines Container-Bindungsbereitstellungspunkts in einem späteren Schritt verwendet.

    3. Erweitern Sie den Abschnitt Container mount points (Container-Bindungsbereitstellungspunkte) und wählen Sie Add (Hinzufügen).

    4. Wählen Sie für Container den Container für den Bindungsbereitstellungspunkt aus.

    5. Wählen Sie für Source volume (Quell-Volume) das Daten-Volume für die Bindungsbereitstellung im Container aus.

    6. Geben Sie für Container path (Container-Pfad) den Pfad zu dem Container ein, um die Bindungsbereitstellung für das Volume durchzuführen.

    7. Geben Sie für Read only (Schreibgeschützt) an, ob das Volume schreibgeschützt sein soll.

    8. Wählen Sie Add (Hinzufügen), um weitere Bindungsbereitstellungspunkte hinzuzufügen, bis für jedes in der Aufgabendefinition definierte Daten-Volume ein Bindungsbereitstellungspunkt definiert ist.

  12. (Optional) Wählen Sie die Option Use log collection (Protokollerfassung verwenden), um eine Protokollkonfiguration anzugeben. Für jeden verfügbaren Protokolltreiber gibt es Protokolltreiberoptionen, die angegeben werden müssen. Die Standardoption sendet Container-Protokolle an CloudWatch Logs. Die anderen Protokolltreiberoptionen werden mit AWS FireLens konfiguriert. Weitere Informationen finden Sie unter Routing benutzerdefinierter Protokolle.

    Im Folgenden wird jedes Container-Protokollziel ausführlicher beschrieben.

    • Amazon CloudWatch – Konfigurieren der Aufgabe zum Senden von Container-Protokollen an CloudWatch Logs. Die Standardoptionen für den Protokolltreiber werden bereitgestellt, wodurch in Ihrem Namen eine CloudWatch-Protokollgruppe erstellt wird. Um einen anderen Protokollgruppen-Namen anzugeben, ändern Sie die Werte der Treiberoption.

    • Amazon Kinesis Data Firehose – Konfigurieren der Aufgabe, dass Containerprotokolle an Kinesis Data Firehose gesendet werden. Es werden die Standardoptionen des Protokolltreibers bereitgestellt, die Protokolle an einen Bereitstellungsdatenstrom von Kinesis Data Firehose senden. Um einen anderen Namen für den Bereitstellungsdatenstrom anzugeben, ändern Sie die Werte der Treiberoption.

    • Amazon Kinesis Data Streams – Konfigurieren der Aufgabe, dass Containerprotokolle an Kinesis Data Streams gesendet werden. Es werden die Standardoptionen des Protokolltreibers bereitgestellt, die Protokolle an einen Datenstrom von Kinesis Data Streams senden. Um einen anderen Datenstrom-Namen anzugeben, ändern Sie die Werte der Treiberoption.

    • Amazon OpenSearch Service – Konfigurieren der Aufgabe, Container-Protokolle an eine OpenSearch-Service-Domäne zu senden. Die Optionen für den Protokolltreiber müssen bereitgestellt werden. Weitere Informationen finden Sie unter Weiterleiten von Protokollen an eine Domäne von Amazon OpenSearch Service.

    • Amazon S3 – Konfigurieren der Aufgabe, dass Container-Protokolle an einen Amazon-S3-Bucket gesendet werden. Die Standardoptionen für den Protokolltreiber werden bereitgestellt, Sie müssen jedoch einen gültigen Amazon-S3-Bucket-Namen angeben.

  13. (Optional) Wählen Sie die Option Use trace collection (Nachverfolgungs-Erfassung verwenden) aus, um Ihre Aufgaben so zu konfigurieren, dass Nachverfolgungsdaten von Ihrer Anwendung an AWS X-Ray weitergeleitet werden. Wenn diese Option ausgewählt ist, erstellt Amazon ECS einen Sidecar-Container für AWS Distro for OpenTelemetry, der zum Senden der Nachverfolgungsdaten vorkonfiguriert ist. Weitere Informationen finden Sie unter Sammeln von Anwendungs-Nachverfolgungsdaten.

    Wichtig

    Wenn Sie die Nachverfolgungs-Erfassung aktivieren, benötigt Ihre Aufgabendefinition eine Aufgaben-IAM-Rolle mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für die Integration von AWS Distro for OpenTelemetry mit AWS X-Ray.

  14. (Optional) Wählen Sie die Option Use metric collection (Metrikerfassung verwenden) zum Erfassen und Senden von Metriken für Ihre Aufgaben entweder an Amazon CloudWatch oder Amazon Managed Service for Prometheus. Wenn diese Option ausgewählt ist, erstellt Amazon ECS einen Sidecar-Container für AWS Distro for OpenTelemetry, der zum Senden der Anwendungsmetriken vorkonfiguriert ist. Weitere Informationen finden Sie unter Erfassen von Anwendungsmetriken.

    1. Wenn Amazon CloudWatch ausgewählt ist, werden Ihre benutzerdefinierten Anwendungsmetriken als benutzerdefinierte Metriken an CloudWatch weitergeleitet. Weitere Informationen finden Sie unter Exportieren von Anwendungsmetriken nach Amazon CloudWatch.

      Wichtig

      Beim Exportieren von Anwendungsmetriken nach Amazon CloudWatch erfordert Ihre Aufgabendefinition eine Aufgaben-IAM-Rolle Aufgabe mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für die Integration von AWS Distro for OpenTelemetry mit Amazon CloudWatch.

    2. Wenn Amazon Managed Service for Prometheus (Instrumentierung der Prometheus-Bibliotheken) ausgewählt ist, werden Ihre CPU-, Arbeitsspeicher-, Netzwerk- und Speichermetriken auf Aufgabenebene sowie Ihre benutzerdefinierten Anwendungsmetriken an Amazon Managed Service for Prometheus weitergeleitet. Geben Sie für Workspace remote write endpoint (Workspace-Remote-Schreibendpunkt) die URL des Remote-Schreibendpunkts für Ihren Prometheus-Workspace an. Geben Sie für Scraping target (Scraping-Ziel) den Host und Port an, den der Collector von AWS Distro for OpenTelemetry verwenden kann, um Metrikdaten zu extrahieren. Weitere Informationen finden Sie unter Exportieren von Anwendungsmetriken an Amazon Managed Service for Prometheus.

      Wichtig

      Beim Exportieren von Anwendungsmetriken nach Amazon Managed Service for Prometheus erfordert Ihre Aufgabendefinition eine Aufgaben-IAM-Rolle Aufgabe mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für die Integration von AWS Distro for OpenTelemetry mit Amazon Managed Service for Prometheus.

    3. Wenn Amazon Managed Service for Prometheus (OpenTelemetry-Instrumentierung) ausgewählt ist, werden Ihre CPU-, Arbeitsspeicher-, Netzwerk- und Speichermetriken auf Aufgabenebene sowie Ihre benutzerdefinierten Anwendungsmetriken an Amazon Managed Service for Prometheus weitergeleitet. Geben Sie für Workspace remote write endpoint (Workspace-Remote-Schreibendpunkt) die URL des Remote-Schreibendpunkts für Ihren Prometheus-Workspace an. Weitere Informationen finden Sie unter Exportieren von Anwendungsmetriken an Amazon Managed Service for Prometheus.

      Wichtig

      Beim Exportieren von Anwendungsmetriken nach Amazon Managed Service for Prometheus erfordert Ihre Aufgabendefinition eine Aufgaben-IAM-Rolle Aufgabe mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Erforderliche IAM-Berechtigungen für die Integration von AWS Distro for OpenTelemetry mit Amazon Managed Service for Prometheus.

  15. (Optional) Erweitern Sie den Abschnitt Tags zum Hinzufügen von Tags als Schlüssel-Wert-Paare zur Aufgabendefinition.

  16. Klicken Sie auf Next (Weiter), um die Aufgabendefinition zu überprüfen.

  17. Überprüfen Sie auf der Seite Review and create (Überprüfen und erstellen) jeden Abschnitt der Aufgabendefinition. Sie können Edit (Bearbeiten) auswählen, um Änderungen vorzunehmen. Sobald die Aufgabendefinition abgeschlossen ist, wählen Sie Create (Erstellen), um die Aufgabendefinition zu registrieren.