すべての記事

Amazon S3のバケットをMacにディスクとしてマウントする方法

· 11分で読めます

結論から言うと: macOSだけではできません。Finderのサーバへ接続(⌘K)が扱うのはSMBやWebDAVのようなファイル共有のプロトコルで、S3には対応していません。バケットをディスクとして見るには、S3と通信し、バケットをファイルシステムとして見せるプログラムが必要です。無料で済ませるならrcloneです。nfsmountコマンドがバケットをmacOS内蔵のNFSクライアントに渡すので、macFUSEも管理者パスワードもいりません。マウス操作で済ませるなら、同じことを代わりにやってくれるファイルマネージャ、たとえばFolia Filesがあります。

このガイドでは、Amazon S3と、Backblaze B2、Wasabi、MinIOなどのS3互換サービスについて両方の方法を説明し、そのうえでマウントしたバケットにできること、できないことをまとめます。SFTPサーバについてと、macFUSEを避けたほうがよい理由は、macFUSEなしでMacからSFTPとS3に接続する方法をご覧ください。

最初に4つの情報をそろえる

どちらの方法でも、S3が求める情報は同じです。

  • アクセスキーIDとシークレットキー。 AWSでは、IAMユーザのアクセスキーを作成します。Backblaze B2ではアプリケーションキーを作成します。そのkeyIDがアクセスキーID、applicationKeyがシークレットキーです。アカウント全体を開くキーより、このバケットだけに限ったキーのほうが安全です。
  • バケット名。 一部だけ使うなら、その中のフォルダも。
  • リージョン。 バケットのある場所で、AWSならたとえばeu-west-3です。
  • エンドポイント。 サービスのアドレスです。Amazon S3では不要ですが、ほかのプロバイダではすべて必要で、各社のコンソールに表示されています。
サービス エンドポイント リージョン
Amazon S3 空欄のまま バケットのリージョン(例:eu-west-3)
Backblaze B2 s3.eu-central-003.backblazeb2.com 中央の部分:eu-central-003
Wasabi s3.eu-central-1.wasabisys.com eu-central-1
Scaleway s3.fr-par.scw.cloud fr-par
自分のサーバのMinIO http://nas.local:9000 空欄のことが多い

これらのアドレスは例です。バケットを作成した場所によって変わるので、自分のものをプロバイダからコピーしてください。

rcloneで無料でバケットをマウントする

1. rcloneをインストールする

Homebrewを使い、ターミナルで次のように入力します。

brew install rclone

Homebrew版のrcloneは、macFUSEかFUSE-Tを必要とするrclone mountの実行を拒否します。問題ありません。使うのはrclone nfsmountで、どちらも必要ありません。

2. バケットを「リモート」として保存する

リモートとは、rcloneが覚えておく名前付きの接続です。Backblaze B2のバケットなら次のとおりです。

rclone config create b2 s3 provider=Other access_key_id=YOUR_KEY_ID secret_access_key=YOUR_SECRET endpoint=s3.eu-central-003.backblazeb2.com region=eu-central-003

ほかのサービスではproviderを変えます。AWS(エンドポイントは削除)、Wasabi、Scaleway、Minio、R2ならCloudflare、rcloneの一覧にないサービスならOtherです。rclone configなら同じ質問にひとつずつ答える形になり、シークレットキーがシェルの履歴に残りません。どちらの場合も、rcloneはキーを設定ファイルに書き込みます。設定パスワードを付けない限り、平文のままです。

バケットの最上位を一覧表示して、動作を確認します。

rclone lsd b2:alex-archives

3. マウントする

マウントポイントは、すでに存在する空のフォルダでなければなりません。

mkdir -p ~/Buckets/archives
rclone nfsmount b2:alex-archives ~/Buckets/archives --vfs-cache-mode writes --volname "B2アーカイブ"

これでバケットのファイルが~/Buckets/archivesに、「B2アーカイブ」という名前のディスクとして現れます。コマンドはターミナルのウインドウで動き続けるので、マウントを解除するにはそのウインドウで⌃Cを押します。

  • --vfs-cache-mode writesを付けると、アプリが普通に保存できます。書き込まれた内容はまずローカルのキャッシュに入り、それからバケットへ送られます。このオプションがないと、ファイルを読み書き両方で開くアプリは保存できません。
  • アーカイブを見るだけなら、代わりに--read-onlyを付けます。
  • ほかの人やほかのMacがバケットにファイルを追加するなら--dir-cache-time 30sも。デフォルトでは、rcloneがフォルダを読み直すのは5分に1回だけです。

Folia Filesでバケットをマウントする

