Azure認定資格 WEB問題集&徹底解説

AZ-900:Microsoft Azure Fundamentals

正解 C問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
Azure Queue Storage の主な用途として、適切でないものはどれですか?
  • 異なるアプリケーションコンポーネント間の非同期通信
  • 大量のデータの一時的なバッファリング
  • 複雑なトランザクション処理
  • 処理に時間のかかるタスクのキューイング
解説 頻出度★★★★★
この問題は、Azure Queue Storage が担うのはコンポーネント間を疎結合にする非同期メッセージングであって、データベースの役割ではないと切り分けられるかがポイント

A. 異なるアプリケーションコンポーネント間の非同期通信

適切な用途です。Azure Queue Storage の本来の目的が、アプリケーションのコンポーネント同士を疎結合にする非同期通信です。
送信側はメッセージをキューに置くだけで応答を待たず、受信側は自分のペースで取り出して処理します。片方が停止してもメッセージはキューに残るため、障害の連鎖を防げるのが利点です。

B. 大量のデータの一時的なバッファリング

適切な用途です。急激なリクエストの増加をキューがいったん受け止め、バックエンドは処理できる速度で消化する(キューベースの負荷平準化)という使い方は典型的なパターンです。
Queue Storage は 1 つのストレージ アカウントの容量上限までメッセージを保持でき、スパイクを吸収するバッファとして機能します。

正解

C. 複雑なトランザクション処理

正解(=適切でない用途)。Queue Storage はメッセージを預けて渡すだけの仕組みであり、複数の更新をひとまとまりとして扱うACID なトランザクション(複数操作の原子性・一貫性・ロールバック)を提供しません
また、既定の受信では厳密な順序保証も一度きりの配信保証もなく(可視性タイムアウトの満了により再配信され得る=at-least-once)、受信側はべき等な処理を前提に作る必要があります。
複雑なトランザクション処理が必要なら、Azure SQL Database や Azure Cosmos DB などのデータベース サービスを使うのが正しい設計です。

D. 処理に時間のかかるタスクのキューイング

適切な用途です。動画のエンコードや帳票生成のように時間のかかる処理をキューに積み、ワーカー(Functions や VM)が非同期に処理するのは Queue Storage の代表的なユース ケースです。
Web フロントはリクエストを即座に返せるうえ、キューの長さに応じてワーカーをスケールアウトさせる設計にもつなげられます。

これだけ覚える(記憶フック)
キューは「渡す」もの、DB は「守る」もの。ACID なトランザクションを求めた時点でキューは対象外。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
設問は「適切でないもの」を選ぶ(否定形) 3 つは正しい用途、1 つだけ役割の異なるサービスが担うべき用途。読み違いに注意
→選択肢(C)が正解
コンポーネント間の非同期通信・疎結合 キューの第一の存在意義。送信側と受信側を切り離す
→選択肢(A)は適切な用途
大量データの一時的なバッファリング(負荷平準化) スパイクをキューで吸収し、バックエンドは処理可能な速度で消化できる
→選択肢(B)は適切な用途
時間のかかるタスクのキューイング ワーカーが非同期に処理し、キュー長に応じてスケールアウトできる
→選択肢(D)は適切な用途
複雑なトランザクション処理(原子性・一貫性・ロールバック) キューに ACID トランザクションの機能はない。Azure SQL Database / Cosmos DB の領域
→選択肢(C)が正解
ひっかけポイント
  • 「適切でないもの」を問う否定形の設問。急ぐと「キューの正しい用途」である A を選んでしまう。設問文の否定を必ず確認する
  • 「大量のデータの一時的なバッファリング」は一見データ ストア的に見えるが、負荷平準化はキューの王道パターン。メッセージの長期保管庫として使うわけではない点だけ押さえる
  • Queue Storage はFIFO の厳密な順序保証も、重複なしの配信保証もない(可視性タイムアウトで再配信され得る)。順序・重複排除・トランザクション的な受信が要るなら Azure Service Bus
  • 「キューにデータを入れておけば DB 代わりになる」という発想が罠。メッセージ サイズ(64 KB)や保持期間の上限もあり、永続的なデータ管理の道具ではない
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
厳密な FIFO 順序・重複検出・トランザクションが必要なメッセージング」 Azure Service Bus(セッション、重複検出、トランザクション対応)が正解軸に。
「Azure リソースの状態変化をトリガーに処理を起動したい」 Azure Event Grid が正解に。キューではなくイベント配信の論点。
リレーショナルなデータを整合性を保って更新したい」 Azure SQL Database が正解に。本問で「適切でない」とされた用途がそのまま主題になる。
「キューの長さに応じてワーカーを自動でスケールしたい」 Azure Functions(キュー トリガー)や VM スケール セットの自動スケールが正解軸に。Queue Storage の王道構成。
関連サービスの解説 Azure Queue Storage
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 51%
No.19 解説
Azure Queue Storage の主な用途として、適切でないものはどれですか?
  • 異なるアプリケーションコンポーネント間の非同期通信
  • 大量のデータの一時的なバッファリング
  • 複雑なトランザクション処理
  • 処理に時間のかかるタスクのキューイング

(会員限定)当問題の評価をお願いします。改善に活用します。