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) は便利なので積極的に使っていきたいなぁと思います。