あなたの Azure 利用料金がもっと安くなるかも?! Spot VM や RI など、コスト削減の方法をご紹介
2020.03.19
皆さまこんにちは!SB C&S の井上です。
先日ついに Azure にも Spot VM のプレビューが発表され、AWS 同様にデータセンターの使用されていないリソースを非常に安価に利用できるようになりました。
Azure に限らず、パブリッククラウドの利用コスト削減はユーザーにとって重要な課題なので、このサービスの発表は嬉しいニュースです。
そこで今回は Azure の利用料金を抑えられると注目が集まっているこの Azure Spot VM と、その他コスト削減に役立つノウハウや機能を3つご紹介していきたいと思います。
1. Azure Spot VM: Microsoft が保持してる超大規模なサーバーリソースのうち、使われていないリソースを安価に利用できるサービス
2. Reserved Instance: 使いたい仮想マシンを1年または3年まとめ買いすることで安く購入できる購入方法
3. Azure Automation による VM の自動起動/自動停止: 仮想マシンを使わない時間帯は課金を止める運用
1. Azure Spot VM とは?
Microsoft は、Azure の利用料が急激に増加した際のリソース不足を防ぎ、安定的に稼働させるため、あらかじめ(平時に想定されるリソース消費量よりも)大規模なサーバーリソースを各リージョンのデータセンター内に用意しています。
そのため、平時では誰にも利用されていない空きリソースが必ず出てきます。これを一時的に安価に利用することができるのが本サービスです。
Microsoft としては、多額の投資をかけて用意しているものの平時は使用されていないリソースを有効活用できますし、Azure ユーザーからすれば(一時的とはいえ) Azure を安価に利用できるので、まさに Win-Win な関係で成り立つサービスです。
ちなみに Azure Spot VM は、Amazon が提供する AWS の EC2 Spot Instance の Azure 版ともいえるサービスです。
さて、その利用方法ですが、実はとても簡単です。
ユーザーは VM 作成時に [Azure スポット インスタンス] 項目のチェックを「はい」にするだけで、通常の VM と同じ特性の仮想マシンを低コストで利用できます。
ただし、データセンターで余剰リソースが少なくなると通知を受けた後 30秒後に自動的に VM が削除される点と、SLA がなく可用性を保証していない点に注意が必要です。
図1. 通常の VM と Azure Spot VM の価格
表1. 通常の VM と Azure Spot VM の価格比較
※本サービスで提供される VM の価格は随時変動します。
コスト削減のために本サービスを利用する場合、以下のワークロードが最適とされています。
・バッチジョブ
・中断されても持続可能であるか、回復可能なワークロード
・開発とテスト
・スケールアウトし、状況に応じてコストを削減するために Spot VM を使用できる、ステートレスアプリケーション
・仮想マシンが削除された場合に、簡単に再実行できる短時間のジョブ
※本サービスは記事執筆時点でプレビューのため、GA時に予告なく仕様が変更される場合があります。
2. Reserved Instance とは?
Reserved Instance(以下、RI) とは、あらかじめ一定期間分の VM の利用料金を先払いすることで、VM 利用料金の割引を受けられるサービスです。
選択できる期間は 1年間 か 3年間 で、通常の従量課金の料金と比較して最大 72% もの割引を受けることができます。
RI では、先払いした VM インスタンスを交換したり、RI を取り消したりすることもできますが、若干の注意が必要です。
具体的には、以下の表のとおりです。
例えば基幹システムなどのように、今後数年間は同様のコンピューティングスペックで利用が確定している、かつ 24時間 365日稼働想定の VM であれば、RI を利用することで大幅にコスト削減することができます。
図2. Azure Reserved Instance の価格比較
3. Azure Automation による VM の自動起動/自動停止
Azure Automation の [Start/Stop VMs during off-hours ソリューション] を利用することで、ピーク時間外に VM を自動停止したり、業務開始時刻に合わせて自動起動したりすることができます。
Azure は利用した時間分(分単位)の VM 利用料金が請求されるため、使わない時間帯をあらかじめスケジューリングして VM を停止することで、停止時間分だけコスト削減できます。
業務時間のみ VM を稼働させる場合は、ソリューションのデプロイ時にあらかじめ起動/停止日時をスケジュールしておきます。
図3. ソリューションを利用した VM の自動起動/自動停止
また、Azure Automation の Runbook ギャラリーには様々なオートメーションが既に用意されており、VM の自動起動/停止であれば、「Start Azure V2 VMs」と「Stop Azure V2 VMs」を追加して日時スケジュールと対象 VM を指定しても設定することができます。
図4. Runbook ギャラリーを利用した VM の自動起動/自動停止
Azure VM はコンピューティングの稼働時間に応じて利用料金が発生するため、利用していない時間に停止(割り当て解除) しても問題ないワークロードの場合は、極力停止しておくことでコスト削減に繋がります。
また、VM 停止時間の長さと場合によっては、先述の RI よりも Azure Automation の自動起動/停止を利用した方がコストを抑えられる場合もあるので、事前の試算が非常に重要になってきます。
Azure の簡易的な費用の試算は、Azure 相談センターでお受けしておりますので、本サイトのお問い合わせページからぜひお問い合わせください。
まとめ
今回は、Azure Spot VM を始め、Azure 仮想マシンコストを削減するための以下の 3つの方法をご紹介しました。
1. Azure Spot VM
2. Reserved Instance
3. Azure Automation による VM の自動起動/自動停止
これらのサービスは、以下のように使い分けることをお勧めします。
・Azure Spot VM: 中断されても問題ない場合
・Reserved Instance(RI): 24/365 稼働かつ数年間稼働する場合
・Azure Automation: ピーク時以外は停止可能な場合
また、停止時間の長さによっては RI よりも Azure Automation の方が安くなる場合もあるため、事前に運用を想定した試算を行うことをお勧めします。
最後までお読みいただき、ありがとうございます。
利用方法やユースケースなど、Azure や WVD に関してご不明な点がございましたら、ぜひお気軽に Azure相談センター までお問い合わせください。
Azure に精通したスタッフが丁寧にご回答いたします。