Amazon Web Services ブログ
Amazon EventBridge – SaaS アプリケーション用のイベント駆動型での AWS の統合
AWS のお客様の多くが、SaaS (Software as a Service) アプリケーショ ンを大いに活用しています。たとえば、カスタマーサービスとサポート用チケットの管理には Zendesk を、インシデント対応の処理には PagerDuty を、そしてリアルタイムモニタリングには SignalFX といったものを利用しています。これらのアプリケーションはそれ自体極めてパワフルですが、顧客独自のシステム、データベース、ワークフローと統合した場合には、さらに優れた機能を発揮します。
新しくなった Amazon EventBridge
最近一般的となってきたこうしたユースケースをサポートするため、本日、Amazon EventBridge の発表に至りました。CloudWatch イベントや EventBridge の基盤をなす強力なイベント処理モデル上にアプリケーションを構築することで、お客様独自の AWS アプリケーションが SaaS アプリケーションと簡単に統合できるようになります。SaaS アプリケーションはどこでもホストでき、AWS のお客様それぞれに固有のイベントバスにイベントを発行すればよいだけです。非同期のイベントベースのモデルは、迅速、クリーン、かつ操作しやすいです。パブリッシャー (SaaS アプリケーション) とコンシューマー (AWS で実行しているコード) は完全に分離されており、共有通信プロトコル、ランタイム環境、あるいはプログラミング言語に依存しません。シンプルな Lambda 関数を使って SaaS アプリケーションから発生するイベントを処理したり、イベントを他のさまざまな AWS ターゲットにルーティングすることもできます。インシデントやチケットのデータを Amazon Redshift に保存したり、カスタマーサポートのクエリに関する機械学習モデルをトレーニングしたりすることも可能です。
CloudWatch イベントについてすでに分かっている (もしかしたらお気に入りとなるかもしれない) 情報はすべて引き続き適用されますが、1 つだけ重要な変更があります。AWS のサービス、PutEvents
への呼び出し、および他の認証済みアカウントからのイベントを受け入れる既存のデフォルトイベントバスだけでなく、サブスクリプションしている各パートナーアプリケーションもイベントソースを作成します。その後 AWS アカウントでイベントバスに関連付けることができます。任意のイベントバスを選択して、EventBridge ルールを作成し、着信イベントがルールと一致したときに呼び出すターゲットを選択できます。
本日からの利用開始の一環として、パートナープログラムも同時に開始されました。統合プロセスはシンプルで操作しやすく、たいていの場合開発期間は 1 週間以内で済みます。
Amazon EventBridge のすべて
以下の用語は、Amazon EventBridge の使い方を理解するために知っておく必要があるものです。
パートナー – SaaS アプリケーションを EventBridge と統合している組織。
顧客 – AWS を使用し、パートナーの SaaS アプリケーションをサブスクリプションしている組織。
パートナー名 – Amazon EventBridge パートナーを識別する一意の名前。
パートナーイベントバス – パートナーから AWS にイベントを配信するために使用するイベントバス。
EventBridge は AWS マネジメントコンソール、AWS コマンドラインインターフェイス (CLI)から、または AWS SDK を介してアクセスできます。パートナー用と顧客用に、コマンドと API は別々になっています。最も重要なものをいくつか紹介します。
パートナー – CreatePartnerEventSource
、ListPartnerEventSourceAccounts
、ListPartnerEventSources
、PutPartnerEvents
。
顧客 – ListEventSources
、ActivateEventSource
、CreateEventBus
、ListEventBuses
、PutRule
、PutTargets
。
パートナーおよび顧客用 Amazon EventBridge
前述したように、統合プロセスはシンプルかつ操作しやすくなっています。顧客に AWS アカウント番号の入力と AWS リージョンの選択を許可する必要があります。それらの情報を入手したら、目的のリージョンで CreatePartnerEventSource
を呼び出し、顧客にイベントソース名を通知して、接続の招待を受け入れることができることを伝え、イベントソースのステータスを ACTIVE に変更します。次に、顧客が関心のあるイベントが発生するたびに、PutPartnerEvents
を呼び出してイベントソースを参照します。
このプロセスは顧客側の操作と同じくらい簡単です。CreateEventBus
を呼び出してイベントソースに関連付けられたイベントバスを作成し、接続の招待を受け入れます。イベントバスにルールとターゲットを追加し、イベントを処理する Lambda 関数を準備します。イベントソースをイベントバスに関連付けると、ソースがアクティブになり、イベントフローが開始されます。DeActivateEventSource
と ActivateEventSource
を使ってフローを制御できます。
こちらがフロー全体図です (SequenceDiagram を使用して作成したものです)。
各パートナーは自由に、自分のアプリケーションに関連するイベントを選択し、各イベントに含まれるデータ要素を定義できます。
EventBridge の利用
EventBridge コンソールから、[Partner event sources] を選択し、興味のあるパートナーを見つけてクリックし、詳細を確認します。
各パートナーのページには、統合に関する追加情報が含まれています。情報を読んで、[Set up] をクリックし先に進みます。
このページでは、イベントソースを設定するための簡単な 3 ステップの手順を説明しています。
パートナーがイベントソースを作成した後、[Partner event sources] に戻ると、Zendesk イベントソースが保留中であることが分かります。
保留中のイベントソースを選択して詳細を確認し、[Associate with event bus] をクリックします。
他の AWS アカウント、自分の組織、または他の組織が、作成しようとしているイベントバスにあるイベントにアクセスできるようにする許可も行うことができます。オリジンを信頼し、許可を追加したことを確認したら、[Associate] をクリックします。
新しいイベントバスが利用可能になり、カスタムイベントバスと表示されます。
[Rules] をクリックしてイベントバスを選択すると、それに関連付けられているルール (今のところありません) が表示されます。次に、[Create rule] をクリックして最初のルールを作成します。
最初のルールの名前と説明を入力します。
その後、[Zendesk] を選択し ([Service name] として)、パターンを定義します。
次に、Lambda 関数をターゲットとして選択します。
他のターゲットから選択することもできます。
ルールを作成したら、Zendesk アカウント内で発生したアクティビティに応答して、有効になります。初期のイベントセットには、TicketCreated
、CommentCreated
、TagsChanged
、AgentAssignmentChanged
、GroupAssignmentChanged
、FollowersChanged
、EmailCCsChanged
、CustomFieldChanged
、および StatusChanged
が含まれます。各イベントには豊富なプロパティのセットが含まれています。詳細については、ドキュメントをご参照ください。
パートナーイベントソース
今回、パートナーイベントソースは 10 個から開始していますが、今後増える予定です。
- Datadog
- Zendesk
- PagerDuty
- Whispir
- Saviynt
- Segment
- SignalFx
- SugarCRM
- OneLogin
- Symantec
SaaS アプリケーションを使って統合する準備ができた場合は、「EventBridge Partner Integration」のページをご覧ください。
今すぐご利用いただけます
Amazon EventBridge がご利用可能となりました。aws パーティション内のすべてのパブリック AWS リージョンで、今すぐご利用を開始できます。中国の AWS リージョン、アジアパシフィック (大阪) のローカルリージョンへのサポートは現在準備中です。
料金はアカウントのイベントバスに発行されたイベント数に基づき、100 万イベントごとに 1 ドルが請求されます。AWS のサービスが発行したイベントには料金はかかりません。
PS – この記事からも分かるように、AWS イベントモデル全体に注目してしています。現在はまだ構想段階の興味深い機能を、順次発表していく予定です。今回の利用開始で、CloudWatch イベントはトップレベルのサービスを効果的にご利用いただけるようになりました。今後、発表していく新機能もご期待ください。