Bird
Raised Fist0
AWScloud~20 mins

Launching an EC2 instance in AWS - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
EC2 Launch Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
What happens when you launch an EC2 instance without specifying a security group?

You launch an EC2 instance but do not specify any security group. What is the default behavior regarding network access?

AThe instance is launched with the default security group of the VPC, allowing inbound traffic only from other instances in the same group.
BThe instance is launched with no security group, so all inbound and outbound traffic is blocked.
CThe instance is launched with a security group that allows all inbound and outbound traffic.
DThe instance launch fails because a security group must be specified.
Attempts:
2 left
💡 Hint

Think about what AWS does automatically if you don't specify a security group.

Configuration
intermediate
2:00remaining
Which option correctly specifies a user data script to install Apache on an EC2 instance at launch?

You want to launch an EC2 instance and automatically install Apache web server using user data. Which user data script is correctly formatted for Amazon Linux 2?

A
sudo yum update -y
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
B
#!/bin/bash
sudo yum update -y
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
C
#!/bin/sh
sudo apt-get update
sudo apt-get install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
D
#!/bin/bash
sudo yum update
sudo yum install httpd
sudo service httpd start
sudo chkconfig httpd on
Attempts:
2 left
💡 Hint

Amazon Linux 2 uses yum and systemctl commands. The script must start with a shebang line.

Architecture
advanced
2:00remaining
You want to launch an EC2 instance that is accessible only from your office IP and can access the internet for updates. Which architecture setup is correct?

Choose the correct architecture to meet these requirements:

  • EC2 instance accessible only from your office IP address.
  • Instance can access the internet to download updates.
  • Instance is in a private subnet.
APlace the instance in a private subnet with a NAT Gateway configured in a public subnet. Configure the security group to allow inbound traffic only from your office IP.
BPlace the instance in a public subnet with an internet gateway. Configure the security group to allow inbound traffic only from your office IP.
CPlace the instance in a private subnet with no NAT Gateway. Configure the security group to allow inbound traffic only from your office IP.
DPlace the instance in a public subnet with a NAT Gateway. Configure the security group to allow inbound traffic from anywhere.
Attempts:
2 left
💡 Hint

Think about how instances in private subnets access the internet and how to restrict inbound access.

security
advanced
2:00remaining
What is the effect of launching an EC2 instance with an IAM role that has S3 read-only permissions?

You launch an EC2 instance and assign it an IAM role with permissions to read objects from S3 buckets. What is the expected behavior?

AThe EC2 instance cannot access S3 buckets unless AWS credentials are manually configured on the instance.
BThe EC2 instance can write to S3 buckets but cannot read objects.
CThe EC2 instance can access and read objects from S3 buckets allowed by the IAM role without needing AWS credentials on the instance.
DThe EC2 instance can access S3 buckets only if the security group allows outbound HTTP traffic.
Attempts:
2 left
💡 Hint

Consider how IAM roles provide permissions to EC2 instances.

Best Practice
expert
2:00remaining
Which approach best ensures high availability for a web application running on EC2 instances?

You want to deploy a web application on EC2 instances with high availability and fault tolerance. Which setup follows AWS best practices?

ADeploy EC2 instances in multiple regions without a load balancer and manually distribute traffic.
BDeploy a single large EC2 instance in one Availability Zone with Elastic IP for static access.
CDeploy multiple EC2 instances in a single Availability Zone behind a Network Load Balancer without Auto Scaling.
DDeploy multiple EC2 instances across multiple Availability Zones behind an Elastic Load Balancer with Auto Scaling configured.
Attempts:
2 left
💡 Hint

Think about distributing load and handling failures automatically.

Practice

(1/5)
1. What does launching an EC2 instance in AWS create?
easy
A. A storage bucket
B. A virtual server in the cloud
C. A database instance
D. A physical server in your office

Solution

  1. Step 1: Understand EC2 purpose

    EC2 stands for Elastic Compute Cloud, which provides virtual servers.
  2. Step 2: Identify what launching means

    Launching an EC2 instance means creating a virtual server in AWS cloud.
  3. Final Answer:

    A virtual server in the cloud -> Option B
  4. Quick Check:

    EC2 instance = virtual server [OK]
