

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 einer Amazon-ECS-Aufgabendefinition mit der Konsole
<a name="create-task-definition"></a>

Sie erstellen eine Aufgabendefinition, damit Sie die Anwendung definieren können, die Sie als Aufgabe oder Service ausführen.

Wenn Sie eine Aufgabendefinition für den externen Starttyp erstellen, müssen Sie die Aufgabendefinition mit dem JSON-Editor erstellen und den `requireCapabilities`-Parameter auf `EXTERNAL` setzen.

Sie können eine Aufgabendefinition mithilfe der Konsolenoberfläche oder durch Angabe einer JSON-Datei erstellen. Sie können Amazon Q Empfehlungen geben lassen, wenn Sie den JSON-Editor verwenden. Weitere Informationen finden Sie unter [Verwenden von Amazon Q Developer zur Bereitstellung von Empfehlungen zur Aufgabendefinition in der Amazon-ECS-Konsole](using-amazon-q.md).

## JSON-Validierung
<a name="json-validate-for-create"></a>

Der JSON-Editor der Amazon ECS-Konsole validiert Folgendes in der JSON-Datei:
+ Die Datei ist eine gültige JSON-Datei
+ Die Datei enthält keine überflüssigen Schlüssel
+ Die Datei enthält den `familyName`-Parameter
+ Unter `containerDefinitions` ist mindestens ein Eintrag vorhanden.

## CloudFormation Stapel
<a name="cloudformation-stack"></a>

Das folgende Verhalten gilt für Aufgabendefinitionen, die vor dem 12. Januar 2023 in der neuen Amazon-ECS-Konsole erstellt wurden.

Wenn Sie eine Aufgabendefinition erstellen, erstellt die Amazon ECS-Konsole automatisch einen CloudFormation Stack, dessen Name mit beginnt`ECS-Console-V2-TaskDefinition-`. Wenn Sie das AWS CLI oder ein AWS SDK verwendet haben, um die Registrierung der Aufgabendefinition aufzuheben, müssen Sie den Aufgabendefinitionsstapel manuell löschen. Weitere Informationen finden Sie unter [Löschen eines Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) im *CloudFormation -Benutzerhandbuch*.

Für Aufgabendefinitionen, die nach dem 12. Januar 2023 erstellt wurden, wird kein CloudFormation Stapel automatisch für sie erstellt.

## Verfahren
<a name="create-task-procedure"></a>

------
#### [ Amazon ECS console ]

