Machine Creation Services™ (MCS) を使用してLinux VMを作成する

最終公開日 : Nov 13, 2026
MCSを使用してLinux VMを作成するには、ハイパーバイザー上にマスターイメージを準備します。このプロセスには、テンプレートVMへのVDAのインストール、Citrix Studioでのマシンカタログの作成、デリバリーグループの作成、および特定の構成タスクの実行が含まれます。
注:
Citrix Hypervisor™、Microsoft Azure、VMware vSphere、AWS、GCP、またはNutanix AHV以外のハイパーバイザーでマスターイメージを準備しようとすると、予期しない結果が発生する可能性があります。
Microsoft Azure、AWS、およびGCPは、Citrix Virtual Apps and Desktops™ 7 2003以降ではサポートされていません。ただし、Citrix Virtual Apps and Desktopsサービスでホストを引き続き使用できます。

サポートされているディストリビューション

ウィンバインド SSSD セントリファイ PBIS
RHEL 8.3 はい いいえ いいえ いいえ
CentOS 8.3 はい いいえ いいえ いいえ
RHEL 8.2 はい いいえ いいえ いいえ
CentOS 8.2 はい いいえ いいえ いいえ
RHEL 8.1 はい いいえ いいえ いいえ
CentOS 8.1 はい いいえ いいえ いいえ
RHEL 7.9 はい はい いいえ いいえ
CentOS 7.9 はい はい いいえ いいえ
RHEL 7.8 はい はい いいえ いいえ
CentOS 7.8 はい はい いいえ いいえ
ウブントゥ 20.04 はい はい いいえ いいえ
ウブントゥ 18.04 はい はい いいえ いいえ
ウブントゥ 16.04 はい はい いいえ いいえ
デビアン 10.7 はい はい いいえ いいえ
SUSE 12.5 はい はい いいえ いいえ

Citrix Hypervisor上でMCSを使用してLinux VMを作成する

ステップ1:マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれます。マスターイメージを準備するには、次の手順を実行します。

ステップ1a:Citrix VM Toolsをインストールする

各VMがxe CLIまたはXenCenterを使用できるようにするには、Citrix VM ToolsをテンプレートVMにインストールする必要があります。ツールがインストールされていないと、VMのパフォーマンスが低下する可能性があります。ツールがないと、次のいずれも実行できません。
  • VMをクリーンにシャットダウン、再起動、または一時停止する。
  • XenCenterでVMのパフォーマンスデータを表示します。
  • 実行中のVMを移行します (XenMotion経由)。
  • スナップショットまたはメモリ付きスナップショット (チェックポイント) を作成し、スナップショットに戻します。
  • 実行中のLinux VMのvCPU数を調整します。
  1. guest-tools.isoという名前のCitrix VM Toolsをマウントするには、次のコマンドを実行します。
    sudo mount /dev/cdrom /mnt
  2. お使いのLinuxディストリビューションに基づいて、xe-guest-utilitiesパッケージをインストールするには、次のコマンドを実行します。
    RHEL/CentOSの場合:
    sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm
    Ubuntu/Debianの場合:
    sudo dpkg -i /mnt/Linux/xe-guest-utilities_{package-version}_all.deb
    SUSE 12の場合:
    sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm
  3. XenCenterの全般タブで、テンプレートVMの仮想化状態を確認します。Citrix VM Toolsが正しくインストールされている場合、仮想化状態は最適化済みになります。
    仮想化状態が最適化されています

ステップ1b: テンプレートVMにLinux VDAパッケージをインストールする

注:
現在実行中のVDAをテンプレートVMとして使用する場合は、この手順を省略してください。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールしてください。詳しくは、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするには、次のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
Ubuntu/Debianの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ1c:tdb-toolsパッケージをインストールするためにリポジトリを有効にする

RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms

ステップ1d:ntfs-3gを含むEPELリポジトリをインストールする

RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときに、それに含まれるntfs-3gパッケージがインストールされるようにします。

ステップ1e:SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

ステップ1f: ランタイム環境をセットアップする

deploymcs.shを実行する前に、以下を実行します。
  • /etc/xdl/mcs/mcs.conf内の変数を変更します。mcs.conf構成ファイルには、MCSとLinux VDAを設定するための変数が含まれています。以下は、必要に応じて設定できる変数です。
    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するものと同じになります。ただし、dnsおよびAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNで、これはMCSで作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IPアドレスを設定します。
    • AD_INTEGRATION: WinbindまたはSSSDを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法の対応表については、この記事のサポートされるディストリビューションを参照してください。
    • WORKGROUP: ADで構成されている場合、ワークグループ名(大文字と小文字を区別)を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加します。この操作により、MCSプロビジョニングされたマシンが再起動するたびにデータと設定が失われるのを防ぎます。
    /etc/xdl/mcs/mcs_local_setting.regファイル内の各行は、レジストリ値を設定または更新するためのコマンドです。
    たとえば、レジストリ値をそれぞれ書き込むまたは更新するために、次のコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加できます。
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ1g: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション)テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。
    Winbindユーザーの場合は、/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。
    SSSDユーザーの場合は、/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。
    注:
    テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用します。
  3. Citrix Hypervisor上で、テンプレートVMをシャットダウンします。マスターイメージのスナップショットを作成し、名前を付けます。

ステップ2:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログに作成するVMの数を指定します。必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用してマシンカタログを作成する」を参照してください。

ステップ3:デリバリーグループを作成する

デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループを作成する」を参照してください。

MCSを使用してAzure上にLinux VMを作成する

ステップ1:Citrix StudioでAzureへのホスティング接続を作成する

  1. Citrix Cloud™のCitrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、Azureへの接続を作成します。
    Azureへの接続を作成するイメージ
  2. 接続の種類としてMicrosoft Azureを選択します。
    Azure接続の種類を選択するイメージ
  3. AzureアカウントのサブスクリプションIDと接続名を入力します。
    AzureサブスクリプションIDを入力するイメージ
    ホスティングペインに新しい接続が表示されます。
    新しいAzure接続のイメージ

Step 2: テンプレートVMでマスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

Step 2a: Ubuntu 18.04用にcloud-initを構成する

VMが再起動または停止されたときにVDAホスト名が保持されるようにするには、次のコマンドを実行します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
/etc/cloud/cloud.cfgファイルのsystem_infoセクションに次の行が存在することを確認してください。
system_info:
   network:
       renderers: ['netplan', 'eni', 'sysconfig']

Step 2b: テンプレートVMにLinux VDAパッケージをインストールする

注:
現在実行中のVDAをテンプレートVMとして使用する場合は、この手順を省略してください。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールしてください。詳細については、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするために次のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
Ubuntu/Debianの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

Step 2c: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときに、それに含まれるntfs-3gパッケージがインストールされるようにします。

Step 2d: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームでは、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールしてください。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

ステップ2e: ランタイム環境をセットアップする

deploymcs.shを実行する前に、以下を実行します。
  • /etc/xdl/mcs/mcs.confの変数を変更します。mcs.conf構成ファイルには、MCSとLinux VDAを設定するための変数が含まれています。以下にいくつかの変数を示しますが、そのうちdnsとAD_INTEGRATIONは設定する必要があります。
    注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例: LDAP_LIST='aaa.lab:389 bbb.lab:389'
    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するファイルと同じになります。ただし、dnsとAD_INTEGRATIONの変数は引き続き構成する必要があります。デフォルト値はNで、これはMCSで作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IPアドレスを設定します。
    • AD_INTEGRATION: WinbindまたはSSSDを設定します(SSSDはSUSEではサポートされていません)。
    • WORKGROUP: ADで構成されている場合、ワークグループ名(大文字と小文字を区別)を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加します。この操作により、MCSプロビジョニングされたマシンが再起動するたびにデータと設定が失われるのを防ぎます。
    /etc/xdl/mcs/mcs_local_setting.regファイル内の各行は、レジストリ値を設定または更新するためのコマンドです。
    たとえば、レジストリ値を書き込むまたは更新するために、次のコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加できます。
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

