# ライセンスサーバーのテスト

> Test the Unity Licensing Server to make sure it's properly set up.

このタスクは、[Unity Licensing Server を設定](./server-setup.md) するための包括的なプロセスの一部です。

[ライセンスアーカイブファイルをダウンロードしてインポート](./server-setup-lic.md) した後で、以下のいずれかのレベルのフィードバックを取得することで、ライセンスサーバーをテストします。

* [基本](#basic-test-report): ステータス、前回起動時からの経過時間、サーバーバージョンを取得します。
* [拡張](#extended-test-report): 基本情報に加えて、マシンバインディング、ライセンス設定、データベース情報を取得します。

サーバーをテストするには、以下を行います。

1. PowerShell またはターミナルウィンドウで、Unity Licensing Server 起動ディレクトリに移動し、以下のコマンドを実行します。

   * **Linux**: `./Unity.Licensing.Server`
   * **Windows**: `.\Unity.Licensing.Server.exe`

2. 以下の 2 つのサーバーエンドポイントの 1 つにアクセスします。

   * **基本** の場合: `http[s]://<SERVER-IP-ADDRESS>:<PORT>/v1/status`
   * **拡張** の場合: `http[s]://<SERVER-IP-ADDRESS>:<PORT>/v1/admin/status`

サーバーが正常に作動していると、`serverStatus` 情報に **Healthy** と表示されます。

## 複数の製品ライセンスのサポート

複数の異なる製品のライセンスを設定することができます。各製品は、特定のエンタイトルメンを持つライセンスファイルで表されます。すべてのファイルはアーカイブとして提供されており、[import](./server-setup-lic.md) コマンドを使用してインポートできます。

複数製品のライセンスがサーバーにある場合、1 つのライセンスをデフォルトとして設定することができます。また、クライアントコンピューターが特定のライセンスを使用するように設定することもできます。特定のライセンスをリクエストするには、`toolset` クライアント設定キーを使用します。詳細については、[クライアントの設定](./client-config.md) の [設定ファイルのコピー](./client-config.md#copying-the-configuration-file) を参照してください。

クライアント設定キーを使用しない場合、サーバーはデフォルトライセンスを提供します。クライアント設定キーを使用する場合、ライセンスが使用可能な場合のみサーバーはそのライセンスを提供します。

## 基本テストレポート##basic-test-report

バージョン 2.0 以降では、[管理ダッシュボード](./server-admin-dash.md) を使用して、状態を含む基本的なサーバー情報を取得できます。**Overview** ページ > **Server Health Report** に移動して、サーバーの状態が `Healthy` であるかどうかを確認します。

すべてのバージョンについて、サーバーの基本情報を確認するには、以下に移動します。

`<PROTOCOL />://<SERVER-IP-ADDRESS>:<PORT>/v1/status`

* `<PROTOCOL />` は `http` または `https` で、設定時に選択したプロトコルによって異なります。
* `<SERVER-IP-ADDRESS />` と `<PORT>` は設定時に指定した値です。

例

```bash
http://10.255.255.192:80/v1/status
```

このエンドポイントから返される情報には以下のようなものがあります。

| **エントリー**      | **説明**                                                    |
| -------------- | --------------------------------------------------------- |
| serverStatus   | 値が `Healthy` の場合は、サーバーが正しく設定され、ライセンスを提供する準備ができていることを示します。 |
| serverUpTime   | サーバーが最後に起動されてからの経過時間と現在の日時を示します。                          |
| serverUpTimeMs | サーバーが最後に起動されてからの経過時間 (ミリ秒) と現在の日時を示します。                   |
| version        | ライセンスサーバーのバージョンを示します。                                     |

出力例

```json
{
    "serverStatus": "Unhealthy",
    "serverUpTime": "0 days 1 hours 41 minutes 3 seconds",
    "serverUpTimeMs": 6063668,
    "version": "1.7.0.7cc2de3"
}
```

## 拡張テストレポート##extended-test-report

バージョン 2.0 以降では、`admin` として [管理ダッシュボード](./server-admin-dash.md) にログインし、状態を含むサーバーの詳細情報を取得できます。**Overview** ページ > **Server Health Report** に移動して、**Status** (状態) の値がすべて `Healthy` になっているかどうかを確認します。

すべてのバージョンについて、拡張テストレポートにアクセスするには、以下に移動します。

`<PROTOCOL />://<SERVER-IP-ADDRESS>:<PORT>/v1/admin/status`

* `<PROTOCOL>` は `http` または `https` で、設定時に選択したプロトコルによって異なります。
* `<SERVER-IP-ADDRESS />` と `<PORT>` は設定時に指定した値です。

例

```bash
http://10.255.255.192:80/v1/admin/status
```

拡張テストレポートには、基本レポートの情報に加え、サーバーに関する情報 (マシンバインディング、ライセンス設定、データベース情報など) が含まれます。

拡張テストレポートにアクセスするには、IP アドレスが管理者 IP 許可リストに含まれている必要があります。詳細については、[サーバーの詳細設定](./server-admin.md#advanced-server-configuration) の `adminIpAllowlist` キーを参照してください。管理 API への不正なアクセスは以下のエラーを返します。

```bash
"title": "Unauthorized Admin Action"
"status": 401
"detail": "The administrative request could not be completed because the user is not authorized"
```

管理 API の拡張テストレポートの出力は、以下と類似しています。

```json
{
    "serverContext": {
        "data": {
            "FirstPhysicalAddress": "42:01:00:00:00:1b",
            "Platform": "Unix",
            "ProcessorCount": "2",
            "MachineName": "license-server-linux-v1-12"
        },
        "status": "Healthy",
        "statusMessage": "Found 4 out of 4 context values"
    },
    "serverLicenses": {
        "data": [
            {
                "fileName": "/home/lit/.config/unity3d/Unity/licenses/linuxUicFormaEntitlement_1-20221026_852034.xml",
                "status": "Ok",
                "message": "EntitlementGroup: linuxUicFormaEntitlement_1 (from: linuxUicFormaEntitlement_1-20221026_852034.xml) has valid server entitlements",
                "licenseEntitlementGroupId": "linuxUicFormaEntitlement_1",
                "product": "Unity for Enterprise for Product Lifecycle + Forma (Floating)",
                "licenseCount": 100,
                "activeLicenseCount": 0,
                "validFrom": "2022-06-08T00:00:00Z",
                "validTo": "2025-06-08T00:00:00Z"
            }
        ],
        "status": "Healthy",
        "statusMessage": "Found 1 valid server license(s)"
    },
    "licenseSigningCertificateStatus": {
        "status": "Healthy",
        "statusMessage": "Successfully loaded license signing key"
    },
    "serverDelegations": {
        "data": [
            {
                "fileName": "license-server-linux-v1-12.delegation-20221026_852034.xml",
                "status": "Ok",
                "message": "Found valid server delegation: /home/lit/.config/unity3d/Unity/licenses/delegations/license-server-linux-v1-12.delegation-20221026_852034.xml",
                "delegationId": "Delegation",
                "organizationId": "hq.unity",
                "serverId": "license-server-linux-v1-12",
                "delegationStart": "2022-10-25T00:00:00Z",
                "delegationEnd": "2025-06-08T00:00:00Z"
            }
        ],
        "status": "Healthy",
        "statusMessage": "Found 1 valid server delegations"
    },
    "databaseStatus": {
        "data": {
            "connectionStatus": "Open",
            "connectionType": "Microsoft.Data.Sqlite.SqliteConnection"
        },
        "status": "Healthy",
        "statusMessage": "Connection state for Microsoft.Data.Sqlite.SqliteConnection is Open"
    },
    "plugins": {
        "data": [],
        "status": "Healthy",
        "statusMessage": "Plugins"
    },
    "httpConfigStatus": {
        "data": [],
        "status": "Healthy",
        "statusMessage": "HTTP config is healthy"
    },
    "serverStatus": "Healthy",
    "serverUpTime": "369 days 22 hours 41 minutes 20 seconds",
    "serverUpTimeMs": 31963280970,
    "version": "1.12.1+9338cad"
}
```

## 次のステップ

[サービスの設定](./server-setup-svc.md) に進み、ライセンスサーバーの設定を続けます。
