This workflow performs a structured AWS Well-Architected Framework (WAF) review against your workload's IaC files and deployed infrastructure. It identifies risks across all 6 WAF pillars and creates GitHub issues to track remediation.
Fetch current AWS WAF best practices:
https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
Scan the repository for IaC files:
**/*.tf
**/*.yaml, **/*.json (CFn templates)lib/**/*.ts, bin/**/*.ts, cdk.json
Identify key AWS services in use (compute, data, networking, security, observability) and generate a Mermaid architecture diagram.
* actions without justification)enforceSSL: true)aws guardduty list-detectors)arm64, EC2 Graviton)arm64 architecture adopted (20% cost reduction)For each finding, classify:
๐๏ธ AWS Well-Architected Review Summary
๐ Review Results:
โข IaC Files Analyzed: X
โข AWS Services Identified: Y
โข Total Findings: Z
โข High Risk: A (immediate action required)
โข Medium Risk: B (should address soon)
โข Low Risk: C (nice to have)
๐ด Top High Risk Findings:
1. [Pillar]: [Finding] โ [Why it matters]
2. [Pillar]: [Finding] โ [Why it matters]
๐ก This will create Z individual GitHub issues + 1 EPIC issue.
โ Proceed with creating GitHub issues? (y/n)
Label with "well-architected" and the pillar name (e.g., "security", "reliability").
Title: [WAF-<PILLAR>] [Brief Finding] โ [Risk Level]
Body:
## ๐๏ธ Well-Architected Finding: [Brief Title]
**Pillar**: [Name] | **Risk Level**: [High/Medium/Low] | **Effort**: [Low/Medium/High]
### ๐ Description
[Clear explanation of the finding and why it matters]
### ๐ง Remediation
**IaC Fix** (preferred):
```hcl
# Terraform example
resource "aws_s3_bucket_server_side_encryption_configuration" "example" {
bucket = aws_s3_bucket.example.id
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "aws:kms"
}
}
}
AWS CLI fallback:
aws s3api put-bucket-encryption --bucket <name> \
--server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms"}}]}'
Well-Architected Question: [WAF question this maps to]
### Step 7: Create EPIC Tracking Issue
Label with "well-architected" and "epic".
**Title**: `[EPIC] AWS Well-Architected Review โ X findings across 6 pillars`
**Body**: Executive summary with pillar breakdown table (finding counts by pillar and risk level), Mermaid architecture diagram, prioritized checklist linking all individual issues (High โ Medium โ Low), and success criteria:
- All High-risk findings resolved
- Medium findings have accepted mitigation plans
- No regression in existing CloudWatch alarms or Config rules
## Error Handling
- **No IaC Files Found**: Limit review to live resource discovery via AWS CLI and note the gap
- **Insufficient AWS Permissions**: List required read-only permissions for the review
- **GitHub Creation Failure**: Output all findings as formatted markdown to console
## Success Criteria
- โ
All 6 WAF pillars reviewed against IaC and live infrastructure
- โ
All findings classified by risk level and pillar
- โ
Actionable remediation steps with IaC examples for each finding
- โ
GitHub issues created for team tracking
- โ
Architecture diagram generated for EPIC context
- โ
AWS documentation references included