手順2f: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション) テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。
    Winbindユーザーの場合は、/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。
    SSSDユーザーの場合は、/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. テンプレートVMにアプリケーションをインストールし、AzureポータルからテンプレートVMをシャットダウンします。テンプレートVMの電源ステータスが**停止済み (割り当て解除済み)**であることを確認してください。ここでリソースグループの名前を覚えておいてください。Azure上でマスターイメージを見つけるには、その名前が必要です。
    テンプレートVMの停止済み電源ステータスの画像

手順3: マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログで作成するVMの数を指定します。マシンカタログを作成する際、テンプレートVMが属するリソースグループからマスターイメージを選択し、テンプレートVMのVHDを見つけます。
テンプレートVMのVHDを見つける画像
必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用してマシンカタログを作成する」を参照してください。

手順4: デリバリーグループを作成する

デリバリーグループは、1つ以上のマシンカタログから選択されたマシンの集合です。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループを作成する」を参照してください。

MCS を使用して VMware vSphere 上に Linux VM を作成する

ステップ 1: Citrix Studio で VMware へのホスティング接続を作成する

  1. vSphere 環境に vCenter Server をインストールします。詳細については、VMware vSphere を参照してください。
  2. Citrix Studio で、構成 > ホスティング > 接続およびリソースの追加 を選択して、VMware vSphere への接続を作成します。
    Azure への接続を作成するイメージ
  3. 接続の種類として VMware vSphere を選択します。
    VMware vSphere を選択するイメージ
  4. VMware アカウントの接続アドレス(vCenter Server URL)、ユーザー名とパスワード、および接続名を入力します。
    VMware 接続名のイメージ
    ホスティングペインに新しい接続が表示されます。
    新しい vSphere 接続のイメージ

ステップ 2: マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ 2a: テンプレート VM に Linux VDA パッケージをインストールする

注:
現在実行中の VDA をテンプレート VM として使用する場合は、この手順を省略してください。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールします。詳細については、インストール概要を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするために次のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
Ubuntu/Debianの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ2b: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールすると、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされます。

ステップ2c: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

ステップ2d: ランタイム環境をセットアップする

deploymcs.sh を実行する前に、以下を実行します。
  • /etc/xdl/mcs/mcs.conf の変数を変更します。mcs.conf 構成ファイルには、MCS と Linux VDA を設定するための変数が含まれています。以下にいくつかの変数を示しますが、そのうち dns と AD_INTEGRATION は設定する必要があります。
    注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:LDAP_LIST='aaa.lab:389 bbb.lab:389'
    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中の VDA の既存の構成を使用するかどうかを決定します。Y に設定すると、MCS で作成されたマシンの構成ファイルは、現在実行中の VDA の対応するファイルと同じになります。ただし、dns と AD_INTEGRATION の変数は引き続き構成する必要があります。デフォルト値は N です。これは、MCS で作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IP アドレスを設定します。
    • AD_INTEGRATION: Winbind または SSSD を設定します (SSSD は SUSE ではサポートされていません)。
    • WORKGROUP: AD で構成されている場合、ワークグループ名 (大文字と小文字を区別) を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、/etc/xdl/mcs/mcs_local_setting.reg ファイルにコマンドラインを追加します。この操作により、MCS プロビジョニングされたマシンが再起動するたびにデータと設定が失われるのを防ぎます。
    /etc/xdl/mcs/mcs_local_setting.reg ファイルの各行は、レジストリ値を設定または更新するためのコマンドです。
    たとえば、レジストリ値をそれぞれ書き込むまたは更新するために、/etc/xdl/mcs/mcs_local_setting.reg ファイルに次のコマンドラインを追加できます。
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ 2e: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション) テンプレート VM で、構成テンプレートを更新して、作成されたすべての VM 上の関連する /etc/krb5.conf、/etc/samba/smb.conf、および /etc/sssd/sssd.conf ファイルをカスタマイズします。
    Winbind ユーザーの場合は、/etc/xdl/mcs/winbind_krb5.conf.tmpl および /etc/xdl/mcs/winbind_smb.conf.tmpl テンプレートを更新します。
    SSSD ユーザーの場合は、/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および /etc/xdl/mcs/sssd_smb.conf.tmpl テンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDN などの変数を使用してください。
  3. テンプレートVMにアプリケーションのインストールが完了したら、VMwareからテンプレートVMをシャットダウンします。テンプレートVMのスナップショットを作成します。

