対象: Supabaseのプロジェクトが増えてきて、「どの組織に何があるのか分からない」「部署や顧客ごとにどう分ける?」と感じている方(エンジニアでなくてもOK)
所要時間: 30分前後 / 使うもの: Supabaseのアカウント、ブラウザ、(棚卸しだけ)ターミナルとSupabase CLI
確認日: 2026-10-27(料金や仕様は変わります)
続きの記事(棚卸しボードをWebアプリにしてみた): https://qiita.com/tomozilla/items/4e738bc9b427a693464a
ビジネス編(やさしい解説・note): https://note.com/tomozilla/n/ndf58ed779682
プロジェクトを作るたびに、「あれ、これはどの組織に入れるんだっけ?」となったことはありませんか。私はあります。試しに作ったものが、いつの間にか3つ、4つ。どれが動いていて、どれが止まっていて、請求はどこに行くのか。
この記事では、組織(Organization)とプロジェクト(Project)の違いを実際の画面で確かめて、組織の間でプロジェクトを実際に移動してみて、最後に放置プロジェクトの棚卸しをします。私は同じようにつくっている一人で、公式の人間ではありません。分からないことは分からないと書きます。
0. 先に伝えておきたいこと
- 私が実際にやったのは、無料の組織を1つ作る → 停止中の無料プロジェクトをそこへ移す → 元に戻す → 作った組織を削除、までです。稼働中のプロジェクトの移動、有料→無料の移動、移動後の権限の変化は試していません。 ドキュメントで読んだこととして、そう書き分けます。
- 費用:この記事の手順は$0でした(無料組織だけを使いました)。有料の数字は、2026-10-27 に料金ページ・ドキュメントで読んだ値です。
- 削除の操作があります。必ず自分の練習用の組織で試してください。
- 画面に出てくる他人のプロジェクト名やメールは載せていません。サンプルのデータは架空です。
1. 組織とプロジェクト:何がどっちのもの?
ひとことで言うと、**組織は「会社」、プロジェクトは「事業所」**です。
公式のFAQ(Billing FAQ)にこう書かれています。
- 組織は複数のプロジェクトを持てる。プロジェクトは、Storage・Auth・Functions・Realtimeを含む、専用のSupabaseインスタンス。
- プラン(Free / Pro / Team / Enterprise)は、組織ごとに1つ。
- Compute、PITR、カスタムドメインなどのアドオンは、プロジェクトごとに設定され、組織の請求にまとまる。
私の整理です。
| 組織(会社) | プロジェクト(事業所) | |
|---|---|---|
| プラン・請求 | ここ | (組織のものを使う) |
| メンバーと役割 | ここ | 組織のものが及ぶ |
| SSO・監査ログの設定 | ここ | |
| データベース・Auth・Storage・Functions | ここ | |
| Computeのサイズ・バックアップ・PITR | ここ | |
| APIキー・URL | ここ |
**「有料のProプランにしたら、その組織の全プロジェクトに効く」**ことも、FAQに書かれていました。逆に、1つの組織の中で、有料と無料のプロジェクトを混ぜることはできません。
2. 画面で確かめる
組織のトップには、プロジェクトのカードが並びます。
私の無料組織には2つ。1つは動いていて、もう1つ(tenant-globex)は**「Project is paused」(一時停止中)**です。料金ページに「無料プロジェクトは1週間アクセスがないと停止」とあるので、放置していたせいで自動停止したのだと思います(停止の理由そのものは、画面では確認していません)。
組織の設定には、こんなメニューがあります。
SSOや監査ログのような**「会社として守る」ための設定は、組織の側**にあります。プロジェクトの設定にはありません。
3. 分け方は、だいたい3つ
- 部署ごと:営業・人事・開発が、それぞれ自分のプロジェクトを持つ。請求は会社で1本にまとめやすい。
- 顧客ごと:お客さんごとに専用のプロジェクト。他の顧客のデータと混ざらない。数が増えると管理が大変。
- 本番とテスト:同じ組織の中で、本番用とテスト用を分ける。
「どれが正解」ではなく、「何を混ぜたくないか」で決めると、私は迷いませんでした。
ここで1つ注意です。FAQには、「無料プロジェクトの上限(2つ)は、組織のOwner・Adminの全員分で数える」とありました。つまり、同じ組織に入れた他のOwner/Adminが、すでに自分の無料枠を使い切っていると、自分は新しい無料プロジェクトを作れません。必要なら、別の無料の組織を作るか、そのメンバーの役割を変える、と書かれています。(私は、メンバーが自分1人なので、この現象は再現していません。)
4. 実際にやってみた:プロジェクトを別の組織へ移す
「散らばったプロジェクトを、1つの組織にまとめたい」ときの操作です。練習として、新しい無料組織を作って、停止中のプロジェクトを移して、戻しました。
4-1. 練習用の組織をつくる
https://supabase.com/dashboard/new で、名前を入れます。プランが「Free - $0/month」になっているかを、必ず見てください。
4-2. プロジェクトを移す
移したいプロジェクトの Project Settings → General の下の方に Transfer project があります。
ダイアログには、次の注意が出ます。
- Possible downtime:有料の組織から無料の組織に移すとき、短い停止があるかもしれない。
- Permissions:移動先での自分の役割によって、権限が変わるかもしれない。
- Features:小さいプランの組織に移すと、一部の機能(例:画像変換)が使えなくなるかもしれない。
移動先に練習用の組織を選んで、実行しました。数秒で終わり、プロジェクトの参照ID(URLに入っているID)は変わりませんでした。
4-3. 元に戻して、練習用の組織を消す
同じ手順で、元の組織に戻しました。そのあと練習用の組織を削除しました(Organization Settings → General → Delete organization。確認のために、組織のスラッグ(ID)を打ち込む画面が出ます。空の組織であること、間違った組織でないことを、名前で確認してから消しました)。
4-4. ドキュメントに書かれている前提(私は試していません)
- 移動元の組織のOwnerであること、移動先のメンバーであること。
- GitHub連携、プロジェクト限定ロール(Team/Enterprise)、ログドレインが設定されていないこと。
- 費用:移動するまでの分は移動元の組織、移動後の分は移動先に請求される。
- 無料の組織へ移すときは、移動先が2つの上限を超えないか確認される。先に移動先をProにするのがよい、と書かれていました。
5. 放置プロジェクトの棚卸し
画面を1つずつ開かなくても、Supabase CLIで一覧が取れます(読み取りだけです)。
supabase projects list --output json
出てくるのは、プロジェクトの ref、name、organization_id、region、created_at、status などです。私の環境では、**停止中のプロジェクトは "status": "INACTIVE"**になっていました。
ここで気づいた限界があります。
- プランが出ません。 組織が無料か有料かは、画面で確かめる必要があります。
- 「最後に使われた日」も出ません。 出るのは作成日だけです。「停止中で、作ってから90日以上たっている」ものは、棚卸しの候補にはなりますが、使われていない証拠ではありません。
消す前に、必ず持ち主に確認してください。無料プロジェクトは自動停止で、お金はかかっていません(ドキュメント:停止中のプロジェクトは課金されない)。慌てて消す理由は、あまりありません。
6. 費用のまとめ
- この記事の手順:$0(無料組織だけ)。
- 有料組織の月額の目安(料金ページ・ドキュメント、2026-10-27):プラン代 + Compute(動いているプロジェクト数 × 約$10)− プランに含まれる$10。例:Proで3プロジェクトなら $25 + $30 − $10 = $45/月(ドキュメントの例と同じ)。
- 停止中のプロジェクトにはComputeの費用はかからない(ドキュメント)。
7. 実際の運用にするなら(未検証のアイデア)
- 年に数回、棚卸しの日を決める。
- プロジェクトの名前に、部署や顧客が分かる接頭辞をつける(例:
sales-,cust-acme-)。 - 担当者が辞める前に、Ownerをもう1人つくる。
まとめ
- 組織=会社(プラン・請求・メンバー)、プロジェクト=事業所(データ・Compute・キー)。
- 分け方は、何を混ぜたくないかで決める。
- プロジェクトの移動は、短い操作で、参照IDは変わらなかった。ただし、前提と注意をドキュメントで確認してから。
- 棚卸しは
supabase projects list。プランと最終アクセス日は出ないので、断定しない。
次は、この棚卸しを**「ボード」というWebアプリ**にしてみました。






