Bird
Raised Fist0
AWScloud~10 mins

Instance states (running, stopped, terminated) in AWS - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if an AWS EC2 instance is currently running.

AWS
if instance.state['Name'] == '[1]':
    print('Instance is running')
Drag options to blanks, or click blank then click option'
Aterminated
Bstopped
Crunning
Dpending
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'stopped' instead of 'running' will check for a stopped instance, not a running one.
Using 'terminated' will check for an instance that is deleted, not active.
2fill in blank
medium

Complete the code to stop an AWS EC2 instance using boto3.

AWS
response = ec2_client.stop_instances(InstanceIds=[[1]])
Drag options to blanks, or click blank then click option'
A'i-1234567890abcdef0'
Bi-1234567890abcdef0
C'instance_id'
Dinstance_id
Attempts:
3 left
💡 Hint
Common Mistakes
Not quoting the instance ID string causes a syntax error.
Using a variable name without quotes when a string literal is expected.
3fill in blank
hard

Fix the error in the code that checks if an instance is terminated.

AWS
if instance.state['[1]'] == 'terminated':
    print('Instance is terminated')
Drag options to blanks, or click blank then click option'
Aname
Bstatus
Cstate
DName
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase 'name' causes a KeyError.
Using 'state' or 'status' keys which do not exist in the state dictionary.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps instance IDs to their states for instances that are running.

AWS
running_instances = {inst['[1]']: inst['state']['[2]'] for inst in instances if inst['state']['Name'] == 'running'}
Drag options to blanks, or click blank then click option'
AInstanceId
BName
CState
DStatus
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase or incorrect keys like 'instanceid' or 'state' causes errors.
Confusing the keys for instance ID and state name.
5fill in blank
hard

Fill all three blanks to filter instances that are stopped and create a list of their IDs.

AWS
stopped_ids = [inst['[1]'] for inst in instances if inst['state']['[2]'] == '[3]']
Drag options to blanks, or click blank then click option'
AInstanceId
BName
Cstopped
DState
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong keys like 'state' or 'status' instead of 'Name'.
Using 'stopping' or 'terminated' instead of 'stopped' to filter.

Practice

(1/5)
1. Which AWS EC2 instance state means the instance is currently powered on and ready to use?
easy
A. Running
B. Stopped
C. Terminated
D. Pending

Solution

  1. Step 1: Understand EC2 instance states

    Instances can be in states like running, stopped, or terminated, indicating their power and availability status.
  2. Step 2: Identify the state meaning 'powered on'

    The 'running' state means the instance is powered on and ready to use.
  3. Final Answer:

    Running -> Option A
  4. Quick Check:

    Running = Powered On [OK]
Hint: Running means instance is on and usable [OK]
Common Mistakes:
  • Confusing stopped with running
  • Thinking terminated means running
  • Mixing pending with running
2. Which AWS CLI command correctly stops a running EC2 instance with ID i-1234567890abcdef0?
easy
A. aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
B. aws ec2 reboot-instances --instance-ids i-1234567890abcdef0
C. aws ec2 start-instances --instance-ids i-1234567890abcdef0
D. aws ec2 stop-instances --instance-ids i-1234567890abcdef0

Solution

  1. Step 1: Identify command to stop instance

    The command to stop an instance is stop-instances.
  2. Step 2: Match instance ID usage

    The command must include --instance-ids i-1234567890abcdef0 to specify the instance.
  3. Final Answer:

    aws ec2 stop-instances --instance-ids i-1234567890abcdef0 -> Option D
  4. Quick Check:

    Stop instance = stop-instances command [OK]
Hint: Stop instance uses 'stop-instances' command [OK]
Common Mistakes:
  • Using terminate instead of stop
  • Using start instead of stop
  • Using reboot instead of stop
3. What will be the state of an EC2 instance immediately after running this AWS CLI command?
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890
medium
A. Running
B. Stopped
C. Terminated
D. Pending

Solution

  1. Step 1: Understand the terminate-instances command

    This command deletes the instance permanently, changing its state to terminated.
  2. Step 2: Identify the resulting state

    After termination, the instance cannot be started again and is marked as terminated.
  3. Final Answer:

    Terminated -> Option C
  4. Quick Check:

    Terminate command = Terminated state [OK]
Hint: Terminate means instance is deleted permanently [OK]
Common Mistakes:
  • Thinking terminated means stopped
  • Confusing terminate with stop
  • Expecting instance to restart automatically
4. You tried to start an EC2 instance but got an error saying the instance does not exist. What is the most likely cause?
medium
A. The instance is terminated
B. The instance is in running state
C. The instance is in stopped state
D. The instance is pending

Solution

  1. Step 1: Analyze error meaning

    If AWS says the instance does not exist, it usually means it was deleted or terminated.
  2. Step 2: Match instance state to error

    Terminated instances are removed and cannot be started again, causing this error.
  3. Final Answer:

    The instance is terminated -> Option A
  4. Quick Check:

    Instance not found = Terminated state [OK]
Hint: Instance not found means terminated, not stopped [OK]
Common Mistakes:
  • Assuming stopped means instance missing
  • Confusing running with missing
  • Ignoring termination possibility
5. You want to save costs by stopping an EC2 instance but keep its data intact for later use. Which instance state should you use and why?
hard
A. Terminate, because it deletes the instance and saves all costs
B. Stop, because it powers off the instance but keeps data on the disk
C. Running, because it keeps the instance active and data safe
D. Pending, because it prepares the instance for shutdown

Solution

  1. Step 1: Understand cost and data retention

    Stopping an instance powers it off but keeps the attached storage intact, preserving data.
  2. Step 2: Compare with termination

    Terminating deletes the instance and storage, losing data and cannot be restarted.
  3. Step 3: Choose correct state for saving costs and keeping data

    Stopping is the correct choice to save costs while keeping data safe.
  4. Final Answer:

    Stop, because it powers off the instance but keeps data on the disk -> Option B
  5. Quick Check:

    Stop = Save cost + keep data [OK]
Hint: Stop to save cost and keep data intact [OK]
Common Mistakes:
  • Choosing terminate and losing data
  • Thinking running saves cost
  • Confusing pending with stop