> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/serufuhosuto/enterprise/secure-gateway.md).

# Secure Gateway

Secure Gateway は、Roboflow API とモデルの重みに対するプロキシです。Roboflow Inference Server をインターネットからファイアウォールで隔離する場合に使用します。これは次の後継です [License Server](/deployment/ja/serufuhosuto/enterprise/license-server.md) さらにモデルの重みとコンテナイメージをローカルにキャッシュするため、推論サーバーの群が制御された単一の送信ポイントを共有できます。

{% hint style="info" %}
このページでは基本事項を扱います。完全な設定と運用のリファレンスについては、次を参照してください [Secure Gateway マニュアル](https://secure-gateway.roboflow.com/manual/).
{% endhint %}

## 前提条件

* Docker Engine 20.10 以降、または Kubernetes v1.24 以降
* api.roboflow\.com と repo.roboflow\.com にアクセスできるホスト
* ポート 80 が利用可能で、TLS はゲートウェイの前面にあるロードバランサーまたはコンテナ内で終端されます
* 4GB 以上のメモリ
* S3 バケット、またはキャッシュ用の 50GB 以上のローカルディスク

## Secure Gateway の使用

アクセスできるマシン上で `https://api.roboflow.com` および `https://repo.roboflow.com` (およびポート `80` がプライベートネットワーク内で実行中の Inference Server に開いている状態で）、Secure Gateway コンテナを pull します:

```
docker pull repo.roboflow.com/roboflow-edge/secure-gateway:latest
```

次の `latest` タグは最新リリースを追跡します。本番環境、特にエアギャップ環境では、代わりに特定のバージョンを固定して、アップグレードが意図的かつ再現可能になるようにします。たとえば `repo.roboflow.com/roboflow-edge/secure-gateway:0.2.0`.

ローカルディスクキャッシュで実行します:

```
docker run -d --name secure-gateway -p 80:80 --restart unless-stopped \\
    -v gateway-cache:/var/cache/secure-gateway \\
    repo.roboflow.com/roboflow-edge/secure-gateway:latest
```

実行中であることを確認します:

```
curl http://localhost/health
```

ローカルディスクではなく S3 にキャッシュするには、 `CACHE_S3_BUCKET` および `CACHE_S3_REGION` 環境変数を設定します。インスタンスまたは IAM ロールを使用するには、認証情報は未設定のままにします。

## TLS 証明書

デフォルトではゲートウェイはプレーン HTTP で待ち受け、TLS は前面のロードバランサーで終端します。ゲートウェイ自体から HTTPS を配信するには、証明書と秘密鍵をコンテナにマウントし、両方を設定します `TLS_CERT_FILE` および `TLS_KEY_FILE`。その後、ゲートウェイは設定されたポートで HTTPS を提供します:

```
docker run -d --name secure-gateway -p 443:443 --restart unless-stopped \\
    -e PORT=443 \\
    -e TLS_CERT_FILE=/etc/ssl/certs/gateway.crt \\
    -e TLS_KEY_FILE=/etc/ssl/private/gateway.key \\
    -v /path/to/certs:/etc/ssl:ro \\
    -v gateway-cache:/var/cache/secure-gateway \\
    repo.roboflow.com/roboflow-edge/secure-gateway:latest
```

両方 `TLS_CERT_FILE` および `TLS_KEY_FILE` は受信 HTTPS を有効にするために必要であり、それぞれ PEM エンコードされたファイルを指します。

ゲートウェイの outbound トラフィックが Zscaler などの企業向け TLS 検査プロキシを通過する場合は、 `TLS_CA_BUNDLE` をそのプロキシの CA バンドルに設定して、ゲートウェイが api.roboflow\.com と repo.roboflow\.com への接続を信頼できるようにします:

```
-e TLS_CA_BUNDLE=/etc/ssl/certs/corporate-ca.pem
```

## Inference Server の接続

各 Inference Server を `SECURE_GATEWAY` 環境変数でゲートウェイに向けます。スキームなしで、ゲートウェイのホスト名または IP アドレスに設定します。これにより Inference Server は、Roboflow API 呼び出しとモデル重みのダウンロードをゲートウェイ経由でルーティングし、インターネットに直接到達しません。

```
sudo docker run --net=host \\
    --env SECURE_GATEWAY=10.0.1.1 \\
    roboflow/inference-server:cpu
```

ゲートウェイが 80 以外のポートで待ち受ける場合は、たとえば次のようにポートを含めます `SECURE_GATEWAY=10.0.1.1:8080`。Inference Server はこのアドレスのゲートウェイに HTTP で接続するため、ホストとポートに Inference Server のネットワークから到達できることを確認してください。

外向きのアクセスが必要なのは api.roboflow\.com と repo.roboflow\.com へ接続するゲートウェイだけです。Inference Server を起動したら、モデルを実行して、リクエストがゲートウェイのアクセスログに表示されることを確認します。

従来の `LICENSE_SERVER` 変数は、 `SECURE_GATEWAY`のエイリアスとして引き続き受け付けられます。そのため、既存のデプロイメントはそのまま動作します。これは非推奨で、2026 年第 3 四半期末に削除予定です。

## キャッシュ

Secure Gateway は、コンテンツの更新頻度に応じた階層で、各レスポンスを初回ダウンロード時にキャッシュします。コンテンツアドレス指定のコンテナ blob とモデルの重みは最も長く保持され、変更可能な API レスポンスはより短い期間保持されます。その後のどの Inference Server からのリクエストもキャッシュから提供されるため、帯域幅の使用量が減り、フリート全体でコールドスタートも抑えられます。
