Azure
AzureCLI
jme

[小ネタ] Check! az コマンドで条件に合ったメモリやコア数のVMサイズ一覧を表示する

こんばんは、 @dz_ こと大平かづみです。

Prologue - はじめに

Azure CLI の az コマンドが便利で日ごろから使っています。

今回は、メモリ〇GB以上〇コア以上のVMサイズ一覧を知りたくて、 --query オプションを使ってちょちょいのちょいしました ::sparkles:

az コマンドで条件に合ったVMサイズ一覧を表示するサンプル

# メモリ4GB以上、2コア以上のVMサイズ一覧を取得する例
az vm list-sizes -l japaneast --query "[?memoryInMb >= `4096` && numberOfCores >= `2`]" -o table

Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb    MemoryInMb    MaxDataDiskCount
----------------------  ---------------  ----------------  ----------------------  ------------  ------------------
Standard_NV6                          6           1047552                  389120         57344                  24
Standard_NV12                        12           1047552                  696320        114688                  48
Standard_NV24                        24           1047552                 1474560        229376                  64
Standard_A3                           4           1047552                  291840          7168                   8
Standard_A5                           2           1047552                  138240         14336                   4
Standard_A4                           8           1047552                  619520         14336                  16
Standard_A6                           4           1047552                  291840         28672                   8
Standard_A7                           8           1047552                  619520         57344                  16
Basic_A3                              4           1047552                  122880          7168                   8
Basic_A4                              8           1047552                  245760         14336                  16
Standard_D2_v2                        2           1047552                  102400          7168                   8
Standard_D3_v2                        4           1047552                  204800         14336                  16
Standard_D4_v2                        8           1047552                  409600         28672                  32
Standard_D5_v2                       16           1047552                  819200         57344                  64
Standard_D11_v2                       2           1047552                  102400         14336                   8
Standard_D12_v2                       4           1047552                  204800         28672                  16
...

JMESPath フィルタリング Tips

ちなみに、az コマンドの --query オプションは便利なんですが、普段使ってる jq コマンドとは別の jp コマンドすなわち JMESPath の記法なのでちょっと戸惑ってしまいます。

フィルタリングで、数値の比較やAND/OR条件について調べたので、メモをおいておきます。

  • 配列に対するフィルタは、 [?key==xxx] と書く
  • 数値は [?key==`100`] のように ` で囲む
  • AND/ORなどの条件は、 [?key1=xxx && key2==yyy] と書く( ? は先頭に一つ)

References

Epilogue - おわりに

普段使ってるものでも、小さなところに発見がありますね~