Amazon でルールを定義する際のベストプラクティス EventBridge - Amazon EventBridge

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

Amazon でルールを定義する際のベストプラクティス EventBridge

イベントバスのルールを作成する際に考慮すべきいくつかのベストプラクティスを以下に示します。

ルールごとに 1 つのターゲットを設定する

1 つのルールに最大 5 つのターゲットを指定できますが、ルールごとに 1 つのターゲットを指定する方がルールの管理が容易になります。複数のターゲットが同じイベントセットを受信する必要がある場合は、ルールを複製して同じイベントを異なるターゲットに配信することをお勧めします。このカプセル化により、ルールの管理が簡単になります。イベントターゲットのニーズが時間の経過とともにそれていく場合は、各ルールとそのイベントパターンを他のルールとは独立して更新できます。

ルールのアクセス許可を設定する

イベントを消費するアプリケーションコンポーネントまたはサービスが、独自のルールを管理できるようにすることができます。お客様が採用する一般的なアーキテクチャアプローチは、個別の AWS アカウントを使用してこれらのアプリケーションコンポーネントまたはサービスを分離することです。あるアカウントから別のアカウントへのイベントのフローを有効にするには、別のアカウントのイベントバスにイベントをルーティングするルールを 1 つのイベントバスに作成する必要があります。イベントを消費するチームまたはサービスが、独自のルールを管理できるようにすることができます。そのためには、リソースポリシーを通じてアカウントへの適切なアクセス許可を指定します。これはアカウントとリージョン間で機能します。

詳細については、「Amazon のイベントバスのアクセス許可 EventBridge」を参照してください。

リソースポリシーの例については、「 での Amazon を使用したマルチアカウント設計パターン EventBridge」を参照してください GitHub。

ルールのパフォーマンスを監視する

ルールを監視して、想定どおりに動作していることを確認します。

  • データポイントの欠落や異常がないか、TriggeredRules メトリクスを監視すると、重大な変更を加えたパブリッシャーの差異を検出しやすくなります。詳細については、「Amazon のモニタリング EventBridge」を参照してください。

  • 異常発生時のアラームや最大想定回数の設定も、ルールが新しいイベントと合致しているかどうかを検出するのに役立ちます。これは、 AWS サービスや SaaS パートナーを含むイベントパブリッシャーが、新しいユースケースや機能を導入する際に新しいイベントを導入した場合に発生する可能性があります。これらの新しいイベントが予期せぬものであり、ダウンストリームターゲットの処理速度よりも処理量が多くなる場合、イベントバックログにつながる可能性があります。

    このような予期しないイベントの処理は、不要な料金につながる可能性もあります。

    また、アカウントが 1 秒あたりの総ターゲット呼び出し数を超えると、ルールのスロットリングをトリガーすることもできます。 EventBridge は、スロットリングされたルールに一致するイベントを配信し、最大 24 時間、またはターゲットのカスタム再試行ポリシーで説明されているとおりに再試行します。ThrottledRules メトリクスを使用してスロットリングされたルールを検出し、警告することができます。

  • 低レイテンシーのユースケースでは、IngestionToInvocationStartLatency を使用してレイテンシーを監視することもでき、これにより、イベントバスの状態を確認できます。30 秒を超える長時間のレイテンシーは、サービスの中断またはルールのスロットリングを示している可能性があります。