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. コマンド プロンプトで次のコマンドを入力します。
    curl https://sdk.cloud.google.com | bash
  2. プロンプトが表示されたら、ファイル システム(通常はホーム ディレクトリ)の場所を選択して、その下に google-cloud-sdk サブディレクトリを作成します。
  3. Cloud SDK コマンドライン ツールを PATH に追加してコマンドの補完を有効にする場合、プロンプトが表示されたら y と回答します。
  4. シェルを再起動します。
    exec -l $SHELL
  5. gcloud init を実行して gcloud 環境を初期化します。
    gcloud init
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

    トラブルシューティングのヒント: 使用しているディストリビューションで 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

    トラブルシューティングのヒント: cloud-sdk リポジトリのエントリが重複していないことを確認してください。

  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 -

    トラブルシューティングのヒント: 鍵が期限切れで最新バージョンを取得できない場合は、最新の apt-get.gpg キーファイルを取得します。

    トラブルシューティングのヒント: 使用しているディストリビューションの apt-key コマンドで --keyring 引数がサポートされていない場合は、次のコマンドを代わりに実行してください。

    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key 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 に戻す場合(ここでは「123.0.0」とします)は、sudo apt-get update && sudo apt-get install google-cloud-sdk=123.0.0-0 コマンドを実行します。

macOS
  1. コマンド プロンプトで次のコマンドを入力します。
    curl https://sdk.cloud.google.com | bash
  2. プロンプトが表示されたら、ファイル システム(通常はホーム ディレクトリ)の場所を選択して、その下に google-cloud-sdk サブディレクトリを作成します。
  3. Cloud SDK コマンドライン ツールを PATH に追加してコマンドの補完を有効にする場合、プロンプトが表示されたら y と回答します。
  4. シェルを再起動します。
    exec -l $SHELL
  5. gcloud init を実行して gcloud 環境を初期化します。
    gcloud init
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 による署名が付いています。

    Cloud SDK には Python が必要です。サポートされているバージョンは 3.5~3.8、2.7.9 以降です。

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

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

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

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

    • Start Google Cloud SDK Shell
    • Run 'gcloud init'

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

  4. デフォルトのインストールには、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 をインストールしておく必要があります。gsutil ではマイナー バージョン 2.7.x~3.7.x が正式にサポートされています。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