AZ-104Azure コンピューティング リソースのデプロイと管理HARD単一選択

ある企業がAzure App Service(Standard プラン)で新機能を段階的にリリースしたいと考えている。本番スロットへの全トラフィックを即座に切り替えるのではなく、新バージョンをデプロイしたステージングスロットへ本番トラフィックの一部(20%)を流してユーザーへの影響を観測した上で徐々に比率を引き上げたい。この要件を満たすために Azure ポータルまたは Azure CLI で設定すべき機能はどれか。

  1. A. App Service の「トラフィックルーティング(Traffic Routing)」機能でステージングスロットに 20% のトラフィック比率を設定し、残り 80% は本番スロットに流す
  2. B. Azure Traffic Manager の重み付きルーティングプロファイルを作成し、本番スロットとステージングスロットをエンドポイントとして 80:20 の重みを設定する
  3. C. Application Gateway のリスナーに 2 つのバックエンドプールを登録し、URLパスベースのルーティングルールで 20% のパスをステージングへ転送する
  4. D. Azure Front Door のオリジングループに両スロットを登録し、ヘルスプローブの重みパラメーターを 80:20 に設定する
解答と解説を見る

正解: A

App Service にはデプロイスロットへのトラフィック比率を直接設定できる「トラフィックルーティング(Deployment Slot Traffic Routing)」機能が組み込まれている。Azure ポータルの「デプロイスロット」ブレードでスロットごとにトラフィック割合(%)を指定するか、CLI では `az webapp traffic-routing set --distribution staging=20` のように設定する。指定した割合のリクエストが該当スロットに自動的に振り分けられるため、カナリアリリースやA/Bテストを追加インフラなしで実現できる。クッキー(x-ms-routing-name)を使ってユーザーを特定スロットに固定することも可能で、同一ユーザーが毎回異なるバージョンを見るという問題も回避できる。選択肢Bの Traffic Manager はDNSレベルのグローバル負荷分散サービスであり、同一App Service 内のスロット間ルーティングには使用しない。選択肢CのApplication Gateway はL7ロードバランサーとして利用できるが、スロット間トラフィック分割のためだけに導入するのは過剰な構成であり、App Service 組み込み機能で同等のことが完結する。選択肢DのFront Door も高度なグローバル配信シナリオ向けであり、単一リージョン内のスロット間カナリアルーティングには組み込み機能が適切。

▸ この試験を本気で演習する(全150問・無料)