Azure認定資格 WEB問題集&徹底解説
AZ-900:Microsoft Azure Fundamentals
問題文と選択肢
- 異なるアプリケーションコンポーネント間の非同期通信
- 大量のデータの一時的なバッファリング
- 複雑なトランザクション処理
- 処理に時間のかかるタスクのキューイング
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 の王道構成。 |
- 異なるアプリケーションコンポーネント間の非同期通信
- 大量のデータの一時的なバッファリング
- 複雑なトランザクション処理
- 処理に時間のかかるタスクのキューイング
次の問題前の問題
会員機能
お役立ち情報
姉妹サイト
- CLF:AWS 認定クラウドプラクティショナー
- SAA:AWS 認定ソリューションアーキテクト-アソシエイト
- AIF:AWS 認定AIプラクティショナー
- SOA:AWS 認定CloudOpsエンジニア-アソシエイト
- DVA:AWS 認定デベロッパー-アソシエイト
- DEA:AWS 認定データエンジニア-アソシエイト
- MLA:AWS 認定機械学習エンジニア-アソシエイト
- SAP:AWS 認定ソリューションアーキテクト-プロフェッショナル
- DOP:AWS 認定DevOpsエンジニア-プロフェッショナル
- AIP:AWS 認定生成AIデベロッパー-プロフェッショナル
- SCS:AWS 認定セキュリティ-専門知識
- AZ-900:Microsoft Azure Fundamentals
- AI-900:Microsoft Azure AI Fundamentals