1. Öffnen Sie die Konsole auf [https://console.aws.amazon.com/ecs/Version](https://console.aws.amazon.com/ecs/v2) 2.

1. Wählen Sie im Navigationsbereich **Task definitions** (Aufgabendefinitionen) aus.

1. Wählen Sie im Menü **Neue Aufgabendefinition erstellen** die Option **Neue Aufgabendefinition erstellen** aus.

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

1. Wählen Sie als **Starttyp** die Anwendungsumgebung aus. Die Standardeinstellung der Konsole ist **AWS Fargate** (serverless). Amazon ECS führt eine Validierung mit diesem Wert durch, um sicherzustellen, dass die Aufgabendefinitions-Parameter für den Infrastrukturtyp gültig sind.

1. 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**. Weitere Informationen finden Sie unter [Laufzeit-Plattform](task_definition_parameters.md#runtime-platform).

   Um Ihre **AWS Fargate**-Aufgaben auf Windows-Containern auszuführen, wählen Sie ein unterstütztes Windows-Betriebssystem aus. Weitere Informationen finden Sie unter [Betriebssysteme und Architekturen](fargate-tasks-services.md#fargate-task-os).

1. Wählen Sie für **Task size** (Aufgabengröße) die CPU- und Arbeitsspeicherwerte aus, die für die Aufgabe reserviert werden sollen. Der CPU-Wert ist als v CPUs 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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonECS/latest/developerguide/create-task-definition.html)

   Für Aufgaben, die EC2-Instances oder externe Instances verwenden, liegen die unterstützten Task-CPU-Werte zwischen 128 CPU-Einheiten (0,125 VCPUs) und 196608 CPU-Einheiten (192 V). CPUs

   Um den Speicherwert in GB anzugeben, geben Sie nach dem Wert **GB** ein. Um beispielsweise den **Speicherwert** auf 3 GB festzulegen, geben Sie **3GB** ein.
**Anmerkung**  
CPU- und Speicherparameter auf Aufgabenebene werden für Windows-Container ignoriert.

1. 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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html).

   Wenn Sie unter **Port-Zuordnungen** für **Host-Port** die Option **Bridge** wählen, geben Sie die Portnummer der Container-Instance ein, die Sie für Ihren Container reservieren möchten.

1. (Optional) Erweitern Sie den Abschnitt **Aufgabenrollen**, um die AWS Identity and Access Management (IAM-) Rollen für die Aufgabe zu konfigurieren:

   1. Wählen Sie für **Task role** (Aufgabenrolle) die IAM-Rolle aus, die Sie der Aufgabe zuweisen möchten. Eine Task-IAM-Rolle gewährt den Containern in einer Aufgabe die Berechtigungen, AWS API-Operationen aufzurufen.

   1. Wählen Sie für die **Aufgabenausführungsrolle** die Rolle aus.

      Informationen darüber, wann Sie eine Aufgabenausführungsrolle verwenden sollten, finden Sie unter [IAM-Rolle für die Amazon-ECS-Aufgabenausführung](task_execution_IAM_role.md). Wenn Sie die Rolle nicht benötigen, wählen Sie **Keine** aus.

1. (Optional) Erweitern Sie den Abschnitt **Aufgabenplatzierung**, um Platzierungsbeschränkungen hinzuzufügen. Aufgabenplatzierungs-Beschränkungen ermöglichen es Ihnen, die Container-Instances, die für die Platzierung Ihrer Aufgaben verwendet werden, mithilfe integrierter oder benutzerdefinierter Attribute zu filtern.

1. (Optional) Erweitern Sie den Abschnitt **Fehlerinjektion**, um Fehlerinjektion zu aktivieren. Mit der Fehlerinjektion können Sie testen, wie Ihre Anwendung auf bestimmte Beeinträchtigungsszenarien reagiert.

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

   1. Geben Sie unter **Name** einen Namen für den Container ein.

   1. Geben Sie für **Image URI** (Image-URI) das Image an, das zum Starten eines Containers verwendet werden soll. Images in der Amazon ECR Public Gallery Registry können nur mithilfe des öffentlichen Amazon-ECR-Registry-Namens 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.

   1. Wenn sich Ihr Image in einer privaten Registrierung außerhalb von Amazon ECR befindet, aktivieren Sie unter **Private Registrierung** die **Authentifizierung mit privater Registrierung**. Geben Sie dann unter **Secrets-Manager-ARN oder -Name** den Amazon-Ressourcennamen (ARN) des Secrets ein.

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

   1. 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** (Container-Port) und **Protocol** (Protokoll) das Port-Mapping an, das für den Container verwendet werden soll.
      + Wenn Sie den **bridge**-Netzwerkmodus verwenden, wählen Sie für **Container port** (Container-Port) und **Protocol** (Protokoll) die Port-Zuweisung, die für den Container verwendet werden soll.

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

   1. Wenn Sie dem Container schreibgeschützten Zugriff auf das Root-Dateisystem gewähren möchten, wählen Sie für **Schreibgeschütztes Root-Dateisystem** die Option **Schreibgeschützter Zugriff**.

   1. (Optional) Gehen Sie wie folgt vor, um die Limits für CPU, GPU und Arbeitsspeicher auf Container-Ebene zu definieren, die sich von den Werten auf Aufgabenebene unter **Limits für die Ressourcenzuweisung** unterscheiden:
      + Geben Sie für **CPU** die Anzahl der CPU-Einheiten ein, die der Amazon-ECS-Container-Agent für den Container reserviert.
      + Geben Sie für **GPU** die Anzahl der GPU-Einheiten für die Container-Instance ein. 

        Eine Amazon-EC2-Instance mit GPU-Unterstützung hat 1 GPU-Einheit für jede GPU. Weitere Informationen finden Sie unter [Amazon-ECS-Aufgabendefinitionen für GPU-Workloads](ecs-gpu.md).
      + Geben Sie unter **festes Arbeitsspeicher-Limit** die Speichermenge in GB ein, die dem Container zur Verfügung stehen soll. Wenn der Container versucht, die harte Grenze zu überschreiten, stoppt der Container.
      + Der Daemon für Docker 20.10.0 oder höher reserviert mindestens 6 Mebibytes (MiB) Arbeitsspeicher für einen Container, deshalb sollten Sie nicht weniger als 6 MiB Arbeitsspeicher für Ihre Container angeben.

        Der Daemon für Docker 19.03.13 oder früher reserviert mindestens 4 MiB Arbeitsspeicher für einen Container, deshalb sollten Sie nicht weniger als 4 MiB Arbeitsspeicher für Ihre Container angeben.
      + Geben Sie unter **Memory Soft Limit** die weiche Grenze (in GB) des Speichers ein, der für den Container reserviert werden soll. 

        Wenn der Systemspeicher strittig ist, versucht Docker den Arbeitsspeicher des Containers innerhalb der weichen Grenze zu halten. Wenn Sie keinen Speicher auf Aufgabenebene angeben, müssen Sie eine Ganzzahl ungleich Null für einen oder beide Werte von **Memory Hard Limit** und **Memory Soft Limit** angeben. Wenn Sie beide angeben, muss **Memory Hard Limit** größer sein als **Memory Soft Limit**. 

        Dieses Feature wird auf Windows-Containern nicht unterstützt.

   1. (Optional) Erweitern Sie den Abschnitt **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 [Eine einzelne Umgebungsvariable an einen Amazon-ECS-Container übergeben](taskdef-envfiles.md).

      Wenn Sie eine Umgebungsvariable für den geheimen Speicher angeben, geben Sie unter **Schlüssel** den geheimen Namen ein. Geben Sie **ValueFrom**dann für den vollständigen ARN des Systems Manager Parameter Store Secret oder Secrets Manager Secret ein 

   1. (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-Logs an Amazon CloudWatch Logs. Die anderen Optionen für den Protokolltreiber werden mithilfe von konfiguriert AWS FireLens. Weitere Informationen finden Sie unter [Amazon ECS-Protokolle an einen AWS Service senden oder AWS Partner](using_firelens.md).

      Im Folgenden wird jedes Container-Protokollziel ausführlicher beschrieben.
      + **Amazon CloudWatch** — Konfigurieren Sie die Aufgabe, um Container-Logs an CloudWatch Logs zu senden. Es werden die standardmäßigen Protokolltreiberoptionen bereitgestellt, mit denen in Ihrem Namen eine CloudWatch Protokollgruppe erstellt wird. Um einen anderen Protokollgruppen-Namen anzugeben, ändern Sie die Werte der Treiberoption.
      + **Protokolle nach Splunk exportieren** – Konfigurieren Sie die Aufgabe so, dass Container-Protokolle an den Splunk-Treiber gesendet werden, der die Protokolle an einen Remote-Service sendet. Sie müssen die URL zu Ihrem Splunk-Webservice eingeben. Der Splunk-Token wird als geheime Option angegeben, da er als sensible Daten behandelt werden kann.
      + **Protokolle nach Amazon Data Firehose exportieren** – Konfigurieren Sie die Aufgabe, um Container-Protokolle an Firehose zu senden. Die Standardoptionen für den Protokolltreiber werden bereitgestellt, wodurch die Protokolle an einen Bereitstellungsdatenstrom von Firehose gesendet werden. Um einen anderen Namen für den Bereitstellungsdatenstrom anzugeben, ändern Sie die Werte der Treiberoption.
      + **Protokolle nach Amazon Kinesis Data Streams exportieren** – Konfigurieren Sie die Aufgabe, um Container-Protokolle an Kinesis-Datenströme zu senden. Die Standardoptionen für den Protokolltreiber werden bereitgestellt, wodurch Protokolle an einen Kinesis-Datenstrom gesendet werden. Um einen anderen Datenstrom-Namen anzugeben, ändern Sie die Werte der Treiberoption.
      + **Protokolle nach Amazon OpenSearch Service exportieren** — Konfigurieren Sie die Aufgabe so, dass Container-Protokolle an eine OpenSearch Service-Domain gesendet werden. Die Optionen für den Protokolltreiber müssen bereitgestellt werden.
      + **Protokolle nach Amazon S3 exportieren** – Konfigurieren Sie die Aufgabe, um Container-Protokolle an einen Amazon-S3-Bucket zu senden. Die Standardoptionen für den Protokolltreiber werden bereitgestellt, Sie müssen jedoch einen gültigen Amazon-S3-Bucket-Namen angeben.

   1. (Optional) Konfigurieren Sie zusätzliche Container-Parameter.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonECS/latest/developerguide/create-task-definition.html)

   1. (Optional) Wählen Sie **Add more containers** (Weiterer Container hinzufügen) aus, um der Aufgabendefinition zusätzliche Container hinzuzufügen. 

1. (Optional) Der Abschnitt **Speicher** wird verwendet, um die Menge an flüchtigem Speicher für auf Fargate gehostete Aufgaben zu erweitern. Sie können diesen Abschnitt auch verwenden, um 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 gibibytes (GiB) für Ihre Fargate-Aufgaben zu erweitern.

1. (Optional) Um eine Daten-Volume-Konfiguration für die Aufgabendefinition hinzuzufügen, wählen Sie **Volume hinzufügen** und führen Sie dann die folgenden Schritte aus.

   1. Geben Sie unter **Volume-Name** einen Namen für das Daten-Volume an. Der Daten-Volume-Name wird beim Erstellen eines Container-Mounting-Punkts verwendet.

   1. Wählen Sie für **Volume-Konfiguration** aus, ob Sie Ihr Volume bei der Erstellung der Aufgabendefinition oder während der Bereitstellung konfigurieren möchten.
**Anmerkung**  
Zu den Volumes, die bei der Erstellung einer Aufgabendefinition konfiguriert werden können, gehören Bind MountDocker, Amazon EFS und Amazon FSx for Windows File Server. Zu den Volumes, die bei der Bereitstellung konfiguriert werden können, wenn eine Aufgabe ausgeführt wird oder wenn ein Service erstellt oder aktualisiert wird, gehört Amazon EBS.

   1. Wählen Sie unter **Volume-Typ** einen Volume-Typ aus, der mit dem ausgewählten Konfigurationstyp kompatibel ist, und konfigurieren Sie dann den Volume-Typ.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonECS/latest/developerguide/create-task-definition.html)

