Machine Creation Services™ (MCS) を使用した Linux VM の作成
7.18 リリース以降、MCS を使用して Linux VM を作成できます。
-
サポートされているハイパーバイザー
- AWS
- Citrix Hypervisor™
- Microsoft Azure
- VMware vSphere
サポートされていないハイパーバイザーでマスターイメージを準備しようとすると、予期しない結果が発生する可能性があります。
-
MCS を使用した Citrix Hypervisor 上での Linux VM の作成
-
ステップ 1: マスターイメージの準備
- マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。
ステップ 1a: Citrix VM Tools のインストール
各 VM が xe CLI または XenCenter を使用できるようにするには、テンプレート VM に Citrix VM Tools をインストールする必要があります。ツールがインストールされていないと、VM のパフォーマンスが低下する可能性があります。ツールがないと、次のいずれも実行できません。
- VM のクリーンなシャットダウン、再起動、または一時停止
- XenCenter での VM パフォーマンスデータの表示
- 実行中の VM の移行(XenMotion 経由)
- スナップショットまたはメモリ付きスナップショット(チェックポイント)の作成、およびスナップショットへの復元
- 実行中の Linux VM の vCPU 数の調整
-
guest-tools.isoという名前の Citrix VM Tools をマウントするには、次のコマンドを実行します。sudo mount /dev/cdrom /mnt <!--NeedCopy--> -
Linux ディストリビューションに基づいて
xe-guest-utilitiesパッケージをインストールするには、次のコマンドを実行します。RHEL/CentOS の場合:
sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm <!--NeedCopy-->Ubuntu の場合:
sudo dpkg -i /mnt/Linux/xe-guest-utilities_{package-version}_all.deb <!--NeedCopy-->SUSE 12 の場合:
sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm <!--NeedCopy--> -
XenCenter の [General] タブで、テンプレート VM の仮想化状態を確認します。Citrix VM Tools が正しくインストールされている場合、仮想化状態は [Optimized] です。

ステップ 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>
<!--NeedCopy-->
Ubuntu の場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 1c: tdb-tools パッケージをインストールするためのリポジトリの有効化
RHEL 7 サーバーの場合:
- subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->
- RHEL 7 ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->
ステップ 1d: ntfs-3g を含む EPEL リポジトリのインストール
RHEL 6/CentOS 6、RHEL 7/CentOS 7 に EPEL リポジトリをインストールすると、後で deploymcs.sh を実行したときに、その中に含まれる ntfs-3g パッケージがインストールされます。
ステップ 1e: SUSE 12 への ntfs-3g の手動インストール
SUSE 12 プラットフォームには、ntfs-3g を提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3g を手動でインストールします。
-
GNU Compiler Collection(GCC)コンパイラーシステムと make パッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3g パッケージをダウンロードします。
-
ntfs-3g パッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3g パッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3g をインストールします。
./configure make make install <!--NeedCopy-->
ステップ 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 を設定します。 -
WORKGROUP:ワークグループ名を設定します。これは、AD で構成されている場合は NetBIOS 名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
-
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを /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" --force <!--NeedCopy-->update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003" <!--NeedCopy-->
ステップ 1g: マスターイメージの作成
- /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
-
(オプション) テンプレート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 などの変数を使用してください。
- Citrix Hypervisorで、テンプレートVMをシャットダウンします。マスターイメージのスナップショットを作成し、名前を付けます。
ステップ 2: マシンカタログの作成
Citrix Studioで、マシンカタログを作成し、カタログで作成するVMの数を指定します。必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用したマシンカタログの作成」を参照してください。
ステップ 3: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。どのユーザーがこれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
MCSを使用したAzureでのLinux VMの作成
ステップ 1: Citrix StudioでのAzureへのホスティング接続の作成
-
Citrix Studioで、[構成] > [ホスティング] > [接続およびリソースの追加] の順に選択して、Azureへの接続を作成します。

-
接続の種類としてMicrosoft Azureを選択します。

-
- AzureアカウントのサブスクリプションIDと接続名を入力します。

新しい接続がホスティングペインに表示されます。

