本記事のゴール
NFSを用いて複数webサーバ間でストレージを共有する
インスタンス設定
設定 | 内容 |
---|---|
インスタンスタイプ | t2.small |
EBS | gs2 8GB |
セキュリティグループ | 22番/80番を特定IPのみ許可 |
サブネット | パブリック (諸々のインストール完了後はプライベートでOK) |
新しくインスタンスを作ってapacheやphpを入れ直すか、AMIを作るかして、wordpressファイルがローカルに存在しないスレーブ用のwebサーバを作る
NFSのマウント許可設定 (マスターサーバ作業)
# vi /etc/exports
▼追記
# マウント先絶対パス 許可IP(許可操作)
/home/wordpress/wordpress *(rw,no_root_squash)
# exportfs -ra
# systemctl restart nfs
# systemctl enable nfs
exportsの設定後、セキュリティグループで2049ポートからのアクセスを許可する
NFSのマウント設定 (スレーブサーバ作業)
# mkdir /home/wordpress/wordpress
# chmod 755 /home/wordpress/wordpress
# chown wordpress:wordpress /home/wordpress/wordpress
# vi /etc/fstab
▼追記
# privateIP:マウント元絶対パス マウント先絶対パス nfs4 defaults 0 0
123.45.67.89:/home/wordpress/wordpress /home/wordpress/wordpress nfs4 defaults 0 0
# mount /home/wordpress/wordpress
マウント先の設定周りはこちらに詳しく書かれています
https://qiita.com/kihoair/items/03635447591358210772
スレーブサーバでmountコマンド実行時のトラブルシュート
設定 | 対応 |
---|---|
応答がない、レスポンスが返ってこない | セキュリティグループやネットワークの設定を見直してください。おそらく通信が届いていません |
エラー「mount.nfs4: access denied by server while mounting 123.45.67.89:/home/wordpress/wordpress」 | マスターサーバのIP許可設定が間違っています。まずは「*」で全開放に設定してexportfsとnfsの再読み込みを行なってください。mountが通ることを確認してから許可IPの範囲を狭めると良いです |
確認
mountが成功して下記が両方とも確認できればマウントできています
・マスターサーバの更新内容がスレーブサーバ側で反映されていること
・スレーブサーバの更新内容がマスターサーバ側で反映されていること