Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

もっと早いやつが出たので新しいのを書きました。参考にどうぞ。[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のダウンロードして解答
$ wget https://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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away