はじめに
Spot VMとは、Azure上の余っているコンピューティング容量を利用することで、割引き価格でVMを利用することが出来る仕組みです。
VM作成時の設定項目にある”Azure Spot 割引で実行する”にチェックを付けることで、そのVMをSpot VMとして利用することが出来ます。
ただし、大幅な割引きを受けれる一方で、Azure上の余っているコンピューティング容量がなくなると、VMが強制的に停止(または削除)されてしまう等、利用前に考慮すべき点もいくつかあります。
そこで、本記事では、Spot VMを適切に活用してコスト削減をするために、利用前に知っておくべき特徴や作成時の設定項目等についてまとめております。
ぜひ最後までご確認いただき、Spot VMを活用したコスト削減をご検討ください!
Spot VMのメリット・デメリット・制限事項
■メリット:
・VMのコストを大幅に削減できる(従量課金制の価格と比較して最大90% の削減可能)
■デメリット:
・SLAがない
・VM作成時にしかSpotVMの設定はできない
※既存のVMをSpotVMにしたい場合、新規で作成し直す必要がある
・Azure上の余っているコンピューティング容量がなくなった場合、強制的に停止、または削除される
※停止されるか、削除されるかは、Spot VM作成時の設定に基づく
→詳細については、本記事の後半のセクション「Spot VMの作成方法・各設定項目の詳細について」をご確認ください。
・強制的に停止された場合でも、停止期間中はディスク(ストレージ)の料金は発生する
・デフォルトの設定では、最大の割引き価格でVMを利用できない
→詳細については、本記事の後半のセクション「Spot VMの作成方法・各設定項目の詳細について」をご確認ください。
■制限事項:
・B シリーズや任意のサイズのキャンペーン バージョン (Dv2、NV、NC、H キャンペーン サイズなど)では、 Spot VMは利用できない
・現在は、以下の契約形態でのみ、Spot VMの利用が可能
Enterprise Agreement
従量課金制プラン (0003P)
スポンサー (0036P および 0136P)
CSPについては、パートナー センターを参照するか、パートナーに直接お問い合わせが必要
Spot VMの利用が望ましいケース
VMが強制的に停止(または削除)されても問題ないような、検証用のVM等で利用することが望ましいです。
Spot VMの最大の割引き価格・割引き率の確認方法
下記の価格サイトにて、SpotVM利用時の最大の割引き価格・割引き率を確認することが出来ます。
価格サイト:https://azure.microsoft.com/ja-jp/pricing/spot-advisor/
Spot VMの作成方法・各設定項目の詳細について
VM作成時の設定項目にある”Azure Spot 割引で実行する”にチェックを付けるだけで、そのVMをSpot VMとして作成することが出来ます。
“Azure Spot 割引で実行する”にチェックを付けると、新たに設定項目”削除の種類”と”削除ポリシー”が表示されます。
■設定項目”削除の種類”
“削除の種類”は、[容量のみ]と[価格または容量]から選択出来るようになっています。
[価格または容量]を選択した場合、設定項目“1 時間あたりの最大希望支払価格 (米国ドル)”についてもユーザー側で設定する必要があります。
デフォルトの設定では、[容量のみ]が選択されていいますが、この場合、VM起動時において、常に、SpotVM利用時の最大の割引き価格で利用できるわけではないので、注意が必要です!
設定項目の違いによる、価格や動作の違いは以下をご確認ください。
▶[容量のみ]を選択した場合の価格・動作
Azure上の余っているコンピューティング容量が多くある場合、価格サイトに記載のあるような、SpotVM利用時の最大の割引き価格で利用できます。
Azure上の余っているコンピューティング容量が少なくなってきた場合、SpotVM利用時の最大の割引き価格から、徐々に価格が上がっていき、最大で従量課金制時と同じ価格になります。
Azure上の余っているコンピューティング容量が完全になくなった場合、”削除ポリシー”に従って、処理が行われます。
▶[価格または容量]を選択した場合の価格・動作
Azure上の余っているコンピューティング容量が多くある場合、価格サイトに記載のあるような、SpotVM利用時の最大の割引き価格で利用できます。
Azure上の余っているコンピューティング容量が少なくなってきた場合、SpotVM利用時の最大の割引き価格から、徐々に価格が上がっていき、”1 時間あたりの最大希望支払価格 (米国ドル)”に設定した価格を超えた場合、”削除ポリシー”に従って、処理が行われます。
Azure上の余っているコンピューティング容量が完全になくなった場合、”削除ポリシー”に従って、処理が行われます。
上記を踏まえたユースケースとしては、
・VM起動時は必ず、SpotVM利用時の最大の割引き価格で利用できるようにしたい場合は、
“削除の種類”に[価格または容量]を選択し、”1 時間あたりの最大希望支払価格 (米国ドル)”には、最低価格(「ハードウェア コスト ($X.XXX) 以上の価格を入力してください」に記載されいてる価格)を設定してください。
・従量課金制の価格までは許容できる場合は、[容量のみ]を選択ください。
■設定項目”削除ポリシー”
“削除ポリシー”は、[停止/割り当て解除]と[削除]から選択出来るようになっています。
Azure上の余っているコンピューティング容量が完全になくなった場合(または、”1 時間あたりの最大希望支払価格 (米国ドル)”に設定した価格を超えた場合)に、”削除ポリシー”で設定した処理が行われます。
問答無用でリソースが削除されていい場合はあまりないかと思いますので、基本的には[停止/割り当て解除]を選択するケースが多いかと存じます。
なお、[削除]を選択した場合、削除処理が行われる際に、元となるディスクも削除されますが、
[停止/割り当て解除]を選択した場合、強制的に停止処理が行われた後の停止期間中も、ディスクの料金は発生します!
作成済Spot VMの確認方法
作成済のSpot VMは、AzurePortal上のVM一覧画面に表示されます。
ただし、VM一覧画面のデフォルトの設定では、通常のVMと、Spot VMを見分けることが出来ません。
VMとSpotVMの見分けたい場合、VM一覧画面の左上に表示されている[ビューの管理]→[列の編集]より、[Azureスポットの削除の種類]または[Azureスポットの削除ポリシー]を追加します。
そうすることで、SpotVMで作成されているVMには、上記で追加した列に値が表示されます。
値が表示されず、「-」とのみ表示されているVMが、SpotVMで作成されていない通常のVMになります。
または、個別のVMにおいて、SpotVMで作成されているか否かを確認したい場合は、該当VMの概要画面より、”Azureスポット”に値が表示されているか否かで確認することも可能です。
FAQ
■強制的に停止されたVMは、Azure上に余っているコンピューティング容量が発生した場合、自動で起動されるか?
→自動で起動されない。ユーザー側で起動する必要がある。
■強制的に停止されたVMは、すぐに起動できるか?
→すぐに起動できるとは限らない。
コンピューティング容量が余った場合に、起動することが出来るようになるが、いつ利用可能になるのかを予測・確認する方法はない。
■強制的に停止されたVMのデータはどうなる?
→ディスクに保存されたデータは残るが、一時ディスク上のデータは消える。
※強制的に停止された場合、AzurePortal上から停止ボタンを押下して、VMを停止した場合と同様の挙動になる。