本文へスキップ

ユースケース

ユースケース:以下のシナリオは、チームがAltuur Secure Ingress(アルトゥール セキュアイングレス)でサービスをデプロイし保護する方法を示す例示です。前提条件を明示した架空の例であり、実在する顧客の事例ではありません。ユースケースについて相談するにはお問い合わせください。

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

例示シナリオです。以下のチーム、インフラ、所要時間は例としての前提であり、実在する顧客の事例ではありません。

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

Secure Ingress(セキュアイングレス)導入前

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

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

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

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

1. 既存のAPIから始める

チームはすでにポート3000でリッスンする、コンテナ化されたNode.js APIを持っている:

# 既存のAPI、変更なし
node server.js  # ポート3000でリッスン

2. Console(コンソール)でプロジェクトとサービスアカウントを作成

チームはプロジェクト、本番環境、サービスアカウントを作成。サービスアカウントのAPIキーが、次のステップで使うWarpgate(ワープゲート)トークンになる。

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

# docker-compose.yml
services:
  api:
    build: .
    # portsなし:APIはプライベートなComposeネットワーク内からのみ到達可能

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

Warpgate(ワープゲート)は外向きにSecure Ingress(セキュアイングレス)に接続し、プライベートなComposeネットワーク経由でAPIに到達。APIはホストに公開されていないため、VPSにはAPI用のインバウンドポート、インバウンドのファイアウォールルール、公開リスナーは不要。チームは直接経路も閉じる。VPSを指していた旧来の公開リスナーとDNSレコードを削除し、APIへの唯一の経路をAltuur(アルトゥール) Edge経由にする。

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

Secure Ingress(セキュアイングレス) Console(コンソール)でチームは以下を設定:

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

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

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

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

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

6. 公開

APIが本番環境のプラットフォーム提供ホスト名(例:https://payments-prod.mezusphere.io)で利用可能に。payments.example.comのようなカスタムドメインはロードマップ上の機能。トラフィックフロー:

パートナー
→
Altuur Edge
TLS · 認証 · レート制限 · ルーティング
→
Warpgate
→
決済API

得られるもの

  • TLS 1.3:自動、証明書管理不要
  • レート制限とDDoS対策:エッジに組み込まれた不正利用対策とより広範なDDoS緩和、設定不要
  • パートナー認証:Console(コンソール)で管理、アプリケーションコードはゼロ
  • パスベースルーティング:公開ヘルスチェックと認証済みAPIを同じドメインで
  • API用のインバウンドポートなし:ホストのファイアウォールをインバウンドに対して閉じたままにしておく限り、APIにはWarpgate(ワープゲート)経由でしか到達できない
  • プラットフォームは1つ:単一のSecure Ingress(セキュアイングレス)設定が、個別のCloudflare、Auth0、APIゲートウェイ、証明書管理のセットアップを置き換え

デプロイにかかる作業

このシナリオでの変更は、Composeファイルの編集1回とConsole(コンソール)での数カ所の設定。チームはインフラ管理ではなく、決済機能の構築に時間を使える。


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

例示シナリオです。以下のチーム、インフラ、所要時間は例としての前提であり、実在する顧客の事例ではありません。

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

Secure Ingress(セキュアイングレス)導入前

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

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

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

Secure Ingress(セキュアイングレス)の場合

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

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

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

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

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

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

各環境はプラットフォーム提供のホスト名を使用。app.example.comのようなカスタムドメインはロードマップ上の機能。ルート、認証ルール、権限は一度設定するだけで、リージョン間で一貫して適用。

3. 変わること

  • Ingressコントローラー:不要に。Warpgate(ワープゲート)が置き換え。
  • TLS証明書:自動。cert-managerもLet’s Encryptのcronジョブも不要。
  • 環境ごとのOAuth:Console(コンソール)でAuth設定を1つ管理。リージョンごとの個別OAuthクライアントは不要。
  • ファイアウォールルール:これらのサービスにインバウンドポートは不要。旧来のインバウンドルールを削除すれば、セキュリティグループは極めてシンプルに。
  • DNS管理:Secure Ingress(セキュアイングレス)がプラットフォーム提供のホスト名でエッジルーティングを処理。エンドポイントごとにCNAME1つのカスタムドメインはロードマップ上の機能。

結果

このシナリオでは、Ingressコントローラー、cert-manager、リージョンごとのOAuth設定ブロックがKubernetesマニフェストから消える。新しいリージョンの追加は、Warpgate(ワープゲート)サイドカー付きでサービスをデプロイし、Console(コンソール)で環境を作成するだけ。多数のコンポーネントにまたがるインフラプロジェクトが、小さな作業になる。


次のステップ

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