AWS Diagram Guide

Multi-region AWS architecture diagrams: what to duplicate and what to draw once

By the engineer who builds Datadef, from client work on data platforms · Reviewed August 21, 2026

The instinct with a two-region architecture is to copy the diagram and paste it beside itself. That produces a picture where the interesting parts, what replicates, in which direction, and what actually moves traffic during a failover, are the only things missing. A multi-region diagram is worth drawing for those three things.

7 min readFor teams documenting a DR posture or an active-active deployment

See it as a diagram

Everything below, as a diagram you can edit. Describe yours and see it in seconds.

220/20003 credits left
Try:

No account needed · Editable canvas, not a picture

A lane for global services, a zone per region

Start with a horizontal lane above everything for the services that have no region: Route 53, CloudFront, IAM, AWS Organizations, and the WAF web ACL attached to a distribution. Below it, one container per region carrying its real name, eu-west-1 and us-east-1, not primary and secondary, because the names are what appears in the runbook.

One detail belongs on the global lane and is missed constantly: an ACM certificate used to require HTTPS between viewers and CloudFront must be requested or imported in us-east-1 no matter where the workload runs. That requirement is stated under "AWS Region for AWS Certificate Manager" in the CloudFront developer guide page on SSL/TLS certificate requirements, and it is narrower than people remember: a certificate on the origin load balancer can be issued in any region. Drawing both as one certificate is the kind of small lie that costs someone an afternoon during a cutover.

Duplicate only what is genuinely duplicated

Mirror the request path and the data plane. Do not mirror what only exists once: the CI pipeline, the analytics stack reading from one region, the central logging destination, the internal tooling. Drawing a symmetric picture of an asymmetric system is how teams discover during an incident that the secondary region was never actually complete.

Then draw replication as directed arrows with the mechanism named on them, because each one has a different consistency and failover story. S3 Cross-Region Replication is asynchronous and per bucket. DynamoDB global tables are multi-active and replicate asynchronously, so a read in one region can be behind a write in another. Aurora Global Database replicates to a read-only secondary that must be promoted, which is a manual step in the failover path. ECR replication matters only at deploy time. Those four arrows look identical if you leave them unlabelled and mean four different things.

Make the failover mechanism visible

The question every reader has is what moves traffic. Show the Route 53 record with its routing policy, failover, latency, or weighted, and show the health check that drives it as an edge into that record. If you use Application Recovery Controller routing controls, draw them, because they are the switch a human will flip at three in the morning.

Label the posture explicitly on the canvas: active-active, warm standby, pilot light, or backup and restore. Add the target RTO and RPO as a caption. A diagram that shows two regions but not the posture invites everyone to assume the most optimistic one.

resource "aws_route53_record" "api_primary" {
  zone_id        = aws_route53_zone.main.zone_id
  name           = "api.example.com"
  type           = "A"
  set_identifier = "eu-west-1"

  failover_routing_policy {
    type = "PRIMARY"
  }

  health_check_id = aws_route53_health_check.eu_west_1.id

  alias {
    name                   = aws_lb.eu_west_1.dns_name
    zone_id                = aws_lb.eu_west_1.zone_id
    evaluate_target_health = true
  }
}

Drawing it, and keeping it honest

Describe the topology in one sentence and Datadef lays out the region zones, places the services with their real AWS icons, and labels the replication edges. From there the canvas is editable, so the annotations that matter most, posture, RTO, RPO, and what is deliberately not replicated, get added where the reader will see them.

The failure mode specific to multi-region diagrams is asymmetric drift: the secondary region gains a service the diagram never gets, or loses one nobody announced. When both regions are defined in the same Terraform repository, a connected sync regenerates the picture daily and a resource that exists in only one region shows up as exactly that.

The disaster recovery case comes out particularly cleanly, because a standby region is usually gated on a flag rather than deleted. The parse resolves count = var.enable_dr ? 1 : 0 by following the flag into the tfvars of each environment, and a resource whose flag is false keeps its node with the label "not deployed (count 0)" instead of vanishing. A diagram that says the standby stack exists in code and is currently switched off is more useful than one that draws it as live, and much more useful than one that leaves it out. The rest of the loop is in keeping an AWS diagram current.

FAQ

Should both regions be drawn in full detail?

Only the parts that genuinely exist in both. Mirror the request path and the data plane, and draw single-region components once where they live. A symmetric picture of an asymmetric deployment is the most dangerous kind of architecture diagram, because it hides exactly the gap that matters during a failover.

How do I show cross-region replication?

As a directed arrow labelled with the mechanism: S3 Cross-Region Replication, DynamoDB global table, Aurora Global Database, ECR replication. Each has different consistency and promotion behaviour, so an unlabelled arrow between two data stores tells the reader almost nothing.

Where do Route 53 and CloudFront go in a multi-region diagram?

In a global lane above the region containers, since neither belongs to a region. The Route 53 record should carry its routing policy and the health check that drives it, because that is the mechanism a reader is looking for when they ask how traffic fails over.

What is the one annotation a multi-region diagram must not omit?

The posture, plus the target RTO and RPO. Active-active, warm standby, and pilot light produce nearly identical drawings and completely different expectations. Writing the posture on the canvas prevents the optimistic reading.

Does an ACM certificate need to be drawn twice?

A certificate used to require HTTPS between viewers and CloudFront must be requested or imported in us-east-1 regardless of where the workload runs, so it sits in the global lane. Certificates attached to regional load balancers live with those load balancers, one per region, and can be issued anywhere. They are different objects and drawing them as one causes real confusion during a cutover.