コアコンセプト

コアコンセプト

このページでは、Mezusphere(メズスフェア)の主要なエンティティと抽象化について説明します。これらのコンセプトを理解することで、ワークロードの整理とトラフィックルーティングの設定を効果的に行えます。

組織(Organization)

Mezusphere(メズスフェア)の最上位エンティティです。組織はプロジェクト、課金、チームアクセスをグループ化します。Mezusphere(メズスフェア)のすべてのものは組織に属します。

組織は通常、会社ごとに1つです。チームメンバーは組織レベルで招待され、課金は単一の組織アカウントに統合されます。

プロジェクト(Project)

組織の下にある、環境、ルート、Warpgate(ワープゲート)、サービスアカウントの論理的なグループです。プロジェクトは、Mezusphere(メズスフェア)を通じて公開する単一のサービスまたはアプリケーションを表します。

:Webアプリケーションと別のAPIサービスがある場合、それぞれに1つずつ、2つのプロジェクトを作成します。

各プロジェクトには以下があります:

  • 1つ以上の環境(本番、ステージング、開発)
  • トラフィックがワークロードに到達する方法を定義するルート
  • Warpgate(ワープゲート)認証用のサービスアカウント
  • エンドユーザー管理用のユーザーディレクトリ(認証が有効な場合)

環境(Environment)

プロジェクト内の名前付きデプロイターゲットです。各環境には独自のエンドポイントURLがあり、独立して有効/無効にできます。

一般的な環境:

  • 本番(Production):エンドユーザーからのライブトラフィック
  • ステージング(Staging):本番に近い設定でのリリース前テスト
  • 開発(Development):ローカル開発とデバッグ

環境は分離されています。ルート、Warpgate(ワープゲート)接続、認証設定は環境ごとに独立して設定されます。

ルート(Route)

プロジェクト内のURLパスルーティングルールです。ルートは、受信リクエストがワークロードにどのように振り分けられるかを決定します。

Mezusphere(メズスフェア)は3つのマッチングモードをサポートしています:

モード説明
Prefix指定された値で始まるパスにマッチ/api//api/users/api/ordersにマッチ
Exactパスが完全に一致/health/healthのみにマッチ
Regexp正規表現でマッチ/users/[0-9]+/users/123にマッチ

ルートは以下で設定できます:

  • 認証要件:特定のルートでログインを要求
  • パーミッション要件:特定のロールを持つユーザーにアクセスを制限
  • CORS設定:ルートごとのクロスオリジンリソース共有を設定

Warpgate(ワープゲート)

ワークロードと一緒にデプロイされる軽量サイドカーです。Warpgate(ワープゲート)Mezusphere(メズスフェア)のグローバルエッジに対して外側に接続し、エンドユーザーのトラフィックがワークロードに転送されるセキュアなトンネルを確立します。

主な特徴:

  • アウトバウンド接続Warpgate(ワープゲート)がすべての接続を開始。インバウンドポート不要
  • 自動登録Warpgate(ワープゲート)はサービスアカウント認証情報を使用してコントロールプレーンに自動登録
  • ステータス追跡:各Warpgate(ワープゲート)は接続ステータス(connected、disconnected、unknown)とIPアドレスを報告
  • 自己登録型Warpgate(ワープゲート)Console(コンソール)からは作成できない。デプロイ時に自動登録

サービスアカウント(Service Account)

Warpgate(ワープゲート)登録とAPIアクセスに使用されるマシン認証情報です。各サービスアカウントには以下があります:

  • APIキー:サーバー側で生成される50文字のbase62文字列
  • 設定可能なパーミッション:サービスアカウントがアクセスできるものを制御
  • プロジェクトスコープ:サービスアカウントは単一のプロジェクトにスコープ

Warpgate(ワープゲート)をデプロイする際、認証トークンとしてサービスアカウントAPIキーを提供します。Warpgate(ワープゲート)はこのキーを使用してMezusphere(メズスフェア)に自動登録します。

