Azure Container Apps 環境でのネットワークのトラブルシューティングに使える「Network Tester」
Microsoft のコミュニティブログにて、「ContainerApp_NetworkTester」という Azure Container Apps 上にデプロイしてネットワーク関連の各種動作確認ができるツール (コンテナイメージ) が紹介されていました。
作成者の Joe Chen 氏は Microsoft 社員さんのようですね。便利そうなツールだったので試してみました。
デプロイ
ソースからビルドすることもできますが、Docker Hub 上にも公開されています。今回は手軽に公開イメージの方を使ってみました。
Azure Container Apps 環境の作成
公式ドキュメントの手順をベースに、サクッとデプロイしてみます。なお、環境は WSL2 の Ubuntu 22.04 (bash) です。
RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="japaneast"
az group create --name $RESOURCE_GROUP --location $LOCATION
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"
CONTAINER_APP_NAME=nwtester
CONTAINER_IMAGE_NAME=docker.io/joechen0713/containerapp_networktester:1.0
az containerapp up --name $CONTAINER_APP_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image $CONTAINER_IMAGE_NAME \
--target-port 80 \
--ingress external \
--query properties.configuration.ingress.fqdn
コマンド実行後に返却される URL へアクセスできれば OK です。
お試し
本ツールには、下記の機能が搭載されています。それぞれ、Web の GUI を利用して実行することができます。
- DNS Lookup (dig): Perform DNS lookups and view the results.
- HTTPS Connection Test: Test HTTPS connections to specified URLs.
- TCP Connection Test: Test TCP connections to specified IP addresses and ports.
- TCP Dump: Run TCP dumps and download the resulting files.
操作方法の概要は GitHub の README.md やブログにて紹介されています。
例えば「DNS Lookup (dig)」であれば、「Test dig」をクリックし、解決したいホスト名を入力して「Run dig」をクリックすれば OK です。
・・・
上記は "google.com" で試してしまいましたが、「Private Endpoint の名前解決が正しくできるか?」といった確認時に便利そうですね!
おわりに
ということで、「ContainerApp_NetworkTester」というツール (コンテナイメージ) の紹介でした。
Conatiner Apps ではデプロイ済みのコンテナに入ることも可能ではありますが、動作しているコンテナで作業したくない時に使えるという意味では良いかもですね!
Discussion