EventBridgeとは、『イベント』を通じて様々なアプリケーション同士を簡単に接続できるようにするサービスです。Service:サーズ)同士を接続し、イベント駆動型アプリケーションを簡単に構築・管理する環境を提供します。EventBridgeのサービスの特徴や、活用パターンについて記載していきます。システムの疎結合化とは?システムの疎結合化とは、システムを安定稼働させるために、システム同士のつながりを弱くする設計のことです。現在、様々なITシステムは、オープン系といい、数台~数十台のサーバが連携しあって1つのシステムを構築しています。それぞれのサーバの、様々なプログラムが複雑に連携することで、大規模なシステムの処理が成り立っています。そのような場合、1つのプログラムに問題が発生すると他のプログラムの処理も止まってしまい、場合によってはシステム全体が停止してしまう、ということも珍しくありません。そのようなことを防ぐために、システムの複雑さを切り離す必要があります。このように、システムの複雑さを切り離すことを、疎結合化といいます。イベント駆動型アーキテクチャとは?イベント駆動型アーキテクチャとは、アプリケーションやシステムを構成するプログラム同士が、『イベント』を介してデータのやり取りを行うような、アプリケーション設計方法のことです。イベント駆動型アーキテクチャがなぜ優れているのか、どのようなことを実現できるのかを、記載してきます。そもそも、『イベント』とは?イベントは、システムのハードウェアまたはソフトウェアの状態における何らかの意味のある出来事または変化です。バッチ処理の完了といった、あるプロセスの完了や、CPUの使用率の上昇といったリソースの変化が該当します。我々が普段コンピュータを操作する際に行っている、マウスのクリックやコマンドの入力といったものも、イベントに該当します。イベント駆動型アーキテクチャのパターンは?Pub/Sub型Pub/Subとは、Publish/Subscribeを略したもので、あるシステムで発生したイベントを別のシステムに”メッセージ”として伝える仕組みを利用したシステム設計です。メッセージを発出する側をPublisher、メッセージを受け取る側をSubscriberといいます。Publisher側のメッセージ発出を検知して、メッセージの受け取り側の処理がスタートします。イベントストリーミング型イベントをログに書き込み、ストレージなどに保存し続けながらほかのシステムと連携する形式です。他のシステムはストレージへの書き込みを検知したり、ストレージの中に特定のメッセージが書き込まれるのを検知して、処理がスタートします。イベント駆動型アーキテクチャのメリットとは?イベント駆動型アーキテクチャのメリットは、『柔軟なシステム構成が可能』『負荷や障害影響を分離できる』にあると考えられます。具体的にどういうことか見ていきましょう。柔軟なシステム構成が可能システム間ではイベントのやり取りを行っているだけなので、イベントを発出する仕組みと、イベントを刈り取る仕組みを構築するだけで、つなぐシステムを増やしたり減らしたりすることが可能です。構成だけでなく、テスト時の工数も減少します。システムAとシステムBが密結合しているシステムであれば、Aの担当者とBの担当者が同時に検証を進める必要がありますが、イベント駆動型アーキテクチャを採用した疎結合システムであれば、システムAから発せられたイベントをシステムBがうまく刈り取ることができるか、という試験項目のみとなり、システムBの担当のみ、検証を進めればいいことになります。負荷や障害影響を分離できる先述のように、あるシステムが障害等で停止した場合、他のシステムもタイムアウトなどで停止する、といったことを防ぐことができます。Eventsというサービスが利用可能でした。Events発展版のサービスです。EventBridgeのほうが、機能が増えており、ユーザーとしては使いやすくなっています。EventBridgeにバージョンアップするにあたって、どのような機能が増えているのでしょうか。具体的に見ていきましょう。Eventsは、AWS内のイベントや、cron機能による定時イベントのみ、取り扱うことが可能でした。EventBrideは、AWS以外のSaaS製品で発生したイベントについても、取り扱うことが可能になりました。AWSと連携が可能なシステム監視サービスである、DatadogやNewRelicといたサードパーティの製品とも連携が可能になっています。イベントの集約が可能になったリージョン間のイベント転送がサポートされたことで、同一アカウント内におけるリージョンをまたいだイベントの集約も可能です。イベント駆動アーキテクチャを採用したシステムのイベント統合管理も可能になっており、利便性が大きく増しています。Eventsが廃止されることはないということが明言されています。Eventsを利用していたからと言って、乗り換えをする必要はなく、そのままEventBridgeを利用することができます。EventBridgeは、システムとシステムをつなぐような要件がある場合、利用に適しています。AWSのサービスだけでなくサードパーティの製品とも連携できるため、ユースケースは無限に考えられますが、以下に代表的かつ具体的なユースケースについて記載していきます。SNSを経由して、Slackやメールに通知を行う、といったことが可能です。Sagemakerなどの機械学習エンジンを用いて、顧客の来場者数の予測や購買指定している商品の分析を行い、関係者に通知したり、ダッシュボードに表示したり、といったことが可能です。顧客の来場者数に閾値を設け、閾値を下回ると”イベント”として他システムに連携し、顧客に購買を促すようなメールやクーポンを送付する、といったことも可能です。EventBridgeに集約します。万が一、セキュリティイベントが発生したらLambda等を通じて通知を行う、といったことが可能になります。EventBridgeに集約しているため、イベントの詳細な状況把握や、分析といったことも可能になります。EventBridgeにイベントを送信し、その後にStepfunctionなどを実行することで、新入社員にメールをに送付する、他の社内システムの登録作業をLambdaで行う、上長に承認メールを送付する、といったルーティン化されたワークフローの実行が可能です。Eventsを拡張した、イベント駆動アーキテクチャを実現するためのサービスです。EventBridgeを利用することで、システムの疎結合化が実現でき、システムの拡張性の確保や、障害の分離による安定稼働を実現することが可能です。多様なサービスと連携できるようになっており、イベントの集約による運用負荷の軽減も可能です。モダンでクラウドネイティブなシステム開発を進めるためにも、是非利用を検討してみて下さい。AWSをご利用いただくには、直接契約するより断然お得。テレワーク支援...を幅広くご提供しています。(1)え、私のAWS利用料高すぎ・・!?AWS利用料を誰でも5%お得にご利用できます。大小問わずお気軽にご相談ください。AWSを熟知した弊社スタッフがお応えします。Corporation無料相談会お問い合わせ。