Google Cloud のプロジェクト設計

5slab の実例で見る、環境ごとのプロジェクトの分け方と命名、そして GitHub ブランチ・Neon プロジェクトとの対応 ― prod/stg はアプリ別・dev は開発者別

この記事の要約

Google Cloud の割り方に唯一の正解はありません。5slab は環境フォルダで割り、prod/stg はアプリ別・dev は開発者別プロジェクトという非対称を採ります。

  • フォルダは環境で割り、権限は継承で効かせる
  • プロジェクトが課金・権限の信頼境界になる
  • GitHub・Neon とは共通の鍵で名前をそろえる

組織 5slab.jp の直下を、まず環境(本番 / ステージング / 開発)のフォルダで割ります。その中に、prod/stg は『アプリ × 環境ごとのプロジェクト』を、dev は『開発者ごとの1プロジェクト(中のアプリはリソース名で分ける)』を置きます。下の図で、各ブロックをクリックして役割を確かめてください。

5slab.jp
組織 (Organization)
prod
本番フォルダ
stg
ステージング
dev
開発(フラット)
<org>-website-prod
本番プロジェクト
<org>-otherapp-prod
別アプリの本番
<org>-website-stg
検証プロジェクト
<org>-otherapp-stg
別アプリの検証
<org>-dev-tanaka
開発者1人=1プロジェクト
website
Cloud Run 等のリソース
otherapp
別アプリのリソース

各ブロックや矢印をクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

構成図「5slab の Google Cloud 構成(組織 → フォルダ → プロジェクト)」。ブロック11個、つながり10本。 【ブロック】 - 5slab.jp: 組織 (Organization) - prod: 本番フォルダ - stg: ステージング - dev: 開発(フラット) - <org>-website-prod: 本番プロジェクト - <org>-otherapp-prod: 別アプリの本番 - <org>-website-stg: 検証プロジェクト - <org>-otherapp-stg: 別アプリの検証 - <org>-dev-tanaka: 開発者1人=1プロジェクト - website: Cloud Run 等のリソース - otherapp: 別アプリのリソース 【流れ】 - 本番経路: 5slab.jp → prod → <org>-website-prod - 開発経路: 5slab.jp → dev → <org>-dev-tanaka → website

組織 → 環境フォルダ(prod/stg/dev) → プロジェクト。prod/stg はアプリ×環境で1プロジェクト(website / otherapp それぞれ専用)。dev だけ非対称で、開発者1人=1プロジェクト(<org>-dev-tanaka)にし、同じ website/otherapp を中のリソースとして同居させます。各ブロックをクリックで説明が出ます。

ここから先へ

この解説とつながりのあるページ

Google Cloudの歩き方』の歩き方 2/3 歩目次は「Google Cloud セットアップ