VMのサイズの変更方法について

執筆者: Drew McDaniel (Principal Program Manager, Azure Compute)

このポストは、2 月 24 日に投稿された Resize virtual machines の翻訳です。

Azure Virtual Machines のメリットの 1 つは、CPU、ネットワーク、ディスク パフォーマンスの要件に応じて VM のサイズを変更できる点です。この記事では、Azure Classic Compute VM および新しい Azure Resource Manager VM をご利用のお客様が VM のサイズを変更する際の手順をご紹介します。

VM のサイズ変更が簡単かどうかは、以下の 3 つの要素の状況によって変わってきます。

  1. VM がどのリージョンにデプロイされているか。VM のサイズごとに必要な物理ハードウェアは異なります。ご利用の Azure リージョンによっては、変更したい VM サイズのサポートに必要なハードウェアが含まれていない場合があります。どの Azure リージョンでもサポートされているのは、Standard_A0 ~ A7 と Basic_A0 ~ A4 です。どのリージョンにどの VM サイズがサポートされているかは、Azure リージョンの Web ページの「サービス」タブでご確認いただけます。
  2. VM を現在どのような物理ハードウェアでホストしているか。変更したいサイズが現在 VM を実行している物理ハードウェアでサポートされている場合は、簡単な操作と VM の再起動だけで VM のサイズを変更することができます。
  3. VM のデプロイメント モデル。デプロイメント モデルには、Classic と Resource Manager の 2 種類があります。Resource Manager の方が新しいモデルで、Classic デプロイメント モデルでは利用できない使いやすい機能がいくつかサポートされています。

サイズ変更のためにリージョンを移動する

変更したい VM のサイズが現在のリージョンでサポートされていない場合は、現在のリージョンでそのサイズがサポートされるまで待つか、VM その他のサービスを別のリージョンに移動するかを検討する必要があります。この記事では、別のリージョンに移動する手順の説明は割愛させていただきます。

基本的な移動手順については、ブログ記事「Storage アカウント間での Azure Virtual Machines の移行」をご覧ください。

現在のハードウェア クラスターで利用可能なサイズに変更する場合

実行中の VM は物理サーバーにデプロイされており、Azure リージョンの物理サーバーは共通の物理ハードウェア クラスターにグループ化されています。実行中の VM は、その VM をサポートしている現在のハードウェア クラスターで利用可能な VM のサイズに簡単に変更することができます。VM をホストしている現在の物理ハードウェアでどの VM サイズが利用可能であるかは、以下のいずれかの方法で確認できます。

Azure 管理ポータルで確認する

サイズ変更アクションを選択すると、変更できる VM のサイズの一覧が表示されます。下記の例では、現在 Standard_A10 のサイズが使用されており、Standard_A8、Standard_A9、Standard_A11 のいずれかのサイズに変更できることがわかります。この他のサイズが選択肢にないのは、現在この VM に使用されているハードウェア クラスターでその VM のサイズがサポートされていないためです。

Virtual Machines サイズ ファミリを確認する

物理ハードウェアごとに利用可能な VM のサイズは異なります。たとえば、Standard_A1 と Standard_D1 がサポートされているが Standard_D1_v2 はサポートされていないというハードウェア クラスターもあれば、この 3 つがすべてサポートされているハードウェア クラスターもあります。以下のグループに含まれている VM のサイズのいずれかがサポートされていれば、そのハードウェア クラスターではグループ内の他のサイズもサポートされています。これらのグループは、VM サイズ ファミリと呼ばれることもあります。

Azure の現在の VM サイズ ファミリは以下のとおりです。

VM サイズ ファミリ

サイズ

エントリ レベル

Basic_A0 ~ Basic_A4、

Standard_A0 ~ Standard_A4

ハイメモリ エントリ レベル

Standard_A5 ~ Standard_A7

ハイパフォーマンス コンピューティング

Standard_A8 ~ Standard_A11

汎用運用環境

Standard_D1 ~ Standard_D14、

Standard_DS1 ~ Standard_DS14

汎用運用環境 v2

Standard_D1_v2 ~ Standard_D14v2

