VM サイズの選定および変更時の注意点について

Last Update: feedback 共有

こんにちは、Azure テクニカル サポート チームの前田です。
Azure テクニカル サポート窓口におきまして、Azure VM のサイズに関するお問い合わせをいただくことがあります。
しかしながら、弊サポート窓口にお問い合わせいただいた場合であっても、原則としてサポートより具体的な VM サイズを直接ご提案することは叶わず、最終的にはお客様にご判断いただく必要が生じます。
このため、お客様のお手元にて VM サイズの選定にあたり適切な内容をご確認いただけるよう、また変更時のトラブルについて初動対処が可能となるよう、本記事を公開させていただきます。
各項目に添付の弊社公開情報と併せまして、少しでもご参考になりましたら幸いに存じます。

目次

VM サイズの選び方

サイズ選定時に一般に考慮すべき項目

まず VM サイズを選定いただくにあたり、一般に考慮すべき項目としては下記内容が挙げられるかと存じます。
ご要件によりこの他にも必要な要件があるかと存じますため、一例としてご参考になりましたら幸いでございます。

  • CPU、メモリ、ネットワーク帯域といった基本スペック
  • Intel 社、AMD 社の CPU の差異
  • ディスクの最大アタッチ数
  • Premium Storage の利用可否
  • 一時ディスクの有無

Azure におきましては、CPU 対メモリ比のバランスのとれた汎用サイズの他、メモリ比率の高いメモリの最適化サイズなど、特徴ごとに様々な VM サイズのシリーズをご用意しております。
各シリーズの詳細につきましては、下記公開情報にてご紹介しておりますのでご参考ください。

ご参考:VM サイズ - Azure Virtual Machines | Microsoft Learn


VM サイズの選択・変更ができない場合のトラブルシューティング

続いて、VM サイズの変更ができない場合のトラブルシューティングについてご紹介します。

当該リージョン、ゾーンにて変更先のサイズが提供されているか

ご利用予定の VM サイズシリーズが、ご希望のリージョンでそもそも提供されているのかといった点を、まずはご確認いただくのが良いかと存じます。
以下のドキュメントにて Products 項目の「Virtual Machines」の範囲にて確認が可能です。

ご参考:Product Availability by Region

加えて、各可用性ゾーンでの VM サイズのご提供状況につきましては、VM をご利用いただくサブスクリプションにて、下記コマンド例をご参考に Azure CLI または Azure PowerShell コマンドよりご確認ください。

以下のコマンドでゾーンの提供状況に加えて、当該サブスクリプションの Restrictions の状況も合わせて確認可能です。
コマンド内のリージョンについてはご利用予定のリージョンに合わせてご変更ください。

警告

各可用性ゾーンでのご提供および Resetrictions の状況につきましては、サブスクリプションごとにご確認いただく必要がございます点、ご留意のほどお願いいたします。

これはサブスクリプション毎に Resetrictions の設定状況および、論理ゾーン番号が指し示す物理ゾーンが違うためとなります。

Azure CLI で VM サイズ毎の提供状況を確認する

下記コマンドを実行すると、表形式で指定したリージョンにおける VM サイズ毎の提供状況等が表示されます。

1
az vm list-skus --location japaneast --all --output table

以下に表示の一部例とその解説を記載させていただきます。

Name Zones Restrictions 解説
Standard_sizeA 1,3 None ゾーン 1,3 で提供されている。
Restrictions は設定されておりません。
Standard_sizeB 1,2,3 NotAvailableForSubscription, type: Zone, locations: japaneast, zones: 1,2 ゾーン 1,2,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2 を指定したデプロイが制限されています。
ゾーン 3 を指定、もしくはゾーン未指定であればデプロイは制限されておりません。
Standard_sizeC 1,2,3 NotAvailableForSubscription, type: Zone, locations: japaneast, zones: 1,2,3 ゾーン 1,2,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2,3 を指定したデプロイが制限されています。
ゾーン未指定であればデプロイは制限されておりません。
Standard_sizeD 1,3 ‘NotAvailableForSubscription, type: Location, locations: japaneast‘, ‘NotAvailableForSubscription, type: Zone, locations: japaneast, zones: 1,2,3’ ゾーン 1,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2,3 を指定したデプロイが制限されています。そのうえ、type: Location の Restrictions として、当該リージョンでこの VM サイズのデプロイ自体が制限されておりますので、このリージョンでは VM 作成ができません。

Azure PowerShell で VM サイズ毎の提供状況を確認する

下記コマンドを実行すると、表形式で指定したリージョンにおける VM サイズ毎の提供状況等が表示されます。

1
Get-AzComputeResourceSku -Location japaneast

以下に表示の一部例と、その解説を記載させていただきます。

Name Zones Restrictions 解説
Standard_sizeA {1, 3} 表示なし ゾーン 1,3 で提供されている。
Restrictions は設定されておりません。
Standard_sizeB {1, 2, 3} type: Zone, locations: japaneast, zones: 1, 2 ゾーン 1,2,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2 を指定したデプロイが制限されています。
ゾーン 3 を指定、もしくはゾーン未指定であればデプロイは制限されておりません。
Standard_sizeC {1, 2, 3} type: Zone, locations: japaneast, zones: 1, 2, 3 ゾーン 1,2,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2,3 を指定したデプロイが制限されています。
ゾーン未指定であればデプロイは制限されておりません。
Standard_sizeD {1, 3} {type: Location, locations: japaneast, type: Zone, locations: japaneast, zones: 1, 2, 3} ゾーン 1,3 で提供されている。
他方、type: Zone の Restrictions として、明示的にゾーンの 1,2,3 を指定したデプロイが制限されています。そのうえ、type: Location の Restrictions として、当該リージョンでこの VM サイズのデプロイ自体が制限されておりますので、このリージョンでは VM 作成ができません。

