Horizon 8 バージョン 2406 以降では、Horizon Lifecycle Management (LCM) API を使用して、Omnissa Horizon Connection Server および登録サーバ インスタンスのインストールを自動化および簡素化できます。このページでは、自動インストールまたはアップグレード ワークフローを実装できる LCM API 要求の概要レベルの例を示します。
LCM API について
LCM API は、Horizon Server API の一部です。詳細については、https://developer.omnissa.com にあるドキュメントを参照してください。
-
『 Horizon Server API スタート ガイド 』では、Horizon Connection Server のベース URL パスを使用して API を呼び出す方法について説明しています。
-
『LCM REST API』には、LCM API を使用するためのガイドラインが記載されています。
-
『Horizon Server API リファレンス』は、各 API の完全なリファレンス情報を提供します。
Terraform フレームワークでの LCM API の使用
Omnissa は Horizon 8 用の Terraform プロバイダを開発しています。この Terraform プロバイダで LCM API を使用して、Horizon 8 環境のライフサイクル管理を自動化できます。
Terraform プロバイダで LCM API を使用する場合は、標準の前提条件が適用されます。
Horizon 8 用の Terraform プロバイダは https://github.com/euc-dev/horizon-terraform から入手できます。
前提条件
LCM API を使用する前に、次の前提条件を満たす必要があります。このページのセクションでは、それぞれの詳細について説明します。
- バージョン 2406 以降の Horizon Connection Server
- WinRM を構成する
- ホスティング方法を準備する
- LCM API を呼び出す管理者アカウントを指定する
- Connection Server ホストがサードパーティ CA を信頼するように構成する(必要な場合)
バージョン 2406 以降
Horizon Connection Server 2406 以降のインスタンスを少なくとも 1 つインストールまたはアップグレードします。LCM API は、バージョン 2406 以降の Horizon Connection Server からのみ使用できます。
注: 新しい Horizon 8 環境では、コマンドライン スクリプト を使用して最初の Horizon Connection Server のインストールを自動化し、以降のインストールで LCM API を使用します。
WinRM を構成する
次のコンポーネントで WinRM を構成します。
- LCM API を呼び出す Horizon Connection Server ホスト マシン
- 自動インストールまたはアップグレードを実行する各ターゲット マシン
ホスティング方法を準備する
次のいずれかのホスティング方法を準備します。
SMB ファイル共有
2503 リリース以降、LCM REST API は、Connection Server ビルド パッケージを登録するための SMB ファイル URL をサポートします。これにより、管理者は SMB 共有でビルド ファイルをホストし、fileUrl パラメータを使用して登録できます。
SMB ファイル URL を使用するための前提条件:
- ファイルの URL 形式:
fileUrlパラメータにsmb://プリフィックスを使用します。たとえば、Omnissa-Horizon-Connection-Server-x86_64-2503-8.15.0-13513405225という名前の EXE ファイルの場合、fileUrlパラメーターの形式はsmb://smb-share/share-name/Omnissa-Horizon-Connection-Server-x86_64-2503-8.15.0-13513405225.exeになります(smb-share/share-nameは SMB 共有の一意の情報です)。 - アクセス権限:Connection Server マシンのマシン アカウントと LCM ユーザー アカウントの両方に、SMB 共有への読み取りアクセス権が必要です。
- **マシン アカウント:**API の呼び出し元のマシンを表すアカウントです。これは、
DOMAIN\MACHINE$として表されます(たとえば、example.comドメイン内の CS という名前のマシンの場合はexample.com\CS$)。 - **LCM ユーザー アカウント:**これは、LCM、REST API を呼び出すために使用されるアカウントです。
アカウントに読み取りアクセス権限を付与するには、次の手順を実行します。
- SMB 共有のプロパティ(プロパティ)を開き、[セキュリティ]、[編集] に移動して権限を変更します。
- マシン アカウント(
example.com\CS$など)と LCM ユーザー アカウント(example.com\LCMUserなど)を追加します - 両方のアカウントに読み取り権限を割り当て、プロパティへの変更を保存します([適用]、[OK] の順に選択)。
次に、SMB ファイル共有を使用してサーバ ビルド インストーラと LCM バンドル ファイルをホストするため、次のように SMB ファイル共有を準備します。
- サーバの .exe インストーラと Horizon Lifecycle Manager Bundle (lcm.zip) を Omnissa Customer Connect からダウンロードします。
- .exe インストーラと lcm.zip を SMB ファイル共有の同じディレクトリに置きます。
Web サーバ
Web サーバにサーバ ビルド インストーラと LCM バンドル ファイルをホストするため、次のように Web サーバを準備します。
- サーバの .exe インストーラと Horizon Lifecycle Manager Bundle (lcm.zip) を Omnissa Customer Connect からダウンロードします。
- .exe インストーラと lcm.zip をホスト Web サーバの同じディレクトリに置きます。
Horizon Connection Server ホスト
Horizon Connection Server ホストにサーバ ビルド インストーラと LCM バンドル ファイルをホストするため、次のように Horizon Connection Server ホストを準備します。
- 必要に応じて、トラスト ストア内のサードパーティ認証局を信頼するようにサーバ ホストを構成します。
- サーバの .exe インストーラと Horizon Lifecycle Manager Bundle (lcm.zip) を Omnissa Customer Connect からダウンロードします。
- .exe インストーラと lcm.zip をサーバ ホストの同じディレクトリに置きます。
LCM API を呼び出す管理者アカウントを指定する
LCM API の呼び出しに使用する Horizon 管理者アカウントを指定します。このアカウントが、インストールまたはアップグレードを受け取るすべてのターゲット マシンでローカル管理者グループに属していることを確認します。
アップグレードの前に
アップグレードを実行する前に、ターゲットの Horizon Connection Server インスタンスを無効にします。アップグレードが完了したら、各 Horizon Connection Server インスタンスを有効にして、再び使用できるようにする必要があります。
サーバ ホストがサードパーティ CA を信頼するように構成する
必要に応じて、以下の手順に従って、トラスト ストア内のサードパーティ認証局 (CA) を信頼するように Horizon Connection Server ホストを構成します。
-
管理者としてコマンド プロンプト ウィンドウ (
cmd) を開きます。 -
Java bin ディレクトリに移動します。次に例を示します。
cd "C:\Program Files\Omnissa\Horizon\Server\jre\bin" -
keytoolコマンドを実行して、証明書をトラスト ストアにインポートします。keytool -trustcacerts -keystore "C:\Program Files\Omnissa\Horizon\Server\jre\lib\security\cacerts" -storepass changeit -importcert -alias {YOUR_ALIAS} -file {YOUR_CRT_FILE}{YOUR_ALIAS} は、証明書の一意のエイリアス (
MyCertAliasなど)に置き換えます。{YOUR_CRT_FILE} は、証明書ファイルのフル パス(
C:\path\to\certificate.crtなど)に置き換えます。 -
プロンプトが表示されたら、
yesと入力して Enter を押し、証明書のインポートを確認して完了します。 -
services.mscを開き、表示されているすべての Omnissa Horizon コンポーネントを再起動して、証明書の変更を適用します。また、サーバを再起動して変更を有効にすることもできます。
ワークフローのサンプル
以降のセクションでは、一般的なインストールまたはアップグレード ワークフローで使用される LCM API 要求の例について説明します。
1. LCM 権限を作成して割り当てる
LCM API を実行するには、LCM_MANAGEMENT ロールを作成し、このロールを指定されたユーザー アカウントに割り当てる必要があります。
LCM_MANAGEMENT ロールを作成します。
[POST] /config/v1/roles
{
"description": "Custom LCM role.",
"name": "LCM",
"privileges": [
"LCM_MANAGEMENT"
]
}
指定されたアカウントに LCM_MANAGEMENT ロールを割り当てます。
[POST] /config/v1/permissions
[
{
"userOrGroup": "UserOrGroup/Uy0xLTUtMjEtMjMzNzczOTMxMC0yNjQ3NjI3MzY0LTE3NzczMzI0NzktNTAw",
"role": "Role/NmU4MjgwMmYtMDc4Yi00NGI0LWJiYmEtNGU1MWIxYzNhZWRj/TENN",
"accessGroup": "AccessGroup/NmU4MjgwMmYtMDc4Yi00NGI0LWJiYmEtNGU1MWIxYzNhZWRj/Um9vdA"
}
]
**注:**LCM ワークフローのステータス情報の取得のみを必要とするユーザー アカウントに、LCM_VIEW ロールを作成して割り当てることもできます。LCM_VIEW 権限を持つユーザーには読み取り専用アクセス権が付与され、POST 要求を発行することはできません。
2. インストーラ ビルドを登録する
LCM_MANAGEMENT ロールを持つユーザーは、ターゲット マシンにインストールされるサーバ ビルドを登録できます。
**注:**新しい Horizon 8 リリースにアップグレードする場合は、新しいサーバ ビルドをその新しいリリースに再登録する必要があります。
- 要求パラメータには、ホスティング場所の .exe ビルド インストーラのファイル URL を指定します。「前提条件」の説明に従って、Horizon Lifecycle Manager バンドル (lcm.zip) が .exe ビルド インストーラと同じディレクトリにあることを確認します。
- 要求本文には、ビルド メタデータを含めます。
**注:**以下の例では、EXE は特定の Horizon Connection Server インストーラのビルド ファイルであり、波括弧 ({}) 内の部分は、特定のセットアップで指定した値を表します。これらのコマンドを実際の環境で実行する場合は、既存のインストーラ ファイル名と、SMB 共有および Web サーバの情報に置き換えてください。
例 - SMB 共有
[POST] /rest/config/v1/server-installer-packages/action/register?fileUrl=smb://{smb-share}/{share-name}/Omnissa-Horizon-Connection-Server-x86_64-2503-8.15.0-13513405225.exe
{
"file_size_in_bytes": 401860608,
"version": "8.15.0",
"checksum": "d814d56a30477d07e8128a18c5ec09ba38984129f40911ad332e96c143e4fabb",
"build_number": "13513405225",
"filename": "Omnissa-Horizon-Connection-Server-x86_64-2503-8.15.0-13513405225.exe",
"display_Name": "Omnissa Horizon Connection Server"
}
例 - Web サーバ
[POST] /config/v1/server-installer-packages/action/register?fileUrl=https://{local-webserver}/installer/Omnissa-Horizon-Connection-Server-x86_64-2406-8.13.0-8565949332.exe
{
"build_number": "8565949332",
"checksum": "d2f31e1bc6de212f11a34b502ec16d66d5bf896947de3288a337c10df8c5be67",
"display_name": "Omnissa Horizon Connection Server",
"file_size_in_bytes": 365891976,
"filename": "Omnissa-Horizon-Connection-Server-x86_64-8.13.0-8565949332.exe",
"version": "2406"
}
登録に成功すると、登録 API は、登録されたインストーラ パッケージの一意の server_installer_package_id を返します。
次の LCM API を使用して、他の登録タスクを実行することもできます。詳細については、各 API のリファレンス ページを参照してください。
| タスク | API |
| 登録されているすべてのインストーラ ビルドのリストを取得する | [GET] /config/v1/server-installer-packages |
| 指定された ID (server_installer_package_id) のインストーラ ビルドのメタデータを取得する | [GET] /config/v1/server-installer-packages/{id} |
| 指定された ID (server_installer_package_id) のインストーラ ビルドのメタデータを登録解除する | [POST] /config/v1/server-installer-packages/{id}/action/unregister |
3. ターゲット マシンのインストールの前提条件を確認する
事前チェック API を使用すると、ターゲット マシンが所定の要件を満たしていることを検証できます。インストール コマンドを呼び出す前に、次の事前チェック要求に対して良好な応答が得られることを確認します。
ターゲット マシンのシステム前提条件を検証します。
[POST] /config/v1/connection-servers/action/validate-system-requirements
ターゲット マシンの Active Directory の前提条件を検証します。
[POST] /config/v1/connection-servers/action/validate-ad-requirements
ターゲット マシンの vCenter Server の前提条件を検証します。
[POST] /config/v1/connection-servers/action/validate-virtual-center-requirements
スキーマ マスターと、アップグレードするターゲット マシンのサーバ レプリケーションのステータスを検証する:
[POST] /config/v1/connection-servers/action/validate-ldap-requirements
4. インストール コマンドを実行します。
ターゲット マシンの前提条件を検証した後、インストールまたはアップグレード API を呼び出すことができます。
要求本文に次の要素を含めます。
| キー | 値/説明 |
| domain | Active Directory ドメインの名前 |
| server_installer_package_id | ビルド登録 API 応答で返されたサーバ ビルド ID |
| target_server_fqdn | ターゲット マシンの完全修飾ドメイン名 (FQDN) |
| User_name | ターゲット マシンでのインストール/アップグレードのスケジューリングに使用されるユーザー アカウントの名前。ユーザーは、Horizon 管理者権限を持ち、ターゲット マシンのローカル管理者グループに属している必要があります。 |
| パスワード | ターゲット マシンでのインストール/アップグレードのスケジューリングに使用されるユーザー アカウントのパスワード |
| server_msi_install_spec | 指定されたインストール オプション(インストール要求でのみ必要)。詳細については、「 [POST] /config/v1/connection-servers/action/install-connection-server reference」の Schema セクションを参照してください。 |
ターゲット マシンでサーバ ビルドをアップグレードします。
[POST] /config/v1/connection-servers/action/upgrade-connection-server
{
"domain": "AD-TEST-DOMAIN",
"password": "<password>",
"server_installer_package_id": "a3768752-77c6-45d0-8e20-908227bce79f",
"target_server_fqdn": "server.example.com",
"user_name": "Administrator"
}
ターゲット マシン上にサーバー ビルドをインストールします。
[POST] /config/v1/connection-servers/action/install-connection-server
{
"domain": "AD-TEST-DOMAIN",
"password": "<password>",
"server_installer_package_id": "a3768752-77c6-45d0-8e20-908227bce79f",
"server_msi_install_spec": {
"admin_sid": "string",
"deployment_type": "GENERAL",
"fips_enabled": false,
"fw_choice": true,
"html_access": true,
"install_directory": "%ProgramFiles%\\Omnissa\\Horizon\\Server",
"primary_connection_server_fqdn": "server.example.com",
"server_instance_type": "STANDARD_SERVER",
"server_recovery_pwd": "<password>",
"server_recovery_pwd_reminder": "<reminder>",
"vdm_ipprotocol_usage": "IPv4"
},
"target_server_fqdn": "server.example.com",
"user_name": "Administrator"
}
インストール/アップグレード ジョブを監視する
ターゲット マシンでインストールまたはアップグレード ジョブをスケジューリングした後、次の要求でジョブのステータスを確認できます。要求パラメータとしてターゲット マシンの FQDN を含めます。
[POST] /config/v1/connection-servers/action/retrieve-installer-status?{fqdn}
このページは役に立ちましたか?