AWS Associate Certified Solutions Architect - Associate 1 — Questions and Answers
Question 1: You have been asked to design a high-availability architecture for a web application that needs to handle fluctuating levels of traffic. Which combination of services would best meet this requirement?
- Use a single EC2 instance with an Elastic IP and configure it with Auto Scaling.
- Use an Application Load Balancer across multiple Availability Zones with EC2 Auto Scaling. (Correct answer)
- Use EC2 instances in a single Availability Zone with an Application Load Balancer.
- Use an Application Load Balancer across multiple Availability Zones with a single EC2 instance.
Correct answer: Use an Application Load Balancer across multiple Availability Zones with EC2 Auto Scaling.
For high availability and handling fluctuating traffic, distributing resources across multiple Availability Zones (AZs) is crucial to protect against single points of failure. An Application Load Balancer (ALB) efficiently distributes incoming traffic across these zones, while EC2 Auto Scaling dynamically adjusts the number of EC2 instances based on demand, ensuring performance and cost-effectiveness. This combination provides both resilience and elasticity.
Question 2: Which AWS service would you use to manage a relational database that automatically takes care of backups, patching, and scaling?
- Amazon S3
- Amazon EC2
- Amazon RDS (Correct answer)
- Amazon Redshift
Correct answer: Amazon RDS
Amazon Relational Database Service (RDS) is a managed service that simplifies the setup, operation, and scaling of relational databases in the cloud. RDS automates administrative tasks such as hardware provisioning, database setup, patching, and backups, allowing users to focus on application development rather than database management. It supports several popular database engines like MySQL, PostgreSQL, and SQL Server.
Question 3: You are setting up a multi-tier architecture on AWS. Which service should you use to decouple the application layer from the database layer?
- Amazon S3
- Amazon SNS
- Amazon SQS (Correct answer)
- Amazon CloudFront
Correct answer: Amazon SQS
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. By placing a queue between the application and database layers, the application can send messages to the queue without waiting for the database to process them immediately, improving responsiveness and resilience. This asynchronous communication prevents direct dependencies and allows independent scaling.
Question 4: Which AWS service allows you to deploy applications in Docker containers and automatically manage the underlying infrastructure?
- Amazon ECS (Correct answer)
- AWS Lambda
- Amazon RDS
- Amazon Redshift
Correct answer: Amazon ECS
Amazon Elastic Container Service (ECS) is a fully managed container orchestration service that makes it easy to deploy, manage, and scale Docker containers on AWS. ECS handles the underlying infrastructure, such as EC2 instances or serverless Fargate, allowing developers to focus on their applications rather than managing servers. This simplifies containerized application deployment and scaling.
Question 5: You need to ensure that users across the globe can access your application with low latency. Which AWS service would you use to distribute content closer to users?
- Amazon RDS
- Amazon CloudFront (Correct answer)
- Amazon Elastic Load Balancer
- AWS Direct Connect
Correct answer: Amazon CloudFront
Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency and high transfer speeds. It achieves this by caching content at edge locations worldwide, closer to users, reducing the distance data has to travel and improving user experience. This ensures users across the globe can access your application with optimal performance.
You have been asked to design a high-availability architecture for a web application that needs to handle fluctuating levels of traffic.
Which combination of services would best meet this requirement?