Multi-Account CloudFormation Deployment with Least Overhead

DEA-C01 By islever Editorial Last updated

Short answer

B Use CloudFormation StackSets with service-managed permissions to automatically deploy and manage templates across multiple AWS accounts with minimal administrative effort.

Question

A data engineering team needs to deploy an AWS CloudFormation template for its data pipeline across development, testing, and production AWS accounts. The team requires a solution that automatically updates deployments when changes are committed to the team’s Git repository. The solution must also provide centralized management across all accounts.
Which solution will meet these requirements with the LEAST operational overhead?
  1. Create individual CloudFormation stacks in each account with self-managed permissions. Use AWS CodePipeline with webhooks to detect Git commits and update stacks.
  2. Use CloudFormation StackSets with service-managed permissions. Enable automatic deployments to target accounts by using an AWS Organizations integration. Correct Answer
  3. Set up an AWS Lambda function that is invoked by Git commits. Configure the Lambda function to use the CloudFormation API to update stacks in each account.
  4. Create a CloudFormation stack in the management account that uses cross-account roles to deploy resources to target accounts.

Key Takeaways

The main trap is confusing single-stack cross-account references with true multi-account orchestration. StackSets is the specific service for this, and service-managed permissions remove the manual IAM setup step.

This question tests knowledge of AWS CloudFormation StackSets for multi-account deployments. The correct solution leverages service-managed permissions to minimize operational overhead.

Common mistake: Option A is a common distractor because CodePipeline is often used for CI/CD. However, managing individual stacks per account with webhooks is more complex and less centralized than StackSets, which natively supports multi-account rollouts.

Expert Analysis

The scenario requires deploying a CloudFormation template across multiple AWS accounts (development, testing, production) with automatic updates triggered by Git commits and centralized management. The key constraint is minimizing operational overhead.

AWS CloudFormation StackSets is the native service designed for this exact use case. It allows you to create, update, or delete stacks across multiple accounts and regions from a single template. When combined with service-managed permissions, AWS handles the creation of IAM roles in target accounts, significantly reducing the administrative burden compared to self-managed permissions where the user must manually configure cross-account access.

Option A involves creating individual stacks and using CodePipeline with webhooks. While feasible, managing individual stacks per account and configuring webhooks for each introduces higher operational complexity and overhead than StackSets' built-in multi-account orchestration.

Option C suggests using Lambda to invoke CloudFormation APIs. This approach requires custom code to handle deployment logic, error handling, and permission management, which is high maintenance and contradicts the "least operational overhead" requirement.

Option D describes a single stack using cross-account roles. CloudFormation stacks are regional resources within a single account. You cannot deploy a single stack to multiple accounts directly; you need a mechanism like StackSets to orchestrate deployments across accounts.

Therefore, StackSets with service-managed permissions provides the most automated, centralized, and low-overhead solution for multi-account deployments.

Official Reference

Exam Strategy

When asked about multi-account deployments, always look for 'StackSets'. If the question emphasizes reducing administrative work regarding permissions, choose 'service-managed permissions'. Avoid solutions that require writing custom code (Lambda) or managing individual resources per account unless specifically required.

Frequently Asked Questions

What is the difference between service-managed and self-managed permissions in StackSets?

Service-managed permissions allow AWS to automatically create and manage the necessary IAM roles in target accounts. Self-managed permissions require you to manually create these roles, increasing operational overhead.

Can I deploy a single CloudFormation stack to multiple accounts?

No, a standard CloudFormation stack is confined to a single account and region. To deploy to multiple accounts, you must use CloudFormation StackSets, which orchestrates the creation of individual stacks in each target account.

More DEA-C01 FAQ →

Discussion 1 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 1

  1. Max1948 👍 1 Answered B
    By utilizing AWS CloudFormation StackSets with service-managed permissions, AWS automatically handles the complex IAM cross-account roles and permissions necessary to deploy resources across your development, testing, and production accounts.

Reader comments & corrections

No reader corrections 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.

Practice All DEA-C01 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DEA-C01 Practice Test →

← Back to DEA-C01 Study Guide