I am planning to use Amazon Web Service (AWS) to migrate my existing LAMP infrastructure to them. So I created a simple design of my system architecture with the following.

*1 Elastic Load Balancer for balanced the load and failover of server. *2 EC2 Instance for Web server (web1 & web2) *1 EC2 instance for NFS server with attached EBS for common shared storage *1 RDS for MySQL

This is how it looks like the diagram: enter image description here

That design is within a Zone only (us-east-1a).

My question are:

  1. Is there any performance issue when using NFS server to served both EC2 instance? Is there any file locking might happen for this setup?

  2. Is it possible to do NFS high availability to Multi-AZ? This is because I have only 1 NFS server and when it's down, the other standby NFS server let say to Zone B will be back up. If yes, how to do that?

  3. Is it possible to have a high availability (HA) to other region just in case in event of catastrophic in a region?

I would love to hear anyone on how they design and plan their infrastructure. If you can recommend that much better than my design, I'll be appreciated it.

Thanks. James


NFS is always going to be a single point of failure. You can use S3FS and use S3 as the shared file server or build your own GlusterFS cluster which mitigates the problems with NFS

Depending on the data and how you use it, writing the data to S3 and then serving it to the web browser via CloudFront directly from S3 might be an option. Then you'd not have to access the files from the web servers at all.

S3FS: http://code.google.com/p/s3fs/ GlusterFS: http://www.gluster.org/

|improve this answer|||||
  • NFS is not "always" a single point of failure -- there are plenty of ways to make NFS robust/redundant. Other than that though, you're pretty much spot on in that you probably don't want to use NFS (for other reasons) :) – voretaq7 Nov 11 '12 at 2:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.