gcloudコマンドで複数のGCPプロジェクトの切り替えとコンフィグの設定管理

test環境やstaging環境、本番環境など、複数のプロジェクトを管理したいときがあります。

GCPではgcloudコマンドで複数のコンフィグを設定し、切り替えられることがわかったので、情報をまとめます。

defaultのコンフィグ設定

下記コマンドでdefaultのGCPプロジェクトを設定できます。

gcloud config set project YOUR_PROJECT_ID

設定されたプロジェクトの情報は次のコマンドで確認できます。

gcloud config list

複数のGCPプロジェクトの管理

複数のGCPプロジェクトのコンフィグを、名前をつけて管理することができます。

# 新しいGCPプロジェクトのコンフィグを作成
gcloud config configurations create test

作成したコンフィグにregionやproject-idの紐付けを行います。

# 作成したコンフィグにregion, zone, project-id, account情報を設定
gcloud config set compute/region asia-northeast1
gcloud config set compute/zone asia-northeast1-a
gcloud config set core/account YOUR_EMAIL
gcloud config set core/project YOUR_PROJECT_ID

作成したコンフィグは gcloud config configurations list というコマンドでチェックできます。

# 作成したコンフィグの情報確認
gcloud config configurations list

# ↓出力結果
NAME     IS_ACTIVE  ACCOUNT     PROJECT        COMPUTE_DEFAULT_ZONE  COMPUTE_DEFAULT_REGION
default  True       YOUR_EMAIL  myproject-xxx  asia-northeast1-a     asia-northeast1
prd      False      YOUR_EMAIL  myproject-yyy  asia-northeast1-a     asia-northeast1
stg      False      YOUR_EMAIL  myproject-zzz  asia-northeast1-a     asia-northeast1
test     False      YOUR_EMAIL  myproject-xyz  asia-northeast1-a     asia-northeast1

コンフィグの切り替え

現在アクティブになっているコンフィグは gcloud config list コマンドまたは gcloud config configurations list のIS_ACTIVEのカラムで確認できます。

gcloudコマンドの向き先は、アクティブになっているコンフィグに向けられるのですが、これは次のように切り替えます。

# コンフィグを切り替えたい場合は下記のように、activateの後にコンフィグ名を指定する。
gcloud config configurations activate hogehoge

# デフォルトのコンフィグに戻す
gcloud config configurations activate default

コンフィグの削除

コンフィグの削除は次のコマンドを実行すればOKです。

# コンフィグの削除
gcloud config configurations delete hogehoge

プロジェクトへのアクセス権限の確認

gcloud auth login でコンソールからログインした後、下記コマンドでアクセス可能なGCPプロジェクトの一覧を取得できます。

# プロジェクトへのアクセス権限の確認
gcloud projects list

まとめ

複数のGCPプロジェクトの切り替え方法、コンフィグの管理方法をまとめました。

コンフィグの設定は少し大変ですが、一度設定してしまえば簡単に切り替えできるので便利です。