Azure 仮想マシンの使用頻度の高いサイズ一覧

スポンサーリンク

Microsoft Azureの仮想マシンはCPUやメモリの使用量を定義するサイズの概念があります。このページでは「サイズ」の説明と、動作確認を目的とした安価で使用頻度の高いサイズの紹介をします。

公式見解

この記事は、筆者の独自の考え方を示しています。Microsoftの公式記事は自社の売上を最大化するようなポジショントークが含まれていますので、公式が言いづらい事をまとめたのが本記事になります。しかしながら、大規模プロジェクトで公式見解に刃向かうのは難しい事かと思いますので、公式の見解も併せて理解ください。以下に公式見解のURLをまとめます。

汎用仮想マシンのサイズ

価格一覧

Azureで提供される仮想マシンは「汎用」「コンピューティング最適」「メモリ最適」など用途に応じたサイズが提供されています。商用目的ではなく動作確認目的ならば「汎用」が最も安上がりになりますので、以下「汎用」の価格をまとめます。

2022年3月時点の価格です。価格は変動するリスクがある事をご理解ください。

サイズ メモリ CPU 価格($/時間)
Standard_B1s 1 1 0.0104
Standard_B1ms 2 1 0.0207
Standard_B2s 4 2 0.0416
Standard_D1_v2 3.5 1 0.057
Standard_DS1_v2 3.5 1 0.057
Standard_D2_v2 7 2 0.114
Standard_DS2_v2 7 2 0.114
Standard_D2_v5 8 2 0.096
Standard_D2sv_v5 8 2 0.096

Bシリーズ

公式見解では「Bシリーズはburst可能な仮想マシン」と謳われており、使っていない時はクレジットが蓄積され、使っている時はクレジットが消費されます。ですので、概念検証、小規模データベース、開発ビルド環境などの常日頃使わない用途が最適です。

というのが、公式の見解ですが、Bシリーズの最大のメリットはメモリ1G, CPU1コアのような極小仮想マシンが作成できる事です。後述のDシリーズをスポット仮想マシンとして使用するよりも費用削減になります。

「Bシリーズ」はスポット仮想マシンをサポートしていません。

難点は、余りに極小過ぎるスペックなので、動作確認したい内容によってはサポート対象外どころかvalidationエラーとなり検証すら出来ません。例えば、「高速ネットワーク」や「ホストでの暗号化」はStandard_B2sでは動作しません。

「Bシリーズ」の使用可能な仮想マシンのサイズはロケーションによって異なります。ロケーションを指定して使用可能なサイズ一覧を出力するazコマンドの例は以下の通りです。

az vm list-sizes \
  --location japaneast \
  --query "[?starts_with(name,'Standard_B')].{Name:name, Mem:memoryInMb, Cpu:numberOfCores}" \
  --output table

azコマンドの実行結果は以下のようになります。

Name            Mem    Cpu
--------------  -----  -----
Standard_B1ls   512    1
Standard_B1ms   2048   1
Standard_B1s    1024   1
Standard_B2ms   8192   2
Standard_B2s    4096   2
Standard_B4ms   16384  4
Standard_B8ms   32768  8
Standard_B12ms  49152  12
Standard_B16ms  65536  16
Standard_B20ms  81920  20

D_v2シリーズ(Dファミリ 第2世代)

最も使用実績が多い「無難な」仮想マシンです。後述の「DS_v2シリーズ」との違いは、Standard SSDかPremium SSDかの違いです。ディスク費用を削減したいならば「D_v2シリーズ」を指定しましょう。

なお、「D_v2シリーズ」でストレージに関するパラメタを指定せず、デフォルト設定で作成された仮想マシンの設定は以下の通りです。storageAccountTypeがStandard_LRSになっています。

$ az vm show \
  --resource-group MyResourceGroup \
  --name linux020 \
  --query "storageProfile.osDisk"
{
  "caching": "ReadWrite",
  "createOption": "FromImage",
  "deleteOption": "Detach",
  "diffDiskSettings": null,
  "diskSizeGb": 30,
  "encryptionSettings": null,
  "image": null,
  "managedDisk": {
    "diskEncryptionSet": null,
    "id": "/subscriptions/2e2f81a9-b030-410f-9784-c582580c932e/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/linux020_OsDisk_1_816a7c1626bc4b4a80f9c51e25713fe5",
    "resourceGroup": "MyResourceGroup",
    "storageAccountType": "Standard_LRS"
  },
  "name": "linux020_OsDisk_1_816a7c1626bc4b4a80f9c51e25713fe5",
  "osType": "Linux",
  "vhd": null,
  "writeAcceleratorEnabled": null
}

「D_v2シリーズ」の使用可能な仮想マシンのサイズはロケーションによって異なります。ロケーションを指定して使用可能なサイズ一覧を出力するazコマンドの例は以下の通りです。

az vm list-sizes \
  --location japaneast \
  --query "[?starts_with(name,'Standard_D') && contains(name, '_v2') && \!contains(name, 'DS')].{Name:name, Mem:memoryInMb, Cpu:numberOfCores}" \
  --output table

