Kudu サイトの使い方 (Tips 4 選)
はじめに
Kudu は App Service や Functions のさまざまな機能の背後にあるエンジンです。本稿では、 App Service や Functions をご利用いただく上で活用いただけるであろう Kudu が提供する機能を Tips として紹介します。
目次
- Kudu へのアクセス方法
- Tips 1. Kudu サイトへのログイン
- Tips 2. New UI (KuduLite)
- Tips 3. Docker ログのダウンロード
- Tips 4. TCP Ping を用いた疎通確認
Kudu へのアクセス方法
Kudu サイトへのアクセス方法は以下の 2 種類があります。
https://<app-name>.scm.azurewebsites.net
へアクセスする-
Azure Portal から対象の App Service を選び、 [開発者ツール] > [高度なツール] から [移動] を選択する
Tips 1. Kudu サイトへのログイン
Azure Active Directory (AAD) 認証を利用して Kudu サイトへログインする方法
AAD 認証を使用してブラウザーから Kudu にアクセスするには、ログインするユーザーにリソースプロバイダー(権限の様なものとお考え下さい)Microsoft.Web/sites/publish/Action
が必要となります。
このため、Microsoft.Web/sites/publish/Action
を予め含む組み込みロールまたはカスタムロールを作成してユーザーに割り当てます。
組み込みロールを使用して Kudu へのアクセスを許可する場合
Kudu サイトへアクセスするためには “Webサイト共同作成者”, “共同作成者”, “所有者” のいずれかのロールを割り当ててください。
カスタムロールを使用して Kudu へのアクセスを許可する場合
次のリソースプロバイダーが必要です : Microsoft.Web/sites/publish/Action
AAD 認証を使用した Kudu サイトへのアクセスは上記の RBAC を割り当てることで可能になります。
Basic 認証を利用して Kudu サイトへログインする方法
他方、 App Service では Basic 認証を使用して Kudu サイトにアクセスすることも可能です。
Kudu へのアクセスを行いたいものの、AAD のアカウントがない場合などのシナリオの対処としてご利用いただけるものと存じます。
-
Azure Portal から対象の App Service を選び、 [発行プロファイルのダウンロード] を選択します。発行プロファイルがローカル環境にダウンロードされますので、適当なエディタでダウンロードされたファイルを開きます。
-
発行プロファイル内の、 “userName” の値がユーザー名、 “userPWD” の値がパスワードとなりますので、コピーします。
-
Kudu サイトの既定リンク
https://<app-name>.scm.azurewebsites.net
に/basicauth
を追加したhttps://<app-name>.scm.azurewebsites.net/basicauth
へアクセスしてください。下図のようなポップアップが表示されますので、手順 2 でコピーした “userName” と “userPWD” をユーザー名とパスワードの欄にペーストし、サインインします。 -
ログインが完了すると Kudu サイトが表示されます。
Tips 2. New UI (KuduLite)
Linux OS の App Service には KuduLite という 新しい UI が提供されており、様々な機能が活用できます。KuduLite は、 /newui
を追加することでアクセスが可能です。
New UI (KuduLite) のリンク : https://<app-name>.scm.azurewebsites.net/newui
New UI の主なメリット
-
ファイルマネージャーによって、ファイルの GUI 操作ができます。
-
App Service が複数のインスタンスにスケールアウトされている場合、 Kudu を実行しているインスタンスを選択することができます。
Tips 3. Docker ログのダウンロード
Docker ログは、クライアントから Linux OS の App Service 上で動くアプリケーションに接続できない事象が発生した場合などの調査に必要な基本的な情報の 1 つです。皆様のトラブルシューティング時の材料の 1 つとして、 Docker ログをダウンロードする手順を紹介致します。
Docker ログの取得方法
以下の 2 つの方法で Kudu サイトからで Docker ログをダウンロードすることが可能です。
-
Kudu サイトへアクセスして、REST API から [Download as zip] をクリックします。
※ Kudu の REST API には他にも様々な機能があります。詳しくは Kudu wiki REST API をご参照ください。
-
KuduLite へアクセスして、 Web App Container から [Download All Container Logs] をクリックします。
Tips 4. TCP Ping を用いた疎通確認
App Service や Azure Functions から SQL Database など別サービスのエンドポイントに対して疎通確認をしたい場合があるかと存じます。しかしながら App Service では ICMP を使用した ping コマンドを実行することは叶いません。そこで Kudu のコンソールで扱えるコマンド TCP Ping が役に立ちます。 Kudu には CUI ツールを使える機能 (CMD や PowerShell, Bash シェルなど) があり、 TCP Ping を使用することでサーバーとの接続をテストすることが可能です。
TCP Ping の実行方法
windows OS の場合
-
Kudu サイトから [Debug console]-> [CMD] を選択して、コンソールを開きます。
-
画面下のコンソールで tcpping コマンドをお試しください。
(例) SQL Server への疎通が成功
(例) SQL Server への疎通が失敗
Linux OS の場合
-
Kudu サイトから [SSH] or [Bash] へアクセスをして、コンソールを開きます。
-
コンソールで
apt install bc
を実行してください。 -
tcpping コマンドをお試しください。コマンドが見つからない場合は、 こちらのブログを参考にしてください。
(例) SQL Server への疎通が成功
(例) SQL Server への疎通が失敗
※ OS によってポートの指定方法や使用可能なオプションが異なります。詳しくは上記のコンソールで tcpping
を実行してください。
2022 年 11 月 28 日時点の内容となります。
本記事の内容は予告なく変更される場合がございますので予めご了承ください。