ラボ - Azure Resource Manager テンプレートを使用してホスト プールとホストをデプロイする

受講生用ラボ マニュアル

ラボの依存関係

  • このラボで使用する Azure サブスクリプション。
  • このラボで使用する Azure サブスクリプションの所有者または共同作成者ロールを持つ Microsoft アカウントまたは Microsoft Entra アカウントと、Azure サブスクリプションに関連付けられた Microsoft Entra テナントのグローバル管理者ロールを持つ Microsoft アカウントまたは Microsoft Entra アカウント。
  • 完了したラボ: Azure Virtual Desktop (AD DS) のデプロイを準備する
  • 完了したラボ Azure portal を使用してホスト プールとセッション ホストをデプロイする (AD DS)

推定所要時間

45 分

ラボのシナリオ

Azure Resource Manager テンプレートを使用して、Azure Virtual Desktop ホスト プールとホストのデプロイを自動化する必要があります。

目標

このラボを完了すると、次のことができるようになります。

  • Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールとホストをデプロイする

ラボ ファイル

  • \\AZ-140\AllFiles\Labs\02\az140-23_azuredeployhp23.parameters.json
  • \\AZ-140\AllFiles\Labs\02\az140-23_azuremodifyhp23.parameters.json

手順

演習 1: Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールとホストをデプロイする

この演習の主なタスクは次のとおりです。

  1. Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールのデプロイを準備する
  2. Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールとホストをデプロイする
  3. Azure Virtual Desktop ホスト プールとホストのデプロイを確認する
  4. Azure Resource Manager テンプレートを使用して既存の Azure Virtual Desktop ホスト プールへのホストの追加を準備する
  5. Azure Resource Manager テンプレートを使用して既存の Azure Virtual Desktop ホスト プールにホストを追加する
  6. Azure Virtual Desktop ホスト プールへの変更を確認する
  7. Azure Virtual Desktop ホスト プールで個人用デスクトップ割り当てを管理する

