Amazon EventBridge とは - Amazon EventBridge

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

Amazon EventBridge とは

Amazon EventBridge は、アプリケーションをさまざまなソースからのデータと簡単に接続できるようにするサーバーレスイベントバスサービスです。EventBridge は、お客様独自のアプリケーションや SaaS (Software-as-a-Service) アプリケーション、AWS サービスからのリアルタイムデータのストリームを配信し、このデータを AWS Lambda などのターゲットにルーティングします。ルーティングルールを設定することで、データの送信先を決定し、すべてのデータソースにリアルタイムで対応するアプリケーションアーキテクチャを構築することができます。EventBridge は、疎結合で分散されたイベント駆動型アーキテクチャを構築できるようにします。

EventBridge は、これまで Amazon CloudWatch Events と呼ばれていました。パートナーやお客様独自のアプリケーションからイベントを受信できる新機能が含まれています。SaaS既存の CloudWatch イベント ユーザーは、新しい EventBridge コンソールと CloudWatch イベント コンソールで、既存のデフォルトのバス、ルール、イベントにアクセスできます。EventBridge は同じ CloudWatch イベント API を使用するため、既存の CloudWatch イベント API の使用状況に変更は生じません。

以下の AWS のリソースを、EventBridge のターゲットとして設定できます。

  • Lambda 関数

  • Amazon EC2 インスタンス

  • Amazon Kinesis Data Streams のストリーム

  • Amazon Kinesis Data Firehose の配信ストリーム

  • Amazon CloudWatch Logs のロググループ

  • Amazon ECS のタスク

  • Systems Manager Run Command

  • Systems Manager オートメーション

  • AWS Batch ジョブ

  • AWS Step Functions ステートマシン

  • AWS CodePipeline のパイプライン

  • AWS CodeBuild プロジェクト

  • Amazon Inspector 評価テンプレート

  • Amazon SNS のトピック

  • Amazon SQS キュー

  • Systems Manager OpsItems

  • 組み込みターゲット: EC2 CreateSnapshot API call, EC2 RebootInstances API call , EC2 StopInstances API call , およびEC2 TerminateInstances API call

  • 別の AWS アカウントのデフォルトのイベントバス

  • Amazon API GatewayREST API エンドポイント

  • Amazon Redshiftクラスター (Data API ステートメントの実行)

Concepts

EventBridge の使用を開始する前に、以下の概念を理解する必要があります。

  • イベント – イベントは環境の変更を示します。これは、AWS環境、SaaSパートナーサービスまたはアプリケーション、または独自のカスタムアプリケーションまたはサービスのいずれかです。たとえば、Amazon EC2 は EC2 インスタンスの状態が保留中から実行中に変わったときにイベントを生成し、Amazon EC2 Auto Scaling はインスタンスを起動または終了したときにイベントを生成します。AWS CloudTrail は、API コールを行ったときにイベントを発行します。定期的に生成される予定されたイベントをセットアップすることもできます。イベントを生成するサービスの一覧や、各サービスのサンプルイベントについては、「サポートされている AWS サービスからの EventBridge イベントの例」を参照してください。

  • ルール – ルールは、一致した受信イベントを検出し、処理のためにターゲットに振り分けます。1 つのルールで、複数のターゲットを振り分けることができ、それらのすべてが並列に処理されます。ルールは特定の順序で処理されません。これにより、組織のさまざまな部署が目的のイベントを検索して処理できます。ルールは、特定の部分のみ渡したり、定数で上書きしたりすることにより、ターゲットに送信される JSON をカスタマイズできます。

  • ターゲット – ターゲットはイベントを処理します。ターゲットには、Amazon EC2 インスタンス、Lambda 関数、Kinesis ストリーム、Amazon ECS タスク、Step Functions ステートマシン、Amazon SNS トピック、Amazon SQS キュー、および組み込みターゲットを含めることができます。ターゲットは、JSON 形式のイベントを受け取ります。

    ルールのターゲットは、ルールと同じリージョンに存在する必要があります。

  • イベントバス – イベントバスはイベントを受け取ります。ルールを作成するときは、そのルールを特定のイベントバスに関連付けます。ルールはそのイベントバスによって受信されたイベントにのみ一致します。

    アカウントには、AWS サービスからイベントを受け取るデフォルトのイベントバスが 1 つあります。カスタムイベントバスを作成して、カスタムアプリケーションからイベントを受信できます。パートナーイベントバスを作成して、SaaS パートナーアプリケーションからイベントを受信することもできます。

  • パートナーイベントソース – パートナーイベントソースは、AWS アカウントにイベントを送信するために AWS パートナーによって使用されます。これらのイベントを受信するには、お客様はイベントバスをパートナーイベントソースに関連付ける必要があります。

EventBridge では、次のサービスを使用できます。

  • AWS CloudTrail では、アカウントの EventBridge API 宛ての呼び出し (AWS マネジメントコンソール、AWS CLI、その他のサービスによって行われる呼び出しを含む) をモニタリングすることができます。CloudTrail ログ記録がオンの場合、EventBridge はログファイルを S3 バケットに書き込みます。リクエストを満たすためにアクションをいくつ実行する必要があったかに応じて、各ログファイルには 1 個以上のレコードが含まれる可能性があります。詳細については、Amazon EventBridge のログ記録とモニタリング を参照してください。

  • AWS CloudFormation では、AWS リソースのモデリングと設定を行うことができます。必要なすべての AWS リソースを説明するテンプレートを作成すれば、AWS CloudFormation がお客さまに代わって、これらのリソースのプロビジョニングや設定を処理します。EventBridge ルールは、AWS CloudFormation テンプレートで使用できます。詳細については、『AWS CloudFormation ユーザーガイド』の「AWS::Events::Rule」を参照してください。

  • AWS Config を使用すると、AWS リソースへの設定変更を記録できます。これには、リソース間の関係と設定の履歴が含まれるため、時間の経過と共に設定と関係がどのように変わるかを確認できます。AWS Configルールを作成して、リソースが組織のポリシーに準拠しているかどうか確認できます。詳細については、AWS Config開発者ガイドを参照してください。

  • AWS Identity and Access Management (IAM) は、ユーザーのために AWS リソースへのアクセスを安全にコントロールする際に役立ちます。IAM により、どのユーザーがお客様の AWS リソースを使用できるか (認証)、それらのユーザーがどのリソースをどのような方法で使用できるか (承認) を制御できます。詳細については、Amazon EventBridge の Identity and Access Management を参照してください。

  • Amazon Kinesis Data Streams により、高速かつほぼ継続的にデータの取り込みと集約を行うことができます。使用されるデータのタイプには、IT インフラストラクチャのログデータ、アプリケーションのログ、ソーシャルメディア、マーケットデータフィード、ウェブのクリックストリームデータなどがあります。データの取り込みと処理の応答時間はリアルタイムであるため、処理は一般的に軽量です。詳細については、Amazon Kinesis Data Streams 開発者ガイド を参照してください。

  • AWS Lambda により、新規情報に迅速に対応するアプリケーションを構築できます。アプリケーションコードを Lambda 関数としてアップロードします。Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行します。Lambda はコンピューティングリソースの管理をすべて担当します。これにはサーバーおよびオペレーティングシステムの管理、キャパシティーのプロビジョニングおよび自動スケーリング、コードおよびセキュリティパッチのデプロイ、モニタリングおよびログ記録などが含まれます。詳細については、AWS Lambda Developer Guide を参照してください。