Answer - A, B and D
The diagram below shows an example of a highly available architecture for hosting EC2 Instances.
Here you have the
ELB is placed in front of the users which helps in directing the traffic to the EC2 Instances.
The EC2 Instances which are placed as part of an AutoScaling Group.
Then you have multiple subnets that are mapped to multiple availability zones.
The solution is to create several instances across several availability zones and to use an elastic load balancer to distribute the traffic and Auto Scaling group to scale the instances. This way, even if an instance fails, you already have other ones available. AWS recommends this solution as they have an SLA of 99.95% for their instance in an AZ. By putting in several AZs, you can have 100% availability.
For a static web site, the SQS is not required to build such an environment. If you have a system such as an order processing system, which has that sort of queuing of requests, then that could be a candidate for using SQS Queues.
For more information on high availability, please visit the below URL-
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html#scale-and-load-balance-prerequisites