Bird
Raised Fist0
AWScloud~30 mins

Multi-AZ deployment for high availability in AWS - Mini Project: Build & Apply

Choose your learning style10 modes available
Multi-AZ deployment for high availability
📋 What You'll Learn
💡 Why This Matters
🌍 Real World
Multi-AZ deployments are used to keep applications running even if one data center or Availability Zone has problems. This setup is common for websites and services that must stay online.
💼 Career
Cloud architects and DevOps engineers often design and implement Multi-AZ deployments to improve fault tolerance and availability of cloud applications.
Progress0 / 4 steps
1
Create the VPC and public subnets
Create a CloudFormation template that defines a VPC with CIDR block 10.0.0.0/16. Then create two public subnets named PublicSubnet1 and PublicSubnet2 with CIDR blocks 10.0.1.0/24 and 10.0.2.0/24 respectively. Assign AvailabilityZone properties as us-east-1a for PublicSubnet1 and us-east-1b for PublicSubnet2.
AWS
Hint

Start by defining the VPC resource, then add two subnet resources with the specified CIDR blocks and availability zones.

2
Add Internet Gateway and route table
Add an Internet Gateway resource named InternetGateway and attach it to the VPC using VPCGatewayAttachment. Then create a route table named PublicRouteTable associated with the VPC. Add a route to 0.0.0.0/0 that points to the Internet Gateway. Finally, associate the route table with both PublicSubnet1 and PublicSubnet2 using SubnetRouteTableAssociation resources.
AWS
Hint

Attach the Internet Gateway to the VPC, create a route table with a default route to the Internet Gateway, and associate it with both public subnets.

3
Create Launch Configuration for EC2 instances
Add a LaunchConfiguration resource named WebServerLaunchConfig. Use the latest Amazon Linux 2 AMI by referencing AWS::SSM::Parameter::Value with parameter name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2. Set the instance type to t3.micro and enable associate public IP address.
AWS
Hint

Use a parameter to get the latest Amazon Linux 2 AMI ID from SSM Parameter Store. Set instance type and enable public IP association.

4
Create Auto Scaling Group with Multi-AZ deployment
Add an AutoScalingGroup resource named WebServerASG. Set the LaunchConfigurationName to WebServerLaunchConfig. Set MinSize, MaxSize, and DesiredCapacity all to 2. Set VPCZoneIdentifier to a list containing PublicSubnet1 and PublicSubnet2 to deploy instances across both Availability Zones.
AWS
Hint

Use the two public subnets in VPCZoneIdentifier to spread instances across AZs. Set min, max, and desired capacity to 2.

Practice

(1/5)
1. What is the main benefit of using a Multi-AZ deployment in AWS?
easy
A. It increases availability by replicating resources across multiple zones.
B. It reduces the cost of running resources.
C. It speeds up the deployment process.
D. It automatically scales resources based on traffic.

Solution

  1. Step 1: Understand Multi-AZ purpose

    Multi-AZ deployment copies resources to different zones to avoid downtime if one zone fails.
  2. Step 2: Identify the main benefit

    This replication increases availability and fault tolerance, not cost reduction or speed.
  3. Final Answer:

    It increases availability by replicating resources across multiple zones. -> Option A
  4. Quick Check:

    Multi-AZ = High availability [OK]
Hint: Multi-AZ means copies in different zones for uptime [OK]
Common Mistakes:
  • Confusing Multi-AZ with cost saving
  • Thinking Multi-AZ speeds deployment
  • Assuming Multi-AZ auto-scales resources
2. Which of the following is the correct way to enable Multi-AZ deployment in an AWS RDS instance configuration?
easy
A. "multi_az = false"
B. "enable_multi_az = yes"
C. "multi_az = true"
D. "multiAZ = enabled"

Solution

  1. Step 1: Review AWS RDS Multi-AZ syntax

    The correct parameter to enable Multi-AZ is multi_az = true.
  2. Step 2: Check other options for correctness

    Options A disables Multi-AZ, C and D use incorrect parameter names or values.
  3. Final Answer:

    "multi_az = true" -> Option C
  4. Quick Check:

    Enable Multi-AZ with multi_az = true [OK]
