Bird
Raised Fist0
AWScloud~10 mins

Multi-tier architecture patterns in AWS - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the compute layer in a multi-tier AWS architecture.

AWS
resource "aws_instance" "app_server" {
  instance_type = "[1]"
  ami           = "ami-0abcdef1234567890"
}
Drag options to blanks, or click blank then click option'
Ards.instance
Bs3.bucket
Clambda.function
Dt2.micro
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing storage or database services instead of compute instance type.
Using AWS Lambda or S3 where EC2 instance type is expected.
2fill in blank
medium

Complete the code to define the database tier in a multi-tier AWS architecture.

AWS
resource "aws_db_instance" "database" {
  engine         = "[1]"
  instance_class = "db.t3.micro"
  allocated_storage = 20
}
Drag options to blanks, or click blank then click option'
As3
Bdynamodb
Cmysql
Dec2
Attempts:
3 left
💡 Hint
Common Mistakes
Using NoSQL or storage services instead of a relational database engine.
Confusing compute services with database engines.
3fill in blank
hard

Fix the error in the code to correctly configure the web tier with a load balancer.

AWS
resource "aws_lb" "web_lb" {
  name               = "web-load-balancer"
  internal           = [1]
  load_balancer_type = "application"
  subnets            = ["subnet-12345", "subnet-67890"]
}
Drag options to blanks, or click blank then click option'
Afalse
B"true"
C"false"
Dtrue
Attempts:
3 left
💡 Hint
Common Mistakes
Using quotes around boolean values causing syntax errors.
Setting internal to true when a public load balancer is needed.
4fill in blank
hard

Fill both blanks to create a security group rule allowing HTTP traffic from anywhere.

AWS
resource "aws_security_group_rule" "allow_http" {
  type              = "ingress"
  from_port         = [1]
  to_port           = [2]
  protocol          = "tcp"
  cidr_blocks       = ["0.0.0.0/0"]
}
Drag options to blanks, or click blank then click option'
A80
B22
C443
D8080
Attempts:
3 left
💡 Hint
Common Mistakes
Using SSH port 22 or HTTPS port 443 instead of HTTP port 80.
Setting different values for from_port and to_port causing partial rules.
5fill in blank
hard

Fill all three blanks to define an auto-scaling group with a launch configuration and desired capacity.

AWS
resource "aws_autoscaling_group" "asg" {
  launch_configuration = "[1]"
  min_size            = [2]
  desired_capacity    = [3]
  max_size            = 5
  vpc_zone_identifier = ["subnet-abcde", "subnet-fghij"]
}
Drag options to blanks, or click blank then click option'
Aapp_launch_config
B2
C3
Dapp_server
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect resource names for launch configuration.
Setting desired capacity less than minimum size.

Practice

(1/5)
1. What is the main purpose of using a multi-tier architecture in AWS?
easy
A. To combine all application components into a single server
B. To reduce the number of servers needed by merging databases and web servers
C. To separate an application into layers for better security and scalability
D. To allow direct internet access to all parts of the application

Solution

  1. Step 1: Understand multi-tier architecture concept

    Multi-tier architecture divides an app into layers such as web, application, and database tiers.
  2. Step 2: Identify benefits of layering

    This separation improves security by isolating layers and helps scale parts independently.
  3. Final Answer:

    To separate an application into layers for better security and scalability -> Option C
  4. Quick Check:

    Multi-tier = layers for security and scaling [OK]
Hint: Think layers for security and growth, not one big block [OK]
Common Mistakes:
  • Thinking all parts should be on one server
  • Assuming all components need internet access
  • Confusing multi-tier with single-tier or monolithic
2. Which AWS subnet type is typically used to host internet-facing web servers in a multi-tier architecture?
easy
A. Public subnet
B. Isolated subnet
C. Private subnet
D. VPN subnet

Solution

  1. Step 1: Recall subnet types in AWS

    Public subnets have a route to the internet gateway, allowing internet access.
  2. Step 2: Match subnet to web servers

    Internet-facing web servers need public subnets to receive traffic from users.
  3. Final Answer:

    Public subnet -> Option A
  4. Quick Check:

    Internet-facing = public subnet [OK]
Hint: Public subnet means internet access for web servers [OK]
Common Mistakes:
  • Choosing private subnet which blocks internet access
  • Confusing isolated subnet with public
  • Thinking VPN subnet is for public web servers
3. In a multi-tier AWS architecture, which tier is usually placed in a private subnet to protect sensitive data?
medium
A. Database tier
B. Application tier
C. Web tier
D. Load balancer tier

Solution

  1. Step 1: Identify tiers and their security needs

    The database tier holds sensitive data and needs strong protection.
  2. Step 2: Determine subnet placement

    Private subnets restrict internet access, ideal for databases to prevent direct exposure.
  3. Final Answer:

    Database tier -> Option A
  4. Quick Check:

    Database = private subnet for security [OK]
Hint: Sensitive data stays in private subnet (database) [OK]
Common Mistakes:
  • Placing web tier in private subnet
  • Assuming load balancer is in private subnet
  • Confusing application tier with database tier
4. You deployed a multi-tier app but the application tier in the private subnet cannot connect to the database tier. What is the most likely cause?
medium
A. The load balancer is not configured
B. The web tier is in a public subnet
C. The application tier has a public IP address
D. The database security group does not allow inbound traffic from the application tier

Solution

  1. Step 1: Analyze connectivity between application and database tiers

    Application tier must be allowed by database security group to connect on required ports.
  2. Step 2: Check common misconfigurations

    If security group blocks inbound traffic, connection fails despite correct subnet placement.
  3. Final Answer:

    The database security group does not allow inbound traffic from the application tier -> Option D
  4. Quick Check:

    Security group rules control traffic between tiers [OK]
Hint: Check security group rules for inter-tier traffic [OK]
Common Mistakes:
  • Blaming web tier subnet for app-db connection
  • Assuming public IP needed for private subnet
  • Ignoring security group inbound rules
5. You want to design a multi-tier AWS app with a public web tier, private application tier, and private database tier. Which setup best follows best practices?
hard
A. Place all tiers in public subnets with direct internet access for simplicity
B. Place web servers in public subnet with internet gateway; app and database servers in private subnets with NAT gateway for outbound internet
C. Place web and app tiers in private subnets; database in public subnet for easy access
D. Place web tier in private subnet; app and database tiers in public subnets

Solution

  1. Step 1: Assign subnet types based on tier roles

    Web tier needs public subnet for user access; app and database tiers should be private for security.
  2. Step 2: Provide outbound internet for private tiers

    Use NAT gateway so private tiers can access internet for updates without exposing them inbound.
  3. Final Answer:

    Place web servers in public subnet with internet gateway; app and database servers in private subnets with NAT gateway for outbound internet -> Option B
  4. Quick Check:

    Public web, private app/db, NAT for outbound [OK]
Hint: Public web, private app/db, NAT gateway outbound [OK]
Common Mistakes:
  • Putting database in public subnet
  • Giving private tiers direct internet access
  • Mixing subnet roles incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard