Amazon EventBridge Pipes Fehlerbehandlung und Fehlerbehebung - Amazon EventBridge

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.

Amazon EventBridge Pipes Fehlerbehandlung und Fehlerbehebung

Wenn Sie wissen, welche Arten von Fehlern in EventBridge Pipes auftreten können, und EventBridge wie mit diesen Fehlern umgegangen wird, können Sie Probleme mit Ihren Pipes beheben.

Wiederholungsverhalten und Fehlerbehandlung

EventBridge Pipes wiederholt automatisch die Anreicherung und den Zielaufruf bei allen wiederholbaren AWS Fehlern mit dem Quelldienst, dem Anreicherungsdienst oder den Zieldiensten oder. EventBridge Wenn jedoch Fehler von der Anreicherung oder den Ziel-Kunden-Implementierungen zurückgegeben werden, wird der Durchsatz bei der Pipe-Abfrage allmählich reduziert. Bei fast ununterbrochenen 4xx-Fehlern (z. B. Autorisierungsprobleme mit IAM oder fehlenden Ressourcen) kann die Pipe automatisch deaktiviert werden, wobei eine erläuternde Meldung in der angezeigt wird. StateReason

Pipe-Aufruffehler und Wiederholungsverhalten

Wenn Sie eine Pipe aufrufen, können zwei Haupttypen von Fehlern auftreten: Pipe-interne Fehler und Kundenaufruffehler.

Interne Pipe-Fehler

Interne Pipe-Fehler sind Fehler, die auf Aspekte des vom Pipes-Dienst verwalteten Aufrufs zurückzuführen sind. EventBridge

Zu diesen Fehlern können unter anderem folgende Probleme gehören:

  • Ein HTTP Verbindungsfehler beim Versuch, den Zieldienst des Kunden aufzurufen

  • Ein vorübergehender Rückgang der Verfügbarkeit des Pipe-Service selbst

Im Allgemeinen wiederholt EventBridge Pipes interne Fehler auf unbestimmte Zeit und stoppt erst, wenn der Datensatz in der Quelle abläuft.

Bei Pipes mit einer Streamquelle zählt EventBridge Pipes die Wiederholungen für interne Fehler nicht auf die maximale Anzahl von Wiederholungen, die in der Wiederholungsrichtlinie für die Streamquelle angegeben ist. Bei Pipes mit einer SQS Amazon-Quelle zählt EventBridge Pipes keine Wiederholungen aufgrund interner Fehler auf die maximale Empfangsanzahl für die SQS Amazon-Quelle.

Kundenaufruffehler

Kundenaufruffehler sind Fehler, die auf die vom Benutzer verwaltete Konfiguration oder auf den vom Benutzer verwalteten Code zurückzuführen sind.

Zu diesen Fehlern können unter anderem folgende Probleme gehören:

  • Unzureichende Berechtigungen für die Pipe, um das Ziel aufzurufen.

  • Ein Logikfehler in einem synchron aufgerufenen Lambda-, Step Functions-, API Ziel- oder Gateway-Endpunkt eines Kunden. API

Bei Fehlern beim Kundenaufruf geht Pipes wie folgt vor: EventBridge

  • Bei Pipes mit einer Streamquelle versucht EventBridge Pipes bis zu den in der Pipe-Wiederholungsrichtlinie konfigurierten maximalen Wiederholungszeiten oder bis zum Ablauf des maximalen Datensatzalters, je nachdem, was zuerst eintritt.

  • Bei Pipes mit einer SQS Amazon-Quelle versucht EventBridge Pipes erneut, einen Kundenfehler bis zur maximalen Empfangsanzahl in der Quellwarteschlange zu erreichen.

  • Bei Pipes mit einer Apache Kafka- oder Amazon MQ MQ-Quelle werden Kundenfehler genauso wiederholt wie interne Fehler. EventBridge

Bei Pipes mit Rechenzielen müssen Sie die Pipe synchron aufrufen, damit EventBridge Pipes alle Laufzeitfehler erkennt, die von der Rechenlogik des Kunden ausgelöst werden, und es bei solchen Fehlern erneut versuchen kann. Pipes können bei Fehlern, die durch die Logik eines Step-Functions-Standard-Workflows ausgelöst werden, nicht wiederholen, da dieses Ziel asynchron aufgerufen werden muss.

Für Amazon SQS - und Stream-Quellen wie Kinesis und DynamoDB unterstützt EventBridge Pipes die teilweise Batch-Fehlerbehandlung von Zielausfällen. Weitere Informationen finden Sie unter Teilweiser Stapelfehler.

Verhalten von Pipes DLQ

