表題の通り、パッと見簡単そうなことがやりたかったのだけど、シュッとやる方法をシュッと見つけられなかったのでメモ。
Azure CLI 2.0 に az network application-gateway show-backend-health
というコマンドがあり、これのレスポンスの中にバックエンドプールのホストの情報が含まれている。
ref. Application Gateway - az network application-gateway
--query
オプションに対し JMESPath 形式で取得したい情報を指定することができるので、これを駆使して Healthy なホストの数を抽出してみる。ちなみに、JMESPath は初体験。
例えば、以下のような感じ。
$ az network application-gateway show-backend-health \
--resource-group <your resource group> \
--name <your appilcation gateway name> \
--query "backendAddressPools[0].backendHttpSettingsCollection[0].servers[?health=='Healthy'] | length(@)"
ただ、このコマンド、重い。20 〜 30 秒くらいはかかる。
Application Gateway 関連の操作は、所要時間が他のリソースと比べてだいぶ長い。祈りを捧ぐ 🙏