マルチテナント(マルチテナント)
1つのシステムを複数顧客で共有するSaaSアーキテクチャ。データ分離にはRow-Level Security・スキーマ分離・DB分離があり、Supabase・PlanetScale・Auth0・Notionなど2026年のSaaS主流。
概要
マルチテナントは、1 つのソフトウェアインスタンスを複数の顧客(テナント)が共有する構成です。SaaS で最も採用される設計で、顧客ごとにデータを分離しつつ、インフラを統合管理します。データ分離手段としては、Row‑Level Security(RLS)やスキーマ分離、DB 分離があり、2026 年の主流 SaaS では Supabase、PlanetScale、Auth0、Notion などが代表例です。
主な特徴・仕組み
- コスト効率:インフラを共有することで、1 つのクラウドリソースで多数の顧客を運用できる。
- スケーラビリティ:テナント数が増えても、同じインスタンスで水平スケールが可能。
- セキュリティ:RLS で行単位のアクセス制御を実装。スキーマ分離や DB 分離により、テナント間のデータ漏洩リスクを低減。
- アップデートの一元化:全テナントが同じコードベースを共有するため、機能追加・バグ修正が即時に反映。
- 運用自動化:IaC(Infrastructure as Code)や CI/CD パイプラインを組み合わせることで、テナントごとの環境構築を自動化。
1. Row‑Level Security(RLS)
RLS は PostgreSQL などで提供される機能で、行単位でアクセス権を制御。テナント ID を行に紐付け、クエリ時に自動でフィルタリングされる。
- 実装例:
WHERE tenant_id = current_setting('app.current_tenant') - メリット:スキーマを分離せずに済むため、スキーマ管理のオーバーヘッドを削減。
2. スキーマ分離
同一データベース内でテナントごとにスキーマを分ける手法。
- 特徴:テーブル構造を共有しつつ、スキーマ名で分離。
- 利点:データベース接続数を抑えつつ、テナントごとの権限管理が容易。
3. DB 分離
テナントごとに別々のデータベースインスタンスを割り当てる。
- 用途:高いセキュリティ要件や、カスタマイズが必要な顧客に適用。
- コスト:インスタンス数が増えるため、コストは上がるが、リスクは低減。
スペック/製品比較表
| 製品名 | データベース | RLS 対応 | スキーマ分離 | DB 分離 | 2026 年時点での主要機能 | 主要料金帯 |
|---|---|---|---|---|---|---|
| Supabase | PostgreSQL | あり | あり | なし | RLS、認証、ストレージ、リアルタイム | $0〜$200/月 |
| PlanetScale | Vitess | あり | あり | あり | グローバルレプリケーション、マイクロサービス | $0〜$500/月 |
| Auth0 | MySQL | あり | なし | なし | シングルサインオン、MFA、API 管理 | $0〜$1,000/月 |
| Notion | PostgreSQL | あり | あり | なし | コラボレーション、データベース統合 | $0〜$15/ユーザー/月 |
| Firebase | Firestore | なし | なし | なし | NoSQL、リアルタイム更新 | $0〜$200/月 |
具体例・対応製品
- Supabase
- PostgreSQL をベースに、Row‑Level Security をデフォルトで有効化。
- 2025 年に導入された「Supabase Auth」では、OAuth 2.0 と OpenID Connect を統合。
- PlanetScale
- Vitess を採用し、水平スケールを実現。2026 年に「PlanetScale Cloud」をリリースし、マルチテナントのデータ分離を標準化。
- Auth0
- テナントごとに異なる認証ドメインを設定可能。2025 年に「Auth0 Tenant Isolation」を発表。
- Notion
- データベースは PostgreSQL で構築され、RLS を利用したページレベルの権限管理。
- Firebase
- NoSQL の Firestore で、セキュリティルールによりドキュメント単位でアクセス制御。
自作PCでの選び方・注意点
- CPU:マルチテナント環境は並列処理が多いため、Intel Core i9‑13900K(24 コア、30 スレッド、5.8GHz ブースト)や AMD Ryzen 9 7950X(16 コア、32 スレッド、4.5GHz ブースト)がおすすめ。
- メモリ:10GB 以上の高速 DDR5(6000MHz)を搭載。
- ストレージ:NVMe SSD(PCIe 4.0 x4、Samsung 990 Pro 2TB)で I/O ボトルネックを回避。
- GPU:サーバー用途では不要だが、開発環境でのデバッグや AI 推論が必要な場合は RTX 4090(24GB GDDR6X)を検討。
- 電源:450W TDP の CPU と GPU を同時に稼働させる場合、750W 80+ Platinum PSU を推奨。
- 冷却:液体冷却(Corsair H150i Pro)で高温を抑制。
- ネットワーク:10GbE NIC(Intel X710)で高速データ転送。
- RAID:RAID 10 を構成し、データ冗長性とパフォーマンスを両立。
- OS:Ubuntu Server 24.04 LTS(2026 年にリリース予定)で長期サポートを確保。
- バックアップ:定期的に外部ストレージへスナップショットを保存。
関連用語との違い
| 用語 | 定義 | 主な違い |
|---|---|---|
| シングルテナント | 各顧客が独立したインスタンスを持つ | テナントごとのリソースを完全に分離 |
| コンテナ化 | Docker などでアプリを分離 | マルチテナントは同一インスタンス内で分離 |
| マイクロサービス | アプリを小さなサービスに分割 | マルチテナントはサービス単位でテナントを管理 |
| データベース分離 | テナントごとに別 DB | スキーマ分離や RLS と併用可能 |
よくある質問(FAQ)
Q1. マルチテナント環境でのデータ漏洩リスクはどう管理するの?
A1. RLS を活用し、行単位でアクセス権を制御。スキーマ分離や DB 分離を併用すれば、テナント間の物理的隔離も実現できる。
Q2. 2025 年にリリースされた Supabase の新機能は何?
A2. Supabase Auth の統合で、OAuth 2.0 と OpenID Connect を一括で管理できるようになった。これにより、認証フローが簡素化された。
Q3. 2026 年に PlanetScale が導入した「PlanetScale Cloud」の特徴は?
A3. グローバルレプリケーションとマイクロサービス向けのデータ分離機能が標準化。マルチテナント環境でのスケーラビリティが大幅に向上した。
まとめ
マルチテナントは、SaaS で最もコスト効率とスケーラビリティを両立できる設計。Row‑Level Security、スキーマ分離、DB 分離といったデータ分離手段を組み合わせることで、テナントごとのセキュリティと運用効率を高める。2026 年の最新 SaaS では Supabase、PlanetScale、Auth0、Notion が代表的で、各社が独自に分離機能を強化している。自作PC でマルチテナント環境を構築する際は、CPU、メモリ、ストレージ、ネットワークを高性能に設定し、バックアップと監視を徹底することが鍵。これらを押さえれば、次世代のクラウドサービスに対応した堅牢なプラットフォームを自ら構築できる。