Azure DevTest Labs とは?

Azure DevTest Labs とは、管理者により許可された範囲内で、ユーザーによる仮想マシンの作成/削除が行えるセルフサービスVDI環境を構築できるサービスです。
Azure Portalにて仮想マシンを大量に作成し、RBACを駆使すればできるのですが、Azure DevTest Labs を使えば、そのような環境を簡単に構築できます。
Azure DevTest Labs 自体は無料です。

Azure DevTest Labs のしくみ

①ラボユーザーはAzureAD認証を行い、Azure Portalにサインインします。
②RBACによりDevTest Labsサービスにのみアクセスできます。
③DevTest Labsにてラボ所有者が作成した”要求可能な仮想マシン”から、利用したいVMを選択し割り当て”要求”を行います。
④割り当てられた仮想マシンに対してSSH/RDP接続(ローカル/ドメイン認証)を行います。
※”要求可能な仮想マシン”は全ラボユーザーから要求可能です。制限はできません。
※ラボユーザーから要求されたタイミングでVMは起動されます。
※ラボユーザーには[DevTest Labs ユーザー]を割り当てます。4000userが上限

ネットワーク構成

DevTest Labsでは、下記3パターンの配置が可能です。
①プライベートIPのみを持った仮想マシン
②パブリックIPを持った仮想マシン
③パブリックロードバランサー配下の仮想マシン
※通常のVMと同様なので、オンプレミスからの接続やドメイン参加も可能

ラボ所有者ができること

・ラボユーザーの追加/削除
・ラボユーザーが使用する仮想マシンの作成
・ラボユーザーへの仮想マシン数の割り当て上限設定
・ラボユーザーへのメッセージ送信
・MarketplaceイメージやVMサイズの制限
・数式(VM設定テンプレート)やカスタムイメージの作成
・Azure Compute Galleryの接続
・作成できるVMの制限を指定
・時間指定による自動起動/停止の設定
・成果物(アーティファクト)やリポジトリの接続
・コスト管理

ラボユーザーができること

・クラウドID/ハイブリッドIDが必要
・仮想マシンの要求と解放
・仮想マシンの起動/停止/再起動
・許可された範囲内での仮想マシン作成&サイズ変更
・数式(VM設定テンプレート)やカスタムイメージの作成
・仮想マシンの再配置(再デプロイ)
・時間指定による自動起動/停止の設定


全体の流れ

Step1:ラボを作成する
Step2:仮想マシンを作成する
Step3:ラボユーザーの割り当て


Step1:ラボを作成する

[+リソースの作成]ー[検索:DevTestLabs]ー作成を選択

サブスクリプション:Azureサービスの提供範囲
リソースグループ:グループ名(複数のリソースを1つにグループ化する機能)
ラボ名:表示名
場所:デプロイするAzureのリージョン
パブリックな環境:※オン=パブリックなリポジトリへのアクセスを許可する

有効:※オン=自動シャットダウンを有効化
スケジュールされたシャットダウン:シャットダウンする時刻を指定
タイムゾーン:※日本の場合、UTC+9
自動シャットダウンの前に通知を送信しますか?:
Webhook URL:※TLS1.2のサポートが必須
電子メールアドレス:※複数アドレスはセミコロンで区切る

Virtual Network:※既存のNWを指定可能
サブネット:※既存のサブネットを指定可能
ラボリソースの分離:※ストレージアカウント、キーコンテナーのFWが[特定の仮想ネットワークとIPアドレスからのパブリックアクセスを許可する]に設定されるだけ

下記リソースが作成されます。
ストレージアカウント:選択した成果物(アーティファクト)のスクリプトを保存
キーコンテナー:仮想マシンのパスワードを保存


Step2:仮想マシンを作成する

作成したラボを選択ー[+追加]

OSイメージを選択 ※選択できるOSの編集が可能

仮想マシン名:ホスト名
ユーザー名:ローカル管理者アカウント
保存されているシークレットを使用する:※Key Vaultに保存されたVM用パスワードを使う
パスワード:ローカル管理者のパスワード
仮想マシンサイズ:目的にあったサイズを選択
OSディスクの種類:[Standard HDD / Standard SSD]
成果物:リポジトリにあるアプリケーションをインストールできる

VM作成時に指定したアプリケーションをインストールできます。
※[Join Active Directory (AD) domain]でドメイン参加も可能

仮想ネットワーク:※VMを展開する仮想ネットワークを指定
サブネットセレクター:※VMを展開するサブネットを指定
IPアドレス:
ーパブリック:仮想マシン1台につき1つのPIPを作成
ープライベート:PIP無しでVMを作成
ー共有:パブリックロードバランサーを作成し、その配下にVMを作成
仮想マシンの有効期限:※期限になるとVMを削除
このマシンを要求可能にする:
ーはい:”要求可能な仮想マシン”として作成。※ラボユーザーに配信したい場合
ーいいえ:”自身の仮想マシン”として作成。※[解放]で”要求可能な仮想マシン”に戻せる
インスタンス数:作成する台数。1~100台

作成するごとに、自動的にリソースグループが作成される


おまけ

DevTest Labsでは、カスタムイメージと数式(VM設定テンプレート)を作成する事ができます。あらかじめ必要なアプリケーションをインストールしたカスタムイメージを作成し、そのOSを元に数式と組み合わせて、いつもの仮想マシンを簡単に作成する事ができます。

カスタムイメージの作成
※DevTest Labsで作成した仮想マシンに必要なアプリケーションをインストールします。

仮想マシンを選択ー[カスタムイメージの作成]を選択

数式の作成

[構成とポリシー]ー[数式(再利用可能なベース)]ー[+追加]を選択

先程作成した、カスタムイメージを選択

仮想マシン作成時と同じ要領で進めていく

数式(VM設定テンプレート)の完成

通常通り、仮想マシンを作成しようとすると「カスタムイメージ+数式」が選択できる。
先程、設定した内容が入力済みなので、作成ボタンを押すだけなのである。


Step3:ラボユーザーの割り当て

[構成とポリシー]ー[アクセス制御]ー[+追加]ー[ロールの割り当ての追加]を選択

[DevTest Labs ユーザー]を選択

ラボユーザーとなるアカウントを選択 ※グループはRBAC1カウント

これだけで完了です!


確認してみましょう!

ラボユーザーでAzure Portalにサインイン

要求可能な仮想マシンから選択

[マシンの要求]を選択すると同時にVMが起動します。

あとは、いつも通りのSSH/RDP接続となります。