

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.

# Konfiguration von Amazon ECS für die Überwachung von CloudWatch Ereignissen
<a name="ecs_cwet"></a>

Erfahren Sie, wie Sie eine einfache Lambda-Funktion einrichten, die auf Aufgabenereignisse wartet und diese in einen CloudWatch Log-Log-Stream schreibt.

## Voraussetzung: Einrichten eines Testclusters
<a name="cwet_step_1"></a>

Wenn Sie über kein aktives Cluster verfügen, mit dem Sie Ereignisse erfassen, führen Sie die Schritte unter [Erstellen eines Amazon-ECS-Clusters für Fargate-Workloads](create-cluster-console-v2.md) aus, um eines zu erstellen. Am Ende dieses Tutorials führen Sie eine Aufgabe auf diesem Cluster aus, um zu testen, ob Sie Ihre Lambda-Funktion korrekt konfiguriert haben. 

## Schritt 1: Erstellen der Lambda-Funktion
<a name="cwet_step_2"></a>

In diesem Verfahren erstellen Sie eine einfache Lambda-Funktion, die als Ziel für Amazon-ECS-Ereignis-Stream-Nachrichten dient. 

1. Öffnen Sie die AWS Lambda Konsole unter. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)

1. Wählen Sie **Funktion erstellen**. 

1. Verfahren Sie auf dem Bildschirm **Author from scratch** wie folgt:

   1. Geben Sie für **Name** einen Wert ein. 

   1. Wählen Sie für **Runtime** (Laufzeit) Ihre Python-Version aus, etwa **Python 3.9**.

   1. Wählen Sie unter **Role (Rolle)** die Option **Create a new role with basic Lambda permissions (Eine neue Rolle mit den grundlegenden Lambda-Berechtigungen erstellen)** aus.

1. Wählen Sie **Funktion erstellen**.

1. Bearbeiten Sie im Bereich **Function code** den Beispiel-Code entsprechend dem folgenden Beispiel:

   ```
   import json
   
   def lambda_handler(event, context):
       if event["source"] != "aws.ecs":
          raise ValueError("Function only supports input from events with a source type of: aws.ecs")
          
       print('Here is the event:')
       print(json.dumps(event))
   ```

   Dies ist eine einfache Python 3.9-Funktion, mit der das von Amazon ECS gesendete Ereignis gedruckt wird. Wenn alles korrekt konfiguriert ist, sehen Sie am Ende dieses Tutorials, dass die Ereignisdetails im CloudWatch Log-Protokollstream angezeigt werden, der dieser Lambda-Funktion zugeordnet ist.

1. Wählen Sie **Speichern**.

## Schritt 2: Registrieren von Ereignisregeln
<a name="cwet_step_3"></a>

 Als Nächstes erstellen Sie eine CloudWatch Ereignisregel, die Aufgabenereignisse erfasst, die aus Ihren Amazon ECS-Clustern stammen. Diese Regel erfasst alle Ereignisse, die aus allen Clustern innerhalb des Kontos stammen, in dem sie definiert wurde. Die Aufgabennachrichten selbst enthalten Informationen über die Ereignisquelle, einschließlich dem Cluster, in dem sie sich befindet. Sie können diese verwenden, um Ereignisse programmgesteuert zu filtern und zu sortieren. 

**Anmerkung**  
Wenn Sie die verwenden, AWS-Managementkonsole um eine Ereignisregel zu erstellen, fügt die Konsole automatisch die IAM-Berechtigungen hinzu, die erforderlich sind, um CloudWatch Events die Berechtigung zum Aufrufen Ihrer Lambda-Funktion zu erteilen. Wenn Sie mithilfe von eine Ereignisregel erstellen AWS CLI, müssen Sie diese Berechtigung explizit erteilen. Weitere Informationen finden Sie unter [Ereignisse bei Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) und [ EventBridge Amazon-Ereignismuster](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) im * EventBridge Amazon-Benutzerhandbuch*.

