---
title: OpenLM LicOps を設定する
description: OpenLM LicOps を OpenLM Platform に接続し、LicOps モードで動作していることと、ライセンスプールを認識していることを確認します。
product: OpenLM Platform
---

ジョブの許可を開始するには、LicOps を OpenLM Platform に接続し、LicOps がライセンスプールを認識していることを確認します。シート数、サーバーヘルス、ルール、予約はすべて OpenLM Platform から取得されるため、接続が成功するまでは、ほかの機能は動作しません。

## LicOps を OpenLM Platform に接続する

LicOps は、**Client Type** が `Router` の ID クライアントの認証情報を使って OpenLM Platform にサインインします。これは、フェイルオーバー用の Router と同じクライアントタイプです。

### 認証ファイルを取得する

認証ファイルを取得するには、次の手順を実行します。

1. OpenLM Platform で、**Navigation** を選択し、**Platform Administration** の下にある **Identity** を選択します。
2. **Authorization**、**Add Client** の順に選択します。
3. **Select Client Type** で **Router** を選択します。
4. 説明を入力します。
5. **Encrypted authorization client** はオフのままにします。
6. **Save** を選択します。

   *LicOps は、フェイルオーバー用の Router と同じく、Router タイプのクライアントでサインインします。*

7. 認証ファイル（`router-authorization.json` などの JSON ファイル）をダウンロードします。

