Azure Service Bus と Queue Storage でメッセージング処理を Managed Identity で実装する

Azure Service Bus Queue と Azure Storage Queue の 2 種類のメッセージング サービスを、.NET 8 コンソール アプリと Managed Identity (DefaultAzureCredential) でパスワードレス接続して送受信を比較します。

中級60Azure 実環境

ラボ概要

シナリオ: あなたはクラウド移行プロジェクトのソリューション エンジニアです。社内の複数システム間で非同期メッセージングを導入する検討を始めましたが、Azure には Service Bus と Queue Storage という 2 つのキュー サービスがあります。両者を実機で試して、機能差(配信保証、ロック期間、優先順位、デッドレター)とコスト差を体感し、適切なサービスを選定できるようになりましょう。

学習目標:

  • Azure Service Bus Namespace と Queue を Basic SKU で作成する
  • Azure Storage Account の Queue Service にキューを作成する
  • 両サービスの RBAC ロール (Azure Service Bus Data Owner / Storage Queue Data Contributor) が事前構築で付与済みであることを確認する
  • .NET 8 コンソール アプリを 2 本作成し、DefaultAzureCredential でパスワードレス接続する
  • メッセージの送信・受信・完了 (Complete) を実装し、両サービスの API 差異を理解する
  • Service Bus の Lock Duration、Storage Queue の Visibility Timeout の概念を実機で確認する
  • 両サービスの選定指針(機能 / 性能 / コスト)を整理する
前提知識: .NET / C# の基本構文、async/await の理解、Azure Portal と Cloud Shell の基本操作、Azure RBAC の概念。

完了条件: Service Bus Queue myqueue と Storage Queue myqueue の両方が作成され、Cloud Shell から起動した 2 つの .NET コンソール アプリが Managed Identity 経由でメッセージの送受信に成功していること。Cloud Shell ターミナルに Received message: Test message が両方のアプリで表示される状態。

ラボの構成

  1. 1Cloud Shell を初期化する
  2. 2環境変数とリソース情報を取得する
  3. 3Service Bus Queue を作成する
  4. 4Cloud Shell の実行 ID を確認する
  5. 5Service Bus Queue 用の .NET アプリを作成する
  6. 6Storage Queue を作成する
  7. 7Storage Queue 用の .NET アプリを作成する
  8. 8両サービスの差異を考察する (任意)

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース