I have a WordPress site that, as of now, I am running completely on an Amazon Lightsail instance. It gets properly backed up; availability is okay; security is good; it's a simple setup to maintain. It's fine.
I want to improve availability and load times by moving the site to Amazon Elastic Beanstalk and doing some other major changes to the site's backend (making the site database independent from the PHP server, moving to nginx, etc.). This would be good for a multitude of reasons, chief among them: EBS is just a more robust server setup than Lightsail.
The Amazon-provided tutorial for creating a WordPress site on Beanstalk advises to mount only /wp-content/uploads/
on an Amazon Elastic File System, and the default configuration script does so for the customer. The downside to doing this is that core WordPress files do not get shared between EC2 instances; they are instead replicated on each instance, so running the WordPress update process on your site means that some instances don't actually get updated, yielding undesirable behaviors.
The tutorial advises to update WordPress (and plugins) by going through an awful process of exporting all site content with WordPress' (beta) export tool and re-importing it with the (beta) import tool on a new Beanstalk environment that is running the updated WordPress.
I am not strictly opposed to automating this process so that updating WordPress is easier for me, but I value staying current on updates, so I want to optimize for doing that, and I am skeptical that the best solution for me (or any customer) is to use beta import and export tools for WordPress in the process of updating the system or a plugin.
For example, sometimes these updates are security updates for which WordPress offers an automated patching system, which is highly desirable for maximizing site security. However, that automated patching wouldn't work as expected if core WordPress files are not shared between EC2 instances because of the updating challenge I already outlined.
With all of this said:
What architectural or systems issues might I encounter if I put all of my WordPress files — not just the /wp-content/uploads/
directory — on shared EFS storage?
I will, of course, do my own testing to see how things go, but I want to know what to look out for, if anything, and where to set my expectations as I attempt to do this.