このページでは、コマンドラインから HTTPS を使用して Cloud Storage にアクセスできる gsutil のインストールと設定について説明します。
gsutil をインストールすると、一般公開データへの読み取り / 書き込みアクセス権がすぐに付与されます。Cloud Storage サービスに対して認証すると、共有している保護下のデータへの読み取り / 書き込みアクセス権が付与されます。課金を有効にすると、自分のバケットを作成、管理できます。
システム要件
gsutil ツールは、Linux / Unix、Mac OS、Windows(XP 以降)で動作します。
gsutil バージョン 5.0 以降では Python 3 が必要です。
複合オブジェクトを使用する場合は、コンパイル済みの crcmod をインストールする必要があります。これは、Windows では 32 ビット版 Python でのみ利用可能です。
gsutil のインストール
gsutil のインストールと更新については、Google Cloud CLI の一部として行う場合に公式なサポートの対象となります。
Google Cloud CLI の一部としての gsutil のインストール
Google Cloud CLI の一部としてインストールするには、オペレーティング システムで次の操作を行います。
- サポートされているバージョンの Python を使用していることを確認します。Google Cloud CLI には Python 3(3.5~3.9)が必要です。x86_64 Linux パッケージには、デフォルトで優先される Python インタープリタがバンドルされています。Python インタープリタの選択方法と構成方法については、
gcloud topic startup
をご覧ください。 - 次のいずれかをダウンロードします。
プラットフォーム パッケージ サイズ SHA256 チェックサム Linux 64 ビット (x86_64)
google-cloud-cli-414.0.0-linux-x86_64.tar.gz 166.0 MB e0382917353272655959bb650643c5df72c85de326a720b97e562bb6ea4478b1 Linux 64 ビット (ARM)
google-cloud-cli-414.0.0-linux-arm.tar.gz 96.7 MB 6f9186bc2b90b9140b3fbc8db121da71638b4a5c91c05c4f77e188bde20f692c Linux 32 ビット (x86)
google-cloud-cli-414.0.0-linux-x86.tar.gz 97.8 MB c72cb7e5dec87da1793acffa18c17cd50ff86592d31acde29dd350d8f2616218 Linux 64 ビット アーカイブ ファイルをダウンロードするには、コマンドラインで次のコマンドを実行します。
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-414.0.0-linux-x86_64.tar.gz
64 ビット ARM アーカイブ ファイルの場合は、次のコマンドを実行します。
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-414.0.0-linux-arm.tar.gz
32 ビット アーカイブ ファイルの場合は、次のコマンドを実行します。
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-414.0.0-linux-x86.tar.gz
- ファイル システム上の任意の場所にファイルの内容を展開します(ホーム ディレクトリを使用することをおすすめします)。既存のインストールを置き換えるには、既存の
google-cloud-sdk
ディレクトリを削除し、同じ場所にアーカイブを展開します。次のサンプルは、32 ビット Linux 用のコマンドを示しています。別のプラットフォームを使用している場合は、それに応じてコマンドを調整します。tar -xf google-cloud-cli-414.0.0-linux-x86.tar.gz
- gcloud CLI をパスに追加します。次のコマンドを使用して、解凍したフォルダのルートからインストール スクリプトを実行します。
./google-cloud-sdk/install.sh
これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。使用可能なフラグを表示するには、次のコマンドを実行します。./google-cloud-sdk/install.sh --help
(省略可)gcloud CLI の改善のために匿名の使用統計情報を送信する場合は、プロンプトが表示されたら「Y
」と応答します。
gcloud CLI をPATH
に追加してコマンドの補完を有効にする場合は、プロンプトが表示されたら「Y
」と応答します。 - 変更が反映されるように新しいターミナル ウィンドウを開きます。
- gcloud CLI を初期化するには、
gcloud init
を実行します。 - 省略可。コンポーネント マネージャーを使用して、追加コンポーネントをインストールします。
./google-cloud-sdk/bin/gcloud init
パッケージの内容
Debian システムと Ubuntu システムにインストールする場合、gcloud CLI はパッケージ形式で利用できます。このパッケージに含まれているのは、gcloud
、gcloud alpha
、gcloud beta
、gsutil
、bq
の各コマンドのみです。kubectl
は含まれていません。また、gcloud
コマンドでアプリケーションをデプロイするために必要な App Engine 拡張機能も含まれていません。これらのコンポーネントが必要な場合は、個別にインストールする必要があります。
gcloud CLI をインストールする前に、ご使用のオペレーティング システムが次の要件を満たしていることを確認してください。
- サポート終了になっていない Ubuntu リリース、またはサポート終了になっていない Debian 安定版リリース
- apt-transport-https がインストールされている。
sudo apt-get install apt-transport-https ca-certificates gnupg
- gcloud CLI の配布 URI をパッケージ ソースとして追加します。使用しているディストリビューションで signed-by オプションがサポートされている場合は、次のコマンドを実行します。
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
使用しているディストリビューションで signed-by オプションがサポートされていない場合は、次のコマンドを実行します。
echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
- Google Cloud の公開鍵をインポートします。使用しているディストリビューションの
apt-key
コマンドが--keyring
引数をサポートしている場合は、次のコマンドを実行します。curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
使用しているディストリビューションの apt-key コマンドで
--keyring
引数がサポートされていない場合は、次のコマンドを実行します。curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
使用しているディストリビューション(Debian 11 以降または Ubuntu 21.10 以降)が
apt-key
をサポートしていない場合は、次のコマンドを実行します。curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo tee /usr/share/keyrings/cloud.google.gpg
鍵が期限切れで最新バージョンを取得できない場合は、最新の apt-get.gpg 鍵ファイルを取得します。
- gcloud CLI を更新してインストールします。
sudo apt-get update && sudo apt-get install google-cloud-cli
プロンプトの無効化やドライランなどの、追加のapt-get
オプションについては、apt-get
マニュアル ページをご覧ください。Docker のヒント: Docker イメージ内に gcloud CLI をインストールする場合は、代わりに 1 回の実行ステップを使用します。
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - && apt-get update -y && apt-get install google-cloud-cli -y
apt-key
コマンドがサポートされていない場合:RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | tee /usr/share/keyrings/cloud.google.gpg && apt-get update -y && apt-get install google-cloud-sdk -y
- (省略可)次の追加コンポーネントをインストールします。
google-cloud-cli
google-cloud-cli-anthos-auth
google-cloud-cli-app-engine-go
google-cloud-cli-app-engine-grpc
google-cloud-cli-app-engine-java
google-cloud-cli-app-engine-python
google-cloud-cli-app-engine-python-extras
google-cloud-cli-bigtable-emulator
google-cloud-cli-cbt
google-cloud-cli-cloud-build-local
google-cloud-cli-cloud-run-proxy
google-cloud-cli-config-connector
google-cloud-cli-datastore-emulator
google-cloud-cli-firestore-emulator
google-cloud-cli-gke-gcloud-auth-plugin
google-cloud-cli-kpt
google-cloud-cli-kubectl-oidc
google-cloud-cli-local-extract
google-cloud-cli-minikube
google-cloud-cli-nomos
google-cloud-cli-pubsub-emulator
google-cloud-cli-skaffold
google-cloud-cli-spanner-emulator
google-cloud-cli-terraform-validator
google-cloud-cli-tests
kubectl
たとえば、
google-cloud-cli-app-engine-java
コンポーネントは次のようにインストールできます。sudo apt-get install google-cloud-cli-app-engine-java
gcloud init
を実行して開始します。gcloud init
gcloud CLI バージョンのダウングレード
gcloud CLI を特定のバージョンに戻すには(VERSION
は 123.0.0
の形式)、次のコマンドを実行します。
sudo apt-get update && sudo apt-get install google-cloud-cli=123.0.0-0
リポジトリでは、常に最新の 10 個のリリースが利用可能です。
注: 371.0.0 より前のリリースの場合、パッケージ名は google-cloud-sdk
です。
パッケージの内容
Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 8、Fedora 33、Fedora 34、CentOS 7、CentOS 8 の各システムにインストールする場合、gcloud CLI はパッケージ形式で利用できます。このパッケージに含まれているのは、gcloud
、gcloud alpha
、gcloud beta
、gsutil
、bq
の各コマンドのみです。kubectl
は含まれていません。また、gcloud
コマンドを使用してアプリケーションをデプロイするために必要な App Engine 拡張機能も含まれていません。このセクションの後半で説明するように、これらは個別にインストールできます。
- gcloud CLI リポジトリ情報で DNF を更新します。次のサンプル コマンドは、Red Hat Enterprise Linux 8 互換のインストール用です。Red Hat Enterprise Linux 7 互換のインストールの場合は、
baseUrl
の値でel8
をel7
に置き換えてください。sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM [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 EOM
-
Fedora 34 または 35 にインストールする場合は、
libcrypt-compat.x86_64
をインストールします。sudo dnf install libxcrypt-compat.x86_64
- gcloud CLI をインストールします。
sudo dnf install google-cloud-cli
- 必要に応じて、次の追加コンポーネントをインストールします。
google-cloud-cli
google-cloud-cli-anthos-auth
google-cloud-cli-app-engine-go
google-cloud-cli-app-engine-grpc
google-cloud-cli-app-engine-java
google-cloud-cli-app-engine-python
google-cloud-cli-app-engine-python-extras
google-cloud-cli-bigtable-emulator
google-cloud-cli-cbt
google-cloud-cli-cloud-build-local
google-cloud-cli-cloud-run-proxy
google-cloud-cli-config-connector
google-cloud-cli-datastore-emulator
google-cloud-cli-firestore-emulator
google-cloud-cli-gke-gcloud-auth-plugin
google-cloud-cli-kpt
google-cloud-cli-kubectl-oidc
google-cloud-cli-local-extract
google-cloud-cli-minikube
google-cloud-cli-nomos
google-cloud-cli-pubsub-emulator
google-cloud-cli-skaffold
google-cloud-cli-spanner-emulator
google-cloud-cli-terraform-validator
google-cloud-cli-tests
kubectl
たとえば、
google-cloud-cli-app-engine-java
コンポーネントは次のようにインストールできます。sudo dnf install google-cloud-cli-app-engine-java
gcloud init
を実行して開始します。gcloud init
gcloud CLI バージョンのダウングレード
gcloud CLI を特定のバージョン(VERSION
は 123.0.0
の形式)に戻す場合は、sudo dnf downgrade google-cloud-cli-VERSION
を実行します。リポジトリでは、常に最新の 10 個のリリースが利用可能です。注: 371.0.0 より前のリリースの場合、パッケージ名は google-cloud-sdk
です。
- サポートされているバージョンの Python を使用していることを確認します。
-
現在の Python バージョンを確認するには、
python3 -V
またはpython -V
を実行します。サポートされているバージョンは Python 3(3.5~3.9)です。 - Cloud SDK リリース バージョン 352.0.0 以降の場合、メインのインストール スクリプトでは、Intel ベースの Mac に CPython の Python 3.7 をインストールできます。
- Python インタープリタの選択方法と構成方法については、
gcloud topic startup
をご覧ください。
-
現在の Python バージョンを確認するには、
- 次のいずれかをダウンロードします。
-
アーカイブをファイル システム上の任意の場所に展開します。ホーム ディレクトリを使用することをおすすめします。macOS では、ダウンロードした
.tar.gz
アーカイブ ファイルを任意の場所で開くことでこれを実現できます。既存のインストールを置き換えるには、既存の
google-cloud-sdk
ディレクトリを削除し、同じ場所にアーカイブを展開します。 -
(省略可)インストール スクリプトを使用して、gcloud CLI ツールを
PATH
に追加します。また、シェル、使用統計情報の収集、Python 3.7 のインストールでコマンドの補完を利用できます。次のコマンドを使用して(前の手順で展開したフォルダのルートから)スクリプトを実行します。
./google-cloud-sdk/install.sh
これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。使用可能なフラグの説明を確認するには、次のコマンドを実行します。./google-cloud-sdk/install.sh --help
スクリーン リーダー モードを有効にしてインストール スクリプトを実行するには:./google-cloud-sdk/install.sh --screen-reader=true
変更が反映されるように新しいターミナル ウィンドウを開きます。 - gcloud CLI を初期化するには、
gcloud init
を実行します。 - 省略可。コンポーネント マネージャーを使用して追加コンポーネントをインストールします。
プラットフォーム | パッケージ | サイズ | SHA256 チェックサム |
---|---|---|---|
macOS 64 ビット (x86_64) |
google-cloud-cli-414.0.0-darwin-x86_64.tar.gz | 99.9 MB | e11cec01d749e16ec2c847c86894b50221502a63dc9bef9229f8d7a9b614d5ce |
macOS 64 ビット (ARM64, Apple M1 silicon) |
google-cloud-cli-414.0.0-darwin-arm.tar.gz | 98.3 MB | 905a15dfd03b195b9f71145357690313b0006bc52757fb55f3ac02999fec7a86 |
macOS 32 ビット (x86) |
google-cloud-cli-414.0.0-darwin-x86.tar.gz | 110.9 MB | 39101d0d5921ea3b3f34c6ca8dd605834272f9546cab2feae0be13b582e2efc7 |
./google-cloud-sdk/bin/gcloud init
-
Google Cloud CLI は Windows 8.1 以降と Windows Server 2012 以降で動作します。
-
Google Cloud CLI インストーラをダウンロードします。
または、PowerShell ターミナルを開き、以下の PowerShell コマンドを実行します。
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe") & $env:Temp\GoogleCloudSDKInstaller.exe
-
インストーラを起動して、画面の指示に沿って操作します。インストーラには Google LLC による署名が付いています。
スクリーン リーダーを使用している場合は、[スクリーン リーダー モードをオンにする] チェックボックスをオンにします。このオプションで
gcloud
を構成すると、Unicode スピナーの代わりにステータス トラッカーが使用され、進行状況が割合で表示されます。また、テーブルがフラット化されます。詳しくは、ユーザー補助機能のガイドをご覧ください。 -
Cloud SDK には Python が必要です。サポートされているバージョンは Python 3(3.5~3.9)です。デフォルトでは、Cloud SDK の Windows バージョンには Python 3 がバンドルされています。Cloud SDK を使用するには、お使いのオペレーティング システムでサポートされているバージョンの Python を実行できる必要があります。
インストーラにより、必要な Python バージョンを含むすべての必要な依存関係がインストールされます。Cloud SDK はデフォルトで Python 3 をインストールして管理しますが、必要であれば、バンドル版 Python をインストールするオプションのチェックボックスをオフにすることで、既存の Python のインストールを使用できます。既存の Python インストール環境の使用方法については、
gcloud topic startup
をご覧ください。 インストールが完了すると、スタート メニューとデスクトップ ショートカットの作成、Google Cloud CLI シェルの起動、gcloud CLI の構成を行うオプションが表示されます。シェルを開始するオプションをそのまま使用して、選択したインストール環境を構成します。これにより、ターミナル ウィンドウが開いて
gcloud init
コマンドが実行されます。- デフォルトのインストールには、
gcloud
コマンドでアプリケーションをデプロイするのに必要な App Engine 拡張機能は含まれていません。これらのコンポーネントは、gcloud CLI コンポーネント マネージャーを使用してインストールできます。
find
コマンドが認識されないことが原因でインストールが失敗する場合は、find
が格納されているフォルダがPATH
環境変数に含まれていることを確認してください。通常、これはC:\WINDOWS\system32;
です。- gcloud CLI をアンインストールした場合は、gcloud CLI を再度インストールする前にシステムを再起動する必要があります。
- 解凍できない場合は、管理者としてインストーラを実行します。
components update
コマンド(gcloud components update
)を使用して更新を実行します。
gsutil の使用方法については、クイックスタート: gsutil ツールの使用演習をご覧になるか、gsutil help
を実行してください。
保護下のデータにアクセスするための認証情報のセットアップ
gsutil をインストールした場合、誰でもアクセスできるオブジェクトはダウンロードしてアクセスできますが、保護下のデータにアクセスしたり、保護下のバケットに書き込みを行ったりするには、認証情報(認証)をセットアップする必要があります。たとえば、別のユーザーが Cloud Storage アカウントを作成して、特定のユーザーのみがアクセス可能なデータをアップロードした場合は、そのデータにアクセスできるように Cloud Storage サービスに対する認証情報を設定する必要があります。
gsutil を Google Cloud CLI として使用している場合、アクセスの認証と承認には OAuth2 を使用します。上記の Google Cloud CLI の一部としての gsutil のインストールを行った場合は、次の手順をすでに行っている可能性があります。以前に gcloud init
を実行している場合は、構成を再初期化するか新しい構成を作成するかが尋ねられます。
コマンド プロンプト インスタンスを開きます。
コマンド プロンプトで
gcloud init
を実行します。次の出力が表示されます。
Welcome! This command will take you through the configuration of gcloud. Your current configuration has been set to: [default] To continue, you must login. Would you like to login (Y/n)?
「Y」と入力し、Enter キーを押してログインします。
このコマンドにより、URL が出力され、プロジェクトへのアクセスをリクエストするためにブラウザ ウィンドウを開く操作が試行されます。ブラウザ ウィンドウが開くと、次の出力が表示されます。
Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2F...
次のステップに進みます。
ローカルマシンで作業している場合や、ブラウザが URL を自動的に読み込まない場合、
--console-only
フラグを使用してgcloud init
コマンドを再試行します。gcloud init --console-only
このコマンドを使用する場合や、ブラウザが開かないこと(リモートマシンで作業している場合など)が gcloud CLI で検出された場合は、次の出力が表示されます。
Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3A... Enter verification code:
ブラウザを開き、表示された URL に移動します。
プロンプトが表示されたら、Cloud Storage のデータに関連付けられている Google アカウントでブラウザ ウィンドウにログインします。
アクセスを許可します。
ブラウザが自動的に開いた場合は、アプリケーションの権限を確認して準備ができたら、[同意する] をクリックします。その後、確認コードが自動的にコマンドライン ツールに送信されます。
リモートマシンで作業している場合や、
--console-only
フラグを使用した場合には、URL から確認コードをコピーして、ターミナルのコマンドラインで「Enter verification code:」の後に貼り付けます。
この構成のデフォルトのプロジェクトを選択します。
認証情報を設定すると、この構成のデフォルトのプロジェクトを指定するように求めるプロンプトが表示され、使用可能なプロジェクトのリストが表示されます。リストからプロジェクト ID を選択します。
このプロパティを設定すると、
-p
フラグでオーバーライドしたり、CLOUDSDK_CORE_PROJECT
環境変数を設定したりしない限り、gsutil mb
などプロジェクトを必要とする gsutil コマンドでデフォルトのプロジェクト ID が使用されます。
以上です。これで、保護下のデータにアクセスする準備ができました。gsutil コマンドの一覧を表示するには、コマンド プロンプトに「gsutil
」と入力します。
トラブルシューティング
gcloud init
コマンドを使用して gsutil を認証しようとしても目的のバケットやオブジェクトにアクセスできない場合は、システムに従来のスタンドアロン版の gsutil と Google Cloud CLI バンドル版の gsutil がインストールされている可能性があります。gsutil version -l
コマンドを実行して、using cloud sdk
の値を確認します。False
と指定すると、システムがコマンドを実行するときにスタンドアロンの gsutil が使用されます。スタンドアロン版の gsutil をシステムから削除することをおすすめします。ただし、gsutil config
コマンドを使用して代替認証を行うこともできます。
HMAC を使用して認証する
gsutil の認証には OAuth 2.0 が推奨されますが、認証情報の HMAC キーを使用することもできます。HMAC で認証するには、gsutil config
コマンドで -a
フラグを使用します。
gsutil config -a
このコマンドを使用すると、認証プロセスが開始します。HMAC キーに関連付けられたアクセス ID とシークレットの入力を求められます。
HMAC キーで認証する場合は、gcloud config set pass_credentials_to_gsutil false
コマンドを使用して、Google Cloud CLI から渡された認証情報を無効にする必要があります。
mTLS を有効にする
また、相互 TLS(mTLS)を有効にすることもできます。デバイスで mTLS が有効になっている場合、デバイスは storage.mtls.googleapis.com
への接続を試みます。接続が許可される前に、Cloud Storage がデバイス上の証明書を確認します。
証明書を取得する最も簡単な方法は、Google Cloud CLI を使用することです。.boto ファイルの [Credentials] に次の値を設定して、手動で設定することもできます。
-
use_client_certificate
: mTLS を使用するかどうかを制御するフラグ。 -
cert_provider_command
: gsutil が読み取る証明書を stdout に出力するシェルコマンド。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage 無料トライアル