NOBTAの気ままにITブログ

Azure全般 / SQL Serverに関する情報を発信していきます。

Azure Traffic Managerを使用したAzure App Serviceアプリケーションのトラフィック制御について [Azure]


スポンサーリンク

Azure Traffic Managerを使用することで、クライアントからの要求を 「優先順位」,「重み付け」,「パフォーマンス」などを加味して、トラフィックの振り先を制御することが可能です。

また、トラフィックの振り先 (エンドポイント) には、「App Server」, 「パブリック IP アドレス (Azure Load Balancer)」,「PaaS クラウド サービス」などを指定できます。

詳細は Traffic Manager エンドポイントの種類 | Microsoft Docs を参照

 

例えば、Azure Traffic Managerを使用することで、Azure 東日本 リージョン、Azure 西日本 リージョンの各リージョンに Azure App Service がデプロイされていて、通常は Azure 東日本 リージョン上のAzure App Serviceにアクセスさせるように設定し、何か問題が発生した場合に、Azure 西日本 リージョン上のAzure App Serviceにアクセスさせたり、クライアントから地理的に近いリージョンにアクセスさせるように制御することが可能です。

 

今回は、Azure Traffic Managerを使用して、「優先順位」でトラフィックの振り先を制御する、以下の構成をデプロイしてみたいと思います。 

f:id:nobtak:20200304003225p:plain

 1) Azure 東日本、西日本で App Serviceを使用し、サンプル アプリケーションをデプロイします。

 

f:id:nobtak:20200304005325p:plain

 

f:id:nobtak:20200304005416p:plain

 

※ Traffic Managerが使用できる Azure App Service の価格レベルは 「S1」以上であるため、「S1」以上の価格レベルを選択してデプロイします。

f:id:nobtak:20200304005658p:plain

 

2) Traffic Manager プロファイル - 「+ 作成」 を押下します。

f:id:nobtak:20200304010136p:plain

 

3) 「ルーティング方法」:「優先度」を選択後、「作成」を押下します。

 

f:id:nobtak:20200304010428p:plain


4) 「エンドポイント」-「+ 追加」を押下します。

 

f:id:nobtak:20200304010958p:plain


5) 「ターゲット リソースの種類」:「App Service」, 「ターゲット リソース」:「東日本リージョンにデプロイした Azure App Service」, 「優先度」:「1」を入力し、「OK」を押下します。

  

f:id:nobtak:20200304011315p:plain

 

6) 「ターゲット リソースの種類」:「App Service」, 「ターゲット リソース」:「西日本リージョンにデプロイした Azure App Service」, 「優先度」:「100」を入力し、「OK」を押下します。

 

f:id:nobtak:20200304011808p:plain

 

7) Azure エンドポイントのモニターの状態が「オンライン」になっていることを確認します。

 

f:id:nobtak:20200304012202p:plain

8) Traffic Manager プロファイルのDNS名 (今回は 「h t t p://traffic****.trafficmanager.net」) にアクセスします。

 

f:id:nobtak:20200304012616p:plain

※ 優先度を「1」に設定した 東日本リージョンにデプロイした Azure App Service にアクセスが行われます。

 

9)  東日本リージョンにデプロイした Azure App Serviceに紐づけた Azure エンドポイントの優先度を「200」に変更します。

 

f:id:nobtak:20200304012905p:plain

 

10) 再度 Traffic Manager プロファイルのDNS名 (「h t t p://traffic****.trafficmanager.net」) にアクセスします。

 

f:id:nobtak:20200304013717p:plain

※ 優先度が「100」と、西日本リージョンにデプロイした Azure App Serviceの優先度のほうが高くなり、西日本リージョンにデプロイした Azure App Serviceにアクセスが行われます。なお、優先度の高い Azure App Service への正常性チェックで正常性が確認できない場合は、フェールオーバーが発生し、優先度の低い Azure App Service へのアクセスが行われます。

※ フェールオーバーの時間は,「TTL + 再試行回数 * プローブの間隔」で求めることができます。

 

Traffic Manager 正常性チェック、フェールオーバー構成の詳細については Azure DNS と Traffic Manager を使用したディザスター リカバリー | Microsoft Docs を参照

 

 

今回は、Traffic Manager プロファイルのDNS名 「h t t p://traffic***.trafficmanager.net」と 「http」を使用していますが、「https」通信をするためには、Azure App Service側でカスタム ドメイン設定、SSL 設定を実施する必要があります。

カスタム ドメイン、SSL証明書 共に、Azure App Serviceで購入可能ですが、購入できるドメインが「com、net、co.uk、org、nl、in、biz、org.uk、co.in」に限定されているため、「co.jp」などのドメインを購入したい場合は、別途「お名前.com」などから購入することになるかと思います。

 

Azure App Service でカスタムドメインの購入、設定については カスタムドメイン名を購入する | Microsoft Docs を参照