AWSのS3をEC2にマウントするs3fsを試してみる
2016/04/17
s3fsとは
FUSE(Filesystem in Userspace)を通してs3のバケットにアクセスすることができるツールです。
s3fsを試す
yumで必要資材のインストール
1 2 |
sudo yum -y update sudo yum install automake fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel |
s3fsのコンパイル&インストール
1 2 3 4 5 6 |
git clone https://github.com/s3fs-fuse/s3fs-fuse.git cd s3fs-fuse ./autogen.sh ./configure make sudo make install |
マウントするディレクトリを作ります
1 2 |
sudo mkdir /mnt/s3 sudo chmod 777 /mnt/s3 |
root以外でもアクセスできるように編集する必要があるようです。
1 |
sudo vi /etc/fuse.conf |
以下に変更(user_allow_otherをコメントイン)
1 2 |
# mount_max = 1000 user_allow_other |
以下でマウント
1 |
s3fs s3dj-extream /mnt/s3 -o rw,allow_other,uid=500,gid=500,default_acl=public-read,iam_role="s3access" |
s3dj-extreamでs3で作成したバケット名、uidとgidはマウントするユーザーのidです。s3acessは作成したs3のアクセス権限のあるIAM roleです。
容量を確認しましょう。
1 2 3 4 5 6 |
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 1.3G 6.5G 17% / devtmpfs 238M 56K 238M 1% /dev tmpfs 246M 0 246M 0% /dev/shm s3fs 256T 0 256T 0% /mnt/s3 |
256テラバイト!!わお。
試しにファイルを書き込んでみます。
1 2 |
cd /mnt/s3/ touch hoge |
マネジメントコンソールでs3のバケットを確認してみます。
登録できていますね。
その他
気になるのはアクセス頻度がどうなるのか(マウント先でlsコマンド打つたびにS3のリストアクセスとして課金扱いになる?)など気になるところはおおいですが、また後ほど検証したいところです。
goofysというマウントツールもあるようなのでそちらも試してみたいところ。