Microsoft Azure では使いすぎるのを防止するために、クォータ(コア数上限)が設定されています。クラシックとリソースマネージャ(ARM)でそれぞれ違うのですが、今回はリソースマネージャで調べてみました。
リソースマネージャの場合、リージョンごとにデフォルトだと20コアまでです。20コアでは足りない場合はAzure ポータル (https://portal.azure.com/) の[ヘルプとサポート] から個別にリクエストして増やしてもらう必要があります。リクエストの方法はリンク先を参照してください。
先の[ヘルプとサポート] から[新しいサポート要求]をたどっていくとコア数上限は表示されるのですが、現在使用しているコア数は表示されませんでした。

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 からイメージを落として、次のようにドラッグアンドドロップします。

あとは普通に起動して設定して終わりです。
Azure CLI 2.0(プレビュー)のインストール
次のコマンドをターミナルから実行します。
docker run -v ${HOME}:/root -it azuresdk/azure-cli-python:latest
するとこんな感じでインストールされます。1分もかかりません。

Azure CLIの設定
Azure CLIから自分のアカウントにアクセスできるようにloginします。
az login
とすると次のメッセージが出ます。

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

ブラウザで入力してから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) は便利なので積極的に使っていきたいなぁと思います。