サービス カタログからワークロードに仮想マシンをデプロイする

仮想マシン (VM) テンプレートは、複数のワークロード シナリオに役立つ仮想マシンを作成します。 仮想マシン テンプレートを使用すると、アプリケーションを Azure Virtual Desktop RemoteApp として発行して、マネージド アプリをホストし、個々のユーザーにストリーミングすることもできます。

この記事では、あなたが次のことを行います。

  • Azure ポータルから仮想マシンのサービス カタログ テンプレートを既存のワークロードにデプロイします。

Note

このサンプルデプロイはデモンストレーション目的に過ぎず、ネットワーク、システム、またはアプリケーションの管理に関するすべてのベスト プラクティスを表しているわけではありません。

展開オプション

仮想マシン テンプレートは、複数の構成でデプロイできます。

  1. 仮想マシン (最大 10 分)
  2. 仮想マシンはドメイン参加済み(約12分)
  3. 仮想マシンがドメイン参加済みで、RemoteApp として公開済み(約 20 分)

始める前の準備

前提条件

エンクレーブ リソースが Customer-Managed キー (CMK) 暗号化を使用していることを確認するには、エンクレーブにガードレール要件があります。 キーにアクセスするには、キー コンテナー内のキーとマネージド ID が必要です。 共通依存関係サービス カタログ テンプレートで CMK (省略可能なKey Vault) とマネージド ID を作成する

  1. プライベート エンドポイントのサブネット: エンクレーブの作成時にサブネットを作成することも、エンクレーブの作成後に 新しいサブネットを作成 することもできます。 プライベート エンドポイント サブネットには、プライベート エンドポイントが正常に機能するための サブネット委任 は必要ありません。
  2. 次に作成した内容に基づいて、これらの プライベート DNS Zones をすばやく作成します。
  3. このテンプレートには、Key Vault、カスタマー マネージド キー (CMK)、およびマネージド ID が必要です。 Common Dependencies サービス カタログのクイック スタートで、Key Vault、CMK、およびマネージド ID を作成するか、独自の ID を作成します。
    • これらのリソースは、 ワークロード リソース グループ内に作成する必要があります。
    • ユーザー マネージド ID を作成した後、CMK キーにアクセスできることを確認します
      • 次の手順を使用して、キー コンテナーをスコープとするマネージド ID に Key Vault Crypto Service Encryption User ロールを割り当てます。 このロールを使用すると、仮想マシンなどの別のリソースにマネージド ID を割り当てることができます。 その後、その仮想マシンは、キー コンテナーに対して他の操作を行うアクセス許可を持たずに、キー コンテナー内の CMK を使用してオペレーティング システム ディスクを暗号化できます。 この方法でマネージド ID を割り当てることは、最小限の特権のベスト プラクティスです。
  4. (オプション) Admin VM がドメインに参加している場合に参加する既存のドメイン。

テンプレートをデプロイする

  1. 対象のデプロイのワークロードに移動します。
  2. [ +Add an Azure Service ] ボタンを選択します。
  3. Virtual Machineドロップダウンから サービス テンプレートを選択します
  4. 必要なバージョン (既定値: latest) を確認し、 Nextを選択します。

サービス カタログの一覧から選択された仮想マシン テンプレートを示すスクリーンショット。

  1. 各タブに必要なすべてのパラメーターを入力します。
  2. OS Disk Encryption NameOS Disk Encryption Resource Group Nameには、前提条件セクションで使用する名前を入力します。
  3. 必要に応じて、事前設定されたパラメーターを調整します。
  4. (省略可能) RemoteApp を 他のユーザーに発行します。
  5. (省略可能)仮想マシン 上のドメインに参加 します。
  6. (省略可能) RemoteApp にアプリケーションをインストール します。
  7. Review + Createを選択し、すべての検証に合格した場合はCreateを選択します。

