Skip to content
Weave templates

AWS reference architecture

CloudFront → ALB → ECS Fargate → RDS + ElastiCache, S3 for assets.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id":"r53","type":"cloud","label":"Route 53","x":40,"y":160,"fill":"#e0f2fe","stroke":"#0369a1" },
    { "id":"cf","type":"cloud","label":"CloudFront","x":240,"y":160,"fill":"#e0f2fe","stroke":"#0369a1" },
    { "id":"alb","type":"hexagon","label":"ALB","x":440,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
    { "id":"e1","type":"rect","label":"ECS task 1","x":640,"y":60,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"e2","type":"rect","label":"ECS task 2","x":640,"y":160,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"e3","type":"rect","label":"ECS task 3","x":640,"y":260,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"rds","type":"cylinder","label":"RDS (Postgres)","x":860,"y":80,"fill":"#fef3c7","stroke":"#a16207" },
    { "id":"el","type":"cylinder","label":"ElastiCache","x":860,"y":240,"fill":"#fee2e2","stroke":"#b91c1c" },
    { "id":"s3","type":"cylinder","label":"S3 (assets)","x":1080,"y":160,"fill":"#dcfce7","stroke":"#15803d" },
    { "id":"cw","type":"callout","label":"CloudWatch logs + alarms","x":440,"y":340,"fill":"#fef9c3" }
  ],
  "edges": [
    { "id":"e1","source":"r53","target":"cf" },
    { "id":"e2","source":"cf","target":"alb" },
    { "id":"e3","source":"alb","target":"e1" },
    { "id":"e4","source":"alb","target":"e2" },
    { "id":"e5","source":"alb","target":"e3" },
    { "id":"e6","source":"e1","target":"rds" },
    { "id":"e7","source":"e2","target":"rds" },
    { "id":"e8","source":"e3","target":"rds" },
    { "id":"e9","source":"e1","target":"el" },
    { "id":"e10","source":"e2","target":"el" },
    { "id":"e11","source":"cf","target":"s3","label":"origin" },
    { "id":"e12","source":"cw","target":"alb" }
  ]
}