Linux Virtual Delivery Agent

Google Cloud Platform (GCP) で Machine Creation Services™ (MCS) を使用した Linux VDA の作成

GCP で MCS を使用して Linux VDA を作成するには、次の手順を実行します。

手順 1: GCP で Linux 仮想マシン (VM) を作成

手順 2: GCP サービスアカウントを作成

手順 3: Citrix Studio で GCP へのホスト接続を作成

手順 4: Linux VDA マスターイメージを準備

手順 5: マシンカタログを作成

手順 1b: VM インスタンスページで、インスタンスを作成をクリックして VM インスタンスを作成します。

インスタンスを作成タブ

手順 1c: 次の設定を行い、その他の設定はデフォルトのままにします。

  • VM インスタンスの名前を入力します。
  • VM をホストするリージョンとゾーンを選択します。
  • (オプション) VM に GPU を追加します。詳細については、この記事の後半にある手順 4cを参照してください。
  • ブートディスクセクションで、VM のオペレーティングシステムとディスクサイズを選択します。例:

    ブートディスク

  • 詳細オプション > ネットワークに移動し、ホスト名フィールドを FQDN に設定します。

    ホスト名フィールドを設定

手順 1d: 作成をクリックして VM インスタンスを作成します。

手順 1e: VM が作成されたら、Compute Engine ダッシュボードに戻り、リストから VM インスタンスを見つけて、SSH ボタンをクリックして VM に接続します。

GCP で SSH ボタンをクリックして VM に接続

手順 1f: Web ベースの SSH クライアントを介して、Linux VDA パッケージを VM にアップロードします。

GCP で Linux VDA パッケージを VM にアップロード

手順 1g: SSH を使用した VM へのアクセス失敗を防止します。

VM は再起動後に到達不能になる場合があります。この問題を回避するには、VM に初めてログオンするときにルートパスワードを設定し、ルートとして VM にログオンできることを確認します。その後、VM を再起動した後、コンソールで次のコマンドを実行します。

-  nmcli dev connect eth0
-  systemctl restart NetworkManager
<!--NeedCopy-->
  • シリアルコンソールに接続

手順 2: GCP サービスアカウントを作成

このセクションでは、サービスアカウントキーの作成や、サービスアカウントに必要なロールの付与など、GCP サービスアカウントの作成について説明します。

注:

GCP サービスアカウントを作成するには、サービスアカウント管理者 (roles/iam.serviceAccountAdmin) IAM ロールが付与されていることを確認してください。

手順 2a: Google Cloud コンソールで、IAM と管理 > サービスアカウントに移動し、サービスアカウントを作成タブをクリックします。

サービスアカウントを作成タブ

手順 2b: サービスアカウントの詳細ステップで、フィールドに値を入力し、作成して続行をクリックします。

サービスアカウントの詳細

手順 2c: オプションの手順をスキップし、下部にある完了をクリックします。

GCP サービスアカウントの作成が完了

手順 2d: 再度 IAM と管理 > サービスアカウントに移動し、サービスアカウントタブをクリックします。新しく作成したサービスアカウントを見つけ、キータブに移動し、キーを追加 > 新しいキーを作成 > JSON > 作成をクリックします。

GCP サービスアカウントキーを追加

キーファイルをダウンロード

注:

キーファイルをダウンロードした後、再度ダウンロードすることはできません。

ステップ 2e: Google Cloud コンソールで、[IAM と管理] > [IAM] に移動し、[追加] をクリックします。[新しいメンバー] フィールドで新しく作成したサービスアカウントを検索して選択し、サービスアカウントにリソースへのアクセス権を付与するロールを選択します。新しく作成したサービスアカウントに以下のすべてのロールを付与するために、[別のロールを追加] をクリックしてロールの付与を続行します。

  • Compute 管理者
    • Storage 管理者
      • Cloud Build 編集者
    • サービスアカウントユーザー
      • Cloud Datastore ユーザー
    • Compute インスタンス管理者 (ベータ版)
      • オーナー
    • 例:

      • GCP サービスアカウントにロールを付与

ステップ 3: Citrix Studio で GCP へのホスト接続を作成

