130 Views
January 24, 26
スライド概要
masuda
Azure Front Door についての学び NTTドコモビジネス株式会社 増田 和己 2026/1/24
本日お伝えしたいこと ・Azure Front Door の基本機能共有 ・Azure Front Door 経由で App Service にアクセス 検証した内容の共有 2
目次 1. Azure Front Door とは 2. Azure Front Door 経由の App Service アクセス検証 3. Azure Front Door 経由の App Service アクセス検証(Easy Auth有) 4. まとめ 3
目次 1. Azure Front Door とは 2. Azure Front Door 経由の App Service アクセス検証 3. Azure Front Door 経由の App Service アクセス検証(Easy Auth有) 4. まとめ 4
1. Azure Front Doorとは Azure Front Door(AFD)は HTTP/HTTPS トラフィックをルーティングするグローバル単位の ロードバランサ、およびコンテンツ配信NW(CDN)である。 Azure Front Door | Microsoft Learn 5
1. Azure Front Doorとは(主な特徴) SKUはStandardとPremiumが存在する。商用で利用する場合、Premiumを選択するケースが多 くなると考えられる。 SKU Standard 主な特徴 L7負荷分散(HTTP/HTTPSのみ) SSLオフロード 稼働コスト(monthly) $35 Premium L7負荷分散(HTTP/HTTPSのみ) SSLオフロード Azure WAFの利用 配信元(AFDからみたバックエンド)へのPrivate Link設定 ★ $330 ★本日の説明で利用している機能 Azure Front Door レベル間で価格を比較する | Microsoft Learn 6
目次 1. Azure Front Door とは 2. Azure Front Door 経由の App Service アクセス検証 3. Azure Front Door 経由の App Service アクセス検証(Easy Auth有) 4. まとめ 7
2. Azure Front Door経由のApp Serviceアクセス検証 あるお客様に対してAFDを用いたWeb開発を求められ、以下構成の検証を行ってみた。 Japan East Region Private Link App Service Azure Front Door (Premium) Southeast Asia Region https://<AFD>. azurefd.net Private Link App Service Azure Front Door のアーキテクチャのベスト プラクティス - Microsoft Azure Well-Architected Framework | Microsoft Learn Azure Front Door を App Service Origin に接続する - Azure Private Link | Microsoft Learn 8
2補足. Private Linkについて Private Link 機能により App Service は VNET からのみ接続可能となり、セキュアな構成となる。 なお、Private Link が無い場合はインターネット経由で App Service に接続される。 ※App Service は PaaS 製品のため、通常はインターネット経由で接続 Azure Front Door (Premium) Japan East Region Private Link Azure Front Door (Standard) App Service Japan East Region インターネット App Service Azure Front Door のアーキテクチャのベスト プラクティス - Microsoft Azure Well-Architected Framework | Microsoft Learn Azure Front Door を App Service Origin に接続する - Azure Private Link | Microsoft Learn 9
2. Azure Front Door経由のApp Serviceアクセス検証 Azure Front Door や App Service のホスト名とWebサイトは以下の通り。 Japan East Region kmapp jpn kmAFD Southeast Asia Region kmapp seasia 10
2. Azure Front Door経由のApp Serviceアクセス検証 Azure Front Doorに設定した主な内容は以下のとおり(フロントドアマネージャ)。 ・AFD名 : kmAFD ・配信元グループ : kmappGROUP ※AFDから見たバックエンドを登録するグループ 11
2. Azure Front Door経由のApp Serviceアクセス検証 Azure Front Doorに設定した主な内容は以下のとおり(配信元グループ)。 ・配信元グループへの通信 : 2つのApp Serviceに対して通信を均等分散。 ・セッションアフィニティ : 無効 12
2. Azure Front Door経由のApp Serviceアクセス検証 AFD構築完了後、しばらくの間は以下Sorryページ画面が出力された。 13
2. Azure Front Door経由のApp Serviceアクセス検証 AFD構築完了後、AFDのエンドポイント(URL)を指定してコンテンツが閲覧できるまでに 1時間ほど要した。 → 所感 : 想定通りだった AFDのエンドポイントをF5キーで更新を繰り返した際、以下Webページが都度交互に 出力された。 → 所感 : 正確に50:50の均等分散となったのが意外であった 14
目次 1. Azure Front Door とは 2. Azure Front Door 経由の App Service アクセス検証 3. Azure Front Door 経由の App Service アクセス検証(Easy Auth有) 4. まとめ 15
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) 2章につづいて、App ServiceでEasy Auth(※)を有効化した際の検証を実施した。 ※ App Serviceに組み込まれている認証認可有効化機能。コードを記述せず実現可。 Japan East Region App Service Entra ID Azure Front Door Southeast Asia Region https://<AFD>. azurefd.net App Service Azure Front Door のアーキテクチャのベスト プラクティス - Microsoft Azure Well-Architected Framework | Microsoft Learn Azure Front Door を App Service Origin に接続する - Azure Private Link | Microsoft Learn 16
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) ただしApp ServiceにてEasy auth機能を有効化したのみの場合、Entraからの通信が通信元の AFDでなくApp Serviceにリダイレクトされてしまい、通信エラーとなる。 Japan East Region Southeast Asia Region 通信元 https://<AFD>. azurefd.net ? https://kmappseasia. azurewebsites.net/.auth /login/aad/callback 17
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) Easy Auth機能ありで以下構成で通信する際の対応事項は以下2点(詳細は以下Blog参照)。 1. App Service にて認証リダイレクト先を App Service から AFD に変更する。 2. App Service の Proxy 設定を変更する Japan East Region Southeast Asia Region https://<AFD>. azurefd.net 1 リダイレクト先変更 2 Proxy設定変更 Azure Front Door を経由してAzure AD 認証を有効にしたApp Serviceへのアクセス - Japan PaaS Support Team Blog 18
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) 1. 認証リダイレクト先を App Service から AFD に変更する。 1 リダイレクト先をAFDの エンドポイント(URL)に変更 19
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) 2. App Service の Proxy 設定を変更する。 az rest –uri <対象App Serviceリソース> --method get > auth.json a. auth.json ファイル Download b. NoProxy → Standard に変更 2 az rest –uri <対象App Serviceリソース> --method put --body @auth.json c. auth.json ファイル upload 20
補足. App Service の Proxy 設定を変更する背景
クライアントから通信受信時、HTTP
ヘッダに以下追加(他L7機器と同仕組み)
●追加ヘッダと値
X-Forwarded-Host
→ <AFD>.azurefd.net
X-Forwarded-For
→ xxx
X-Forwarded-Proto
→ xxx
・・・
Microsoft.Web sites/config ‘authsettingsV2 (※)
forwardProxy : NoProxy (デフォルト)
※ App Serviceで作成される認証リクエスト構成ファイル
→ App Service は X-Forwarded-Host ヘッダでなく Host ヘッダ値
(自身のホスト)をリダイレクトURLに定義するため、当該問題発生。
AFDとホスト名不一致
https://kmapp.azurewebsites.net/.auth/login/aad/callback
Azure Front Door での HTTP ヘッダー プロトコルのサポート | Microsoft Learn
Microsoft.Web/sites/config 'authsettingsV2' - Bicep, ARM template & Terraform AzAPI reference | Microsoft Learn
21
補足. App Service の Proxy 設定を変更する背景
クライアントから通信受信時、HTTP
ヘッダに以下追加(他L7機器と同仕組み)
Microsoft.Web sites/config ‘authsettingsV2
forwardProxy : Standard
●追加ヘッダと値
X-Forwarded-Host
→ <AFD>.azurefd.net
X-Forwarded-For
→ xxx
X-Forwarded-Proto
→ xxx
・・・
→ App Service は X-Forwarded-Host ヘッダ値をリダイレクトURL
に定義するため、問題解消。
AFDとホスト名一致
https://<AFD>.azurefd.net/.auth/login/aad/callback
Azure Front Door での HTTP ヘッダー プロトコルのサポート | Microsoft Learn
Microsoft.Web/sites/config 'authsettingsV2' - Bicep, ARM template & Terraform AzAPI reference | Microsoft Learn
22
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) 前頁を実施した結果、無事Webサイトは閲覧可能となった。 Japan East Region App Service Entra ID Azure Front Door Southeast Asia Region https://<AFD>. azurefd.net App Service 23
3. Azure Front Door経由のApp Serviceアクセス検証(Easy Auth有) 余談 : 本構成にてAFDのセッションアフィニティが無効(※)の場合、HTTP400エラーとなる。 ※ 通信先が均等分散され、接続先のApp Serviceが切り替わるため ※ 有効化 or 重みづけ変更で対応可 Japan East Region 認証前 Southeast Asia Region https://<AFD>. azurefd.net 認証後 24
目次 1. Azure Front Door とは 2. Azure Front Door 経由の App Service アクセス検証 3. Azure Front Door 経由の App Service アクセス検証(Easy Auth有) 4. まとめ 25
本日お伝えしたかったこと ・Azure Front Door 機能共有 → WAF, Private LinkはPremiumのみ利用可能 ・Azure Front Door 経由で App Service にアクセス 検証した内容の共有 → Easy Auth利用の際、リダイレクト先の変更対応要 26
27