037. VPC — 클라우드 위의 사설 네트워크
VPC(Virtual Private Cloud)는 클라우드 위에 만드는 논리적 사설 네트워크다. 서브넷으로 구역을 나누고, 라우팅 테이블로 트래픽 방향을 제어하고, Internet Gateway로 외부와 연결한다. public/private 서브넷의 차이, 라우팅 테이블이 동작하는 방식, 그리고 실무 VPC 설계 패턴을 설명한다.
VPC(Virtual Private Cloud)는 클라우드 위에 만드는 논리적 사설 네트워크다. 서브넷으로 구역을 나누고, 라우팅 테이블로 트래픽 방향을 제어하고, Internet Gateway로 외부와 연결한다. public/private 서브넷의 차이, 라우팅 테이블이 동작하는 방식, 그리고 실무 VPC 설계 패턴을 설명한다.
private 서브넷의 서버는 인터넷에서 직접 접근할 수 없지만, 외부 API 호출이나 패키지 설치를 위해 아웃바운드 인터넷 접근은 필요하다. NAT Gateway는 이 단방향 출구를 제공한다. 동작 원리, 비용 구조, 고가용성 설계, 그리고 EKS에서의 주의사항을 설명한다.
AWS에는 두 가지 네트워크 접근 제어 메커니즘이 있다. Security Group은 인스턴스 레벨에서 동작하는 stateful 방화벽이고, NACL은 서브넷 레벨에서 동작하는 stateless 방화벽이다. 둘의 결정적인 차이인 stateful vs stateless가 실제로 무엇을 의미하는지, 언제 무엇을 써야 하는지 설명한다.
NAT(Network Address Translation)는 패킷의 출발지 또는 목적지 IP를 변환하는 기술이다. 사설 IP를 가진 서버가 인터넷과 통신할 수 있는 것, VPC의 private 서브넷이 외부로 나갈 수 있는 것이 모두 NAT 덕분이다. SNAT와 DNAT의 차이, Connection tracking, 그리고 k8s Service가 내부적으로 NAT를 어떻게 활용하는지 설명한다.