Amazon を使用したSESイベントのモニタリング EventBridge - Amazon Simple Email Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon を使用したSESイベントのモニタリング EventBridge

EventBridge は、イベントを使用してアプリケーションコンポーネントを接続できるサーバーレスサービスです。これにより、スケーラブルなイベント駆動型アプリケーションを簡単に構築できます。イベント駆動型アーキテクチャとは、イベントの発信と応答によって連携する、ゆるやかに結合されたソフトウェアシステムを構築するスタイルです。イベントは、通常、リソースや環境の変更、またはその他の管理イベントを表す JSON形式のメッセージです。

特定のSES機能は、イベント送信先を作成するときに定義したイベントを生成して EventBridge デフォルトのイベントバスに送信します。イベントバスは、イベントを受信するルーターであり、ゼロ個以上の送信先やターゲットに配信します。イベントバスに関連付けたルールによって、受信したイベントが評価されます。各ルールは、イベントがルールのパターンに一致するかどうかをチェックします。イベントが一致した場合、 EventBridge は指定されたターゲットにイベントを送信します。

SES は、機能の状態変更またはステータス更新 EventBridge があると、 にイベントを送信します。 EventBridge ルールを使用して、定義したターゲットにイベントをルーティングできます。これらのイベントはベストエフォート方式で配信されるため、順不同で配信される場合があります。

SES イベント

以下のイベントは SES機能によって生成され、 のデフォルトのイベントバスに送信されます EventBridge。各イベントタイプの詳細データなどの詳細については、「」を参照してくださいSES イベントスキーマリファレンス

Virtual Deliverability Manager アドバイザーイベント
イベントタイプ 説明

アドバイザー推奨事項ステータスのオープン

Virtual Deliverability Manager アドバイザーで新しい推奨事項が開かれるたびに生成されるイベント。

アドバイザー推奨事項ステータスの解決

Virtual Deliverability Manager アドバイザーで推奨事項が解決されるたびに生成されるイベント。

SES E メール送信イベント
イベントタイプ 説明

E メールのバウンス

受信者のメールサーバーが E メールを完全に拒否したというハードバウンス。(ソフトバウンスは、一定期間再試行した後に が E メールを配信SESできない場合にのみ含まれます。)

クリックされた E メール

受信者が E メール内の 1 つ以上のリンクをクリックしました。

E メールの苦情の受信

E メールは受信者のメールサーバーに正常に配信されましたが、受信者はスパムとしてマークしました。

E メール配信済み

SES は、受信者のメールサーバーに E メールを正常に配信しました。

E メール配信の遅延

一時的な問題が発生したため、E メールを受信者のメールサーバーに配信できませんでした。配信の遅延は、受信者の受信トレイがいっぱいになった場合や、受信側の電子メールサーバーで一時的な問題が発生した場合などに発生します。

E メールが開かれました

受信者はメッセージを受信し、E メールクライアントで開いています。

E メールが拒否されました

SES は E メールを受け入れましたが、ウイルスが含まれていると判断し、受信者のメールサーバーに配信しようとしませんでした。

E メールのレンダリングに失敗しました

テンプレートレンダリングの問題のため、E メールが送信されませんでした。このイベントタイプは、テンプレートデータが見つからない場合や、テンプレートのパラメータとデータが一致しない場合に発生します。(このイベントタイプは、 SendTemplatedEmailまたは SendBulkTemplatedEmailAPIオペレーションを使用して E メールを送信する場合にのみ発生します。)

E メール送信

送信リクエストは成功しSES、受信者のメールサーバーにメッセージを配信しようとします。(アカウントレベルまたはグローバルサプレッションが使用されている場合、 SES は送信としてカウントしますが、配信は抑制されます)。

サブスクライブされた E メール

E メールは正常に配信されましたが、受信者は E メールヘッダーまたはフッターList-UnsubscribeUnsubscribeリンクをクリックしてサブスクリプション設定を更新しました。

SES イベントスキーマリファレンス

AWS サービスからのすべてのイベントには、イベントのソースである AWS サービス、イベントが生成された時刻、イベントが発生したアカウントとリージョンなど、イベントに関するメタデータを含む共通のフィールドセットがあります。これらの一般的なフィールドの定義については、「 ユーザーガイド」の「イベント構造のリファレンスEventBridge 」を参照してください。

