2&>1

AWSとかGCPとかGolangとかとか

Amazon Linux 2 で敢えてここでS3マウントするときの手順

EFSというサービスがある現在で、あえてS3をマウントさせる手順です。

ガバっとコピペ用

s3fsを使用するバージョン

sudo -s
yum -y install automake 
yum -y install gcc-c++ 
yum -y install fuse 
yum -y install fuse-devel 
yum -y install libcurl-devel 
yum -y install openssl-devel
yum -y install git
yum -y install libxslt-devel

git clone https://github.com/s3fs-fuse/s3fs-fuse.git

cd s3fs-fuse/
./autogen.sh
./configure
make
make install

export PATH=$PATH;/usr/local/bin

mkdir /mnt/s3
chmod 777 /mnt/s3

vi /etc/fuse.conf

一部名前とか変更して使用下さい

/usr/local/bin/s3fs [マウントするバケット名] mnt/s3 -o rw,allow_other,uid=500,gid=500,default_acl=public-read,iam_role="[ロール名]"

自動マウント設定

上のマウントコマンドを/etc/rc.d/rc.localへ追記して実行権限を付与

chmod +x /etc/rc.d/rc.local

☆補足☆

1.EC2インスタンスにはS3へアクセスできるロールをつけましょう(s3fullaccessで)

2.fuse.confは2行目のコメントアウトを削除

goofysを使用するバージョン

  

sudo yum install -y golang fuse
export GOPATH=$HOME/go
go get github.com/kahing/goofys
go install github.com/kahing/goofys

mkdir /mnt/goofys

以下でマウント

sudo $GOPATH/bin/goofys -o allow_other [マウントするバケット名] /mnt/goofys

以下で自動マウント設定 /etc/fstabに追記

/home/ec2-user/go/bin/goofys#[マウントするバケット名] /mnt/goofys fuse _netdev,allow_other,--uid=500,--gid=500 0 0

☆補足☆

1.自動マウントはec2-userを想定(uid=500)

2.自動マウント記述のバケット名前のシャープは必要です

まとめ

今更もうつかないかもしれないけど。遺産として。

以上