MCSを使用したLinux仮想マシンの作成

MCS(Machine Creation Services)を使用して、Linux VMを作成するには、ハイパーバイザー上にマスターイメージを準備します。このプロセスでは、テンプレート仮想マシンにVDAをインストールする必要があります。Citrix Studioでマシンカタログを作成し、デリバリーグループを作成し、特定の構成タスクを実行します。

注:

Citrix Hypervisor、Microsoft Azure、VMware vSphere、またはAWS以外のハイパーバイザーでマスターイメージを準備しようとすると、予期しない問題が発生する可能性があります。

Microsoft AzureおよびAWSはCitrix Virtual Apps and Desktops 7 2003ではサポートされていませんが、引き続きCitrix Virtual Apps and Desktopsサービスでこれらのホストを使用できます。詳しくは、「最新リリースのホストサポートの変更点」を参照してください。

サポート対象のディストリビューション

  Winbind SSSD Centrify PBIS
RHEL 8.1 はい いいえ いいえ いいえ
CentOS 8.1 はい いいえ いいえ いいえ
RHEL 7.7 はい はい いいえ いいえ
CentOS 7.7 はい はい いいえ いいえ
Ubuntu 18.04 はい はい いいえ いいえ
Ubuntu 16.04 はい はい いいえ いいえ
SUSE 12.3 はい いいえ いいえ いいえ

Citrix HypervisorでのMCSを使用したLinux仮想マシンの作成

手順1:マスターイメージの準備

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

手順1a:Citrix VM Toolsのインストール

xe CLIまたはXenCenterを使用できるようにするには、仮想マシンごとにテンプレート仮想マシンにCitrix VM Toolsをインストールする必要があります。このツールがインストールされていないと、仮想マシンのパフォーマンスが低下する可能性があります。ツールがなければ、次のいずれも実行できません。

  • 仮想マシンを正しくシャットダウン、再起動、または一時停止する。
  • XenCenterでその仮想マシンのパフォーマンスデータを表示する。
  • 実行中の仮想マシンを移行する(XenMotionを使用)。
  • スナップショットまたはメモリを含んだスナップショット(チェックポイント)を作成したり、スナップショットを復元したりする。
  • 実行中のLinux仮想マシン上のvCPUの数を調整する。

重要:

Citrix VM Toolsをインストールせずに仮想マシンを実行することはサポートされません。

  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の場合:

    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の [全般] タブで、テンプレート仮想マシンの仮想化状態を確認します。Citrix VM Toolsが正しくインストールされている場合、仮想化の状態は次のように [最適化済み] となります:

    [最低化済み]仮想化の状態の画像

手順1b:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注: 現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。

使用しているLinuxディストリビューションごとに、次のコマンドを実行して、Linux VDAの環境をセットアップします。

RHEL/CentOSの場合:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>

Ubuntuの場合:

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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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を設定するための変数が含まれています。必要に応じて設定できる変数は次のとおりです:

    • 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" --force
    
     update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
    

手順1g:マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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で、テンプレート仮想マシンをシャットダウンします。マスターイメージのスナップショットを作成して名前を付けます。

手順2:マシンカタログの作成

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

手順3:デリバリーグループの作成

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

AzureでのMCSを使用したLinux仮想マシンの作成

手順1:Citrix StudioでのAzureへのホスティング接続の作成

  1. Citrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加] の順に選択して、Azureへの接続を作成します。

    azureへの接続作成の画像

  2. 接続の種類として[Microsoft Azure]を選択します。

    azure接続の種類選択の画像

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

    AzureサブスクリプションIDの入力画像

    新しい接続が[ホスト]ペインに表示されます。

    新しいAzure接続の画像

手順2:テンプレート仮想マシンでマスターイメージを準備

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

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

仮想マシンの再起動または停止時にVDAホスト名を維持するには、次のコマンドを実行して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']

手順2b:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注: 現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。

使用しているLinuxディストリビューションごとに、次のコマンドを実行して、Linux VDAの環境をセットアップします。

RHEL/CentOSの場合:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>

Ubuntuの場合:

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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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を設定するための変数が含まれています。以下は、dnsAD_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" --force
    
     update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
    

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

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールし、Azure Portalでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンの電源状態が、[停止(割り当て解除)] になっていることを確認します。ここでリソースグループの名前を覚えておいてください。Azureでマスターイメージを検索する際に名前が必要です。

    テンプレート仮想マシンの電源状態が停止の画像

手順3:マシンカタログの作成

Citrix Studioで、マシンカタログを作成し、カタログに作成する仮想マシンの数を指定します。マシンカタログを作成するときは、プレート仮想マシンが属するリソースグループからマスターイメージを選択し、テンプレート仮想マシンのVHDを探します。

テンプレート仮想マシンのVHD表示の画像

必要に応じて他の構成タスクを実行します。詳しくは、Knowledge CenterのCTX219270および「Studioでのカタログの作成」を参照してください。

手順4:デリバリーグループの作成

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

VMware vSphereでのMCSを使用したLinux仮想マシンの作成

手順1:Citrix StudioでのVMwareへのホスティング接続の作成

  1. vSphere環境にvCenter Serverをインストールします。詳しくは、「VMware vSphere」を参照してください。

  2. Citrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加] の順に選択して、VMware vSphereへの接続を作成します。

    Azureへの接続作成の画像

  3. 接続の種類として[VMware vSphere]を選択します。

    VMware sphere選択の画像

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

    VMware接続名の画像

    新しい接続が[ホスト]ペインに表示されます。

    新しいsphere接続の画像

