チュートリアル: 高度なネットワークを使用してラボ通信を行うラボを設定する
重要
Azure Lab Services は 2027 年 6 月 28 日に廃止されます。 詳細については、提供終了ガイドを参照してください。
Note
この記事では、ラボ アカウントに代わり導入されたラボ プランで使用できる機能について説明します。
Azure Lab Services の高度なネットワークを使用すると、ラボ プランを使用して作成されたラボのネットワークを制御できます。 高度なネットワークを使用して、ライセンス サーバーへの接続、Azure Networking のハブスポーク モデルの使用、ラボ間通信など、さまざまなシナリオを実装できます。 このチュートリアルでは、Web 開発クラスのラボ間通信を設定します。
このチュートリアルを完了すると、相互に通信できる 2 つのラボ仮想マシン (サーバー VM とクライアント VM) を備えたラボが作成されます。
Azure Lab Services でサポートされているネットワーク シナリオの詳細を確認してください。
このチュートリアルでは、以下の内容を学習します。
- リソース グループを作成する
- 仮想ネットワークとサブネットの作成
- サブネットを Azure Lab Services に委任する
- ネットワーク セキュリティ グループの作成
- ネットワーク セキュリティ グループの受信規則を更新する
- ネットワーク セキュリティ グループを仮想ネットワークに関連付ける
- 高度なネットワークを使用してラボ プランを作成する
- 2 つのラボを作成する
- テンプレート VM で ICMP を有効にする
- 両方のラボを公開する
- ラボ VM 間の通信をテストする
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
リソース グループを作成する
リソース グループとは、Web アプリ、データベース、ストレージ アカウントなどの Azure リソースのデプロイと管理に使用する論理コンテナーです。 たとえば、後から簡単な手順で一度にリソース グループ全体を削除することもできます。
次の手順では、Azure portal を使ってリソース グループを作成する方法を示します。 わかりやすくするために、このチュートリアルのすべてのリソースを同じリソース グループで作成します。
- Azure portal にサインインします。
- [リソース グループ] を選択します。
- 上部のメニューから、[作成] を選択します。
- [リソース グループの作成] ページの [基本] タブで、次の操作を行います。
- [サブスクリプション] で、ラボを作成するサブスクリプションを選択します。
- [リソース グループ] に「MyResourceGroup」と入力します。
- [リージョン] で、最も近いリージョンを選択します。 利用可能なリージョンの詳細については、「Azure の地域」を参照してください。
- [確認および作成] を選択します。
- 概要を確認し、 [作成] を選択します。
仮想ネットワークとサブネットの作成
次の手順では、Azure portal を使用して、Azure Lab Services で使用できる仮想ネットワークとサブネットを作成する方法を示します。
重要
高度なネットワークで Azure Lab Services を使用する場合、仮想ネットワーク、サブネット、ラボ プラン、ラボはすべて同じリージョンに存在する必要があります。 さまざまな製品でサポートされているリージョンについては、リージョン別の Azure 製品に関するページを参照してください。
前に作成した MyResourceGroup を開きます。
Azure portal の左上隅にある [作成] を選択し、「仮想ネットワーク」と検索します。
「仮想ネットワーク」タイルを選択し、[作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の操作を行います。
- [サブスクリプション] で、リソース グループと同じサブスクリプションを選択します。
- [リソース グループ] で、[MyResourceGroup] を選択します。
- [名前] には「MyVirtualNetwork」と入力します。
- [リージョン] で、Azure Lab Services でもサポートされているリージョンを選択します。 サポートされているリージョンの詳細については、リージョン別の Azure Lab Services に関するページを参照してください。
- 次へ:[次へ: IP アドレス] を選択します。
[IP アドレス] タブで、ラボで使用されるサブネットを作成します。
- [サブネットの追加] を選択します。
- [サブネット名] に「labservices-subnet」と入力します。
- [サブネット アドレス範囲] に、CIDR 表記で範囲を入力します。 たとえば、10.0.1.0/24 を使用すると、251 個のラボ VM に十分な IP アドレスが与えられます。 (Azure では、サブネットごとに 5 つの IP アドレスが予約されています) VM 用のサブネットを作成するとき、利用できる IP アドレスの数を増やすには、異なる長さの CIDR プレフィックスを使用します。 たとえば、10.0.0.0/20 を使用すると、ラボ VM 用に 4000 を超える IP アドレスを割り当てられます。 サブネットの追加に関する詳細については、サブネットの追加に関するページを参照してください。
- [OK] を選択します。
[確認および作成] を選択します。
検証に合格したら、 [作成] を選択します。
サブネットを Azure Lab Services に委任する
次に、Azure Lab Services で使用するサブネットを構成します。 Azure Lab Services でサブネットを使用するには、サブネットをサービスに委任する必要があります。
- MyVirtualNetwork リソースを開きます。
- 左側のメニューの [サブネット] 項目を選びます。
- labservices-subnet サブネットを選択します。
- [サブネットの委任] セクションのサブネットをサービスに委任の設定で、[Microsoft.LabServices/labplans] を選択します。
- [保存] を選択します。
ネットワーク セキュリティ グループの作成
NSG を使用して、仮想ネットワーク内の 1 つまたは複数の仮想マシン (VM)、ロール インスタンス、ネットワーク アダプター (NIC)、またはサブネットに対するトラフィックを制御できます。 NSG には、トラフィックの方向、プロトコル、ソース アドレスとポート、および送信先アドレスとポートに基づいて、トラフィックを許可または拒否するアクセス制御ルールが含まれています。 NSG のルールは、いつでも変更でき、変更は関連付けられているすべてのインスタンスに適用されます。
NSG の詳細については、「 what is an NSG (NSG の概要)」を参照してください。
Azure Lab Services で高度なネットワークを使用する場合は、NSG が必要です。
NSG を作成するには、次の手順を実行します。
- Azure portal の左上隅にある [リソースの作成] を選択し、「ネットワーク セキュリティ グループ」と検索します。
- [ネットワーク セキュリティ グループ] タイルを選択し、[作成] を選択します。
- [ネットワーク セキュリティ グループの作成] の [基本] タブで、次の操作を行います。
- [サブスクリプション] で、これまで使用していた同じサブスクリプションを選択します。
- [リソース グループ] で、[MyResourceGroup] を選択します。
- [名前] に「MyNsg」と入力します。
- [リージョン] で、以前に作成した MyVirtualNetwork と同じリージョンを選択します。
- [確認および作成] を選択します。
- 検証に合格した場合は、[作成] を選択します。
ネットワーク セキュリティ グループの受信規則を更新する
ラボ ユーザーがリモート デスクトップを使用してラボ VM に接続できるようにするには、この種類のトラフィックを許可するセキュリティ規則を作成する必要があります。 Linux を使用する場合、SSH の規則を調整する必要があります。
前に作成したサブネットについて、RDP トラフィックと SSH トラフィックの両方を許可するルールを作成するには、次のようにします。
MyNsg を開きます。
左側のメニューで [受信セキュリティ規則] を選択します。
上部メニュー バーから [追加] を選択します。 受信セキュリティ規則を追加するための詳細を次のように入力します。
- [ソース] で [すべて] を選択します。
- [ソース ポート範囲] で * を選択します。
- [宛先] で [IP アドレス] を選択します。
- [宛先 IP アドレス/CIDR 範囲] で、前に作成した labservices-subnet のサブネット範囲を選択します。
- [サービス] で、[カスタム] を選択します。
- [宛先ポート範囲] に「22, 3389」と入力します。 ポート 22 は Secure Shell プロトコル (SSH) 用です。 ポート 3389 はリモート デスクトップ プロトコル (RDP) 用です。
- [プロトコル] で [すべて] を選択します。
- [アクション] で、 [許可] を選択します。
- [優先度] で [1000] を選択します。 優先順位は、RDP または SSH の他の拒否規則よりも高くする必要があります。
- [名前] に「AllowRdpSshForLabs」と入力します。
- [追加] を選択します。
規則が作成されるまで待ちます。
メニュー バーの [最新の情報に更新] を選択します。 新しいルールがルールの一覧に表示されます。
ネットワーク セキュリティ グループを仮想ネットワークに関連付ける
これで、ラボ VM が仮想ネットワークに接続できるようにするための受信セキュリティ規則が与えられた NSG が作成されました。
先ほど作成した仮想ネットワークに NSG を関連付けるには、次のようにします。
- MyVirtualNetwork を開きます。
- 左側のメニューの [サブネット] を選びます。
- 上部のメニュー バーから [関連付け] を選択します。
- [サブネットの関連付け] ページで、次の操作を行います。
- [仮想ネットワーク] で [myVirtualNetwork] を選択します。
- [サブネット] で [labservices-subnet] を選択します。
- [OK] を選択します。
警告
ネットワーク セキュリティ グループをサブネットに接続する手順は必須です。 サブネットにネットワーク セキュリティ グループが関連付けられていない場合、ラボ利用者はラボ VM に接続できません。
高度なネットワークを使用してラボ プランを作成する
仮想ネットワークが作成され、構成されたので、ラボ 計画を作成できます。
Azure Portal の左上隅にある [リソースの作成] を選択します。
ラボ プランを検索します。
[ラボ プラン] タイルで、[作成]ドロップダウンを選択し、[ラボ プラン] を選択します。
[ラボ プランの作成] ページの [Basics](基本) タブで、次の操作を行います。
- [Azure サブスクリプション] で、前に使用したサブスクリプションを選択します。
- [リソース グループ] で、既存のリソース グループを選択するか、[新規作成] を選択し、新しいリソース グループの名前を入力します。
- [名前] にラボ プラン名を入力します。 名前付けの制限の詳細については、「Microsoft.LabServices リソース名ルール」を参照してください。
- [リージョン] で、ラボ プランの作成先となるリージョン (場所) を選択します。
[次へ: ネットワーク] を選択します。
[ネットワーク] タブで、次の操作を行います。
- [高度なネットワークを有効にする] を選択します。
- [仮想ネットワーク] で [myVirtualNetwork] を選択します。
- [サブネット] で、[labservices-subnet] を選択します。
- [確認および作成] を選択します。
検証が成功したら、[作成] を選択します。
注意
高度なネットワークは、ラボ プランの作成時にのみ有効にすることができます。 高度なネットワークを後で追加することはできません。
2 つのラボを作成する
次に、高度なネットワークを使用する 2 つのラボを作成しましょう。 これらのラボでは、Azure Lab Services に関連付けられている labservices-subnet を使用します。 MyLabPlan を使用して作成されたすべてのラボ VM は互いに通信できます。 通信は、NSG やファイアウォールなどを利用して制限できます。
次の手順で両方のラボを作成します。 サーバー VM とクライアント VM にこの手順を繰り返します。
Azure Lab Services Web サイト https://labs.azure.com に移動します。
[サインイン] を選択して、資格情報を入力します。 Azure Lab Services では、組織アカウントと Microsoft アカウントがサポートされています。
メニュー バーのドロップダウンから MyResourceGroup を選択します。
[New lab](新しいラボ) を選択します。
[New Lab](新しいラボ) ウィンドウで、次のようにします。
- 名前を指定します。 名前は簡単に識別できる必要があります。 サーバー VM のラボに MyServerLab を使用し、クライアント VM のラボに MyClientLab を使用します。 名前付けの制限の詳細については、「Microsoft.LabServices リソース名ルール」を参照してください。
- 仮想マシン イメージを選択します。 このチュートリアルでは、Windows 11 Pro を使用しますが、必要に応じて別の使用可能なイメージを選択できます。 仮想マシン イメージの有効化について詳しくは、「ラボ作成者が利用できる Marketplace イメージを指定する」をご覧ください。
- [サイズ] で、[中] を選択します。
- [リージョン] にはリージョンが 1 つだけ指定されます。 ラボで高度なネットワークを使用する場合、ラボは関連付けられているサブネットと同じリージョンに存在する必要があります。
- [次へ] を選択します。
[Virtual machine credentials](仮想マシンの資格情報) ページで、ラボ内のすべての VM 用の既定の管理者資格情報を指定します。 管理者の名前とパスワードを指定します。 既定では、すべてのラボ VM に、ここで指定されたものと同じパスワードが与えられます。 [次へ] を選択します。
重要
ユーザー名とパスワードはメモしておいてください。 これらは再表示されません。
[ラボ ポリシー] ページで、既定の選択のままにして、[次へ] を選択します。
[テンプレート仮想マシンの設定] ウィンドウで、 [テンプレート仮想マシンの作成] を選択したままにします。 [完了] を選択します。
テンプレート VM の作成の状態を示す次の画面が表示されます。
テンプレート VM が作成されるまで待ちます。
ラボ テンプレートで ICMP を有効にする
ラボを作成したら、ラボ VM 間の通信をテストするために ICMP (ping) を有効にします。 まず、両方のラボに対してテンプレート VM で ICMP を有効にします。 テンプレート VM で ICMP を有効にすると、ラボ VM でもそれが有効になります。 ラボを公開すると、ラボ VM は互いに ping できるようになります。
ICMP を有効にするには、各ラボのテンプレート VM ごとに次の手順を実行します。
ラボの [テンプレート] ページで、テンプレート VM を起動して接続します。
- [テンプレートの開始] を選択します。
注意
テンプレート VM は、実行時にコストが発生するため、実行しておく必要がない場合はテンプレート VM がシャットダウンされるようにしてください。
- テンプレートが開始されたら、[テンプレートに接続] を選択します。
テンプレート VM にログインしたので、ICMP を許可するよう、VM でファイアウォール規則を変更します。 Windows 11 を使用しているため、PowerShell と Enable-NetFilewallRule コマンドレットを使用できます。 PowerShell ウィンドウを開くには、以下の手順を実行します。
- [スタート] ボタンを選択します。
- 「PowerShell」と入力します。
- [Windows PowerShell] アプリを選択します。
次のコードを実行します。
Enable-NetFirewallRule -Name CoreNet-Diag-ICMP4-EchoRequest-In
Enable-NetFirewallRule -Name CoreNet-Diag-ICMP4-EchoRequest-Out
ラボの [テンプレート] ページで、[停止] を選択してテンプレート VM を停止します。
両方のラボを公開する
このステップでは、ラボを公開します。 テンプレート VM を発行すると、Azure Lab Services によって、そのテンプレートを使用してラボ内に VM が作成されます。 すべての仮想マシンの構成は、テンプレートと同じになります。
[テンプレート] ページで、[公開] を選択します。
ラボに必要なマシンの数を入力し、[公開] を選択します。
警告
公開は元に戻すことができない操作です。 この操作を元に戻すことはできません。
ページには、テンプレートの公開の状態が表示されます。 発行が完了するまで待機します。
ラボ VM 間の通信をテストする
このセクションでは、異なるラボにある 2 つのラボ仮想マシンが互いに通信できることを確認します。
まず、各ラボからラボ VM を起動し、接続します。 各ラボについて次の手順を実行します。
Azure Lab Services Web サイトでラボを開きます。
左側のメニューで [仮想マシン プール] を選択します。
仮想マシン プールに一覧表示されている VM を 1 つ選択します。
その VM のプライベート IP アドレスを書き留めます。 サーバー ラボとクライアント ラボの両方の VM のプライベート IP アドレスが後で必要になります。
[状態] スライダーを選択して、状態を [停止済み] から [開始中] に変更します。
Note
ラボ教師がラボ VM を起動しても、ラボ ユーザーのクォータは影響を受けません。 ユーザーのクォータによって指定されるのは、スケジュールされたクラス時間外にラボ ユーザーが使用できるラボ時間数です。 クォータの詳細については、「ユーザーのクォータを設定する」を参照してください。
[状態] が [実行中] になったら、実行中の VM の接続アイコンを選択します。 ダウンロードした RDP ファイルを開いて VM に接続します。 異なるオペレーティング システムでの接続エクスペリエンスの詳細については、「ラボ VM に接続する」を参照してください。
次に、ping ユーティリティを使用してラボ間の通信をテストします。 サーバー ラボのラボ VM から、コマンド プロンプトを開きます。 ping {ip-address}
を使用してください。 {ip-address}
は、前に書き留めておいたクライアント VM のプライベート IP アドレスです。 このテストは、クライアント ラボの VM からサーバー ラボ内のラボ VM に実行することもできます。
完了したら、各ラボの [仮想マシン プール] ページに移動し、ラボ VM を選択してから [状態] スライダーを選択してラボ VM を停止します。
リソースをクリーンアップする
今後このアプリケーションを使う予定がなければ、次の手順を使用して、仮想ネットワーク、ネットワーク セキュリティ グループ、ラボ プランを削除します。
- Azure portal で、削除するリソース グループを選択します。
- [リソース グループの削除] を選択します。
- 削除を確認するには、リソース グループの名前を入力します。
トラブルシューティング
You are not authorized to access this resource
でラボの作成が失敗する
新しいラボ計画を作成するときに、アクセス許可がラボ レベルに反映されるまで数分かかる場合があります。 この動作を防ぐために、リソース グループ レベルでラボ作成者ロールを割り当てることができます。
- Azure portal でラボ プランを含むリソース グループに移動します。
- 左側のナビゲーションから [アクセス制御 (IAM)] を選択します。
- [追加]>[ロール割り当ての追加] の順に選択します。
- ラボ作成者ロールをユーザー アカウントに割り当てます。