gsutil をインストールする

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

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

システム要件

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

  • 複合オブジェクトを使用する場合は、コンパイル済みの crcmod をインストールする必要があります。これは、Windows では 32 ビット版 Python でのみ利用可能です。

gsutil のインストール

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

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

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

Linux
  1. Cloud SDK には Python が必要です。サポートされているバージョンは Python 3(3.5~3.8 を推奨)と Python 2(2.7.9 以降)です。

    python --version
    Python インタープリタの選択方法と構成方法については、gcloud topic startup をご覧ください。
  2. 次のいずれかをダウンロードします。
  3. プラットフォーム パッケージ サイズ SHA256 チェックサム
    Linux 64 ビット

    (x86_64)

    google-cloud-sdk-338.0.0-linux-x86_64.tar.gz 84.8 MB 0278e1a03b2ce562503f0b93357eeba9ea23bacfcf4ac9c648eb5232771cd5b3
    Linux 32 ビット

    (x86)

    google-cloud-sdk-338.0.0-linux-x86.tar.gz 82.1 MB b8c1a810e895a48418135d76ab6a90322e05591496601eee166e00a99fd081ec

  4. コマンドラインから Linux 64 ビット アーカイブ ファイルをダウンロードするには、次のコマンドを実行します。

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

    32 ビット アーカイブ ファイルの場合は、次のコマンドを実行します。

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-338.0.0-linux-x86.tar.gz
  5. ファイル システム上の任意の場所にファイルの内容を展開します(ホーム ディレクトリを使用することをおすすめします)。既存のインストールを置き換える場合は、既存の google-cloud-sdk ディレクトリを削除し、同じ場所にアーカイブを展開します。
  6. 省略可。インストール スクリプトを実行して、Cloud SDK ツールを PATH に追加します。また、シェルと使用統計情報の収集では、コマンドの補完を利用できます。

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

    ./google-cloud-sdk/install.sh
    
    これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。次のコマンドを実行すると、説明が表示されます。
    ./google-cloud-sdk/install.sh --help
    
    変更が反映されるように新しいターミナル ウィンドウを開きます。
  7. gcloud init を実行して SDK を初期化します。
  8. ./google-cloud-sdk/bin/gcloud init
    
  9. 省略可。コンポーネント マネージャーを使用して、追加コンポーネントをインストールします。
Debian/Ubuntu

パッケージの内容

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

前提条件

Cloud SDK をインストールする前に、お使いのオペレーティング システムが次のいずれかに該当することをご確認ください。

インストール
  1. Cloud SDK の配布 URI をパッケージ ソースとして追加します。
    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
    注: apt-transport-https がインストールされていることを確認してください。
    sudo apt-get install apt-transport-https ca-certificates gnupg
  2. Google Cloud の公開鍵をインポートします。
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
  3. Cloud SDK を更新してインストールします。
    sudo apt-get update && sudo apt-get install google-cloud-sdk
    プロンプトの無効化やドライランなどの、追加の apt-get オプションについては、apt-get マニュアル ページをご覧ください。

    Docker のヒント: Docker イメージ内に Cloud SDK をインストールする場合は、1 回の RUN ステップを使用します。

    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-sdk -y
          

  4. 必要に応じて、次の追加コンポーネントをインストールします。
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

    たとえば、google-cloud-sdk-app-engine-java コンポーネントは次のようにインストールできます。

    sudo apt-get install google-cloud-sdk-app-engine-java
  5. gcloud init を実行して開始します。
    gcloud init

Cloud SDK のバージョンのダウングレード

Cloud SDK を特定のバージョン(VERSION123.0.0 の形式)に戻す場合は、sudo apt-get update && sudo apt-get install google-cloud-sdk=123.0.0-0 を実行します。リポジトリでは、常に最新の 10 リリースが利用可能です。

Red Hat / Fedora / CentOS

パッケージの内容

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

