gcloudでプロジェクトを切り替える
はじめに
GCP(Google Cloud Platform) で様々なGCPのプロジェクトの開発に携わっていると、gcloud コマンドで使用するプロジェクトのフォーカスを切り替える必要が出てくる。今回は GCP における、gcloud コマンドで使用するGCPのプロジェクトを configuration を使って切り替える方法を備忘録として記載する。
gcloud config コマンドグループについて
gcloud config コマンドグループでは、Google Cloud CLI で使用されるアカウント情報などのプロパティの設定、表示、設定の解除を行うことが出来ます。また、gcloud configurations create
コマンドを使用することでgcloud上で切り替えたいGCPのプロジェクトを登録することができる。
gcloud configurations create
を使用して切り替えをするGCPのプロジェクトを登録する前に、gcloudで紐づいているプロジェクトとアカウント一覧を確認します。確認する場合はgcloud config configurations list
を実行することで確認することが出来ます。
$ gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default True your-email-address@gmail.com [your-project-ID]
gcloudを端末にインストールをした際に、gcloud init
を実行しこたことにより、既にデフォルト設定が登録されていることが確認できます。
gcloudに新しくプロジェクトを紐付ける
gcloud config configurations create [setting-name1]
を実行することで、今回gcloudに新しく紐付けをしたいプロジェクトやアカウントに関する構成を作成します。
$ gcloud config configurations create [setting-name1]
Created [setting-name1].
Activated [setting-name1].
新しく紐付けをしたいプロジェクト・アカウントの設定が記載された構成の設定名「setting-name1」で作成出来たみたいなので、もう一度gcloud config configurations list
で確認します。
$ gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default False your-email-address@gmail.com [your-project-ID]
setting-name1 True
新しく作ったプロジェクト・アカウントに関する構成の設定が反映されていて「IS_ACTIVE」がTrue、つまり有効になっていることが確認できます。ただ、アカウント情報やプロジェクトの設定内容に記載がないのでアカウント・プロジェクトに関する設定を追加していきます。
まずは、アカウント・プロジェクトに関する設定内容を追加します。コマンドgcloud config set account
でアカウント情報を登録することが出来ます。
$ gcloud config set account your-email-address@gmail.com
Updated property [core/account].
コマンドgcloud config set project
でプロジェクト情報を登録します。
$ gcloud config set project [new-project-ID]
Updated property [core/project].
コマンドgcloud config set compute/zone
でzoneの設定をします。
$ gcloud config set compute/zone [zone-name]
Updated property [compute/zone].
最後に、コマンドgcloud config set compute/region
でリージョンの設定をします。
$ gcloud config set compute/region [region-name]
Updated property [compute/region].
gcloudに新しくプロジェクトが紐づいているか確認
gcloudに紐付けしたいアカウント・プロジェクトの大体の設定が登録できたので正しく登録出来たか確認します。
$ gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default False your-email-address@gmail.com your-project-ID
setting-name1 True your-email-address@gmail.com new-project-ID zone-name region-name
最後に、紐付けしたアカウントとプロジェクトに認証を通すためにgcloud auth login
を実行して認証を行います。これで、gcloud上で新しく紐付けしたアカウント・プロジェクトで作業することが出来ます。
プロジェクトとアカウントを切り替えしたい場合はgcloud config configurations activate [setting-name]
で切り替えることが出来ます。
今は「setting-name1」に定義したアカウントとプロジェクトとgcloud上で有効になっているので[default]の設定内容に切り替えしてみます。
$ gcloud config configurations activate default
実際に切り替わったかgcloud config configurations list
で確認します。
$ gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default True your-email-address@gmail.com your-project-ID
setting-name1 False your-email-address@gmail.com new-project-ID zone-name region-name
「default」が有効になっていることが確認できました。これで、gcloud上でアカウントとプロジェクト切り替えが簡単に行うことが出来ます。
Discussion