AWS Well-Architected Framework v10
ActiveCommon framework
Best for: Any organization running workloads on AWS that needs to evaluate architectural decisions against AWS best practices. Most relevant for teams preparing for Well-Architected Reviews with a Solutions Architect, companies pursuing AWS Partner certifications, or engineering teams that need to justify infrastructure decisions to leadership. No revenue or size threshold applies. A startup with a single account benefits as much as an enterprise managing hundreds.
| Mandatory? | Voluntary — AWS best-practice framework |
|---|---|
| Who validates? | Self-assessment via AWS Well-Architected Tool; optional AWS partner review |
| Renewal | No fixed cycle; review at architecture changes |
| Scope | All AWS workloads; six pillars including Security |
| Governing body | Amazon Web Services (AWS), AWS Well-Architected Framework v10. Official source |
Get started
Point the module source at the AWS Well-Architected Framework v10 endpoint and pin a version range you reviewed:
module "..." {
source = "awswellarchitected.compliance.tf/terraform-aws-modules/<module>/aws"
version = "<version>"
}awswellarchitected.compliance.tf lists every AWS Well-Architected Framework v10 module with its versions, inputs and outputs.
What compliance.tf covers and what you handle
| Area | Compliance.tf automates | You handle |
|---|---|---|
| Account Governance | Runs controls checking AWS Organizations membership, security contact registration, and account contact detail completeness. Covers account_alternate_contact_security_registered, account_maintain_current_contact_details, and account_part_of_organizations. | Defining and enforcing the organizational unit (OU) structure, setting up Service Control Policies (SCPs), and maintaining a process to update contacts when personnel change. |
| API Security and Access Control | Checks API Gateway REST and HTTP API configurations for missing authorizers, public endpoint exposure, WAF association, and SSL certificate attachment, across both V1 and V2 APIs. | Designing the authorization strategy (Cognito, Lambda authorizer, IAM), writing and maintaining authorizer logic, and configuring WAF rules appropriate to your threat model. |
| Certificate Lifecycle | Detects ACM certificates expiring within 30 days and verifies certificate transparency logging is enabled. Flags API Gateway stages missing SSL certificates. | Investigating why auto-renewal failed for flagged certificates, managing certificates outside ACM (such as imported certificates), and monitoring Certificate Transparency logs for unauthorized issuance. |
| Resilience and Multi-AZ Architecture | Validates that EC2 auto scaling groups span multiple Availability Zones per the Reliability pillar. | Determining the right number of AZs for your RPO/RTO targets, testing failover scenarios, and ensuring application-level state management supports AZ loss. |
| Sensitive Data Exposure | Scans EC2 auto scaling launch configuration user data fields for embedded secrets, passwords, and sensitive configuration values. | Migrating secrets to AWS Secrets Manager or Parameter Store, rotating any exposed credentials, and implementing preventive controls such as SCPs or CI/CD pipeline scanning. |
| Session and Timeout Configuration | Evaluates AppStream fleet timeout settings (idle disconnect, session disconnect, max user duration) and internet access configuration against recommended thresholds. | Adjusting timeout values to match actual user workflow requirements and configuring VPC egress controls for fleets with internet access disabled. |
Controls by category
72 of 123 mapped controls are Enforced by compliance.tf modules at terraform plan. The other 51 are Mapped only: AWS Well-Architected Framework v10 lists them, no compliance.tf module checks them.
API Gateway Security
This is where most findings accumulate. Reviewers look for unauthenticated API methods, publicly accessible REST API endpoints that should be private, and stages missing WAF associations or access logging. A recurring gap is V2 (HTTP API) routes left with no authorization type because teams assume V1 settings carry over.
AppStream Fleet Configuration
The two things reviewers want to see: internet access disabled on fleets (traffic should route through a VPC with controlled egress) and session timeouts configured to reduce idle exposure windows. Evidence is pulled from fleet configuration details in the AppStream console or via describe-fleets API calls.
Certificate and Encryption Management
Auditors check for expiring ACM certificates and confirm transparency logging is enabled to catch misissued certificates. For API Gateway, they want to see SSL certificates attached to custom domain stages. Expired certificates cause outages, and teams frequently miss renewals when auto-renewal fails silently due to DNS validation issues.
Additional controls (113)
AWS CloudTrail (4)
AWS IAM (9)
AWS KMS (1)
| Control | Status |
|---|---|
| KMS CMK rotation should be enabled | Enforced |
AWS Lambda (2)
| Control | Status |
|---|---|
| Lambda functions CORS configuration should not allow all origins | Enforced |
| Lambda functions should restrict public URL | Enforced |
Amazon CloudFront (5)
Amazon CloudWatch (2)
Amazon CloudWatch Logs (1)
| Control | Status |
|---|---|
| Log groups should have encryption at rest enabled | Enforced |
Amazon DynamoDB (2)
| Control | Status |
|---|---|
| DynamoDB tables should have AWS KMS encryption enabled | Enforced |
| DynamoDB tables should have encryption enabled | Enforced |
Amazon DynamoDB Accelerator (1)
| Control | Status |
|---|---|
| DynamoDB Accelerator (DAX) clusters should be encrypted at rest | Mapped |
Amazon EBS (2)
| Control | Status |
|---|---|
| Attached EBS volumes should have encryption enabled | Enforced |
| EBS snapshots should be encrypted | Mapped |
Amazon EC2 (3)
| Control | Status |
|---|---|
| EC2 instances should have IAM profile attached | Enforced |
| EC2 instances should not have a public IP address | Enforced |
| EC2 instances should use IMDSv2 | Enforced |
Amazon ECR (1)
| Control | Status |
|---|---|
| ECR repositories should have image scan on push enabled | Enforced |
Amazon EFS (2)
| Control | Status |
|---|---|
| EFS file systems should have encryption at rest enabled | Enforced |
| EFS file systems should be encrypted with CMK | Enforced |
Amazon EKS (4)
Amazon OpenSearch Service (8)
Amazon RDS (10)
Amazon Redshift (5)
Amazon Route 53 (2)
Amazon S3 (14)
Amazon SNS (1)
| Control | Status |
|---|---|
| SNS topics should be encrypted at rest | Enforced |
Amazon SQS (2)
| Control | Status |
|---|---|
| SQS queues should have encryption at rest enabled | Enforced |
| SQS queues should be encrypted with KMS CMK | Enforced |
Amazon SageMaker (6)
Amazon VPC (3)
Elastic Load Balancing (10)
Other (13)
Related frameworks
| Framework | Control overlap | Note |
|---|---|---|
| ISO/IEC 27001:2022 | High 73% | |
| NIST Cybersecurity Framework v2.0 | High 61% | |
| PCI DSS v4.0 | High 61% |
Frequently asked questions
Does the Well-Architected Framework require a formal audit or certification?
No. WAF is a self-assessment framework with no certification body, no external auditor requirement, and no pass/fail outcome. You conduct reviews using the AWS Well-Architected Tool in the console, which produces a list of high-risk issues and improvement plans. AWS Solutions Architects can assist but are not auditors.
How does WAF v10 differ from earlier versions?
The "v10" label is a benchmark or package version label, not an AWS official framework version number. AWS updates Well-Architected guidance continuously across all six pillars. The most significant historical change was adding the Sustainability pillar in 2021. In the AWS Well-Architected Tool, you can update existing workload reviews to newer lens versions.
Can I use WAF review results to satisfy compliance requirements for other frameworks like SOC 2 or ISO 27001?
Not directly. WAF findings can inform remediation priorities and provide evidence of architectural review discipline, but no compliance framework accepts a WAF review as a substitute for its own assessment. Mapping WAF controls to SOC 2 or ISO 27001 controls can reduce duplicate effort, but each framework still requires its own evidence collection.
How long does a Well-Architected Review take?
A small, well-documented workload typically takes 2 to 4 hours. Complex workloads involving multiple teams can take days. The bottleneck is usually getting the right people (developers, ops, security) in the same room. Automated checks via compliance.tf can pre-populate technical findings and cut that time down.
Should every AWS workload go through a WAF review?
AWS recommends it, but in practice, prioritize production workloads handling sensitive data or business-critical functions. Development and sandbox workloads can be reviewed less frequently. A common policy is to require a WAF review before production launch and annually after that.