ドメインに参加する (省略可能)

  1. 仮想マシンのドメイン参加を選択する場合は、[基本] タブで必要な方法 (Active DirectoryまたはMicrosoft Entra ID) を選択し、ドメイン参加情報を入力する必要があります。

  2. Active Directory ドメイン参加オプションについては、次の例を参照してください。

    Note

    ドメイン コントローラーがエンクレーブ内にある場合は、ドメイン コントローラー サブネット、 TCP, UDP プロトコル、およびこれらのポート 53,88,135,138,139,389,443,445,464,636,686,3268でのドメイン参加を許可するために、ドメイン コントローラーとのエンクレーブのエンクレーブ エンドポイントが必要です。 ドメイン コントローラーに DNS トラフィックを転送するエンクレーブ内に DNS フォワーダーが必要です。

    • ドメイン名は次の形式にする必要があります。 contoso.com
    • 組織単位 (OU) パスは OU=Organizations,DC=contoso,DC=com の形式にする必要があり、既定の Computers OU パスで問題がなければ空白のままにすることができます。
    • Domain admin usernameDomain admin password は、ドメイン コントローラーのドメイン参加資格情報と一致している必要があります
  3. Microsoft Entra ID ドメイン参加オプションの場合は、

RemoteApp を発行する(オプション)

アプリケーションを発行する場合は、このタブの次のフィールドをすべて入力する必要があります。

仮想マシンでアプリを発行するために必要な入力を示すスクリーンショット。

  • 発行パラメーターに既定の名前付け規則を使用する: 既定値を True に維持すると、 host poolworkspace、および Application Group のパラメーター値が無視され、代わりにこの形式の <vmName>-<resourceName> でリソースが作成されます (例: "vm01-hostpool")。 フレンドリ名を追加して、表示される名前を改善することもできます。
  • アプリケーション ファイル パス: アプリケーションの VM アプリのファイル パスを指定します (たとえば、"引用符" のない C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe )
  • アプリケーション アイコン のファイル パス: アイコンの VM 上のファイル パスを指定します (たとえば、"引用符" のない C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe )
  • Azure Virtual Desktop モジュールの URL: クラウドのAzure Virtual Desktop モジュールの URL を指定します。 既定では、Azure商用 URL が提供されます。 たとえば、Azure Government クラウドにデプロイする場合、URL はhttps://wvdportalstorageblob.blob.core.usgovcloudapi.net/galleryartifacts/Configuration_01-20-2022.zip

すべてのリソースの作成が完了するまでに 20 分以上かかる場合があります。 デプロイされたリソース内でアクションを実行する前に、デプロイが正常に完了するまで待ちます。

デプロイメントを検証する

  1. 指定したリソース グループ、既定でワークロード リソース グループに移動し、目的のリソースが作成されたことを確認します。 含む: 仮想マシンと OS ディスク。
  2. RemoteApp が発行された場合: ホスト プール、アプリ グループ、ワークスペース。

アプリケーション仮想マシンに接続する

管理 VM 経由: 管理者 VM は、境界外からエンクレーブ境界内のリソースに管理者がアクセスするために使用されます。 管理者 VM は、"ジャンプボックス" とも呼ばれます。

  1. エンクレーブの [管理 VM ] ページでデスクトップ セッションにサインインします。
  2. スタート メニューから「RDP」と入力し、リモート デスクトップ接続アプリを開きます。
  3. リモート デスクトップ接続の宛先 IP アドレスとして仮想マシンの IP アドレスを入力します。
  4. 仮想マシンの資格情報を入力し、 Accept/Yes を選択して新しい接続に関する警告を表示します。
  5. 仮想マシン デスクトップから、デプロイ中に設定されたすべての仮想マシン設定を検証するか、カスタム構成を完了します。
  6. 次に、 アプリケーションをインストールします
  7. セキュリティ グループの割り当てを割り当てて、ユーザーに RemoteApp へのアクセス権を付与します。