-
ステップ 2: テンプレートVMでのマスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。
ステップ 2a: Ubuntu 18.04向けcloud-initの構成
VMが再起動または停止されたときにVDAホスト名が保持されるようにするには、次のコマンドを実行します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
<!--NeedCopy-->
/etc/cloud/cloud.cfg ファイルの system_info セクションに次の行が存在することを確認します。
system_info:
network:
renderers: ['netplan', 'eni', 'sysconfig']
<!--NeedCopy-->
ステップ 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>
<!--NeedCopy-->
Ubuntuの場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 2c: tdb-toolsパッケージをインストールするためのリポジトリの有効化
RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->
ステップ 2d: ntfs-3gを含むEPELリポジトリのインストール
RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときに、それに含まれるntfs-3gパッケージがインストールされるようにします。
ステップ 2e: SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
-
GNU Compiler Collection(GCC)コンパイラシステムとmakeパッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3gパッケージをダウンロードします。
-
ntfs-3gパッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力します。
- sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストールします。
./configure make make install <!--NeedCopy-->
ステップ 2f: ランタイム環境のセットアップ
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で構成されている場合はNetBIOS名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
- テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、**/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" --force
<!--NeedCopy--> ```
```
update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
<!--NeedCopy--> ```
ステップ2g: マスターイメージの作成
- /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
-
(オプション)テンプレート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などの変数を使用してください。
-
テンプレートVMにアプリケーションをインストールし、AzureポータルからテンプレートVMをシャットダウンします。テンプレートVMの電源ステータスが停止済み(割り当て解除済み)であることを確認します。ここでリソースグループの名前を覚えておいてください。Azureでマスターイメージを見つけるには、この名前が必要です。

ステップ3: マシンカタログの作成
- Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際は、テンプレートVMが属するリソースグループからマスターイメージを選択し、テンプレートVMのVHDを見つけます。次のスクリーンショットを参照してください。

必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用したマシンカタログの作成」を参照してください。
- ### ステップ4: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。どのユーザーがこれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループの作成」を参照してください。
MCSを使用したVMware vSphereでのLinux VMの作成
ステップ1: Citrix StudioでVMwareへのホスティング接続を作成
-
vSphere環境にvCenter Serverをインストールします。詳細については、「VMware vSphere」を参照してください。
-
Citrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、VMware vSphereへの接続を作成します。

-
接続タイプとしてVMware vSphereを選択します。

-
VMwareアカウントの接続アドレス(vCenter Server URL)、ユーザー名とパスワード、および接続名を入力します。

新しい接続がホスティングペインに表示されます。

ステップ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>
<!--NeedCopy-->
Ubuntuの場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
- #### ステップ2b: tdb-toolsパッケージをインストールするためのリポジトリの有効化
- **RHEL 7サーバーの場合:**
- subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->
ステップ2c: ntfs-3gを含むEPELリポジトリのインストール
RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときに、それに含まれるntfs-3gパッケージがインストールされるようにします。
ステップ2d: SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロード、コンパイル、およびntfs-3gを手動でインストールします。
-
GNU Compiler Collection (GCC)コンパイラシステムとmakeパッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3gパッケージをダウンロードします。
-
ntfs-3gパッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストールします。
./configure make make install <!--NeedCopy-->
ステップ 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 で構成されている場合は NetBIOS 名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを /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" --force <!--NeedCopy-->update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003" <!--NeedCopy-->
ステップ 2f: マスターイメージの作成
- /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
-
(オプション) テンプレート 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などの変数を使用してください。 - テンプレート VM へのアプリケーションのインストールが完了したら、VMware からテンプレート VM をシャットダウンします。テンプレート VM のスナップショットを作成します。
ステップ 3: マシンカタログの作成
Citrix Studio でマシンカタログを作成し、カタログで作成する VM の数を指定します。マシンカタログを作成するときは、スナップショットリストからマスターイメージを選択します。

必要に応じて、その他の構成タスクを実行します。詳しくは、「Studio を使用したマシンカタログの作成」を参照してください。
ステップ 4: デリバリーグループの作成
デリバリーグループは、1 つ以上のマシンカタログから選択されたマシンの集合です。デリバリーグループは、どのユーザーがこれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
MCS を使用した AWS 上での Linux VM の作成
ステップ 1: Citrix Studio で AWS へのホスティング接続を作成
-
Citrix Studio で、構成 > ホスティング > 接続とリソースの追加 を選択して、AWS への接続を作成します。

-
接続タイプとして Amazon EC2 を選択します。

-
AWS アカウントの API キーとシークレットキーを入力し、接続名を入力します。

API キーはアクセスキー ID であり、シークレットキーはシークレットアクセスキーです。これらはアクセスキーペアと見なされます。シークレットアクセスキーを紛失した場合は、アクセスキーを削除して新しいものを作成できます。アクセスキーを作成するには、以下を実行します。
- AWS サービスにサインインします。
- Identity and Access Management (IAM) コンソールに移動します。
- 左側のナビゲーションペインで、ユーザー を選択します。
- ターゲットユーザーを選択し、下にスクロールして セキュリティ認証情報 タブを選択します。
- 下にスクロールして アクセスキーの作成 をクリックします。新しいウィンドウが表示されます。
- 「.csv ファイルのダウンロード」 をクリックし、アクセスキーを安全な場所に保存します。
新しい接続がホスティングペインに表示されます。

ステップ 2: マスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、以下を実行します。
ステップ 2a: cloud-init の構成
-
EC2 インスタンスが再起動または停止されたときに VDA ホスト名が保持されるようにするには、次のコマンドを実行して VDA ホスト名を保持します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg <!--NeedCopy-->Ubuntu 18.04 の場合、
/etc/cloud/cloud.cfgファイルのsystem_infoセクションに次の行が存在することを確認してください。system_info: network: renderers: ['netplan', 'eni', 'sysconfig'] <!--NeedCopy--> -
AWS 上の MCS で作成された VM に SSH でリモートアクセスするには、これらの VM にキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて、以下を実行します。
-
cloud-init 構成ファイル
/etc/cloud/cloud.cfgを編集します。ssh_pwauth: true の行が存在することを確認します。set-password の行とその後の行が存在する場合は、削除またはコメントアウトします。users: - default <!--NeedCopy--> - cloud-init によって作成されたデフォルトユーザー
ec2-userまたはubuntuを使用する予定がある場合は、passwdコマンドを使用してユーザーパスワードを変更できます。新しいパスワードは、後で MCS で作成された VM にログインするために覚えておいてください。 -
/etc/ssh/sshd_configファイルを編集して、次の行が存在することを確認します。PasswordAuthentication yes <!--NeedCopy-->ファイルを保存し、
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>
<!--NeedCopy-->
Ubuntu の場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 2c: tdb-tools パッケージをインストールするためのリポジトリの有効化
RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->
ステップ2d: ntfs-3gを含むEPELリポジトリのインストール
RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールします。これにより、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされます。
ステップ2e: SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルしてntfs-3gを手動でインストールします。
-
GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3gパッケージをダウンロードします。
-
ntfs-3gパッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストールします。
./configure make make install <!--NeedCopy-->
ステップ2f: ランタイム環境の設定
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で構成されている場合はNetBIOS名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
-
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを/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" --force <!--NeedCopy-->update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003" <!--NeedCopy-->
ステップ2g: マスターイメージの作成
- /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
-
(オプション)テンプレート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などの変数を使用してください。
-
テンプレートVMにアプリケーションをインストールし、AWS EC2ポータルからテンプレートVMをシャットダウンします。テンプレートVMのインスタンス状態がStoppedであることを確認します。
-
テンプレートVMを右クリックし、Image > Create Imageを選択します。必要に応じて情報を入力し、設定を行います。Create Imageをクリックします。

ステップ3: マシンカタログの作成
Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成するときは、マシンテンプレート(以前に作成したマスターイメージ)を選択し、1つ以上のセキュリティグループを選択します。


必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用したマシンカタログの作成」を参照してください。
ステップ4: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンの集合です。どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループの作成」を参照してください。
MCSを使用したLinux VDAのアップグレード
MCSを使用してLinux VDAをアップグレードするには、次の操作を行います。
-
テンプレートマシンでLinux VDAをアップグレードします。
RHEL 7/CentOS 7の場合:
sudo rpm -U XenDesktopVDA-19.12.0.50-1.el7_x.x86_64.rpm <!--NeedCopy-->RHEL 6/CentOS 6の場合:
sudo rpm -U XenDesktopVDA-19.12.0.50-1.el6_x.x86_64.rpm <!--NeedCopy-->SUSE 12の場合:
sudo rpm -U XenDesktopVDA-19.12.0.50-1.sle12_x.x86_64.rpm <!--NeedCopy-->Ubuntu 16.04の場合:
sudo dpkg -i xendesktopvda_19.12.0.50-1.ubuntu16.04_amd64.deb <!--NeedCopy-->Ubuntu 18.04の場合:
sudo dpkg -i xendesktopvda_19.12.0.50-1.ubuntu18.04_amd64.deb <!--NeedCopy--> -
/etc/xdl/mcs/mcs.confおよび/etc/xdl/mcs/mcs_local_setting.regを編集します。
-
新しいスナップショットを作成します。
-
Citrix Studioで、新しいスナップショットを選択してマシンカタログを更新します。各マシンが再起動するまで待機します。マシンを手動で再起動しないでください。