すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:s3fs、goofys、Rclone を使用して、異なるオペレーティングシステムのローカルファイルシステムに OSS バケットをマウントする

最終更新日:Apr 02, 2026

このトピックでは、s3fs、goofys、Rclone を使用して、さまざまなオペレーティングシステムで Object Storage Service (OSS) バケットをローカルファイルシステムにマウントする方法について説明します。これにより、ローカルファイルに対する操作と同様に OSS オブジェクトに対する操作を実行でき、データを共有できます。

前提条件

  • Resource Access Management (RAM) ユーザーが作成され、AccessKey ペアが取得されていること。詳細については、「RAM ユーザーの作成」をご参照ください。

  • RAM ユーザーにシステム権限またはカスタム権限が付与されていること。

    • システム権限: RAM ユーザーに AliyunOSSFullAccess ポリシーをアタッチして OSS を管理できるようにするか、AliyunOSSReadOnlyAccess ポリシーをアタッチして OSS オブジェクトにのみアクセスできるようにします。

    • カスタム権限: ビジネスシナリオに基づいてきめ細かな OSS 権限制御を実装するために、RAM ユーザーにカスタム権限を付与できます。詳細については、「RAM ポリシーの一般的な例」をご参照ください。

s3fs

s3fs を使用して、Linux または macOS のローカルファイルシステムに OSS バケットをマウントできます。OSS バケットをローカルファイルシステムにマウントすると、ローカルファイルに対する操作と同様に OSS オブジェクトに対する操作を実行でき、データを共有できます。s3fs の詳細については、GitHub をご参照ください。s3fs を使用して OSS バケットをローカルファイルシステムにマウントする際に発生する可能性のある問題の解決方法については、「FAQ」をご参照ください。

特徴

  • POSIX ファイルシステムのほとんどの機能をサポートします。たとえば、オブジェクトやディレクトリのアップロードとダウンロード、シンボリックリンクとユーザー権限の構成が可能です。

  • ランダム書き込み機能をサポートし、既存のオブジェクトにデータを追加できます。

  • ハードリンクはサポートしていません。

  • マルチパートアップロードを使用してラージオブジェクトをアップロードします。

  • ローカルファイルをキャッシュとして使用します。

重要

s3fs を使用してオブジェクトをアップロードまたはダウンロードする場合、オブジェクトはローカルにキャッシュされる必要があります。ダウンロードまたはアップロード速度は、ディスクの読み書き性能に依存します。ローカルキャッシュのサイズは際限なく増加する可能性があります。ローカルキャッシュを定期的にクリアすることを推奨します。

操作手順

s3fs を使用して OSS バケットをローカルファイルシステムにマウントするには、次の手順を実行します。

  1. s3fs をインストールします。

以下に、Ubuntu、CentOS、macOS で s3fs をインストールするコマンドの例を示します。他のオペレーティングシステムで s3fs をインストールするコマンドの詳細については、「Installation」をご参照ください。

  • Ubuntu

    sudo apt install s3fs 
  • CentOS

    sudo yum install epel-release 
    sudo yum install s3fs-fuse
  • Mac

    brew install --cask macfuse 
    brew install gromgit/fuse/s3fs-mac
  1. バケットへのアクセスに使用するアカウント情報を構成します。

    バケットへのアクセスに使用できる AccessKey ペアを /.passwd-s3fs ファイルに保存します。

    echo ACCESS_KEY_ID:ACCESS_KEY_SECRET > ${HOME}/.passwd-s3fs
  2. /.passwd-s3fs ファイルの権限を 600 に設定します。

    chmod 600 ${HOME}/.passwd-s3fs
  3. バケットをマウントします。

    1. 次のコマンドを実行して、マウントターゲットを作成します。

      mkdir /tmp/oss-bucket
    2. 次のコマンドを実行して、中国 (杭州) リージョンの examplebucket バケットを /tmp/oss-bucket にマウントします。

      s3fs examplebucket /tmp/oss-bucket -o passwd_file=$HOME/.passwd-s3fs -ourl=http://oss-cn-hangzhou.aliyuncs.com
      説明
      • Elastic Compute Service (ECS) インスタンスが OSS バケットと同じリージョンにある場合、ECS インスタンスから OSS バケットにアクセスするために内部エンドポイント oss-cn-hangzhou-internal.aliyuncs.com を使用できます。詳細については、「リージョンとエンドポイント」をご参照ください。

      • s3fs がサポートするパラメーターの詳細については、「Options」をご参照ください。