Google Cloud Platform 仮想化環境に従って GCP 環境をセットアップし、以下の手順を実行して GCP へのホスト接続を作成します。

  1. オンプレミスの Delivery Controller の場合は、オンプレミスの Citrix Studio で [構成] > [ホスト] > [接続とリソースの追加] を選択してホスト接続を作成します。クラウド Delivery Controller の場合は、Citrix Cloud™ の Web ベースの Studio コンソールで [管理] > [ホスト] > [接続とリソースの追加] を選択してホスト接続を作成します。

  2. [接続とリソースの追加] ウィザードで、接続の種類として [Google Cloud Platform] を選択します。

    • 例:Citrix Cloud の Web ベースの Studio コンソールの場合:

    • 接続の追加イメージ

  3. GCP アカウントのサービスアカウントキーをインポートし、接続名を入力します。

  4. ウィザードのページに従って操作します。特定のページコンテンツは、選択した接続の種類によって異なります。各ページを完了したら、[次へ] を選択して [概要] ページに進みます。詳しくは、「MCS を使用したドメイン非参加 Linux VDA の作成」の記事の「ステップ 2: ホスト接続を作成」を参照してください。

ステップ 4: Linux VDA マスターイメージの準備

ステップ 4a: (RHEL 8.x/9.x および Rocky Linux 8.x/9.x の場合) イーサネット接続の構成。

GCP でホストされている RHEL 8.x/9.x および Rocky Linux 8.x/9.x に Linux VDA をインストールした後、イーサネット接続が失われ、VM の再起動後に Linux VDA に到達できなくなる可能性があります。この問題を回避するには、VM に初めてログオンするときに root パスワードを設定し、root として VM にログオンできることを確認します。その後、VM を再起動してからコンソールで次のコマンドを実行します。

nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->
        -  ![シリアルコンソールに接続](/en-us/linux-virtual-delivery-agent/current-release/media/connect-to-serial-console.png)

    -  **ステップ 4b:** テンプレート VM への Linux VDA パッケージのインストール。

    -  テンプレート VM で、Linux VDA パッケージをインストールするには、次の手順を実行します。
  1. .NET をインストールします。

        -  .NET Runtime に加えて、Linux VDA をインストールまたはアップグレードする前に、サポートされているすべての Linux ディストリビューションに .ASP.NET Core Runtime バージョン 8 をインストールする必要があります。
    

    Linux ディストリビューションに必要な .NET バージョンが含まれている場合は、組み込みのフィードからインストールします。それ以外の場合は、Microsoft パッケージフィードから .NET をインストールします。詳しくは、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers を参照してください。

        -  1.  Linux VDA パッケージをインストールします。
    
        -  sudo yum –y localinstall <PATH>/<Linux VDA RPM>
    <!--NeedCopy-->
    
  2. EPEL リポジトリを有効にします。

    sudo rpm -ivh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    <!--NeedCopy-->
    
    -  **ステップ 4c:** GCP 上のテンプレート VM にグラフィック処理ユニット (GPU) を追加 (オプション)。
    
    -  1.  Google Cloud コンソールで、1 つ以上の GPU をテンプレート VM に追加します。GCP での GPU の追加と削除について詳しくは、<https://cloud.google.com/compute/docs/gpus/add-remove-gpus> を参照してください。
    
    -  ![GCP 上の VM に 1 つ以上の GPU を追加](/en-us/linux-virtual-delivery-agent/current-release/media/add-gpus-to-vm-on-gcp.png)
    
    -  1.  テンプレート VM に適切な GPU ドライバーをインストールします。詳しくは、<https://cloud.google.com/compute/docs/gpus/install-drivers-gpu> を参照してください。
    
    -  **必要な NVIDIA ドライバーバージョン:**
    
    -  Compute Engine で実行されている NVIDIA GPU は、次の NVIDIA ドライバーバージョンを使用する必要があります。
    
    • L4 GPU の場合:
      • Linux : 525.60.13 以降
    • A100 GPU の場合:
      • Linux : 450.80.02 以降
    • T4、P4、P100、V100 GPU の場合:
      • Linux : 410.79 以降
    • K80 GPU の場合 (サポート終了):
      • Linux : 410.79 - 最新の R470 バージョン

    K80 GPU については、NVIDIA は R470 ドライバーブランチがデバッグサポートを受ける最終ドライバーバージョンであることを発表しました。この更新を確認するには、「NVIDIA Software Support Matrix」を参照してください。

    インストールスクリプト:

    次のスクリプトを使用して、インストールプロセスを自動化できます。

    https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
    <!--NeedCopy-->
    

    サポートされているオペレーティングシステム:

    インストールスクリプトは、以下のLinuxディストリビューションでテスト済みです。

    • Debian 11
    • Red Hat Enterprise Linux (RHEL) 8
    • Rocky Linux 8
    • Ubuntu 20/22

    このスクリプトを他のLinuxディストリビューションで使用すると、インストールは失敗します。Linux VMの場合、このスクリプトはNVIDIAドライバーのみをインストールします。

    1. インストールスクリプトのダウンロード。

      curl <https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py> --output install_gpu_driver.py
      
      <!--NeedCopy-->
      
    2. スクリプトへの完全なアクセス権の付与。

      chmod 777 install_gpu_driver.py
      <!--NeedCopy-->
      
    3. インストールスクリプトの実行。

      python3 install_gpu_driver.py
      <!--NeedCopy-->
      
    4. gdm3でのWaylandの無効化。

      • お使いのディストリビューションのWayland構成ファイルを以下のいずれかの場所で特定します。
        • /etc/gdm3/custom.conf (Ubuntu)
        • /etc/gdm/custom.conf (CentOS、RHEL、Rocky Linux)
      • sudo/root権限でファイルを開きます。
      • 行頭の # を削除して、WaylandEnable=false のコメントを解除します。
      • VMを再起動します。
    5. NVIDIA 510以降のドライバーをインストールした場合は、GSPファームウェアを無効にします。

      GSPファームウェアが有効になっている場合は、NVIDIAモジュールパラメーター NVreg_EnableGpuFirmware を0に設定して無効にします。

      このパラメーターを設定するには、/etc/modprobe.d/nvidia.confファイルに次のエントリを追加します。

      • options nvidia NVreg_EnableGpuFirmware=0

      • /etc/modprobe.d/nvidia.confファイルが存在しない場合は、作成します。

      この手順を完了する際は、次の点に注意してください。

      • sudoを使用して、構成ファイルの作成および更新コマンドを実行します。

      • VMを再起動するには、Linuxターミナルで sudo reboot を使用するか、VMを停止して起動します。

