The Rhythmic Blog
Using AWS Organizations Effectively Through Real-World Lessons
This is the AWS growth story we see over and over: Start with one account. Throw in a credit card. Add more developers. Launch more services. Then one day, you wake up to chaos. Mapping out a multi-account strategy can often seem like overkill in the beginning, but it isn’t as heavy of a lift as it might seem and pays dividends down the road.
Of course, multi-account strategies can also come with lots of tools, capabilities and baggage. But here’s the thing—it doesn’t have to be this way. After helping dozens of companies transform their AWS environments using AWS Organizations, we’ve learned what early steps pay off and what ones can wait until your growth justifies them. Simply put, adopting a multi-account strategy early is recommended for anyone who wants to sleep better at night.
Common Objections (And Why They’re Wrong)
“We’re too small for multiple accounts.” If you have production workloads and more than one developer, you’re not too small. The overhead is minimal—maybe 2-4 hours of initial setup.
“This seems like unnecessary complexity.” It’s actually the opposite. Complexity is trying to untangle permissions, costs, and resources in a single account six months from now. Multiple accounts provide simple, hard boundaries that prevent complex problems.
“We’ll do it when we need it.” By the time you need it, migration will take weeks or months instead of hours. Start clean, stay clean.
Why Single Accounts Are Dangerous
It may seem like one account is scalable, that VPCs provide enough isolation between environments, and that segmenting by account just makes for unnecessary overhead. But, here are some common pitfalls:
- The 3 AM Horror Story: One developer’s misconfigured script takes down production because everything lives in the same account. Dev was running in a different VPC, but somebody set up a peering connection to move files and security groups were too permissive.
- The Budget Meeting From Hell: “Why did we spend $20K on EC2 last month?” “No idea, could be from any of our 5 teams”. Tag-based billing works just as well in one account as it does across dozens of accounts. But, most teams struggle to implement a tagging strategy that gives accurate cost tracking. Dividing distinct workloads and environments into separate accounts makes cost trends easy to track proactively and ensures accountability when unexpected costs show up.
- The Compliance Checkbox Nightmare: The compliance mistake nearly every company makes is not creating tight enough boundaries around environments. If you can’t clearly demonstrate to an auditor what your boundaries are, everything is in scope. Proper account segmentation ensures you are only evaluated on the parts of your infrastructure that have specific compliance requirements—and that is often much less than you think.
Most importantly, where a multi-account strategy provides easy, powerful ways to avoid these outage, cost, and compliance traps, not having such a strategy up front means you need to spend months or years trying to back into one later when you’re ready for those benefits.
Stop treating AWS accounts like they’re precious. They’re free. Use more of them. Think of it this way:
- Single account = Everything in one giant warehouse where anyone can touch anything
- Multi-account = Organized spaces with doors, locks, and clear ownership
Getting Started with AWS Organizations
AWS Organizations hierarchically organize your accounts so that you can centralize (and automate!) management functions like authentication, logging, and security. Whether you have a single account or a handful, enabling an Organization is the first step in a proper multi-account setup. We recommend you start with AWS Control Tower, which gives you the following core accounts:
- Management – The control center (few people need access to this)
- Audit – Home for emergency access and security tools
- Log Archive – Where logs from all of your accounts go
Control Tower can also create optional accounts for backup management, but most teams can skip these initially and add them later if needed.
Adding Your Workload Accounts
With your organizational foundation in place, you now need accounts where your actual applications will live. These workload accounts are where your developers will spend most of their time, and they should be separated by environment to maintain clear boundaries between production and non-production resources.
Create per-environment accounts for each of your distinct workloads:
- Production (e.g.,
mycompany-prod) - Staging/Test (e.g.,
mycompany-staging) - Development (e.g.,
mycompany-dev)
For most teams getting started, one set of “workload” accounts is sufficient. The concept of a workload is subjective—often the division is the team responsible for the work. And for most people just getting started, that means one workload is about right.
When to split into multiple workloads: Consider creating separate workload sets when you have 3+ distinct applications with different security requirements, 2+ separate teams that rarely collaborate, or when one application handles significantly more sensitive data than others.
Migration Path for Existing AWS Users
If you have a single account today that has all of your systems, we recommend you create a new account to be your management account and the root of your organization. Simply spin up a new account, enter a credit card, and then invite your original account in as your first “production” account. You can move anything that should be in other accounts gradually.
Typical migration timeline:
- Week 1: Create management account, enable Organizations, invite existing account
- Week 2-3: Set up Control Tower, create development and staging accounts
- Month 2-3: Migrate non-production workloads to appropriate accounts
- Month 3-6: Refine permissions, implement cost allocation, optimize network architecture
Quick Wins You’ll See Immediately
Within days of implementing a multi-account strategy, you’ll experience:
- Clear cost attribution: “Production spent $X, Development spent $Y” becomes trivial to report
- Blast radius containment: That runaway script in dev can’t touch production, period
- Simplified compliance: Point auditors to specific accounts instead of explaining complex network segmentation
Setting Up SSO (IAM Identity Center)
Don’t skip this step—it’s what makes multiple accounts manageable. AWS SSO (now called IAM Identity Center) provides single sign-on across all your accounts. Setup takes about 30 minutes:
- Enable it in your management account
- Create permission sets (start with PowerUser and ReadOnly)
- Assign users to accounts with appropriate permission sets
If you already use Google Workspace, Okta, or Active Directory, you can connect SSO directly to your identity provider. This means developers use their existing credentials and you maintain one source of truth for access management. As a bonus, this entirely eliminates the need for developers to use long-lived IAM access keys.
Mistake #1: Over-Engineering Day One
- Don’t spread yourself across a ton of accounts. Most people should have an account they spend most of their time in, not be bouncing all over the place.
- Don’t get carried away with OU hierarchies. Keep it simple: Security OU, Production OU, Non-Production OU is enough for most.
- Don’t use SCPs before understanding what you actually need. SCPs can create frustration and delays downstream and generate confusion when exemptions are needed.
Mistake #2: Forgetting About Costs
- Minimize cross-account data transfer, which can add 10-20% to your AWS bill if not managed carefully. Group your systems into logical workloads that communicate frequently.
- Don’t duplicate NAT gateways in every account. Use shared networking through Transit Gateway or VPC peering. A single NAT gateway costs ~$45/month; unnecessary duplication adds up fast.
- Enable RI/Savings Plans sharing across accounts in your Organization settings—this alone can save 20-30% on compute costs.
Mistake #3: Weak Emergency Procedures
- Test your break-glass access quarterly
- Document the process (screenshots help)
- Keep MFA tokens in separate physical locations
- Store root account credentials in a password manager with limited access
- Use root credential management in IAM to eliminate root access to subaccounts
The Tools That Make This Manageable
AWS Native:
- Control Tower: If you’re starting fresh, just use it. Provides guardrails and automates account provisioning.
- SSO (IAM Identity Center): Essential for managing access across accounts without juggling credentials.
- Organizations: The foundation everything builds on—enables consolidated billing and policy management.
Third-Party MVPs:
- org-formation: CloudFormation for Organizations. Use when Control Tower’s customization isn’t enough.
- Terraform aws-organizations module: For teams already invested in Terraform who want to manage Organizations as code.
- Steampipe: SQL queries across all your accounts—invaluable for compliance and cost analysis once you have 5+ accounts.
The Bottom Line
The journey from account chaos to organizational bliss isn’t always smooth, but it’s worth it. Start small, automate early, and remember: AWS accounts are free, but the clarity they provide is priceless.
Your future self will thank you when that 3 AM page comes in and you know exactly which account to check, which team to call—and most importantly—that your production environment is safe from whatever just exploded in development.