演習 - VM を適切なサイズに変更する
仮想マシンのサイズは、予定の作業に合ったものにする必要があります。 メモリの大きさや CPU が適切でない VM では、負荷を処理できなくなることや、動作が遅すぎて実用的ではなくなることがあります。
定義済みの VM サイズ
仮想マシンを作成するときに、Azure から仮想マシンで利用できる CPU、GPU、メモリなど、VM に割り当てられるコンピューティング リソースの量を決定する "VM サイズ" の値を指定できます。
Azure では、予想される使用量に基づいて選択できる、Linux および Windows 用の定義済みの VM サイズのセットが定義されています。
Type | サイズ | 説明 |
---|---|---|
汎用 | Dsv3、Dv3、DSv2、Dv2、DS、D、Av2、A0-7 | CPU とメモリのバランスがとれています。 開発/テスト環境や、小中規模のアプリケーションとデータ ソリューションに最適です。 |
コンピューティング最適化 | Fs、F | メモリに対する CPU の比が大きくなっています。 トラフィックが中程度のアプリケーション、ネットワーク アプライアンス、バッチ処理に適しています。 |
メモリ最適化 | Esv3、Ev3、M、GS、G、DSv2、DS、Dv2、D | コアに対するメモリの比が大きくなっています。 リレーショナル データベース、中から大規模のキャッシュ、およびインメモリ分析に適しています。 |
ストレージ最適化 | Ls | 高いディスク スループットと IO。 ビッグ データ、SQL、および NoSQL のデータベースに最適です。 |
GPU 最適化 | NV、NC | 負荷の大きいグラフィックスのレンダリングやビデオ編集に特化した VM です。 |
高性能 | H、A8-11 | オプションで高スループットのネットワーク インターフェイス (RDMA) を備えた、最も強力な CPU VM です。 |
使用可能なサイズは、VM を作成するリージョンに基づいて変わります。 vm list-sizes
コマンドを使用して、使用可能なサイズのリストを取得することができます。 Azure Cloud Shell に次のコマンドを入力します。
az vm list-sizes --location eastus --output table
eastus
に対する応答の要約を次に示します。
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 2048 Standard_B1ms 1 1047552 4096
2 1024 Standard_B1s 1 1047552 2048
4 8192 Standard_B2ms 2 1047552 16384
4 4096 Standard_B2s 2 1047552 8192
8 16384 Standard_B4ms 4 1047552 32768
16 32768 Standard_B8ms 8 1047552 65536
4 3584 Standard_DS1_v2 1 1047552 7168
8 7168 Standard_DS2_v2 2 1047552 14336
16 14336 Standard_DS3_v2 4 1047552 28672
32 28672 Standard_DS4_v2 8 1047552 57344
64 57344 Standard_DS5_v2 16 1047552 114688
....
64 3891200 Standard_M128-32ms 128 1047552 4096000
64 3891200 Standard_M128-64ms 128 1047552 4096000
64 3891200 Standard_M128ms 128 1047552 4096000
64 2048000 Standard_M128s 128 1047552 4096000
64 1024000 Standard_M64 64 1047552 8192000
64 1792000 Standard_M64m 64 1047552 8192000
64 2048000 Standard_M128 128 1047552 16384000
64 3891200 Standard_M128m 128 1047552 16384000
VM の作成中にサイズを指定する
VM を作成したときにサイズを指定しなかったため、Azure によって既定の汎用のサイズが選択されました。 しかし、サイズは vm create
コマンドの一部として --size
パラメーターを使用して指定できます。 たとえば、次のコマンドを使用して 2 コアの仮想マシンを作成します。
az vm create \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM2 \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
警告
ご利用のサブスクリプション レベルに応じて、作成できるリソース数に制限が課され、さらにそのリソースの合計サイズも制限されます。 クォータの制限は、サブスクリプションの種類とリージョンによって異なります。 Azure CLI を使用すると、この制限を超えたときにクォータ超過エラーで通知されます。 自分の有料サブスクリプションでこのエラーが発生した場合は、有料サブスクリプションに関連付けられている制限 (最大 10,000 個までの vCPU) を引き上げるよう、無料のオンライン要求を通じて申請することができます。
既存の VM のサイズを変更する
ワークロードが変化した場合や、作成時に正しくサイズが設定されなかった場合に、既存の VM のサイズを変更することもできます。 最初に作成した SampleVM という VM を使用してみましょう。 サイズ変更を要求する前に、VM が属しているクラスターで希望のサイズが使用できるかどうかを確認する必要があります。 次の vm list-vm-resize-options
コマンドを使用できます。
az vm list-vm-resize-options \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--output table
このコマンドは、リソース グループ内で使用可能なすべてのサイズ構成のリストを返します。 目的のサイズがクラスターでは使用できないものの、リージョンでは使用 "できる" 場合は、VM を割り当て解除することができます。 このコマンドは、実行中の VM を停止し、リソースを失うことなく、現在のクラスターからその VM を削除します。 その後、サイズを変更すると、そのサイズ構成が利用可能な新しいクラスターに VM が再作成されます。
Note
Microsoft Learn サンドボックスは、いくつかの VM サイズに制限されます。
VM のサイズを変更するために、vm resize
コマンドを使用します。 たとえば、多くの場合は、VM で実行したいタスクに対して、VM のパフォーマンスが不足していることがわかります。 2つのvCoreと8GBのメモリを備えたD2s_v3にバンプすることができます。 Cloud Shell に次のコマンドを入力します。
az vm resize \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--size Standard_D2s_v3
このコマンドで VM のリソースを削減するには数分かかります。完了すると、新しい JSON 構成が返されます。