手順4d: MCS変数の構成。

/etc/xdl/mcs/mcs.confファイルを編集して、MCS変数を構成します。以下は、非ドメイン参加シナリオおよびドメイン参加シナリオで構成できるMCS変数です。

  • 非ドメイン参加シナリオの場合

    デフォルトの変数を使用するか、必要に応じて変数をカスタマイズできます(オプション)。

    DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \ DESKTOP_ENVIRONMENT= **gnome | mate \** REGISTER_SERVICE=**Y | N** ADD_FIREWALL_RULES=**Y | N** VDI_MODE=**Y | N** START_SERVICE=**Y | N**

    非ドメイン参加シナリオのMCS変数

  • ドメイン参加シナリオの場合

    • Use_AD_Configuration_Files_Of_Current_VDA: 現在実行中のVDAの既存のAD関連構成ファイル(/etc/krb5.conf、/etc/sssd.conf、および/etc/samba/smb.conf)を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するファイルと同じになります。ただし、dnsおよびAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNです。これは、マスターイメージの構成テンプレートがMCSで作成されたマシンの構成ファイルを決定することを意味します。現在実行中のVDAをテンプレートVMとして使用するには、値をYに設定します。それ以外の場合は、Nに設定します。

    • dns: 各DNSサーバーのIPアドレスを設定します。最大4つのDNSサーバーを設定できます。

    • NTP_SERVER: NTPサーバーのIPアドレスを設定します。特に指定がない限り、ドメインコントローラーのIPアドレスです。

    • WORKGROUP: ADで構成したNetBIOS名(大文字と小文字を区別)にワークグループ名を設定します。それ以外の場合、MCSはマシンホスト名の直後にあるドメイン名の一部をワークグループ名として使用します。たとえば、マシンアカウントが user1.lvda.citrix.com の場合、MCSは lvda をワークグループ名として使用しますが、citrix が正しい選択です。ワークグループ名が正しく設定されていることを確認してください。

    • AD_INTEGRATION: Winbind、SSSD、PBIS、またはCentrifyを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法のマトリックスについては、「サポートされているディストリビューション」を参照してください。

    • CENTRIFY_DOWNLOAD_PATH: Server Suite Free(旧Centrify Express)パッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH: Centrify Sambaパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。

    • PBIS_DOWNLOAD_PATH: PBISパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をPBISに設定した場合にのみ有効になります。

    • UPDATE_MACHINE_PW: マシンアカウントのパスワード更新の自動化を有効または無効にします。詳しくは、「マシンアカウントのパスワード更新の自動化」を参照してください。

    • Linux VDA構成変数:

      DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \ DESKTOP_ENVIRONMENT= **gnome | mate \** SUPPORT_DDC_AS_CNAME=**Y | N** VDA_PORT=port-number REGISTER_SERVICE=**Y | N** ADD_FIREWALL_RULES=**Y | N** HDX_3D_PRO=**Y | N** VDI_MODE=**Y | N** SITE_NAME=**dns-site-name | ‘<none>’** LDAP_LIST=**‘list-ldap-servers’ | ‘<none>’** SEARCH_BASE=**search-base-set | ‘<none>’** FAS_LIST=**‘list-fas-servers’ | ‘<none>’** START_SERVICE=**Y | N** TELEMETRY_SOCKET_PORT=port-number TELEMETRY_PORT=port-number