ステップ3:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成するときは、スナップショットリストからマスターイメージを選択します。
マスターイメージを選択する画像(/en-us/linux-virtual-delivery-agent/2103/media/choose-master-image-from-the-list.png)
必要に応じて、その他の構成タスクを実行します。詳細については、Studioを使用してマシンカタログを作成するを参照してください。

ステップ4:デリバリーグループを作成する

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

MCSを使用してAWS上にLinux VMを作成する

ステップ1:Citrix StudioでAWSへのホスティング接続を作成する

  1. Citrix CloudのCitrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、AWSへの接続を作成します。
    AWSへの接続を作成する画像(/en-us/linux-virtual-delivery-agent/2103/media/create-connection-to-aws.png)
  2. 接続の種類としてAmazon EC2を選択します。
    Amazon EC2を選択する画像(/en-us/linux-virtual-delivery-agent/2103/media/choose-amazon-ec2.png)
  3. AWSアカウントのAPIキーとシークレットキーを入力し、接続名を入力します。
    アクセスキーペアの画像(/en-us/linux-virtual-delivery-agent/2103/media/access-key-pair.png)
    「APIキー」はアクセスキーIDであり、「シークレットキー」はシークレットアクセスキーです。これらはアクセスキーペアと見なされます。シークレットアクセスキーを紛失した場合は、アクセスキーを削除して別のキーを作成できます。アクセスキーを作成するには、次の手順を実行します。
    1. AWSサービスにサインインします。
    2. Identity and Access Management (IAM) コンソールに移動します。
    3. 左側のナビゲーションペインで、ユーザーを選択します。
    4. 対象ユーザーを選択し、下にスクロールしてセキュリティ認証情報タブを選択します。
    5. 下にスクロールしてアクセスキーの作成をクリックします。新しいウィンドウが表示されます。
    6. .csvファイルのダウンロードをクリックし、アクセスキーを安全な場所に保存します。
    ホスティングペインに新しい接続が表示されます。
    新しいAWS接続の画像(/en-us/linux-virtual-delivery-agent/2103/media/new-aws-connection.png)

ステップ2:マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ2a:cloud-initを構成する

  1. EC2インスタンスの再起動または停止時にVDAホスト名が保持されるようにするには、次のコマンドを実行してVDAホスト名を保持します。
    echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
    Ubuntu 18.04 の場合、/etc/cloud/cloud.cfg ファイルの system_info セクションに以下の行が存在することを確認してください。
    system_info:
        network:
            renderers: ['netplan', 'eni', 'sysconfig']
  2. AWSでMCSによって作成されたVMにリモートでアクセスするためにSSHを使用するには、これらのVMにはキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて、次の手順を実行します。
    • cloud-init設定ファイル /etc/cloud/cloud.cfg を編集します。ssh_pwauth: true の行が存在することを確認します。set-password の行とその後の行が存在する場合は、削除またはコメントアウトします。
      users:
      - default
    • cloud-initによって作成されたデフォルトユーザーec2-userまたはubuntuを使用する予定がある場合は、passwdコマンドを使用してユーザーパスワードを変更できます。MCSで作成されたVMにログインするために、新しいパスワードを覚えておいてください。
    • /etc/ssh/sshd_configファイルを編集して、次の行が存在することを確認します。
      PasswordAuthentication yes
      ファイルを保存し、sudo service sshd restartコマンドを実行します。

