スキップしてコンテンツを表示

EventBridge の再試行設定を変更し、失敗した呼び出しに対して DLQ を使用する方法を教えてください。

所要時間1分
0

Amazon EventBridge の再試行ポリシー設定を変更し、失敗した呼び出しに対するデッドレターキュー (DLQ) を設定したいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

EventBridge が再試行を行う期間の長さを変更する

EventBridge は、エクスポネンシャルバックオフとジッター、あるいはランダムな遅延を使用してイベントを 24 時間、最大 185 回再送信します。呼び出しの失敗を防ぐには、ターゲットの再試行ポリシー設定で EventBridge が再試行する期間と回数を変更します。

注: EventBridge は、5## または 4## の HTTP ステータスコードが返された場合、最大 24 時間再試行します。

EventBridge コンソールを使用してターゲットの再試行ポリシーを設定するには、次の手順を実行します。

  1. EventBridge コンソールを開きます。
  2. 該当する EventBridge ルールを選択します。
  3. [ターゲット] タブを選択し、[編集] を選択します。
  4. [追加設定] タブを展開します。
  5. [再試行回数] にカスタム値を入力します。

注: 複数のターゲットを持つイベントルールでは、ターゲットごとに個別に再試行ポリシーを設定する必要があります。

AWS CLI の put-targets コマンドまたは RetryPolicy API を実行しても再試行ポリシーを設定できます。

EventBridge は、イベントエラーを複数の方法で処理します。例えば、ターゲットに必要なアクセス許可がない場合や、ターゲットが存在しない場合、EventBridge はイベントを配信しない場合があります。EventBridge がイベントを再送信しようとしない場合もあります。代わりに、EventBridge はそのイベントをドロップしたり、設定した DLQ に送信したりすることがあります。

EventBridge DLQ を設定する

配信障害によるイベントの損失を防ぐには、EventBridge DLQ を設定します。DLQ は失敗したすべてのイベントを受信し、後で処理します。

注: ターゲットの DLQ を設定する前に、Amazon Simple Queue Service (Amazon SQS) キューを作成する必要があります。Amazon SQS キューポリシーで、EventBridge ルールがキューを呼び出すのに必要なアクセス許可を追加します。Amazon SQS キューを暗号化する場合は、AWS Key Management Service (AWS KMS) キーポリシーにアクセス許可 Decrypt および GenerateDataKey を追加します。

DLQ を設定するには、次の手順を実行します。

  1. EventBridge コンソールを開きます。
  2. 該当する EventBridge ルールを選択します。
  3. [ターゲット] タブを選択し、[編集] を選択します。
  4. [追加設定] タブを展開します。
  5. [デッドレターキュー] セクションで、DLQ SQS が同じ AWS アカウントにあるか、別のアカウントにあるかに応じてオプションを選択します。

AWS CLI の put-targets コマンドを実行しても DLQ を設定できます。DeadLetterConfig パラメータには、SQS キューの ARN を使用します。

DLQ からエラーの詳細を取得する

イベントルールによりメッセージが DLQ に送信されたことを確認するには、InvocationSentToDLQ メトリクスを確認します。

メッセージがある場合は、次の手順を実行します。

  1. SQS コンソールを開きます。
  2. イベントルールの DLQ として使用するキューを選択します。
  3. [メッセージの送受信] を選択し、[メッセージのポーリング] を選択します。
  4. [メッセージ] セクションで該当するメッセージを開きます。
  5. [属性] を選択し、EventBridge がターゲットにメッセージを配信できなかった理由を特定します。
    注: [本文] タブのデータは、イベント配信が失敗しない場合に EventBridge がターゲットに送信するペイロードです。

関連情報

Monitoring Amazon EventBridge (Amazon EventBridge を監視する)

EventBridge metrics (EventBridge のメトリクス)

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