Resetrictions がある場合は代替のサイズやゾーンのご利用などをご検討いただけますと幸いです。
もし Resetrictions の解除要求を進めたい場合は以下の手順で試みることが可能です。

ご参考:制限付き仮想マシン シリーズのゾーン有効化要求 | Microsoft Learn

手順 1 を進めて、「サポートリクエストの作成」を選択して進めることで、下記のようなリージョンやゾーンの制限解除の要求を行うことが可能です。
Zone と Location(リージョン)両方の制限がかかっている場合に、両方とも解除されたい際はそれぞれを解除する申請が必要と存じます。

上記手順で上手く要求の申請ができない場合などは、以下の通り「その他の要求」として自由記述でお問い合わせいただくことも可能でございます。

他方、要求申請やお問い合わせいただいたとしても、解除が難しいとの判断となる可能性もございます点、予めご理解いただけますと幸いでございます。

ご参考:提供されている VM SKU の確認 - Azure CLI を使用して可用性ゾーン内に仮想マシンを作成します。 | Microsoft Learn

ご参考:提供されている VM SKU の確認 - Azure PowerShell を使用して可用性ゾーン内に仮想マシンを作成する | Microsoft Learn

ご参考:SKU 利用不可エラーを解決する | Microsoft Learn


ローカル一時ディスクの有無

ローカル一時ディスクの有無が異なるサイズへ変更する場合、Windows VM では VM の再作成が必要となります。
ゲスト OS 上での事前作業等が必要となりますので、詳細な手順につきましては下記の公式ドキュメントをご参照ください。

ご参考:FAQ - ローカル一時ディスクを持たない Azure VM のサイズ - Azure Virtual Machines | Microsoft Learn


割り当て解除を行うことで VM サイズの選択肢が増える場合

シリーズ違いなど大きく異なる VM サイズへの変更を行う際、割り当て解除を行うことで Azure Portal から確認可能な変更先の VM サイズの種類が増える場合があります。
これは仮想マシンが割り当てられる物理ホストごとに利用可能な VM サイズが決まっていることから、この制限を撤廃する割り当て解除を実施することで選択肢が増えるものとなります。
リージョン・可用性ゾーンでの提供、および後述のクォータ等に問題がないにもかかわらず変更先の VM サイズが表示されない場合、VM の割り当て解除をご検討ください。


可用性セット利用時の注意

可用性セットをご利用の場合、通常の VM と比較し VM の割り当てを行う物理ホストに一定の制限が生じますため、サイズ変更の際に割り当てのエラーが発生する場合があります。
当該事象の発生時には、可用性セットに含まれる全ての VM を割り当て解除いただくことで、より最適な物理ホストへの配置が可能となりますので、お試しください。

ご参考:Azure VM の割り当てエラーのトラブルシューティング - Virtual Machines | Microsoft Learn


SCSI 必須サイズと NVMe 必須サイズ間の VM サイズ変更について

Dsv5 から Dsv6 サイズへの変更など、現在と異なるディスクコントローラーを必須とするサイズへ変更する場合はディスクコントローラー変換といった対応が必要となります。
詳細は以下のブログ記事にて別途解説しておりますので、こちらをご参照くださいませ。

ご参考:NVMe ディスクコントローラー必須の Azure VM サイズについて(Dsv5 から Dsv6 サイズへの変更など)


注意事項

クォータの不足による VM サイズの選択不能事例

Azure のサブスクリプションでは各機能に対しクォータに制限があり、VM サイズにも同様にクォータが設定されています。
Azure Portal 上で仮想マシンの作成時や変更時に VM サイズの選択を行う際、下記画面例のように「クォータの要求」が表示される場合、当該サブスクリプションにて適切なカテゴリでのクォータの引き上げが必要となります。

画面例:

特に、GPU を利用する VM サイズでは、クォータに制限が生じている場合が散見されますので、ご注意いただければと存じます。
下記公開情報をご参考に、事象に該当する場合はクォータの引き上げについてもご検討いただけますと幸いです。

ご参考:VM ファミリの vCPU クォータの増加 - Azure Quotas | Microsoft Learn


仮想マシン サイズの変更により再起動が発生する

仮想マシン サイズの変更時は、いずれのサイズの場合であっても再起動が発生します。
現時点での仕様としてご理解いただき、ユーザー影響の少ない時間帯での実施をご検討いただきますようお願いいたします。

ご参考:仮想マシンのサイズ変更 - Azure Virtual Machines | Microsoft Learn


おわりに

VM サイズの選定・変更に際し、弊サポートへよくお問い合わせいただく事例をご紹介いたしました。
Azure VM では VM サイズの変更が容易でございますので、VM サイズの選定の際はお手元にて負荷テスト等を検証の上でご判断をいただければと存じます。
お手元での VM サイズの選定に際し、本記事の内容がご参考となりましたら幸いでございます。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。