ステップ2b:テンプレートVMにLinux VDAパッケージをインストールする

注:
現在実行中のVDAをテンプレートVMとして使用する場合は、この手順を省略します。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールします。詳細については、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするために次のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
Ubuntu/Debianの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ2c:ntfs-3gを含むEPELリポジトリをインストールする

RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされるようにします。

ステップ2d:SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

手順2e:ランタイム環境をセットアップする

deploymcs.shを実行する前に、次の操作を行います。
  • /etc/xdl/mcs/mcs.confで変数を変更します。mcs.conf構成ファイルには、MCSとLinux VDAを設定するための変数が含まれています。以下にいくつかの変数を示しますが、そのうちdnsとAD_INTEGRATIONは設定する必要があります。
    注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:LDAP_LIST='aaa.lab:389 bbb.lab:389'
    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの同等のファイルと同じになります。ただし、dnsとAD_INTEGRATIONの変数は引き続き構成する必要があります。デフォルト値はNで、これはMCSで作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IPアドレスを設定します。
    • AD_INTEGRATION: WinbindまたはSSSDを設定します(SSSDはSUSEではサポートされていません)。
    • WORKGROUP: ADで構成されている場合、ワークグループ名(大文字と小文字を区別)を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加します。この操作により、MCSプロビジョニングされたマシンが再起動するたびにデータと設定が失われるのを防ぎます。
    /etc/xdl/mcs/mcs_local_setting.regファイルの各行は、レジストリ値を設定または更新するためのコマンドです。
    例えば、レジストリ値を書き込む、または更新するために、/etc/xdl/mcs/mcs_local_setting.regファイルに以下のコマンドラインを追加できます。
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ2f: マスターイメージの作成

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション) テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。
    Winbindユーザーの場合は、/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。
    SSSDユーザーの場合は、/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. テンプレートVMにアプリケーションをインストールし、AWS EC2ポータルからテンプレートVMをシャットダウンします。テンプレートVMのインスタンス状態が停止済みであることを確認してください。
  4. テンプレートVMを右クリックし、イメージ > イメージの作成を選択します。必要に応じて情報を入力し、設定を行います。イメージの作成をクリックします。
    EBSイメージ作成の画像

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

Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際には、マシンテンプレート(以前に作成したマスターイメージ)を選択し、1つ以上のセキュリティグループを選択します。
マシンカタログ作成の画像セキュリティグループ選択の画像
必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用してマシンカタログを作成する」を参照してください。

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

デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループの作成」を参照してください。

MCSを使用してGCP上にLinux VMを作成する

ステップ1:GCP環境をセットアップする

詳細については、「Google Cloud Platform仮想化環境」を参照してください。

ステップ2:Citrix StudioでGCPへのホスティング接続を作成する

  1. Citrix CloudのCitrix Studioで、[構成] > [ホスティング] > [接続とリソースの追加] の順に選択して、GCPへの接続を作成します。
    GCPへの接続を作成するイメージ
  2. 接続の種類として [Google Cloud Platform] を選択します。
    Amazon EC2を選択するイメージ
  3. GCPアカウントのサービスアカウントキーをインポートし、接続名を入力します。
    アクセスキーペアのイメージ
    ホスティングペインに新しい接続が表示されます。
    新しいGCP接続のイメージ

ステップ3:マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ 3a: テンプレートVMにLinux VDAパッケージをインストールする

注:
実行中のVDAをテンプレートVMとして使用する場合、この手順を省略します。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールします。詳細については、インストール概要を参照してください。
お使いのLinuxディストリビューションに基づいて、次のコマンドを実行してLinux VDAの環境をセットアップします。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
Ubuntu/Debianの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ 3b: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールします。これにより、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされます。

