Azureのリージョン一覧をExcelで利用できるようにする方法

Azureには様々なリージョンがあり、以下の公式サイトで公開されていますが、表記はすべて「Japan East」のようなスペースがある形式になっています。

List of Azure regions | Microsoft Learn

ところが、PowerShellやBicepでリージョンを指定する際などは「Japan East」のような形式ではなく、「japaneast」のようなスペースの無い形式のリージョン名称が必要になることがあります。

この情報は上記サイトには記載が無く、これまでは都度コマンドレットで調べていました。ただ、頻繁に利用するため、最新の情報を一覧する事は出来ないかと考え、やり方を調べました。

本記事では、PowerShellのコマンドレットGet-AzLocationの出力結果を使って、Azureのリージョンに関する各種情報をExcelで利用できるようにする方法を解説します。

Get-AzLocationによるリージョン情報の取得

Connect-AzAccountでサインイン後、Get-AzLocationコマンドレットを使ってリージョン情報を取得し、json形式で結果を保存します。

Get-AzLocation | ConvertTo-Json | Out-File C:\work\AzureLocations.json -Encoding utf8

保存したファイルは、OneDriveやSharePointなどのオンラインに保存しておきます。

そのうえで、Webからアクセスするためのパスを控えておきます。

実際の値は下記のようになります。

https://<テナント毎のID>-my.sharepoint.com/personal/<ユーザー毎のID>/Documents/Work/Azure/AzureLocations.json

新規Excelファイルの作成

出力したjsonファイルを取り込むためのExcelファイルを別途用意します。

場所はどこでもよいのですが、今回はjsonと同じフォルダに「Azureリージョン一覧.xlsx」として作成しました。

Power Queryによるjsonの展開と加工:展開編

作成した「Azureリージョン一覧.xlsx」を開き、jsonを読み込めるようにします。「データ」タブを開き、「Webから」を選択します。

先ほど控えたjsonのパスを入力します。

必要に応じてサインインを行います。

Power Queryエディタが起動しますので、まずは「テーブルへの変換」を実行します。

既定値のままOKを押して進めます。

「Column1」の横の記号をクリックし、「元の列名をプレフィックスとして使用します」のチェックを外し、「OK」を押します。

この時点でほぼ求める形になりました。

Power Queryによるjsonの展開と加工:加工編

ここからは、利用ケースによって加工の仕方が変わってくると思います。ニーズに合わせて加工してご利用ください。

今回は、利用可能なリージョンとその名前をサービス単位で絞り込んで判断できるように、データを加工していきます。

まず、LongitudeとLatitudeの列は削除します。*1

RegionTypeをPhysicalだけに変更した後で、列を削除します。

PairedRegionは今回は利用しないので削除します。

Providersの横の記号をクリックし、「新しい行に展開する」を選択します。

サービスごとに行が分割される形で展開されます

「閉じて読み込む」をクリックします。

これで、Azureのリージョン一覧をExcelで利用できるようになりました。

Excelの利用例

後は、普通にExcelのフィルタを使って必要な情報を絞り込んで利用します。

例として、アジアでAzure仮想マシンが利用できるリージョンのうち、推奨のものを抽出してみます。

  • RegionCategory:Recommended
  • GeographyGroup:Asia Pacific
  • Providers:Microsoft.Compute

このように、一覧で取得することが出来ました。

リージョン情報の更新

このリージョン情報は、あくまでGet-AzLocationを実行した時点でのデータとなります。必要に応じて適宜更新して利用してください。

今回は更新を容易にする目的もあり、AzureLocations.jsonをOneDrive上に保存しています。

そのため、AzureLocations.jsonを再取得して上書き保存し、Excelの「データ」タブから「すべて更新」を実行するだけで、最新の情報にすることが出来ます。

おわりに

これまで都度「japaneast」のようなスペースの無い形式のリージョン名称を調べていたのですが、Get-AzLocationコマンドレットとPower Queryで継続的に利用できる仕組みが作れるのではないか、と思って試してみました。これから活用できそうです。

同じ悩みを持った方の参考になれば幸いです。

*1:緯度、経度の情報のようです

執筆担当者プロフィール
舟越 匠

舟越 匠(日本ビジネスシステムズ株式会社)

人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。

担当記事一覧