Service Bus とオペレーショナル エクセレンス
Azure Service Bus を使用して、エンタープライズメッセージブローカーを完全に管理し、メッセージキューと発行/サブスクライブトピックを扱います。 このサービスは、使用側がメッセージを受信する準備ができるまで、ブローカー (キューなど) にメッセージを格納します。
次のような利点があります。
- 競合するワーカー間での負荷分散作業。
- サービスとアプリケーションの境界を越えてデータと制御を安全にルーティングおよび転送します。
- 高い信頼性を必要とするトランザクション作業の調整。
Service Bus の使用方法の詳細については、Azure Service Bus メッセージング 参照してください。 オンプレミス環境とクラウド環境間でアプリケーションとサービスを接続するメッセージングを設定する方法について説明します。
Service Bus がオペレーショナル エクセレンスを促進する方法を理解するには、次のトピックを参照してください。
次のセクションは、Azure Service Bus とオペレーショナル エクセレンスに固有のものです。
- 設計に関する考慮事項
- 構成チェックリスト
- 推奨される構成オプション
- ソース成果物
設計に関する考慮事項
Azure Service Bus アップタイム サービス レベル アグリーメント (SLA) を使用して信頼性を最大化します。 適切に構成されたアプリケーションは、メッセージを送受信したり、デプロイされたキューまたはトピックに対して他の操作を実行したりできます。 詳細については、Service Bus SLAを参照してください。
その他の設計上の考慮事項は次のとおりです。
Service Bus Premium および Standard メッセージングレベルのに関するドキュメントに加えて、次の機能は Premium Stock Keeping Unit (SKU) でのみ使用できます。
- 専用リソース。
- 仮想ネットワーク統合: Service Bus インスタンスに接続できるネットワークを制限します。 サブネットでサービス エンドポイントを有効にする必要があります。 仮想ネットワーク (Event Grid との統合など) を実装するときにサポートされない信頼された Microsoft サービスがあります。 詳細については、「特定の仮想ネットワークから Azure Service Bus 名前空間へのアクセスを許可する」を参照してください。
- プライベート エンドポイント。
- IP フィルタリング/ファイアウォール: 定義された
IPv4
アドレスまたはIPv4
アドレス範囲のみに接続を制限します。 - 可用性ゾーン: 追加コストなしで 1 つのリージョン内の可用性ゾーンにレプリカを分散することで、可用性が向上します。
- Event Grid の統合: 使用可能なイベントの種類。
- メッセージング ユニットをスケーリングします。
- geo ディザスター リカバリー (ペアの名前空間)。
- BYOK (Bring Your Own Key): Azure Service Bus は保存データを暗号化し、アクセス時に自動的に暗号化を解除しますが、顧客は独自のカスタマー マネージド キーを持ち込むこともできます。
Geo ディザスター リカバリーと可用性ゾーンで Service Bus をデプロイする場合、サービス レベル目標 (SLO) は大幅に増加しますが、アップタイム SLA は変更されません。
チェックリスト
オペレーショナル エクセレンスを念頭に置いて Azure Service Bus を構成しましたか?
- Service Bus メッセージング例外 が適切に処理されていることを確認します。
- 高度なメッセージ キュー プロトコル (AMQP) を使用して Service Bus に接続し、可能な場合はサービス エンドポイントまたはプライベート エンドポイントを使用します。
- 配信不能キュー (dlq) メッセージをアクティブに監視するプロセスを確立します。
- Service Bus メッセージング を使用したパフォーマンス向上のためののベスト プラクティスを確認します。
- Azure Storage キューと Azure Service Bus キューの違いを分析します。
構成に関する推奨事項
Azure Service Bus を構成するときの信頼性を最適化するには、次の推奨事項を検討してください。
勧告 | 説明 |
---|---|
AMQP プロトコルを使用して Service Bus に接続し、可能な場合はサービス エンドポイントまたはプライベート エンドポイントを使用します。 | この推奨事項は、Azure バックボーン上のトラフィックを保持します。 注: Microsoft.Azure.ServiceBus および Windows.Azure.ServiceBus 名前空間の既定の接続プロトコルは AMQP です。 |
配信不能キュー (dlq) メッセージをアクティブに監視するプロセスを確立します。 | 配信不能キューには、処理できないメッセージまたは受信者に配信できないメッセージが保持されます。 このキューを監視して問題の原因を調べ、必要な修正を適用し、メッセージを再送信することが重要です。 |
Azure Storage キューと Azure Service Bus キューの違いを分析します。 | Azure Service Bus メッセージング エンティティは、Azure Storage キューよりも高度で信頼性が高く、機能豊富であることがわかります。 信頼性の高いメッセージングの要件のない単純なキュー メッセージングが必要な場合は、Azure Storage キューがより適切なオプションである可能性があります。 |
ソース成果物
プライベート エンドポイントを使用していない Premium Service Bus インスタンスを識別するには、次のクエリを使用します。
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and isempty(properties.privateEndpointConnections)
Premium レベルにない Service Bus インスタンスを識別するには、次のクエリを使用します。
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier != 'Premium'