このファイルには、LicOps に必要な 3 つの値が含まれています。OpenLM Platform の **Base URL**、**Client ID**、**Client Secret** です。シークレットが手元にない場合は、**Authorization** ページでクライアントを選択し、**Reset Secret** を選択します。以前のシークレットは使用できなくなります。認証ファイルの詳細については、[Identity](https://www.openlm.com/documentation/ja/cloud/openlm-administration/identity/#認可ファイルの生成)を参照してください。

タイプが `Router` のクライアントを使用してください。ほかのタイプの認証情報でもサインインはできますが、OpenLM Platform は LicOps からの問い合わせを拒否します。この問題はサインインの失敗としてではなく、後になってプールが見つからないという形で現れます。

### 認証情報を入力する

認証情報を Router UI に入力するには、次の手順を実行します。

1. `http://<licops-host>:8101/router-management/` を開いて **Platform Connection** を表示します。

   `<licops-host>` は、LicOps を実行しているホストに置き換えます。

2. **Import Auth File** を選択し、認証ファイルを選択します。
3. 代わりに値を手動で入力するには、**Base URL**、**Client ID (Optional)**、**Client Secret (Optional)** を入力します。

   3 つのフィールドはすべて入力してください。**Request Timeout (seconds)** は `30` のままにします。

4. **Check Connection**、**Save** の順に選択します。

*Router UI は、LicOps でもフェイルオーバー用の Router でも同じです。接続が機能するまでは、フォームの下のエラー通知にその理由が表示されます。*

保存してから約 10 秒待ち、フォームの下にエラー通知が表示されていないことを確認します。通知が表示されていなければ、Router は OpenLM Platform と同期しています。通知が消えない場合は、通知にその理由が表示されます。[トラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/troubleshooting#licops-が-openlm-platform-と同期しないのはなぜですか)を参照してください。

代わりにスクリプトで接続するには、次のコマンドを実行して、同じ 3 つの値を Router API に送信します。

```bash
curl -X PUT http://localhost:8100/api/v1/admission-controller/platform-credentials \
  -H "Content-Type: application/json" \
  -d '{
    "baseUrl": "https://platform.example.com",
    "clientId": "<client-id>",
    "clientSecret": "<client-secret>",
    "requestTimeoutSeconds": 30
  }'
```

Router UI と REST API は、フェイルオーバー用の Router の場合と同じように動作します。すべてのフィールドと接続チェックについては、[OpenLM Router を設定する](https://www.openlm.com/documentation/ja/cloud/deployment-operations/router/configuration/#router-を-platform-に接続する)を参照してください。

## LicOps が LicOps モードで動作していることを確認する

LicOps は、最初の同期時に LicOps Router として OpenLM Platform に自身を登録し、OpenLM Platform は LicOps の初期構成を作成します。初期構成の内容は、リッスンポート `30001`（チェックアウトを LicOps 経由でルーティングする場合にのみ使用します）と、無効に設定されたセッションアフィニティです。LicOps は次の同期でその構成を取得します。構成が反映されたことを確認します。

```bash
curl http://localhost:8100/api/v1/status
```

```json
{
  "status": "ok",
  "listenPorts": [30001],
  "message": "Load balancer mode active",
  "configurationManagement": {
    "shape": "serviceManaged",
    "lastSync": {
      "lastSuccessfulSync": "2026-10-15T13:36:02Z",
      "lastAppliedConfigVersion": 1,
      "lastFailure": null
    }
  }
}
```

`"message": "Load balancer mode active"` は、LicOps Router であることを示します。代わりにポートマッピングや `pairStatuses` を報告する Router は、フェイルオーバーモードで起動されています。[トラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/troubleshooting#licops-configuration-に-port-mappings-が表示されるのはなぜですか)を参照してください。

OpenLM Platform では、同じ構成が **LicOps Configuration** に表示されます。これは、OpenLM LicOps とフェイルオーバー用の OpenLM Router の両方を設定するアプリです。開くには、次の手順を実行します。

1. **Navigation** を選択し、**Licenses and Features** の下にある **LicOps Configuration** を選択します。
2. **LicOps** を選択し、Router が使用しているリッスンポートとセッションアフィニティのポリシーを確認します。

*LicOps ページは、LicOps モードの Router でのみ表示されます。フェイルオーバー用の Router では、代わりに Port Mappings が表示されます。*

**LicOps** ページは参照用です。リッスンポートやセッションアフィニティは、このページでは編集しません。別の値が必要な場合は、OpenLM サポートにお問い合わせください。

**LicOps Configuration** に、まだ Router から報告がないと表示される場合は、Router がまだ OpenLM Platform と同期していません。接続してから約 10 秒待ち、ページを再読み込みしてください。ページは自動では更新されません。

## LicOps がライセンスプールを認識していることを確認する

LicOps がジョブを許可するのは、OpenLM Platform のライセンスサーバーとフィーチャーから作成したプールに対してだけです。一覧表示するには、次のコマンドを実行します。

```bash
curl http://localhost:8100/api/v1/stats
```

```json
[
  { "serverId": 42, "host": "lic01.example.com", "port": "27000", "vendor": "MLM", "feature": "MATLAB",
    "total": 50, "used": 31, "reserved": 2, "free": 17, "isHealthy": true, "activeSessions": 0 },
  { "serverId": 43, "host": "lic02.example.com", "port": "27000", "vendor": "MLM", "feature": "MATLAB",
    "total": 50, "used": 28, "reserved": 0, "free": 22, "isHealthy": true, "activeSessions": 0 }
]
```

各プールのライセンスサーバーごとに 1 行ずつ表示されます。各フィールドの意味は次のとおりです。

| フィールド | 意味 |
| --- | --- |
| `vendor`、`feature` | プールの名前。LicOps へのすべてのリクエストで、大文字と小文字の区別も含めて、この文字列をそのまま送信する必要があります。 |
| `total` | ライセンスサーバーがそのフィーチャーに対して付与するシート数。 |
| `used` | OpenLM Platform による最新の読み取り時点で、ライセンスサーバーがチェックアウト済みと報告しているシート数。 |
| `reserved` | LicOps がこのサーバーで許可したものの、まだチェックアウトされていないシート数。 |
| `free` | 新しいリクエストがこのサーバーで取得できるシート数（`total − used − reserved`）。 |
| `isHealthy` | OpenLM Platform がサーバーを稼働中と報告しているかどうか。LicOps は、異常なサーバーにシートを配置することはありません。 |

ライセンスサーバーがこの一覧に表示されるのは、そのサーバー上の OpenLM Broker を通じて OpenLM Platform がサーバーを監視している場合だけです。サーバーやプール全体が見つからない場合は、[システム要件](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/system-requirements#openlm-platform-の前提条件)を参照してください。

ベンダー名とフィーチャー名は、手入力せずにこの一覧からコピーしてください。名前がどのプールにも一致しないリクエストは `NoServerAvailable` として拒否されます。この理由は、綴りの誤りではなく、サーバーが不足しているかのように見えます。

一覧が空（`[]`）の場合、LicOps にはまだプールがなく、すべてのリクエストが拒否されます。接続してから約 10 秒待ち、[トラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/troubleshooting#licops-にプールがないのはなぜですか)の説明に従って接続を確認してください。

## テストアドミッションを実行する

スケジューラーを接続する前に、1 つのジョブに相当するリクエストを手動で送信します。前のセクションの一覧にあるプールを使用してください。

```bash
SID=$(uuidgen)

# Ask for one seat.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/admit \
  -H 'Content-Type: application/json' \
  -d "{\"sessionId\":\"$SID\",\"vendor\":\"MLM\",\"feature\":\"MATLAB\",\"totalQuantity\":1}"

# Ask which server to check out from.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/dispatch \
  -H 'Content-Type: application/json' \
  -d "{\"sessionId\":\"$SID\",\"executionNodeIp\":\"127.0.0.1\"}"

# Give the seat back.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/release \
  -H 'Content-Type: application/json' \
  -d "{\"sessionId\":\"$SID\"}"
```

3 つのレスポンスは、順に `"decision": "Admit"`、`27000@lic01.example.com` のような `licenseFile`、`"state": "Released"` になります。最初のリクエストから最後のリクエストまでの間、`/api/v1/stats` に表示されるそのプールの `reserved` の値は 1 増えています。admit が `"decision": "Deny"` を返した場合は、その `reason` に理由が示されます。[API リファレンス](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/reference#拒否理由)を参照してください。

## 次の手順

次のページを参照してください。

- 各ジョブをどのサーバーに配置するかを決めるには、[アドミッションルールで配置を制御する](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/admission-rules)を参照してください。
- 決まった時間帯にサーバーのシート数を制限するには、[スケジュールでシート数を制限する](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/reservations)を参照してください。
- 実際のジョブを LicOps 経由で送信するには、[ワークロードを接続する](https://www.openlm.com/documentation/ja/cloud/deployment-operations/licops/integrations/index)を参照してください。