タスク 1: Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールのデプロイを準備する

  1. ラボ コンピューターから Web ブラウザーを起動して Azure portal に移動し、このラボで使用するサブスクリプションの所有者ロールを持つユーザー アカウントの資格情報を入力してサインインします。
  2. Azure portal で、「仮想マシン」を検索して選択し、[仮想マシン] ウィンドウで [az140-dc-vm11] を選択します。
  3. [az140-dc-vm11] ブレードで [接続] を選択し、ドロップダウン メニューで [Bastion 経由で接続する] を選択します。
  4. プロンプトが表示されたら、次の資格情報を入力し、[接続] を選択します。

    設定
    [ユーザー名] Student
    パスワード Pa55w.rd1234
  5. az140-dc-vm11 への Bastion セッション内で、管理者として Windows PowerShell ISE を起動します。
  6. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] コンソールから以下を実行して、Azure Virtual Desktop プール ホストのコンピューター オブジェクトをホストする WVDInfra という名前の組織単位の識別名を特定します。

    (Get-ADOrganizationalUnit -Filter "Name -eq 'WVDInfra'").distinguishedName
    
  7. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] スクリプト ペインから以下を実行して、Azure Virtual Desktop ホストを AD DS ドメイン (student@adatum.com) に参加させるために使用する ADATUM\Student アカウントのユーザー プリンシパル名属性を特定します。

    (Get-ADUser -Filter "sAMAccountName -eq 'student'").userPrincipalName
    
  8. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] スクリプト ペインから以下を実行して、このラボの後半で個人用デスクトップ割り当てをテストするために使用する ADATUM\aduser7 アカウントと ADATUM\aduser8 アカウントのユーザー プリンシパル名を特定します。

    (Get-ADUser -Filter "sAMAccountName -eq 'aduser7'").userPrincipalName
    (Get-ADUser -Filter "sAMAccountName -eq 'aduser8'").userPrincipalName
    

    :識別したすべてのユーザー プリンシパル名の値**および **WVDInfra OU の識別名を記録します。 これらは、このラボの後半で必要になります。

  9. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] スクリプト ペインから以下を実行して、テンプレートベースのデプロイを実行するために必要なトークンの有効期限を計算します。

    $((get-date).ToUniversalTime().AddDays(1).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))
    

    : 値は、2022-03-27T00:51:28.3008055Z のような形式になります。 次のタスクで必要になるので、記録しておきます。

    : プールに参加するホストを承認するには、登録トークンが必要です。 トークンの有効期限の値は、現在の日付と時刻の 1 時間後から 1 か月後までの間にある必要があります。

  10. az140-dc-vm11 への Bastion セッション内で、Microsoft Edge を起動して、Azure portal に移動します。 ダイアログが表示されたら、このラボで使用するサブスクリプションの所有者ロールをもつユーザー アカウントの Microsoft Entra 資格情報を指定してサインインします。
  11. az140-dc-vm11 への Bastion セッション内で、Azure portal の Azure portal ページの上部にある [リソース、サービス、ドキュメントの検索] テキスト ボックスを使用して、「仮想ネットワーク」を検索して移動し、[仮想ネットワーク] ブレードで [az140-adds-vnet11] を選択します。
  12. [az140-adds-vnet11] ウィンドウで [サブネット] を選択し、[サブネット] ウィンドウで [+ サブネット] を選択し、[サブネットの追加] ウィンドウで、次の設定を指定し (他のすべての設定は既定値のままにします)、[保存] をクリックします。

    設定
    名前 hp2-Subnet
    サブネットのアドレス範囲 10.0.2.0/24
  13. az140-dc-vm11 への Bastion セッション内で、Azure portal の Azure portal ページの上部にある [リソース、サービス、ドキュメントを検索する] テキスト ボックスを使用し、[ネットワーク セキュリティ グループ] を検索してそこに移動し、[ネットワーク セキュリティ グループ] ブレードで、唯一のネットワーク セキュリティ グループを選択します。
  14. ネットワーク セキュリティ グループ ウィンドウの左側の垂直メニューの [設定] セクションで、[プロパティ] をクリックします。
  15. [プロパティ] ウィンドウで、[リソース ID] テキスト ボックスの右側にある [クリップボードにコピー] アイコンをクリックします。

    : 値は、/subscriptions/de8279a3-0675-40e6-91e2-5c3728792cb5/resourceGroups/az140-11-RG/providers/Microsoft.Network/networkSecurityGroups/az140-cl-vm11-nsg のような形式になります。ただし、サブスクリプション ID は異なります。 次のタスクで必要になるので、記録しておきます。

  16. これで、6 つの値を記録しました。 識別名、3 つのユーザー プリンシパル名、DateTime 値、リソース ID です。 6 つの値が記録されていない場合は、先に進むに、このタスクをもう一度お読みください。