ステップ 3c: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームでは、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNUコンパイラコレクション(GCC)コンパイラシステムおよびmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3g をインストールします:
    ./configure
    make
    make install

ステップ 3d: ランタイム環境をセットアップする

deploymcs.sh を実行する前に、以下を実行します:
  • /etc/xdl/mcs/mcs.conf の変数を変更します。mcs.conf 構成ファイルには、MCS と Linux VDA を設定するための変数が含まれています。以下にいくつかの変数を示します。このうち dns と AD_INTEGRATION は設定する必要があります:
    注: 変数を複数の値で設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例: LDAP_LIST='aaa.lab:389 bbb.lab:389.'
    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中の VDA の既存の構成を使用するかどうかを決定します。Y に設定すると、MCS で作成されたマシンの構成ファイルは、現在実行中の VDA の同等のファイルと同じになります。ただし、dns と AD_INTEGRATION の変数は引き続き構成する必要があります。デフォルト値は N です。これは、MCS で作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IP アドレスを設定します。
    • AD_INTEGRATION: Winbind または SSSD を設定します (SSSD は SUSE ではサポートされていません)。
    • WORKGROUP: AD で構成されている場合、ワークグループ名 (大文字と小文字を区別) を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを /etc/xdl/mcs/mcs_local_setting.reg ファイルに追加します。この操作により、MCS でプロビジョニングされたマシンが再起動するたびにデータと設定が失われるのを防ぎます。
    /etc/xdl/mcs/mcs_local_setting.reg ファイルの各行は、レジストリ値を設定または更新するためのコマンドです。
    たとえば、レジストリ値をそれぞれ書き込むまたは更新するために、次のコマンドラインを /etc/xdl/mcs/mcs_local_setting.reg ファイルに追加できます:
    create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ 3e: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション) テンプレート VM で、構成テンプレートを更新して、作成されたすべての VM 上の関連する /etc/krb5.conf、/etc/samba/smb.conf、および /etc/sssd/sssd.conf ファイルをカスタマイズします。
    Winbind ユーザーの場合は、/etc/xdl/mcs/winbind_krb5.conf.tmpl および /etc/xdl/mcs/winbind_smb.conf.tmpl テンプレートを更新します。
    SSSDユーザーの場合、/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。
    注:
    テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用します。
  3. テンプレートVMへのアプリケーションのインストールが完了したら、VMwareからテンプレートVMをシャットダウンします。テンプレートVMのスナップショットを作成します。

ステップ4:マシンカタログを作成する

Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際は、スナップショットリストからマスターイメージを選択します。
マスターイメージの選択の画像(/en-us/linux-virtual-delivery-agent/2103/media/choose-master-image-from-the-list.png)
必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用してマシンカタログを作成する」を参照してください。

ステップ5:デリバリーグループを作成する

デリバリーグループは、1つ以上のマシンカタログから選択されたマシンの集合です。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループを作成する」を参照してください。

MCSを使用してLinux VDAをアップグレードする

MCSを使用してLinux VDAをアップグレードするには、次の手順を実行します。
  1. Linux VDAを現在のリリースにアップグレードする前に、.NET Core Runtime 3.1がインストールされていることを確認してください。
  2. テンプレートマシンでLinux VDAをアップグレードします。
    RHEL 7およびCentOS 7の場合:
    sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
    RHEL 8およびCentOS 8の場合:
    sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
    SUSE 12の場合:
    sudo rpm -U XenDesktopVDA-<version>.sle12_x.x86_64.rpm
    Ubuntu 16.04の場合:
    sudo dpkg -i xendesktopvda_<version>.ubuntu16.04_amd64.deb
    Ubuntu 18.04の場合:
    sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
    Ubuntu 20.04の場合:
    sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
  3. /etc/xdl/mcs/mcs.confと/etc/xdl/mcs/mcs_local_setting.regを編集します。
  4. 新しいスナップショットを作成します。
  5. Citrix Studioで、新しいスナップショットを選択してマシンカタログを更新します。各マシンが再起動するまで待機します。マシンを手動で再起動しないでください。