アーキテクチャ

Mezusphere(メズスフェア)のアーキテクチャは2つのプレーンで構成されています:

データプレーン

データプレーンはエンドユーザーと顧客ワークロード間のライブトラフィックを処理します。以下で構成されます:

  • グローバルエッジノード:TLSを終端し、認証・認可ポリシーを適用し、悪意のあるトラフィックをフィルタリングし、リクエストを正しいWarpgate(ワープゲート)にルーティングするパブリックに到達可能なポイント
  • Warpgate(ワープゲート):顧客ワークロードと一緒にデプロイされ、エッジノードへの永続的なTLS 1.3トンネルを維持するアウトバウンドコネクタ

トラフィックフロー:エンドユーザーはHTTPS経由でエッジノードに接続します。エッジノードがリクエストを認証し、ルーティングとセキュリティポリシーを適用した後、承認されたトラフィックを確立されたトンネルを通じてWarpgate(ワープゲート)に転送し、Warpgate(ワープゲート)がローカルワークロードに配信します。

コントロールプレーン

コントロールプレーンは設定、アイデンティティ、運用状態を管理します。以下を提供します:

  • 設定管理:プロジェクト、環境、ルート、ポリシー
  • アイデンティティサービス:ユーザーディレクトリ、認証フロー、サービスアカウント認証情報
  • Warpgate(ワープゲート)登録:サービスアカウント認証、証明書発行、設定配布
  • 運用データ:メトリクス、ログ、課金情報

Warpgate(ワープゲート)は起動時にサービスアカウント認証情報を使用してコントロールプレーンに認証し、設定(ルート、ポリシー、アップストリームターゲット)を受け取ります。設定の更新はリアルタイムでWarpgate(ワープゲート)にプッシュされます。

アウトバウンド専用モデルのセキュリティ特性

反転イングレスアーキテクチャにより、いくつかの重要なセキュリティ特性が生まれます:

  • ゼロパブリック攻撃面:顧客ワークロードにはオープンポート、パブリックIPアドレス、それを指すDNSレコードがありません。スキャン、探索、フィンガープリントできるものがありません。
  • オリジン非露出:従来のCDNやリバースプロキシアーキテクチャとは異なり、発見されて直接攻撃されうる「オリジンIP」が存在しません。
  • 全経路mTLSWarpgate(ワープゲート)とエッジノード間のすべての接続でTLS 1.3と相互認証を使用。双方が証明書を提示し、相手のアイデンティティを検証します。
  • 事前認証済みトラフィック:ワークロードはエッジですでに認証・認可されたトラフィックのみを受信します。アプリケーションは独自のトークン検証を実装するのではなく、信頼されたアイデンティティコンテキストを利用します。
  • 多層防御:セキュリティポリシーはエッジ(第1層)で適用され、Warpgate(ワープゲート)(第2層)でも再度検証された後にトラフィックがワークロードに到達します。

ユーザーディレクトリ(User Directory)

プロジェクトまたは組織にスコープされたエンドユーザーアカウントのコレクションです。ユーザーディレクトリにより、異なるサービスに対して別々のユーザープールを管理できます。

:SaaSアプリケーションでは、顧客向けユーザー用と内部管理者ユーザー用に別のユーザーディレクトリを持つことができます。

ユーザーアカウント(User Account)

Mezusphere(メズスフェア)を通じてサービスにアクセスするエンドユーザーです。ユーザーアカウントには以下があります:

  • ステータス:active、inactive、suspended
  • ログイン追跡:最終ログインタイムスタンプと認証履歴
  • プロフィール情報:名前、メール、表示名

ルートで認証が有効な場合、Mezusphere(メズスフェア)は完全なログインフロー(サインアップ、ログイン、パスワードリセット)を管理し、リクエストをWarpgate(ワープゲート)に転送する前にエッジでアイデンティティを検証します。