← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
← Back to glossary

Cloud VPC & Networking

Cloud Intermediate
debt(d5/e7/b7/t5)
d5 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'specialist tool catches it' (d5). The detection_hints list aws-config, scout-suite, and prowler — all specialist cloud security scanning tools. Misconfigurations like a database in a public subnet or overly permissive security groups (0.0.0.0/0) are not caught by standard linters or compilers; they require dedicated cloud posture tools to surface.

e7 Effort Remediation debt — work required to fix once spotted

Closest to 'cross-cutting refactor across the codebase' (e7). The quick_fix describes restructuring the entire network topology — moving servers and databases into private subnets, introducing NAT Gateways, and repositioning the load balancer. This is not a single-file or single-component change; it touches infrastructure definitions, routing tables, security groups, and application server configurations across the whole deployment, making it a significant cross-cutting infrastructure refactor.

b7 Burden Structural debt — long-term weight of choosing wrong

Closest to 'strong gravitational pull' (b7). VPC and subnet topology applies across both web and CLI contexts (per applies_to) and shapes every deployment decision. Once databases, application servers, and load balancers are placed in subnets, every new resource must be considered in light of the existing network layout. The choice has strong gravitational pull because adding new services, scaling, or changing security posture all require reasoning about the VPC design.

t5 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'notable trap' (t5). The misconception field states: 'Public subnets are less secure — security groups control access regardless of subnet type.' This is a documented and commonly encountered gotcha — developers conflate security group rules with network-level isolation, not realising that a database in a public subnet is directly internet-routable even if its SG restricts ports. This is a well-known trap that most cloud developers encounter and learn at some point.

About DEBT scoring →

Also Known As

VPC subnet security group NAT gateway

TL;DR

Virtual Private Cloud — private subnets for databases/workers, public subnets for load balancers only, security groups as stateful firewalls.

Explanation

Public subnets have internet gateway route. Private subnets: no direct internet access. Security groups: stateful per-instance firewall, allow rules only. NAT Gateway: private instances make outbound requests. Best practice: RDS, ElastiCache, ECS in private subnets; only ALB in public.

Common Misconception

Public subnets are less secure — security groups control access regardless of subnet type.

Why It Matters

A database in a public subnet is directly reachable from the internet — private subnets ensure it is only accessible from application servers.

Common Mistakes

  • Database in public subnet
  • SG 0.0.0.0/0 on port 22
  • No VPC Flow Logs
  • Forgetting SGs are stateful

Code Examples

✗ Vulnerable
# RDS publicly_accessible=true with open SG
✓ Fixed
# RDS in private subnet
# SG: allows 5432 only from app-sg
# App in private subnet behind ALB in public subnet

Added 16 Mar 2026
Edited 22 Mar 2026
Views 56
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings T 0 pings W 1 ping T 0 pings F 0 pings S 1 ping S 0 pings M 1 ping T 0 pings W 1 ping T 1 ping F 0 pings S 0 pings S 1 ping M 1 ping T 2 pings W 0 pings T 0 pings F 0 pings S 0 pings S 1 ping M 0 pings T 0 pings W 0 pings T 0 pings F 1 ping S 1 ping S 0 pings M 0 pings T 0 pings W
No pings yet today
No pings yesterday
Amazonbot 16 Perplexity 6 Scrapy 5 Ahrefs 4 SEMrush 4 Google 2 ChatGPT 2 Claude 1 Meta AI 1 Bing 1 PetalBot 1
crawler 41 crawler_json 2
DEV INTEL Tools & Severity
🟠 High ⚙ Fix effort: High
⚡ Quick Fix
Place PHP-FPM servers and databases in private subnets — only the load balancer sits in the public subnet; use NAT Gateway for outbound internet from private subnet
📦 Applies To
any web cli
🔗 Prerequisites
🔍 Detection Hints
RDS database in public subnet; EC2 instance directly internet-facing with no load balancer; security group allowing 0.0.0.0/0 inbound
Auto-detectable: ✓ Yes aws-config scout-suite prowler
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: Medium ✗ Manual fix Fix: High Context: File


✓ schema.org compliant