Amazon EventBridge とは - Amazon EventBridge

Amazon EventBridge とは

Amazon EventBridge は、アプリケーションをさまざまなソースからのデータに接続するために使用できるサーバーレスのイベントバスサービスです。EventBridge は、アプリケーション、SaaS (Software as a Service) アプリケーション、および AWS サービスからのリアルタイムデータのストリームを、AWS Lambda 関数、API デスティネーションを使用した HTTP 呼び出しエンドポイント、または他の AWS アカウントのイベントバスなどのターゲットに配信します。

注記

EventBridge は、以前は Amazon CloudWatch Events と呼ばれていました。CloudWatch Events で作成したデフォルトのイベントバスとルールも EventBridge コンソールに表示されます。EventBridge では同じ CloudWatch Events API を使用するため、CloudWatch Events API を使用するコードに変化はありません。EventBridge に追加された新機能は、CloudWatch Events には追加されません。

次のビデオで詳しく説明します。

仕組み

EventBridge は、環境の変化の指標であるイベントを受信し、イベントをターゲットにルーティングするルールを適用します。ルールは、イベントパターンと呼ばれるイベントの構造、またはスケジュールのいずれかに基づいて、イベントをターゲットにマッチングさせます。例えば、Amazon EC2 インスタンスが保留から実行に変わったときにイベントを Lambda 関数に送るルールを設定することができます。

EventBridge に届くすべてのイベントは、イベントバスに関連付けられます。ルールは単一のイベントバスに関連付けられているため、適用できるのは、そのイベントバスのイベントのみです。アカウントには、AWS サービスからイベントを受信するデフォルトのイベントバスがありますが、カスタムイベントバスを作成して、別のアカウントやリージョンとの間でイベントを送受信することができます。

AWS パートナーが AWS 顧客アカウントにイベントを送信したい場合、パートナーイベントソースを設定します。その場合、顧客がイベントバスをパートナーイベントソースに関連付ける必要があります。

EventBridge の API 送信先は、イベントデータを AWS サービスまたはリソースに送信するのと同じ方法で、ルールのターゲットとして設定できる HTTP エンドポイントです。API 送信先を使用すると、REST API コールを使用して、AWS サービス、統合された SaaS アプリケーション、および AWS 外のアプリケーションの間でイベントをルーティングできます。API 送信先を作成するときは、その送信先に使用する接続を指定します。各接続 には、API 送信先エンドポイントでの認証に使用する認証タイプとパラメータに関する詳細が含まれます。

EventBridge がターゲットに渡す前にイベントのテキストをカスタマイズするには、Input Transformer を使用して、ターゲットに渡す前に情報を編集します。

イベントをアーカイブして、後でそのアーカイブからイベントを再生することができます。アーカイブは、新しいイベントを待つのではなく、イベントを保存して利用できるので、アプリケーションのテストに便利です。

EventBridge を使用するサーバーレスアプリケーションを構築する際、イベントを生成しなくても、典型的なイベントのイベントパターンを知っていると便利です。イベントパターンはスキーマに記述されており、EventBridge 上の AWS サービスが生成するすべてのイベントで利用できます。AWS サービスからではないイベント用にカスタムスキーマを作成またはアップロードすることもできます。イベントのスキーマがあれば、一般的なプログラミング言語のコードバインディングをダウンロードできます。

AWS リソースを整理したり、EventBridge でそのコストを追跡したりする場合は、AWS リソースにカスタムラベル、つまりタグを割り当てることができます。タグベースのポリシーを使用すると、EventBridge 内でリソースができること、できないことを制御できます。

タグベースのポリシーに加えて、EventBridge は EventBridge へのアクセスを制御する アイデンティティ ベースおよびリソースベースのポリシーもサポートしています。アイデンティティ ベースのポリシーを使用して、グループ、ロール、またはユーザーのアクセス許可を制御します。リソースベースのポリシーを使用して、Lambda 関数や Amazon SNS トピックなど各リソースに特定のアクセス許可を付与します。