Warpgate
Warpgateは、ワークロードをMezusphereに接続する軽量サイドカーエージェントです。反転イングレスモデルを実装しています。インバウンドポートを開放してファイアウォールを設定する代わりに、WarpgateはMezusphereのグローバルエッジに対して外側に接続します。
仕組み
- Warpgateがワークロードと一緒に起動
- MezusphereのグローバルエッジへのアウトバウンドTLS 1.3接続を開始
- サービスアカウントAPIキーで認証
- Mezusphereがこの確立されたトンネルを通じてエンドユーザートラフィックを転送
- Warpgateがlocalhostのワークロードにトラフィックを渡す
ワークロードはインターネットからのインバウンド接続を受け入れません。オープンポート、ファイアウォールルール、パブリックIPアドレスは不要です。
デプロイオプション
Docker
アプリケーションと一緒にWarpgateをコンテナとして実行:
docker run mezusphere/warpgate \
--token YOUR_WARPGATE_TOKEN \
--upstream localhost:8080またはdocker-compose.ymlに追加:
services:
app:
image: your-app:latest
ports:
- "8080:8080"
warpgate:
image: mezusphere/warpgate
command: ["--token", "YOUR_WARPGATE_TOKEN", "--upstream", "app:8080"]
depends_on:
- appスタンドアロンバイナリ
プラットフォーム用のWarpgateバイナリをダウンロードして直接実行:
# ダウンロード
curl -fsSL https://get.mezusphere.com/warpgate | sh
# フォアグラウンドプロセスとして実行
warpgate --token YOUR_WARPGATE_TOKEN --upstream localhost:8080
# またはsystemdサービスとして実行
sudo warpgate install --token YOUR_WARPGATE_TOKEN --upstream localhost:8080
sudo systemctl start warpgate対応プラットフォーム:Linux(amd64、arm64)、macOS(amd64、arm64)、Windows(amd64)。
Kubernetes
ポッドのサイドカーコンテナとしてWarpgateをデプロイ:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
spec:
template:
spec:
containers:
- name: app
image: your-app:latest
ports:
- containerPort: 8080
- name: warpgate
image: mezusphere/warpgate
args:
- "--token"
- "YOUR_WARPGATE_TOKEN"
- "--upstream"
- "localhost:8080"任意のKubernetesディストリビューションで動作:EKS、GKE、AKS、k3s、セルフマネージドクラスター。
設定
コマンドラインフラグ
| フラグ | 説明 | デフォルト |
|---|---|---|
--token | 認証用サービスアカウントAPIキー | 必須 |
--upstream | ワークロードのアドレス | localhost:8080 |
--log-level | ログの詳細度(debug、info、warn、error) | info |
環境変数
すべてのフラグはWARPGATE_プレフィックス付きの環境変数でも設定できます:
| 変数 | 対応するフラグ |
|---|---|
WARPGATE_TOKEN | --token |
WARPGATE_UPSTREAM | --upstream |
WARPGATE_LOG_LEVEL | --log-level |
接続性
アウトバウンド接続
Warpgateは、相互認証(mTLS)付きTLS 1.3を使用してMezusphereのグローバルエッジへの永続的なアウトバウンド接続を確立します。接続は:
- 暗号化:TLS 1.3、ダウングレードなし
- 認証済み:サービスアカウント認証情報による相互TLS
- 永続的:Warpgateプロセスのライフタイム中維持
- 自動再接続:ネットワーク中断時にバックオフ付きで自動再接続
ネットワーク要件
WarpgateはアウトバウンドHTTPS接続のみ必要です。インバウンドポート、ファイアウォールルール、VPN設定は不要です。
| 方向 | ポート | プロトコル | 目的 |
|---|---|---|---|
| アウトバウンド | 443 | TLS 1.3 | Mezusphereエッジへの接続 |
クラウド非依存
Warpgateはワークロードがどこで動作していても同一に動作します:
- AWS(EC2、ECS、EKS、Lambda)
- Google Cloud(GCE、GKE、Cloud Run)
- Azure(VM、AKS、Container Instances)
- オンプレミスデータセンター
- ローカル開発マシン
- エッジデバイス(Raspberry Pi、IoT)
デプロイパターンは常に同じ:ワークロードと一緒にWarpgateを実行し、トークンを提供し、アップストリームを指定。
リソース使用量
Warpgateは軽量に設計されています:
- 単一の静的バイナリ
- 最小限のメモリフットプリント
- 無視できるCPUオーバーヘッド
- ログ以外のディスクI/Oなし
プロキシでも、サービスメッシュコントロールプレーンでも、テレメトリを送信するエージェントでもありません。