90
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2インスタンスにS3をマウントして使用する(IAM Role ver)

Last updated at Posted at 2015-04-02

もっと早いやつが出たので新しいのを書きました。参考にどうぞ。[20160129追記]
[AWSで]今流行のgoofysでS3を爆速マウント[EC2]


s3fsを使用してEC2インスタンスにS3バケットをマウントします。
だけど、アクセスキー情報をインスタンスに置いておきたくない!
・・・という状況を想定してIAM Roleを使用しました。

##IAM Role
IAMユーザーは使ったことありましたがRoleは初でした。
ハマるかと思いましたがそんなでもなかったです。

マネジメントコンソールからIAMを選択しRoleを選択
150402-0042.jpg
150402-0043.jpg

新しいRoleを作ります。
名前は『use-s3』としました
150402-0044.jpg

S3に読み書きしたいのでフルアクセスで。。。
150402-0045.jpg

作成できました!
150402-0046.jpg

##EC2インスタンスを立ち上げる
通常と変わりませんがこの時、先ほど作成したRoleを指定することを忘れないように注意しましょう。
150402-0047.jpg

##S3バケットの準備
『uses3』という名前で作成してみました。
150402-0048.jpg


ここまでは割と一瞬で終わったのですが、この後割とはまりました。
参考にした情報は最後に載せますが・・・
バージョンの違いですかね。なかなかマウントできずに疲れました。

##s3fsの導入
ssh接続を行い以下のコマンドを入力

$ sudo yum -y update
$ sudo yum -y install automake 
$ sudo yum -y install gcc-c++ 
$ sudo yum -y install fuse 
$ sudo yum -y install fuse-devel 
$ sudo yum -y install libcurl-devel 
$ sudo yum -y install libxml2-devel 
$ sudo yum -y install openssl-devel

これでインストールに必要なものを賄います。
続けてs3fsのダウンロードして解答

//github.com/s3fs-fuse/s3fs-fuse/archive/v1.77.tar.gz
$ tar -xzf v1.77.tar.gz

###s3fs-fuse-1.77
というディレクトリが作成されるのでその中へ。

$ cd s3fs-fuse-1.77

いろいろなサイトで『configure』をと書かれていたのですがそんなものがなく困っていましたが、どうやら『autogen.sh』を実行して作るようでした。

$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

無事インストールされました。


マウントポイント作成

$ sudo mkdir /mnt/s3

マウントします
パーミッションを変更しましょう。

$ sudo chmod 777 /mnt/s3

とりあえず検証なので全開け。

インストール時のデフォルトだとRootユーザーしか使えないので以下のファイルを修正

$ sudo vi /etc/fuse.conf

ファイル内は下記のようになっているので2行目の#を外してrootユーザー以外が利用できるようにする。

[] # mount_max = 1000
[] # user_allow_other

ここが面倒でした
####$ /usr/local/bin/s3fs <今作った/mnt/s3> -o rw,allow_other,,,default_acl=public-read,iam_role=""

uid,gidを使うので調べます。

$ id ec2-user

今回の構成だとこんな感じ


$ /usr/local/bin/s3fs uses3 /mnt/s3 -o rw,allow_other,uid=500,gid=500,default_acl=public-read,iam_role="use-s3"

最後に確認

$ df -h

マウントされていれば成功です
IAM Userを使う方法はまた今度投稿します。

##参考
http://haws.haw.co.jp/tech/iam_role%EF%BD%93_for_amazon_ec2_and_s3fs/
http://dev.classmethod.jp/cloud/aws/s3fs-ec2-mount-s3/
http://qiita.com/monry/items/fa3bebd69e04a08ae12f
http://hivecolor.com/id/49

90
87
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
90
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?