AWS - Certified Solutions Architect High Availability and Scalability Questions and Answers 1 — Questions and Answers
Question 1: A company is designing a critical application on AWS that requires high availability and must withstand the failure of an entire Availability Zone. The application consists of a fleet of EC2 instances and an Amazon RDS for PostgreSQL database. Which combination of services provides the highest availability for this architecture?
- An Application Load Balancer across multiple Availability Zones, an EC2 Auto Scaling group across multiple Availability Zones, and a single RDS instance.
- An Application Load Balancer in a single Availability Zone, an EC2 Auto Scaling group in a single Availability Zone, and an RDS Multi-AZ deployment.
- An Application Load Balancer across multiple Availability Zones, an EC2 Auto Scaling group across multiple Availability Zones, and an RDS Multi-AZ deployment. (Correct answer)
- An Application Load Balancer across multiple Availability Zones, an EC2 Auto Scaling group in a single Availability Zone, and an RDS instance with Read Replicas.
Correct answer: An Application Load Balancer across multiple Availability Zones, an EC2 Auto Scaling group across multiple Availability Zones, and an RDS Multi-AZ deployment.
To achieve high availability and withstand an Availability Zone failure, all components must be redundant across multiple AZs. An Application Load Balancer distributes traffic across multiple AZs. An EC2 Auto Scaling group configured across multiple AZs ensures that instances are running in healthy AZs. An RDS Multi-AZ deployment creates a synchronous standby replica in a different AZ and automatically fails over in case of an issue with the primary instance.
Question 2: A solutions architect is designing a read-heavy application that uses an Amazon RDS database. The primary goal is to improve read performance and offload queries from the primary database instance. Which RDS feature is the most appropriate solution to meet this requirement?
- Multi-AZ Deployments
- Read Replicas (Correct answer)
- Automated Backups
- Database Snapshots
Correct answer: Read Replicas
Read Replicas are specifically designed for read scaling. They are asynchronous copies of the primary database instance that can serve read traffic, thereby reducing the load on the primary instance and improving overall read performance for the application.
Question 3: An application running on EC2 instances behind an Application Load Balancer experiences unpredictable traffic spikes. The company wants to ensure that the application can handle the increased load automatically without manual intervention and also scale down to reduce costs during quiet periods. Which AWS service should be used in conjunction with the Application Load Balancer?
- AWS Lambda
- Amazon EC2 Auto Scaling (Correct answer)
- Amazon CloudWatch Alarms
- Elastic IP Addresses
Correct answer: Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling is designed to automatically adjust the number of EC2 instances in a group to meet the current demand. It works with Elastic Load Balancing to add or remove instances from the load balancer's target group based on metrics like CPU utilization, ensuring both scalability and cost-efficiency.
Question 4: A global application requires the lowest possible latency for both dynamic and static content delivered to users worldwide. The application uses non-HTTP protocols (TCP/UDP) for some of its real-time components and needs a static IP address to be whitelisted by clients. Which service is the best choice to meet these requirements?
- Amazon CloudFront with a custom origin
- Elastic Load Balancer with cross-zone load balancing
- Amazon Route 53 with latency-based routing
- AWS Global Accelerator (Correct answer)
Correct answer: AWS Global Accelerator
AWS Global Accelerator is the ideal service for this scenario. It uses the AWS global network to route traffic to the optimal regional endpoint, improving performance for both HTTP and non-HTTP protocols like TCP and UDP. It also provides static Anycast IP addresses that serve as a fixed entry point to the application, which is a key requirement. CloudFront is primarily for caching HTTP/HTTPS content and does not provide static IPs.
Question 5: Which of the following describes the primary difference between vertical and horizontal scaling?
- Vertical scaling adds more instances to a resource pool, while horizontal scaling increases the size of a single instance.
- Vertical scaling is only applicable to databases, while horizontal scaling is only for web servers.
- Vertical scaling increases the capacity of a single resource (e.g., CPU, RAM), while horizontal scaling adds more resources (e.g., instances) to a pool. (Correct answer)
- Vertical scaling provides high availability, while horizontal scaling provides fault tolerance.
Correct answer: Vertical scaling increases the capacity of a single resource (e.g., CPU, RAM), while horizontal scaling adds more resources (e.g., instances) to a pool.
Vertical scaling (scaling up) involves increasing the resources of a single instance, such as upgrading to a larger EC2 instance type with more CPU or memory. Horizontal scaling (scaling out) involves adding more instances to a pool of resources, like adding more EC2 instances to an Auto Scaling group.
Question 6: A company needs to store critical, frequently accessed data in Amazon S3 with the highest level of availability and durability. The data must be resilient to the failure of an entire AWS Availability Zone. Which S3 storage class should be used?
- S3 One Zone-Infrequent Access (S3 One Zone-IA)
- S3 Glacier Deep Archive
- S3 Standard (Correct answer)
- S3 Intelligent-Tiering
Correct answer: S3 Standard
S3 Standard is designed for frequently accessed data and provides high durability and availability by automatically storing data across a minimum of three Availability Zones. This design ensures that data is protected against the failure of a single AZ. S3 One Zone-IA stores data in a single AZ and is not resilient to an AZ failure. S3 Glacier Deep Archive is for long-term archival with slow retrieval times. While S3 Intelligent-Tiering also stores data across multiple AZs, its primary purpose is cost optimization for data with unknown access patterns, and S3 Standard is the direct choice for high-performance, frequently accessed data.
A company is designing a critical application on AWS that requires high availability and must withstand the failure of an entire Availability Zone.
The application consists of a fleet of EC2 instances and an Amazon RDS for PostgreSQL database.
Which combination of services provides the highest availability for this architecture?