本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Azureを計画的に利用するために知っておきたいコト ~vCPUのクォータ上限~ #Azure リレー」を再編集したものです。
はじめまして。 FIXER cloud.config Division Operation Teamの新井将司です。
普段は主に、cloud.configの運用や導入、品質改善などを行なっております。
はじめに
さて、今回私が紹介させていただくのは、Azure Virtual Machine(Azure VM)のクォータ上限についてです。 このクォータ上限ですが、普段個人でAzureを利用されている方はあまり意識せずにいる方も少なくないかもしれません。 ですが、Azureを利用していくうえで、いつか必要になる知識でもあるかと思いますので、本記事を機に一度知識を身に付けておいても良いかもしれません。
vCPUのクォータ上限とは
vCPUとは、Azure VMをデプロイする際に選択する、Azure VMのサイズによって決まっております。 そして、Azure VMのクォータは、各リージョンでサブスクリプションごとに、以下の3つのレベルで決められております。
・vCPUの合計
・Dシリーズなどのさまざまな VMサイズ ファミリコア
・Azure VMの総数
新しいVMをデプロイするときは常に、上記3点の上限を超えてはならず、いずれかの上限を超えている場合、Azure VMをデプロイすることはできなくなっております。
そのため、あまり考え無しにAzure VMを乱立させたり、大きいサイズのAzure VMをデプロイしようとすると、以下のようなエラーメッセージが出力され、Azure VMのデプロイが行なえなくなってしまいます。
{
"code":"InvalidTemplateDeployment",
"message":"The template deployment 'CreateVm-Canonical.UbuntuServer-18.04-LTS-20200302123633' is not valid according to the validation procedure. The tracking id is 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. See inner errors for details.",
"details":[{
"code":"QuotaExceeded",
"message":"Operation could not be completed as it results in exceeding approved Total Regional Cores quota. Additional details - Deployment Model: Resource Manager, Location: eastus, Current Limit: 10, Current Usage: 0, Additional Required: 16, (Minimum) New Limit Required: 16. Submit a request for Quota increase at https://aka.ms/ProdportalCRP/?#create/Microsoft.Support/Parameters/%7B%22subId%22:%227e87c8ab-16b8-484b-9c0d-6f643cde40f0%22,%22pesId%22:%2206bfd9d3-516b-d5c6-5802-169c800dec89%22,%22supportTopicId%22:%22e12e3d1d-7fa0-af33-c6d0-3c50df9658a3%22%7D by specifying parameters listed in the ‘Details’ section for deployment to succeed. Please read more about quota limits at https://docs.microsoft.com/en-us/azure/azure-supportability/regional-quota-requests."
}]
}
クォータ上限による制限を回避するには
では、このクォータ上限に縛られないためには、どうすればよいのでしょうか。
まずは、このクォータ上限値の確認方法を紹介します。 クォータ上限値の確認方法は、主に以下の3つです。
・Azure Portalにログインし、[サブスクリプション > 使用量 + クォータ]を開く。
*この際に、デフォルトでは利用中のクォータしか表示されないため、確認したい情報が表示されていない場合は上部のフィルターオプションを活用ください。
・Azure PowerShellで以下のコマンドを実行する。
Get-AzVMUsage -Location "<リージョン名>"
・Azure CLIで以下のコマンドを実行する。
az vm list-usage --location "<リージョン名>" -o table
そして、クォータ上限値を確認できたら、次はどのようにしてクォータ上限値を回避するかについて紹介します。
■インフラ設計段階や運用でカバーする
まずひとつめは、クォータ上限値を超過しないように、インフラ設計段階や運用でカバーする方法です。Azure VMの利用用途にそって、常に適切なVMサイズを選択することによって、クォータ上限を超過する事態を極力減らすことができます。
当たり前の話ではありますが、これが行なえていると必然的にコストの最適化にも結びついてくるので、まずはこれを徹底するのがよいかと思います。
■クォータ上限の引き上げを行なう
ですが、上記を行なってもクォータ上限を超過してしまう場合や、システム障害などによって一時的にAzure VMのスケールアップを行なわなければならない状況に陥ってしまった場合は、どうすればよいでしょうか。
このような際のために、2つめの方法として、クォータ上限の引き上げを行なうことが可能です。
クォータ上限の引き上げは、Azure Portal上の[ヘルプとサポート] か、[サブスクリプション] から行なうことが可能です。今回は、[サブスクリプション] からのクォータ上限の引き上げ方法にそって、手順を説明していきます。
1. Azure Portal上で、 [サブスクリプション > 使用量 + クォータ] を開きます。
2. [引き上げを依頼する] を選択します。
3. サポートリクエストの作成画面へ遷移するので、[クォータの種類] を選択し、[次へ: ソリューション] を選択します。
4. 問題の種類の下部の[詳細の指定] を選択します。
5. 場所からクォータ上限の引き上げを行なうリージョンを選択します。
6. 種類から上限の引き上げを行なうクォータの種類を選択します。VMシリーズごとのクォータ上限の引き上げを行なう場合はStandard、Spot VMのクォータ上限の引き上げを行う場合はSpotを選択します。
7. Standardを選択した場合は、クォータ上限の引き上げを行なうVMシリーズを選択します。
8. 各クォータ上限に対して、引き上げる上限値を入力します。この際に入力する値は、追加分の値ではなく、引き上げ後の上限値を入力する必要があります。
9. [保存してから続ける] を選択し、[次へ: 確認及び作成] を選択します。
10. 入力内容に間違いがないことを確認し、[作成] を選択します。
以上の手順が完了しましたら、クォータ上限の引き上げが開始され、しばらくすると完了します。
このように、そこまで手間もかからずにクォータ上限の引き上げを行なうことが可能ですが、いくつか注意しなければならない点もあります。
まず1点目として、リージョン全体の vCPUクォータ上限を引き上げたいときです。 上記の手順では、リージョン全体の vCPUクォータ上限が選択項目にありません。 そのため、リージョン全体の vCPUクォータ上限を引き上げたいときは、以下画像のように、[クォータの種類] にて「その他の要求」を選択し、[説明] の欄に以下の情報を記載し、申請する必要があります。
・引き上げるクォータ上限: リージョン全体のvCPU上限
・デプロイモデル: Resource Manager
・リージョン: (任意)
・新しい上限: (任意)
そして2点目として、一度に引き上げるクォータが200を超えてしまいますと、Microsoft内部で与信審査が必要となってしまいます。
この与信審査は、一度の引き上げ依頼量の合計が200を超えると必要となり、過去に実施したことがあっても毎回実施の対象となります。 例えば以下の画像のように、ひとつのVMシリーズのみの申請で+300であったり、3つのVMシリーズを+100ずつ一度に引き上げようとするケースが該当します。
また、200ずつ分けて申請すれば回避できるというわけでもなく、短時間の間に累積して多くのクォータ上限を引き上げようとしても与信審査の対象となってしまいます。
そして、これが一番ネックなのですが、この与信審査は完了するのにおおよそ5~7営業日ほどかかってしまいます。また、与信審査の実施基準は予告なく変更となる場合もありますので、下手をするとさらに時間を要するようになってしまう可能性もあります。本来少しの時間で完了するはずのものにこんなに時間がかかってしまうのはもったいないので、現状はこの与信審査の対象にならないようにクォータ上限の引き上げは計画的に行なう必要があります。
おわりに
本記事では、vCPUのクォータ上限と、その引き上げ方法について解説いたしました。 今回ご紹介した内容は、比較的基本的な内容ではあったかとは思いますが、本記事がお役に立てば幸いです。
それでは、最後までお付き合いいただき、ありがとうございました。