Wie kann ich eine CloudWatch-Protokollgruppe erstellen, die als Ziel für eine EventBridge-Regel verwendet werden soll?

Letzte Aktualisierung: 04.05.2022

Ich möchte eine Amazon-CloudWatch-Protokollgruppe als Ziel zu einer Amazon-EventBridge-Regel hinzufügen. Wie kann ich vorgehen?

Kurzbeschreibung

Wenn Sie eine EventBridge-Regel erstellen, müssen Sie das Ziel angeben, an das Ereignisse gesendet werden, die mit der Regel übereinstimmen. Eine Liste der verfügbaren Ziele für EventBridge finden Sie unter In der EventBridge-Konsole verfügbare Ziele. Eines der Ziele, die Sie der EventBridge-Regel hinzufügen können, ist eine CloudWatch-Protokollgruppe.

Lösung

Hinweis: Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Gehen Sie wie folgt vor, um eine CloudWatch-Protokollgruppe zu konfigurieren, die als Ziel für eine EventBridge-Regel verwendet werden soll:

1.    Öffnen Sie die EventBridge-Konsole und wählen Sie die Region aus, in der Sie eine Regel erstellen möchten.

2.    Wählen Sie Create rule (Regel erstellen) aus und geben Sie dann alle Informationen zu dieser Regel ein, wie Ereignismuster oder Zeitplandetails.

3.    Wählen Sie auf der Seite Select target (Ziel auswählen) CloudWatch als Ihr Ziel aus.

Hinweis: Um eine CloudWatch-Protokollgruppe als Ziel hinzuzufügen, können Sie entweder:

Stellen Sie sicher, dass die Protokollgruppe, die Sie als Ziel für die EventBridge-Regel verwenden, mit /aws/events beginnt. Wenn Sie beim Erstellen einer Regel mithilfe der Konsole eine neue Protokollgruppe erstellen, erstellt EventBridge die Protokollgruppe automatisch für Sie. Wenn Sie eine vorhandene Protokollgruppe hinzufügen möchten, beachten Sie, dass in der Dropdownliste nur Protokollgruppen angezeigt werden, die mit /aws/events beginnen.

4.    Um die Ereignisdaten an die Zielprotokollgruppe zu liefern, benötigt EventBridge die Berechtigung, auf die Zielprotokollgruppe zuzugreifen. Diese Berechtigung wird verwendet, um Protokollstreams zu erstellen und Ereignisse in diese Protokollstreams zu übertragen. Für CloudWatch-Protokollgruppen verwendet EventBridge eine ressourcenbasierte Richtlinie für den Zugriff auf die Protokollgruppe.

Wenn Sie einer EventBridge-Regel über die Konsole Protokollgruppen hinzuzufügen, wird die ressourcenbasierte Richtlinie für Ihre Protokollgruppe automatisch aktualisiert. Wenn Sie aber das AWS SDK/API/CDK/CLI verwenden, müssen Sie die ressourcenbasierte Richtlinie der Protokollgruppe manuell aktualisieren. Dieses Beispielrichtliniendokument zeigt die Berechtigungen, die Sie in der ressourcenbasierten Richtlinie Ihrer Protokollgruppe definieren müssen:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "TrustEventsToStoreLogEvent",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "events.amazonaws.com"
        ]
      },
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:us-east-1:<your-account-id>:log-group:/aws/events/*:*"
    }
  ]
}

Sie können die ressourcenbasierte Richtlinie einer Protokollgruppe nicht mithilfe der Konsole konfigurieren. Fügen Sie diese Berechtigungen mit dem API-Aufruf PutResourcePolicy zu einer ressourcenbasierten Richtlinie hinzu. Überprüfen Sie dann mit dem Befehl describe-resource-policies, ob Ihre Richtlinie korrekt angewendet wurde.

Hinweis: Das aktuelle Limit liegt bei 10 Richtlinien pro Region und Konto. Wenn dieses Limit erreicht ist, können Sie nicht verwendete Richtlinien löschen oder mehrere Richtlinien zusammenlegen.

5.    Der EventBridge-Service erstellt Regeln mit dem CLI-Befehl PutRule. Anschließend werden mit der API PutTargets oder dem CLI-Befehl put-targets Ziele zu einer EventBridge-Regel hinzugefügt. Wenn Sie also das AWS SDK, CDK oder CLI verwenden, müssen Sie die Protokollgruppe mit der API PutTargets oder dem CLI-Befehl put-targets zu Ihrer EventBridge-Regel hinzufügen.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?