> 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/roboflow/roboflow-jp/depuroi/enterprise-deployment/secure-gateway.md).

# Secure Gateway

Secure Gateway は、Roboflow API とモデルの重みへのプロキシであり、Roboflow Inference Server をインターネットからファイアウォールで遮断する場合に使用します。これは、その後継です。 [License Server](/roboflow/roboflow-jp/depuroi/enterprise-deployment/license-server.md) また、モデルの重みとコンテナイメージのローカルキャッシュを追加し、Inference Server のフリートが 1 つの制御された送信先を共有できるようにします。

{% 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 は gateway の前段にあるロードバランサ、またはコンテナ内で終端されます
* 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` tag は最新リリースを追跡します。本番環境、特にエアギャップ環境では、代わりに特定のバージョンを固定して、アップグレードを意図的かつ再現可能なものにしてください。たとえば、 `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 証明書

デフォルトでは gateway はプレーン HTTP で待ち受け、TLS はその前段のロードバランサで終端します。gateway 自体から HTTPS を提供するには、証明書と秘密鍵をコンテナにマウントし、両方を設定します `TLS_CERT_FILE` と `TLS_KEY_FILE`。その後、gateway は設定されたポートで 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 形式でエンコードされたファイルを指します。

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

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

## Inference Server の接続

各 Inference Server の向きを gateway に向けるには、 `SECURE_GATEWAY` 環境変数を使用します。スキームなしで gateway のホスト名または IP アドレスを設定してください。すると Inference Server は、Roboflow API 呼び出しとモデル重みのダウンロードを、インターネットに直接接続する代わりに gateway 経由でルーティングします。

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

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

api.roboflow\.com と repo.roboflow\.com への outbound アクセスが必要なのは gateway のみです。Inference Server が起動したら、モデルを実行して、リクエストが gateway のアクセスログに表示されることを確認してください。

従来の `LICENSE_SERVER` 変数は、 `SECURE_GATEWAY`の別名として引き続き受け入れられます。そのため既存のデプロイメントは引き続き動作します。これは非推奨であり、2026 年 Q3 の終わりに削除予定です。

## キャッシュ

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