タスク 2: Azure Resource Manager テンプレートを使用して Azure Virtual Desktop ホスト プールとホストをデプロイする

  1. ラボ コンピューターから Web ブラウザーを起動して Azure portal に移動し、このラボで使用するサブスクリプションの所有者ロールを持つユーザー アカウントの資格情報を入力してサインインします。
  2. ラボ コンピューターから、同じ Web ブラウザー ウィンドウで別の Web ブラウザー タブを開き、GitHub Azure RDS テンプレート リポジトリ ページの「新しい Azure Virtual Desktop ホスト プールを作成してプロビジョニングするための ARM テンプレート」に移動します。
  3. [新しい Azure Virtual Desktop ホスト プールを作成してプロビジョニングするための ARM テンプレート] ページで、[Azure にデプロイ] を選択します。 これにより、ブラウザーが Azure portal の [カスタム デプロイ] ウィンドウに自動的にリダイレクトされます。
  4. [カスタム デプロイ] ウィンドウで、[パラメーターの編集] を選択します。
  5. [パラメーターの編集] ウィンドウで、[ファイルの読み込み] を選択し、[開く] ダイアログ ボックスで、\\AZ-140\AllFiles\Labs\02\az140-23_azuredeployhp23.parameters.json を選択し、[開く] を選択して、[保存] を選択します。
  6. 再び [カスタム デプロイ] ウィンドウで以下の設定を指定します (他は既存の値のままにします):

    設定
    サブスクリプション このラボで使用している Azure サブスクリプションの名前
    リソース グループ az140-23-RG」という名前の新しいリソース グループを作成します
    リージョン ラボ「Azure Virtual Desktop (AD DS) のデプロイを準備する」で AD DS ドメイン コントローラーをホストする Azure VM をデプロイした Azure リージョンの名前
    場所 リージョン パラメーターの値として設定されたものと同じ Azure リージョンの名前
    ワークスペースの場所 リージョン パラメーターの値として設定されたものと同じ Azure リージョンの名前
    ワークスペース リソース グループ null の場合、その値はデプロイ ターゲット リソース グループと一致するように自動的に設定されるため、なしになります
    すべてのアプリケーション グループ リファレンス ターゲット ワークスペースに既存のアプリケーション グループがないため、なしになります (ワークスペースがありません)
    VM の場所 場所パラメーターの値として設定されたものと同じ Azure リージョンの名前
    ネットワーク セキュリティ グループの作成 false
    ネットワーク セキュリティ グループ ID 前のタスクで特定した既存のネットワーク セキュリティ グループの resourceID パラメーターの値
    トークンの有効期限 前のタスクで計算したトークンの有効期限の値

    : このデプロイでは、個人用デスクトップ割り当ての種類のプールがプロビジョニングされます。

  7. [カスタム デプロイ] ウィンドウで、[確認および作成] を選択し、[作成] を選択します。

    : デプロイが完了するまで待ってから、次のタスクに進んでください。 これには 15 分ほどかかる場合があります。

タスク 3: Azure Virtual Desktop ホスト プールとホストのデプロイを確認する

  1. ラボ コンピューターの Azure portal が表示されている Web ブラウザーで、「Azure Virtual Desktop」を検索して選択し、[Azure Virtual Desktop] ウィンドウで [ホスト プール] を選択し、[Azure Virtual Desktop | ホスト プール] ウィンドウで、新しく変更されたプールを表すエントリ [az140-23-hp2] を選択します。
  2. [az140-23-hp2] ウィンドウの左側にある垂直メニューの [管理] セクションで、[セッション ホスト] をクリックします。
  3. [az140-23-hp2 | セッション ホスト] ウィンドウで、デプロイが 2 つのホストで構成されていることを確認します。
  4. [az140-23-hp2 | セッション ホスト] ウィンドウの左側の垂直メニューにある [管理] セクションで、[アプリケーション グループ] をクリックします。
  5. [az140-23-hp2 | アプリケーション グループ] ウィンドウで、az140-23-hp2-DAG という名前の “既定のデスクトップ” アプリケーション グループがデプロイに含まれていることを確認します。

タスク 4: Azure Resource Manager テンプレートを使用して既存の Azure Virtual Desktop ホスト プールにホストを追加する準備をする

  1. ラボ コンピューターから、az140-dc-vm11 への Bastion セッションに切り替えます。
  2. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] コンソールから以下を実行して、この演習で先ほどプロビジョニングしたプールに新しいホストを参加させるために必要なトークンを生成します。

    $registrationInfo = New-AzWvdRegistrationInfo -ResourceGroupName 'az140-23-RG' -HostPoolName 'az140-23-hp2' -ExpirationTime $((get-date).ToUniversalTime().AddDays(1).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))
    
  3. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] コンソールから以下を実行してトークンの値を取得し、クリップボードに貼り付けます。

    $registrationInfo.Token | clip
    

    : 次のタスクで必要になるため、クリップボードにコピーした値を記録します (たとえば、メモ帳を起動し、Ctrl + V キーの組み合わせを押してクリップボードの内容をメモ帳に貼り付けます)。 使用している値に、改行なしで 1 行のテキストが含まれていることを確認します。

    : プールに参加するホストを承認するには、登録トークンが必要です。 トークンの有効期限の値は、現在の日付と時刻の 1 時間後から 1 か月後までの間にある必要があります。