Hint: EC2 = virtual server, not physical hardware [OK]
Common Mistakes:
  • Confusing EC2 with physical hardware
  • Thinking EC2 creates storage or database
  • Mixing EC2 with S3 storage
2. Which AWS CLI command is used to launch a new EC2 instance?
easy
A. aws ec2 run-instances
B. aws ec2 start-instance
C. aws ec2 create-instance
D. aws ec2 deploy-instance

Solution

  1. Step 1: Recall AWS CLI commands for EC2

    The correct command to launch EC2 instances is 'run-instances'.
  2. Step 2: Eliminate incorrect commands

    Commands like 'create-instance', 'start-instance', and 'deploy-instance' do not exist or are incorrect.
  3. Final Answer:

    aws ec2 run-instances -> Option A
  4. Quick Check:

    Launch EC2 = run-instances command [OK]
Hint: Remember 'run-instances' to start EC2 instances [OK]
Common Mistakes:
  • Using 'create-instance' which is invalid
  • Confusing 'start-instance' with launching
  • Assuming 'deploy-instance' is a valid command
3. What will happen if you run this command?
aws ec2 run-instances --image-id ami-12345678 --count 1 --instance-type t2.micro --key-name MyKeyPair --security-groups MySecurityGroup
medium
A. Deletes the specified AMI image
B. Creates a new security group named MySecurityGroup
C. Launches one t2.micro EC2 instance with specified settings
D. Starts an existing stopped EC2 instance

Solution

  1. Step 1: Analyze the command parameters

    The command uses 'run-instances' with image ID, count=1, instance type, key pair, and security group.
  2. Step 2: Understand the command effect

    This command launches one new EC2 instance of type t2.micro with the given AMI and security settings.
  3. Final Answer:

    Launches one t2.micro EC2 instance with specified settings -> Option C
  4. Quick Check:

    run-instances with parameters = launch instance [OK]
Hint: run-instances with --count 1 launches one instance [OK]
Common Mistakes:
  • Thinking it deletes or modifies AMI
  • Confusing security group creation with usage
  • Assuming it starts an existing instance
4. You run this command but get an error: InvalidKeyPair.NotFound. What is the likely cause?
aws ec2 run-instances --image-id ami-87654321 --count 1 --instance-type t3.small --key-name WrongKey --security-groups Default
medium
A. The key pair named 'WrongKey' does not exist in your AWS account
B. The AMI ID is invalid
C. The instance type t3.small is not supported
D. The security group 'Default' is missing

Solution

  1. Step 1: Understand the error message

    'InvalidKeyPair.NotFound' means the specified key pair is not found in your AWS account.
  2. Step 2: Match error to command parameters

    The key-name 'WrongKey' likely does not exist or is misspelled, causing the error.
  3. Final Answer:

    The key pair named 'WrongKey' does not exist in your AWS account -> Option A
  4. Quick Check:

    InvalidKeyPair error = missing key pair [OK]
Hint: Check key pair name spelling if InvalidKeyPair error occurs [OK]
Common Mistakes:
  • Assuming AMI or instance type caused the error
  • Thinking security group 'Default' is missing
  • Ignoring key pair existence in the region
5. You want to launch 3 EC2 instances with the same settings but different subnet IDs for high availability. Which approach is best?
hard
A. Use aws ec2 create-subnet to create three subnets and launch one instance
B. Run one aws ec2 run-instances command with --count 3 and a single --subnet-id
C. Launch one instance and then clone it twice manually
D. Run three separate aws ec2 run-instances commands, each with a different --subnet-id

Solution

  1. Step 1: Understand subnet and instance launch

    Each EC2 instance can be launched in only one subnet at a time.
  2. Step 2: Plan for multiple subnets

    To launch instances in different subnets, run separate commands specifying each subnet ID.
  3. Step 3: Evaluate options

    Run three separate aws ec2 run-instances commands, each with a different --subnet-id. This runs three commands with different subnet IDs, ensuring instances spread across subnets.
  4. Final Answer:

    Run three separate aws ec2 run-instances commands, each with a different --subnet-id -> Option D
  5. Quick Check:

    One subnet per instance, multiple commands for multiple subnets [OK]
Hint: One subnet per instance, use multiple commands for multiple subnets [OK]
Common Mistakes:
  • Trying to launch multiple subnets in one command
  • Assuming cloning instances copies subnet settings
  • Confusing subnet creation with instance launch