ハイメモリ、高密度ローカル ストレージ

Standard_G1 ~ Standard_G5、

Standard_GS1 ~ Standard_GS5

現在のハードウェア クラスターで利用できないサイズに変更する場合

変更したい VM のサイズが VM を現在ホストしているハードウェア クラスターでサポートされている場合は、再起動するだけで簡単にサイズを変更することができますが、変更したい VM のサイズが VM を現在ホストしているハードウェア クラスターでサポートされていない場合、サイズ変更の操作はやや複雑になります。この場合 VM のサイズを変更するには VM を別のハードウェア クラスターに移動する必要がありますが、その操作の仕方はどのデプロイメント モデルを採用してるかによって異なります。

さらに、移動先のハードウェア クラスターを使用して、クラウド サービス内のすべての VM (Classic デプロイメント モデルの場合) または可用性セット内のすべての VM (Azure Resource Manager デプロイメント モデルの場合) をホストする必要があります。そのため、場合によっては同時に複数の VM のサイズを変更する必要があります。Azure Resource Manager (ARM) デプロイメント モデルを使用した場合、可用性セット内のすべての VM が停止 (割り当て解除) 状態であれば VM のサイズを変更することができます。Classic デプロイメント モデルで VM をデプロイした場合、VM を別のサイズ ファミリのサイズに変更するには、クラウド サービスのデプロイメントを削除してから再度デプロイする必要があります。

Azure Resource Manager (ARM) VM のサイズ変更

Azure Resource Manager (ARM) デプロイメント モデルで VM をデプロイした場合、VM のサイズを変更するには、VM を停止し、変更したい VM のサイズを選択してから VM を再起動します。サイズを変更する VM が可用性セットに含まれている場合、サイズを変更する前に可用性セット内のすべての VM を停止する必要があります。これは、可用性セット内の実行中のすべての VM が同一の物理ハードウェア クラスターを使用する必要があるためです。VM のサイズを変更するために物理ハードウェア クラスターを変更する場合、すべての VM を停止してから別の物理ハードウェア クラスターで 1 つずつ再起動する必要があります。

別の物理ハードウェア クラスターに移動する場合には、移動後の物理ハードウェア クラスターでは以前の VM のサイズがサポートされていない可能性があるため、可用性セット内の他の VM でもサイズ変更が必要になる場合があります。すべての VM が同一の VM サイズ ファミリに属している場合、その可用性セットの VM をホストする物理ハードウェア クラスターですべての VM のサイズがサポートされます。

Classic (ASM) VM のサイズ変更

VM が現在デプロイされているハードウェア クラスターで変更したいサイズがサポートされていない場合、Classic (ASM) デプロイメント モデルでデプロイされた VM のサイズ変更はより複雑になります。Azure Resource Manager デプロイメント モデルでデプロイされた VM とは異なり、停止状態の VM のサイズを変更することはできません。Classic デプロイメント モデルを使用した VM の場合、VM を削除してから同じ OS とデータ ディスクを使用して再度作成する必要があります。この手順が容易になるように、PowerShell スクリプト (英語) を提供しています。

このスクリプトでは、以下の処理が実行されます。

  1. 現在のデプロイメントを評価し、VM がデプロイされている既存のハードウェア クラスターを使用した単純なサイズ変更操作ができないことを確認します。
  2. Premium Storage を使用している VM が同様に Premium Storage をサポートする別の VM のサイズに変更されることを確認します。
  3. 削除および再デプロイメント操作によって IP アドレスが変更される場合には、警告を表示します。
  4. スクリプトでサポートされていない機能が使用されていないことを確認します。スクリプトの初回リリースでは、複数の NIC を搭載した VM、逆引き FQDN が構成されたデプロイメント、カスタムの DNS が構成されたデプロイメントはサポートされません。
  5. 現在のすべての構成を出力ファイルに格納します。このファイルは、再デプロイメント処理の実行中にエラーが発生した場合に VM を再構築するために使用します。
  6. VM のすべての構成を保存してから、既存のデプロイメントを削除します。
  7. 選択された VM のサイズで VM を再度デプロイします。