手順2:マスターイメージの準備

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

手順2a:テンプレート仮想マシンでLinux VDAパッケージをインストールする

注: 現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。

使用しているLinuxディストリビューションごとに、次のコマンドを実行して、Linux VDAの環境をセットアップします。

RHEL/CentOSの場合:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>

Ubuntuの場合:

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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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を設定するための変数が含まれています。以下は、dnsAD_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" --force
    
     update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
    

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

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールしたら、VMwareでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンのスナップショットを作成します。

手順3:マシンカタログの作成

Citrix Studioで、マシンカタログを作成し、カタログに作成する仮想マシンの数を指定します。マシンカタログを作成するときは、スナップショットリストからマスターイメージを選択します。

マスターイメージ選択の画像

必要に応じて他の構成タスクを実行します。詳しくは、Knowledge CenterのCTX219270および「Studioでのカタログの作成」を参照してください。

手順4:デリバリーグループの作成

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

AWSでMCSを使用したLinux仮想マシンの作成

手順1:Citrix StudioでのAWSへのホスティング接続の作成

  1. Citrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加] の順に選択して、AWSへの接続を作成します。

    AWSへの接続作成の画像

  2. 接続の種類として [Amazon EC2] を選択します。

    Amazon EC2を選択する画像

  3. AWSアカウントのAPIキーと秘密キーを入力し、接続名を入力します。

    アクセスキーペアの画像

    APIキーはアクセスキーIDで、秘密キーはシークレットアクセスキーです。これらは、アクセスキーペアと見なされます。シークレットアクセスキーを紛失した場合は、アクセスキーを削除して新しいアクセスキーを作成できます。アクセスキーを作成するには、次の手順を実行します:

    1. AWSサービスにサインインします。
    2. IDおよびアクセス管理(IAM)コンソールに移動します。
    3. 左側のナビゲーションペインで、[Users] を選択します。
    4. 対象ユーザーを選択して下にスクロールして、[Security credentials] タブを選択します。
    5. 下にスクロールして、[Create access key] をクリックします。新しいウィンドウが開きます。
    6. [Download .csv file] をクリックし、アクセスキーを安全な場所に保存します。

    新しい接続が[ホスト]ペインに表示されます。

    新しいAWS接続の画像

手順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が作成した仮想マシンにSSHを使用してリモートアクセスする場合、これらの仮想マシンにキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて次の操作を実行します。

    • cloud-init構成ファイル/etc/cloud/cloud.cfgを編集します。ssh_pwauth: true行が存在することを確認します。set-password行と次の行が存在する場合は、その行を削除するか、コメントを追加します。

       users:
       - default
      
    • cloud-initによって作成されたデフォルトユーザーec2-userまたはubuntuを使用する場合は、passwdコマンドを使用してユーザーパスワードを変更できます。新しいパスワードを記録して、MCSが作成した仮想マシンにログインするときに使用できるようにします。
    • 次の行が存在することを確認するために、/etc/ssh/sshd_configファイルを編集します:

       PasswordAuthentication yes
      

      ファイルを保存し、sudo service sshd restartコマンドを実行します。

手順2b:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注: 現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。

使用しているLinuxディストリビューションごとに、次のコマンドを実行して、Linux VDAの環境をセットアップします。

RHEL/CentOSの場合:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>

Ubuntuの場合:

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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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を設定するための変数が含まれています。以下は、dnsAD_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" --force
    
     update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
    

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

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールし、AWS EC2 Portalでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンのインスタンス状態が、[Stopped] になっていることを確認します。

  4. テンプレート仮想マシンを右クリックし、[Image]>[Create Image] を選択します。必要に応じて情報を入力し、設定を行います。[Create Image] をクリックします。

    EBSイメージ作成の画像

手順3:マシンカタログの作成

Citrix Studioで、マシンカタログを作成し、カタログに作成する仮想マシンの数を指定します。マシンカタログの作成時に、マシンテンプレート(上記で作成したマスターイメージ)を選択し、1つまたは複数のセキュリティグループを選択します。

マシンカタログ作成の画像

セキュリティグループの選択の画像

必要に応じて他の構成タスクを実行します。詳しくは、Knowledge CenterのCTX219270および「Studioでのカタログの作成」を参照してください。

手順4:デリバリーグループの作成

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

MCSを使用したLinux VDAのアップグレード

MCSを使用してLinux VDAをアップグレードするには、次の手順を実行します:

  1. テンプレートマシンでLinux VDAをアップグレードします:

    RHEL 7/CentOS 7の場合:

    sudo rpm -U XenDesktopVDA-20.03.0.33-1.el7_x.x86_64.rpm
    

    SUSE 12の場合:

    sudo rpm -U XenDesktopVDA-20.03.0.33-1.sle12_x.x86_64.rpm
    

    Ubuntu 16.04の場合:

    sudo dpkg -i xendesktopvda_20.03.0.33-1.ubuntu16.04_amd64.deb
    

    Ubuntu 18.04の場合:

    sudo dpkg -i xendesktopvda_20.03.0.33-1.ubuntu18.04_amd64.deb
    
  2. /etc/xdl/mcs/mcs.confおよび/etc/xdl/mcs/mcs_local_setting.regを編集します。

  3. 新しいスナップショットを作成します。

  4. 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またはドメインコントローラーでこのタスクをスケジュール設定します。