LoginSignup
12
12

More than 5 years have passed since last update.

s3fsでマウント(IAM:ユーザー)

Posted at

S3をマウントする方法は2種類(s3fs,goofys)ありますが、そのうちのs3fsでのマウントを記録します。
goofysでマウントが気になる方はこちら(IAM設定あり)にあります。

IAMの設定とバケットの作成

IAMの設定

冒頭にあるgoofysのリンクのIAMの設定を見てください。
1,ユーザー作成
2,ポリシー作成
3,ユーザーにポリシーをアタッチする
をやるだけでいいです。

バケットの作成

S3のサービスを開いてバケットの作成。適当にリージョンと名前を決め作成する。

s3fsでマウント

・rootユーザーで基本作業します

sudo su
cd

s3fsのインストール

yum -y install git automake gcc-c++ fuse fuse-devel libcurl-devel libxml2-devel openssl-devel
wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz
tar xzvf v1.78.tar.gz
rm -f v1.78.tar.gz
cd s3fs-fuse-1.78/
./autogen.sh
./configure prefix=/usr
make
make install

IAMで作成したユーザーをs3fsに登録

vi /etc/passwd-s3fs

passwd-s3fs
バケット名:アクセスキー:シークレットキー

・権限変更
chmod 640 /etc/passwd-s3fs

s3fsでマウント手順

cd ~
touch s3fs-mount.sh
chmod u+x s3fs-mount.sh
vi s3fs-mount.sh

マウントポイントは自分で適当な場所にmkdirで作成してください。

s3fs-mount.sh
#!/bin/bash
s3fs [バケット名] [マウントポイントのディレクトリ] -o allow_other,use_cache=/tmp,uid=[UID],gid=[GID],passwd_file=/etc/passwd-s3fs
#!/bin/bash
s3fs example-s3buket /home/ec2-user/s3-mountpoint -o allow_other,use_cache=/tmp,uid=500,gid=500,passwd_file=/etc/passwd-s3fs

・実行
./s3fs-mount.sh

・確認
df -h実行結果にs3fsと自分がマウントしたディレクトリ名が出てくれば成功

以上終わりです。

自動起動とアンマウントのやり方

自動起動

vi /etc/fstab
fstabに以下を追記する

fstab
s3fs#[バケット名] [マウントするディレクトリ] fuse allow_other,use_cache=/tmp,uid=[UID],gid=[GID],passwd_file=/etc/passwd-s3fs 0 0
s3fs#example-s3buket /home/ec2-user/s3-mountpoint fuse allow_other,use_cache=/tmp,uid=500,gid=500,passwd_file=/etc/passwd-s3fs 0 0

アンマウント方法

以下のコマンドを使用
fusermount -u [マウントしたディレクトリ]

umountだとエラー出てくる。fuser -k [マウントしたディレクトリ]で対処できますが…)

感想

goofysとs3fsと両方いじったのですが、早いのはgoofysのほうが明らかに早い。
s3fsはviなどcatやlsに少し時間がかかる。
S3をもとにftpサーバーを作るのにvsftpdとgoofysの相性がよくないと聞いたので仕方なくs3fsを使用しています。

s3fsでは初めてマウントしたときにもともとS3のなかにあったものはすべてのパーミッションが000になります。
ですが、chmodでおのおのパーミッションの設定ができるのがいいと思います。
goofysではchmodで変更できないです。マウント時にパーミッションの設定をしますので、すべて統一のパーミッションになります。

参考サイト

http://qiita.com/hmitr/items/155f25e50e4dcb287979
http://qiita.com/wanghm/items/1561b0f2a9a90fba716f
http://qiita.com/daigo2010/items/636d0b4217faf197eb52
https://curecode.jp/tech/install-s3fs-1-78-on-amazon-linux/
http://dev.classmethod.jp/cloud/aws/s3fs-ec2-mount-s3/

12
12
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
12
12