Linux Virtual Delivery Agent 2407

Azureを使用したLinux VDAの自動更新

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

構成

この機能を使用するには、次の手順を実行します:

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

手順1a:Azureストレージアカウントでコンテナを作成し、コンテナアクセスレベルを [BLOB(BLOB専用の匿名読み取りアクセス)] に設定します。

AzureコンテナとBLOBは、お客様が独占的に保有および管理するものです。 Citrixは、セキュリティ上の問題について責任を負いません。 データのセキュリティとコスト効率を確保するには、自動更新が終わるたびにコンテナのアクセスレベルを [プライベート(匿名アクセスはありません)] に設定します。

手順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 &lt;pkgname&gt;コマンドを使用して計算する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 この設定は必須です。 AzureコンテナのURLを設定して、更新情報と新しいVDAパッケージを取得します。
ScheduledTime この設定は必須です。 [Immediately] または [NextStart] に設定できます。 [Immediately] は、VDAパッケージをダウンロードした直後に更新を実行することを意味します。 この選択肢は、ダウンロード速度が速く、更新が緊急の場合に適しています。 ただし、パッケージをダウンロードするときにライブセッションがあると、ユーザーエクスペリエンスが損なわれる可能性があります。 [NextStart] は、ctxmonitordの次の開始時に更新を実行することを意味します。 この選択肢は、ダウンロード速度が速くなく、更新が緊急でない場合に適しています。
CaCertificate この設定はオプションです。 AzureコンテナのURLを確認するPEM証明書のフルパスを設定します。 Azure BLOBの場合、Webブラウザーから取得されてPEMに変換されるportal.azure.comの証明書にすることができます。 セキュリティのためには、このレジストリ設定を追加することをお勧めしますが、UbuntuまたはDebianではサポートされていません。これは、UbuntuまたはDebianで指定された証明書ファイルを使用してピアを検証するときにcurlコマンドが正常に機能しないためです。 証明書の最小特権が設定されているか確認してください。

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

注意:

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