※追記 以下の記事が良くまとまっていてわかりやすい
以下は、EC2の構築初期に試したもので、不要な作業も混じっている
---------------------------------------
<前準備>
◆稼働中のEC2にIAMロールを割り当てる
既存のAmazon EC2インスタンスにIAM Roleがアタッチできるようになりました | Amazon Web Services ブログ
「IAMロールなしで起動された既存のEC2インスタンスにIAMロールをアタッチ」を参照
しかし、その前に、aws-cliのバージョンを最新にあげる必要があります。
$aws --version
aws-cli/1.11.76 Python/2.7.12 Linux/4.9.20-10.30.amzn1.x86_64 botocore/1.5.39
アップグレードは以下のコマンド。
sudo pip install -U awscli
と書いてあったが、
sudo: pip: command not found
となる。
パスが通ってないぽいので、結局、
sudo /usr/local/bin/pip install -U awscli
でできた。
※1番目のブログで、
$aws ec2 associate-iam-instance-profile --instance-id インスタンスID --iam-instance-profile Name=インスタンスプロファイル名
と書いているが少しわかりにくい。以下の方がわかりやすい。
$aws ec2 associate-iam-instance-profile --instance-id インスタンスID --iam-instance-profile Name=ロール名
<作業本番>
1.S3バケットの準備
ここは簡単なので割愛
2.goofysのインストール
3.S3マウント
$ mkdir /var/www/html/XXXXX/mount ←マウントさせるディレクトリ
$ /home/photoXXXX/go/bin/goofys S3バケット名 /var/www/html/XXXXX/mount
4.自動マウント設定
上記の2番目のブログを参照
※rootのアクセスキーを変更した時
コマンドで
sudo aws configure
をやり直す。
名前付きのプロファイルを作成する場合は、
aws configure --profile user2
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-started.html
●アンマウントする時
fusermount -u [マウントしたディレクトリ]
●マウントするバケットに所有者とアクセス権を指定する場合は以下
sudo su photoXXXX
export GOPATH=$HOME/go
mkdir /var/www/html/photoxxx/mount
$GOPATH/bin/goofys --region ap-northeast-1 --uid=48 --gid=48 --dir-mode=0666 バケット名 /var/www/html/マウントする場所
マウント位置確認
df -h