世界のやまさ

SEKAI NO YAMASA

Microsoft Azure で使用している仮想マシンのコア数を調べる -リソースマネージャ(ARM)版-

Microsoft Azure では使いすぎるのを防止するために、クォータ(コア数上限)が設定されています。クラシックとリソースマネージャ(ARM)でそれぞれ違うのですが、今回はリソースマネージャで調べてみました。

リソースマネージャの場合、リージョンごとにデフォルトだと20コアまでです。20コアでは足りない場合はAzure ポータル (https://portal.azure.com/) の[ヘルプとサポート] から個別にリクエストして増やしてもらう必要があります。リクエストの方法はリンク先を参照してください。

blogs.msdn.microsoft.com

先の[ヘルプとサポート] から[新しいサポート要求]をたどっていくとコア数上限は表示されるのですが、現在使用しているコア数は表示されませんでした。

f:id:nnasaki:20170112213200p:plain

Azure CLIを使う

ポータルでは現在使用しているコア数は確認出来ないようなので、PowerShellかAzure CLIを使います。今回はmacOSを使用しているので、Azure CLIを使って確認することにしました。Azure CLIもNode.jsベースのものと新しいPythonベースの2.0(プレビュー)(https://github.com/Azure/azure-cli)があります。せっかくなんで新しい方を使ってみることにしました。

インストール

色々方法はあるようですが、Dockerが簡単そうだったのでDockerにしました。

Dockerインストール

macOSだと http://docker.com からイメージを落として、次のようにドラッグアンドドロップします。

f:id:nnasaki:20170112220018p:plain

あとは普通に起動して設定して終わりです。

Azure CLI 2.0(プレビュー)のインストール

次のコマンドをターミナルから実行します。

docker run -v ${HOME}:/root -it azuresdk/azure-cli-python:latest

するとこんな感じでインストールされます。1分もかかりません。

f:id:nnasaki:20170112215204p:plain

Azure CLIの設定

Azure CLIから自分のアカウントにアクセスできるようにloginします。

az login

とすると次のメッセージが出ます。

f:id:nnasaki:20170112220318p:plain

https://aka.ms/devicelogin をブラウザ開き、code を入力すると認証が完了します。

f:id:nnasaki:20170112220436p:plain

ブラウザで入力してから1分ほど待っているとコマンドが自動で終了して、使用出来る状態になります。

Azure CLI を使ってコア数の上限を調べる

東日本リージョンで調べてみましょう。

az vm list-usage --location japaneast

と、実行すると次のようにjsonでズラッと表示されます。(省略して記載しています。)

localizedValueのTotal Regional Coresで、currentValueが現在使用しているコア数、limitがコア数の上限です。

[
  {
    "currentValue": 0,
    "limit": 2000,
    "name": {
      "localizedValue": "Availability Sets",
      "value": "availabilitySets"
    }
  },
  {
    "currentValue": 2,
    "limit": 20,
    "name": {
      "localizedValue": "Total Regional Cores",
      "value": "cores"
    }
  },

jsonが見にくいというひとは、output オプションで list を指定してあげるとちょっと見やすくなります。

az vm list-usage --output list  --location japaneast
Current Value : 0
Limit         : 2000
Name          :
   Localized Value : Availability Sets
   Value           : availabilitySets

Current Value : 2
Limit         : 20
Name          :
   Localized Value : Total Regional Cores
   Value           : cores

table だと数字だけでちょっと残念な表示になってしまいました。

az vm list-usage --output table  --location japaneast
  Limit
-------
   2000
     20

まとめ

Azure CLI 2.0(https://github.com/Azure/azure-cli) は便利なので積極的に使っていきたいなぁと思います。