🐷

rcloneでGCSをwindowsにmountする

に公開

はじめに

rcloneというクラウドストレージ関連の操作(copy, sync, mount, ...)ができるCLIツールがある。対象となるストレージはGoogle Driveやs3など多岐にわたるが、この中にGoogle Cloud Storage (GCS)も含まれる。
rcloneを使ってwindowsにGCSをマウントしてみる。

インストール

公式のドキュメントはここにある。

https://rclone.org/install/#windows

ダウンロードは

  1. 公式サイト: https://rclone.org/
  2. GitHub: https://github.com/rclone/rclone/releases
  3. winget
  4. chocolately

の4種。個人的にシングルバイナリの方が好きなのでGitHubからダウンロードした。(相性問題かもしれないが公式サイトは信じられないくらい遅かった。)

rclone mountのためにはWinFsp(LinuxでいうFUSEを実現するような仕組み?)が必要とのことで、winfspもインストール。

認証

まずはremoteの設定をrclone configで行う必要がある。
ここで実施したコンフィグはデフォルトでは%APPDATA%\rclone\rclone.confに作成される模様。
変更したい場合はオプション経由で--config=HOGEHOGE/rclone.confのように指定するか、環境変数RCLONE_CONFIG_DIRで指定する必要がある。

ざっと読む限りでは以下の認証が利用可能っぽい。

  • oauth
  • service accountのjson
  • 環境変数経由での指定

コンフィグファイル自体をパスワードで保護することも可能。

いったんは以下で設定。remoteの名前はgcs_testとした。

Options:
- type: google cloud storage
- object_acl: private
- bucket_acl: private
- bucket_policy_only: true
- location: asia-northeast1
- env_auth: true

疎通確認

Application Default Credentialsを利用して、疎通を確認する。
検証では環境変数GOOGLE_APPLICATION_CREDENTIALSを利用した。

rclone ls gcs_test:bucket_hogehoge

mountする

疎通の確認が取れたので、mountする。
注意点は以下。

結果的に以下のコマンドを利用してRドライブへとマウントした。

rclone mount gcs_test:bucket_hogehoge r:\ -o FileSecurity="D:P(A;;FA;;;WD)" --vfs-cache-mode full

Discussion