CDP:NFS Sharingパターン
提供:AWS-CloudDesignPattern
共有コンテンツの利用
目次 |
解決したい課題
複数サーバーで負荷分散した場合、コンテンツを同期させなければならない。マスターサーバーからスレーブサーバーに定期的に一方向に同期を取るのは簡単だが、定期的な同期では遅延が問題になることがある。また、スレーブサーバーに書き込みが発生するとマスターサーバーや他のスレーブサーバーに反映されないなどの課題は残る。
クラウドでの解決/パターンの説明
このパターンは、複数サーバー間で同じコンテンツをリアルタイムに読み書きできるようにする。共有コンテンツを保管するマスターの仮想サーバーをNFSサーバーとし、スレーブサーバーをNFSクライアントとする。そうすることで、どのサーバーからもコンテンツの更新が可能で、リアルタイムに共有できるようになる。
実装
(手順)
- NFSサーバーをEC2上に構築する。
- 共有したいコンテンツをNFSサーバーに配置する。
- スケールアウトするサーバー群から、そのNFSサーバーのコンテンツを参照するようにする。
構造
利点
- 共有コンテンツをNFSに置くことで、リアルタイムで同期できる。
- NFSをマウントするだけでコンテンツ共有ができるのでセットアップが簡単である。
注意点
- Clone Serverパターンで解説したディスクの同期と、NFSを共存させることもできる。更新頻度の高いものはNFSでの共有を用いるとよい。
- NFSサーバーの管理が必要となる。
- EC2インスタンスが多くなるとNFSアクセスのパフォーマンスの考慮が必要となる。
- NFSサーバーがSPOFになるのを防ぐためには、GlusterFSなどのソリューションを検討する。
その他
- AWS新サービスAmazon Elastic File System(EFS)が発表され、AWSのマネージドなNFSサービスが発表された。2015年4月時点ではリリースされていないが、このサービスを利用することでさらに容易にNFSを利用することが可能となる。
- NFS Replicaパターンを参照。