gsutil をインストールする

このページでは、コマンドラインから HTTPS を使用して Cloud Storage にアクセスできる gsutil のインストールと設定について説明します。

gsutil をインストールすると、一般公開データへの読み取り / 書き込みアクセス権がすぐに付与されます。Cloud Storage サービスに対して認証すると、共有している保護下のデータへの読み取り / 書き込みアクセス権が付与されます。課金を有効にすると、自分のバケットを作成、管理できます。

システム要件

  • gsutil ツールは、Linux / Unix、Mac OS、Windows(XP 以降)で動作します。

  • gsutil バージョン 5.0 以降では Python 3.5~3.11 が必要です。これは、Python バージョン マネージャーを使用するか、適切なバージョンをインストールすることで入手できます。

次の手順では、Python バージョンを管理する方法について説明します。

Linux

前提条件: Python バージョン マネージャー(pyenv)をインストールし、適切な Python バージョンをインストールします(3.11 を推奨)。

  1. グローバル Python バージョンを設定します。
    • Python 3.11.9 をグローバル バージョンとして設定するには:
      pyenv global 3.11.9
    • または、特定のプロジェクト フォルダの Python バージョンをローカルに設定します。
      pyenv local 3.11.9
  2. 正しい Python バージョンが使用されていることを確認します。
    python --version

    次のように表示されます。

    Python 3.11.9
macOS

方法 1: Homebrew(brew)を使用する

前提条件: Homebrew をインストールし、Homebrew から適切な Python バージョン(3.11 を推奨)をインストールします。

  1. 特定の Python バージョンをデフォルトとして設定します。
    • 必要なバージョンを $PATH に追加します。たとえば、Python 3.11 を使用するには、次のようにします。
      export PATH="/usr/local/opt/python@3.11/bin:$PATH"
    • この変更を永続的なものにするには、シェル構成ファイル(~/.bash_profile~/.zshrc~/.bashrc)にパスを追加します。
  2. 正しい Python バージョンが使用されていることを確認します。
    python --version

    次のように表示されます。

    Python 3.11.9

方法 2: pyenv を使用する

前提条件: Python バージョン マネージャー(pyenv)をインストールし、pyenv を使用して適切な Python バージョン(3.11 を推奨)をインストールします。

  1. グローバル Python バージョンを設定します。
    • Python バージョンをグローバル(すべてのターミナルに対して)に設定するには:
      pyenv global 3.11.9
    • または、特定のプロジェクト フォルダの Python バージョンをローカルに設定します。
      pyenv local 3.11.9
  2. 正しい Python バージョンが使用されていることを確認します。
    python --version

    次のように表示されます。

    Python 3.11.9
Windows

前提条件: Python バージョン マネージャー(pyenv-win)をインストールし、pyenv を使用して適切な Python バージョン(3.11 を推奨)をインストールします。

  1. グローバル Python バージョンを設定します。
    • Python 3.11.9 をグローバル バージョンとして設定するには:
      pyenv global 3.11.9
    • または、特定のプロジェクト フォルダの Python バージョンをローカルに設定します。
      pyenv local 3.11.9
  2. 正しい Python バージョンが使用されていることを確認します。
    python --version

    次のように表示されます。

    Python 3.11.9
  • 複合オブジェクトを使用する場合は、コンパイル済みの crcmod をインストールする必要があります。これは、Windows では 32 ビット版 Python でのみ利用可能です。crcmod の詳細については、gsutil をインストールして gsutil help crc32c コマンドを実行し、ヘルプトピックをご覧ください。

gsutil のインストール

gsutil のインストールと更新については、Google Cloud CLI の一部として行う場合に公式なサポートの対象となります。

Google Cloud CLI の一部としての gsutil のインストール

Google Cloud CLI の一部としてインストールするには、オペレーティング システムで次の操作を行います。

