過去問ドリル

AZ-305:Designing Microsoft Azure Infrastructure Solutions インフラストラクチャソリューションの設計 問11

インフラストラクチャソリューションの設計/アプリケーションアーキテクチャの設計

ある企業は、ストレージ アカウントの特定のコンテナーに画像ファイルが作成されたことを契機に、画像の縮小を行う Azure Functions と、管理者への通知を行う Logic Apps の 2 つを起動します。対象は特定のフォルダー プレフィックスのファイルだけで、受信側を常時稼働させず、ファイル作成から数秒以内に 2 つの処理がそれぞれ起動し、料金は処理したイベント数に応じた従量にしたいと考えています。設計として適切なものはどれですか。

当サイトのオリジナル問題(AZ-305:Designing Microsoft Azure Infrastructure Solutionsの出題範囲「インフラストラクチャソリューションの設計」に対応。実際の試験問題ではありません)

正解:C

解説

Azure Event Grid は Blob の作成などの Azure サービスのイベントを、システム トピックとして追加の実装なしで発行できます。イベント サブスクリプションごとにサブジェクト(プレフィックス)のフィルターを設定でき、Functions や Logic Apps などのハンドラーへプッシュ配信されるため、ポーリングが不要で、料金も処理したイベント数に応じた従量です。Event Hubs は大量のストリーミング取り込み、Service Bus と Queue Storage はメッセージ キューイング向けで、いずれもポーリング(プル)型の読み取りが前提です。

選択肢ごとの解説

  • A誤り。Event Hubs は大量のテレメトリ取り込み向けで、スループット ユニットなどの容量課金です。コンシューマーが読み取りに行くプル型で、Blob 作成のイベントを通知する目的には過剰です。
  • B誤り。Service Bus は信頼性の高いメッセージ キューイング向けで、受信側がポーリングする設計になります。また 1 つのキューを 2 つのアプリが読むと各メッセージは一方にしか届かず、独立した 2 つの処理を起動するファンアウトになりません。Blob 作成イベントをストレージ側から直接発行する仕組みも別途必要です。
  • C正しい。システム トピックがイベントを発行し、サブジェクト フィルターで対象を絞って 2 つのハンドラーへプッシュ配信できます。従量課金でポーリングも不要です。
  • D誤り。Queue Storage は単純なキューで、ポーリングが前提です。プレフィックスによるフィルターや複数ハンドラーへの配信も自前で実装する必要があります。
AZ-305:Designing Microsoft Azure Infrastructure Solutionsの問題を演習モードで解く