gcloudコマンドをUbuntuにインストール

Google Cloudのgcloud, gsutilなどのコマンドをインストールしてみます。

Compute Engineですと、初めからインストールされていて、認証も通っているようです。今回はGoogle Cloudと関係ないAWS EC2インスタンスにインストールしてみました。

参考 Using the Google Cloud SDK installer  |  Cloud SDK Documentation

OSはUbuntu Server 20.04 LTSです。

$ curl https://sdk.cloud.google.com | bash

これを実行すると、インストール先を聞かれます。コマンドラインでの対話型です。

インストールが完了すると ~/.bashrc に以下の記述が追記されます。

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/home/ubuntu/google-cloud-sdk/path.bash.inc' ]; then . '/home/ubuntu/google-cloud-sdk/path.bash.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/home/ubuntu/google-cloud-sdk/completion.bash.inc' ]; then . '/home/ubuntu/google-cloud-sdk/completion.bash.inc'; fi

このPATH設定を読み込みます。

$ . .bashrc

~/google-cloud-sdk にインストールされていることがわかります。

$ which gcloud
/home/ubuntu/google-cloud-sdk/bin/gcloud

$ gcloud --version
Google Cloud SDK 331.0.0
bq 2.0.65
core 2021.03.05
gsutil 4.59

$ ll google-cloud-sdk/bin
total 205188
drwxrwxr-x 3 ubuntu ubuntu      4096 Mar 15 14:53 ./
drwxrwxr-x 9 ubuntu ubuntu      4096 Mar 15 14:53 ../
-rwxr-xr-x 1 ubuntu ubuntu 144642600 Jan  1  1980 anthoscli*
drwxrwxr-x 3 ubuntu ubuntu      4096 Mar 15 14:53 bootstrapping/
-rwxr-xr-x 1 ubuntu ubuntu      4973 Jan  1  1980 bq*
-rwxr-xr-x 1 ubuntu ubuntu      3061 Jan  1  1980 dev_appserver.py*
-rwxr-xr-x 1 ubuntu ubuntu      4993 Jan  1  1980 docker-credential-gcloud*
-rwxr-xr-x 1 ubuntu ubuntu       945 Jan  1  1980 endpointscfg.py*
-rwxr-xr-x 1 ubuntu ubuntu      4965 Jan  1  1980 gcloud*
-rwxr-xr-x 1 ubuntu ubuntu      5449 Jan  1  1980 git-credential-gcloud.sh*
-rwxr-xr-x 1 ubuntu ubuntu      5013 Jan  1  1980 gsutil*
-rwxr-xr-x 1 ubuntu ubuntu      4991 Jan  1  1980 java_dev_appserver.sh*
-rwxr-xr-x 1 ubuntu ubuntu  65393116 Jan  1  1980 kuberun*

対話型を避けて、スクリプトでもインストールできるようにするには、以下のようにすればよいようです。

$ bash <(curl https://sdk.cloud.google.com)  --disable-prompts --install-dir=$HOME

この場合、 ~/.bashrc は変更されないようです。手動で以下を書き加えればよいです。

. $HOME/google-cloud-sdk/path.zsh.inc
. $HOME/google-cloud-sdk/completion.zsh.inc

実際に使うには認証情報を設定する必要があります。

$ gcloud init

このコマンドも対話型です。対話中に認証用のURLが表示されますので、これをGoogleアカウントでログインしているブラウザでアクセスします。ブラウザ上で承認すると、コードが表示されますので、これを端末にコピーします。

プロジェクトの選択、リージョンの選択をすると、完了です。 ~/.boto~/.config/gcloud/ が作成されます。

以下のコマンドで、Cloud Storageのバケット一覧が表示されますので、認証が通っていることが確認できます。

$ gsutil ls