🔰
GCP のプロジェクト命名規則を考える
この記事の流れ
- GCP プロジェクトについて
- GCP のリソース階層について
- おすすめの命名規則
- 実際にやってみる
事前準備
この記事は GCP についての記事になります。
まだ、GCP を未開設の方は下記を参考に開設してみて下さい :)
GCP プロジェクトについて
プロジェクトの識別子は以下の3つがあります。
- Project name
- Project ID
- Project number
上記の識別子は以下の制約があります
種類 | 自分で設定 | 後から変更 | 重複 |
---|---|---|---|
Project name | 可能 | 可能 | 可能 |
Project ID | 可能 | 不可 | 不可 |
Project number | 不可 | 不可 | 不可 |
Project ID
は自分の GCP プロジェクト内外問わず、世界中でユニークである必要があります。
また、GCP のリソースを表す際は大抵は Project ID
が、リソースを一意に指定する ID として使用されます。
したがって、 Project ID
を決めた上で GCP プロジェクトを作成する際に Project name
= Project ID
のが望ましいと考えます。
既に削除された Project ID
であれば再度作成が可能ですが、 GCP プロジェクトはシャットダウンを実行した後も30日は保持されるので、その間は重複作成の扱いとなり同じ Project ID
では作成出来ません。
GCP のリソース階層について
WIP
Resource hierarchy | Google Cloud resource hierarchy in complete
Project ID の命名制限
- 6~30 文字
- 小文字、数字、ハイフンのみ
- 先頭は英文字(数字やハイフンは使えない)
- 末尾にハイフンは使えない
- 過去に使用した ID も使用できない
-
google
やssl
という文字列は使えない
おすすめの Project ID の命名規則
個人的におすすめだと思う Project ID
(と Project name
)の命名規則を紹介します :)
{企業識別子}-{サービス識別子}-{環境識別子(3 文字 OR 4 文字)}
- 例1 状態が異なる 3 つの環境が必要な場合
- example.com 社の hogehoge とサービス
-
本番環境
,ステージング環境
,開発環境
はアプリケーションが実際に実行されている GCP プロジェクト
## 本番環境
example-hogehoge-prd
## ステージング環境
example-hogehoge-stg
## 開発環境
example-hogehoge-dev
- 例2 状態が異なる 2 つの環境と、2 つの環境で共通のデータを取り扱う環境が必要な場合
- example.com 社の hogehoge というサービス
-
本番環境
と開発環境
はアプリケーションが実際に実行されている GCP プロジェクト -
共通環境
は本番環境
と開発環境
の両方から参照したいデータを置いていく GCP プロジェクト- 例えば、ログ基盤や(共通で管理しておいて良い)データ、CI/CD 実行環境、モニタリング基盤など。
## 本番環境
example-hogehoge-prd
## 開発環境
example-hogehoge-dev
## 共通環境
example-hogehoge-cmn
実際にやってみる
※ 簡易のため日本語表記でスクリーンショットを取っていますので言語設定によっては表示されている文言が変わります。
- 自分の GCP プロジェクトにアクセスします
- 赤枠の
My First Project
をクリックします
- 表示された画面の右上に
新しいプロジェクト
があるのでクリックします
- 赤枠がついている
編集
をクリックします
-
Project ID
を入力する項目が出現します
-
Project name
とProject ID
に同じ値を入力します- 例として、Yahoo という会社の PayPay というサービスの開発環境(dev)の GCP Project を作ります
- あくまで例です(^^:
- 例として、Yahoo という会社の PayPay というサービスの開発環境(dev)の GCP Project を作ります
-
Project name
とProject ID
が正しく入力し終わったら、作成をクリックします
- GCP Project 作成のページが無くなるので、再び赤枠の
My First Project
をクリックします
- 先程作成した GCP Project が表示されていることを確認出来ました :)
- 名前の欄からその GCP Project をクリックします
- 先程、
My First Project
と表示されていた箇所が自分の作成した GCP Project と同じ(ここの表示はProject name
)になっていることが確認出来ます- また、 URL にも
Project ID
が入っていることが確認出来ます
- また、 URL にも
参考 URL
- さらにベストプラクティスを学びたい人用
まとめ
GCP Project の命名ルールをまとめました。
これがすべてのケースで正しいとは限りませんが、多くの場合で参考に出来る命名ルールだと思っています。
Have fun !! :)
Discussion