Azure Event Hubs は、フル マネージドのリアルタイム データ ストリーミング プラットフォームであり、待機時間が短く、1 秒あたり何百万ものイベントを取り込むことができます。 Event Hubs では、Apache Kafka の互換性が組み込まれたネイティブ Azure サービスとして、コードの変更やクラスター管理のオーバーヘッドなしで既存の Kafka ワークロードを実行できます。
組織は Event Hubs を使用して、高スループットで信頼性の高いイベント インジェストを必要とする IoT テレメトリ、アプリケーション ログ、クリックストリーム分析、財務トランザクション処理などのシナリオ用のデータ パイプラインを構築します。 Event Hubs は Azure Analytics サービスと統合され、リアルタイムの分析情報と長期的なデータ保持が可能になります。
概略
| 特性 | 詳細 |
|---|---|
| サービスの種類 | フル マネージド イベント ストリーミング プラットフォーム (PaaS) |
| サポートされているプロトコル | Apache Kafka、AMQP 1.0、HTTPS |
| データ保有期間 | 最大 7 日間 (標準)、90 日 (Premium/専用) |
| 価格レベル | Standard、Premium、Dedicated |
| SLA | 最大 99.99% |
Azure Event Hubs を選択する理由
- ゼロ インフラストラクチャ管理: 自動修正、スケーリング、監視を備えたフル マネージド サービス。 プロビジョニングまたは保守するクラスターがありません。
- エンタープライズ レベルの信頼性: 最大 99.99% SLA(可用性ゾーンのサポートと、ビジネス継続性のための geo レプリケーション )。
- 複雑さを伴わない Kafka: コスト効率を向上させ、運用上のオーバーヘッドなしで Kafka ワークロードを実行します。 個別の Kafka クラスターは必要ありません。
- シームレスな Azure 統合: Stream Analytics、 Azure Functions、 Data Explorer、およびその他の多くの Azure サービスとのネイティブ統合。
- 柔軟な価格: 従量課金ベースまたは専用の容量モデルから選択できます。 必要に応じてメガバイトからテラバイトにスケーリングします。
Event Hubs を使用するタイミング
Event Hubs は、高スループットで待機時間の短いイベント ストリーミング シナリオ向けに設計されています。 次のことを行う必要がある場合は、Event Hubs を検討してください。
| Scenario | Description |
|---|---|
| リアルタイム分析 | ストリーミング データを処理して、すぐに分析情報、ダッシュボード、アラートを生成する |
| IoT テレメトリ取り込み | 何百万もの IoT センサー、車両、または産業機器からデバイス データを収集する |
| アプリケーションのログ記録 | 監視とトラブルシューティングのために分散アプリケーションからのログを一元化する |
| Clickstream 分析 | Web アプリケーションとモバイル アプリケーション全体のユーザー動作パターンを分析する |
| 財務トランザクション | 大量の取引データ、不正検出シグナル、支払いイベントを処理する |
| イベント ソーシング | 永続的な順序付けされたイベント ストレージを使用してイベント ドリブン アーキテクチャを実装する |
Azure メッセージング サービスの選択
Azure では、複数のメッセージング サービスが提供されています。 適切なサービスを選択するには、次のガイダンスを使用します。
| サービス | 最適な用途 | メッセージ パターン |
|---|---|---|
| Event Hubs | 高スループットのイベント ストリーミング、テレメトリ、ログ集計 | 多くのプロデューサー、複数のコンシューマー、時間順イベント |
| Service Bus | トランザクション、セッション、デッドレタリングを含むエンタープライズメッセージング | 配信が保証されたポイントツーポイントまたは pub/sub |
| Event Grid | 事後対応型のイベント ドリブン アーキテクチャ、サーバーレス トリガー | フィルター処理を使用したプッシュベースのイベント ルーティング |
詳細なガイダンスについては、 Azure メッセージング サービスの選択に関するページを参照してください。
しくみ
Event Hubs は、時間ベースのリテンション期間を備えた統合ストリーミング プラットフォームを提供し、イベント プロデューサーをコンシューマーから切り離します。 どちらも、複数のプロトコルを介して大規模なデータ インジェストと処理を実行できます。
コア コンポーネント
| コンポーネント | Description |
|---|---|
| プロデューサー アプリケーション | Event Hubs SDK、Kafka プロデューサー クライアント、または HTTPS を使用して Event Hubs にイベントを送信するアプリケーション |
| 名前空間 | 1 つ以上のイベント ハブの管理コンテナー。 名前空間レベルで ストリーミング容量、 ネットワーク セキュリティ、 geo ディザスター リカバリー を処理します |
| イベント ハブ/Kafka トピック | 追加のみでイベントを整理する分散ログ。 並列処理用の 1 つ以上の パーティション が含まれています |
| Partitions | スループットのスケーリングに使用されるイベントの順序付きシーケンス。 パーティションを高速道路上のレーンと考え、より多くのパーティションを使用してスループットを高める |
| コンシューマー アプリケーション | 各パーティション内の位置 (オフセット) を追跡してイベントを読み取るアプリケーション。 Event Hubs SDK または Kafka コンシューマー クライアントを使用できます |
| コンシューマー グループ | 複数のコンシューマー アプリケーションが同じストリームを個別に読み取り、それぞれが独自の位置を維持できるようにするイベント ハブの論理ビュー |
イベント フロー
- 取り込み: プロデューサー アプリケーションはイベント ハブにイベントを送信します。 イベントは、パーティション キーまたはラウンド ロビン分散に基づいてパーティションに割り当てられます。
- ストア: イベントは、構成可能なリテンション期間 (階層に応じて 1 ~ 90 日) で永続的に保存されます。 キャプチャ機能では、イベントを長期ストレージに書き込むこともできます。
- プロセス: コンシューマー アプリケーションは、コンシューマー グループを使用してパーティションからイベントを読み取ります。 各コンシューマーは、チェックポイント処理を使用してオフセットを追跡し、信頼性の高い処理 を 行います。
詳細な説明については、 Event Hubs の機能に関する記事を参照してください。
主な機能
コア プラットフォーム機能
Apache Kafka の互換性
Event Hubs は、Apache Kafka、AMQP 1.0、HTTPS をネイティブにサポートするマルチプロトコル イベント ストリーミング エンジンです。 コードの変更、クラスター管理、またはサードパーティの Kafka サービスなしで、Kafka ワークロードを Event Hubs に取り込むことができます。
Event Hubs はクラウドネイティブのブローカー エンジンとして構築されており、自己管理型 Kafka クラスターよりもパフォーマンスとコスト効率が向上します。 詳細については、「Apache Kafka 用の Azure Event Hubs」を参照してください。
柔軟なスケーリング
データ ストリームをメガバイト単位で開始し、ギガバイトまたはテラバイトに拡張します。 自動インフレ機能は、需要に合わせてスループット ユニットを自動的にスケーリングします。 予測可能な大量のワークロードの場合、 専用クラスター は予約容量を提供します。
大きなメッセージのサポート (プレビュー)
ほとんどのストリーミング シナリオには 1 MB 未満の軽量メッセージが含まれますが、Event Hubs は 専用クラスターを使用して最大 20 MB のイベントに対応します。 詳細については、「 大きなメッセージを送受信する」を参照してください。
データ管理
スキーマ レジストリ
Azure Schema Registry には、イベント ストリーミング アプリケーションのスキーマを管理するための一元化されたリポジトリが用意されています。 これにより、プロデューサーとコンシューマー間でのデータの互換性と一貫性が確保され、スキーマの進化がサポートされ、Avro および JSON スキーマを使用して Kafka アプリケーションと統合されます。
Capture
長期保有またはバッチ分析のために、ストリーミング データを Azure Blob Storage または Azure Data Lake Storage にほぼリアルタイムでキャプチャします。 キャプチャは、リアルタイム処理に使用されるのと同じストリームで自動的に実行されます。
Azure の統合
Stream Analytics の統合
Event Hubs は、リアルタイムストリーム処理のために Azure Stream Analytics と統合されます。 組み込みのコードなしのエディターとドラッグ アンド ドロップ機能を使用するか、複雑な変換に対して SQL ベースのクエリを記述します。
詳細については、「 Stream Analytics を使用して Event Hubs データを処理する」を参照してください。
Azure Data Explorer の統合
Azure Data Explorer は 、大量のストリーミング データに対して高パフォーマンスの分析を提供します。 Event Hubs をデータ エクスプローラーと統合して、ほぼリアルタイムの分析と探索を行います。
詳細については、「 Event Hubs から Azure Data Explorer にデータを取り込む」を参照してください。
Azure Functions とサーバーレス
Event Hubs は、サーバーレス イベント処理のために Azure Functions と統合されます。 エコシステムでは、 Azure Spring Apps、Kafka Connectors、Apache Spark、Apache Flink もサポートされています。
ローカル開発
Event Hubs エミュレーターは、クラウドの依存関係から解放され、分離してサービスに対してコードを開発およびテストするためのローカル開発エクスペリエンスを提供します。
クライアント ライブラリ
Event Hubs には、.NET、Java、Python、JavaScript、Go 用の クライアント ライブラリ が用意されています。 これらの SDK は AMQP プロトコルと Kafka プロトコルの両方をサポートしているため、アプリケーションに最適な方法を選択できます。
モニタリング
Azure Monitor メトリック、診断ログ、アラートを使用して Event Hubs を監視します。 スループット、待機時間、エラー、コンシューマーのラグを追跡して、最適なパフォーマンスを確保します。
セキュリティとコンプライアンス
Event Hubs には、エンタープライズ レベルのセキュリティ機能が用意されています。
| 特徴 | Description |
|---|---|
| 認証 | Microsoft Entra ID におけるロールベースのアクセス制御 (RBAC)、共有アクセス署名(SAS)、またはマネージドID |
| ネットワークのセキュリティ | プライベート接続、VNet サービス エンドポイント、および IP ファイアウォール規則用の Private Link |
| 暗号化 | Microsoft が管理するキーまたは カスタマー マネージド キーを使用して保存時に暗号化されたデータ、転送中のデータ用の TLS 1.2 |
詳細については、「 Event Hubs のセキュリティ ベースライン」を参照してください。
高可用性と災害復旧
Event Hubs では、複数の信頼性レイヤーが提供されます。
- 可用性ゾーン: ゾーン冗長デプロイでは 、リージョン内のゾーン間でレプリカが分散されます (Premium レベルと専用レベル)
- geo ディザスター リカバリー: geo-DR を使用すると、メタデータ同期を使用してセカンダリ リージョンにフェールオーバーできます
- SLA の保証: レベルと構成に応じて最大 99.99% 可用性
価格レベル
現在の価格と詳細な機能の比較については、 Event Hubs の価格 と クォータと制限に関する記事を参照してください。