As part of its disaster recovery plan, an eCommerce company must ensure uninterrupted service of their workload in case of an EC2 instance failure. The workload is sensitive to client session state. To improve the current architecture's resiliency, what should be implemented?
Deploy the application on Amazon S3 and serve static resources through Amazon CloudFront, using Amazon RDS with a Multi-AZ deployment for the database layer.
Use Amazon RDS Multi-AZ with synchronous replication and automatic failover alongside AWS Elastic Beanstalk for application deployment.
Implement an Application Load Balancer with an EC2 Auto Scaling group, distributing instances across multiple Availability Zones and leveraging ALB's stickiness feature.
Assign primary and secondary Elastic IP addresses to EC2 instances and script failover logic to re-associate the EIP to a standby instance upon failure.