How to Block EC2 Launches in Unauthorized Regions Across an Organization?
A company uses AWS Organizations to manage multiple AWS accounts. Corporate policy mandates that only specific AWS Regions can be used to store and process customer data. A CloudOps engineer must prevent the provisioning of Amazon EC2 instances in unauthorized Regions by anyone in the company. What is the MOST operationally efficient solution that meets these requirements?
Community Insight
Tests whether you reach for a centralized preventive guardrail (SCP at the org root) rather than per-account IAM controls or after-the-fact detection and termination.
An AWS Organizations service control policy attached at the root is the most operationally efficient way to deny ec2:RunInstances in unauthorized Regions across every current and future account. This page explains why the root-level SCP answer (D) beats per-account IAM policies, permissions boundaries, and EventBridge/Lambda remediation.
Choosing B, a Region-conditioned IAM managed policy attached to all groups in each account, which looks like a deny but must be maintained account by account, misses roles/root users, and does not scale to new accounts.
Community Discussion (1 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
A service control policy in AWS Organizations is the only option that applies a preventive guardrail from one central place. A deny statement forec2:RunInstances with an aws:RequestedRegion condition blocks the API call before any instance exists, so there is nothing to detect or clean up. Attaching the SCP at the organization root means every OU and member account inherits it, including accounts created later, so no per-account IAM work is needed. It also constrains every IAM principal in member accounts, including role sessions and the account root user, which is what "anyone in the company" implies. The only principal outside SCP enforcement is the organization's management account, which should not host workloads and is a caveat no other option solves better.Why the Other Options Are Wrong
Option A is detective and reactive: CloudTrail plus EventBridge plus Lambda terminates instances only afterRunInstances has already succeeded, leaving a window where unauthorized capacity runs and billing accrues. It also requires maintaining rules and functions in every unauthorized Region, which is heavy operational overhead. Option B attaches a Region-conditioned managed IAM policy to all groups in each account; that is per-account, per-principal work, must be repeated for every new account or group, and does not restrict the account root user. Option C uses a permissions boundary on all IAM users, but boundaries are attached per principal, do not automatically cover roles or the root user, and again require updates in every account. Only D prevents the action centrally and scales without manual upkeep.Community Comment Notes
Bad_Mat's comment captures the deciding logic: SCPs "apply guardrails across multiple accounts in an organization" from a single central place, so a root-level attachment covers current and future accounts without manual updates. The comment also emphasizes that the block is preventative because unauthorized actions are denied outright rather than terminated after launch, which is exactly the gap in option A. No other commenter disputes this conclusion, and the reasoning aligns with AWS Organizations documentation.Official Reference
Exam Strategy
When a stem mentions AWS Organizations, "anyone in the company," and "most operationally efficient," look for the root-level SCP that denies the action up front. Eliminate options built on after-the-fact detection and termination or per-account IAM attachments, since those are the classic high-maintenance distractors on SOA-C03.
Frequently Asked Questions
Why is a Region-condition IAM policy in every account less efficient than an SCP?
It must be attached and maintained in each account, does not cover every principal such as the account root user, and needs updating for each new account. A root-level SCP is inherited automatically.
Does an SCP attached at the organization root cover future AWS accounts?
Yes. SCPs attached at the root are inherited by all OUs and member accounts, so newly created accounts are restricted without any per-account IAM work.
Related Analysis
Practice All SOA-C03 Questions
Access 100 questions with complete answers and detailed explanations.
View Full SOA-C03 Practice Test →