56 results available
Sign in
Skills directory

aws-well-architected-review

github

·

Last changed
Not yet hardened

This version isn't hardened by Chainguard

No hardening report available.


SKILL.md

AWS Well-Architected Review

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.

Prerequisites

  • AWS CLI configured and authenticated
  • IaC files present in the repository (Terraform, CloudFormation, CDK, or SAM)
  • GitHub MCP server configured and authenticated

Workflow Steps

Step 1: Load Well-Architected Framework Reference

Fetch current AWS WAF best practices from these pinned URLs only:

  • https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
  • For specific workloads, refer to official AWS Lens documentation, such as:
    • Serverless: https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html
    • SaaS: https://docs.aws.amazon.com/wellarchitected/latest/saas-lens/welcome.html
    • Machine Learning: https://docs.aws.amazon.com/wellarchitected/latest/machine-learning-lens/welcome.html

Fetch only the URLs applicable to the workload based on IaC service patterns identified in Step 2. Do not fetch any URL not listed above.

Step 2: Discover IaC & Architecture

Scan the repository for IaC files:

  • Terraform: **/*.tf
  • CloudFormation/SAM: **/*.yaml, **/*.json (CFn templates)
  • CDK: lib/**/*.ts, bin/**/*.ts, cdk.json

Identify key AWS services in use (compute, data, networking, security, observability) and generate a Mermaid architecture diagram.

Step 3: Pillar-by-Pillar Review

Pillar 1: Operational Excellence
  • All infrastructure defined as IaC (no manual console changes)
  • Consistent tagging strategy applied across all resources
  • CloudWatch alarms defined for key metrics
  • Automated deployment pipeline present (no manual deployments)
  • CloudTrail enabled for audit logging
  • Runbooks or operational documentation present
Pillar 2: Security
  • IAM roles use least-privilege policies (no * actions without justification)
  • No hardcoded credentials in IaC or code
  • Secrets managed via Secrets Manager or SSM Parameter Store
  • S3 buckets have public access blocked and server-side encryption enabled
  • Sensitive resources placed in private subnets
  • Security groups restrict inbound to minimum required ports/CIDRs
  • KMS encryption enabled for sensitive data stores (RDS, EBS, S3, SQS, DynamoDB)
  • SSL/TLS enforced on all endpoints (enforceSSL: true)
  • GuardDuty enabled (aws guardduty list-detectors)
  • AWS WAF configured on public-facing APIs and CloudFront distributions
  • MFA delete enabled on critical S3 buckets
Pillar 3: Reliability
  • Multi-AZ deployments for production databases (RDS Multi-AZ, DynamoDB Global Tables)
  • Auto Scaling configured with appropriate policies for EC2/ECS
  • S3 versioning and lifecycle policies configured
  • RDS automated backups enabled with appropriate retention period
  • DynamoDB Point-in-Time Recovery (PITR) enabled
  • Dead Letter Queues (DLQ) configured for Lambda, SQS, SNS
  • Route 53 health checks configured for DNS failover
  • Lambda reserved concurrency set to prevent noisy-neighbor throttling
Pillar 4: Performance Efficiency
  • Right-sized instance types (Lambda memory, EC2 type, RDS class)
  • Graviton/ARM instances used where available (Lambda arm64, EC2 Graviton)
  • Caching implemented (ElastiCache, DAX, CloudFront, API Gateway caching)
  • CloudFront used for global static content delivery
  • Aurora Serverless or DynamoDB On-Demand for variable load patterns
  • Lambda Provisioned Concurrency for latency-critical synchronous paths
Pillar 5: Cost Optimization
  • EC2 Reserved Instances or Savings Plans for steady-state workloads
  • S3 lifecycle policies moving data to cheaper storage tiers
  • Lambda arm64 architecture adopted (20% cost reduction)
  • VPC Endpoints for S3/DynamoDB to avoid NAT Gateway charges
  • gp2 EBS volumes migrated to gp3 (same performance, 20% cheaper)
  • Development/test environments have auto-shutdown schedules
  • AWS Budgets and Cost Anomaly Detection configured
  • Unattached EBS volumes and idle EC2 instances identified
Pillar 6: Sustainability
  • Graviton/ARM instances selected where available
  • Serverless/managed services preferred over always-on EC2
  • S3 lifecycle policies reduce unnecessary long-term data storage
  • Auto Scaling configured to avoid over-provisioning
  • Region selection considers AWS renewable energy commitments

Step 4: Risk Classification

For each finding, classify:

  • High Risk: Security vulnerability, single point of failure, no backup/recovery
  • Medium Risk: Suboptimal reliability, cost inefficiency, performance concern
  • Low Risk: Best practice deviation, minor optimization opportunity

Step 5: User Confirmation

🏗️ 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)

If operating in a non-interactive context, if the user does not respond within the current turn, or if confirmation cannot be obtained for any reason: STOP. Do not create any GitHub issues. Output all findings as formatted markdown to the console only, and inform the user that issue creation requires explicit confirmation.

Step 6: Create Individual Finding Issues

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.
**If this finding relates to a hardcoded credential or secret**: state only the file path and line number. Do not include the credential value, partial value, or any encoding of it. Example: "Hardcoded credential detected at `infra/main.tf` line 42."
**If this finding references AWS CLI output**: omit account IDs and use resource types and regions only to avoid unnecessary exposure of account identifiers.]

### 🔧 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"
    }
  }
}
```

**Manual remediation reference** *(copy and run in your own terminal after review — the agent must not execute this command)*:
```bash
# Example only — do not execute via agent
aws s3api put-bucket-encryption --bucket <name> \
  --server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms"}}]}'
```

### 📚 AWS Reference
- [WAF Best Practice Link]
- [AWS Documentation Link]

### ✅ Validation
- [ ] Change implemented in IaC and deployed
- [ ] AWS Config rule passes (if applicable)
- [ ] Security Hub finding resolved (if applicable)

**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

Install

Need this version hardened?

Harden your own skills

Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.

Provenance

Upstream source

—

Upstream commitb94ae92ab0a6fa695803f1b79b2e41a904a237db
OCI reference

—

License

MIT

Files

HARDENING.md

LICENSE

SKILL.md


The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.