기술 자료

지원

Unity Licensing Server 관리

Explore common administration tasks you can perform on the Unity Licensing Server.
읽는 시간 3분최근 업데이트: 2일 전

Unity Licensing Server가 실행된 후 수행해야 할 일반적인 관리 작업은 다음과 같습니다.

서버 상태 확인

Licensing Server v2.0부터는 Licensing Server Dashboard를 사용하여 서버의 상태를 확인할 수 있습니다. 이 방법을 사용하려면,
admin
으로 대시보드에 로그인한 다음 개요 페이지에서 서버 상태 보고서를 확인합니다. JSON 다운로드를 선택하여 서버 상태 보고서를 파일로 열람할 수도 있습니다.
모든 버전의 Licensing Server에서 CLI를 사용하여 서버의 상태를 확인할 수도 있습니다. CLI를 사용하여 서버의 상태를 확인하려면
status
명령어를 실행합니다. 그러면 다음 상태 확인 결과가 표시됩니다.

상태 확인

설명

HttpConfigHealthCheck
Kestrel 구성
ServerLicenseHealthCheck
라이선스 및 위임 상태
LicensingHealthCheck
라이선스 구성 및 서명 키
DatabaseHealthCheck
데이터베이스 연결 상태
PluginInformationProvider
서버 플러그인
확장 테스트 보고서에서도 이러한 상태 확인의 결과를 볼 수 있습니다. 다음 구문을 사용하여
status
커맨드를 실행합니다.
  • Linux:
    ./Unity.Licensing.Server status
  • Windows:
    .\Unity.Licensing.Server.exe status
출력은 다음과 유사합니다.
Server Version: 2.0.0+e81737fHealthyHttpConfig: HealthyHTTP config is healthy [OK] Kestrel: Found config section Kestrel [OK] Kestrel:Endpoints:HTTP:Url: Found valid config Kestrel:Endpoints:HTTP:Url: http://10.192.192.255:80ServerLicense: HealthyServer license and delegation are valid [OK] ServerLicense::Context::FirstPhysicalAddress: 48:2a:e3:87:3b:19 [OK] ServerLicense::Context::Platform: Win32NT [OK] ServerLicense::Context::ProcessorCount: 12 [OK] ServerLicense::Context::MachineName: LAPTOP-2Q28U8QB [OK] ServerLicense::ContextCount: Found 4 out of 4 context values [OK] ServerLicense::EntitlementGroup::test-licenseServer_3573567292644_1: ... has valid server entitlements [OK] ServerLicense::EntitlementGroupCount: Found 1 valid server license(s) [OK] ServerLicense::Delegation::test-licenseServer-delegation-20200925_145658.xml: Found valid server delegation: <absolute_path> [OK] ServerLicense::DelegationsCount: Found 1 valid server delegationsLicensingConfig: HealthyLicensing configuration is healthy [OK] licensing:licenseSigningCertLoading: Successfully loaded license signing key [OK] SyntaxValidation: Configuration syntax is valid [WARNING] licensing:defaultToolset: The defaultToolset configuration is invalid or not set. Valid toolsets are: ... [OK] licensing: Found config section licensing [OK] LicenseAclConfigValidation: License access control list configuration is validPlugins: HealthyPlugins [OK] PluginAssemblies: 0 [OK] RegisteredPlugins: 0Database: HealthyConnection state for Microsoft.Data.Sqlite.SqliteConnection is Open. Database is writable. Sufficient disk space available. [OK] FloatingDbStatus: Connection state for Microsoft.Data.Sqlite.SqliteConnection is Open. Database is writable. Sufficient disk space available. [OK] HistoricalDbStatus: Connection state for Microsoft.Data.Sqlite.SqliteConnection is Open. Database is writable. Sufficient disk space available.

서버 상태 모니터링

