どうも、フリーランスエンジニアのMakotoです。
こちらの記事では、仮想マシンの何にお金がかかるのかを解説しました。
簡単に作成したり削除できるのは便利ですが、
誰もがこう思いますね。
そこで今回は、Azure仮想マシンのコストを安くする方法について解説します。
Azureの代表的な割引オプションだけでなくコストを節約するためのちょっとした豆知識もご紹介しますので、ぜひ最後までお読みください。
それではいってみましょう!
仮想マシンを安く使う方法
Azure Spot Virtual Machines
Azureを学び始めた頃、できるだけお金がかからないよう極力安い非力なサイズを選択していました。しかーし!WindowsServerの場合は1コアとかだと動作が重くて学習の効率が悪くなるんですよ。。
そこで利用したいのがAzure Spot Virtual Machinesです。AWSではスポットインスタンスと呼びます。
スポットVMではAzureの未使用のリソース、つまり、余っていて使っていないリソースを使うので大幅な割引を受けることができます。
スポットVMを利用するには仮想マシン作成の画面で「Azureスポットインスタンス」にチェックを入れるだけです。
画面の例では「DS1_v2」サイズの価格が1時間あたり$0.01207になっています。円安のご時世なので1ドル150円で計算しても月およそ1320円です。
スポットVMの単価は変動します。今選んだサイズが次の日に同じ価格とは限りません。最安とも限りません。
私はすべてのサイズを表示してから、グループ化を解除してコスト列で安い順に並び替えし、2コア、8GBメモリ程度のサイズを使うことが多いです。どのサイズも80%~90%程度の割引になっていることがわかりますね。
スポットVMを利用する上での注意点は大きく2点です。
- VMを止められる可能性がある
- クォータ制限に引っかかる場合がある
1点目はAzureによって強制的にVMを止められる可能性があるということです。当然、SLAも適用されません。
スポットVMは余剰リソースの利用によって成り立っていますが、もし他でリソースが必要になれば問答無用で停止されます。正確には「削除ポリシー」で動作が異なり、停止か削除を選択することができます。
利用可能な容量は、サイズ、リージョン、時刻などによって異なります。もし停止/削除されてしまった場合はリージョンを変えてみるのが良いかもしれません。
私の経験上、何度か強制停止をくらったことがありますが数えるくらいしか経験したことないので頻度は多くない印象です。停止した仮想マシンをすぐに起動させてもやっぱりすぐに停止されました。笑
いつ停止してもかまわない用途で利用することになりますが、Azureの学習目的で利用する上ではあまり問題にならないと思いますのでぜひ活用してみてください。
2点目はCPUコア数の上限(クォータ)に引っかかってスポットVMを作成できない場合があるということです。
これはスポットVMに限った話ではありませんが、Azureではサブスクリプションやサービスごとに「クォータ」と呼ばれる制限が設けられています。
通常の仮想マシン、スポットVMとも既定のコア数は「20」となっていますが、これはサブスクリプションの種類やシリーズによって異なります。通常の仮想マシン、スポットVMとでクォータは別々に定められています。
私のサブスクリプションの場合、スポットVMの上限は「3」になっていました。クォータ不足で選択できない場合は「クォータの要求」から増加の要求を行うことができます。
スポットVMは一時的な利用シーンに適しており大幅な割引を受けることができる
Azure Reserved Virtual Machine Instances(RIs)
Azure Reserved Virtual Machine Instancesは、1年または3年の仮想マシン利用を予約することで割引を受けられる仕組みです。AWSでいうところの「リザーブドインスタンス」です。
実際には「予約」というメニューから購入することができ、仮想マシン以外にも予約できるサービスがあります。
よく「まとめて前払い」が条件と説明されている場合もありますが、現在は月払いも選択することができます(契約期間は1年 or 3年です)
勘違いしやすいのですが、予約のメニューから仮想マシンを選択して購入したところでインスタンスが作成されるわけではありません。
例えるなら、割引クーポン?チケット?を購入するようなもので、指定したリージョン、指定したサイズの仮想マシンが作成されると自動的に適用されます。
指定したリージョン、指定したサイズの組み合わせが違うと予約割引は適用されない点には注意が必要です。特にサイズは要注意です。たとえば「D4」と「DS4」とか見間違えそうなので予約の購入時は慎重に。いちおう、交換や払い戻しは可能なようです。
もう一つの注意点は、割引されるのはあくまで仮想マシンのみなので、ディスクの料金は割引されません。マネージドディスクの予約は別にあるので、こちらも購入すれば割引を受けられます(現時点ではPremium SSDのみ対象)
長期利用前提の場合は予約購入することで大幅な割引を受けることができる
Azure ハイブリッド特典(AHB)
Azure ハイブリッド特典(Azure Hybrid Benefit)は、既存のオンプレミスのライセンスを持ち込むことでライセンス利用料の分だけ割引を受けられる仕組みです。
現時点で次のライセンスが対象となっています。Linuxもエンタープライズ向けOSが対象です。
- Windows Server
- SQL Server
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
OSのハイブリッド特典を受けるには、仮想マシン作成の画面でチェックを入れます。ライセンスを持っていなくてもチェックを入れて作成できるようですが、ライセンス違反になりますのでやめましょう。
既存ライセンスを持ち込めばライセンス利用料の分だけ割引を受けることができる
番外編
ここまでは仮想マシン利用料の割引オプションについてご紹介しましたが、豆知識として無駄にコストをかけないようにするためのテクニックをお伝えします。
自動シャットダウンを設定する
Azure入門者あるあるだと思うのですが、作成した仮想マシンの停止を忘れて放置してしまい、意図せず課金されてしまったことありませんか?私はよくやらかしてました、はい。
時間になったら仮想マシンを自動的にシャットダウンして課金を停止できます。
仮想マシンを作成する時にも自動シャットダウンは有効化できます。ハンズオン記事でもご紹介していますので合わせてチェックしてみてください。
この手の失敗はお金もそうですが精神的ダメージが大きいので、学習目的であれば寝る時間などに設定しておくことをオススメします。
smalldiskを使う
こちらの記事でもご紹介しましたが、Windowsの場合、smalldiskのOSイメージを使うことでOSディスクの容量を減らせる(127GB → 30GB)のでコストを節約することができます。
すべてのイメージを表示させて、WindowsServerのプルダウンの中から頭に[smalldisk]と付いているものを探し出します。画像では2019 DataCenterを示しています。
予算アラートを登録する
予算アラートを登録しておくことで、請求額が設定した金額になった場合にメールを受け取ることができます。
作成したリソースを削除し忘れたりサーバの停止を忘れてしまって高額の請求にならないように最初に設定しておきましょう。
設定手順はこちらの記事を参考にしてください。
まとめ
Azure仮想マシンのコストを安くする方法について、割引を受けるためのオプション3選に加えて、無駄にコストをかけないためのテクニックをご紹介しました。
AZ-900試験では前半でご紹介した割引オプション3選について問われる可能性がありますので、それぞれの利用シーンと特徴をしっかりおさえておきましょう。
番外編のテクニックも個人学習では役に立つと思います。無駄にお金をかけないようにぜひ活用してみてください!
それでは、また。