Hint: Look for exact parameter name and true value [OK]
Common Mistakes:
  • Using false instead of true
  • Wrong parameter names like enable_multi_az
  • Incorrect value formats like yes or enabled
3. Given this AWS CLI command to create an RDS instance with Multi-AZ enabled:
aws rds create-db-instance --db-instance-identifier mydb --engine mysql --allocated-storage 20 --db-instance-class db.t3.micro --multi-az true
What will happen if the primary AZ fails?
medium
A. AWS will automatically failover to the standby instance in another AZ.
B. The database will stop working until manual recovery.
C. The database will scale up resources automatically.
D. The database will delete all data and restart.

Solution

  1. Step 1: Understand Multi-AZ failover behavior

    Multi-AZ creates a standby in another zone that AWS switches to automatically if the primary fails.
  2. Step 2: Analyze options

    AWS will automatically failover to the standby instance in another AZ. matches this automatic failover. Others describe stopping, scaling, or deleting which are incorrect.
  3. Final Answer:

    AWS will automatically failover to the standby instance in another AZ. -> Option A
  4. Quick Check:

    Multi-AZ = automatic failover [OK]
Hint: Multi-AZ means automatic failover on AZ failure [OK]
Common Mistakes:
  • Thinking manual recovery is needed
  • Confusing failover with scaling
  • Assuming data loss on failover
4. You configured an RDS instance with multi_az = true but noticed no standby instance is created. What is the most likely cause?
medium
A. You selected a DB instance class that does not support Multi-AZ.
B. You used the wrong database engine.
C. You set allocated storage too low.
D. You forgot to enable automatic backups.

Solution

  1. Step 1: Check Multi-AZ requirements

    Automatic backups must be enabled for Multi-AZ standby creation.
  2. Step 2: Evaluate other options

    While some instance classes may not support Multi-AZ, the most common cause for no standby is backups not enabled. Storage size and engine choice usually don't prevent standby creation.
  3. Final Answer:

    You forgot to enable automatic backups. -> Option D
  4. Quick Check:

    Automatic backups required for Multi-AZ standby [OK]
Hint: Enable automatic backups to allow Multi-AZ standby creation [OK]
Common Mistakes:
  • Assuming backups are optional for Multi-AZ
  • Blaming storage size for standby absence
  • Thinking engine type prevents standby
5. You want to design a highly available web application using AWS RDS with Multi-AZ and EC2 instances. Which architecture best ensures minimal downtime during an AZ failure?
hard
A. Deploy EC2 instances in a single AZ with RDS Multi-AZ enabled.
B. Deploy EC2 instances across multiple AZs and enable RDS Multi-AZ.
C. Deploy EC2 instances in multiple AZs but disable RDS Multi-AZ.
D. Deploy EC2 instances and RDS in a single AZ without Multi-AZ.

Solution

  1. Step 1: Understand high availability for both compute and database

    To avoid downtime, both EC2 and RDS should be spread across AZs.
  2. Step 2: Analyze options

    Deploy EC2 instances across multiple AZs and enable RDS Multi-AZ. deploys EC2 instances in multiple AZs and enables RDS Multi-AZ, ensuring failover for both layers.
  3. Step 3: Reject other options

    Configurations with EC2 instances in a single AZ risk downtime if that AZ fails. Configurations with EC2 across multiple AZs but RDS Multi-AZ disabled risk database downtime.
  4. Final Answer:

    Deploy EC2 instances across multiple AZs and enable RDS Multi-AZ. -> Option B
  5. Quick Check:

    Multi-AZ + multi-AZ EC2 = minimal downtime [OK]
Hint: Spread both EC2 and RDS across AZs for full availability [OK]
Common Mistakes:
  • Deploying EC2 in one AZ only
  • Disabling RDS Multi-AZ
  • Ignoring compute layer availability
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