Cloud Storage FUSE を使用して Cloud Storage バケットをマウントする

Cloud Storage FUSE を使用して Cloud Storage バケットをローカル ファイル システムとしてマウントする方法を確認し、標準のファイル システムのセマンティクスを使用してオブジェクトを操作できるようにします。

このクイックスタートでは、次のタスクを行います。

  • Debian または Ubuntu に Cloud Storage FUSE をインストールする

  • バケットをマシン上のフォルダとしてマウントする

  • バケットにオブジェクトをアップロードする

Google Cloud CLI を使用して、ストレージ バケット内のオブジェクトの作成と管理を行います。また、gcsfuse CLI を使用してマシンにバケットをマウントします。

始める前に

プロジェクトを設定するには、次の操作を行います。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Google Cloud Console のプロジェクト セレクタのページで、[プロジェクトを作成] をクリックして新しい Google Cloud プロジェクトの作成を開始します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud CLI をインストールします。
  5. gcloud CLI を初期化するには:

    gcloud init
  6. Google Cloud Console のプロジェクト セレクタのページで、[プロジェクトを作成] をクリックして新しい Google Cloud プロジェクトの作成を開始します。

    プロジェクト セレクタに移動

  7. Google Cloud プロジェクトで課金が有効になっていることを確認します

  8. Google Cloud CLI をインストールします。
  9. gcloud CLI を初期化するには:

    gcloud init
  10. マウントする Cloud Storage バケットを用意します。まだバケットを保有していない場合は、新しいバケットを作成します。

Cloud Storage FUSE をインストールする

Cloud Storage FUSE をインストールするには、Debian または Ubuntu 上のローカルシェルを使用して次の操作を行います。

  1. Cloud Storage FUSE の配布 URL をパッケージ ソースとして追加します。

    export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
    echo "deb https://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
  2. Google Cloud APT リポジトリの公開鍵をインポートします。

    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  3. 使用可能なパッケージのリストを更新します。

    sudo apt-get update
  4. Cloud Storage FUSE とその依存関係 FUSE をインストールします。

    sudo apt-get install fuse gcsfuse
  5. プロンプトが表示されたら、Enter キーを押して確定します。

  6. Cloud Storage FUSE がインストールされていることを確認します。

    gcsfuse -v

    成功した場合、コマンドは次のような出力を返します。

    gcsfuse version 0.41.12 (Go version go1.18.4)

バケットをマウントする

バケットをローカル ファイル システムにマウントするには、次の手順を行います。

  1. gcloud auth application-default login コマンドを使用してアプリケーションのデフォルト認証情報を生成します。

    gcloud auth application-default login

    Cloud Storage FUSE が認証情報を自動的に読み込みます。

  2. ストレージ バケットをマウントするディレクトリを作成します。

    mkdir "$HOME/mount-folder"
  3. gcsfuse コマンドを使用してストレージ バケットをマウントします。

    gcsfuse BUCKET_NAME "$HOME/mount-folder"

    BUCKET_NAME は、マウントするバケットの名前に置き換えます。

    成功した場合、コマンドは次のようなテキストを含む出力を返します。

    File system has been successfully mounted.

バケットにオブジェクトをアップロードする

サンプル オブジェクトをダウンロードして、マウントされたバケットにアップロードするには、次の操作を行います。

バケットにアップロードする子猫の画像。

  1. 上の画像を右クリックして、パソコンに保存します(デスクトップなど)。

    cURL コマンド curl -O https://cloud.google.com/storage/images/kitten.png を使用してイメージをダウンロードすることもできます。

  2. cp コマンドを使用して、保存した場所からバケットがマウントされているフォルダに画像をコピーします。

    cp kitten.png "$HOME/mount-folder/kitten.png"
  3. 次の手順に沿って、画像がローカル ファイル システムにコピーされ、バケットに正常にアップロードされたことを確認します。

    1. kitten.png がローカル ファイル システムにコピーされたことを確認するには、バケットがマウントされているフォルダで ls を実行します。

      ls "$HOME/mount-folder"

      コピー オペレーションが成功した場合は、出力で kitten.png が返されます。

    2. バケットの内容を一覧表示するには、gcloud storage ls コマンドを使用します。

      gcloud storage ls gs://BUCKET_NAME

      BUCKET_NAME は、実際のバケット名を置き換えます。

      画像がバケットに正常にアップロードされると、出力で kitten.png が返されます。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順でリソースを削除します。

  1. fusermount ツールを使用して、Linux マシンからストレージ バケットをマウント解除します。

    fusermount -u "$HOME/mount-folder"
  2. バケットとその中のすべてのものを削除するには、--recursive フラグを指定して gcloud storage rm コマンドを使用します。

    gcloud storage rm gs://BUCKET_NAME --recursive

    BUCKET_NAME は、実際のバケット名を置き換えます。

    成功した場合、コマンドは次のような出力を返します。

    Removing gs://my-bucket/kitten.png#1676488739323620...
     Removing gs://my-bucket/...

次のステップ