**Umleiten von Ereignissen an Ihre Lambda-Funktion**

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im Navigationsbereich **Events (Ereignisse)**, **Rules (Regeln)**, **Create rule (Regel erstellen)** aus.

1. Wählen Sie für **Event Source** als Ereignisquelle **ECS** aus. Standardmäßig gilt die Regel für alle Amazon-ECS-Ereignisse all Ihrer Amazon-ECS-Gruppen. Alternativ können Sie bestimmte Ereignisse oder eine bestimmte Amazon-ECS-Gruppe auswählen.

1. Wählen Sie für **Targets** (Ziele) die Option **Add target** (Ziel hinzufügen) und für **Target type** (Zieltyp) die Option **Lambda function** (Lambda-Funktion) und danach Ihre Lambda-Funktion aus.

1. Wählen Sie **Details konfigurieren**.

1. Geben Sie für **Rule definition** einen Namen und eine Beschreibung für Ihre Regel ein und wählen Sie **Create rule** aus.

## Schritt 3: Erstellen einer Aufgabendefinition
<a name="cwet_step_task-def"></a>

Erstellen Sie eine Aufgabendefinition.

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

1. Wählen Sie im Navigationsbereich **Task Definitions** aus.

1. Wählen Sie **Create new Task Definition** (Neue Aufgabendefinition erstellen), **Create new revision with JSON** (Neue Revision mit JSON) erstellen.

1. Kopieren Sie die folgende Beispielaufgabendefinition, fügen Sie sie in das Feld ein, und wählen Sie dann **Save (Speichern)**.

   ```
   {
      "containerDefinitions": [ 
         { 
            "command": [
               "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /usr/local/apache2/htdocs/index.html && httpd-foreground\""
            ],
            "entryPoint": [
               "sh",
               "-c"
            ],
            "essential": true,
            "image": "public.ecr.aws/docker/library/httpd:2.4",
            "logConfiguration": { 
               "logDriver": "awslogs",
               "options": { 
                  "awslogs-group" : "/ecs/fargate-task-definition",
                  "awslogs-region": "us-east-1",
                  "awslogs-stream-prefix": "ecs"
               }
            },
            "name": "sample-fargate-app",
            "portMappings": [ 
               { 
                  "containerPort": 80,
                  "hostPort": 80,
                  "protocol": "tcp"
               }
            ]
         }
      ],
      "cpu": "256",
      "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
      "family": "fargate-task-definition",
      "memory": "512",
      "networkMode": "awsvpc",
      "runtimePlatform": {
           "operatingSystemFamily": "LINUX"
       },
      "requiresCompatibilities": [ 
          "FARGATE" 
       ]
   }
   ```

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

## Schritt 4: Testen Ihrer Regel
<a name="cwet_step_4"></a>

 Schließlich erstellen Sie eine CloudWatch Ereignisregel, die Aufgabenereignisse erfasst, die aus Ihren Amazon ECS-Clustern stammen. Diese Regel erfasst alle Ereignisse, die aus allen Clustern innerhalb des Kontos stammen, in dem sie definiert wurde. Die Aufgabennachrichten selbst enthalten Informationen über die Ereignisquelle, einschließlich dem Cluster, in dem sie sich befindet. Sie können diese verwenden, um Ereignisse programmgesteuert zu filtern und zu sortieren. 

**Testen Ihrer Regel**

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 **Task definitions** (Aufgabendefinitionen).

1. Wählen Sie **console-sample-app-static**und anschließend **Bereitstellen**, **Neue Aufgabe ausführen aus**.

1. Wählen Sie für **Cluster** die Option Standard und wählen Sie dann **Deploy** (Bereitstellen) aus.

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie im Navigationsbereich **Logs** und wählen Sie die Protokollgruppe für Ihre Lambda-Funktion aus (z. B. ***my-function*/aws/lambda/**).

1. Wählen Sie einen Protokollstream aus, um die Ereignisdaten anzuzeigen. 