goofys

goofys を使用すると、Linux または macOS のローカルファイルシステムにバケットをマウントできます。goofys は POSIX の特定の機能のみをサポートしています。詳細については、GitHub をご参照ください。

特徴

  • シーケンシャル書き込み機能のみをサポートします。

  • オブジェクトの権限と属性は保存しません。

  • シンボリックリンクとハードリンクはサポートしていません。

  • 作成時間 (ctime)、アクセス時間 (atime)、変更時間 (mtime) は同じです。

  • ローカルキャッシュに依存しません。

オブジェクトのメタデータに対する操作はサポートされていません。オブジェクトのメタデータに依存する特定のシナリオでは、goofys に使用制限があります。

s3fs と比較すると、goofys はローカルキャッシュに依存しません。このため、goofys は cp や mv などの操作において、より優れた読み書き性能を発揮します。詳細については、「ベンチマーク」をご参照ください。

ランダム書き込みはサポートされていません。goofys は読み取り専用のシナリオにより適しています。

ビジネス要件に基づいて goofys を使用できます。

操作手順

goofys を使用して OSS バケットをローカルファイルシステムにマウントするには、次の手順を実行します。

  1. goofys をインストールします。

以下に、Linux および macOS で goofys をインストールするコマンドの例を示します。他のオペレーティングシステムで goofys をインストールするコマンドの詳細については、「Installation」をご参照ください。

  • Linux

    curl -SL "https://github.com/kahing/goofys/releases/latest/download/goofys" -o $HOME/goofys
    chmod u+x $HOME/goofys
  • Mac

    brew cask install osxfuse
    brew install goofys
  1. バケットへのアクセスに使用するアカウント情報を構成します。

    1. 次のコマンドを実行して、設定ファイルを作成します。

      mkdir ~/.aws
    2. 次のコマンドを実行して、設定ファイルを開きます。

      vi ~/.aws/credentials
    3. AccessKey ペアを指定します。AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。

      [default]
      aws_access_key_id =  The AccessKey ID that is used to access OSS. 
      aws_secret_access_key = The AccessKey secret that is used to access OSS.
  2. バケットをマウントします。

    次の例では、中国 (杭州) リージョンの examplebucket バケットが /mnt/oss-bucket にマウントされます。

    1. 次のコマンドを実行して、マウントターゲットを作成します。

      mkdir /mnt/oss-bucket
    2. 次のコマンドを実行して、examplebucket バケットを /mnt/oss-bucket にマウントします。

      $HOME/goofys --endpoint http://oss-cn-hangzhou.aliyuncs.com --subdomain examplebucket /mnt/oss-bucket
      説明
      • 上記の例の --subdomain オプションは、仮想ドメイン名を有効にするために必要です。マウントするバケット、バケットが配置されているリージョンのエンドポイント、マウントターゲットなどの他のオプションは、要件に基づいて置き換えることができます。

      • ECS インスタンスが OSS バケットと同じリージョンにある場合、ECS インスタンスから OSS バケットにアクセスするために内部エンドポイント oss-cn-hangzhou-internal.aliyuncs.com を使用できます。

Rclone

Rclone は、クラウド内のデータを管理するために使用されるコマンドラインプログラムであり、50 を超えるクラウドストレージサービス間のデータ同期をサポートしています。Rclone を使用すると、Windows のローカルファイルシステムにバケットをマウントできます。これにより、ローカルディスクを使用するのと同様の方法でバケットを使用し、データを共有できます。