タスク 5: Azure Resource Manager テンプレートを使用して既存の Azure Virtual Desktop ホスト プールにホストを追加する

  1. ラボ コンピューターから、同じ Web ブラウザー ウィンドウで別の Web ブラウザー タブを開き、GitHub Azure RDS テンプレート リポジトリ ページの「ARM テンプレートで既存の Azure Virtual Desktop ホストプールに sessionhosts を追加する」に移動します。
  2. [セッション ホストを既存の Azure Virtual Desktop ホストプールに追加するための ARM テンプレート] ページで、[Azure にデプロイ] を選択します。 これにより、ブラウザーが Azure portal の [カスタム デプロイ] ウィンドウに自動的にリダイレクトされます。
  3. [カスタム デプロイ] ウィンドウで、[パラメーターの編集] を選択します。
  4. [パラメーターの編集] ウィンドウで、[ファイルの読み込み] を選択し、[開く] ダイアログ ボックスで、\\AZ-140\AllFiles\Labs\02\az140-23_azuremodifyhp23.parameters.json を選択し、[開く] を選択して、[保存] を選択します。
  5. 再び [カスタム デプロイ] ウィンドウで以下の設定を指定します (他は既存の値のままにします):

    設定
    サブスクリプション このラボで使用している Azure サブスクリプションの名前
    リソース グループ az140-23-RG
    ホストプール トークン 前のタスクで生成したトークンの値
    ホストプールの場所 このラボの前半で仮想マシンをデプロイした Azure リージョンの名前
    VM の場所 ホストプールの場所パラメーターの値として設定されたものと同じ Azure リージョンの名前
    ネットワーク セキュリティ グループの作成 false
    ネットワーク セキュリティ グループ ID 前のタスクで識別した既存のネットワーク セキュリティ グループの resourceID パラメーターの値
  6. [カスタム デプロイ] ウィンドウで、[確認および作成] を選択し、[作成] を選択します。

    : デプロイが完了するまで待ってから、次のタスクに進んでください。 これには 10 分ほどかかる場合があります。

タスク 6: Azure Virtual Desktop ホスト プールへの変更を確認する

  1. ラボ コンピューターの Azure portal を表示している Web ブラウザーで、「仮想マシン」を検索して選択し、[仮想マシン] ウィンドウで、一覧に az140-23-p2-2 という名前の追加の仮想マシンが含まれていることに注意してください。
  2. ラボ コンピューターから、az140-dc-vm11 への Bastion セッションに切り替えます。
  3. az140-dc-vm11 への Bastion セッション内で、[管理者: Windows PowerShell ISE] コンソールから以下を実行して、3 番目のホストが adatum.com AD DS ドメインに正常に参加したことを確認します。

    Get-ADComputer -Filter "sAMAccountName -eq 'az140-23-p2-2$'"
    
  4. ラボ コンピューターに戻り、Azure portal が表示されている Web ブラウザーで、「Azure Virtual Desktop」を検索して選択し、[Azure Virtual Desktop] ウィンドウで [ホスト プール] を選択し、[Azure Virtual Desktop | ホスト プール] ウィンドウで、新しく変更されたプールを表すエントリ [az140-23-hp2] を選択します。
  5. [az140-23-hp2] ウィンドウで、[Essentials] セクションを確認し、[ホスト プールの種類][個人用] に設定され、[割り当ての種類][自動] に設定されていることを確認します。
  6. [az140-23-hp2] ウィンドウの左側にある垂直メニューの [管理] セクションで、[セッション ホスト] をクリックします。
  7. [az140-23-hp2 | セッション ホスト] ウィンドウで、デプロイが 3 つのホストで構成されていることを確認します。