インストール
  1. Cloud SDK リポジトリ情報で DNF を更新します。
    sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
    [google-cloud-sdk]
    name=Google Cloud SDK
    baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=0
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
           https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    
  2. Cloud SDK をインストールします。
    sudo dnf install google-cloud-sdk
  3. 必要に応じて、次の追加コンポーネントをインストールします。
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-bigtable-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-firestore-emulator
    • google-cloud-sdk-pubsub-emulator
    • kubectl

    たとえば、google-cloud-sdk-app-engine-java コンポーネントは次のようにインストールできます。

    sudo dnf install google-cloud-sdk-app-engine-java
  4. gcloud init を実行して開始します。
    gcloud init

Cloud SDK のバージョンのダウングレード

Cloud SDK を特定のバージョン(VERSION123.0.0 の形式)に戻す場合は、sudo dnf downgrade google-cloud-sdk-VERSION を実行します。リポジトリでは、常に最新の 10 リリースが利用可能です。

macOS
  1. Cloud SDK には Python が必要です。サポートされているバージョンは Python 3(3.5~3.8 を推奨)と Python 2(2.7.9 以降)です。最近のバージョンの macOS には、Cloud SDK に必要な Python の適切なバージョンが含まれています。

    ただし、Cloud SDK を使用して Python 3 をインストールする場合は、バンドルされた Python インストールが付属している macOS 64 ビットを選択できます。

    現在の Python バージョンを確認するには、次のコマンドを実行します。

      python -V
      
    Python インタープリタの選択方法と構成方法については、gcloud topic startup をご覧ください。
  2. 次のいずれかをダウンロードします。
  3. プラットフォーム パッケージ サイズ SHA256 チェックサム
    macOS 64 ビット

    (x86_64)

    google-cloud-sdk-338.0.0-darwin-x86_64.tar.gz 85.3 MB cff5641001846e50632b2ac30138d94b6df7d5254a3c44cad978df0f81f1f117
    macOS 64 ビット

    (arm64)

    google-cloud-sdk-338.0.0-darwin-arm.tar.gz 85.2 MB d06c53e2cb17cad7c47fe11ee509b4a4d10ab218c7e9d8965f770259c29d2dac
    Python がバンドルされた macOS 64 ビット

    (x86_64)

    google-cloud-sdk-338.0.0-darwin-x86_64-bundled-python.tar.gz 127.2 MB baeb0b08e2219aeb8a840d054d60dc6e38b16b33f1e57a23e4d93b64fb44ed61
    macOS 32 ビット

    (x86)

    google-cloud-sdk-338.0.0-darwin-x86.tar.gz 89.0 MB c6f74996b1ac03a4ced045e7db9ac7abb477661dd4708a0c859d1901ca9a47a3

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

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

    2. 省略可。インストール スクリプトを実行して、Cloud SDK ツールを PATH に追加します。また、シェルと使用統計情報の収集では、コマンドの補完を利用できます。

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

      ./google-cloud-sdk/install.sh
      
      これは、インタラクティブではない方法(スクリプトを使用する場合など)や、フラグとして設定を渡す方法で行うこともできます。次のコマンドを実行すると、説明が表示されます。
      ./google-cloud-sdk/install.sh --help
      
      スクリーン リーダー モードを有効にしてインストール スクリプトを実行する場合:
      ./google-cloud-sdk/install.sh --screen-reader=true
      
      変更が反映されるように新しいターミナル ウィンドウを開きます。
    3. gcloud init を実行して SDK を初期化します。
    4. ./google-cloud-sdk/bin/gcloud init
      
    5. 省略可。コンポーネント マネージャーを使用して、追加コンポーネントをインストールします。
Windows
  1. Cloud SDK のインストーラをダウンロードします。

    または、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 による署名が付いています。

    スクリーン リーダー モードを有効にする場合、[Turn on screen reader mode] オプションを選択すると、スクリーン リーダーの利便性が向上します。Cloud SDK のスクリーン リーダーの利用については、ユーザー補助機能のガイドをご覧ください。

    スクリーン リーダー モードを有効にするためのチェックボックスが表示された、Windows 用の Google Cloud SDK セットアップ開始時のダイアログ

  3. Cloud SDK には Python が必要です。サポートされているバージョンは Python 3(3.5~3.8 を推奨)と Python 2(2.7.9 以降)です。

    インストーラにより、必要な Python バージョンを含むすべての必須依存関係がインストールされます。Cloud SDK では現時点で Python 3 をデフォルトで使用していますが、必要に応じて既存の Python インストール環境を使用する場合は、バンドル版 Python をインストールするためのオプションをオフにすることができます

  4. インストールが完了すると、いくつかのオプションが表示されます。

    Windows インストーラのプロンプト

    次のオプションが選択されていることを確認してください。

    • Start Google Cloud SDK Shell
    • Run gcloud init

    これにより、ターミナル ウィンドウが開いて gcloud init コマンドが実行されます。

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

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

