Horizon 8 버전 2406부터 Horizon 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를 사용하는 경우 표준 사전 요구 사항이 적용됩니다.
https://github.com/euc-dev/horizon-terraform에서 Horizon 8용 Terraform 제공자를 찾을 수 있습니다.
사전 요구 사항
LCM API를 사용하기 전에 나열된 사전 요구 사항을 완료해야 합니다. 이 페이지의 섹션에서 각각에 대한 세부 정보를 제공합니다.
- Horizon Connection Server 버전 2406 이상
- WinRM 구성
- 호스팅 방법 준비
- LCM API 호출을 위한 관리자 계정 지정
- 필요한 경우 타사 CA를 신뢰하도록 연결 서버 호스트를 구성하십시오.
버전 2406 이상
Horizon Connection Server 2406 이상인 인스턴스를 하나 이상 설치하거나 해당 버전으로 업그레이드합니다. LCM API는 Horizon Connection Server 버전 2406 이상에서만 사용할 수 있습니다.
참고: 새 Horizon 8 배포의 경우 명령줄 스크립트를 사용하여 초기 Horizon Connection Server 설치를 자동화한 다음, 후속 설치에 LCM API를 사용하면 됩니다.
WinRM 구성
다음 구성 요소에서 WinRM을 구성합니다.
- LCM API를 호출하는 Horizon Connection Server 호스트 시스템
- 자동화된 설치 또는 업그레이드를 수행할 각 대상 시스템
호스팅 방법 준비
다음 호스팅 방법 중 하나를 준비합니다.
SMB 파일 공유
2503 릴리스부터 LCM REST API는 연결 서버 빌드 패키지 등록 시 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 공유의 고유 정보). - 액세스 권한: 연결 서버 시스템의 시스템 계정과 LCM 사용자 계정 모두에 SMB 공유에 대한 읽기 액세스 권한이 있어야 합니다.
- 시스템 계정: API가 호출된 시스템을 나타내는 계정입니다.
DOMAIN\MACHINE$의 형태로 표시됩니다(예:example.com도메인의 CS라는 시스템의 경우example.com\CS$). - LCM 사용자 계정: LCM REST API를 호출하는 데 사용되는 계정입니다.
계정에 읽기 액세스 권한을 부여하려면 다음을 수행합니다.
- SMB 공유의 속성(속성)을 열고 보안으로 이동한 후 편집으로 가서 사용 권한을 수정합니다.
- 시스템 계정(예:
example.com\CS$)과 LCM 사용자 계정(예:example.com\LCMUser)을 추가합니다. - 두 계정에 읽기 권한을 할당하고 속성에 대한 변경 내용을 저장(적용 및 확인)합니다.
그런 다음, SMB 파일 공유를 사용하여 서버 빌드 설치 관리자 및 LCM 번들 파일을 호스팅하려면 다음과 같이 SMB 파일 공유를 준비합니다.
- Omnissa Customer Connect에서 서버의 .exe 설치 관리자와 Horizon Lifecycle Manager 번들(lcm.zip)을 다운로드합니다.
- .exe 설치 관리자와 lcm.zip 파일을 SMB 파일 공유의 동일한 디렉토리에 함께 배치합니다.
웹 서버
웹 서버를 사용하여 서버 빌드 설치 관리자 및 LCM 번들 파일을 호스팅하려면 다음과 같이 웹 서버를 준비합니다.
- Omnissa Customer Connect에서 서버의 .exe 설치 관리자와 Horizon Lifecycle Manager 번들(lcm.zip)을 다운로드합니다.
- .exe 설치 관리자와 lcm.zip 파일을 호스트 웹 서버의 동일한 디렉토리에 함께 배치합니다.
Horizon Connection Server 호스트
Horizon Connection Server를 사용하여 서버 빌드 설치 관리자 및 LCM 번들 파일을 호스팅하려면 다음과 같이 Horizon Connection Server 호스트를 준비합니다.
- 필요한 경우 신뢰 저장소에서 타사 CA(인증 기관)를 신뢰하도록 서버 호스트를 구성합니다.
- Omnissa Customer Connect에서 서버의 .exe 설치 관리자와 Horizon Lifecycle Manager 번들(lcm.zip)을 다운로드합니다.
- .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 공유, 그리고 웹 서버 정보로 바꿔서 실행하십시오.
예 - 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"
}
예 - 웹 서버
[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를 호출할 수 있습니다.
요청 본문에 다음 정보를 포함합니다.
| 키 | 값/설명 |
| 도메인 | 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의 스키마 섹션을 참조하십시오. |
대상 시스템에서 서버 빌드 업그레이드:
[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}
이 페이지가 도움이 되었나요?