My name is Michel, and I am a Full Stack Developer & DevOps. I know the question was posted some time ago, but it remains relevant. Based on my experience with WordPress, AWS, and large-scale, high-performance projects, as well as frequent contact with smaller projects and questions from other professionals in the field, I can confidently say that the issue is still valid.
My recommendation for hosting a WordPress application on AWS, based on various tests and projects I manage, is to use AWS Elastic Beanstalk to orchestrate EC2 instances, even if it is a project with just one instance. Elastic Beanstalk significantly simplifies infrastructure management, the deployment process, and maintenance, while also offering advanced scalability control. In some projects, I use auto-scaling, which adds or removes EC2 instances as needed, ensuring scalability and cost optimization.
Regarding architecture, it is entirely possible to run WordPress on multiple load-balanced instances. The key lies in implementing a distributed architecture. While EC2 instances process PHP with NGINX, WordPress media files can be stored in EFS (Elastic File System), allowing sharing and synchronization across all instances. For the database, the best approach is to use Amazon RDS with MySQL or Aurora.
Additionally, to improve performance, I recommend using ElastiCache to optimize database queries and AWS CloudFront to efficiently serve static content. By applying appropriate caching rules for different types of files, it is possible to achieve high performance and significantly reduce the page processing load on each request.
This is an overview of the architecture I have been using and refining over the years, with excellent results in content portals, e-commerce sites, and SaaS platforms based on WordPress on AWS.
If you would like to discuss this topic further, I am available. I hope I have helped clarify your question!