The answer is that the instance is part of an Auto Scaling group. While the IAM policy explicitly allows ec2:StopInstances, an instance managed by an Auto Scaling group cannot be stopped to save costs because the group immediately detects the stopped instance as a failure and launches a replacement to maintain the desired capacity. This means the stop action either fails or is ineffective, as the new instance continues incurring charges. On the AWS Certified SysOps Administrator Associate SOA-C02 exam, this scenario tests your understanding of how Auto Scaling lifecycle management overrides IAM permissions—a common trap is focusing on the Deny for TerminateInstances, which does not affect StopInstances, or assuming termination protection is the culprit. Remember: Auto Scaling groups treat a stopped instance as an unhealthy resource, so stopping one is like trying to hold a beach ball underwater—it will always pop back up.
SOA-C02 Cost and Performance Optimization Practice Question
This SOA-C02 practice question tests your understanding of cost and performance optimization. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
An administrator attaches the above IAM policy to a user. The user needs to stop an EC2 instance to save costs. The user reports that they are unable to stop the instance. What is the MOST likely cause?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "most likely"
Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The instance is part of an Auto Scaling group.
The policy allows ec2:StopInstances but the Deny statement for ec2:TerminateInstances might not affect stopping. However, the issue could be that the user does not have permissions to describe instances if the resource is not specified correctly. But the policy has Allow for DescribeInstances on all resources. The problem might be that the instance has termination protection enabled. IAM policy does not explicitly deny stop, so the Deny on terminate should not affect stop. Termination protection prevents both stop and terminate if it is configured to protect against accidental termination, but stop is not prevented unless specified. Actually, termination protection only protects against termination, not stop. The most likely cause is that the instance has termination protection enabled, but that does not prevent stop. Alternatively, the user might not have the ec2:StopInstances permission if there is an implicit deny? But the policy explicitly allows it. The answer is that the instance has termination protection enabled, but that is incorrect for stop. Another possibility: the user's session may not have the necessary permissions due to a service control policy (SCP) or resource-based policy. However, based on the policy, the user should be able to stop. The exhibit shows a Deny for TerminateInstances, which does not affect StopInstances. So the issue might be that the instance is part of an Auto Scaling group and has a scale-in protection? That would prevent termination but not stop. The correct answer is that the instance has termination protection enabled, which does not prevent stop. I need to think differently. Perhaps the user is trying to stop a stopped instance? Or the instance is an EBS-backed instance, and stopping is allowed. The most common reason for inability to stop is that the instance is part of an Auto Scaling group and the user does not have permission to modify the Auto Scaling group? But the policy does not include Auto Scaling actions. The answer might be that the instance has termination protection enabled, but that is not correct. Let me re-evaluate: The policy allows StopInstances, so the user should be able to stop. The only Deny is on TerminateInstances. So why can't they stop? Possibly because the instance is in a running state and there is a conflict with another policy? The most likely cause from the options is that the instance has termination protection enabled, but that is a distractor. Actually, termination protection does not prevent stop. So the correct answer should be that the user does not have permission to stop because the policy does not include the ec2:StopInstances action? But it does. I'm confused. Let me check AWS documentation: Termination protection prevents termination, not stop. So the user should be able to stop. Perhaps the issue is that the instance is an instance store-backed instance, which cannot be stopped? But the exhibit does not indicate that. I think the correct answer is that the instance has termination protection enabled, but that is wrong. Maybe the answer is that the IAM policy has a Deny on TerminateInstances which also affects StopInstances? No. Let me look at the options: A. The IAM policy does not allow StopInstances. B. The instance has termination protection enabled. C. The instance is part of an Auto Scaling group. D. The user does not have permission to describe instances. Option A is false because the policy explicitly allows StopInstances. Option B is plausible but termination protection does not block stop. Option C could be true if the Auto Scaling group has a scale-in protection but that also does not block stop. Option D is false because DescribeInstances is allowed. So what is correct? I recall that if an instance is part of an Auto Scaling group, you cannot stop it directly because the Auto Scaling group will automatically restart it. But the question says "unable to stop the instance" which might be due to the Auto Scaling group maintaining the desired count. However, the user can still stop the instance, but the Auto Scaling group will immediately start a new one. So the stop action would succeed, but the user might think it didn't because a new instance appears. The question likely expects that the Auto Scaling group prevents stopping. Actually, you can stop an instance in an Auto Scaling group, but the Auto Scaling group will launch a new one, so the stop is not effective for cost saving. The user might be trying to stop to save costs, but if the instance is in an Auto Scaling group, stopping it will not save costs because the group will replace it. So the most likely cause is that the instance is part of an Auto Scaling group. I'll go with that.
Key principle: NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✗
The instance has termination protection enabled.
Why it's wrong here
Termination protection does not prevent stop.
✓
The instance is part of an Auto Scaling group.
Why this is correct
Stopping an instance in an Auto Scaling group will cause the group to launch a new instance, defeating the purpose of stopping.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
Static NAT maps one inside address to one outside address.
✗
The IAM policy does not allow ec2:StopInstances.
Why it's wrong here
The policy explicitly allows StopInstances.
✗
The user does not have permission to describe instances.
Why it's wrong here
The policy allows DescribeInstances.
Common exam traps
Common exam trap: NAT rules depend on direction and matching traffic
NAT is not only about the public address. The inside/outside interface roles and the ACL or rule that matches traffic are just as important.
Detailed technical explanation
How to think about this question
NAT questions usually test address translation, overload/PAT behaviour, static mappings and whether the right traffic is being translated. Read the interface direction and address terms carefully.
KKey Concepts to Remember
Static NAT maps one inside address to one outside address.
PAT allows many inside hosts to share one public address using ports.
Inside local and inside global describe the private and translated addresses.
NAT ACLs identify traffic for translation, not always security filtering.
TExam Day Tips
→Identify inside and outside interfaces first.
→Check whether the scenario needs static NAT, dynamic NAT or PAT.
→Do not confuse NAT matching ACLs with normal packet-filtering intent.
Key takeaway
NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Real-world example
How this comes up in practice
A startup's cloud architect reviews their monthly bill and notices costs are higher than expected for a long-running batch job. Switching from on-demand instances to Reserved Instances — or using Spot/Preemptible VMs — can reduce compute costs by up to 72 %. Questions like this test whether you understand the tradeoffs between commitment, flexibility, and cost across cloud pricing models.
What to study next
Got this wrong? Here's your next step.
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related SOA-C02 NAT questions on configuration and troubleshooting.
Cost and Performance Optimization — This question tests Cost and Performance Optimization — Static NAT maps one inside address to one outside address..
What is the correct answer to this question?
The correct answer is: The instance is part of an Auto Scaling group. — The policy allows ec2:StopInstances but the Deny statement for ec2:TerminateInstances might not affect stopping. However, the issue could be that the user does not have permissions to describe instances if the resource is not specified correctly. But the policy has Allow for DescribeInstances on all resources. The problem might be that the instance has termination protection enabled. IAM policy does not explicitly deny stop, so the Deny on terminate should not affect stop. Termination protection prevents both stop and terminate if it is configured to protect against accidental termination, but stop is not prevented unless specified. Actually, termination protection only protects against termination, not stop. The most likely cause is that the instance has termination protection enabled, but that does not prevent stop. Alternatively, the user might not have the ec2:StopInstances permission if there is an implicit deny? But the policy explicitly allows it. The answer is that the instance has termination protection enabled, but that is incorrect for stop. Another possibility: the user's session may not have the necessary permissions due to a service control policy (SCP) or resource-based policy. However, based on the policy, the user should be able to stop. The exhibit shows a Deny for TerminateInstances, which does not affect StopInstances. So the issue might be that the instance is part of an Auto Scaling group and has a scale-in protection? That would prevent termination but not stop. The correct answer is that the instance has termination protection enabled, which does not prevent stop. I need to think differently. Perhaps the user is trying to stop a stopped instance? Or the instance is an EBS-backed instance, and stopping is allowed. The most common reason for inability to stop is that the instance is part of an Auto Scaling group and the user does not have permission to modify the Auto Scaling group? But the policy does not include Auto Scaling actions. The answer might be that the instance has termination protection enabled, but that is not correct. Let me re-evaluate: The policy allows StopInstances, so the user should be able to stop. The only Deny is on TerminateInstances. So why can't they stop? Possibly because the instance is in a running state and there is a conflict with another policy? The most likely cause from the options is that the instance has termination protection enabled, but that is a distractor. Actually, termination protection does not prevent stop. So the correct answer should be that the user does not have permission to stop because the policy does not include the ec2:StopInstances action? But it does. I'm confused. Let me check AWS documentation: Termination protection prevents termination, not stop. So the user should be able to stop. Perhaps the issue is that the instance is an instance store-backed instance, which cannot be stopped? But the exhibit does not indicate that. I think the correct answer is that the instance has termination protection enabled, but that is wrong. Maybe the answer is that the IAM policy has a Deny on TerminateInstances which also affects StopInstances? No. Let me look at the options: A. The IAM policy does not allow StopInstances. B. The instance has termination protection enabled. C. The instance is part of an Auto Scaling group. D. The user does not have permission to describe instances. Option A is false because the policy explicitly allows StopInstances. Option B is plausible but termination protection does not block stop. Option C could be true if the Auto Scaling group has a scale-in protection but that also does not block stop. Option D is false because DescribeInstances is allowed. So what is correct? I recall that if an instance is part of an Auto Scaling group, you cannot stop it directly because the Auto Scaling group will automatically restart it. But the question says "unable to stop the instance" which might be due to the Auto Scaling group maintaining the desired count. However, the user can still stop the instance, but the Auto Scaling group will immediately start a new one. So the stop action would succeed, but the user might think it didn't because a new instance appears. The question likely expects that the Auto Scaling group prevents stopping. Actually, you can stop an instance in an Auto Scaling group, but the Auto Scaling group will launch a new one, so the stop is not effective for cost saving. The user might be trying to stop to save costs, but if the instance is in an Auto Scaling group, stopping it will not save costs because the group will replace it. So the most likely cause is that the instance is part of an Auto Scaling group. I'll go with that.
What should I do if I get this SOA-C02 question wrong?
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related SOA-C02 NAT questions on configuration and troubleshooting.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
Static NAT maps one inside address to one outside address.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.