Linux 仮想配信エージェント 2503

Machine Creation Services™ (MCS) を使用した Google Cloud Platform (GCP) 上での 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 Instance 管理者 (ベータ版)
      • オーナー
    • 例:

      • 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/2503/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 をインストールする必要があります。
    

    お使いの 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/2503/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 にサインインします。左上のメニューで、My Services > DaaS を選択します。
  2. Manage > Full Configuration から、左ペインで Machine Catalogs を選択します。
  3. アクションバーで Create Machine Catalog を選択します。
  4. Machine Type ページで、Multi-session OS または Single-session OS を選択し、Next を選択します。

    マシンタイプ

  5. Machine Management ページで、Machines that are power managed および Citrix Machine Creation Services オプションを選択し、Next を選択します。複数のリソースがある場合は、メニューから1つを選択します。

    マシン管理

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

    マスターイメージの選択

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

  7. Machine Identities ページで、マスターイメージがどのドメインにも参加していない場合は Non-domain-joined を選択し、マスターイメージをドメインに参加させた場合は Active Directory アカウントを選択します。

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

    マシンIDタイプ

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

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

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

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

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

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

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

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

  1. Citrix Cloud にサインインします。左上のメニューで、My Services > DaaS を選択します。
  2. Manage > Full Configuration から、左ペインで Delivery Groups を選択します。
  3. アクションバーで Create Delivery Group を選択します。デリバリーグループ作成ウィザードが開きます。

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

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

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

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

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

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

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

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

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

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

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

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