The context
An international software vendor had accumulated several hundred AWS accounts spread across dozens of delivery teams. Every team had done its best, which produced as many conventions as there were teams: firewall rules that disagreed from one account to the next, backups present here and absent there, security boundaries impossible to demonstrate to an auditor, and a bill nobody could fully explain.
The goal was not to regain control by forbidding everything. Governance that blocks delivery teams gets worked around within the month, and the result is worse than the starting point, because the workarounds are undocumented.
What we did
We took the estate over and centralised what had to be uniform, leaving the delivery teams what is genuinely theirs.
- Centralised security policy: AWS Organizations, service control policies, and centrally managed firewall rules through Firewall Manager, applied uniformly instead of negotiated account by account.
- Consistent networking and edge protection: Transit Gateway to replace a VPC peering mesh that had become unreadable, and centralised WAF policies in front of internet-facing applications, managed the same way through Firewall Manager instead of account by account.
- Backup as a service built on AWS Backup, which dozens of delivery teams consume by declaring their retention requirement, without each having to become a specialist.
- One security view through Security Hub, aggregating findings from every account instead of leaving them to sit in each one. At this size the problem is not producing alerts — there are thousands — but making them actionable: attaching each finding to an owning team, and tracking what actually gets fixed.
- Audit compliance: traceability, environment isolation, retention policies, and automatic production of the evidence auditors expect.
- Cost reduction and remediation of existing infrastructure, starting with the heaviest line items rather than the easiest ones.
- Performance work: sizing containerised workloads on ECS to absorb traffic spikes without over-provisioning all year, and a rework of the managed Aurora database configuration.
The outcome
Security is steered from one place instead of being renegotiated team by team, backups exist everywhere and are tested, and audits rest on evidence produced automatically rather than reconstructed under pressure.
The bill went down. The more durable change is elsewhere: it can be explained again, which is what makes trade-offs possible.