You have a web application running on six Amazon EC2 instances, consuming about 45% of resources on each
instance. You are using auto-scaling to make sure that six instances are running at all times. The number of
requests this application processes is consistent and does not experience spikes. The application is critical to
your business and you want high availability at all times. You want the load to be distributed evenly between
all instances. You also want to use the same Amazon Machine Image (AMI) for all instances. Which of the
following architectural choices should you make?
A.
Deploy 6 EC2 instances in one availability zone and use Amazon Elastic Load Balancer.
B.
Deploy 3 EC2 instances in one region and 3 in another region and use Amazon Elastic Load Balancer.
C.
Deploy 3 EC2 instances in one availability zone and 3 in another availability zone and use Amazon Elastic
Load Balancer.
D.
Deploy 2 EC2 instances in three regions and use Amazon Elastic Load Balancer.
Explanation:
https://media.amazonwebservices.com/pdf/AWS_Security_Whitepaper.pdf (page 8)
C
A load balancer accepts incoming traffic from clients and routes requests to its registered EC2 instances in one or more Availability Zones.
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/how-elb-works.html
Updated Security Whitepaper link:
https://d0.awsstatic.com/whitepapers/aws-security-whitepaper.pdf
C is correct. If one AZ fail, then you have 3 instances left on other AZ which translates to 50% capacity. Since the current utilisation is at 45%, in the event of AZ failure you are still able to service the full resources required by your web application. Since there is no autoscaling configured, you then manually replace the failed instances as you would to get the website back to its normal capacity
C
I agree with the answer. C
Ans is C
if one availability zone fails then the instances in the other zone have to work harder to meet the resource utilization and compensate for the loss of three instances.
Things would however be different if autoscaling is enabled.
but nevertheless the answer is C
C
i agree with SD, in case of an availability zone failure, the healthy instaces in healthy AZ will have to work with 90% of the capacity.
Answer-C
B is wrong because Elastic Load Balancer can only work within same region.
For a failover across regions you need to use DNS failover with Route53:
https://aws.amazon.com/elasticloadbalancing/
“You can use Amazon Route 53 health checking and DNS failover features to enhance the availability of the applications running behind Elastic Load Balancers. Route 53 will fail away from a load balancer if there are no healthy EC2 instances registered with the load balancer or if the load balancer itself is unhealthy.
Using Route 53 DNS failover, you can run applications in multiple AWS regions and designate alternate load balancers for failover across regions. In the event that your application is unresponsive, Route 53 will remove the unavailable load balancer endpoint from service and direct traffic to an alternate load balancer in another region.”
Guys based in best practice and “lost scenario”. I agreed D is best answer. Because you distribute the failure scenario 2 AMI AZ1, 2 AMI AZ2 and 2 AMI AZ3. Just case AZ failure you lost 33% of resources and redistribute 90% processing in four machines 23% per machine.
Answer-D
@Rodrigo Ans is C
Read option D again.
Deploy 2 EC2 instances in three “regions”(NOT AZ) and use Amazon Elastic Load Balancer.
AMI is not available across regions
If this sentence was not included in the question , ‘You also want to use the same Amazon Machine Image (AMI) for all instances’ , ‘D’ would have been best option since it meets optimal HA requirements.
TYPO earlier
‘was not included’ should be ‘did not include’
C is correct
C
A load balancer accepts incoming traffic from clients and routes requests to its registered EC2 instances in one or more Availability Zones. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. When the load balancer detects an unhealthy instance, it stops routing traffic to that instance, and then resumes routing traffic to that instance when it detects that the instance is healthy again.
http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html