特徴

  • ファイル同期、ファイル転送、ファイル暗号化、およびバケットのマウントをサポートします。

  • さまざまなオペレーティングシステムのローカルファイルシステムにバケットをマウントでき、さまざまなプロトコルを使用してサービスを提供します。

詳細については、「Rclone syncs your files to cloud storage」をご参照ください。

操作手順

Rclone を使用して Windows のローカルファイルシステムに OSS バケットをマウントするには、次の手順を実行します。

  1. 画面の指示に従って Winfsp をダウンロードしてインストールします。

    この例では、winfsp-1.12.22339 がダウンロードされます。winfsp-1.12.22339 をダウンロードするには、「WinFsp 2023t」をご参照ください。

  2. Rclone をダウンロードします。

    この例では、rclone-v1.60.1-windows-amd64 がダウンロードされます。rclone-v1.60.1-windows-amd64 をダウンロードするには、「Downloads」をご参照ください。Rclone はコマンドラインプログラムです。インストールパッケージをダウンロードした後、D:\Rclone などのローカルディレクトリに解凍するだけで済みます。

  3. Rclone を構成します。

    1. D:\Rclone を環境変数に追加します。

    2. コマンドラインインターフェイス (CLI) を開き、「rclone --version」と入力し、Enter キーを押します。

      「rclone 1.60.1」が返された場合、Rclone はインストールされています。

    3. 「rclone config」コマンドを入力し、Enter キーを押します。

    4. 「n」と入力し、Enter キーを押して、新しいリモートを作成します。

      この例では、新しいリモートは oss-remote と名付けられています。

    5. name> プロンプトで、oss-remote などのリモートの名前を入力し、Enter キーを押します。

    6. 「Amazon S3 Compliant Storage」を含むオプションを選択するか、「5」と入力し、Enter キーを押します。

    7. 「Alibaba Cloud Object Storage System (OSS)」を含むオプションを選択するか、「2」と入力し、Enter キーを押します。

    8. CLI に env_auth> が表示されたら、Enter キーを押します。

    9. CLI に access_key_id> が表示されたら、OSS へのアクセスに使用する AccessKey ID を入力し、Enter キーを押します。

    10. CLI に secret_access_key> が表示されたら、OSS へのアクセスに使用する AccessKey Secret を入力し、Enter キーを押します。

    11. CLI に endpoint> が表示されたら、OSS へのアクセスに使用するエンドポイントを入力し、Enter キーを押します。

      たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを oss-cn-hangzhou.aliyuncs.com に設定します。Windows を実行する ECS インスタンスが OSS バケットと同じリージョンにある場合、ECS インスタンスから OSS バケットにアクセスするために内部エンドポイント oss-cn-hangzhou-internal.aliyuncs.com を使用できます。

    12. CLI に acl> が表示されたら、オブジェクトアクセス制御リスト (ACL) を選択し、Enter キーを押します。

      このオプションは、新しくアップロードされたオブジェクトにのみ利用可能です。要件に基づいてオブジェクト ACL を選択できます。この例では、「1」と入力してオブジェクト ACL をデフォルトに設定します。デフォルトは、オブジェクト ACL が非公開であることを示します。

    13. CLI に storage_class> が表示されたら、オブジェクトストレージクラスを選択し、Enter キーを押します。

      この例では、「1」と入力してオブジェクトストレージクラスをデフォルトに設定します。デフォルトは、オブジェクトストレージクラスがバケットから継承されることを示します。

    14. CLI に Edit advanced config?(y/n) が表示されたら、「n」と入力し、Enter キーを押します。

    15. 「q」と入力して構成を完了します。

  4. バケットをマウントします。

    次のサンプルコードは、examplebucket という名前のバケットを E: にマウントし、D:\disk-cache をキャッシュディレクトリとして使用する方法の例を示しています。

    rclone mount oss-remote:/examplebucket E: --cache-dir D:\disk-cache --vfs-cache-mode writes

    「The service rclone has been started」というメッセージが返された場合、examplebucket は E: にマウントされています。この場合、examplebucket(E:) を表示できます。