Eine Pipe erbt das Verhalten von queue (DLQ) ohne Buchstaben von der Quelle:

  • Wenn die SQS Amazon-Quellwarteschlange eine konfiguriert hatDLQ, werden Nachrichten nach der angegebenen Anzahl von Versuchen automatisch dorthin zugestellt.

  • Für Streamquellen wie DynamoDB- und Kinesis-Streams können Sie a DLQ für die Pipe- und Route-Ereignisse konfigurieren. DynamoDB- und Kinesis-Stream-Quellen unterstützen SQS Amazon-Warteschlangen und SNS Amazon-Themen als Ziele. DLQ

Wenn Sie a DeadLetterConfig für eine Pipe mit einer Kinesis- oder DynamoDB-Quelle angeben, stellen Sie sicher, dass die MaximumRecordAgeInSeconds Eigenschaft der Pipe kleiner als die MaximumRecordAge des Quellereignisses ist. MaximumRecordAgeInSecondssteuert, wann der Pipe-Poller das Ereignis aufgibt und es an die weiterleitet, DLQ und MaximumRecordAge steuert, wie lange die Nachricht im Quellstream sichtbar sein wird, bevor sie gelöscht wird. Legen Sie daher einen Wert festMaximumRecordAgeInSeconds, der kleiner als die Quelle ist, MaximumRecordAge sodass zwischen dem Zeitpunkt, an dem das Ereignis an die gesendet wirdDLQ, und dem Zeitpunkt, an dem es automatisch von der Quelle gelöscht wird, ausreichend Zeit verbleibt, damit Sie feststellen können, warum das Ereignis an die DLQ gesendet wurde.

Für Amazon MQ MQ-Quellen DLQ kann das direkt auf dem Message Broker konfiguriert werden.

EventBridge Pipes unterstützt First-In First-Out (FIFO) nicht DLQs für Stream-Quellen.

EventBridge Pipes unterstützt DLQ keine MSK Amazon-Stream- und selbstverwalteten Apache Kafka-Stream-Quellen.

Pipe-Fehlerzustände

Das Erstellen, Löschen und Aktualisieren von Pipes sind asynchrone Operationen, die zu einem Fehlerstatus führen können. Ebenso kann eine Pipe aufgrund von Fehlern automatisch deaktiviert werden. In allen Fällen stellt der Pipe-StateReason Informationen zur Verfügung, die bei der Behebung des Fehlers helfen.

Im Folgenden finden Sie ein Beispiel der möglichen StateReason-Werte:

  • Stream nicht gefunden Um die Bearbeitung fortzusetzen, löschen Sie bitte die Pipe und erstellen Sie eine neue.

  • Pipes verfügt nicht über die erforderlichen Berechtigungen zur Ausführung von Warteschlangenoperationen (sqs:ReceiveMessage, sqs: DeleteMessage und sqs:) GetQueueAttributes

  • Verbindungsfehler Sie VPC müssen in der Lage sein, eine Verbindung zu Pipes herzustellen. Sie können Zugriff gewähren, indem Sie ein NAT Gateway oder einen VPC Endpunkt für Datenleitungen konfigurieren. Informationen zur Einrichtung eines NAT Gateways oder VPC Endpoints für Pipes-Data finden Sie in der Dokumentation. AWS

  • MSKDem Cluster sind keine Sicherheitsgruppen zugeordnet

Eine Pipe kann mit einem aktualisierten StateReason automatisch gestoppt werden. Mögliche Gründe sind:

  • Ein Step-Functions-Standard-Workflow, der als Anreicherung konfiguriert wurde.

  • Ein Step-Functions-Standard-Workflow, der als Ziel konfiguriert ist und synchron aufgerufen werden soll.

Fehler bei der benutzerdefinierten Verschlüsselung

Wenn Sie eine Quelle so konfigurieren, dass sie einen AWS KMS benutzerdefinierten Verschlüsselungsschlüssel (CMK) anstelle eines AWS verwalteten AWS KMS Schlüssels verwendet, müssen Sie der Ausführungsrolle Ihrer Pipe ausdrücklich die Berechtigung zur Entschlüsselung erteilen. Nehmen Sie dazu die folgende zusätzliche Berechtigung in die benutzerdefinierte CMK Richtlinie auf:

{ "Sid": "Allow Pipes access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::01234567890:role/service-role/Amazon_EventBridge_Pipe_DDBStreamSourcePipe_12345678" }, "Action": "kms:Decrypt", "Resource": "*" }

Ersetzen Sie die obige Rolle durch die Ausführungsrolle Ihrer Pipe.

Stellen Sie als Nächstes sicher, dass Ihrer Pipe-Ausführungsrolle dieselben Berechtigungen für hinzugefügt KMS werden.

Dies gilt für alle Pipe-Quellen mit AWS KMS CMK, einschließlich:

  • Amazon DynamoDB Streams

  • Amazon Kinesis Data Streams

  • Amazon MQ

  • Amazon MSK

  • Amazon SQS