ラボ概要
Azure Service Bus Queue と Azure Storage Queue の 2 種類のメッセージング サービスを、.NET 8 コンソール アプリと Managed Identity (DefaultAzureCredential) でパスワードレス接続して送受信を比較します。
シナリオ: あなたはクラウド移行プロジェクトのソリューション エンジニアです。社内の複数システム間で非同期メッセージングを導入する検討を始めましたが、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 が両方のアプリで表示される状態。