さらに、各イベントには、その特定のイベントに固有のデータを含む detail フィールドがあります。以下のリファレンスでは、さまざまなSESイベントの詳細フィールドを定義します。

EventBridge を使用してSESイベントを選択および管理する場合、次の点に注意してください。

  • からのすべてのイベントの sourceフィールドSESは に設定されますaws.ses

  • detail-type フィールドはイベントタイプを指定します。のイベントタイプの表を参照してくださいSES イベント

  • detail フィールドには、その特定のイベントに固有のデータが含まれます。

    Virtual Deliverability Manager など、一部のイベントタイプでは、詳細フィールドは、固定値の有限セットから入力される、かなり単純なデータ文字列です。逆に、E メール送信イベントの詳細フィールドは、E メールが送信された時刻のタイムスタンプ、受信者アドレス、その他の多くの E メール属性など、静的値と動的値の両方を組み合わせた多くの詳細サブフィールドで構成されているため、より複雑です。

Virtual Deliverability Manager アドバイザーのステータススキーマ

次のスキーマリファレンスでは、Virtual Deliverability Manager アドバイザーのステータスイベントに固有のフィールドを定義します。

すべてのイベントスキーマ (、version、 など) に表示される一般的なフィールドの定義はidaccountEventBridge 「 ユーザーガイド」の「イベント構造リファレンス」を参照してください。source および detail-typeフィールドにはSES、イベントの SES固有の値が含まれているため、以下のリファレンスに含まれています。

source

イベントを発生させたサービスを識別します。SES イベントの場合、この値は ですaws.ses

detail-type

イベントのタイプを示します。

このフィールドの値は、 の Virtual Deliverability Manager アドバイザーイベントテーブルに一覧表示されますSES イベント

detail

イベントに関する情報を含むJSONオブジェクト。このフィールドの内容は、イベントを生成するサービスによって決まります。

このフィールドの値は次のとおりです。

  • DKIM verification is not enabled.

  • DKIM verification has failed.

  • DKIM signing key length is below 2048 bits.

  • DMARC configuration was not found.

  • DMARC configuration could not be parsed.

  • DKIM record was not found.

  • DKIM record is not aligned.

  • MAIL FROM record is not aligned.

  • SPF record was not found.

  • SPF record for Amazon SES was not found.

  • SPF all qualifier is missing.

  • An SPF configuration issue was found.

  • BIMI record not found or configured without default selector.

  • BIMI has malformed TXT record.

例: Virtual Deliverability Manager アドバイザーのステータスイベント

以下は、イベントタイプが Advisor Recommendation Status Open の場合の Virtual Deliverability Manager アドバイザーのステータスイベントの例です。この例の詳細イベント値は ですSPF record was not found.

{ "version": "0", "id": "abcd9999-ef33-0123-90ab-abcdef666666", "detail-type": "Advisor Recommendation Status Open", "source": "aws.ses", "account": "012345678901", "time": "2023-11-15T17:00:59Z", "region": "us-east-1", "resources": [ "arn:aws:ses:us-east-1:012345678901:identity/vdm.events-publishing.cajun.syster-games.example.com" ], "detail": { "version": "1.0.0", "data": "SPF record was not found." } }

SES E メール送信ステータススキーマ

次のスキーマリファレンスは、SESE メール送信ステータスイベントに固有のフィールドを定義します。

すべてのイベントスキーマ (、version、 など) に表示される一般的なフィールドの定義はidaccountEventBridge 「 ユーザーガイド」の「イベント構造リファレンス」に記載されています。source および detail-typeフィールドにはSES、イベントの SES固有の値が含まれているため、以下のリファレンスに含まれています。

source

イベントを発生させたサービスを識別します。SES イベントの場合、この値は ですaws.ses

detail-type

イベントのタイプを示します。

このフィールドの値は、 の SES E メール送信イベントテーブルに一覧表示されますSES イベント

detail

イベントに関する情報を含むJSONオブジェクト。このフィールドの内容は、イベントを生成するサービスによって決まります。

