How to Block EC2 Launches in Unauthorized Regions Across an Organization?

Answer Correct answer: D — Create an AWS Organizations service control policy that denies ec2:RunInstances in unauthorized Regions and attach it at the organization root.

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?

  1. Configure AWS CloudTrail in all Regions to record all API activity. Create an Amazon EventBridge rule in all unauthorized Regions for ec2:RunInstances events. Use AWS Lambda to terminate the launched EC2 instances.
  2. In each AWS account, create a managed IAM policy that uses a Region condition to deny the ec2:RunInstances action in all unauthorized Regions. Attach this policy to all IAM groups in each AWS account.
  3. In each AWS account, create an IAM permissions boundary policy that uses a Region condition to deny the ec2:RunInstances action in all unauthorized Regions. Attach the permissions boundary policy to all IAM users in each AWS account.
  4. Create a service control policy (SCP) in AWS Organizations to deny the ec2:RunInstances action in all unauthorized Regions. Attach this policy to the root level of the organization. Correct Answer

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)

Bad_Mat 👍 1 Selected: D
Why Option D is BestCentralized Control: Service control policies (SCPs) apply guardrails across multiple accounts in an organization from a single central place.Operational Efficiency: Applying an SCP at the root level instantly covers all current and future accounts without needing manual updates in each individual account.Preventative Security: It blocks unauthorized actions outright rather than reacting after resources are deployed (unlike reactive Lambda remediation).

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

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 for ec2: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 after RunInstances 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.

More SOA-C03 FAQ →

Related Analysis

Practice All SOA-C03 Questions

Access 100 questions with complete answers and detailed explanations.

View Full SOA-C03 Practice Test →

← Back to SOA-C03 Study Guide