Licensing Server의 상태를 모니터링하는 방법에는 두 가지가 있습니다.
  • 대시보드: Licensing Server 2.0 버전부터는 대시보드가 서버를 모니터링하는 기본 방법입니다. 관리자는
    admin
    자격 증명으로 로그인하여 개요 페이지에서 자세한 서버 상태 보고서를 볼 수 있습니다.
  • API: 모든 Licensing Server 버전에서 API 액세스 방법을 선호하거나 필요로 하는 경우
    /v1/admin/status
    API를 사용할 수도 있습니다. 이 엔드포인트를 사용하고
    admin
    그룹에서 API를 사용하려면 요청하는 IP 주소가 관리자 IP 허용 목록에 등록되어 있어야 합니다. 이 요구 사항은 스크립트 또는 자동화를 통해
    admin
    API에 액세스하려는 컴퓨터의 IP 주소에도 적용되어야 합니다. 자세한 내용은 고급 서버 구성
    adminIpAllowlist
    키를 참조하십시오.

Licensing Server 상태

Licensing Server에는 세 가지 상태가 있습니다.
  • Healthy: 이 상태는 서버가 라이선스를 발급할 수 있고 모든 것이 올바르게 작동하고 있음을 나타냅니다.
  • Degraded: 이 상태의 서버는 여전히 라이선스를 발급할 수 있지만 모니터링이 필요한 잠재적인 문제가 있음을 의미합니다. 이러한 문제는 아직 심각하지는 않지만 긴급한 문제가 될 수 있으므로 주의가 필요합니다. Degraded 상태를 유발하는 문제의 예로는 곧 만료되는 서버 라이선스를 들 수 있습니다.
  • Unhealthy: 이 상태는 서버에서 라이선스를 발급할 수 없음을 나타냅니다. 근본적인 문제로 인해 기능을 복원하기 위한 즉각적인 조치가 필요합니다.

서버에서 라이선스 갱신

구독 기간이 종료되어 구독을 갱신하기로 선택한 경우 Licensing Server에서 라이선스를 업데이트해야 합니다. 라이선스를 업데이트하려면 구독을 갱신한 후에 라이선스 아카이브 파일 다운로드 및 임포트 절차를 반복하십시오. Licensing Server가 1.10 이전 버전인 경우 이전 위임 파일도 수동으로 삭제해야 합니다. 자세한 내용은 이 지원 문서를 참조하십시오.
참고
새 라이선스는 현재 구독 기간이 만료된 후에만 Unity ID를 통해 다운로드할 수 있습니다. 현재 구독 기간이 만료되면 서버에서 라이선스를 갱신하기 위한 1개월의 유예 기간이 주어집니다. 이 유예 기간이 끝나기 전에 라이선스를 갱신하지 않으면 라이선스 작동이 중지됩니다. 서비스 중단을 방지하려면 유예 기간 동안 라이선스를 다운로드하고 업데이트해야 합니다.

라이선스 갱신이 클라이언트 구성에 미치는 영향

갱신된 구독에서 라이선스를 임포트할 때 라이선스 업데이트가 클라이언트 구성에 미치는 영향과 동일한 규칙이 적용됩니다.

서버의 라이선스에 변경 사항 적용

Unity와 플로팅 라이선스(floating license) 구독에 대한 변경 사항(예: 시트 추가 또는 제거)을 협의한 경우 구독의 라이선스를 서버로 임포트하는 프로세스를 반복해야 합니다. 라이선스 아카이브 파일 다운로드 및 임포트의 프로세스를 따르십시오.

라이선스 업데이트가 클라이언트 구성에 미치는 영향

