Service Bus とオペレーショナル エクセレンス
Azure Service Bus では、メッセージ キューとパブリッシュ/サブスクライブのトピックを使用して、エンタープライズ統合メッセージ ブローカー処理を全面的に管理します。 このサービスは、コンシューマーがメッセージを受信する準備ができるまで、メッセージを "ブローカー" ("キュー" など) に保管します。
利点は次のとおりです。
- 競合するワーカー間での作業の負荷分散。
- サービスやアプリケーションの境界を越えたデータと制御の安全なルーティングおよび転送。
- 高い信頼性を必要とするトランザクション作業の調整。
Service Bus の使い方について詳しくは、「Azure Service Bus Messaging」を参照してください。 オンプレミスとクラウド環境の間でアプリケーションやサービスを接続するメッセージングを設定する方法について説明します。
Service Bus によってオペレーショナル エクセレンスがどのように向上するかについては、次のトピックを参照してください。
以下のセクションでは、Azure Service Bus とオペレーショナル エクセレンスについて具体的に説明します。
- 設計上の考慮事項
- 構成チェックリスト
- 推奨される構成オプション
- ソース成果物
設計上の考慮事項
Azure Service Bus のアップタイム サービス レベル アグリーメント (SLA) によって信頼性を最大化します。 適切に構成されたアプリケーションで、メッセージを送受信できるほか、デプロイされたキューやトピックに対するその他の操作を実行できます。 詳細については、「Service Bus の SLA」を参照してください。
その他の設計上の考慮事項には次のものがあります。
「Service Bus の Premium および Standard メッセージング レベル」に記載された内容以外に、次の機能が Premium Stock Keeping Unit (SKU) だけで提供されます。
- 専用リソース。
- 仮想ネットワークの統合: Service Bus インスタンスに接続できるネットワークを制限します。 サブネット上でサービス エンドポイントを有効にする必要があります。 信頼できる Microsoft サービスが仮想ネットワークの実装時にサポートされない場合があります (たとえば Event Grid との統合)。 詳細については、「特定の仮想ネットワークから 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 メッセージングの例外が適切に処理されることを確認します。
- Service Bus には Advanced Message Queueing Protocol (AMQP) で接続し、可能であればサービス エンドポイントまたはプライベート エンドポイントを使用します。
- 配信不能キュー (dlq) メッセージをアクティブに監視するプロセスを確立します。
- Service Bus メッセージングを使用したパフォーマンス向上のためのベスト プラクティスを確認します。
- Azure Storage キューと Azure Service Bus キューの違いを分析します。
構成に関する推奨事項
Application Service Bus を構成するときは、信頼性を最適化するための次の推奨事項を考慮してください。
推奨 | Description |
---|---|
Service Bus には AMQP プロトコルで接続し、可能であればサービス エンドポイントまたはプライベート エンドポイントを使用します。 | この推奨事項により、Azure バックボーン上でトラフィックが維持されます。
注: および Windows.Azure.ServiceBus 名前空間の既定のMicrosoft.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'