l0w.dev

Azure データセンター IP アドレス範囲


今朝、Azure のデータセンター IP アドレス範囲、つまり Azure のパブリック IP アドレスについて、 これまで提供されていた XML 形式のリスト2020年6月末でなくなるというアナウンスが出ていました。

代替として Service Tag Discovery API というものが提供されるそうです。これは PowerShell や Azure CLI (2.0.67 以降) を使ってアクセスできます。 呼び出しには次のようにデータセンターの場所を指定する必要がありますが、これは japaneast でなくてもどこでも同じものが返されるようです。

$ az network list-service-tags -l japaneast >service-tags.json

こうやって取得した service-tags.json を見ると、 NSG のルールに設定できるサービスタグ それぞれについて、対応する IPv4 アドレスプレフィクスのリストをつけたものに見えます。 同じ IPv4 アドレス範囲が Azure 全データセンターを示す "id":"AzureCloud" と 東日本データセンターを示す "id":"AzureCloud.japaneast" に重複して載っています。 なお IPv6 のアドレスはないようです。

また "changeNumber":63 といった数字がついていますが、これは更新の有無の判定に使っていいものなのでしょうか。 いまのところ REST API リファレンス 以外に説明がないのでわかりません。

各クラウド事業者のパブリック IP アドレスのリストはたまに必要になるものですが、 Azure の場合、これまで参照していた XML のリストはスクリプトで自動取得するには HTML スクレイピングが必要とかいう異様に面倒くさいやつでした。 それが新しい API ではシンプルなリクエストひとつで JSON 形式で取れるようになるのは歓迎です。

しかしながら、代替手段が Azure の REST API となり Azure サブスクリプションでの認証が前提となってしまったので、 Azure サブスクリプションを持っていない人が取れなくなるのはちょっと困るかもしれないと思いました。