goofysを使用してEC2からS3をマウントする
EC2のWebサーバなどからS3にファイルを保存したいといった場合にgoofysを使用してS3をマウントすることができます。
S3をマウントすることによってファイルをS3のバケットにすることが可能になります。
EC2にはsshで接続します。goofysをインストールする為に、golangとfuseをインストールします。
[ec2-user@ip-10-20-0-81 ~]$ sudo yum install golang fuse -y
次にgoofysをインストールします。
[ec2-user@ip-10-20-0-81 ~]$ export GOPATH=$HOME/go [ec2-user@ip-10-20-0-81 ~]$ go get github.com/kahing/goofys [ec2-user@ip-10-20-0-81 ~]$ go install github.com/kahing/goofys
EC2にIAMロールを付与する
EC2からS3にアクセスする為には、まずEC2にIAMロールを付与します。
「ロールの作成」をクリックします。
「EC2」を選択して、「次のステップ:アクセス権限」をクリックします。
「AmazonS3FullAccess」を選択して、「次のステップ:確認」をクリックします。
「ロールの作成」をクリックします。これでロールの作成は完了です。
EC2の「IAM ロールの割り当て/置換」画面でロールを先ほど作成したロールにします。
「適用」をクリックします。これでEC2からS3にアクセスすることができるようになります。
S3のバケットをマウントする
マウントしたいバケットをあらかじめ作成しておきます。ここでは「ec2-tests」というバケットを作成しておきます。
[ec2-user@ip-10-20-0-81 ~]$ pwd /home/ec2-user [ec2-user@ip-10-20-0-81 ~]$ mkdir ~/mnt-goofys [ec2-user@ip-10-20-0-81 ~]$ $GOPATH/bin/goofys ec2-tests ~/mnt-goofys [ec2-user@ip-10-20-0-81 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 488M 56K 488M 1% /dev tmpfs 497M 0 497M 0% /dev/shm /dev/xvda1 7.8G 1.6G 6.1G 21% / ec2-tests 1.0P 0 1.0P 0% /home/ec2-user/mnt-goofys [ec2-user@ip-10-20-0-81 ~]$
マウントの確認
mnt-goofysというフォルダでtouchコマンドでファイルを作成してみます。
これがS3フォルダに出来上がればマウントできていることになります。
[ec2-user@ip-10-20-0-81 ~]$ cd mnt-goofys/ [ec2-user@ip-10-20-0-81 mnt-goofys]$ touch a.txt [ec2-user@ip-10-20-0-81 mnt-goofys]$
S3のバケット内を見てみます。
a.txtという空ファイルができているので、これでEC2からS3へマウントができました。
AWS Storage Gatewayというサービスもあるようです。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント