S3のバケットをファイルシステムとしてマウントするには、s3fs-fuse というツールを使う。今回使ったヴァージョンは最新の 1.77。
依存するツールのインストール
まずは依存するツールをインストールする。
[ec2-user@ip-172-31-3-244 ~]$ sudo yum install gcc [ec2-user@ip-172-31-3-244 ~]$ sudo yum install libstdc++-devel [ec2-user@ip-172-31-3-244 ~]$ sudo yum install gcc-c++ [ec2-user@ip-172-31-3-244 ~]$ sudo yum install fuse [ec2-user@ip-172-31-3-244 ~]$ sudo yum install fuse-devel [ec2-user@ip-172-31-3-244 ~]$ sudo yum install curl-devel [ec2-user@ip-172-31-3-244 ~]$ sudo yum install libxml2-devel [ec2-user@ip-172-31-3-244 ~]$ sudo yum install openssl-devel [ec2-user@ip-172-31-3-244 ~]$ sudo yum install mailcap [ec2-user@ip-172-31-3-244 ~]$ sudo yum install automake
ダウンロードしてインストール
[ec2-user@ip-172-31-3-244 ~]$ wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.77.tar.gz -O s3fs-fuse-v1.77.tar.gz [ec2-user@ip-172-31-3-244 ~]$ tar xvzf s3fs-fuse-v1.77.tar.gz [ec2-user@ip-172-31-3-244 ~]$ cd s3fs-fuse-1.77 [ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ ./autogen.sh [ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ ./configure --prefix=/usr [ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ make [ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ sudo make install
認証
S3に接続するには認証の必要がある。つまり Access Key ID と Secret Access Key が必要だってこと。方法は4つあるようだけど、今回は /etc/passwd-s3fs ファイルを作る方法にした。
[ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ sudo vim /etc/passwd-s3fs [ec2-user@ip-172-31-3-244 s3fs-fuse-1.77]$ sudo chmod 640 /etc/passwd-s3fs
マウント
[ec2-user@ip-172-31-3-244 ~]$ sudo s3fs lathercraft-storage2 /mnt/lcstorage -o rw,allow_other,default_acl=private
さあ、うまくいってるかな?
[ec2-user@ip-172-31-3-244 ~]$ echo Hello > /mnt/lcstorage/hello.txt [ec2-user@ip-172-31-3-244 ~]$ ls /mnt/lcstorage hello.txt [ec2-user@ip-172-31-3-244 ~]$ df -kh ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda1 7.8G 1.3G 6.5G 16% / devtmpfs 990M 56K 990M 1% /dev tmpfs 1003M 0 1003M 0% /dev/shm s3fs 256T 0 256T 0% /mnt/lcstorage
OK、うまくいった。
参考になったページ
cf. Amazon EC2からS3をファイルシステムとしてマウントする – mooapp
cf. s3fs を使って EC2 に S3 の Bucket をマウントする – Qiita
cf. Installation Notes – s3fs-fuse/s3fs-fuse
追記
インスタンスを再起動した時に自動でマウントするには、/etc/fstab ファイルに次の行を追加する。
s3fs#lathercraft-storage2 /mnt/lcstorage fuse rw,allow_other,default_acl=private 0 0