라이선스 업데이트는 기본 툴세트를 사용하는 클라이언트에 영향을 주지 않습니다. 툴세트를 지정하는 클라이언트의 경우:
  • 1.10 이하 버전의 서버에서는 툴세트 값이 서버 라이선스의
    EntitlementGroupId
    와 일치해야 합니다. 즉, 서버 라이선스를 업데이트할 때 클라이언트 구성에 따라 툴세트 값을 업데이트해야 합니다.
  • 버전 1.11부터는 라이선스 업데이트가 툴세트 선택에 영향을 미치지 않습니다. Licensing Server는 툴세트의 점진적 부분에 대한 수정을 허용합니다. 즉, 특정 툴세트로 구성된 클라이언트에는 영향을 주지 않는다는 뜻입니다.
Licensing Server
import
커맨드는 일반적으로 이전 툴세트와 유사하며 끝의 숫자가 증가한 새 툴세트를 보여 줍니다. 예를 들어, 첫 번째 업데이트 후
LicenseServer_3573461705080_1
툴세트는
LicenseServer_3573461705080_2
가 됩니다.

고급 서버 구성

Unity Licensing Server의 설치가 성공적으로 완료되면 라이선스 서버 데이터 루트 디렉토리에서
licensing-server-config.json
파일을 찾을 수 있습니다.
setup
커맨드로 처리되지 않는 구성을 수정하려면
licensing-server-config.json
파일을 편집하면 됩니다. 다음 예에는 모든 구성 파라미터가 포함되어 있습니다.
{ "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "Kestrel": { "Endpoints": { "HTTPS": { "Url": "https://[* or IP address - see Warning below]:[Port]", "Certificate": { "Path": "[Full path of HTTPS PFX certificate - see Warning below]", "Password": "[Password for HTTPS PFX certificate]" } } } }, "licensing": { "serverId": "[Server name, to be set by setup CLI command]", "licenseUsernameObfuscation": false, "floatingLeaseRenewIntervalInMinutes": "15", "floatingLicenseExpirationInMinutes": "480", "licenseSigningCertificatePassword": "[Encrypted password of license signing certificate]", "PluginsDirectory": "Plugins", "defaultToolset": "[default license entitlement group Id]", "allowBorrow": true, "diskSpaceWarningThresholdMegabytes": 50, "accessControlList": { "allToolsets": { "type": "deny", "bindings": { "userName": ["john", "alice"], "machineName": ["LAPTOP-A", "LAPTOP-B"] } } } }, "adminIpAllowlist": "127.0.0.1;10.20.30.40;localhost", "serverDirectory": "[Full directory path for Licensing Server executable]", "serverVersion": "[Licensing Server version]"}
참고
Url
키의 값은 서버 이름이 아닌 별표(
*
) 또는 IP 주소여야 합니다. 예를 들면
https://*:443
(지원 안됨) 및
https://10.20.30.40:443
(지원 됨)이 있습니다.
Windows의
Path
키에서는 큰따옴표가 포함된 문자열에 백슬래시를 사용할 때 모든 백슬래시에 대해 두 개의 백슬래시를 사용해야 합니다.

고급 설정 키

다음 표에는 고급 구성 키의 종류와 사용 방법에 대한 설명이 나와 있습니다.

Key

Description

floatingLeaseRenewIntervalInMinutes
서버가 클라이언트에 대한 리스 기간을 지정합니다. 서버가 이 시간이 끝나기 전에 특정 리스에 대한 핑을 수신하지 않으면 해당 리스와 관련된 라이선스를 릴리스합니다.

유효 범위는 5~60분입니다.

기본 설정은 15분입니다.
floatingLicenseExpirationInMinutes
발급된 클라이언트 라이선스의 만료 시점을 지정합니다.

유효 범위는 60분에서 1440분입니다.

기본 설정은 480분(8시간)입니다.
licenseSigningCertificatePassword
PFX 형식을 따르는 서명 인증서의 암호화된 비밀번호입니다.

import 커맨드는 자동으로 이 값을 설정합니다.
PluginsDirectory
서버가 플러그인을 읽는 디렉토리의 전체 경로입니다.
defaultToolset
기본 제품 라이선스의 ID를 저장합니다.

서버에서 여러 제품 라이선스를 사용할 수 있고 클라이언트가 특정 제품 라이선스를 요청하지 않는 경우 서버는 기본 라이선스를 할당합니다. 기본값이 설정되지 않은 경우 서버는 목록에서 사용 가능한 첫 번째 라이선스를 할당합니다.

사용 가능한 모든 제품 ID를 찾으려면 확장 테스트 보고서를 열고
serverLicenses
섹션에서
licenseEntitlementGroupId
필드를 찾습니다.
allowBorrow
사용자가 오프라인환경에서 작업하기 위해 플로팅 라이선스(floating license)를 Licensing Server로부터 대여할 수 있는지 여부를 지정합니다.

이 값을 부울 데이터 유형으로 지정합니다.
diskSpaceWarningThresholdMegabytes
Licensing Server에서 사용 가능한 디스크 공간에 대한 경고 임계값을 지정합니다.

참고: 이 키는 서버 버전 2.0부터 사용할 수 있습니다.

이 값을 메가바이트 단위로 지정합니다.

디스크 공간이 이 임계값 아래로 떨어지면 서버의 상태가
Degraded
로 변경되고 관리 대시보드의 상태 표시기가 노란색으로 바뀝니다. 서버의 디스크 공간이 부족하면 클라이언트 컴퓨터에 라이선스를 대여할 수 없습니다.
accessControlList
지정된 사용자 또는 컴퓨터 이름이 라이선스를 요청할 수 있는지 여부를 제어할 목록을 지정합니다.

참고: 이 키는 서버 버전 2.0부터 사용할 수 있습니다.

다음 키를 지정합니다.
● 제어할 툴세트 ID. 현재 유효한 값은
allToolsets
뿐입니다.
allow
또는
deny
값이 있는
type
키.
allow
를 지정하면 지정된 사용자 또는 컴퓨터만 플로팅 라이선스에 액세스할 수 있습니다(화이트리스팅).
deny
를 지정하면 지정한 사용자를 제외한 모든 사용자 또는 컴퓨터가 라이선스에 액세스할 수 있습니다(블랙리스팅).
userName
문자열 배열이나
machineName
문자열 배열 또는 둘 다 포함된
bindings
키.
userName
또는
machineName
을 하나 이상 지정해야 합니다. 값이 두 배열에 모두 지정된 경우, 해당 값이 어느 한 배열과 일치하면 이에 해당하는 사용자에게 영향을 미칩니다.
userName
machineName
값은 대소문자를 구분하지 않습니다.

중요: 다음과 같은 구성 실수를 피하십시오.
● 다음 오류로 인해 서버가
Degraded
상태로 시작되고 모든 사용자 및 컴퓨터에 대한 액세스가 허용될 수 있습니다.
   ○
allToolsets
키를 생략하는 경우
   ○빈
allToolsets
객체 키를 지정하는 경우
   ○
allow
키와
deny
키를 모두 지정하지 않는 경우
bindings
를 지정하지 않고
allow
값을 지정하면 사용자나 컴퓨터가 라이선스를 요청할 수 없으므로 서버가
Unhealthy
상태로 시작됩니다.

액세스 제어로 인해 실패한 라이선스 액세스 시도는 서버 로그(
Unity.Licensing.Server.log
)와 클라이언트 로그(
Unity.Licensing.Client.log
)에 기록됩니다. 로그 메시지에는 사용자의
userName
,
machineName
및 라이선스 액세스 시도가 실패한 이유가 포함됩니다. 샘플 로그 예시:

API Error 403 while processing request (...) License access denied (The user (userName: jsmith, machineName: P4DSFHTE) does not have license access because the userName is on the access control list's deny bindings.)
adminIpAllowlist
관리자 엔드포인트에 액세스할 수 있는 허용된 IP 주소를 세미콜론으로 구분된 문자열로 지정합니다.

Licensing Server는 와일드카드 문자나 서브넷을 지원하지 않습니다.

추가 리소스