マシンアカウントパスワードの更新を自動化する

マシンアカウントのパスワードは、デフォルトではマシンカタログの作成から30日後に期限切れになります。パスワードの期限切れを防ぎ、マシンアカウントのパスワード更新を自動化するには、次の手順を実行します。
  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行する前に、次のエントリを/etc/xdl/mcs/mcs.confに追加します。
    UPDATE_MACHINE_PW="enabled"
  2. /opt/Citrix/VDA/sbin/deploymcs.shを実行した後、/etc/cron.d/mcs_update_password_cronjobを開いて更新時間と頻度を設定します。デフォルト設定では、毎週日曜日の午前2時30分にマシンアカウントのパスワードが更新されます。
マシンアカウントのパスワードが更新されるたびに、Delivery Controller上のチケットキャッシュが無効になり、/var/log/xdl/jproxy.logに次のエラーが表示されることがあります。
[ERROR] - AgentKerberosServiceAction.Run: GSSException occurred. Error: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
エラーを解消するには、チケットキャッシュを定期的にクリアします。すべてのDelivery Controllerまたはドメインコントローラーでキャッシュクリーンアップタスクをスケジュールできます。

MCSで作成されたVMでFASを有効にする

次のディストリビューションで実行されているMCSで作成されたVMでFASを有効にできます。
ウィンバインド SSSD セントリファイ
RHEL 8、CentOS 8 はい いいえ いいえ
RHEL 7、CentOS 7 はい はい いいえ
ウブントゥ 20.04 はい いいえ いいえ
ウブントゥ 18.04 はい いいえ いいえ
ウブントゥ 16.04 はい いいえ いいえ
デビアン 10.7 はい いいえ いいえ
SUSE 12.5 はい いいえ いいえ

テンプレートVMでマスターイメージを準備する際にFASを有効にする

  1. スクリプト opt/Citrix/VDA/sbin/ctxinstall.sh を実行し、FASサーバーのリストなど、すべての環境変数を設定します。環境変数の詳細については、「簡易インストール」を参照してください。
    sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
  2. ルートCA証明書をインポートします。
    sudo cp root.pem /etc/pki/CA/certs/
  3. ctxfascfg.shを実行します。
  4. /etc/xdl/mcs/mcs.conf で変数を設定します。
    1. Use_Existing_Configurations_Of_Current_VDA の値を Y に設定します。
    2. FAS_LIST 変数を、FASサーバーアドレス、またはセミコロンで区切られ二重引用符で囲まれた複数のFASサーバーアドレス(例: FAS_LIST="<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>")に設定します。
    3. VDI_MODE など、必要に応じて他の変数を設定します。
  5. スクリプト /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。

MCSで作成されたVMでFASを有効にする

前述のようにテンプレートマシンでFASが有効になっていない場合、MCSで作成された各VMでFASを有効にできます。
MCSで作成されたVMでFASを有効にするには、次の手順を実行します。
  1. /etc/xdl/mcs/mcs.conf で変数を設定します。
    1. Use_Existing_Configurations_Of_Current_VDA の値を Y に設定します。
    2. FAS_LIST 変数をFASサーバーアドレスに設定します。
    3. VDI_MODE など、必要に応じて他の変数を設定します。
  2. ルートCA証明書をインポートします。
    sudo cp root.pem /etc/pki/CA/certs/
  3. /opt/Citrix/VDA/sbin/ctxfascfg.sh スクリプトを実行します。
注:
これらの変数はVMの起動時に呼び出されるため、/etc/xdl/mcs/mcs.conf ですべての必要な変数を設定する必要があります。