RemoteApp のインストール (省略可能)

これらの方法または使い慣れた方法のいずれかを使用して、仮想マシンにアプリケーションをインストールします。

  • 仮想マシン経由でインストール する (RemoteApp 発行用にアプリケーションをインストールまたは構成する)

  • Prerequisites:

    1. ストレージ アカウント内のコンテナー (成果物)。

      • プライベート コンテナーまたはパブリック コンテナー
        • プライベート コンテナー - インストーラー、メイン スクリプト、およびサポートするスクリプトを安全に格納します。
          • スクリプトまたはインストーラーを、そのストレージ アカウント コンテナーにアクセスできる他のユーザーと共有できない場合は、このオプションを選択します。
        • パブリック コンテナー - パブリックにアクセスできる成果物をサービス カタログのコンテナー内の remoteappvm フォルダーに格納します
      • アプリ フォルダー:
        • アプリ インストーラー (例: VSCodeSetup.exe)
        • アプリケーションをインストールするためのメイン スクリプト (およびその他のサポート スクリプト)
    2. AzCopy.exe のコピー

    3. ストレージ アカウントと AzToolBox への コミュニティ エンドポイント

    4. 以前に作成したコミュニティ エンドポイントへの接続をエンクレーブします。

      • (enclave-name}-ipg-eas で終わる IP グループへのエンクレーブ接続を作成し、さらに {enclave-name}-ipg-mgmt-vms で終わる IP グループにもエンクレーブ接続を作成します。

      Note

      ストレージ アカウントが別のエンクレーブにある場合は、ストレージ アカウントを使用して エンクレーブ エンドポイント をエンクレーブに作成し、そのストレージ アカウントへの エンクレーブ接続 を作成します。

  • アプリケーションのインストール:

    1. ワークロードの概要ページで、 Add an Azure Serviceを選択します。

    2. Serviceの場合は、[Virtual Machine] を選択します。

    3. Versionの場合、既定で選択されていない場合は、最新のバージョン (たとえば、1.0.1(最新)) を選択します。

    4. Next を選択

    5. [基本] タブ:

      • Virtual Machine nameの場合は、仮想マシンの名前を入力します。
      • Admin usernameAdmin passwordには、仮想マシンへのログインに使用するユーザー名とパスワードを入力します。
    6. [アプリ] タブ:

      • App Folder URIコンテナーからアプリ フォルダーに URI を追加します。
      • Main Scriptアプリケーションをインストールするアプリ フォルダーにメイン スクリプト (例: main.ps1) の名前を追加します。
      • プライベート コンテナー:
        • Storage Container Resource IDコンテナーのリソース ID を追加します。
        • App folder in private container については、true を選択します。 プライベート コンテナーの場合は、 true 選択すると、仮想マシン経由でストレージ アカウントへの閲覧者ロールアクセスが有効になります。

      Note

      米国政府Microsoft Azureの場合は、次の手順を実行します。AzCopy File URIの場合は、コンテナーから azcopy.exe に URI を追加します。

    7. Review + Createを選択し、すべての検証に合格した場合はCreateを選択します。 それ以外の場合は、仮想マシンの使用を開始します。

デプロイメントを削除する

これらのリソースを保持する予定がない場合は、不要なリソースをクリーンアップして、Azure料金を回避します。 リソース グループに他のデプロイが存在しない場合は、リソース グループ全体を削除できます。

Recommendations

  • セッション ホストまたは仮想マシンの サイズ変更
  • サービス カタログのデプロイにタグを追加して、次のようなそのリソースの重要な情報を追跡します。
    • 所有者: <main POC>
    • デプロイヤー: <yourName>
    • 目的: <user desktop>
    • サービス カタログ名: <Virtual Machine>
    • サービス カタログのバージョン: <version you deployed>
  • タグを適用して継承するAzure Policyを追加することを検討してください
  • アプリケーションからカスタム ログを収集する