1. Um ein Volume aus einem anderen Container hinzuzufügen, wählen Sie **Volume hinzufügen aus** und konfigurieren Sie dann Folgendes:
   + Wählen Sie für **Container** den Container aus.
   + Wählen Sie unter **Quelle** den Container aus, der das Volume enthält, das Sie mounten möchten.
   + Wählen Sie für **Schreibgeschützt**, ob der Container nur schreibgeschützten Zugriff auf das Volume hat.

1. (Optional) Um Ihre Einstellungen für Anwendungsverfolgung und Metrikerfassung mithilfe der AWS Distro for OpenTelemetry Integration zu konfigurieren, erweitern Sie **Überwachung** und wählen Sie dann **Metrikerfassung verwenden, um Metriken** für Ihre Aufgaben zu sammeln und an Amazon CloudWatch oder Amazon Managed Service for Prometheus zu senden aus. Wenn diese Option ausgewählt ist, erstellt Amazon ECS einen AWS Distro for OpenTelemetry Container-Sidecar, der für das Senden der Anwendungsmetriken vorkonfiguriert ist. Weitere Informationen finden Sie unter [Amazon-ECS-Anwendungsleistung mithilfe von Anwendungsmetriken korrelieren](metrics-data.md).

   1. Wenn **Amazon** ausgewählt CloudWatch ist, werden Ihre benutzerdefinierten Anwendungsmetriken CloudWatch als benutzerdefinierte Metriken weitergeleitet. Weitere Informationen finden Sie unter [Anwendungsmetriken nach Amazon exportieren CloudWatch](application-metrics-cloudwatch.md).