このフィールドに指定できる値はすべて、特定の時点で送信される一意の E メールごとに生成される静的値と動的値で構成されているため、ここにリストすることはできません。ただし、このフィールドに含めることができる型データについて、その例を示します。すべての E メール送信イベントタイプのデータ例については、 EventBridge 「」を参照してくださいでサンプルイベントを指定する EventBridge

E SESメール送信イベント に対して生成された詳細データの例Email Rendering Failed

..., "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } }
例: E メール送信ステータスイベント

以下は、イベントタイプ の完全な E メール送信ステータスイベントの例ですEmail Rendering Failed。この例の詳細イベント値は、特定の E メールの E メール送信イベントに基づく静的値と動的値の組み合わせです。

{ "version": "0", "id": "12a18625-3328-fafd-2809-a5e16004f112", "detail-type": "Email Rendering Failed", "source": "aws.ses", "account": "123456789012", "time": "2023-07-17T16:48:05Z", "region": "us-east-1", "resources": ["arn:aws:ses:us-east-1:123456789012:identity/example.com"], "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } } }

SES イベント EventBridge での の使用

デフォルトでは、 は EventBridge デフォルトのイベントバスにイベントSESを送信します。デフォルトのイベントバスにルールを作成して、 が 1 つ以上の指定されたターゲット EventBridge に送信する特定のイベントを識別できます。各ルールには、イベントバスに到着したイベントを照合するために が使用するイベントパターンが含まれています。 EventBridge イベントが特定のルールのイベントパターンと一致する場合、 はルールで指定されたターゲットにイベント EventBridge を送信します。

では EventBridge、通常、イベントパターンの定義は、新しいルールの作成や既存のルールの編集という大規模なプロセスの一部です。 EventBridge ルールの作成方法については、「 ユーザーガイド」の「イベントに対応する Amazon EventBridge ルールの作成EventBridge 」を参照してください。

のサンドボックス機能を使用すると EventBridge、ルールを最初に作成または編集することなく、イベントパターンをすばやく定義し、サンプルイベントを使用してパターンが目的のイベントと一致することを確認できます。サンドボックスの使用方法の詳細については、「 ユーザーガイド」の EventBridge 「サンドボックスを使用したイベントパターンのテストEventBridge 」を参照してください。

EventBridge サンドボックスでSESサンプルイベントを指定する

SES イベントのサンプルイベントを選択して、作成したイベントパターンのテストに使用できます。

EventBridge サンドボックスでSESサンプルイベントを指定するには
  1. で Amazon EventBridge コンソールを開きますhttps://console.aws.amazon.com/events/

  2. ナビゲーションペインで [デベロッパーリソース][サンドボックス] の順に選択し、[サンドボックス] ページで [イベントパターン] タブを選択します。

  3. イベントソース でAWS イベント または EventBridge パートナーイベント を選択します。

  4. [サンプルイベント] セクションの [サンプルイベントタイプ] で、[AWS イベント] を選択します。

  5. サンプルイベント で、 までスクロールしSES、目的のSESイベントを選択します。

    EventBridge は、イベントタイプのサンプルイベントとそのすべての詳細データを表示します。

    その後、このイベントを使用して、イベントパターンセクションで作成したイベントパターンをテストしたり、次のセクションで説明するパターンテスト用の独自のサンプルイベントを作成するためのベースとして使用したりできます。

イベントのSESイベントパターンの作成とテスト

前のセクションで説明したように、サンプルイベントを選択したら、イベントパターンを作成し、サンプルイベントを使用して、イベントが目的どおりに一致することを確認できます。

EventBridge サンドボックス内のイベントに一致するSESイベントパターンを作成してテストするには
  1. で Amazon EventBridge コンソールを開きますhttps://console.aws.amazon.com/events/

  2. ナビゲーションペインで [デベロッパーリソース][サンドボックス] の順に選択し、[サンドボックス] ページで [イベントパターン] タブを選択します。

  3. イベントソース で、AWS イベント または EventBridge パートナーイベント を選択し、前のセクションで説明したようにテストするサンプルイベントを選択します。

  4. 作成方法 までスクロールし、パターンフォーム を使用する を選択します。

  5. [イベントパターン] セクションの [イベントソース][AWS サービス] を選択します。

  6. AWS サービス で、 を選択しますSES

  7. イベントタイプ で、一致させるSESイベントタイプを選択します。

    EventBridge は、選択したイベントに一致する フィールドsourcedetail-typeフィールドで構成される最小SESイベントパターンを表示します。

    2 つの例では、最初のイベントパターンはすべてのAdvisor Recommendation Status Resolvedイベントに一致し、2 番目のEmail Bouncedイベントはすべてに一致します。

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"] }
    { "source": ["aws.ses"], "detail-type": ["Email Bounced"] }
  8. イベントパターンを変更するには、編集パターンを選択し、JSONエディタで変更を加えます。

    1 つ以上の詳細データフィールドの値と照合することもできます。これには、1 つのフィールド値に対して複数の可能な値を指定することも含まれます。

    次の例では、同じ詳細値を持つすべての Virtual Deliverability Manager アドバイザーイベントを見つけるDKIM record was not foundために、 data フィールド値が として指定された、生成された最小イベントパターンに詳細フィールドが追加されました。

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"], "detail": { "data": ["DKIM record was not found."] } }

    この例では、詳細サブフィールドが追加され、バウンスした 2024-08-05noreply@example.com から送信されたすべての E メールによって生成されたイベントが報告されました。(プレフィックスマッチングは、コンテンツフィルタリング の一部としてここで使用されています)。

    { "source": ["aws.ses"], "detail-type": ["Email Bounced"], "detail": { "mail": { "timestamp": [{ "prefix": "2024-08-05" }], "source": ["noreply@example.com"] } } }

    EventBridge ユーザーガイド」の「イベントパターン」を読むことが重要です。JSONエディタに入力するイベントパターン値は、配列と見なされる[...]ため、角括弧で囲む必要があることを説明します。高度なイベントパターンを構築する方法に関する詳細情報も提供されています。

  9. イベントパターンが上記のサンプルイベントペインで指定したサンプルイベントと一致するかどうかをテストするには、テストパターン を選択します。一致すると、JSONエディタの下部に「サンプルイベントがイベントパターンに一致しました」という緑色のバナーが表示されます。

  10. テストパターン を選択した後にエラーをトラブルシューティングするには:

    • JSON 関連するエラーがある場合、「イベントパターンが無効」などの理由がメッセージに表示されます。理由:「data」は、行: 5、列: 14」のオブジェクトまたは配列である必要があります。この問題を修正するには、5 行目の値を角括弧 で囲みます[...]

    • サンプルイベント の値とイベントパターン の値に不一致がある場合、メッセージは「サンプルイベントがイベントパターンと一致しませんでした」になります。つまり、テストする 1 つ以上の値が、サンプルイベントジェネレーターによって生成されたサンプル値とは異なることを意味します。これを修正するには、残りのステップに進みます。

  11. イベントパターン を正常にテストするためにサンプルイベントのサンプル値を変更するには、サンプルイベントペインで、JSONエディタでコピーを選択します。

  12. エディタの上にある「サンプルイベントタイプ」に「自分のイベントタイプ」を入力するの横にあるラジオボタンを選択します。

  13. サンプルイベントをJSONエディタに貼り付け、イベントパターンで使用しているフィールドについては、イベントパターンで指定した値と一致するように、その同じフィールドの値を置き換えます。

  14. イベントパターンペインまでスクロールし、テストパターンを再度選択します。すべての値が正しく入力され、一致すると、JSONエディタの下部に「サンプルイベントがイベントパターンに一致しました」という緑色のバナーが表示されます。

その他の EventBridge リソース

を使用してイベントを EventBridge 処理および管理する方法の詳細については、Amazon EventBridge ユーザーガイドの以下のトピックを参照してください。

  • イベントバスの仕組みの詳細については、「Amazon EventBridge イベントバス」を参照してください。

  • イベント構造については、イベントのページを参照してください。

  • ルールとイベントを照合するときに EventBridge が使用するイベントパターンの構築については、「イベントパターン」を参照してください。

  • どのイベントが EventBridge 処理されるかを指定するルールの作成については、ルール」を参照してください。

  • 一致するイベント EventBridge を送信するサービスや他の送信先を指定する方法については、「ターゲット」を参照してください。