※ 2024/7/16に、Azure Lab Servicesのサービス提供停止が案内されました。2027/6 /28でサービスが利用出来なくなります。また、2024/7/15までにAzure Lab Servicesを利用したことが無いサブスクリプションでは、新規のラボが作成できなくなるようです。本記事を参照してAzure Lab Servicesを利用出来ないケースもありますのでご了承ください。本記事は参考情報として消さずに残しておきます。*1
Azure Lab Services(以下、Lab Services)というMicrosoft Azureのサービスがあります。
Lab Servicesは、トレーニングやハッカソンのためのハンズオン環境を作成・運用するためのサービスです。かなり用途が限られるため、使った事が無いという方も多いのではないでしょうか。
ですが、研修講師という立場だと非常に強力なサービスで、数年来愛用しています。*2
数年使ってきたことで、他サービスとの連携やBicepを使ったデプロイによる省力化、同時利用に耐えられる配置方法などノウハウがたまってきました。連載の形で共有するとともに、Azure Lab Servicesの魅力を伝えられればと思います。
まず1回目はLab Servicesの概要と、ラボの利用開始までの流れをご紹介します。
用途とメリット
複数の仮想マシンを、GUIだけで作成し、一人一人に割り当てる事が出来るサービスです。
これだけだと、「Azure Virtual Machineで出来るのでは?」と感じる方もいるかもしれませんが、出来る出来ないで言えば、確かにLab Servicesではなくても実現可能出です。
ですが、こんな条件が加わるとどうでしょうか?
- 作成する必要のある仮想マシンが多くGUIで作成するには現実的ではない*3
- 利用者には直接Azureの権限を付与出来ない、または付与させたくない
- Azure管理者と講師が分かれており、講師はAzure側の操作には詳しくない、あるいはさせたたくない
ここまでくると、Azure Virtual Machineでも実現出来なくはないですが、次のような考慮や検討が必要になってきます。
- 複数台の仮想マシンを一括で作成出来るようなスクリプトの開発
- 作成した仮想マシンの割り当て管理(リモートデスクトップ接続用のURL一覧の作成と利用ユーザーの紐付け・管理、ユーザーへの接続用HRLの案内など)
- ハンズオン開始時の仮想マシンの開始、利用終了時の仮想マシンの停止
また、Azureマーケットプレースにある仮想マシンがそのまま使える場合はいいのですが、ハンズオン用に設定やファイルをカスタマイズしたカスタムイメージを用意して展開する必要がある場合は、さらにAzure Compute Gallery でのイメージの管理なども必要になってきます。
こういった、大量のハンズオン環境の作成から管理、利用に関わる一通りの機能を、専用のUIからまとめて利用できるのがLab Servicesの特徴です。
利用のイメージ
と言っても、使った事がないとなかなかイメージが難しいと思います。
ここからは、1番基本的な、Azureポータルでの操作で全て完結する方法による、利用開始までの流れを紹介します。
Lab Services用のリソース作成
まずは、AzureポータルでLab Services用のリソースを作成します。
Marketplaceで「ラボ」などで検索します。この時、「ラボ アカウント」というものが出てくることがありますが、これはLab Servicesの昔の仕組みです。今から新しくLab Servicesを使う場合には、新しい仕組みである「ラボ 計画」*4の方を使います。
Createをクリックし、ラボ計画を選びます。
リソースグループと、ラボ計画の名前とリージョンを選びます。
ネットワークの設定などもありますが、必須ではないのでこのまま「確認と作成」をクリックし、「作成」からリソースを作成します。
ラボが出来ました。
Azure ポータルでの操作は一旦ここまでとなります。
ラボへのアクセス
ここから先は専用UIでの操作となります。
まずは、Lab Services Web サイトにアクセスし、サインインします。
初めは「ラボ計画」はあるけど「ラボ」は無い状態です。
ラボ計画は管理のための親リソースのようなもので、具体的に「Nested Hyper-Vが使えるWindows Server 2019の環境を受講者用に用意する」といった操作は「ラボ」という子リソースを作って行います。
ラボの作成
では、「ラボの作成」をクリックして、ラボを作成していきましょう。
仮想マシンイメージは初期状態ではあまり数がありません。今回はWindows Server 2022を選びます。
サイズは、通常のAzure 仮想マシンとはラインナップや名称が異なります。今回は「中規模(入れ子になった仮想化)」を選びます。
初期設定ではラボ計画のあるリージョンのみ選択可能です。今回はそのまま初期値を使います。
選択したら「次へ」をクリックします。
仮想マシンのユーザー名とパスワードを設定します。管理者とは別のアカウントをユーザー向けに作成したり、初回ログオン時にパスワードを求める設定にする事も出来ます。
今回は、管理者が作成した管理者アカウントとパスワードをそのまま使う設定にし、次に進みます。
ユーザーに割り当てる時間や、ユーザーが切断した時や使ってない時の自動シャットダウン設定を行う事が出来ますが、これは後から変更も可能です。今回はそのまま次へ進みます。
テンプレート仮想マシンを作るかどうか求められます。テンプレート仮想マシンを作成すると、準備には少し時間がかかりますが、Lab Services Web サイトの中だけで、受講者に配布する仮想マシンをカスタマイズし、研修用のファイルの配置や設定変更を行うことが出来ます。
今回は、この機能を有効にし、完了をクリックします。
あとは、ラボが出来上がるのを待ちましょう。
ラボが出来ました。
ラボの公開
ラボでテンプレートを加工する事が出来ます。先にも書いた研修用のファイルの配置や設定変更などをすることが出来ます。
ただ、今回はカスタマイズはスキップして、そのまま公開します。
公開時に、利用者用の仮想マシンを作る事が出来ます。ただ、後から追加する事も出来ます。今回は4台作ってみましょう。*5
公開をクリックすると、テンプレートを元に利用者用の仮想マシンが作られます。ここからまた20分ほど待つ必要があるので、終わるまで待ちましょう。終わるまでテンプレート関連の操作ボタンはグレーアウトします。
終わるとこのように表示されます。公開処理中はグレーアウトしていたテンプレート関連の操作ボタンも利用出来るようになっています。
今回は公開と合わせて仮想マシンを作成したので、仮想マシン プールにきちんと作成されています。
ラボ登録URLの発行
初期設定では、ラボの利用はアクセス制限がかかっています。
社内の研修であればここに組織アカウントを追加しますが、社外の方が参加するハッカソンなどをやる場合は、アクセスの制限は切った方が便利かもしれません。
今回は、アクセス制限を外して利用します。アクセス制限を外すと登録リンクを入手する事が出来るので、これを利用者に連絡します。*6
ラボの利用
ここは利用者側の操作になります。主催者から受け取った登録用URLでアクセスします。
アクセス制限を外していた場合でもサインインは求められます。ただし、自組織のアカウントである必要はなく、個人用のMicrosoftアカウントでサインインできます。*7
サインインすると、受講者用のLab Services Web サイトでラボが表示されます。
赤枠部分をクリックすると、仮想マシンが起動します。
「実行中」になると、リモートデスクトップ接続用のRDPファイルがダウンロード出来るようになります。
あとは、リモートデスクトップで接続するだけです。
使い終わったら受講者用のLab Services Web サイトから仮想マシンの停止も出来ます。
おわりに
今回は、Lab Servicesの特徴や利用までの一連の流れをお伝えしました。
次回は、今回スキップしたテンプレートのカスタマイズについてを中心に解説していきたいと思います。お楽しみに!
*1:https://learn.microsoft.com/ja-jp/azure/lab-services/retirement-guide
*2:個人的にはAzureで最もお気に入りのサービスかもしれません
*3:僕の場合は少なくとも100台以上必要
*4:英語表記では Lab Plan
*5:今回使っている環境は最大4台と書いていますが、通常の環境であればもっと作成可能です
*6:このURLが他に漏れると無関係な人が利用する可能性があります。アクセス制限が利用できるシナリオではなるべくアクセス制限を有効にしたままの利用を推奨します
*7:Entra IDにゲストIDが自動登録される、という事も無いようです
舟越 匠(日本ビジネスシステムズ株式会社)
人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットでPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。
担当記事一覧