ラボ - セッション ホスト イメージ (AD DS) を作成して管理する

受講生用ラボ マニュアル

ラボの依存関係

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

推定所要時間

60 分

ラボのシナリオ

AD DS 環境では、Azure Virtual Desktop ホスト イメージを作成して管理する必要があります。

目標

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

  • WVD セッション ホスト イメージを作成して管理する

ラボ ファイル

  • \\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.json
  • \\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.parameters.json

手順

演習 1:セッション ホスト イメージを作成して管理する

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

  1. Azure Virtual Desktop ホスト イメージの構成を準備する
  2. Azure Bastion をデプロイする
  3. Azure Virtual Desktop ホスト イメージを構成する
  4. Azure Virtual Desktop ホスト イメージを作成する
  5. カスタム イメージを使用して Azure Virtual Desktop ホスト プールをプロビジョニングする

タスク 1: Azure Virtual Desktop ホスト イメージの構成を準備する

  1. ラボ コンピューターから Web ブラウザーを起動して Azure portal に移動し、このラボで使用するサブスクリプションの所有者ロールを持つユーザー アカウントの資格情報を指定してサインインします。
  2. Azure portal で、検索テキスト ボックスのすぐ右にあるツール バー アイコンを選択して [Cloud Shell] ペインを開きます。
  3. Bash または PowerShell の選択を求めるメッセージが表示されたら、 [PowerShell] を選択します。
  4. Azure portal が表示されているラボ コンピューターの Web ブラウザーで、Cloud Shell ペインの PowerShell セッションから次を実行して、Azure Virtual Desktop ホスト イメージを含めるために使用されるリソース グループを作成します。

    $vnetResourceGroupName = 'az140-11-RG'
    $location = (Get-AzResourceGroup -ResourceGroupName $vnetResourceGroupName).Location
    $imageResourceGroupName = 'az140-25-RG'
    New-AzResourceGroup -Location $location -Name $imageResourceGroupName
    
  5. Azure portal の Cloud Shell ペインのツール バーで、[ファイルのアップロード/ダウンロード] アイコンを選び、ドロップダウン メニューで [アップロード] を選んで、ファイル \\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.json\\AZ-140\AllFiles\Labs\02\az140-25_azuredeployvm25.parameters.json を Cloud Shell のホーム ディレクトリにアップロードします。
  6. Cloud Shell ペインの PowerShell セッションから次を実行して、ソース イメージとして機能する、Windows 11 Enterprise が実行されている Azure VM をデプロイします。

    New-AzResourceGroupDeployment `
      -ResourceGroupName $imageResourceGroupName `
      -Name az140lab0205vmDeployment `
      -TemplateFile $HOME/az140-25_azuredeployvm25.json `
      -TemplateParameterFile $HOME/az140-25_azuredeployvm25.parameters.json
    

    : このデプロイが完了するまで待ってから、次の演習に進んでください。 デプロイには約 5 から 10 分かかります。

タスク 2: Azure Bastion をデプロイする

: Azure Bastion を使用すると、この演習の前のタスクでデプロイしたパブリック エンドポイントを使用せずに Azure VM に接続できると同時に、オペレーティング システム レベルの資格情報を対象とするブルート フォース攻撃から保護することができます。