azコマンドの実行結果は以下のようになります。

Name                   Mem     Cpu
---------------------  ------  -----
Standard_D1_v2         3584    1
Standard_D2_v2         7168    2
Standard_D3_v2         14336   4
Standard_D4_v2         28672   8
Standard_D5_v2         57344   16
Standard_D11_v2        14336   2
Standard_D12_v2        28672   4
Standard_D13_v2        57344   8
Standard_D14_v2        114688  16
Standard_D15_v2        143360  20
Standard_D2_v2_Promo   7168    2
Standard_D3_v2_Promo   14336   4
Standard_D4_v2_Promo   28672   8
Standard_D5_v2_Promo   57344   16
Standard_D11_v2_Promo  14336   2
Standard_D12_v2_Promo  28672   4
Standard_D13_v2_Promo  57344   8
Standard_D14_v2_Promo  114688  16

DS_v2シリーズ(Dファミリ Sサブファミリ 第2世代)

「DS_v2シリーズ」はPremium SSDをサポートした仮想マシンです。「DS_v2シリーズ」の「S」はストレージを意味します。

なお、「DS_v2シリーズ」でストレージに関するパラメタを指定せず、デフォルト設定で作成された仮想マシンの設定は以下の通りです。storageAccountTypeがPremium_LRSになっています。

「DS_v2シリーズ」でもストレージを明示指定すれば、Standard SSDを使う事ができます。ストレージ指定をするのが面倒な人は「D_v2シリーズ」を使用するような癖をつけておけば費用削減ができます。

$ az vm show \
  --resource-group MyResourceGroup \
  --name linux030 \
  --query "storageProfile.osDisk"
{
  "caching": "ReadWrite",
  "createOption": "FromImage",
  "deleteOption": "Detach",
  "diffDiskSettings": null,
  "diskSizeGb": 30,
  "encryptionSettings": null,
  "image": null,
  "managedDisk": {
    "diskEncryptionSet": null,
    "id": "/subscriptions/2e2f81a9-b030-410f-9784-c582580c932e/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/linux030_OsDisk_1_a553aa19e2de42f4b104fe9f0622624f",
    "resourceGroup": "MyResourceGroup",
    "storageAccountType": "Premium_LRS"
  },
  "name": "linux030_OsDisk_1_a553aa19e2de42f4b104fe9f0622624f",
  "osType": "Linux",
  "vhd": null,
  "writeAcceleratorEnabled": null
}

「DS_v2シリーズ」の使用可能な仮想マシンのサイズはロケーションによって異なります。ロケーションを指定して使用可能なサイズ一覧を出力するazコマンドの例は以下の通りです。

az vm list-sizes \
  --location japaneast \
  --query "[?starts_with(name,'Standard_D') && contains(name, '_v2') && \!contains(name, 'DS')].{Name:name, Mem:memoryInMb, Cpu:numberOfCores}" \
  --output table

azコマンドの実行結果は以下のようになります。

Name                   Mem     Cpu
---------------------  ------  -----
Standard_D1_v2         3584    1
Standard_D2_v2         7168    2
Standard_D3_v2         14336   4
Standard_D4_v2         28672   8
Standard_D5_v2         57344   16
Standard_D11_v2        14336   2
Standard_D12_v2        28672   4
Standard_D13_v2        57344   8
Standard_D14_v2        114688  16
Standard_D15_v2        143360  20
Standard_D2_v2_Promo   7168    2
Standard_D3_v2_Promo   14336   4
Standard_D4_v2_Promo   28672   8
Standard_D5_v2_Promo   57344   16
Standard_D11_v2_Promo  14336   2
Standard_D12_v2_Promo  28672   4
Standard_D13_v2_Promo  57344   8
Standard_D14_v2_Promo  114688  16

D_v5シリーズ(Dファミリ 第5世代)

「D_v5シリーズ」は第5世代の仮想マシンです。第2世代よりも若干安価ではありますが、1コアの仮想マシンが販売されていないのが難点です。1コアで十分な場合は「D_v2シリーズ」を購入した方が安上がりでしょう。

「D_v5シリーズ」の使用可能な仮想マシンのサイズはロケーションによって異なります。ロケーションを指定して使用可能なサイズ一覧を出力するazコマンドの例は以下の通りです。

az vm list-sizes \
  --location japaneast \
  --query "[?starts_with(name,'Standard_D') && contains(name, '_v5')].{Name:name, Mem:memoryInMb, Cpu:numberOfCores}" \
  --output table

azコマンドの実行結果は以下のようになります。

query句で指定するJMESPathは正規表現を指定する事ができないため、「D_v5シリーズ」のみに検索結果を絞り込むのは困難です。「D_v5シリーズ」以外も混在している事をご理解ください。

