Linux VDA の Azure を介したセルフアップデート
この機能は、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 (匿名読み取りアクセスのみ) に設定します。
注:
Azure コンテナと BLOB は、お客様が排他的に保持および管理します。Citrix® は、それらに関するセキュリティ問題について責任を負いません。データセキュリティとコスト効率を確保するため、各 self-update の後にコンテナのアクセスレベルを Private (匿名アクセスなし) に設定してください。
ステップ 1b: VDA 更新情報を UpdateInfo.json という名前の JSON ファイルに組み込みます。ファイル形式の例については、次のブロックを参照してください。
{
"Version": "21.04.200.4",
"Distributions":[
{
"TargetOS": "RHEL7_9",
"PackageName": "",
"PackageHash": ""
},
{
"TargetOS": "UBUNTU20_04",
"PackageName": "",
"PackageHash": ""
}
]
}
ここで、「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 でセルフアップデート機能を有効にする
デフォルトでは、self-update は無効になっています。Citrix DaaS Standard for Azure で Linux VDA を作成する場合、機能の有効化はマスターイメージで行う必要があります。それ以外の場合は、各ターゲット VDA で直接機能を有効にします。
self-update を有効にするには、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
以下の表は、レジストリ設定について説明しています。
| レジストリ設定 | 説明 |
|---|---|
| fEnabled | この設定は必須です。デフォルトでは値は0で、セルフアップデートが無効であることを意味します。1に設定すると、セルフアップデートを有効にできます。 |
| Url | この設定は必須です。更新情報と新しいVDAパッケージを取得するためのAzureコンテナのURLを設定します。 |
| ScheduledTime | この設定は必須です。ImmediatelyまたはNextStartに設定できます。Immediatelyは、VDAパッケージのダウンロード直後に更新を実行することを意味します。このオプションは、ダウンロード速度が速く、更新が緊急である場合に適しています。ただし、パッケージのダウンロード時にライブセッションがある場合、ユーザーエクスペリエンスを妨げる可能性があります。NextStartは、ctxmonitordの次回の起動時に更新を実行することを意味します。このオプションは、ダウンロード速度が速くなく、更新が緊急ではない場合に適しています。 |
| CaCertificate | この設定はオプションです。AzureコンテナのURLを検証するためのPEM証明書のフルパスを設定します。Azure BLOBの場合、portal.azure.comの証明書をブラウザから取得し、PEMに変換したものを使用できます。セキュリティのため、このレジストリ設定を追加することをお勧めしますが、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にはステータスインジケーターがありません。