Answer – A, B and C
Each AZ is a set of one or more data centers. By deploying your AWS resources to multiple Availability zones, you are designing with failure in mind. So if one AZ were to go down, the other AZ’s would still be up and running. Hence your application would be more fault-tolerant.
For disaster recovery scenarios, one can move or make resources run in other regions.
And finally, one can use the Elastic Load Balancer to distribute load to multiple backend instances within a particular region.
For more information on AWS Regions and AZ’s, please refer to the below URL:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html