ステップ 4e: マスターイメージの作成

  1. (SSSD + RHEL 8.x/9.x または Rocky Linux 8.x/9.x のみ) update-crypto-policies --set DEFAULT:AD-SUPPORT コマンドを実行し、テンプレートVMを再起動します
  2. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します

    ドメインに参加していないシナリオの場合、以下のエラーは正常であり、処理の続行を妨げるものではありません。

    ドメインに参加していないシナリオでのMCS展開

  3. テンプレートVMにアプリケーションをインストールし、テンプレートVMをシャットダウンします。マスターイメージのスナップショットを作成し、名前を付けます

ステップ 5: マシンカタログの作成

  1. Citrix Cloud にサインインします。左上のメニューで、[マイサービス] > [DaaS] を選択します
  2. [管理] > [完全な構成] から、左ペインで [マシンカタログ] を選択します
  3. アクションバーで [マシンカタログの作成] を選択します
  4. [マシンタイプ] ページで、[マルチセッションOS] または [シングルセッションOS] を選択し、[次へ] を選択します

    マシンタイプ

  5. [マシン管理] ページで、[電源管理されているマシン][Citrix Machine Creation Services] オプションを選択し、[次へ] を選択します。複数のリソースがある場合は、メニューから1つ選択します

    マシン管理

  6. [マスターイメージ] ページで、以前に作成したマスターイメージを選択します

    マスターイメージの選択

    選択されたマスターイメージ

  7. [マシンID] ページで、マスターイメージがどのドメインにも参加していない場合は [ドメインに参加していません] を選択し、マスターイメージをドメインに参加させた場合はActive Directoryアカウントを選択します

    ドメインに参加していないシナリオの場合:

    マシンIDタイプ

    ドメインに参加しているシナリオの場合:

    Active Directoryアカウントオプションの選択

    • [新しいActive Directoryアカウントの作成] を選択する場合は、ドメインを選択し、Active Directoryで作成されるプロビジョニングされたVMコンピューターアカウントの命名スキームを表す文字のシーケンスを入力します。アカウントの命名スキームは1~64文字で、空白、非ASCII文字、または特殊文字を含めることはできません
    • [既存のActive Directoryアカウントを使用] を選択する場合は、[参照] を選択して、選択したマシンの既存のActive Directoryコンピューターアカウントに移動します
    • [ドメイン資格情報] ページで、[資格情報の入力] を選択し、ユーザー名とパスワードを入力して [保存] を選択し、[次へ] を選択します。入力する資格情報には、Active Directoryアカウント操作を実行する権限が必要です
  8. その他のページで追加設定を構成します。詳しくは、「Google Cloud Platformカタログの作成」を参照してください
  9. [概要] ページで情報を確認し、カタログの名前を指定して、[完了] を選択します

    マシンカタログ設定の概要

マシンカタログの作成には時間がかかる場合があります。完了すると、カタログが一覧表示されます。Google Cloudコンソールで、ターゲットノードグループにマシンが作成されていることを確認できます。

ステップ 6: デリバリーグループの作成

デリバリーグループは、1つまたは複数のマシンカタログから選択されたマシンの集合です。どのユーザーがこれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。

詳しくは、Citrix DaaS ドキュメントのデリバリーグループの作成に関する項目を参照してください。

  1. Citrix Cloud にサインインします。左上のメニューで、[マイサービス] > [DaaS] を選択します
  2. [管理] > [完全な構成] から、左ペインで [デリバリーグループ] を選択します
  3. アクションバーで [デリバリーグループの作成] を選択します。デリバリーグループ作成ウィザードが開きます

    表示されるウィザードページは、選択内容によって異なる場合があります。

  4. [マシン] ページで、マシンカタログを選択し、そのカタログから使用するマシンの数を選択します

    デリバリーグループの作成

  5. その他のページで追加設定を構成します。詳しくは、「デリバリーグループの作成」を参照してください

  6. [概要] ページで、デリバリーグループの名前を入力します。また、Citrix Workspace™アプリおよび [完全な構成] 管理インターフェイスに表示される説明を(オプションで)入力することもできます。例:

    デリバリーグループの名前を入力します:

    デリバリーグループの名前付け

    [完全な構成] 管理インターフェイスのデリバリーグループのリスト:

    [完全な構成] 管理インターフェイスのデリバリーグループのリスト

    Citrix Workspaceアプリで配信されたマシン

    Citrix Workspaceアプリで配信されたマシン

Google Cloud Platform (GCP) で Machine Creation Services™ (MCS) を使用した Linux VDA の作成