ユースケース

ユースケース

ユースケース:以下のシナリオは、チームがMezusphere(メズスフェア)でサービスをデプロイし保護する方法を示しています。ユースケースについて相談するにはお問い合わせください。

シナリオ:認証済みパートナーアクセスを持つフィンテックAPI

誰が:決済処理APIを運用する3人のフィンテックスタートアップ。 どこで:月額$40のVPS上の単一バックエンドサービス。 課題:TLS、DDoS対策、加盟店パートナー向けの認証済みAPIアクセスが必要だが、DevOpsエンジニアがおらず、Cloudflare、Auth0、APIゲートウェイを連携させるのに数週間をかけられない。

Mezusphere(メズスフェア)導入前

デプロイには複数のサービスの設定と管理が必要:

Mezusphereなし
Cloudflare(CDN + DDoS)
Auth0(認証)
Kong / Nginx(APIゲートウェイ)
Let's Encrypt(TLS証明書)
VPSファイアウォールルール
決済API
Mezusphereあり
Mezusphere Edge
決済API + Warpgate

5つのベンダー、5つの設定、5つの障害点、すべてが1つに。

ステップバイステップのデプロイ

1. 既存のAPIから始める

チームはすでにポート3000でリッスンするNode.js APIを持っている:

# 既存のセットアップ — 変更なし
node server.js  # localhost:3000でリッスン

2. Warpgate(ワープゲート)をサイドカーとして追加

# docker-compose.yml
services:
  api:
    build: .
    ports:
      - "3000:3000"

  warpgate:
    image: mezusphere/warpgate
    command: ["--token", "wg_prod_abc123...", "--upstream", "api:3000"]
    depends_on:
      - api

Warpgate(ワープゲート)外向きMezusphere(メズスフェア)に接続。インバウンドポート不要、ファイアウォールルール不要、VPSにパブリックIP不要。

3. Console(コンソール)でルートを設定

Mezusphere(メズスフェア) Console(コンソール)でチームは以下を設定:

ルートパス認証要否説明
ヘルスチェック(公開)/health不要稼働状況監視
加盟店API/api/v1/*必要認証トークンが必要なパートナーエンドポイント
Webhookレシーバー/webhooks/*不要決済プロバイダーからのインバウンドWebhook

4. パートナー認証を有効化

/api/v1/*ルートに対して、Console(コンソール)で認証を有効化:

  • 「加盟店パートナー」というユーザーディレクトリを作成
  • メール+パスワード認証でパートナーアカウントを追加
  • /api/v1/*ルートに認証を要求

パートナーはログイン認証情報を受け取り、Mezusphere(メズスフェア)の認証フローでアクセストークンを取得。決済APIは事前認証済みのリクエストを受信;アプリケーションに認証コードは一切不要。

5. 公開

APIがhttps://payments.example.comで利用可能に。トラフィックフロー:

パートナー
Mezusphere Edge
TLS · 認証 · DDoS · ルーティング
Warpgate
決済API

得られるもの

  • TLS 1.3:自動、証明書管理不要
  • DDoS対策:エッジに組み込み、設定不要
  • パートナー認証Console(コンソール)で管理、アプリケーションコードはゼロ
  • パスベースルーティング:公開ヘルスチェックと認証済みAPIを同じドメインで
  • インバウンドポートなし:VPSにパブリック向けポートは一切なし
  • 請求書は1つ:月額$99でCloudflare($20+)、Auth0($23+)、APIゲートウェイホスティング、証明書管理のオーバーヘッドを置き換え

デプロイ所要時間:30分以内

チームはインフラ管理ではなく、決済機能の構築に時間を使える。


シナリオ:ステージング環境を持つマルチリージョンSaaS

誰が:Reactフロントエンドと3つのバックエンドマイクロサービスを持つ15人のB2B SaaS企業。 どこで:レイテンシのためにAWS(us-east-1)とGCP(asia-northeast1)に分散。 課題:リージョンごと・環境ごと(dev、staging、prod)に異なるCloudflare設定、nginx ingressコントローラー、OAuth統合を管理することで、維持が困難な設定マトリックスが生まれている。

Mezusphere(メズスフェア)導入前

環境×リージョンの各組み合わせにそれぞれ必要:

  • Ingressコントローラー設定
  • TLS証明書管理
  • OAuthクライアント認証情報
  • ファイアウォール/セキュリティグループルール
  • DNSレコード

2リージョン×3環境で6以上の設定を同期する必要があり、それぞれ異なる認証情報とわずかに異なるセットアップが存在。

Mezusphere(メズスフェア)の場合

1. サービスごと・環境ごとにWarpgate(ワープゲート)をデプロイ

各マイクロサービスに環境ごとのトークンを持つWarpgate(ワープゲート)サイドカーを追加:

# Kubernetesサイドカー(本番、us-east-1)
- name: warpgate
  image: mezusphere/warpgate
  args: ["--token", "wg_prod_useast_...", "--upstream", "localhost:8080"]
# Kubernetesサイドカー(ステージング、asia-northeast1)
- name: warpgate
  image: mezusphere/warpgate
  args: ["--token", "wg_staging_apne1_...", "--upstream", "localhost:8080"]

2. Console(コンソール)で統一ルーティング

すべての環境とリージョンを1つのConsole(コンソール)から管理:

環境リージョンエンドポイントサービス
本番us-east-1app.example.comフロントエンド、API、課金
本番asia-northeast1app.example.comフロントエンド、API
ステージングus-east-1staging.example.comフロントエンド、API、課金

ルート、認証ルール、権限は一度設定するだけで、リージョン間で一貫して適用。

3. 変わること

  • Ingressコントローラー:不要に。Warpgate(ワープゲート)が置き換え。
  • TLS証明書:自動。cert-managerもLet’s Encryptのcronジョブも不要。
  • 環境ごとのOAuthConsole(コンソール)でAuth設定を1つ管理。リージョンごとの個別OAuthクライアントは不要。
  • ファイアウォールルール:インバウンドポート不要。セキュリティグループが極めてシンプルに。
  • DNS管理Mezusphere(メズスフェア)がエッジルーティングを処理。エンドポイントごとにCNAME1つ。

結果

インフラチームのKubernetesマニフェストは数百行削減。新しいリージョンの追加は、Warpgate(ワープゲート)サイドカー付きでサービスをデプロイし、Console(コンソール)で環境を作成するだけ、数日がかりのインフラプロジェクトが10分のタスクに。


次のステップ

  • はじめにWarpgate(ワープゲート)で最初のサービスをデプロイ
  • コアコンセプト:組織、プロジェクト、環境、ルートを理解する