2019年8月25日
目次
goofysとは外部のS3のような外部オブジェクトストレージをマウントするためのシステムです。
具体的にはAWSのEC2インスタンスにS3をマウントするような場合に利用します。
S3をマウントするので理論上はほぼ容量無制限のストレージをマウントすることになります。
ちなみにgoofysとは名前の通りgolangでできております。
goofysのレポジトリは下記になります。
goofysのレポジトリ
今回は自身のEC2インスタンスで行います。
まずはgolang自体入ってなかったのでインストールします。
sudo yum -y install golang fuse
bash_profileに下記を追加してgolangへのPATHを追加します。
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export GOPATH=$HOME/go
PATH=${PATH}:${GOPATH}/bin
source .bash_profile
次にgoofysのレポジトリを持ってきます。
go get github.com/kahing/goofys
インスタンスからAWSのS3バケットにアクセスできるようにします。
もしもアクセス権のあるユーザーを作ってなかったりkeyを生成してなかったらAWSの管理画面から作成しておきましょう。
aws configure
↓ 適宜入力
AWS Access Key ID :
AWS Secret Access Key :
Default region name : ap-northeast-1 ← 東京ならコレ
Default output format : json ← なんでもいいと思います。
ちなみにここでなぜかメモリエラー出てインスタンスの再起動しました。
ここまでできたらマウントするためのディレクトリとパーミッションの設定をします。
mkdir ディレクトリ
chmod 755 ディレクトリ
chown ユーザー名:ユーザー名
id ディレクトリへのアクセスさせるユーザー名
最後にマウントします。
/home/ユーザー名/go/bin/goofys -o nonempty -o allow_other --uid=idで出てきたユーザーid --gid=idで出てきたグループid --dir-mode=0777 --file-mode=0777 s3のバケット名 作成したディレクトリのパス
マウントできてるか確認します。
df -h
Filesystem Size Used Avail Use% Mounted on
バケット名 1.0P 0 1.0P 0% マウントしたディレクトリ名
Pと言うことはペタバイトまで置けるという意味ですかね。。。。
実質無制限ですね。
最後にwordpressの画像置き場の変更を行いますがコレは、管理画面から行います。
http://ドメイン/wp-admin/options.php
上記にアクセスしupload_pathにディレクトリを設定をすれば完了です。
ちなみにgoofysでマウントしたディレクトリをwordpressのディレクトリの上にある場合は相対パスで../../などで指定してあげればいけます。