こんにちは、Aireです。
今回はGoogle CloudのCLIツールである「Google Cloud CLI(gcloud CLI)」をインストールする方法を簡単に紹介します。最新の情報や詳細は、以下の公式サイトを参照してください。
Google Cloud CLIのインストール手順
Windowsの場合
- インストーラをダウンロードします。実行例をいくつか記載します。(ファイルの格納先は適宜変更してください)
<実行例1>
1 |
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", ".\GoogleCloudSDKInstaller.exe") |
<実行例2>
1 |
Invoke-WebRequest -Uri https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe -OutFile .\GoogleCloudSDKInstaller.exe |
- インストーラを実行します。実行例をいくつか記載します。
<実行例1(直接exeファイルを指定)>
1 |
.\GoogleCloudSDKInstaller.exe |
<実行例2(先頭に「&」を記載し、exeファイルを「’」で囲む)>
1 |
& '.\GoogleCloudSDKInstaller.exe' |
<実行例3(Start-Processコマンドでexeファイルを指定)>
1 2 3 |
# 「/S」はサイレントモード(インストール中のUIが表示されず、ユーザ操作が不要) # 「-Wait」はプロセスが終了するまで待機 Start-Process .\GoogleCloudSDKInstaller.exe -ArgumentList "/S" -Wait |
- 「gcloud version」コマンドを実行して、インストールが正常に完了したか確認します。
1 2 3 4 5 6 |
C:\> gcloud version Google Cloud SDK 419.0.0 bq 2.0.85 core 2023.02.17 gcloud-crc32c 1.0.0 gsutil 5.20 |
Linux(RHEL / CentOS)の場合
RHEL 8/9などのdnfを使用するディストリビューションでは、Google Cloud CLI用のパッケージが提供されています。
- Google Cloud CLI用のリポジトリ情報でDNFを更新します。「google-cloud-sdk.repo」ファイルを作成し、以下のように記載します。
1 2 3 4 5 6 7 8 |
$ sudo vi /etc/yum.repos.d/google-cloud-sdk.repo [google-cloud-cli] name=Google Cloud CLI baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el8-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg |
- 「dnf」コマンドを実行し、「google-cloud-cli」パッケージをインストールします。
1 |
$ sudo dnf install google-cloud-cli |
- 「gcloud version」コマンドを実行して、インストールが正常に完了したか確認します。
1 2 3 4 5 6 7 8 9 |
$ gcloud version Google Cloud SDK 420.0.0 alpha 2023.02.24 beta 2023.02.24 bq 2.0.86 bundled-python3-unix 3.9.16 core 2023.02.24 gcloud-crc32c 1.0.0 gsutil 5.20 |
macOSの場合
- 以下の公式ドキュメントにmacOS用のGoogle Cloud CLIのパッケージ(.tar.gz形式)のURLが掲載されているので、URLをクリックしてダウンロードします。
または以下のようにURLを指定して、CLIコマンドでパッケージをダウンロードします。(最新のバージョン情報は、上記公式ドキュメントから確認してください)
1 |
$ curl "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-419.0.0-darwin-arm.tar.gz?hl=ja" -o "./google-cloud-cli-VERSION-darwin-arm.tar.gz" |
- ダウンロードしたパッケージをダブルクリック、または以下のように「tar」コマンドで解凍します。
1 |
$ tar -xvzf google-cloud-cli-VERSION-darwin-arm.tar.gz |
- インストール用のシェルスクリプトを実行します。
1 |
$ ./google-cloud-sdk/install.sh |
- 品質向上のため、クラッシュ発生時の匿名化データを収集して良いか聞かれます。許可しない場合はそのまま「Enter」キーを入力するか、「N」キーを入力して「Enter」キーを入力します。
1 2 3 4 5 6 7 8 9 10 11 |
To help improve the quality of this product, we collect anonymized usage data and anonymized stacktraces when crashes are encountered; additional information is available at <https://cloud.google.com/sdk/usage-statistics>. This data is handled in accordance with our privacy policy <https://cloud.google.com/terms/cloud-privacy-notice>. You may choose to opt in this collection now (by choosing 'Y' at the below prompt), or at any time in the future by running the following command: gcloud config set disable_usage_reporting false Do you want to help improve the Google Cloud CLI (y/N)? N |
- $PATHを更新してシェルコマンドの補完を有効化するため、プロファイルを変更する場合はそのまま「Enter」キーを入力するか、「Y」キーを入力して「Enter」キーを入力します。
1 2 3 |
Modify profile to update your $PATH and enable shell command completion? Do you want to continue (Y/n)? Y |
- (5で「Y」を選択した場合)シェル初期化用のrcファイルへのパスを入力するか、既定のパスを使用するために空白のまま「Enter」キーを入力します。
1 2 3 4 5 6 7 8 9 10 11 |
The Google Cloud SDK installer will now prompt you to update an rc file to bring the Google Cloud CLIs into your environment. Enter a path to an rc file to update, or leave blank to use [/Users/<ユーザー名>/.zshrc]: [/Users/<ユーザー名>/.zshrc] has been updated. ==> Start a new shell for the changes to take effect. For more information on how to get started, please visit: https://cloud.google.com/sdk/docs/quickstarts $ |
シェル初期化ファイルが以下のように更新されます。
1 2 3 4 5 6 7 |
$ cat /Users/<ユーザー名>/.zshrc # The next line updates PATH for the Google Cloud SDK. if [ -f '/Users/<ユーザー名>/Downloads/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/<ユーザー名>/Downloads/google-cloud-sdk/path.zsh.inc'; fi # The next line enables shell command completion for gcloud. if [ -f '/Users/<ユーザー名>/Downloads/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/<ユーザー名>/Downloads/google-cloud-sdk/completion.zsh.inc'; fi |
- 「gcloud version」コマンドを実行して、インストールが正常に完了したか確認します。
1 2 3 4 5 6 |
$ gcloud version Google Cloud SDK 419.0.0 bq 2.0.85 core 2023.02.17 gcloud-crc32c 1.0.0 gsutil 5.20 |
Google Cloud CLIによるセットアップ手順(gcloud init)
Google Cloud CLIのインストールが完了したら、「gcloud init」コマンドでセットアップを行います。
ウェブブラウザを使用したログインおよびセットアップ手順
Google Cloud CLIをインストールした環境でウェブブラウザが使用できる場合は本手順を実行します。
- ターミナルで「gcloud init」コマンドを実行します。
1 |
$ gcloud init |
- Googleのログインページに進む場合は、そのまま「Enter」キーを入力するか、「Y」キーを入力後に「Enter」キーを入力します。
1 2 3 4 5 |
You must log in to continue. Would you like to log in (Y/n)? Y Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?response_type=... |
- Googleのログインページが表示されたら、Googleアカウント情報を入力しログインします。
- ターミナル上で使用するプロジェクトを聞かれるので、既存プロジェクトを選択(またはIDを入力)するか新規プロジェクトを作成します。
1 2 3 4 5 6 7 8 9 |
You are logged in as: [user@example.com]. Pick cloud project to use: [1] [既存プロジェクト名] [2] Enter a project ID [3] Create a new project Please enter numeric choice or text value (must exactly match list item): 1 Your current project has been set to: [既存プロジェクト名]. |
- Compute Engineのデフォルトのリージョンおよびゾーンを指定する場合は、そのまま「Enter」キーを入力するか、「Y」キーを入力後に「Enter」キーを入力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Do you want to configure a default Compute Region and Zone? (Y/n)? Y Which Google Compute Engine zone would you like to use as project default? If you do not specify a zone via a command line flag while working with Compute Engine resources, the default is assumed. [1] us-east1-b [2] us-east1-c [2] us-east1-d ... [32] asia-northeast1-b [33] asia-northeast1-c [34] asia-northeast1-a ... Did not print [57] options. Too many options [107]. Enter "list" at prompt to print choices fully. Please enter numeric choice or text value (must exactly match list item): 32 ... Your Google Cloud SDK is configured and ready to use! ... |
ここまでで初期セットアップは完了です。(セットアップが完了するとホームディレクトリに「.boto」ファイルが作成されます)
別の端末のウェブブラウザを使用したログインおよびセットアップ手順
Google Cloud CLIをインストールした環境でウェブブラウザが使用できない場合は本手順を実行します。本手順では認証用コードを生成し、その認証用コードを別の端末のウェブブラウズ上に入力することで、別の端末を通してログインを行います。
- ターミナルで「gcloud init」コマンドを実行します。その際、オプションとして「–console-only」を使用します。
1 |
$ gcloud init --console-only |
- Googleのログインページに進む場合は、そのまま「Enter」キーを入力するか、「Y」キーを入力後に「Enter」キーを入力します。
1 2 3 4 5 |
You must log in to continue. Would you like to log in (Y/n)? Y Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?response_type=... |
- 認証用ページのURLが表示されたら、URLをコピーして別の端末のウェブブラウザに貼り付けます。
- Googleのログインページが表示されたら、Googleアカウント情報を入力しログインします。
- ターミナル上で使用するプロジェクトを聞かれるので、既存プロジェクトを選択(またはIDを入力)するか新規プロジェクトを作成します。
1 2 3 4 5 6 7 8 9 |
You are logged in as: [user@example.com]. Pick cloud project to use: [1] [既存プロジェクト名] [2] Enter a project ID [3] Create a new project Please enter numeric choice or text value (must exactly match list item): 1 Your current project has been set to: [既存プロジェクト名]. |
- Compute Engineのデフォルトのリージョンおよびゾーンを指定する場合は、そのまま「Enter」キーを入力するか、「Y」キーを入力後に「Enter」キーを入力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Do you want to configure a default Compute Region and Zone? (Y/n)? Y Which Google Compute Engine zone would you like to use as project default? If you do not specify a zone via a command line flag while working with Compute Engine resources, the default is assumed. [1] us-east1-b [2] us-east1-c [2] us-east1-d ... [32] asia-northeast1-b [33] asia-northeast1-c [34] asia-northeast1-a ... Did not print [57] options. Too many options [107]. Enter "list" at prompt to print choices fully. Please enter numeric choice or text value (must exactly match list item): 32 ... ... Your Google Cloud SDK is configured and ready to use! |
ここまでで初期セットアップは完了です。
Google Cloud CLIのアンインストール手順
Windowsの場合
- アンインストール用の実行ファイル「uninstaller.exe」を探します。デフォルトのパス設定でインストールした場合、「C:\Program Files (x86)\Google\Cloud SDK」配下に格納されています。
- 「uninstaller.exe」をダブルクリック等で実行後、画面の指示に従い、アンインストールを進めます。(アンインストールが完了するまで数分かかります)
- 「C:\Users\<ユーザー名>\.boto」ファイルを開きます。
- [GoogleCompute]セクションおよび[GSUtil]セクションを削除します。
- [OAuth2]セクションおよび[Credentials]セクションに不要な設定があれば削除します。
- [コントロールパネル]を開き、[プログラム]-[プログラムと機能]に移動すると、プログラムの一覧に[Google Cloud SDK]が残っている場合があります。気になる場合はプログラムの一覧から[Google Cloud SDK]を削除します。
Linux(RHEL / CentOS)の場合
- 「dnf」コマンドを実行し、インストールした「google-cloud-cli」パッケージを削除します。
1 |
$ sudo dnf remove google-cloud-cli |
- 「rpm -e」コマンドを実行し、Google Cloudパッケージ用のリポジトリキー(公開鍵)をアンインストールします。
<実行コマンド>
1 |
$ sudo rpm -e --allmatches gpg-pubkey-<公開鍵> |
<実行例>
1 |
$ sudo rpm -e --allmatches gpg-pubkey-3e1ba8d5-558ab6a8 |
「rpm -qa gpg-pubkey」コマンドで、Google Cloudパッケージ用のリポジトリキー(公開鍵)がアンインストールされたか確認できます。
1 |
$ rpm -qa gpg-pubkey /* --qf "%{version}-%{release} %{summary}\n" | grep "Google Cloud" |
- ホームディレクトリにある「.boto」ファイルを開きます。
- [GoogleCompute]セクションおよび[GSUtil]セクションを削除します。
- [OAuth2]セクションおよび[Credentials]セクションに不要な設定があれば削除します。
macOSの場合
- 「gcloud info」コマンドを実行し、Google Cloud CLIのインストールディレクトリを確認します。
1 2 |
$ gcloud info --format='value(installation.sdk_root)' /Users/<ユーザー名>/Downloads/google-cloud-sdk |
- 「gcloud info」コマンドを実行し、ユーザーの構成ディレクトリを確認します。
1 2 |
$ gcloud info --format='value(config.paths.global_config_dir)' /Users/<ユーザー名>/.config/gcloud |
- 「rm」コマンドを実行し、1と2で確認したディレクトリを削除します。
- インストール時にシェル初期化用のrcファイル(e.g., .bashrc、.zshrc)を更新した場合は、その更新内容を削除します。具体的には以下のように、「path.zsh.inc」や「completion.zsh.inc」を読み込むための行が追加されていれば削除します。
1 2 3 4 5 6 7 |
$ cat /Users/<ユーザー名>/.zshrc # The next line updates PATH for the Google Cloud SDK. if [ -f '/Users/<ユーザー名>/Downloads/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/<ユーザー名>/Downloads/google-cloud-sdk/path.zsh.inc'; fi # The next line enables shell command completion for gcloud. if [ -f '/Users/<ユーザー名>/Downloads/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/<ユーザー名>/Downloads/google-cloud-sdk/completion.zsh.inc'; fi |
- ホームディレクトリにある「.boto」ファイルを開きます。
- [GoogleCompute]セクションおよび[GSUtil]セクションを削除します。
- [OAuth2]セクションおよび[Credentials]セクションに不要な設定があれば削除します。
以上、ここまで。