**Wichtig**  
Wenn Sie Anwendungsmetriken nach Amazon exportieren CloudWatch, erfordert Ihre Aufgabendefinition eine Task-IAM-Rolle mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter [Erforderliche IAM-Berechtigungen für AWS Distro für die OpenTelemetry Integration mit Amazon CloudWatch](application-metrics-cloudwatch.md#application-metrics-cloudwatch-iam). 

   1. Wenn Sie **Amazon Managed Service for Prometheus (Prometheus libraries instrumentation)** (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-Schreibendpunkt** die URL des Remote-Schreibendpunkts für Ihren Prometheus-Workspace ein. Geben Sie für **Scraping-Ziel** den Host und Port ein, 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](application-metrics-prometheus.md).
**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 AWS Distro für die OpenTelemetry Integration mit Amazon Managed Service for Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

   1. Wenn Sie **Amazon Managed Service for Prometheus (OpenTelemetryInstrumentierung)** auswählen, werden Ihre CPU-, Arbeitsspeicher-, Netzwerk- und Speichermetriken auf Taskebene sowie Ihre benutzerdefinierten Anwendungsmetriken an Amazon Managed Service for Prometheus weitergeleitet. Geben Sie für **Workspace-Remote-Schreibendpunkt** die URL des Remote-Schreibendpunkts für Ihren Prometheus-Workspace ein. Weitere Informationen finden Sie unter [Exportieren von Anwendungsmetriken an Amazon Managed Service for Prometheus](application-metrics-prometheus.md).
**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 AWS Distro für die OpenTelemetry Integration mit Amazon Managed Service for Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

1. (Optional) Erweitern Sie den Abschnitt **Tags** zum Hinzufügen von Tags als Schlüssel-Wert-Paare zur Aufgabendefinition.
   + [Ein Tag hinzufügen] Wählen Sie **Add tag** (Tag hinzufügen) und führen Sie dann das Folgende aus:
     + Geben Sie bei **Key (Schlüssel)** den Schlüsselnamen ein.
     + Geben Sie bei **Value (Wert)** den Wert des Schlüssels ein.
   + [Tag entfernen] Wählen Sie neben dem Tag die Option **Remove tag (Tag löschen)** aus.

1. Wählen Sie **Erstellen**, um die Aufgabendefinition zu registrieren.

------
#### [ Amazon ECS console JSON editor ]

1. [https://console.aws.amazon.com/ecs/Öffnen](https://console.aws.amazon.com/ecs/v2) Sie die Konsole auf Version 2.

1. Wählen Sie im Navigationsbereich **Task definitions** (Aufgabendefinitionen) aus.

1. Wählen Sie im Menü **Neue Aufgabendefinition erstellen** die Option **Neue Aufgabendefinition mit JSON erstellen** aus.

1. Bearbeiten Sie im JSON-Editorfeld Ihre JSON-Datei,

   Der JSON muss die in [JSON-Validierung](#json-validate-for-create) angegebenen Validierungsprüfungen bestehen.

1. Wählen Sie **Erstellen** aus.

------