Azureを計画的に利用するために知っておきたいコト ~vCPUのクォータ上限~ #Azure リレー
2020-03-04
azblob://2022/11/11/eyecatch/2020-03-04-virtual-machines-quotas-000.jpg

はじめまして。 FIXER cloud.config Division Operation Teamの新井将司です。

普段は主に、cloud.configの運用や導入、品質改善などを行っております。

こういった情報を発信するための記事を執筆することははじめてなので、お見苦しい文章となっているかもしれませんが、最後までお付き合いいただけますと幸いです。

また、今月から毎週水曜日にFIXERメンバーがリレー形式でAzureに関する記事を書いていく企画、Azureリレーがスタートします。
本記事はその第1回目となります。よろしくお願いします。

はじめに

さて、今回私が紹介させていただくのは、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

そして、クォータ上限値を確認できたら、次はどのようにしてクォータ上限値を回避するかについて紹介します。

まず1つ目は、クォータ上限値を超過しないように、インフラ設計段階や運用でカバーする方法です。 Azure VMの利用用途に沿って、常に適切な VMサイズを選択することによって、クォータ上限を超過する事態を極力減らすことができます。 当たり前の話ではありますが、これが行えていると必然的にコストの最適化にも結びついてくるので、まずはこれを徹底するのがよいかと思います。

ですが、上記を行ってもクォータ上限を超過してしまう場合や、システム障害などによって一時的に Azure VMのスケールアップを行わなければならない状況に陥ってしまった場合は、どうすればよいでしょうか。

このような際のために、2つ目の方法として、クォータ上限の引き上げを行うことが可能です。 クォータ上限の引き上げは、Azure Portal上の [ヘルプとサポート] か、[サブスクリプション] から行うことが可能です。今回は、[サブスクリプション] からのクォータ上限の引き上げ方法に沿って、手順を説明していきます。

  1. Azure Portal上で、 [サブスクリプション > 使用量 + クォータ] を開きます。
  1. [引き上げを依頼する] を選択します。
  1. サポートリクエストの作成画面へ遷移するので、[クォータの種類] を選択し、[次へ: ソリューション] を選択します。
  1. 問題の種類 の下部の [詳細の指定] を選択します。
  1. 場所 からクォータ上限の引き上げを行うリージョンを選択します。
  1. 種類 から上限の引き上げを行うクォータの種類を選択します。VMシリーズごとのクォータ上限の引き上げを行う場合は Standard、Spot VMのクォータ上限の引き上げを行う場合は Spot を選択します。
  1. Standard を選択した場合は、クォータ上限の引き上げを行う VMシリーズを選択します。
  1. 各クォータ上限に対して、引き上げる上限値を入力します。この際に入力する値は、追加分の値ではなく、引き上げ後の上限値を入力する必要があります。
  1. [保存してから続ける] を選択し、[次へ: 確認及び作成] を選択します。
  1. 入力内容に間違いがないことを確認し、[作成] を選択します。

以上でクォータ上限の引き上げ申請が完了します。基本的には申請から反映まで少しのタイムラグしがありませんが、この際に注意点が2つほどございます。

まず1点目として、リージョン全体の vCPUクォータ上限を引き上げたいときです。 上記の手順では、リージョン全体の vCPUクォータ上限が選択項目にありません。 そのため、リージョン全体の vCPUクォータ上限を引き上げたいときは、以下画像のように、[クォータの種類] にて「その他の要求」を選択し、[説明] の欄に以下の情報を記載し、申請する必要があります。

  • 引き上げるクォータ上限: リージョン全体のvCPU上限
  • デプロイモデル: Resource Manager
  • リージョン: (任意)
  • 新しい上限: (任意)

そして2点目として、一度に引き上げるクォータが 200を超えてしまいますと、Microsoft内部で与信審査が必要となってしまいます。

この与信審査は、一度の引き上げ依頼量の合計が 200を超えると必要となり、過去に実施したことがあっても毎回実施の対象となります。 例えば以下の画像のように、1つの VMシリーズのみの申請で +300であったり、3つの VMシリーズを +100ずつ一度に引き上げようとするケースが該当します。​

また、200ずつ分けて申請すれば回避できるというわけでもなく、短時間の間に累積して多くのクォータ上限を引き上げようとしても与信審査の対象となってしまします。

そして、これが一番ネックなのですが、この与信審査は完了するのにおおよそ5~7営業日ほどかかってしまいます。 また、与信審査の実施基準は予告なく変更となる場合もありますので、下手をするとさらに時間を要するようになってしまう可能性もあります。 本来少しの時間で完了するはずのものにこんなに時間がかかってしまうのはもったいないので、現状はこの与信審査の対象にならないようにクォータ上限の引き上げは計画的に行う必要があります。

おわりに

本記事では、vCPUのクォータ上限と、その引き上げ方法について解説いたしました。 今回ご紹介した内容は、比較的基本的な内容ではあったかとは思いますが、本記事がお役に立てば幸いです。

それでは、最後までお付き合いいただき、ありがとうございました。

参考リンク