Tutorial: Ausführen einer Amazon ECS-Aufgabe, wenn eine Datei in einen Amazon S3 Bucket hochgeladen wird - Amazon CloudWatch Events

Tutorial: Ausführen einer Amazon ECS-Aufgabe, wenn eine Datei in einen Amazon S3 Bucket hochgeladen wird

Anmerkung

Amazon EventBridge ist die bevorzugte Methode zum Verwalten Ihrer Ereignisse. Amazon CloudWatch Events und EventBridge liegen der gleiche Service und die gleiche API zugrunde, EventBridge bietet jedoch mehr Funktionen. Änderungen, die Sie in CloudWatch oder EventBridge vornehmen, werden in allen Konsolen angezeigt. Weitere Informationen finden Sie unter Amazon EventBridge.

Sie können CloudWatch Events verwenden, um Amazon ECS-Aufgaben auszuführen, wenn bestimmteAWS-Ereignisse auftreten. In diesem Tutorial richten Sie eine CloudWatch Events-Regel ein, die eine Amazon ECS-Aufgabe ausführt, wenn eine Datei in einen bestimmten Amazon S3 Bucket unter Verwendung der Amazon S3 PUT-Operation hochgeladen wird.

In dem Tutorial wird davon ausgegangen, dass Sie die Aufgabendefinition bereits in Amazon ECS erstellt haben.

Ausführung einer Amazon ECS-Aufgabe, wenn eine Datei mit der PUT-Operation in einen S3 Bucket hochgeladen wird
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Events und die Option Create rule aus.

  3. Führen Sie für Ereignisquelle folgende Schritte aus:

    1. Wählen Sie Event Pattern aus.

    2. Wählen Sie Build event pattern to match events by service aus.

    3. Wählen Sie in Service Name Simple Storage Service (S3).

    4. Wählen Sie für Event Type (Ereignistyp) Object Level Operations (Operationen auf Objektebene).

    5. Wählen Sie Specific operation(s) (Spezifische Operation(en)) und dann die Option Put Object (Objekt ablegen) aus.

    6. Wählen Sie Specific bucket(s) by name (Spezifische(r) Bucket(s) nach Namen) und geben Sie den Namen des Buckets ein.

  4. Führen Sie für Targets (Ziele) Folgendes aus:

    1. Wählen Sie Add target (Ziel hinzufügen), ECS task (ECS-Aufgabe).

    2. Wählen Sie für Cluster und Task Definition (Aufgabendefinition) die Ressourcen aus, die Sie erstellt haben.

    3. Wählen Sie in Launch Type (Starttyp) FARGATE oder EC2 aus. FARGATE wird nur in Regionen angezeigt, in denen AWS Fargate unterstützt wird.

    4. (Optional) Geben Sie einen Wert für Task Group (Aufgabengruppe) aus. Wenn der Launch Type (Starttyp) FARGATE ist, können Sie optional eine Platform Version (Plattformversion) angeben. Geben Sie nur den numerischen Teil der Plattformversion an, z. B. 1.1.0.

    5. (Optional) Geben Sie eine Revision der Aufgabendefinition und einen Aufgabenzähler an. Wenn Sie keine Revision der Aufgabendefinition angeben, wird die letzte Version verwendet.

    6. Wenn Ihre Aufgabendefinition den awsvpc-Netzwerkmodus verwendet, müssen Sie Subnetze und Sicherheitsgruppen angeben. Alle Subnetze und Sicherheitsgruppen müssen sich in derselben VPC befinden.

      Bei Angabe mehrerer Sicherheitsgruppen oder Subnetze müssen Sie diese jeweils durch ein Komma trennen, aber ohne Leerzeichen.

      Geben Sie für Subnets (Subnetze) den ganzen subnet-id-Wert für jedes Subnetz an, wie im folgenden Beispiel gezeigt:

      subnet-123abcd,subnet-789abcd

    7. Wählen Sie aus, ob die öffentliche IP-Adresse automatisch zugewiesen werden soll.

    8. In diesen Fällen kann CloudWatch Events die IAM-Rolle erstellen, die zum Ausführen des Ereignisses erforderlich ist:

      • Um automatisch eine IAM-Rolle zu erstellen, wählen Sie Create a new role for this specific resource (Eine neue Rolle für diese spezifische Ressource erstellen).

      • Wenn Sie eine zuvor erstellte IAM-Rolle verwenden möchten, wählen Sie Use existing role (Vorhandene Rolle verwenden). Dies muss eine Rolle sein, die bereits über die erforderlichen Berechtigungen zum Aufrufen des Builds verfügt. CloudWatch Events gewährt der ausgewählten Rolle keine zusätzlichen Berechtigungen.

  5. Wählen Sie Configure details.

  6. Geben Sie für Rule definition einen Namen und eine Beschreibung für die Regel ein.

  7. Wählen Sie Create rule aus.