ドキュメント
Mezusphereのドキュメントへようこそ。このページでは、Mezusphereの仕組み、サービスのデプロイ方法、Consoleを使ったインフラの管理方法について解説します。
Mezusphereは、トラフィックイングレス、認証、認可、ルーティングを単一のソフトウェアレイヤーに統合するプラットフォームです。従来のようにプロキシやゲートウェイを重ねてインバウンドトラフィックを構成するのではなく、お客様のワークロードがWarpgateという軽量サイドカーを通じてMezusphereへ外向きに接続します。エンドユーザーのトラフィックはMezusphereのグローバルエッジから入り、TLS、認証、キャッシュ、DDoS対策、ルーティングが処理された上でWarpgateに転送されます。
その結果、安全でグローバルに到達可能なインターネットサービスのデプロイが、クラウドプロバイダー、言語、デプロイ基盤を問わず、同じシンプルなパターンで実現できます。
はじめに
4つのステップで、グローバルに到達可能で認証済みのサービスを構築できます。
ステップ1:ワークロードを好きな場所にデプロイ
Mezusphereはクラウドに依存しません。任意のクラウドプロバイダー、コンテナ、仮想マシン、またはローカル開発マシンでアプリケーションを実行できます。特定のランタイムやデプロイ先は不要です。
ステップ2:Warpgateサイドカーを追加
ワークロードの横にWarpgateをデプロイします。Warpgateは外向きにMezusphereへ接続するため、インフラにインバウンドポートを開ける必要はありません。
docker run mezusphere/warpgateステップ3:Consoleでルートを設定
Consoleを開いてプロジェクトをセットアップします。エンドポイントの定義、URLパスのルーティングルール設定、認証要件の構成、ユーザーアクセスの管理を行います。Consoleを使えば、トラフィックがワークロードに到達する方法を完全に制御できます。
ステップ4:公開
設定が完了したら、エンドユーザーはMezusphereのグローバルエッジを経由して接続します。トラフィックは自動的に認証、認可、ルーティングされ、Warpgateに届きます。アプリケーションコードを変更することなく、サービスがグローバルに到達可能かつ安全な状態になります。
コアコンセプト
組織(Organization)
Mezusphereの最上位エンティティです。組織はプロジェクト、課金、チームアクセスをまとめます。Mezusphereのすべてのリソースは組織に属します。
プロジェクト(Project)
組織の下にある、環境、ルート、Warpgate、サービスアカウントの論理的なグループです。Mezusphereを通じて公開するサービスやアプリケーションを表します。
環境(Environment)
プロジェクト内の名前付きデプロイターゲットです。開発(Development)、ステージング(Staging)、本番(Production)などがあります。各環境には固有のエンドポイントURLがあり、個別に有効・無効を切り替えられます。
ルート(Route)
プロジェクト内のURLパスルーティングルールです。受信リクエストをワークロードにどう振り分けるかを定義します。Mezusphereは3つのマッチングモードに対応しています。
- プレフィックス:指定した値で始まるパスにマッチ
- 完全一致:パスが完全に一致する場合にマッチ
- 正規表現:正規表現によるマッチ
ルートごとに認証の要否や必要な権限を設定できます。CORSの設定もルート単位で可能です。
Warpgate
ワークロードと一緒にデプロイされる軽量サイドカーです。サービスアカウントの認証情報を使ってコントロールプレーンに自動登録します。ステータス(接続中、切断、不明)とIPアドレスを報告します。WarpgateはConsoleから手動で作成するものではなく、デプロイ時に自動的に登録されます。
サービスアカウント(Service Account)
Warpgateの登録やAPIアクセスに使用されるマシン認証情報です。各サービスアカウントにはAPIキー(サーバー側で生成される50文字のbase62文字列)と設定可能な権限があります。サービスアカウントはプロジェクトに紐づきます。
ユーザーディレクトリ(User Directory)
プロジェクトまたは組織にスコープされたエンドユーザーアカウントの集合です。サービスごと、または組織全体で異なるユーザープールを管理できます。
ユーザーアカウント(User Account)
Mezusphereを通じてサービスにアクセスするエンドユーザーです。ステータス(有効、無効、停止)、ログイン追跡、名前・メールアドレス・表示名などのプロフィール情報を持ちます。
Warpgate
Warpgateは、ワークロードをMezusphereに接続する軽量サイドカーエージェントです。反転イングレスモデルを採用しており、インバウンドポートを開けてファイアウォールを設定する代わりに、Warpgateが外向きにMezusphereのグローバルエッジへ接続します。
デプロイ方法
Warpgateは複数の方法でデプロイできます。
- Docker:アプリケーションと並行してコンテナとして実行
- バイナリ:スタンドアロンバイナリをダウンロードして実行
- Kubernetes:Pod内のサイドカーコンテナとしてデプロイ
接続の仕組み
WarpgateはMezusphereのグローバルエッジへアウトバウンド接続を開始します。そのため、インフラにインバウンドポート、ファイアウォールルール、VPN設定は一切不要です。WarpgateはサービスアカウントのAPIキーで認証し、トラフィック受信のための永続的な接続を維持します。
クラウド非依存
Warpgateは、ワークロードの実行場所に関係なく同じように動作します。AWS、GCP、Azure、オンプレミスのデータセンター、ローカル開発マシンのいずれでも利用可能です。
Console
ConsoleはMezusphereのウェブ管理UIです。デプロイのあらゆる側面を設定・監視するための統合インターフェースを提供します。
主な操作
- プロジェクトの作成:組織の下に新しいサービスをセットアップ
- ルートの設定:認証要件付きのURLパスルーティングルールを定義
- 認証の有効化:エンドユーザーログインの要求と権限ベースのアクセス制御の設定
- ユーザー管理:ユーザーディレクトリとユーザーアカウントの作成・管理
- 環境の管理:エンドポイントURLを持つデプロイターゲットの設定
- サービスアカウントの管理:Warpgate登録用の認証情報を作成
- メトリクスの確認:トラフィック、認証結果、システム状態の監視
ユースケース
Mezusphereを使ってマルチベンダーのインフラスタックを置き換える実際のデプロイシナリオをご覧ください:
- フィンテックAPI:3人のスタートアップが30分以内に認証、DDoS対策、TLS付きのパートナーAPIアクセスを確保
- マルチリージョンSaaS:15人のチームがAWSとGCPにまたがるルーティング、認証、TLSを1つのConsoleで統一
詳しいウォークスルーはユースケースをご覧ください。
セキュリティ
Mezusphereはセキュリティを設定ではなくアーキテクチャとして扱います。アウトバウンドのみの接続モデルが構造的なセキュリティ保証を生み出します:
- すべてにTLS 1.3:Warpgateとエッジノード間の相互TLS(mTLS)を含む、すべてのトラフィックを暗号化
- 公開攻撃面ゼロ:オープンポートなし、パブリックIPなし、発見可能なオリジンなし
- エッジでの認証適用:トラフィックがWarpgateに到達する前に認証を適用
- 多層防御:セキュリティポリシーをエッジで適用し、Warpgateで再検証
トランスポートセキュリティ、認証モデル、データ保護の詳細はセキュリティドキュメントをご覧ください。