This solution offers the least operational overhead while meeting the security and global availability requirements:
Amazon CloudFront and S3: Hosting the static frontend on S3 and serving it via CloudFront provides low-latency global distribution, high availability, and security. S3 is a cost-effective and serverless option for hosting static assets, and CloudFront ensures that the application is cached closer to the users, reducing latency globally.
AWS Lambda and API Gateway: Refactoring the microservices to use Lambda functions with API Gateway allows for a fully serverless, scalable, and highly available backend. This reduces the need for managing EC2 instances, as Lambda automatically scales to meet demand and only charges for the actual usage.
RDS for MySQL: Migrating the MySQL database from an EC2 instance to Amazon RDS significantly reduces operational overhead. RDS manages backups, patching, and scaling, and it offers high availability options (e.g., Multi-AZ).
Option AandDinvolve using EC2 Reserved Instances for the database, which requires more operational maintenance than using RDS.
Option Csuggests using a Network Load Balancer with Lambda, which adds unnecessary complexity for this use case.
AWS References:
Amazon S3 and CloudFront Integration
AWS Lambda with API Gateway
Amazon RDS for MySQL