Linux Virtual Delivery Agent 2507 LTSR

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

MCS を使用して GCP で 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 に接続します。

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

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

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

ステップ 1g: SSH を使用した VM へのアクセス障害を防止します。

VM は再起動後に到達不能になる場合があります。この問題を回避するには、VM に初めてログオンするときに root パスワードを設定し、root として 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/2507-ltsr/media/connect-to-serial-console.png)

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

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

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

    必要な .NET バージョンが Linux ディストリビューションに含まれている場合は、組み込みのフィードからインストールします。含まれていない場合は、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/2507-ltsr/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 ソフトウェアサポートマトリックスを参照してください。

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

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

    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変数の構成。

MCS変数は、/etc/xdl/mcs/mcs.conf ファイルを編集して構成します。以下は、非ドメイン参加シナリオおよびドメイン参加シナリオで構成できる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 にサインインします。左上のメニューで、[My Services] > [DaaS] を選択します。
  2. [Manage] > [Full Configuration] から、左ペインで [マシンカタログ] を選択します。
  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 にサインインします。左上のメニューで、[My Services] > [DaaS] を選択します。
  2. [Manage] > [Full Configuration] から、左ペインで [デリバリーグループ] を選択します。
  3. アクションバーで [デリバリーグループの作成] を選択します。デリバリーグループ作成ウィザードが開きます。

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

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

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

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

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

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

    デリバリーグループに名前を付ける

    [Full Configuration] 管理インターフェイスのデリバリーグループのリスト:

    Full Configuration管理インターフェイスのデリバリーグループのリスト

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

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

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