gsutil の使用方法については、クイックスタート: gsutil ツールの使用演習をご覧になるか、gsutil help を実行してください。

別のインストール方法

gsutil をスタンドアロン サービスとしてインストールする方法はいくつかあります。Cloud SDK に付属している他のあらゆるコンポーネントが不要な場合や、PyPI でパッケージを管理している場合、これらのいずれかの方法を選択できます。

gsutil をスタンドアロンとしてインストールする場合は、パソコンに Python をインストールする必要があります。この場合、Python 3.5 から 3.8 を推奨します。Python は Linux と macOS のほとんどのディストリビューションにデフォルトでインストールされていますが、Windows にはデフォルトでインストールされていません。そのため、Windows で gsutil を実行するには事前に Python をインストールしておくことが必要です。

手順については、希望の方法を展開してください。

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

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

gsutil を Google Cloud SDK の一部としてインストールした場合は、以下の手順を行ってください。それ以外の場合は、スタンドアロンの gsutil を認証するをご覧ください。

Google Cloud SDK を認証する

gsutil を Google Cloud SDK として使用している場合、アクセスの認証と承認には OAuth2 を使用します。上記の Google Cloud SDK の一部としての gsutil のインストールを行った場合は、次の手順をすでに行っている可能性があります。以前に gcloud init を実行している場合は、構成を再初期化するか新しい構成を作成するかが尋ねられます。

  1. コマンド プロンプト インスタンスを開きます。

  2. コマンド プロンプトで 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)?
    

  3. 「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
      

      このコマンドを使用したり、ブラウザが開かないこと(リモートマシンで作業している場合など)が Cloud SDK で検出されたりすると、次の出力が表示されます。

      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 に移動します。

  4. プロンプトが表示されたら、Cloud Storage のデータに関連付けられている Google アカウントでブラウザ ウィンドウにログインします。

  5. アクセスを許可します。

    • ブラウザが自動的に開いた場合は、アプリケーションの権限を確認して準備ができたら、[同意する] をクリックします。その後、確認コードが自動的にコマンドライン ツールに送信されます。

    • リモートマシンで作業している場合や、--console-only フラグを使用した場合には、URL から確認コードをコピーして、ターミナルのコマンドラインで「Enter verification code:」の後に貼り付けます。

  6. この構成のデフォルトのプロジェクトを選択します。

    認証情報を設定すると、gcloud コマンドライン ツールで、この構成のデフォルトのプロジェクトを指定するよう求められ、使用可能なプロジェクトのリストが表示されます。リストからプロジェクト ID を選択します。

    このプロパティを設定すると、-p フラグでオーバーライドしたり、CLOUDSDK_CORE_PROJECT 環境変数を設定したりしない限り、gsutil mb などプロジェクトを必要とする gsutil コマンドでデフォルトのプロジェクト ID が使用されます。

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

スタンドアロンの gsutil を認証する

HMAC を使用して認証する

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

gsutil config -a

このコマンドを使用した後の操作は、HMAC キーに関連付けられているアクセス ID とシークレットが求められる点を除き、スタンドアロンの gsutil の認証と同様です(前のセクションを参照してください)。

Google Cloud SDK を使用している場合は、次のコマンドを使用して認証情報の引き渡しを無効にする必要もあります。

gcloud config set pass_credentials_to_gsutil false

mTLS を有効にする

また、相互 TLS(mTLS)を有効にすることもできます。デバイスで mTLS が有効になっている場合、デバイスは storage.mtls.googleapis.com への接続を試みます。接続が許可される前に、Cloud Storage がデバイス上の証明書を確認します。

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

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

使ってみる

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

Cloud Storage 無料トライアル