12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI Object StorageのバケットをLinux/Windowsのローカルにマウントする

Last updated at Posted at 2022-05-25

OCI Object Storageのバケットをローカルのファイル・システムにマウントするのは可能です。マウント後、ローカルのフォルダとファイルのように、バケットとオブジェクトを使用できます。今回は、LinuxとWindows両方にマウントする方法を紹介したいと思います。

【お知らせ】
この記事の最新版は、個人ブログ「OCI Tech Journal」で公開しています。ぜひそちらをご覧ください。
https://oci-tech.jp/mount-oci-object-storage/

検証環境

  • OS: Oracle Linux 8, Windows Server 2019 Standard

各種方法の対比

ツール 対応OS 対応リージョン ライセンス 製品ページ
s3fs-fuse Linux, macOS, FreeBSD 全てのリージョン オープンソース リンク
CloudBerry Drive Windows ホームリージョンのみ 15日間トライアル リンク
Rclone mount Linux, FreeBSD, macOS, Windows 全てのリージョン オープンソース リンク

STEP

1. 事前準備

1-1. クレデンシャルの生成

プロファイル・アイコン(右上) → 自分のプロファイル → 顧客秘密キー → 秘密キーの生成
二度と表示しないので、生成された秘密キー(Secret key)をメモしておいてください。

マウスを「アクセス・キー」(Access Key)に移動し、キーをコピーします。

1-2 ネームスペースの確認

プロファイル・アイコン(右上) → テナンシ

  • 一部の古いテナンシでは、ネームスペースとテナンシ名は同じですけど、そもそも別物なので、間違いようにご注意ください。
  • OCI-CLIを利用する場合、oci os ns getで簡単に取得できます。

2. s3fsの利用 (Oracle Linuxの場合)

2-1. s3fs-fuseのインストール

コマンド:sudo yum install s3fs-fuse --enablerepo ol8_developer_EPEL

[opc@linux8 ~]$ sudo yum install s3fs-fuse --enablerepo ol8_developer_EPEL
Last metadata expiration check: 0:00:41 ago on Sun 15 May 2022 05:40:13 PM CST.
Dependencies resolved.
=================================================================================================================================
 Package                     Architecture           Version                             Repository                          Size
=================================================================================================================================
Installing:
 s3fs-fuse                   x86_64                 1.91-1.el8                          ol8_developer_EPEL                 273 k
Installing dependencies:
 fuse                        x86_64                 2.9.7-12.0.4.el8                    ol8_baseos_latest                   84 k
 fuse-common                 x86_64                 3.2.1-12.0.4.el8                    ol8_baseos_latest                   22 k

Transaction Summary
=================================================================================================================================
Install  3 Packages

Total download size: 379 k
Installed size: 856 k
Is this ok [y/N]: y
......
Installed:
  fuse-2.9.7-12.0.4.el8.x86_64            fuse-common-3.2.1-12.0.4.el8.x86_64            s3fs-fuse-1.91-1.el8.x86_64

Complete!
[opc@linux8 ~]$

s3fs-fuseをインストールするために、Oracle EPEL レポジトリを有効する必要があります。そうしないと、次のようなエラーが発生します。

[opc@linux8 ~]$ sudo yum install s3fs-fuse
Last metadata expiration check: 3:10:03 ago on Sun 15 May 2022 02:11:38 PM CST.
No match for argument: s3fs-fuse
Error: Unable to find a match: s3fs-fuse
[opc@linux8 ~]$

2-2. クレデンシャルの設定

パスワード・ファイルを作成
パスとファイル名: ${HOME}/.passwd-s3fs
コマンド:
echo ACCESS_KEY:SECRET_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs

アクセス・キー(ACCESS_KEY)と秘密キー(SECRET_KEY)の真ん中に、半角のコロンで結合されます。

2-3. バケットをマウント

マウント・ポイントを作成:

[opc@linux8 ~]$ mkdir $HOME/mntmybucket
[opc@linux8 ~]$

バケットをマウント:
s3fs <bucket_Name> <mount_point> -o url=https://<namespace_name>.compat.objectstorage.<region>.oraclecloud.com -o nomultipart -o use_path_request_style -o endpoint=<region>

<namespace_name>をネームスペースに置き換えてください (STEP 1-2で確認)。
<region>をリージョン識別子に置き換えてください。分からない場合はこちらをご確認ください。

[opc@linux8 ~]$ s3fs MyBucket $HOME/mntmybucket -o url=https://<namespace_name>.compat.objectstorage.ap-tokyo-1.oraclecloud.com -o nomultipart -o use_path_request_style -o endpoint=ap-tokyo-1
[opc@linux8 ~]$ 

検証:
コマンド: df -h <mount_point> or df -h <mount_dir>

[opc@linux8 ~]$ df -h mntmybucket
Filesystem      Size  Used Avail Use% Mounted on
s3fs             16E     0   16E   0% /home/opc/mntmybucket
[opc@linux8 ~]$

バケットをアンマウント:
コマンド: fusermount -u <mount_point>

[opc@linux8 ~]$ fusermount -u mntmybucket
[opc@linux8 ~]$

Tips

  • s3fsのコマンドに、-o allow_other -o umask=000を付けると、他ユーザーでも使えるようになる。読込と書込権限の設定は、umaskで制御できる。
  • /etc/fstabを編集すれば、サーバが再起動されても自動にマウントできる。

3. CloudBerry Driveの利用 (Windowsの場合)

  • 3-1. CloudBerry Driveのインストール
  • 3-2. ストレージ・アカウントを追加
  • 3-3. ドライブを追加

この方法の詳細は、こちらでご確認いただけます。

4. Rclone mountの利用

Rclone は、クラウド・ストレージ上のファイルを管理するコマンドライン・プログラムです。rclone mountを使用すると、Linux、FreeBSD、macOS、および Windows で、Rclone のクラウド・ストレージ・システムを FUSE を使用してファイル・システムとしてマウントできます。

  • 4-1. Rcloneのインストール
  • 4-2. WinFspのインストール (Windowsの場合)
  • 4-3. バケットをマウント

この方法の詳細は、こちらでご確認いただけます。

追記 - オブジェクトストレージの専用エンドポイント

上記の例に利用しているオブジェクトストレージのURLパスは、現時点サポートされていますが、新の専用エンドポイントに切り替えることを推奨します。変更理由について、ドキュメントの記載をご参照ください。

APIタイプ 現在のURL 新しいURL
S3-compatible $namespace.compat.objectstorage.$region.oraclecloud.com $namespace.compat.objectstorage.$region.oci.customer-oci.com

以上です。


改訂歴
2022年5月:初版作成
2023年5月:追記: Rclone mount の利用
2025年2月:追記: オブジェクトストレージの専用エンドポイト


関連記事
オラクル・クラウドの個人ブログ一覧
OCIオブジェクト・ストレージへのファイル転送方法のまとめ

MOS(My Oracle Support) ドキュメント
OCI File Storage Services (FSS) - How to Mount an Object Storage Bucket as Filesystem in Oracle Linux 8 and Above Using s3fs Fuse (Doc ID 2963975.1)

Oracle Cloud Infrastructure - How to Mount an ObjectStorage Bucket as Filesystem in Oracle Linux 7 (Doc ID 2577407.1)

OCIドキュメント
オブジェクト・ストレージの専用エンドポイント


Rclone マニュアル
Rclone mount

12
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?