Linux
  1. サポートされているバージョンの Python を使用していることを確認します。Google Cloud CLI には Python 3.8~3.12 が必要です。x86_64 Linux パッケージには、デフォルトで優先される Python インタープリタがバンドルされています。Python インタープリタの選択方法と構成方法については、gcloud topic startup をご覧ください。
  2. 次のいずれかをダウンロードします。
    プラットフォーム パッケージ名 サイズ SHA256 チェックサム
    Linux 64 ビット

    (x86_64)

    google-cloud-cli-linux-x86_64.tar.gz 131.4 MB 6b51a06aea82a83784f5e4d401a2b876f1ba2d21fe4ef1f171cf65864952f1f1
    Linux 64 ビット

    (Arm)

    google-cloud-cli-linux-arm.tar.gz 53.7 MB fed03accf21201957e936e096ed167192caafa12bebded325f7ea7fc8f068241
    Linux 32 ビット

    (x86)

    google-cloud-cli-linux-x86.tar.gz 53.7 MB 1cfd2796ac9085bb15fb625aac9f22abbd6e422fd471c8b753ccee5d3f5c7d66

    Linux アーカイブ ファイルをダウンロードするには、次のコマンドを実行します。

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz

    上記の表を参照し、google-cloud-cli-linux-x86_64.tar.gz を構成に適用される *.tar.gz パッケージ名に置き換えてください。

  3. ファイルのコンテンツをファイル システム(できればホーム ディレクトリ)に抽出するには、次のコマンドを実行します。
    tar -xf google-cloud-cli-linux-x86_64.tar.gz
    省略可: 既存のインストールを置き換えるには、既存の google-cloud-sdk ディレクトリを削除し、同じ場所にアーカイブを展開します。
  4. gcloud CLI をパスに追加します。次のコマンドを使用して、解凍したフォルダのルートからインストール スクリプトを実行します。
    ./google-cloud-sdk/install.sh
    これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。使用可能なフラグを表示するには、次のコマンドを実行します。
    ./google-cloud-sdk/install.sh --help
    省略可。
    • gcloud CLI の改善のために匿名の使用統計情報を送信する場合、プロンプトが表示されたら「Y」と応答します。
    • gcloud CLI を PATH に追加してコマンドの補完を有効にする場合は、プロンプトが表示されたら「Y」と応答します。
  5. 変更が反映されるように新しいターミナル ウィンドウを開きます。
  6. gcloud CLI を初期化するには、gcloud init を実行します。
  7. ./google-cloud-sdk/bin/gcloud init
  8. 省略可: コンポーネント マネージャーを使用して追加コンポーネントをインストールします。
Debian / Ubuntu

パッケージの内容

Debian システムと Ubuntu システムにインストールする場合、gcloud CLI はパッケージ形式で利用できます。このパッケージに含まれているのは、gcloudgcloud alphagcloud betagsutilbq の各コマンドのみです。kubectl は含まれていません。また、gcloud コマンドでアプリケーションをデプロイするために必要な App Engine 拡張機能も含まれていません。これらのコンポーネントが必要な場合は、個別にインストールする必要があります。

始める前に

gcloud CLI をインストールする前に、ご使用のオペレーティング システムが次の要件を満たしていることを確認してください。

  • サポート終了になっていない Ubuntu リリース、またはサポート終了になっていない Debian 安定版リリースである
  • 最近、このパッケージが更新された
    sudo apt-get update
  • apt-transport-httpscurl がインストールされている
    sudo apt-get install apt-transport-https ca-certificates gnupg curl
インストール
  1. Google Cloud の公開鍵をインポートします。
    • 新しいディストリビューション(Debian 9 以降または Ubuntu 18.04 以降)の場合は、次のコマンドを実行します。

      curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
    • 古いディストリビューションの場合は、次のコマンドを実行します。
      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 -
    • 鍵が期限切れで最新バージョンを取得できない場合は、最新の apt-get.gpg 鍵ファイルを取得します。

  2. gcloud CLI の配布 URI をパッケージ ソースとして追加します。
    • 新しいディストリビューション(Debian 9 以降または Ubuntu 18.04 以降)の場合は、次のコマンドを実行します。
      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
    • sign-by オプションをサポートしていない古いディストリビューションの場合は、次のコマンドを実行します。

      echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
  3. 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] https://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 | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && apt-get update -y && apt-get install google-cloud-cli -y
        
    gpg --dearmor コマンドをサポートしていない古いベースイメージの場合:
    RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://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
          
  4. (省略可)次の追加コンポーネントをインストールします。
    • 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
  5. gcloud init を実行して開始します。
    gcloud init

gcloud CLI バージョンのダウングレード

