Microsoft Azure の IaaS(Infrastructure as a Service、サービスとしてのインフラストラクチャ)では、オンプレミスの Hyper-V ホストで Windows または Linux の仮想マシンを動かすように、Microsoft Azure のクラウド リソースを利用して、Hyper-V と高い互換性のある環境で仮想マシン(Azure 仮想マシン)を動かすことができます。Microsoft Azure に仮想マシンをデプロイする際に、必ず指定しなければならないのが仮想マシンのサイズです。仮想マシンのサイズは、料金はもちろん、パフォーマンスを左右し、一部の機能に影響します。あなたが新たに仮想マシンをデプロイする場合、どのサイズを選択するべきでしょうか。
“料金が安いから”だけで、安易に A シリーズを選択していませんか?
Microsoft Azure で利用できる仮想マシンのインスタンスのサイズ、より細かく言うとシリーズ(A、D、G など)とシリーズ内での大きさ(D1、D2、D3 など)は、数多く用意されています。「Virtual Machines シリーズ」では、各シリーズの特徴が簡単に説明されています。また、「料金計算ツール」を利用すると、「インスタンスのサイズ」のドロップダウン リストでコア数、メモリ容量、ローカル ディスク容量、時間当たりの単価を比較できます。しかし、サイズのメニューのあまりの多さに驚き、そして何を選択すればよいのか迷うに違いありません。
コア数、メモリ容量、ローカル ディスク容量だけの比較では、A シリーズのお得感が目立ちます。そして多くの人が、A シリーズの中から、必要と思われるリソース量(CPU コア数やメモリ容量)を基準に A2、A3 など、サイズを決めているのではないでしょうか。
A シリーズを選択することが決して間違いだというつもりはありません。「運用環境に推奨される最小サイズは A1」と公表されていますし、Microsoft Azure に関する多くのドキュメントや書籍も A シリーズを中心に説明されていると思います。しかし、Microsoft Azure は、日々、サービスの拡張を続けています。A シリーズは、Microsoft Azure で IaaS が利用可能になった初期の頃(A シリーズの提供以前の極小/小/中/大/極大は、現在の Basic_A0~Basic_A4 に相当します)からあるもので、2015 年前半まではA、D、G の3シリーズしかありませんでした。2015 年秋に D v2、2016 年後半にF、H、A v2、N、そして 2017 年 3 月に L シリーズ、今後も D v3 や E v3 など、新しい世代のシリーズが追加されていく予定です。
料金の差は、コア数、メモリ容量、ローカル ディスク容量のスペックの差からは見えてきません。そもそも、ローカル ディスクとは何を指すものか理解しているでしょうか? 実は、多くの人がローカル ディスクについて誤解しています。これについては次回説明しますが、OS ディスク(Windows 仮想マシン の C: ドライブ、Linux 仮想マシンの /dev/sda)の容量ではないということだけは覚えておいてください。
オンプレミスと同じようでちょっと違う、仮想マシンのサイジング
Microsoft Azure の仮想マシンのサイズは、料金はもちろん、パフォーマンスを左右し、一部の機能に影響します。最適なサイズを選択するためには、サイジングが必要です。オンプレミスのシステムでは、ハードウェアを調達する前に、ピーク時の負荷や可用性を考慮してサイジングを行い、ハードウェアのスペックを決定します。一方、Microsoft Azure の仮想マシンのサイジングは、クラウドで選択可能なスペックを決定するのはオンプレミスと同じですが、クラウドならではの決定的な違いがあります。以下は、Microsoft Azure の仮想マシンのサイジング手順の一例です。
|
サイジングのタイミング(手順 1.)に関して、必ずしも仮想マシンのデプロイ以前に行わなければならないということではありません。クラウドでは、仮想マシンを数分で調達でき、サイズの変更(スケールアップ/ダウン)やスケールの伸縮(スケールアウト/イン)も自在に、短時間で行えます。もちろん、最初にデプロイする際に何かしらのサイズを決める必要がありますが、継続的に見直せばよいのです(手順 6.)。開始時点のソフトウェアの動作要件(手順 2.)やワークロードの種類(手順 3.)でスタートして、これらに変更があった場合も、それに合わせて見直せばよいのです(手順 6.)。
最適な選択は、VM シリーズの歴史と特徴を知ることから
使用するソフトウェアに Microsoft Azure でのシステム要件が示されているなら、それを基準に決めることができます(例えば、“1,000 ユーザーまで D11 v2 を推奨”など)。それがない場合は、OS とアプリケーションの動作に必要な、CPU のコア数、クロック周波数、メモリ容量、ディスク容量/台数/IOPS、ネットワークの帯域幅などをソフトウェア ベンダーやアプリケーション開発者に確認し、サイズを仮定します。ピーク時の想定も重要ですが、クラウドなら後から同じシリーズ内でサイズやスケールを簡単に変更できますし、別のシリーズのサイズに変更することも可能です(シリーズやサイズの変更は再起動を伴います)。ピークを予測できない場合でも、そのときに対応する方法があるということです。
シリーズの特性を知らないでスペック表を見ただけでは、A シリーズと比べ、他のシリーズは料金の単価が高いだけの印象を持つかもしれません。「Virtual Machines シリーズ」に各シリーズの特徴が簡単に説明されていますが、仮想マシンのシリーズは多様なニーズに合わせて細分化されています。各シリーズは特定のワークロードの種類(手順 3.)を想定し、ワークロードの種類に適した特性や機能を備えています。次に示す図は、A シリーズからはじまる歴史を示したものです。各シリーズの大まかな特徴をつかめるでしょう。
現在、最も汎用的に使える D シリーズ、D シリーズよりも平均 35 % 高速な 2.4 GHz Intel Xeon E5-2673 v3(Haswell)を搭載した D v2 シリーズ、D v2 シリーズと同じ CPU 構成でコア対メモリ比の小さい F シリーズ、大容量メモリ(D/D v2 シリーズの 2 倍)の G シリーズ、ハイ パフォーマンス コンピューティング向けに最適化された A8~A11 および H シリーズ、ストレージ性能に優れた L(Ls)シリーズ、ビデオ処理や GPU プロセッシングのための GPU(NVIDIA Tesla)を搭載した N シリーズ、そして経済性に優れた次世代の A シリーズである A v2 シリーズがラインアップされています。また、D、D v2、F、G シリーズには、Premium Storage をサポートする DS、DS v2、FS、GS シリーズが用意されています(_S が付くシリーズ。L(Ls)は Premium Storage を標準でサポート)。
迷った時は D シリーズ。まずは軸足を決めてからのスタート!
上の図に示したように、汎用向けの標準として D シリーズに軸足を決めて、要件によって D シリーズ内でのサイズやシリーズを検討するとよいでしょう。次回説明しますが、2017 年 5 月時点では、D と D v2 シリーズに価格差はほとんどありません(近日公開の D v3 シリーズに向けて、D v2 シリーズのディスカウントが行われています。サイズによっては D v2 のほうが安いことも)。そのため、D シリーズよりも、より高速な CPU を利用できる Haswell 世代の D v2 シリーズがお勧めです。A v2 シリーズは、A シリーズと同じ CPU 構成/性能を提供しますが、メモリ容量やローカル ディスク(次回説明)の IOPS の強化により、A シリーズより 2 倍から 10 倍高速です。コスト抑制を第一に考えるなら、A シリーズではなく、A v2 シリーズを優先的に考えるべきでしょう。
シリーズやサイズの判断基準は、コア数、メモリ容量、ローカル ディスク容量だけではありません。データ ディスクの最大数、最大の NIC 数、Premium Storage の利用可否などの要素があります。これらについては、次回説明します。また、A8~A11、H、N シリーズの一部は、32 Gbps の InfiniBand を備えRDMA(Remote Direct Memory Access)の使用をサポートします。D v2、DS v2、F、Fs シリーズの一部は、最大 25 Gbps のネットワーク スループットを提供する SR-IOV をサポート(プレビュー)します。RDMA 対応アプリケーションの利用や、高速なネットワーク スループットが重要な場合は、シリーズのサイズにおけるこれらの機能のサポート状況を確認してください。
なお、シリーズやサイズは後から変更できると言いましたが、ハイ パフォーマンス コンピューティング向けの H および A8~11 シリーズは、同じシリーズ内でのみでのサイズの変更に制限されることに注意してください。また、仮想マシンの作成先リージョンによっても、サポートされるシリーズに制約がある場合があります。2017 年 5 月現在、東日本リージョンでは NC シリーズ、西日本シリーズでは A8~A11、G、GS、H、NC、NV、L シリーズがそれぞれ利用できません。さらに、A シリーズの小さなサイズで作成した場合、Microsoft Azureのデータセンターにおいて、Aシリーズのみをホスト可能なクラスター(物理的なサーバー クラスター)にその仮想マシンが作成されると、他の高スペックなシリーズ(Dシリーズなど)に変更できない場合があることにも注意が必要です。
参考:
→ その2へ続く