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

Azure を介した Linux VDA のセルフアップデート

この機能は、Linux VDA ソフトウェアを即時またはスケジュールされた時間に自動的に更新するのに役立ちます。Citrix DaaS Standard for Azure (旧称 Citrix Virtual Apps and Desktops Standard for Azure) で Linux VDA を作成する場合に役立ちます。Azure の VM の管理者権限は必要ありません。詳細については、「Citrix DaaS Standard for Azure での Linux VDA の作成」を参照してください。

構成

この機能を使用するには、次の手順を完了します。

ステップ 1: 更新情報と新しい VDA パッケージを Azure コンテナーにアップロード

ステップ 1a: Azure ストレージアカウントの下にコンテナーを作成し、コンテナーのアクセスレベルを Blob (BLOB の匿名読み取りアクセスのみ) に設定します。

注:

Azure コンテナーと BLOB は、お客様が排他的に保持および管理します。Citrix® は、それらに関するセキュリティ問題について責任を負いません。データセキュリティとコスト効率を確保するため、各 セルフアップデート の後で、コンテナーのアクセスレベルを Private (匿名アクセスなし) に設定してください。

ステップ 1b: VDA 更新情報を UpdateInfo.json という名前の JSON ファイルに組み込みます。ファイル形式の例については、次のブロックを参照してください。

{
 "Version": "21.04.200.4",
"Distributions":[
{
"TargetOS": "RHEL7_9",
"PackageName": "",
"PackageHash": ""
},
{
-  "TargetOS": "UBUNTU20_04",
-  "PackageName": "",
-  "PackageHash": ""
}
]
}
<!--NeedCopy-->

ここで、“Version” は新しい VDA バージョンを示し、“Distributions” は更新オブジェクトの配列です。各オブジェクトには次の 3 つの項目が含まれます。

  • “TargetOS”: 「RHEL7_9」(RHEL 7、CentOS 7、および Amazon Linux 2 の場合)または「UBUNTU20_04」である必要があります。ctxmonitord` は他のディストリビューションを認識しません。
  • “PackageName”: 指定されたバージョンの VDA パッケージの完全な名前。
  • “PackageHash”: shasum -a 256 <pkgname> コマンドを使用して計算する SHA-256 値。

ステップ 1c: JSON ファイルと新しいバージョンの Linux VDA パッケージを Azure コンテナーにアップロードします。

ステップ 2: マスターイメージまたは各 VDA でセルフアップデート機能を有効にする

デフォルトでは、セルフアップデート は無効になっています。Citrix DaaS Standard for Azure で Linux VDA を作成する場合、機能の有効化はマスターイメージで実行する必要があります。それ以外の場合は、各ターゲット VDA で機能を直接有効にします。

セルフアップデート を有効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\SelfUpdate のレジストリキーを編集するために、次のようなコマンドを実行します。

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force
<!--NeedCopy-->

次の表に、レジストリ設定を示します。

レジストリ設定 説明
fEnabled この設定は必須です。デフォルトでは、値は 0 で、セルフアップデート が無効であることを意味します。1 に設定すると、セルフアップデート を有効にできます。
Url この設定は必須です。更新情報と新しい VDA パッケージを取得するための Azure コンテナーの URL を設定します。
ScheduledTime この設定は必須です。即時 または 次回起動時 に設定できます。即時 は、VDA パッケージのダウンロード後すぐに更新を実行することを意味します。このオプションは、ダウンロード速度が速く、更新が緊急である場合に適しています。ただし、パッケージのダウンロード中にライブセッションがある場合、ユーザーエクスペリエンスが中断される可能性があります。次回起動時 は、ctxmonitord の次回の起動時に更新を実行することを意味します。このオプションは、ダウンロード速度が速くなく、更新が緊急ではない場合に適しています。
CaCertificate この設定はオプションです。Azure コンテナーの URL を検証するための PEM 証明書の完全なパスを設定します。Azure BLOB の場合、ブラウザから取得し、PEM に変換された portal.azure.com の証明書を使用できます。セキュリティのため、このレジストリ設定を追加することをお勧めしますが、Ubuntu または Debian ではサポートされていません。これは、Ubuntu または Debian で指定された証明書ファイルを使用してピアを検証する場合、curl コマンドが期待どおりに機能しないためです。証明書の最小限の権限を設定するようにしてください。

ctxmonitord が再起動すると、まず Url を照会して UpdateInfo.json ファイルを取得し、JSON ファイルから更新バージョンを取得します。次に、ctxmonitord は更新バージョンを現在のバージョンと比較します。現在のバージョンが以前のバージョンである場合、サービスは Azure から新しいバージョンの VDA パッケージをダウンロードし、ローカルに保存します。その後、ScheduledTime の設定に従って更新を実行します。オンプレミス展開の場合、ctxmonitord を直接再起動して更新をトリガーできます。ただし、VM への管理者権限がない Citrix DaaS Standard for Azure では、ctxmonitord は VDA マシンが再起動された後にのみ再起動できます。更新が失敗した場合、VDA は既存のバージョンにロールバックされます。

注:

  • マスターイメージで構成したレジストリ設定は変更できません。
  • 環境内のすべての VM が同時にパッケージをダウンロードすると、ローカルネットワークが輻輳する可能性があります。
  • 提供された URL からダウンロードするには、ターゲット VM に curl をインストールする必要があります。
  • 更新とロールバックの両方が失敗した場合、ユーザーデータは失われます。
  • 更新が失敗したがロールバックが成功した場合、同じネットワーク上のユーザーは異なるバージョンの Linux VDA を使用している可能性があります。このケースは最適ではありません。
  • 更新の完了には通常数分かかります。Citrix Studio にはステータスインジケーターはありません。
Azure を介した Linux VDA のセルフアップデート