本記事は、Microsoft Azure Tech Advent Calendar 2022 の 12/13 の投稿です。
はじめに
昨今の DX の流れから、多くのお客様がアプリをサクッと開発し業務をデジタル化したいと考えていると思います。Azure の提供する App Service や Functions というサービスはそのような場面で最適です。お客様はビジネスロジックの実装に専念して出来上がったアプリを App Service にデプロイいただければ、あっという間に動くアプリが出来上がります。
とはいうものの、アプリがなぜか動かない、なぜかあそこ通信できていない、ということに遭遇することはあるかと思います。
そんな状況で、Azure ユーザーのトラブルシュートを手助けしてくれるページが Azure Portal にはあります。それが 問題の診断と解決
というページです。
とても便利なのですが、他のページと比べてあまり開くことがない(気がする)ページですので、せっかくの機会ということで一つ機能をご紹介します。
問題の診断と解決
ページを触ってみる
問題の診断と解決
ページは、検索窓から調べたい内容を検索して使います。
どうやら、106 個もあるようです。これだけでも知らない機能・触ったことない機能がありそうな予感がします。
今回は、検索タブに network troubleshooter
と打って登場する Network Troubleshooter
を見てみます。
Network Troubleshooter
では、よくあるシナリオについてざっと調べてくれる機能がついているようです。2022-12-13 時点では「Connectivity issues」「Configuration issues」「Subnet/VNet deletion issue」「Learn more about VNet integration」から選択できます。
例えば関数アプリの「Connectivity issues」を選択すると下の画像のように
- App Service ワーカーと VNET 間の接続の状態が正常かどうか
- DNS の設定に異常がないか
- VNET 統合している場合は、RouteAll が有効になっているのか、
WEBSITE_ALWAYS_FALLBACK_TO_PUBLIC_DNS
が設定されているのか - 一部の一般的な関数アプリの依存先(Storage Account や Application Insights など)に接続文字列を用いて適切に接続できるか
を自動的に調べて結果を表示してくれます。
さらに、このページのイケているところは下の方に「Explanation of the results and recommended next steps」が記載されているところです。
トラブルシュートの際に問題の切り分けがうまくいかず「いったい何が悪さをしているのかわからない」という状況になるのはよくあることかと思います。そのようなときに、一定のガイドラインを提供してくれるので心強い味方になってくれると思います。
ちなみに Web Apps では同じ Network Troubleshooter
でも少し異なっているようでした。特に、 Network Troubleshooter
のページ内で、指定したエンドポイントに対するネットワーク観点で疎通するかを確認できる箇所がありますね。痒い所に手が届く感があります。
残りの「Configuration issues」「Subnet/VNet deletion issue」「Learn more about VNet integration」については、読者の皆様にお譲りいたしますので、ぜひお手元の App Service リソースで開いてみてください。
参考文献
こちらの英語記事を参考に現在の Azure Portal の 問題の診断と解決
を触ってみました。
https://azure.github.io/AppService/ では多くの記事が配信されており、ご確認いただけると知りたかったことが解説されていることが往々にしてありますので、App Service ユーザーの方はぜひご覧ください。
おわりに
本記事では、App Service/Functions の Azure Portal の 問題の診断と解決
ページからネットワークの疎通が取れているかのトラブルシュートを手助けしてくれる Network Troubleshooter
をご紹介しました。
本記事の内容が皆様のトラブルシュートを少しでも楽にすることが出来たらうれしい限りです。