Mac用のファイルマネージャFolia Filesも、rcloneのnfsmountでS3をマウントします。ただし接続を覚えておき、シークレットキーをmacOSのキーチェーンに保管し、クリックしたときにバケットをマウントしてくれます。Webサイト版で必要なのは、上の手順でインストールしたrcloneだけです。

  1. ツール › 接続(サーバとクラウド)…(⌘K)を選び、新規接続をクリックしてからS3 / 互換をクリックします。サイドバーでは、サーバの横の+からサーバの種類の一覧に直接進めます。
  2. 表示名を入力します。これがディスクの名前になります。
  3. S3ストレージでプロバイダを選びます。AWS、Scaleway、Wasabi、Minio、DigitalOcean、IDrive、それ以外のサービス(Backblaze B2など)はその他です。続いてアクセスキーID、シークレットキー、リージョン、エンドポイント(オプション)(AWSでは空欄)、バケットとフォルダ(例:alex-archives/2026)を入力します。
  4. オプションでは、見るだけのアーカイブなら読み出し専用を、毎日使うバケットならFolia Files起動時に自動的にマウントをオンにします。
  5. 接続をテストをクリックすると、Folia Filesがフォルダの最上位を一覧表示して見つかった項目の数を伝えるか、エラーを表示します。続いて保存してマウントをクリックします。

Folia Filesの接続ウインドウ。WasabiのバケットへのS3接続で、プロバイダ、アクセスキー、リージョン、エンドポイント、バケットとフォルダ、マウントのオプションが表示されている

バケットはサイドバーのサーバセクションに表示されます。クリックすると、必要ならマウントしてパネルで開きます。マウントされたバケットはMac全体にとってのディスクなので、Finderやほかのアプリからも見えます。Folia Filesでは、片方のパネルにバケットを、もう片方にMacのフォルダを表示して、ファイルをドラッグでやり取りできます。Webサイト版では、自動的にマウントする設定の接続は、スリープのあとやネットワークが戻ったときに自動でつながり直します(設定 › ファイルとネットワーク、デフォルトでオン)。

Folia Filesのサイドバーの「サーバ」セクションにある2つのS3接続(Backblaze B2とAmazon S3)と、その隣の書類の一覧

Folia Filesがほかに何に接続できるかは、「サーバとクラウド」のページにまとめています。

マウントしたバケットにできること、できないこと

S3が保存するのはオブジェクトで、ディスク上のファイルではありません。マウントすればその違いはほとんど見えなくなりますが、すべてではありません。

  • オフライン用には何も残りません。 ファイルは開くたびにバケットから読み込まれます。キャッシュが保持するのは、保存した内容をアップロードし終えるまでの間だけです。Folia Filesはその上限を1 GBとし、ファイルを閉じてから約2秒後に送信します。接続がなければ、バケットの一覧表示もファイルを開くこともできません。Macにコピーを置いておくなら、バケットのフォルダをローカルのフォルダと同期します。オフラインのファイルがいちばん大事なら、Mountain DuckやCloudMounterはファイルを手元に保持します。それぞれのアプリにできることはこの比較で確認できます。
  • 保存するたびにファイル全体がアップロードされます。 S3はオブジェクトの一部だけを変更できないため、大きな動画を少し直しただけでも全体を送り直します。
  • フォルダの名前を変えると、中のファイルすべての名前が変わります。 S3には本当のフォルダはなく、スラッシュを含む名前があるだけなので、大きなフォルダの名前変更や移動には時間がかかります。
  • 空のフォルダは残りません。 作成したフォルダがバケットに残るのは、中にファイルが入ってからです。コマンドラインのrcloneなら、--s3-directory-markersオプションで空のフォルダを残せます。
  • 閲覧にも費用がかかることがあります。 フォルダの一覧表示、ファイルを開くこと、プレビューはどれもリクエストで、ダウンロードは送信トラフィックとして数えられることがあります。プロバイダの料金と、置き換えたり削除したりしたファイルの古いバージョンをバケットが残すかどうかを確認してください。Backblaze B2では、それがデフォルトの設定です。

Webサイト版とMac App Store版

S3はrcloneを通るので、ここでFolia Filesの2つの版に違いが出ます。Webサイト版は、rcloneがインストールされていればすぐにS3をマウントできます。Mac App Store版では、Appleのサンドボックスがアプリにrcloneの起動を許さないため、S3にはfoliafiles.comで配布している無料の小さなアプリ、Folia Files Companionが必要です(rcloneも引き続き必要です)。SMBやWebDAVなどのネットワーク共有は、どちらの版でも何も追加せずに使えます。

よくある質問

FinderからAmazon S3に接続できますか? できません。「サーバへ接続」はS3に対応していません。バケットがFinderに表示されるのは、rcloneなどのツールでマウントしてからです。

macFUSEは必要ですか? 必要ありません。rclone nfsmountも、それを使うFolia Filesも、macOSに付属するNFSクライアントでマウントします。システム拡張も管理者パスワードもいりません。

Cloudflare R2やほかのS3互換サービスもマウントできますか? rcloneでは、一覧からそのプロバイダを選ぶか(R2ならCloudflare)、Otherを選んでサービスのエンドポイントを指定します。Folia Filesでは、「プロバイダ」メニューにないサービスは「その他」を選びます。使い始める前に「接続をテスト」をクリックしてください。