タスク 7: Azure Virtual Desktop ホスト プールで個人用デスクトップ割り当てを管理する

  1. ラボ コンピューターの Azure portal が表示されている Web ブラウザーの [az140-23-hp2 | セッション ホスト] ウィンドウの左側の垂直メニューにある [管理] セクションで、[アプリケーション グループ] を選択します。
  2. [az140-23-hp2 | アプリケーション グループ] ウィンドウのアプリケーション グループの一覧で [az140-23-hp2-DAG] を選択します。
  3. [az140-23-hp2-DAG] ウィンドウの左側の垂直メニューで、[割り当て] を選択します。
  4. [az140-23-hp2-DAG | 割り当て] ウィンドウで、[+ 追加] を選択します。
  5. [Microsoft Entra ユーザーまたはユーザー グループの選択] ブレードで、[グループ] を選択したら、[az140-wvd-personal] を選択し、[選択] をクリックします。

    : ここで、Azure Virtual Desktop ホスト プールに接続しているユーザーのエクスペリエンスを確認しましょう。

  6. ラボ コンピューターから、Azure portal を表示している Web ブラウザーの画面で、「仮想ネットワーク」を検索して選択し、[仮想ネットワーク] ウィンドウから [az140-cl-vm11] エントリを選択します。
  7. [az140-cl-vm11] ブレードで [接続] を選択し、ドロップダウン メニューで [Bastion 経由で接続する] を選択します。
  8. プロンプトが表示されたら、次の資格情報を入力し、[接続] を選択します。

    設定
    ユーザー名 Student@adatum.com
    パスワード Pa55w.rd1234
  9. az140-cl-vm11 への Bastion セッション内で、[スタート] をクリックし、[スタート] メニューで、[リモート デスクトップ] クライアント アプリを選択します。
  10. [リモート デスクトップ] ウィンドウで、右上隅にある省略記号アイコンをクリックし、ドロップダウン メニューで [サブスクライブ解除] をクリックし、確認のメッセージが表示されたら、[続行] をクリックします。
  11. az140-cl-vm11 への Bastion セッション内で、[リモート デスクトップ] ウィンドウの [始めましょう] ページで、[サブスクライブ] をクリックします。
  12. [リモート デスクトップ] クライアント ウィンドウで、[サブスクライブ] を選択し、ダイアログが表示されたら、aduser7 の資格情報に userPrincipalName を指定し、このユーザー アカウントを作成した時に設定したパスワードを入力します。

    :または、[リモート デスクトップ] クライアント ウィンドウで [URL で登録] を選択し、[ワークスペースへのサブスクライブ] ペインの [メールまたはワークスペース URL] に「 https://client.wvd.microsoft.com/api/arm/feeddiscovery 」と入力して、[次へ] を選択します。プロンプトが表示されたら、aduser7 の資格情報を使用してサインインします (userPrincipalName 属性をユーザー名として使用し、このアカウントの作成時に設定したパスワードを使用します)。

  13. [リモート デスクトップ] ページで、SessionDesktop アイコンをダブルクリックし、資格情報の入力を求められたら、同じパスワードをもう一度入力し、[記憶する] チェックボックスをオンにして、[OK] をクリックします。
  14. aduser7 がリモート デスクトップ経由でホストに正常にサインインしたことを確認します。
  15. aduser7 としてホストの 1 つへのリモート デスクトップ セッション内で、[スタート] を右クリックし、右クリック メニューで [シャットダウン] または [サインアウト] を選択し、カスケード メニューで [サインアウト] をクリックします。

    : 次に、個人用デスクトップの割り当てを直接モードから自動に切り替えてみましょう。

  16. ラボ コンピューター、Azure portal を表示する Web ブラウザーの順に切り替えて、[az140-23-hp2-DAG | 割り当て] ウィンドウの割り当ての一覧のすぐ上にある情報バーで [VM の割り当て] リンクをクリックします。 これにより、[az140-23-hp2 | セッション ホスト] ウィンドウにリダイレクトされます。
  17. [az140-23-hp2 | セッション ホスト] ウィンドウで、ホストの 1 つの [割り当て済みユーザー] 列に aduser7 が表示されていることを確認します。

    : これは、ホスト プールが自動割り当て用に構成されているためです。

  18. ラボ コンピューターの Azure portal を表示しているブラウザー ウィンドウで、[Cloud Shell] ウィンドウの PowerShell セッションを開きます。
  19. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して直接割り当てモードに切り替えます。

     Update-AzWvdHostPool -ResourceGroupName 'az140-23-RG' -Name 'az140-23-hp2' -PersonalDesktopAssignmentType Direct
    
  20. ラボ コンピューターで、Azure portal を表示している Web ブラウザーの画面で、az140-23-hp2 ホスト プール ウィンドウに移動し、[Essentials] セクションを確認して、[ホスト プールの種類][個人用] に設定され、[割り当ての種類][直接] に設定されていることを確認します。
  21. az140-cl-vm11 への Bastion セッションに戻り、[リモート デスクトップ] ウィンドウの右上隅にある省略記号アイコンをクリックし、ドロップダウン メニューで [サブスクライブ解除] をクリックし、確認を求めるメッセージが表示されたら、[続行] をクリックします。
  22. az140-cl-vm11 への Bastion セッション内の [リモート デスクトップ] ウィンドウの [始めましょう] ページで、[サブスクライブ] をクリックします。
  23. サインインするように求められたら、[アカウントの選択] ペインで、[別のアカウントを使用する] をクリックし、プロンプトが表示されたら、aduser8 ユーザー アカウントのユーザー プリンシパル名と、このアカウントの作成時に設定したパスワードを使用してサインインします。
  24. [リモート デスクトップ] ページで、[SessionDesktop] アイコンをダブルクリックし、現在利用可能なリソースがないために接続できなかったことを示すエラー メッセージが表示されることを確認します。後で再試行するか、これが引き続き発生する場合はテクニカルサポートに連絡して[OK] をクリックしてください。

    : これは、ホスト プールが直接割り当て用に構成されており、aduser8 にホストが割り当てられていないためです。

  25. ラボ コンピューター、Azure portal を表示する Web ブラウザーの順に切り替えて、[az140-23-hp2 | セッション ホスト] で、割り当てられていない残り 2 つのホストのいずれかの横にある [割り当て済みユーザー] 列の (割り当て) リンクを選択します。
  26. [ユーザーの割り当て] で、[aduser8] を選択し、[選択] をクリックして、確認を求められたら、[OK] をクリックします。
  27. az140-cl-vm11 への Bastion セッションに戻って、[リモート デスクトップ] ウィンドウで、[SessionDesktop] アイコンをダブルクリックし、パスワードの入力を求められたら、このユーザー アカウントの作成時に設定したパスワードを入力し、[OK] をクリックして、割り当てられたホストに正常にサインインできることを確認します。
  28. aduser8 に割り当てられたホストへのセッション デスクトップ内で [スタート] を右クリックし、右クリック メニューで [シャットダウンまたはサインアウト] を選択して、カスケード メニューで [サインアウト] をクリックします。
  29. az140-cl-vm11 への Bastion セッションで [スタート] を右クリックし、右クリックメニューで [シャットダウンまたはサインアウト] を選択して、カスケード メニューで [サインアウト] をクリックしたら、[閉じる] をクリックします。

演習 2: ラボでプロビジョニングされた Azure VM を停止して割り当てを解除する

この演習の主なタスクは次のとおりです。

  1. ラボでプロビジョニングされた Azure VM を停止して割り当てを解除する

: この演習では、関連するコンピューティング料金を最小限に抑えるために、このラボでプロビジョニングされた Azure VM の割り当てを解除します

タスク 1: ラボでプロビジョニングされた Azure VM の割り当てを解除する

  1. ラボ コンピューターに切り替え、Azure portal が表示されている Web ブラウザー ウィンドウで、[Cloud Shell] ウィンドウの PowerShell シェル セッションを開きます。
  2. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して、このラボで作成されたすべての Azure VM を一覧表示します。

    Get-AzVM -ResourceGroup 'az140-23-RG'
    
  3. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して、このラボで作成したすべての Azure VM を停止して割り当てを解除します。

    Get-AzVM -ResourceGroup 'az140-23-RG' | Stop-AzVM -NoWait -Force
    

    : このコマンドは非同期で実行されるため (-NoWait パラメーターによって決定されます)、同じ PowerShell セッション内で直後に別の PowerShell コマンドを実行できますが、Azure VM が実際に停止されて割り当てが解除されるまでに数分かかります。