AWS Reference Platform

Account Landscape

Five AWS accounts, each with a single job. Separation is the control: a mistake or a breach in one account cannot reach the others, and the audit record lives somewhere the workloads cannot write to.

Governance Security & Audit Shared Infrastructure Workloads Reserved

management

Owns the organization. No workloads ever run here.

  • AWS Organizations accounts, OUs
  • Service Control Policies preventive guardrails
  • IAM Identity Center human sign-in
  • CloudTrail organization trail
  • S3 infrastructure state
  • AWS Budgets spend alerting

Access is federated. No passwords, no access keys.

security

The evidence locker and the detection hub.

  • S3 + Object Lock write-once audit archive
  • KMS encryption keys
  • AWS Config aggregator + conformance pack
  • GuardDuty threat detection
  • Security Hub posture management
  • IAM Access Analyzer external access

Workload accounts can write logs here, never read or delete them.

shared-services

Common infrastructure every workload borrows.

  • Transit Gateway the network hub
  • NAT Gateway single inspected egress
  • Amazon ECR container registry
  • VPC egress network

All internet-bound traffic leaves through here, and only here.

workloads-dev

Where applications actually run. Fully disposable.

  • Amazon EKS Kubernetes control plane
  • EC2 Spot discounted capacity
  • Karpenter automatic scaling
  • Secrets Manager application credentials
  • EventBridge + SQS capacity events
  • VPC private, no direct internet

Destroyed and rebuilt on demand. Nothing of record lives here.

workloads-prod

Provisioned and governed, awaiting first production workload.

  • VPC network in place
  • Deploy role requires human approval
  • Config + CloudTrail already reporting

Separated from dev now, so promotion later needs no re-architecture.

How A Change Reaches Production

Commit Review Automated Plan Human Approval Apply Recorded In Audit Trail

No person holds standing credentials to make changes. Automation authenticates per run and its permissions are capped, so even the deployment pipeline cannot disable logging or create a long-lived key.