EC2를 하나 띄우고 SSH가 안 되는 순간이 있다. 보안 그룹도 0.0.0.0/0으로 열었는데 안 된다. 라우팅 테이블을 들여다보니 인터넷 게이트웨이로 가는 경로가 없다. 이 한 줄짜리 미스터리가 VPC를 처음 만난 모두가 겪는 통과의례다. 라우팅 한 줄이 빠진 것뿐인데 트래픽 흐름 전체가 막힌다 — 이게 SDN(Software Defined Networking) 위에 짜인 VPC가 가진 결정성의 양면이다. 결정적이라는 건 "예측 가능하다"는 뜻이지만, 동시에 "한 줄을 잘못 적으면 일관되게 망가진다"는 뜻이기도 하다.
VPC는 단순히 "내 가상 네트워크"가 아니다. 2009년 출시될 때 AWS는 그 전까지 EC2 인스턴스를 공용 IP만으로 제공했다(EC2-Classic). 즉 모든 인스턴스가 인터넷에 직접 노출되어 있었고, 보안 그룹만이 유일한 방어선이었다. VPC는 이 모델을 뒤집어 "기본은 격리, 명시적으로 열어야 외부 통신"이라는 방향으로 가져갔다. 2013년 12월부터는 신규 계정에 EC2-Classic이 제공되지 않았고, 2022년 EC2-Classic은 완전히 종료됐다. 이 전환은 보안 모델의 근본 변화였다 — default deny가 클라우드 네트워크의 기본값이 됐고, 그 패러다임이 GCP·Azure에도 그대로 이식됐다. 오늘은 그 새로운 모델의 기초 — VPC, 서브넷, 라우팅 테이블 — 를 한 호흡으로 그린다.
VPC는 계정·리전 단위로 격리된 가상 네트워크다