Reference architectures
Two reference paths for hosting a PCI DSS cardholder data environment (CDE) on AWS. Each recommendation's detail page shows how the control is implemented in both paths. Start with the single-account 3-tier design for smaller or early-stage environments, and adopt the multi-account design as scale, separation of duties, and scope-reduction needs grow.
Single-account, 3-tier
A single AWS account hosting a classic three-tier application (web, application, and data tiers) inside one VPC, with the CDE isolated in dedicated private subnets. The simplest starting point to run a compliant CDE on AWS.
When to use
Best for small teams, proofs of concept, or a single workload where the operational overhead of multiple accounts is not yet justified. All PCI DSS responsibilities are concentrated in one account.
Design principles
- Separate tiers into their own subnets: public (load balancer), private application, and private data.
- Place the CDE (systems that store, process, or transmit account data) in dedicated private subnets with no direct inbound access from the internet.
- Control traffic between tiers with per-tier security groups referencing each other, plus restrictive network ACLs.
- Front public entry points with an Application Load Balancer and AWS WAF; terminate TLS with ACM certificates.
- Encrypt data at rest with AWS KMS customer managed keys and enable account-wide logging and detection (CloudTrail, Config, GuardDuty, Security Hub).
AWS services
Multi-account with a dedicated PCI OU
An AWS Organizations landing zone where the CDE lives in workload accounts under a dedicated PCI organizational unit (OU), separated from non-PCI workloads. Centralized security, logging, and network accounts provide guardrails, aggregation, and inspection.
When to use
Best for organizations with multiple workloads, teams, or environments that need strong separation of duties, blast-radius isolation, and reduced PCI DSS scope. Recommended as the target state for production CDEs at scale.
Design principles
- Isolate the CDE in dedicated workload accounts under a PCI OU, separate from non-PCI accounts.
- Use service control policies (SCPs) at the PCI OU to enforce guardrails (e.g. deny disabling logging or encryption, restrict regions).
- Centralize audit logs in a dedicated log-archive account with restricted, tamper-resistant access.
- Centralize detection and posture in a security tooling account (GuardDuty, Security Hub, Config aggregator) as delegated administrator.
- Route and inspect inter-VPC and egress traffic through a central network account (Transit Gateway + AWS Network Firewall).
- Provision the landing zone and account baselines consistently with AWS Control Tower and infrastructure as code.
PCI DSS Security Maturity Model