Azure Lab Services(以下、Lab Services)という、トレーニングやハッカソンのためのハンズオン環境を作成・運用するためのサービスについて解説する連載です。
連載二回目から間が空いてしまったうちにサービス終了が予告されてしまいましたが、期限までサービスを利用したい方や代替手段の参考になる情報もあるかと思いますので、引き続き連載としては続けていきたいと思います。
三回目となる今回は、予告通り、コスト面の考え方やコスト削減にもつながる利用時間の管理機能についてご紹介します。
サービス提供停止に伴う注意
2024/7/16に、Lab Servicesのサービス提供停止が案内されました。
- 2027/6/28でサービスが利用出来なくなります
- 2024/7/15までにLab Servicesを利用したことが無いサブスクリプションでは、新規のラボが作成できません
本記事を参照してLab Servicesを利用出来ないケースもありますのでご了承ください。
Azure Lab Services retirement guide - Azure Lab Services | Microsoft Learn
コストの考え方
本章では、Azure Virtual Machines(以下、Azure VM)と比較する形で、コストの考え方について解説します。
Azure VM
Azure VMの場合、主に以下の要素に対してコストが発生します
- コンピューティング
- ライセンス
- ディスク
- ネットワーク
この中で、ディスク以外の要素は基本的には仮想マシンを停止(割り当て解除)すればコストは発生しません。
一方で、ディスクについては、仮想マシンが実行中か停止ししているかどうかに関わらずコストが発生します。
Lab Services
一方、Lab Servicesの場合は、複数の要素を考慮する必要がありません。
起動している分だけ料金が発生し、停止していれば料金は発生しない、とシンプルに考えることが出来ます。
利用料金の予測がしやすい、という観点ではLab Servicesに軍配が上がるかと思います。
コスト比較
実際に同じような利用方法をした場合に、コストにどのくらいの差が発生するものか、実際に計算をしてみました。
※ あくまで机上の計算であり、必ずしも正確なものではないことをご了承ください
前提とするシナリオ
以下のシナリオで考えます。
- 利用用途
- Hyper-Vのハンズオン学習での利用(Nested Hyper-Vが利用できる仮想マシンが必要)
- 人数
- 100人
- 利用期間
- 1週間(計算上、日曜の9時にリソース作成、土曜の17時にリソース削除とする)
- 期間中、6時間利用が5日間発生(合計30時間の利用)
なお、見積時の通貨は日本円とします。
利用するリソース
前提とするシナリオを元に、なるべく条件が近くなるようにリソースを考えました。
※ 本来はAzure VMの場合、データ用ディスクを追加してvhdなどを保存した方がいいのですが、条件をそろえるためOSディスクのみとしています。*1
Azure VM | Lab Services | |
---|---|---|
リージョン | 東日本 | 東日本 |
インスタンス | D4 v3 | M (入れ子になった仮想化) |
CPU | 4コア | 4コア |
メモリ | 16 GB | 16GB |
Nested Virtualization | Support | Support |
OSディスクのサイズ | 127GB | 127GB |
OSディスクの種類 | Premium SSD | Premium SSD |
料金見積もり
以下のような結果となりました。今回の利用想定だと、Lab Servicesの方がコストが高くなるようです
Azure VM | Lab Services | ||
---|---|---|---|
コンピューティング | ¥1,065 | ¥2,650 | ※ 30時間で計算 |
ライセンス | (上記と合算) | (上記と合算) | |
ディスク | ¥769 | (上記と合算) | ※ 作成から削除まで152時間で計算 |
ネットワーク | ¥0 | (上記と合算) | ※ 送信データ転送5GB以内と仮定 |
小計 | ¥1,834 | ¥2,650 | ※ 1人当たりのコスト |
合計 | ¥183,357 | ¥265,015 | ※ 100人利用時のコスト |
別条件での料金見積もりを踏まえた考察
利用期間のみ変更して再計算してみました。
- 利用期間
- 1か月(計算上、1日の9時にリソース作成、30日の17時にリソース削除とする)
- 期間中、6時間利用が5日間発生(合計30時間の利用)
Azure VM | Lab Services | ||
---|---|---|---|
コンピューティング | ¥1,065 | ¥2,650 | ※ 30時間で計算 |
ライセンス | (上記と合算) | (上記と合算) | |
ディスク | ¥3,560 | (上記と合算) | ※ 起動30時間、停止674時間で計算 |
ネットワーク | ¥0 | (上記と合算) | ※ 送信データ転送5GB以内と仮定 |
小計 | ¥4,625 | ¥2,650 | ※ 1人当たりのコスト |
合計 | ¥462,511 | ¥265,015 | ※ 100人利用時のコスト |
今回の見積もりではAzure VMの方がコストが高くなりました。
Azure VMの場合には未使用時でもディスクのコストがかかるので、環境を保持する時間が長くなってくると、Lab Servicesの方がコストメリットが出てくると考えられます。
Lab Servicesの利用時間管理
ここまで解説してきた通り、Lab Servicesのコストはシンプルに「利用した時間だけ課金」となります。
そのため、不要な起動時間を減らす事が、そのままコストの削減につながります。
スケジュール
Lab Servicesでは、ラボの設定でスケジュールを設定し、自動起動や自動停止を設定する事が出来ます。
例えば、毎日19時に自動停止の設定を行っておけば、業務時間後に停止し忘れていた、といったケースで不要なコストがかかることを防ぐことが出来ます。
実際の設定の流れです。まず、左ペインから「スケジュール」から「スケジュール化されたイベントの追加」をクリックします。
今回はイベントの種類を「停止のみ」とし、繰り返しですべての曜日を選択します。
これで、自動停止設定が出来ました。
なお、コスト削減目的ではないですが、自動起動の設定も行う事が出来ます。自動起動を設定しておくと、研修開始時にあらかじめ起動した状態に出来るので、スムーズに研修を始めることが出来ます。
自動停止と組み合わせて、午前中の研修がはじまったらVMを起動し終わったら停止する、といった使い方が可能です。
自動シャットダウン
時間だけではなく、ユーザーの利用状態から判断して自動シャットダウンを行う機能もあります。
以下の3つのオプションを設定可能で、すべて設定する事も出来ます。
- アイドル状態の仮想マシンをシャットダウンする
- ユーザーが切断したときに仮想マシンをシャットダウンする
- ユーザーがリモートデスクトップなどを切断してからの時間経過でシャットダウン
- ユーザーが接続していないときに仮想マシンをシャットダウンする
- 仮想マシンが起動してから一定時間接続が無い場合にシャットダウン
これも設定はラボから行います。左ペインの「設定」画面にあります。
既定値はすべて有効になっていて、経過時間は最大59分まで設定可能です。
既定値では有効になっていますが、あまり短いと休憩時間で切断しただけで停止してしまうので、適宜調整して利用するか、要件によってはオフにした方がいいケースもあるかもしれません。
ユーザーへのクォータの設定
いくら自動シャットダウンを設定しても、利用するユーザーが起動してしまえば利用出来てしまいます。自習や復習で自由に使える時間も必要ですが、あまり際限なく使われてもコストがかかります。
そこで、ユーザー一人当たりにクォータを設定して、一定時間以上は利用出来ないように設定する事が可能です。
下記は、10時間のクォータを設定している例です。
ユーザー側からはこのように見えます。
なお、管理者はユーザー毎に個別にクォータを追加する事も可能です。
おわりに
本記事では、Lab Servicesのコスト管理に関わる部分を中心に解説しました。
Lab ServicesとAzure VMを比較すると、Lab Servicesの方がシンプルにコストを見積もる事が出来る事に加えて、コスト削減の方法もあらかじめ備わっていて管理しやすいと感じました。
同じことをAzure VMで出来ないわけではないのですが、管理者側での工夫がより求められると感じました。
次回も、もう少しLab Servicesについて語ります。次回は、200人規模で同時利用した際のトラブルやサイジングの例を紹介できればと思います。
*1:Lab Servicesではデータディスクの追加が出来ないため
舟越 匠(日本ビジネスシステムズ株式会社)
人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットでPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。
担当記事一覧