イベント駆動型アーキテクチャでシステム連携をもっと楽に!ユナイテッド航空の事例から学ぶ

イベント駆動型アーキテクチャでシステム連携をもっと楽に!ユナイテッド航空の事例から学ぶ

こんにちは! 今回は、イベント駆動型アーキテクチャをテーマに、システム連携をより効率的に、そしてセキュアに行う方法について解説していきます。
特に、大規模なシステムを運用している企業にとって、イベント駆動型アーキテクチャは魅力的な選択肢となりつつあります。
本記事では、ユナイテッド航空の事例を交えながら、最新のイベント駆動型アーキテクチャの利点や考慮すべきポイントを、現役エンジニアが解説するような親しみやすい形で紹介していきます。

なぜイベント駆動型アーキテクチャが注目されているのか?

昨今、ビジネス環境はめまぐるしく変化し、企業は迅速かつ柔軟なシステム開発が求められています。
従来のモノリシックなアーキテクチャでは、システム全体が密結合しているため、一部の変更が全体に影響を及ぼしやすく、開発スピードや柔軟性に課題がありました。

そこで注目されているのが、イベント駆動型アーキテクチャです。
イベント駆動型アーキテクチャでは、システムを独立性の高い小さなコンポーネント(マイクロサービス)に分割し、イベントを介して非同期に連携させます。
このアプローチにより、開発スピードの向上、柔軟性の向上、障害の影響範囲の縮小といったメリットを実現できます。

イベント駆動型アーキテクチャの基本

イベント駆動型アーキテクチャは、イベントプロデューサーイベントブローカーイベントコンシューマーの3つの主要なコンポーネントで構成されます。

コンポーネント説明
イベントプロデューサーイベントを生成してイベントブローカーに送信する
イベントブローカーイベントを処理・保存・ルーティングする
イベントコンシューマーイベントブローカーからイベントを受け取り、処理を実行する

例えば、ECサイトで注文が発生した場合、注文システムがイベントプロデューサーとなり、「注文作成」イベントをイベントブローカーに送信します。
在庫管理システムや配送システムといったイベントコンシューマーは、このイベントを受け取り、それぞれの処理を実行します。

ユナイテッド航空のメインフレームモダナイゼーション

ユナイテッド航空は、大規模なメインフレームシステムからイベント駆動型システムへの移行を進めています。
その背景には、メインフレームシステムの複雑化や運用コストの増加、そしてデジタル化への対応といった課題がありました。

ユナイテッド航空では、Amazon MSK(Managed Streaming for Apache Kafka)をイベントブローカーとして採用しています。
MSKは、オープンソースのメッセージキューシステムであるApache Kafkaをマネージドサービスとして提供するもので、高いスケーラビリティと可用性を備えています。

ガバナンスとレジリエンス

ユナイテッド航空は、MSKクラスタへのアクセス制御やデータ保護、そして障害発生時のフェイルオーバーといったガバナンスとレジリエンスの確保にも注力しています。

対策説明
マイクロアカウントアーキテクチャ各アプリケーションチームに独立したAWSアカウントを提供することで、セキュリティ強化とブラストラディウスの抑制を実現
MSKクラスタポリシー特定のVPCからのみMSKクラスタへの接続を許可することで、アクセス制御を強化
MSKレプリケータプライベートリンク経由で別のリージョンにイベントを複製し、リージョン障害発生時のRTOを短縮
サーバレスによるフェイルオーバー自動化AWS LambdaやStep Functionsなどのサーバレスサービスを活用し、フェイルオーバープロセスを自動化

    イベント駆動型アーキテクチャにおけるデータ保護

    イベント駆動型アーキテクチャでは、複数のコンポーネント間でデータがやり取りされるため、データ保護の重要性が高まります。
    ユナイテッド航空は、Amazon KMS(Key Management Service)を活用し、以下のような対策を実施しています。

    対策説明
    HTTPS通信コンポーネント間の通信をTLS 1.2以上で暗号化
    サーバーサイド暗号化Amazon SQSやAmazon SNSなどのサービスで、保存データを自動的に暗号化
    クライアントサイド暗号化機密性の高いフィールドをクライアントサイドで暗号化し、必要なコンポーネントのみが復号できるように設定

      まとめ

      今回は、イベント駆動型アーキテクチャの概要、ユナイテッド航空のメインフレームモダナイゼーションの事例、そしてイベント駆動型アーキテクチャにおけるデータ保護について解説しました。

      イベント駆動型アーキテクチャは、現代のビジネス環境において、システム連携をより効率的かつセキュアに行うための強力な手段となります。
      AWSでは、Amazon MSKやAmazon KMSなど、イベント駆動型アーキテクチャを構築・運用するための豊富なサービスを提供しています。これらのサービスを活用することで、開発スピードと柔軟性を向上させながら、堅牢なシステムを構築することができます。

      AWSモダナイズ開発データ分析基盤構築とデータ活用支援、基幹業務システムのUI.UX刷新はお気軽にお問い合わせください。