gcloud CLI を特定のバージョンに戻すには(VERSION123.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 / Fedora / CentOS

パッケージの内容

Red Hat Enterprise Linux 7、8、9、Fedora 33 と 34、CentOS 7 と 8 の各システムにインストールする場合、gcloud CLI はパッケージ形式で利用できます。このパッケージに含まれているのは、gcloudgcloud alphagcloud betagsutilbq の各コマンドのみです。kubectl は含まれていません。また、gcloud コマンドを使用してアプリケーションをデプロイするために必要な App Engine 拡張機能も含まれていません。このセクションの後半で説明するように、これらは個別にインストールできます。

インストール
  1. gcloud CLI リポジトリ情報で DNF を更新します。次のサンプル コマンドは Red Hat Enterprise Linux 9 互換のインストール用ですが、実際の構成に合わせて設定を更新してください。
    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-el9-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=0
    gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
  2. Fedora 34 または 35 にインストールする場合は、libxcrypt-compat.x86_64 をインストールします。
    sudo dnf install libxcrypt-compat.x86_64
  3. gcloud CLI をインストールします。
    sudo dnf install google-cloud-cli
  4. 必要に応じて、次の追加コンポーネントをインストールします。
    • 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
  5. gcloud init を実行して開始します。
    gcloud init

gcloud CLI バージョンのダウングレード

gcloud CLI を特定のバージョン(VERSION123.0.0 の形式)に戻す場合は、sudo dnf downgrade google-cloud-cli-VERSION を実行します。リポジトリでは、常に最新の 10 個のリリースが利用可能です。注: 371.0.0 より前のリリースの場合、パッケージ名は google-cloud-sdk です。

macOS
  1. サポートされているバージョンの Python を使用していることを確認します。
    • 現在の Python バージョンを確認するには、 python3 -V または python -V を実行します。サポートされているバージョンは Python 3.8~3.12 です。
    • メインのインストール スクリプトでは、CPython の Python 3.11 をインストールできます。
    • それ以外の場合、サポートされている Python バージョンをインストールするには、Python.org の macOS 用 Python リリースにアクセスしてください。
    • マシンに複数の Python インタープリタがインストールされている場合は、シェル内で CLOUDSDK_PYTHON 環境変数を設定して、目的のインタープリタのパスを指定します。
    • Python インタープリタの選択方法と構成方法については、gcloud topic startup をご覧ください。
  2. 次のいずれかをダウンロードします。
  3. プラットフォーム パッケージ サイズ SHA256 チェックサム
    macOS 64 ビット

    (x86_64)

    google-cloud-cli-darwin-x86_64.tar.gz 53.7 MB a04a881e04b8999725a675c5f47f8ae7b1cc6ba6cb65ae4f014e2fe17f2e8c70
    macOS 64 ビット

    (ARM64, Apple M1 silicon)

    google-cloud-cli-darwin-arm.tar.gz 53.7 MB f7b7c1bc1ed540718a953a29d196205d881dd2c1e758bfc2489ea5e83204a3b8
    macOS 32 ビット

    (x86)

    google-cloud-cli-darwin-x86.tar.gz 52.4 MB b0dfdf14a284af3721936ea79a1d66d4189e94bd3d1bbdb31c3d963fcf1893c6
    1. アーカイブをファイル システム上の任意の場所に展開します。ホーム ディレクトリを使用することをおすすめします。macOS では、ダウンロードした .tar.gz アーカイブ ファイルを任意の場所で開くことでこれを実現できます。

      既存のインストールを置き換えるには、既存の google-cloud-sdk ディレクトリを削除し、同じ場所にアーカイブを展開します。

    2. (省略可)インストール スクリプトを使用して、gcloud CLI ツールを PATH に追加します。また、シェル、使用統計情報の収集、Python 3.11 のインストールでコマンドの補完を利用できます。

      次のコマンドを使用して(前の手順で展開したフォルダのルートから)スクリプトを実行します。

      ./google-cloud-sdk/install.sh
      これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。使用可能なフラグの説明を確認するには、次のコマンドを実行します。
      ./google-cloud-sdk/install.sh --help
      スクリーン リーダー モードを有効にしてインストール スクリプトを実行するには:
      ./google-cloud-sdk/install.sh --screen-reader=true
      変更が反映されるように新しいターミナル ウィンドウを開きます。
    3. gcloud CLI を初期化するには、gcloud init を実行します。
    4. ./google-cloud-sdk/bin/gcloud init
    5. 省略可。コンポーネント マネージャーを使用して追加コンポーネントをインストールします。
Windows
    Google Cloud CLI は Windows 8.1 以降と Windows Server 2012 以降で動作します。
  1. 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
        
  2. インストーラを起動して、画面の指示に沿って操作します。インストーラには Google LLC による署名が付いています。

    スクリーン リーダーを使用している場合は、[スクリーン リーダーモードをオンにする] チェックボックスをオンにします。このオプションで gcloud を構成すると、Unicode スピナーの代わりにステータス トラッカーが使用され、進行状況が割合で表示されます。また、テーブルがフラット化されます。詳しくは、ユーザー補助機能のガイドをご覧ください。

  3. Google Cloud CLI には Python が必要です。サポートされているバージョンは Python 3.8~3.12 です。デフォルトでは、Google Cloud CLI の Windows バージョンには Python 3 がバンドルされています。Google Cloud CLI を使用するには、オペレーティング システムでサポートされているバージョンの Python を実行する必要があります。

    インストーラにより、必要な Python バージョンを含むすべての必要な依存関係がインストールされます。Google Cloud CLI はデフォルトで Python 3 をインストールして管理しますが、必要であれば、バンドル版 Python をインストールするオプションのチェックボックスをオフにすることで、既存の Python のインストールを使用できます。既存の Python インストール環境の使用方法については、gcloud topic startup をご覧ください。

  4. インストールが完了すると、スタート メニューとデスクトップ ショートカットの作成、Google Cloud CLI シェルの起動、gcloud CLI の構成を行うオプションが表示されます。シェルを開始するオプションをそのまま使用して、選択したインストール環境を構成します。これにより、ターミナル ウィンドウが開いて gcloud init コマンドが実行されます。

  5. デフォルトのインストールには、gcloud コマンドでアプリケーションをデプロイするのに必要な App Engine 拡張機能は含まれていません。これらのコンポーネントは、gcloud CLI コンポーネント マネージャーを使用してインストールできます。
トラブルシューティングのヒント:
  • find コマンドが認識されないことが原因でインストールが失敗する場合は、find が格納されているフォルダが PATH 環境変数に含まれていることを確認してください。通常、これは C:\WINDOWS\system32; です。
  • gcloud CLI をアンインストールした場合は、gcloud CLI を再度インストールする前にシステムを再起動する必要があります。
  • 解凍できない場合は、管理者としてインストーラを実行します。

gsutil のインストールの一環として、正しい Python バージョンを使用するように CLOUDSDK_PYTHON 環境変数を設定する必要があります。詳細については、(gcloud startup topic)をご覧ください。

components update コマンド(gcloud components update)を使用して更新を実行します。

保護下のデータにアクセスするための認証情報のセットアップ

保護下のデータにアクセスしたり、保護下のバケットに書き込みを行うには、認証情報(認証)をセットアップする必要があります。たとえば、別のユーザーが Cloud Storage アカウントを作成して、特定のユーザーのみがアクセス可能なデータをアップロードした場合は、そのデータにアクセスできるように Cloud Storage サービスに対する認証情報を設定する必要があります。

gsutil を Google Cloud CLI で使用する場合、OAuth2 を使用して Cloud Storage リソースへのアクセスを認証し、認可します。アクセスを確立するには、gcloud init コマンドを実行します。ユーザー アカウントへのログインなどの操作は、コマンドラインの手順に沿って行います。上記のインストール手順を完了している場合、この設定はすでに実行されている可能性があります。以前に gcloud init を実行した場合、コマンドを再度実行すると、構成を再初期化するか、新しい構成を作成するかを確認されます。詳細については、Google Cloud CLI を初期化するをご覧ください。

以上で、これで、保護下のデータにアクセスする準備ができました。gsutil コマンドの一覧を表示するには、コマンド プロンプトに「gsutil」と入力します。

トラブルシューティング

gcloud init コマンドを使用して gsutil を認証しようとしても目的のバケットやオブジェクトにアクセスできない場合は、システムに以前のスタンドアロン版の gsutil と Google Cloud CLI バンドル版の gsutil がインストールされている可能性があります。gsutil version -l コマンドを実行して、using cloud sdk の値を確認します。False と指定すると、システムがコマンドを実行するときにスタンドアロンの gsutil が使用されます。スタンドアロン版の gsutil をシステムから削除することをおすすめします。ただし、gsutil config -a または gsutil config -e を使用して代替認証を行うこともできます。

HMAC を使用して認証する

gsutil の認証には OAuth 2.0 が推奨されますが、認証情報の HMAC キーを使用することもできます。HMAC で認証するには、次のコマンドを使用します。

gsutil config -a

このコマンドを使用すると、認証プロセスが開始します。HMAC キーに関連付けられたアクセス ID とシークレットの入力を求められます。

HMAC キーで認証する場合は、gcloud config set pass_credentials_to_gsutil false コマンドを使用して、Google Cloud CLI から渡された認証情報を無効にする必要があります。

mTLS を有効にする

また、相互 TLS(mTLS)を有効にすることもできます。デバイスで mTLS が有効になっている場合、デバイスは JSON API の mTLS リクエスト エンドポイントへの接続を試みます。接続が許可される前に、Cloud Storage がデバイス上の証明書を確認します。

証明書を取得する最も簡単な方法は、Google Cloud CLI を使用することです。.boto ファイルの [Credentials] に次の値を設定して、手動で設定することもできます。

  1. use_client_certificate: mTLS を使用するかどうかを制御するフラグ。
  2. cert_provider_command: gsutil が読み取る証明書を stdout に出力するシェルコマンド。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

Cloud Storage を無料で試す