FUSEを利用したs3fs
というツールがありS3互換のオブジェクトストレージをマウントできるので試してみた。
tl;dr
以下のコピペで${target_dir}
に${target_bucket}
をマウントできる。
オプションを与えたいときは-o
で与える。特にエンドポイントを与えたいときはurl
与えられる。
S3互換のオブジェクトストレージを利用する場合はこれが必要。
1
2
3
4
|
$ echo <<EOCONF > ~/.passwd-s3fs && chmod 600 ~/.passwd-s3fs
${ACCESS_KEY_ID}:${SECRET_KEY_ID}
EOCONF
$ s3fs ${target_bucket} ${target_dir} -o url=${endpoint_url}
|
インストール周辺
v1.74でコンパイルこけてgcc調べたり必要が出て面倒だったのでver.を下げました。
1
2
3
4
5
6
7
8
9
|
$ yum install fuse
$ modprobe fuse
$ yum install libxslt-devel
$ wget http://s3fs.googlecode.com/files/s3fs-1.73.tar.gz
$ tar zxvf s3fs-1.73.tar.gz
$ cd s3fs-1.73
$ ./configure --prefix=/home/vagrant/local
$ make
$ make install
|
リージョン間速度比較
US,Tokyoのリージョンエンドポイントを指定してtimeで比較したけど大差なし(オブジェクト数:1)。
バケットないファイル数が多くTCPウィンドウサイズを越えたりすると急に劣化が起きるか比較したい。
1
2
3
4
5
6
7
8
9
10
11
|
$ s3fs sample.bucket ./test_s3fs/ -o url=http://s3.amazonaws.com
$ time ls ./test_s3fs
...
real 0m0.212s
...
$ s3fs sample.bucket ./test_s3fs/ -o url=http://s3-ap-northeast-1.amazonaws.com
$ time ls ./test_s3fs
...
real 0m0.225s
...
|