Name               Mem     Cpu
-----------------  ------  -----
Standard_D2ds_v5   8192    2
Standard_D4ds_v5   16384   4
Standard_D8ds_v5   32768   8
Standard_D16ds_v5  65536   16
Standard_D32ds_v5  131072  32
Standard_D48ds_v5  196608  48
Standard_D64ds_v5  262144  64
Standard_D96ds_v5  393216  96
Standard_D2d_v5    8192    2
Standard_D4d_v5    16384   4
Standard_D8d_v5    32768   8
Standard_D16d_v5   65536   16
Standard_D32d_v5   131072  32
Standard_D48d_v5   196608  48
Standard_D64d_v5   262144  64
Standard_D96d_v5   393216  96
Standard_D2s_v5    8192    2
Standard_D4s_v5    16384   4
Standard_D8s_v5    32768   8
Standard_D16s_v5   65536   16
Standard_D32s_v5   131072  32
Standard_D48s_v5   196608  48
Standard_D64s_v5   262144  64
Standard_D96s_v5   393216  96
Standard_D2_v5     8192    2
Standard_D4_v5     16384   4
Standard_D8_v5     32768   8
Standard_D16_v5    65536   16
Standard_D32_v5    131072  32
Standard_D48_v5    196608  48
Standard_D64_v5    262144  64
Standard_D96_v5    393216  96

Dsv_v5シリーズ(Dファミリ sv追加機能 第5世代)

「Dsv_v5シリーズ」は第5世代の仮想マシンでPremium SSDをサポートします。

「Dsv_v5シリーズ」の使用可能な仮想マシンのサイズはロケーションによって異なります。ロケーションを指定して使用可能なサイズ一覧を出力するazコマンドの例は以下の通りです。

az vm list-sizes \
  --location japaneast \
  --query "[?starts_with(name,'Standard_D') && contains(name, 's_v5')].{Name:name, Mem:memoryInMb, Cpu:numberOfCores}" \
  --output table

azコマンドの実行結果は以下のようになります。

query句で指定するJMESPathは正規表現を指定する事ができないため、「D_v5シリーズ」のみに検索結果を絞り込むのは困難です。「D_v5シリーズ」以外も混在している事をご理解ください。

Name               Mem     Cpu
-----------------  ------  -----
Standard_D2ds_v5   8192    2
Standard_D4ds_v5   16384   4
Standard_D8ds_v5   32768   8
Standard_D16ds_v5  65536   16
Standard_D32ds_v5  131072  32
Standard_D48ds_v5  196608  48
Standard_D64ds_v5  262144  64
Standard_D96ds_v5  393216  96
Standard_D2s_v5    8192    2
Standard_D4s_v5    16384   4
Standard_D8s_v5    32768   8
Standard_D16s_v5   65536   16
Standard_D32s_v5   131072  32
Standard_D48s_v5   196608  48
Standard_D64s_v5   262144  64
Standard_D96s_v5   393216  96

仮想マシンサイズの命名規則

使用頻度の高いところのみの説明

書式

比較的使用頻度の高いのみに着目した命名規則は以下の通りです。正確には「制約付き vCPU」「アクセラレータの種類」という概念もありますが、これらは使用頻度が低いため、説明を後回しにします。

[ファミリ][サブファミリ]* + [vCPU の数] + [追加機能] + [バージョン]

ファミリ

先頭の1文字はVMファミリのシリーズを表します。Standard_B1sやStandard_B2sならば、バースト性があるBシリーズを意味します。Standard_D2_v2やStandard_DS2_v1ならば、汎用的なDシリーズを意味します。

サブファミリ

ファミリが2文字以上の名前ならば、2文字目以降はサブファミリを意味します。Standard_DS1_v2やStandard_DS2_v2ならば、ストレージ(Premium SSD)を意味するSサブファミリを意味します。

vCPU数

サブファミリの後の数字はvCPUを表します。Standard_B1sやStandard_D1_v2ならばvCPUが1個を意味します。Standard_D2_v2やStandard_DS2_v2ならばvCPUが2個を意味します。

追加機能

vCPU数の後の小文字英数字は追加機能を意味します。Standard_D2s_v5やStandard_D8s_v5ならば、ストレージ(Premium SSD)を意味するsの追加機能を意味します。

バージョン

原則として、末尾の数字は仮想マシンのバージョンを意味します。ただし、例外的にBシリーズのようにバージョンの概念がない命名規則の仮想マシンも存在します。

Standard_D1_v2やStandard_D2_v2ならば第2世代を意味します。Standard_D2_v5やStandard_D4_v5ならば第5世代を意味します。

正確な説明

仮想マシンの正確な命名規則は以下の通りです。

[ファミリ][サブファミリ]* + [vCPU の数][制約付き vCPU]* + [追加機能][アクセラレータの種類]* + [バージョン]

制約付きvCPU

ソフトウェアライセンスによっては、物理的なCPUに比例した料金体型になるものもあります。このようなソフトウェアを使う場合に備え、実際に使用する物理的なCPUを明記したのが、この命名規則です。SQL ServerやOracle Databaseなどを使用する場合は、この制約付きvCPUを検討しましょう。詳細は「制約付き vCPU 対応の VM サイズ
」を参照ください。

アクセラレータの種類

GPUの一部の仮想マシンはアクセラレータの種類を明記したものもあります。2020年第3四半期以降に公開された特殊な仮想マシンのみが該当します。

タイトルとURLをコピーしました