5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Oracle Cloud] OCIFS ユーティリティをつかってObject Storageのバケットをマウントしてみた。(2023/08/02)

Posted at

はじめに

OCI Object Storageバケットをファイルシステムとしてマウントが可能なOCIFSユーティリティが提供されました。
OCIFSを使用してObject Storageバケットをマウントした後、そのバケット内のオブジェクトに通常のファイルまたはディレクトリとしてアクセスできます。
インストールし使用してしてみました。

OCIFSユーティリティの前提条件

  • OCIFS ユーティリティ ( ocifs ) パッケージは、Oracle Linux 8 以降で使用可能
  • OCI Object StorageのバケットにアクセスできるシステムまたはOCI コンピュートインスタンス
  • Object Storageのバケットは事前に作成
  • ローカル・ディスク領域
    • OCIFSは、Object Storageのオブジェクトをキャッシュするためにローカル・ディスク領域を消費する

OCIFSユーティリティをインストール

  1. 前提条件のクリア
  2. ocifsパッケージを含むoci_includedリポジトリを有効化
    • OCI プラットフォームイメージのOracle Linux 8 / Oracle Linux 9 では有効化済み
  3. ocifsパッケージをインストール
$ sudo dnf install ocifs

OCI認証の設定

OCIFSユーティリティは APIキーベースの認証(デフォルト)またはインスタンスプリンシパル認証で認証します。

APIキーベースの認証

CLI 構成ファイル ( ~/.oci/config) に[DEFAULT]プロファイルと以下のエントリが必要です。( cli のインストールは 不要です )

  • user
  • tenancy
  • region
  • key_file
  • finderprint

構成ファイルの例

~/.oci/config
[DEFAULT]user=ocid1.user.oc1..aaaaaaaaXXXXX
fingerprint=fa:56:8a:e9:42:c8:8a:07:49:73:XX:XX:XX:XX
tenancy=ocid1.tenancy.oc1..aaaaaaaaXXXXX
region=ap-tokyo-1
key_file=/home/opc/.ssh/private.pem

インスタンスプリンシパル認証

  1. コンピュート・インスタンスに一致するルールを使用して、動的グループを作成
  2. 動的グループにObject Storageの管理を許可するポリシーを作成
    Allow dynamic-group <動的グループ名> to manage object-family in compartment <コンパートメント名>

OCIFSでのマウント

$ ocifs <バケット名> <ディレクトリ名>

ocifs_bucket バケットを ./mydir にマウントする例

$ mkdir mydir
$ ocifs ocifs_bucket mydir

マウント後は 通常のファイルシステムディレクトリとしてファイル操作が可能

$ cd mydir
$ vi abc.txt
$ cp $HOME/a.csv .
$ ls -l
total 0
-rw-r--r--. 1 opc opc  168 Aug  2 00:00 aba.txt
-rw-r--r--. 1 opc opc    5 Aug  2 00:00 a.csv

OCI Webコンソールなどで Object Storage にアップロードしたファイルも確認可能です。

image.png

$ ls -l mydir
total 0
-rw-r--r--. 1 opc opc  595 Aug  2 00:00 2023.txt
-rw-r--r--. 1 opc opc  168 Aug  2 00:00 aba.txt
-rw-r--r--. 1 opc opc    5 Aug  2 00:00 a.csv

インスタンスプリンシパルでの認証

インスタンスプリンシパルで認証する場合は --auth オプションを追加します。

$ mkdir mydir
$ ocifs --auth=instance_principal ocifs_bucket mydir

OCIFS のアンマウント

fusermount コマンドで アンマウントします。

fusermount -u mydir

留意点

  • OCIFS は共有ファイル システムではありません。
  • オブジェクト・データの破損を避けるため、OCIFSを使用して同じオブジェクト・ストレージ・バケット(または重複するバケットのサブフォルダ)を同時にマウントしないでください。

補足

root ユーザでのマウント/アンマウントも可能

# mkdir /mnt
# mount -t fuse.ocifs ocifs_bucket /mnt
# umount /mnt

おわりに

簡単に Object Storage バケットを ファイルシステムのように操作することができるようになりました。

参考情報

5
3
0

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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?