VPC 내에서 실제 리소스가 배치되는 방식은 서브넷의 설계에 달려 있습니다. 이 글에서는 서브넷의 개념부터 3계층 아키텍처 패턴, 그리고 고가용성을 확보하기 위한 가용 영역 분산 전략까지 다룹니다.
서브넷 아키텍처
서브넷의 개념
서브넷(Subnet)은 VPC의 CIDR 블록을 더 작은 단위로 나눈 논리적 파티션이다. 각 서브넷은 물리적으로 단일 가용 영역(AZ)1에 종속된다. 이는 서브넷이 특정 데이터 센터 건물(AZ)에 위치한다는 의미이며, 서브넷 안에 배치된 리소스는 해당 AZ의 물리적 인프라를 사용한다.
서브넷은 그 자체로는 퍼블릭도 프라이빗도 아니다. 서브넷에 연결된 라우팅 테이블이 인터넷 게이트웨이(IGW)로의 경로를 포함하느냐에 따라 퍼블릭 또는 프라이빗이 결정된다.
| 유형 | 라우팅 특성 | 배치 리소스 |
|---|---|---|
| 퍼블릭 서브넷 | 0.0.0.0/0 → IGW | ALB, Bastion Host, NAT Gateway |
| 프라이빗 서브넷 | 0.0.0.0/0 → NAT Gateway | 애플리케이션 서버, 컨테이너 |
| 데이터 서브넷 | 인터넷 경로 없음 | RDS, ElastiCache, Redshift |
3계층 서브넷 설계
프로덕션 환경에서 가장 널리 사용되는 패턴은 3계층(3-Tier) 서브넷 설계다. 이 패턴은 네트워크 레벨에서 심층 방어Defense in Depth를 구현한다.
각 계층의 역할과 보안 원칙은 다음과 같다.
퍼블릭 서브넷 (Presentation Tier)
외부 인터넷과의 직접 통신을 담당한다. Application Load Balancer(ALB)가 외부 요청을 수신하고, 바스티온 호스트(Bastion Host)2가 관리자의 SSH 접속을 중개한다. 인바운드 트래픽은 80(HTTP)과 443(HTTPS) 포트만 허용하며, NACL로 추가적인 경계 방어를 적용한다.
프라이빗 서브넷 (Application Tier)
비즈니스 로직을 처리하는 서버가 위치한다. 인터넷에서 직접 접근할 수 없으며, 아웃바운드 인터넷 통신(패치 다운로드, 외부 API 호출 등)은 퍼블릭 서브넷의 NAT Gateway를 경유한다. 인바운드는 퍼블릭 서브넷의 ALB에서 오는 트래픽만 허용한다.
데이터 서브넷 (Data Tier)
데이터베이스와 캐시가 위치한다. 인터넷으로의 경로가 아예 존재하지 않는다. 인바운드는 오직 프라이빗 서브넷의 애플리케이션 서버에서 오는 트래픽만 허용한다. AWS 서비스 접근이 필요한 경우(예: S3 백업) VPC Endpoint를 사용하여 인터넷을 완전히 우회한다.
이 설계의 핵심 가치는 한 계층이 침해되더라도 다른 계층으로의 수평 이동lateral movement을 네트워크 수준에서 차단한다는 점이다. 웹 서버가 해킹되어도 데이터베이스에 직접 접근할 수 없고, 반드시 애플리케이션 계층을 거쳐야 한다.
가용 영역 분산 전략
고가용성을 확보하려면 각 계층의 서브넷을 최소 2개 이상의 AZ에 분산 배치해야 한다. 하나의 AZ가 전체 장애를 겪더라도 다른 AZ의 서브넷이 서비스를 유지할 수 있기 때문이다.
실제 프로덕션 환경의 서브넷 배치 예시는 다음과 같다.
| 서브넷 | AZ-A | AZ-B | AZ-C |
|---|---|---|---|
| 퍼블릭 | 10.0.1.0/24 | 10.0.11.0/24 | 10.0.21.0/24 |
| 프라이빗 | 10.0.2.0/24 | 10.0.12.0/24 | 10.0.22.0/24 |
| 데이터 | 10.0.3.0/24 | 10.0.13.0/24 | 10.0.23.0/24 |
이 배치에서 주목할 점은 CIDR 블록의 두 번째 옥텟 규칙이다. AZ-A는 x.x.1~3.x, AZ-B는 x.x.11~13.x, AZ-C는 x.x.21~23.x처럼 체계적으로 번호를 부여하면, 서브넷 ID만 보고도 어떤 AZ의 어떤 계층인지 즉시 파악할 수 있다. 이러한 네이밍 규칙은 대규모 환경에서 운영 효율을 크게 높인다.
출처
- Amazon Web Services (2026) How Amazon VPC works. Available at: https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html
- Stratus10 (2025) Unleashing the Power of 3-Tier Network Architecture. Available at: https://stratus10.com/blog/aws-best-practices-components-3-tier-architecture