Skip to content
Graphviz (DOT) templates

AWS VPC Layout

Public + private subnets, NAT, IGW, RDS in two AZs.

Template previewGraphviz (DOT)
Rendering…

Make it your own.

digraph vpc {
  rankdir=TB;
  graph [bgcolor=transparent, compound=true];
  node [shape=box, style="rounded,filled", fontname=Inter, fontsize=10];

  Internet [shape=ellipse, fillcolor="#fee2e2"];
  IGW [label="Internet Gateway", fillcolor="#fef3c7"];

  subgraph cluster_vpc {
    label="VPC 10.0.0.0/16"; style=dashed;

    subgraph cluster_az_a {
      label="AZ a";
      Pub_a [label="Public subnet\n10.0.1.0/24", fillcolor="#dbeafe"];
      Priv_a [label="Private subnet\n10.0.11.0/24", fillcolor="#dcfce7"];
      NAT_a [label="NAT GW", fillcolor="#ede9fe"];
    }
    subgraph cluster_az_b {
      label="AZ b";
      Pub_b [label="Public subnet\n10.0.2.0/24", fillcolor="#dbeafe"];
      Priv_b [label="Private subnet\n10.0.12.0/24", fillcolor="#dcfce7"];
      NAT_b [label="NAT GW", fillcolor="#ede9fe"];
    }

    ALB [label="ALB", fillcolor="#fce7f3"];
    RDS [label="RDS multi-AZ", shape=cylinder, fillcolor="#fef3c7"];
  }

  Internet -> IGW -> ALB;
  ALB -> Pub_a; ALB -> Pub_b;
  Pub_a -> NAT_a; Pub_b -> NAT_b;
  Priv_a -> NAT_a; Priv_b -> NAT_b;
  Priv_a -> RDS; Priv_b -> RDS;
}