3-Tier Network
Internet → firewall → LB → app tier → DB tier.
Rendering…
Make it your own.
digraph G {
rankdir=TB;
graph [bgcolor="transparent", fontname="Inter", splines=ortho, nodesep=0.6, ranksep=0.8];
node [shape=none, fontname="Inter", fontsize=11];
Internet [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="#f1f5f9"><tr><td><b>Internet</b></td></tr></table>>];
FW [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="#fee2e2"><tr><td><b>Firewall</b></td></tr></table>>];
LB [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="#dbeafe"><tr><td><b>Load Balancer</b></td></tr></table>>];
subgraph cluster_app {
label="App Tier"; style="rounded,filled"; fillcolor="#ecfdf5"; color="#16a34a";
App1 [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="white"><tr><td><b>app-01</b></td></tr></table>>];
App2 [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="white"><tr><td><b>app-02</b></td></tr></table>>];
App3 [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="white"><tr><td><b>app-03</b></td></tr></table>>];
}
subgraph cluster_data {
label="Data Tier"; style="rounded,filled"; fillcolor="#f5f3ff"; color="#7c3aed";
Primary [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="white"><tr><td><b>Primary DB</b></td></tr></table>>];
Replica [label=<<table border="0" cellborder="1" cellpadding="6" style="rounded" bgcolor="white"><tr><td><b>Read Replica</b></td></tr></table>>];
}
Internet -> FW -> LB;
LB -> App1; LB -> App2; LB -> App3;
App1 -> Primary; App2 -> Primary; App3 -> Primary;
Primary -> Replica [label="repl", style=dashed];
}