---
title: Ingress とルーティング
description: Web トラフィックが OpenLM Platform に到達する仕組み（単一の Ingress、OpenShift のルート、API ゲートウェイ）と、動作するIngress コントローラーについて説明します。
product: OpenLM Platform
---

OpenLM Platform へのトラフィックはすべて **1 つのホスト名** に到着し、パスによって転送先が決まります。このページでは、チャートがこれをどのように設定するかを確認し、クラスターに合ったオプションを選択します。

## パス

各パスの転送先は次の表のとおりです。

| パス | 転送先 | 内容 |
|---|---|---|
| `/` | ホームページ UI | ユーザーが開く入口 |
| `/identity` | identity サービス | サインイン、トークン、OpenID Connect ディスカバリー |
| `/api/...` | API ゲートウェイ → 各サービス | UI とエージェントからのすべてのデータ要求 |
| `/<page>`（例: `/licenses`、`/usage`、`/alerts`） | それぞれ 1 つの Web UI | 約 40 個の画面 |

## チャートがルーティングを作成する 3 つの方法

チャートは、次の 3 つのいずれかの方法でルーティングを作成します。

| オプション | 設定 | 作成されるもの | 使用する環境 |
|---|---|---|---|
| **単一の Ingress**（推奨） | `global.masterIngress.enabled: true` | すべてのパスと、ゲートウェイへの `/api` を含む **1 つ** の `Ingress` オブジェクト | EKS、AKS、K3s、Ingress コントローラーのある任意のクラスター |
| **OpenShift のルート** | `global.useOpenShift: true` | Web UI ごとに 1 つの `Route`、エッジ TLS、HTTP から HTTPS へのリダイレクト、セキュリティヘッダー | OpenShift |
| コンポーネントごとの Ingress | どちらもオフ | nginx の書き換えルールを持つ、コンポーネントごとに 1 つの `Ingress` | 推奨しません。古いインストールのために残されています。 |

### 単一の Ingress

チャートは、`openlm-master-ingress` という名前の Ingress を 1 つ作成します。

- `host:` は `global.masterIngress.hostname`、つまり `DOMAIN` です。
- `ingressClassName:` は `global.masterIngress.ingressClassName` で、この Ingress を処理するコントローラーを選択します。
- TLS には、シークレット `global.masterIngress.secretName`（既定値は `openlm-lb-cert`）を使用します。
- `/api` は API ゲートウェイのサービス `gateway-svc-openlm-gateway-tyk-gateway` に送られます。この名前はゲートウェイのリリース名 `openlm-gateway` から決まるため、ステップ 5 ではこの名前が必須です。

各 Web UI には、それぞれのパスプレフィックス（`/licenses/`、`/usage/`、...）でアクセスします。このモードでは、チャートは各 UI に、そのプレフィックスの下で正しく提供するための小さな Web サーバー構成も付与します。コントローラーに書き換えルールは不要で、values ファイルは古い書き換えルール（`global.ingressAnnotations`）を削除します。

### OpenShift のルート

`global.useOpenShift: true` を設定すると、チャートは Ingress の代わりにルートを作成します。

- TLS は OpenShift ルーターで終端されます（**エッジ**）。プレーン HTTP は HTTPS にリダイレクトされます。
- ルーターは HSTS とセキュリティヘッダー（`X-Frame-Options`、`X-Content-Type-Options`、`Referrer-Policy`、`Content-Security-Policy: frame-ancestors 'self'`）を追加します。HSTS は `global.routeSecurity`（`hstsMaxAge`、`hstsIncludeSubDomains`）で調整でき、`global.routeSecurity.enabled: false` で無効にできます。
- 要求が UI に届く前に、パスプレフィックスが削除されます（`rewrite-target: /`）。

このリリースでは、いくつかのルートを手動で作成します。コマンドについては、[Red Hat OpenShift](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/openshift#ルート) を参照してください。

## Ingress コントローラーを選択する

次の表で、使用するIngress コントローラーを確認します。

| コントローラー | 動作 | 注記 |
|---|---|---|
| **Traefik**（K3s の既定） | はい | `INGRESS_CLASS=traefik` を設定します。 |
| **ingress-nginx** | はい | `INGRESS_CLASS=nginx` を設定します。 |
| **AWS Load Balancer Controller (ALB)** | OpenLM Platform のIngress としては不可 | ALB はクラスター内の TLS シークレットを提供しません。AWS Certificate Manager の証明書と独自のアノテーションが必要です。代わりに、Network Load Balancer の背後に Traefik または ingress-nginx を配置します。[EKS](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/eks#ingress) を参照してください。 |
| **Azure Application Gateway (AGIC)** | OpenLM Platform のIngress としては不可 | 理由は ALB と同じです。Azure ロードバランサーの背後で ingress-nginx または Traefik を使用します。[AKS](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/aks#ingress) を参照してください。 |
| **OpenShift ルーター** | はい（ルートを使用） | `global.useOpenShift: true` を使用します。 |

どのコントローラーでも、次の要件を満たす必要があります。

- Kubernetes シークレット `openlm-lb-cert` の TLS 証明書を提供し、ユーザーに表示される証明書が自分で管理する証明書になるようにします。
- `Host` ヘッダーを変更せずに転送します。
- ライセンスファイルやログなど、ユーザーがアップロードするサイズの要求本文を受け付けます。ingress-nginx の既定の上限は 1 MB なので、コントローラーで `proxy-body-size` を引き上げます。

## HTTP を HTTPS にリダイレクトする

ユーザーは常に `https://` のみを使用する必要があります。プレーン HTTP はコントローラーでリダイレクトします。

- **Traefik**: `web` エントリポイントを `websecure` にリダイレクトします。K3s では、`HelmChartConfig` で設定します。[K3s](https://www.openlm.com/documentation/ja/cloud/deployment-operations/on-premise/deployment-guide/kubernetes/platforms/k3s#https-リダイレクト) を参照してください。
- **ingress-nginx**: Ingress に TLS がある場合は自動的にリダイレクトします。
- **OpenShift のルート**: チャートが `insecureEdgeTerminationPolicy: Redirect` を設定します。
