Unity Licensing Server の管理
Unity Licensing Server が稼動した後、実行する必要がある一般的な管理タスクを以下に示します。
サーバーの状態のチェック
Licensing Server v2.0 以降では、Licensing Server Dashboard を使用してサーバーの状態をチェックできます。これを行うには、admin
としてダッシュボードにログインし、Overview ページの Server health report (サーバーの健全性レポート) カードを確認します。また、Download 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+e81737f
Healthy
HttpConfig: Healthy
HTTP 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:80
ServerLicense: Healthy
Server 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 delegations
LicensingConfig: Healthy
Licensing 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 valid
Plugins: Healthy
Plugins
[OK] PluginAssemblies: 0
[OK] RegisteredPlugins: 0
Database: Healthy
Connection 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 の状態を監視するには、2 つの方法があります。
- ダッシュボード: Licensing Server バージョン 2.0 以降では、ダッシュボード がサーバーを監視するための主要な方法です。管理者は、
admin
の認証情報でログインして、Overview ページで詳細な サーバーの健全性レポート を表示できます。 - API: すべてのバージョンで、API アクセスが望ましい、または必要な場合は
/v1/admin/status
API を使用することもできます。このエンドポイントとadmin
グループ内の API を使用するには、リクエストする IP アドレスが管理者 IP 許可リストに含まれている必要があります。この要件は、スクリプトまたは自動化によってadmin
API にアクセスするコンピューターにも適用されます。詳細については、サーバーの詳細設定 のadminIpAllowlist
キーを参照してください。
Licensing Server の状態
Licensing Server には 3 つの状態があります。
- Healthy (健全): サーバーがライセンスを発行でき、すべてが正常に機能していることを示します。
- Degraded (劣化): サーバーはライセンスは発行できますが、監視が必要な潜在的な問題があります。これらの問題はまだ重要ではありませんが、将来的に重要になる可能性があるため、注意が必要です。Degraded (劣化) 状態を引き起こす問題の例として、有効期限が迫っているサーバーライセンスが挙げられます。
- Unhealthy (不健全): サーバーがライセンスを発行できないことを示しています。機能を回復するために、根本的な問題への早急な対応が必要です。
サーバー上のライセンスの更新
サブスクリプション期間の終了時に、サブスクリプションを更新する場合は、Licensing Server 上でライセンスを更新する必要があります。ライセンスを更新するには、サブスクリプションを更新 (リニューアル) した後に、ライセンスアーカイブファイルのダウンロードとインポート の手順を繰り返します。
Licensing Server のバージョンが 1.10 より前の場合は、古い委任ファイルを手動で削除する必要もあります。詳細については、こちらのサポート記事 を参照してください。
新しいライセンスは、現在のサブスクリプション期間が終了した後にのみ、Unity ID からダウンロードできるようになります。現在のサブスクリプション期間が終了すると、サーバー上のライセンスを更新するための 1 か月の猶予期間があります。猶予期間が終了する前にライセンスを更新しない場合、ライセンスは機能しなくなります。サービスの停止を避けるために、猶予期間中にライセンスをダウンロードして更新する必要があります。
ライセンスリニューアルがクライアント設定に与える影響
リニューアルされたサブスクリプションからライセンスをインポートする場合にも、ライセンス更新がクライアント設定に与える影響 と同じルールが適用されます。
サーバー上のライセンス変更の適用
シートの追加や削除など、Floating Licensing のサブスクリプションへの変更を Unity と交渉した場合は、サブスクリプションのライセンスをサーバーにインポートするプロセスを繰り返す必要があります。ライセンスアーカイブファイルのダウンロードとインポート のプロセスに従ってください。
ライセンス更新がクライアント設定に与える影響
ライセンスの更新は、デフォルトのツールセットを使用するクライアントには影響しません。
ツールセットを指定するクライアントの場合は、以下のようになります。
バージョン 1.10 以前 のサーバーでは、ツールセットの値がサーバーライセンスの
EntitlementGroupId
と一致している必要があります。つまり、サーバーライセンスを更新するときは、それに応じて クライアント設定 のツールセットの値を更新する必要があります。バージョン 1.11 以降では、ライセンスの更新がツールセットの選択に影響することはありません。Licensing Server ではツールセットの増分の部分のバリエーションが許容されるため、特定のツールセットで 設定されたクライアント への影響はないはずです。
Licensing Server の import
コマンドでは新しいツールセットが表示されます。新しいツールセットの IDは通常、古いツールセットと似ており、末尾の番号が増分されたものになります。例えば、最初の更新後、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
キーでは、二重引用符で囲まれた文字列でバックスラッシュを使用する場合、バックスラッシュの各インスタンスに対して 2 つのバックスラッシュを使用する必要があります。
詳細設定のキー
以下の表は、詳細設定のキーの一覧とその使用方法を示します。
キー | 説明 |
---|---|
floatingLeaseRenewIntervalInMinutes | サーバーがクライアントのリースを保持する期間を指定します。サーバーは、この期間が終了するまでに特定のリースの ping を受信しなかった場合、そのリースに関連付けられているライセンスを解放します。 有効範囲は 5 - 60 分です。 デフォルトの設定は 15 分です。 |
floatingLicenseExpirationInMinutes | 発行されたクライアントライセンスの有効期限を指定します。 有効範囲は 60 - 1440 分です。 デフォルトの設定は 480 分 (8時間) です。 |
licenseSigningCertificatePassword | PFX 形式の署名証明書の、暗号化されたパスワードです。 この値は import コマンド によって自動的に設定されます。 |
PluginsDirectory | サーバーがプラグインを読み取るディレクトリの完全パスです。 |
defaultToolset | デフォルトの製品ライセンスの識別子を格納します。 サーバー上で複数の製品ライセンスが利用可能で、クライアントが特定の製品ライセンスをリクエストしない場合、サーバーはデフォルトのライセンスを割り当てます。デフォルト値が設定されていない場合、リストから 1 番目の利用可能なライセンスを割り当てます。 すべての利用可能な製品識別子は詳細なテストレポート を開き、 serverLicenses セクションの licenseEntitlementGroupId フィールドにあります。 |
allowBorrow | ユーザーがフローティングライセンスをチェックアウトしてオフラインで作業できるかどうかを指定します。 この値はブーリアンデータ型で指定します。 |
diskSpaceWarningThresholdMegabytes | Licensing Server で使用可能なディスクスペースの警告しきい値を指定します。 ノート:このキーはサーバーバージョン 2.0 から利用できます。 この値はメガバイト単位で指定します。 ディスクスペースがこのしきい値を下回ると、サーバーの状態が Degraded に変わり、管理ダッシュボードの状態のインジケーターが黄色に変わります。サーバーのディスクスペースが不足すると、クライアントコンピューターにライセンスをリースできなくなります。 |
accessControlList | 指定したユーザーまたはコンピューター名がライセンスをリクエストできるかどうかを制御するリストを指定します。 ノート:このキーはサーバーバージョン 2.0 から利用できます。 以下のキーを指定できます。
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.) リクエスト処理中の API エラー 403 (...) ライセンスアクセスが拒否されました (アクセス制御リストの deny bindings に userName があるため、ユーザー (userName: jsmith、machineName: P4DSFHTE) は、ライセンスにアクセスできません)。 |
adminIpAllowlist | 管理者エンドポイントにアクセスできる IP アドレスを、セミコロン区切りの文字列で指定します。 ワイルドカード文字またはサブネットはサポートされません。 |