: ブラウザーでポップアップ機能が有効になっていることを確認します。

  1. Azure portal が表示されているブラウザー ウィンドウで、別のタブを開き、そのブラウザー タブで Azure portal に移動します。
  2. Azure portal で、検索テキスト ボックスのすぐ右にあるツール バー アイコンを選択して [Cloud Shell] ペインを開きます。
  3. Cloud Shell ペインの PowerShell セッションから以下を実行して、この演習で先ほど作成した az140-25-vnet という名前の仮想ネットワークに AzureBastionSubnet という名前のサブネットを追加します。

    $resourceGroupName = 'az140-25-RG'
    $vnet = Get-AzVirtualNetwork -ResourceGroupName $resourceGroupName -Name 'az140-25-vnet'
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig `
      -Name 'AzureBastionSubnet' `
      -AddressPrefix 10.25.254.0/24 `
      -VirtualNetwork $vnet
    $vnet | Set-AzVirtualNetwork
    
  4. [Cloud Shell] ペインを閉じます。
  5. Azure portal で [複数の要塞] を検索して選択し、[複数の要塞] ブレードから [+ 追加] を選択します。
  6. [Bastion の作成] ウィンドウの [基本] タブで、次の設定を指定して、[確認および作成] を選びます。

    設定
    サブスクリプション このラボで使用している Azure サブスクリプションの名前
    リソース グループ az140-25-RG
    名前 az140-25-bastion
    リージョン この演習の前のタスクでリソースをデプロイしたのと同じ Azure リージョン
    レベル Basic
    仮想ネットワーク az140-25-vnet
    Subnet AzureBastionSubnet (10.25.254.0/24)
    パブリック IP アドレス 新規作成
    パブリック IP の名前 az140-25-vnet-ip
  7. [Bastion の作成] ウィンドウの [確認と作成] タブで、[作成] を選択します。

    : このデプロイが完了するまで待ってから、次の演習に進んでください。 デプロイには約 10 分かかります。

タスク 3:Azure Virtual Desktop ホスト イメージを構成する

  1. Azure portal で、[仮想マシン] を見つけて選択し、[仮想マシン] ウィンドウで、az140-25-vm0 を選択します。
  2. [az140-25-vm0] ブレードで [接続] を選択し、ドロップダウン メニューで [Bastion 経由で接続する] を選択します。
  3. プロンプトが表示されたら、次の資格情報を入力し、[接続] を選択します。

    設定
    [ユーザー名] Student
    パスワード Pa55w.rd1234
  4. az140-25-vm0 への Bastion セッション内で、Windows PowerShell ISE を管理者として起動します。
  5. az140-25-vm0 への Bastion セッション内で、[Administrator: Windows PowerShell ISE] コンソールから次を実行して、イメージを構成するための一時的な場所として使用するフォルダーを作成します。

    New-Item -Type Directory -Path 'C:\Allfiles\Labs\02' -Force
    

    :次に、Classic Microsoft Teams のインストールと構成の手順を詳しく説明します (このラボで使用されているイメージに Teams が既に存在しているため、学習が目的)。

  6. az140-25-vm0 への Bastion セッション内で、[コントロール パネル] > [プログラム] > [プログラムと機能] に移動し、[コンピューター全体の Teams インストーラ] プログラムを右クリックして、[アンインストール] を選択します。
  7. az140-25-vm0 への Bastion セッション内で、[スタート] を右クリックし、右クリック メニューの [実行] を選択し、[実行] ダイアログ ボックスの [開く] テキストボックスに 「cmd」 と入力し、Enter キーを押してコマンド プロンプトを起動します。
  8. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから次を実行して、Microsoft Teams のマシンごとのインストールの準備をします。

    reg add "HKLM\Software\Microsoft\Teams" /v IsWVDEnvironment /t REG_DWORD /d 1 /f
    
  9. az140-25-vm0 への Bastion セッション内の Microsoft Edge で、「Microsoft Visual C++ 再頒布可能パッケージのダウンロード ページ」を参照し、VC_redist.x64C:\Allfiles\Labs\02 フォルダーに保存します。
  10. az140-25-vm0 への Bastion のセッション内で、[Administrator: C:\windows\system32\cmd.exe] ウィンドウに切り替え、コマンド プロンプトから次を実行して、[Microsoft Visual C++ 再頒布可能パッケージ] のインストールを実行します。

    C:\Allfiles\Labs\02\vc_redist.x64.exe /install /passive /norestart /log C:\Allfiles\Labs\02\vc_redist.log
    
  11. az140-25-vm0 への Bastion セッション内の Microsoft Edge で「Teams デスクトップ アプリを VM に展開する」というタイトルのドキュメント ページを参照し、64 ビット バージョンのリンクをクリックして、プロンプトが表示されたら、Teams_windows_x64.msi ファイルを C:\Allfiles\Labs\02 フォルダーに保存します。
  12. az140-25-vm0 への Bastion のセッション内で、[Administrator: C:\windows\system32\cmd.exe] ウィンドウに切り替え、コマンド プロンプトから次を実行して、Microsoft Teams のマシンごとのインストールを実行します。

    msiexec /i C:\Allfiles\Labs\02\Teams_windows_x64.msi /l*v C:\Allfiles\Labs\02\Teams.log ALLUSER=1
    

    : インストーラは ALLUSER=1 と ALLUSERS=1 パラメーターをサポートしています。 ALLUSER=1 パラメーターは、VDI 環境でのマシンごとのインストールを想定しています。 ALLUSERS=1 パラメーターは、VDI 以外の環境と VDI 環境で使用できます。

  13. az140-25-vm0 への Bastion セッション内で Windows PowerShell ISE を管理者として起動し、[管理者:Windows PowerShell ISE] コンソールから次を実行して、Microsoft Edge をインストールします (このラボで使用されているイメージに Teams が既に存在しているため、学習が目的)。

    Start-BitsTransfer -Source "https://aka.ms/edge-msi" -Destination 'C:\Allfiles\Labs\02\MicrosoftEdgeEnterpriseX64.msi'
    Start-Process -Wait -Filepath msiexec.exe -Argumentlist "/i C:\Allfiles\Labs\02\MicrosoftEdgeEnterpriseX64.msi /q"
    

    : インストールが完了するまで待ちます。 これには 2 分ほどかかる場合があります。

    : 複数言語環境で動作する場合は、言語パックのインストールが必要になる場合があります。 この手順の詳細については、Microsoft Docs の記事「Windows 10 マルチセッションイメージへの言語パックの追加」を参照してください。

    : 次に、Windows 自動更新を無効にし、ストレージ センサーを無効にし、タイム ゾーン リダイレクトを構成し、テレメトリの収集を構成します。 一般的に、最新の品質更新プログラムを最初に適用する必要があります。 このラボでは、ラボの期間を最小限に抑えるために、この手順をスキップします。

  14. az140-25-vm0 への Bastion セッション内で、[Administrator: C:\windows\system32\cmd.exe] ウィンドウに切り替えて、コマンド プロンプトから次を実行して自動更新を無効にします。

    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f
    
  15. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから次を実行して、ストレージ センサーを無効にします。

    reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy" /v 01 /t REG_DWORD /d 0 /f
    
  16. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから次を実行して、タイム ゾーン リダイレクトを構成します。

    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fEnableTimeZoneRedirection /t REG_DWORD /d 1 /f
    
  17. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから次を実行して、テレメトリ データのフィードバック ハブ収集を無効にします。

    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /v AllowTelemetry /t REG_DWORD /d 0 /f
    
  18. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから次を実行して、このタスクの前半で作成した一時フォルダーを削除します。

    rmdir C:\Allfiles /s /q
    
  19. [Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから、ディスク クリーンアップ ユーティリティを実行し、完了したら [OK] をクリックします。

    cleanmgr /d C: /verylowdisk
    

    :ディスクのクリーンアップ プロセスには 3 から 5 分かかる場合があります。

タスク 4: Azure Virtual Desktop ホスト イメージを作成する

  1. az140-25-vm0 への Bastion セッション内の、[Administrator: C:\windows\system32\cmd.exe] ウィンドウで、コマンド プロンプトから、sysprep ユーティリティを実行して、オペレーティング・システムをイメージ生成用に準備し、自動的にシャットダウンします。

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
    

    : sysprep プロセスが完了するまでお待ちください。 これには 2 分ほどかかる場合があります。 これにより、オペレーティング システムが自動的にシャットダウンされます。

  2. ラボ コンピューターの [接続エラー] ダイアログで、[閉じる] を選択します。
  3. ラボ コンピューターの Azure portal を表示する Web ブラウザーで、[仮想マシン] を見つけて選択し、[仮想マシン] ブレードから az140-25-vm0 を選択します。
  4. [az140-25-vm0] ブレードの [要点] セクションの上にあるツール バーで、[更新] をクリックし、Azure VM の状態[停止済み] に変わったことを確認し、[停止] をクリックします。確認を求められたら、[OK] をクリックして Azure VM を停止 (割り当て解除) 状態に移行します。
  5. [az140-25-vm0] ブレードで、Azure VM の状態停止 (割り当て解除) 状態に変わったことを確認し、ツール バーの [キャプチャ] をクリックします。 [イメージの作成] ブレードが自動的に表示されます。
  6. [イメージの作成] ブレードの [基本] タブで、次のように設定を行います。

    設定 Value
    Azure コンピューティング ギャラリーにイメージを共有する はい、イメージ バージョンとしてギャラリーに共有します
    イメージの作成後、この仮想マシンを自動的に削除します チェックボックスをオフにする
    ターゲット Azure コンピュート ギャラリー az14025imagegallery」という名前の新しいギャラリーを作成します
    オペレーティング システムの状態 一般化されたイメージ
  7. [イメージの作成] ブレードの [基本] タブで、[ターゲット VM イメージ定義] テキストボックスの下にある [新規作成] をクリックします。
  8. [VM イメージ定義の作成] で、次の設定を指定して [OK] をクリックします。

    設定 Value
    VM イメージ定義名 az140-25-host-image
    発行元 MicrosoftWindowsDesktop
    プラン office-365
    SKU win11-22h2-avd-m365
  9. [Bastion の作成] ブレードの [基本] タブで、次の設定を指定して、[確認および作成] を選びます。

    設定 Value
    バージョン番号 1.0.0
    最新から除外 チェックボックスをオフにする
    有効期限の終了日 現在の日付から 1 年後
    既定のレプリカ数 1
    ターゲット リージョンのレプリカ数 1
    既定のストレージ SKU Premium SSD LRS
  10. [イメージの作成] ブレードの [確認と作成] タブで、[作成] をクリックします。

    : デプロイが完了するまで待ちます。 これには約 10 から 15 分かかる場合があります。

  11. ラボ コンピューターから、Azure portal を表示している Web ブラウザーで、[Azure Compute Gallery] を見つけて選択し、[Azure Compute Gallery] ウィンドウで az14025imagegallery エントリを選択し、**az14025imagegallery** ウィンドウで新しく作成されたイメージを表す az140-25-host-image エントリの存在を確認します。

タスク 5: カスタム イメージを使用して Azure Virtual Desktop ホスト プールをプロビジョニングする

  1. ラボのコンピューターの Azure portal で、Azure portal ページの上部にある [リソース、サービス、およびドキュメントの検索] テキスト ボックスを使用して、「仮想ネットワーク」と検索して移動し、[仮想ネットワーク] ブレードで [az140-adds-vnet11] を選択します。
  2. [az140-adds-vnet11] ウィンドウで [サブネット] を選択し、[サブネット] ウィンドウで [+ サブネット] を選択し、[サブネットの追加] ウィンドウで、次の設定を指定し (他のすべての設定は既定値のままにします)、[保存] をクリックします。

    設定
    名前 hp4-Subnet
    サブネットのアドレス範囲 10.0.4.0/24
  3. ラボ コンピューターから、Azure portal の Azure portal を表示する Web ブラウザーの画面で、[Azure Virtual Desktop] を見つけて選択し、[Azure Virtual Desktop] ウィンドウで [ホスト プール] を選択して、[Azure Virtual Desktop | ホスト プール] ウィンドウで [+ 作成] を選びます。
  4. [ホスト プールの作成] ブレードの [基本] タブで、次の設定を指定して、[次へ: 仮想マシン >] を選択します。

    設定
    サブスクリプション このラボで使用している Azure サブスクリプションの名前
    リソース グループ az140-25-RG
    ホスト プール名 az140-25-hp4
    場所 このラボの最初の演習でリソースをデプロイした Azure リージョンの名前
    検証環境 いいえ
    優先するアプリ グループの種類 デスクトップ
    ホスト プールの種類 プールされた
    負荷分散アルゴリズム 幅優先
    最大セッションの制限 12
  5. [ホスト プールの作成] ブレードの [仮想マシン] タブで、次の設定を指定します。

    設定 Value
    Azure 仮想マシンを追加する はい
    リソース グループ 既定はホスト プールと同じ
    名前のプレフィックス az140-25-p4
    仮想マシンのタイプ Azure 仮想マシン
    仮想マシンの場所 このラボの最初の演習でリソースをデプロイした Azure リージョンの名前
    可用性のオプション インフラストラクチャ冗長は必要ありません
    セキュリティの種類 Standard
  6. [ホスト プールの作成] ブレードの [仮想マシン] タブの [イメージ] ドロップダウン リストのすぐ下にある [すべてのイメージを表示] リンクをクリックします。
  7. [イメージの選択] ブレードの [その他の項目][共有イメージ] をクリックし、共有イメージの一覧で [az140-25-host-image] を選択します。
  8. [ホスト プールの作成] ウィンドウの [仮想マシン] タブに戻り、次の設定を指定し、[次へ: ワークスペース >:

    設定 Value
    [仮想マシンのサイズ] Standard D2s v3
    Number of VMs 1
    OS ディスクの種類 Standard SSD
    ブート診断 マネージド ストレージ アカウントで有効にする (推奨)
    仮想ネットワーク az140-adds-vnet11
    Subnet hp4-Subnet (10.0.4.0/24)
    ネットワーク セキュリティ グループ Basic
    パブリック インバウンド ポート いいえ
    参加したいディレクトリを選択する Active Directory
    AD ドメイン参加 UPN student@adatum.com
    パスワード Pa55w.rd1234
    [パスワードの確認入力] Pa55w.rd1234
    特定のドメインまたはユニット はい
    参加するドメイン adatum.com
    組織単位のパス OU=WVDInfra,DC=adatum,DC=com
    ユーザー名 Student
    パスワード Pa55w.rd1234
    [パスワードの確認入力] Pa55w.rd1234
  9. [ホスト プールの作成] ブレードの [ワークスペース] タブで、次の設定を指定し、[確認および作成] を選択します。

    設定 Value
    デスクトップ アプリ グループを登録する いいえ
  10. [ホストプールの作成] ブレードの [確認および作成] タブで、[作成] を選択します。

    : デプロイが完了するまで待ちます。 これには 10 分ほどかかる場合があります。

    :クォータ制限に達したためにデプロイが失敗した場合は、最初のラボで説明している手順を実行して、Standard D2sv3 のクォータ制限を 30 に引き上げることを自動的に要求します。

    : カスタム イメージに基づくホストのデプロイ後は、GitHub リポジトリから入手できる Virtual Desktop 最適化ツールの実行を検討する必要があります。

演習 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-25-RG'
    
  3. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して、このラボで作成したすべての Azure VM を停止して割り当てを解除します。

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

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