コンテンツにスキップ

s3fs-fuseの利用

ABCIではs3fs-fuseモジュールを提供しており、ABCIクラウドストレージのバケットをローカルのファイルシステムとしてマウントできます。 ここではs3fs-fuseモジュールの使用方法を説明します。

アクセスキー

s3fs-fuseを使うにあたり、アクセスキーが必要です。 アクセスキーの発行方法については ABCI利用者ポータルガイドを参照してください。 アクセスキーを発行したあとAWS CLIを使用しアクセスキーを設定します。アクセスキーの設定方法についてはABCIクラウドストレージの使い方を参照してください。

ここではアクセスキーをdefaultプロファイルで設定しているものとします。

モジュールのロード

インタラクティブノードにログイン後、s3fs-fuseモジュールをロードします。 バケットの作成などを行うため、aws-cliのモジュールも合わせてロードします。

[username@es1 ~]$ module load aws-cli s3fs-fuse

バケットの作成

マウントするためのバケットを作成します。

[username@es1 ~]$ aws --endpoint-url https://s3.abci.ai s3 mb s3://s3fs-bucket
make_bucket: s3fs-bucket

バケットをマウントする

マウントポイントをHOMEディレクトリ上に作成し、先ほど作成したs3fs-bucketバケットをs3fsコマンドでマウントします。

[username@es1 ~]$ mkdir s3fs_dir
[username@es1 ~]$ s3fs s3fs-bucket ~/s3fs_dir -o url=https://s3.abci.ai/ -o use_path_request_style

defaultプロファイル以外のアクセスキーを使いたい場合は-o profile=プロファイル名オプションを指定します。

[username@es1 ~]$ s3fs s3fs-bucket ~/s3fs_dir -o url=https://s3.abci.ai/ -o profile=aaa00000.2 -o use_path_request_style

ファイル操作

バケットをマウントした後は、ファイル操作と同じ方法でバケットへオブジェクトの追加、削除が行えます。

[username@es1 ~]$ cp ~/my-file ~/s3fs_dir/
[username@es1 ~]$ ls ~/s3fs_dir/my-file
[username@es1 ~]$ rm ~/s3fs_dir/my-file

バケットをアンマウントする

バケットをアンマウントするにはfusermountコマンドを使用します。

[username@es1 ~]$ fusermount -u ~/s3fs_dir

On-demand、Spotサービスで確保したジョブ内でs3fs-fuseを使用してバケットをマウントした場合、ジョブの終了時に自動でアンマウントされます。ただし、インタラクティブノード上でs3fs-fuseを利用してバケットをマウントした場合は、自動でアンマウントされないため、不要になったらアンマウントしてください。

s3fsコマンドオプション

s3fsコマンドのオプションを以下に示します。詳細についてはman s3fsまたはs3fs-fuseのWebサイトを参照してください。

オプション 説明
url 接続するエンドポイントURL。 -o url=https://s3.abci.ai
profile 認証に使用するプロファイル名。 -o profile=aaa00000.2
dbglevel デバッグメッセージレベル。 -o dbglevel=info
curldb libcurlデバッグメッセージの有効化 -o curldb