AWS VPC (Virtual Private Cloud) 정의
VPC는 AWS에서 사용자가 직접 네트워크를 설계하고 제어할 수 있는 가상 사설 네트워크로,
클라우드 상에서 마치 자신의 데이터센터를 구축한 것처럼 IP 주소, 서브넷, 라우팅, 보안 설정 등을 자유롭게 구성할 수 있다.
VPC의 핵심 목적
| 목적 | 설명 |
|---|
| 네트워크 분리 (Isolation) | 각 사용자마다 독립된 가상 네트워크(VPC)를 생성하여, 외부 환경과 논리적으로 격리된 공간 제공 |
| 제어 및 커스터마이징 (Control) | IP 범위, 서브넷, 라우팅, 보안 정책(Security Group, NACL) 등을 사용자가 직접 관리 가능 |
| 보안 강화 (Security) | 퍼블릭/프라이빗 서브넷 구조를 통해 인터넷 접근 경로를 통제하고, 내부 자원 보호 가능 |
| 확장성 (Scalability) | 다중 AZ에 걸친 네트워크 설계와 피어링(VPC Peering)으로 대규모 서비스 구성 가능 |
| 하이브리드 연결 (Hybrid) | 온프레미스 네트워크와 Direct Connect, VPN을 통해 안전하게 통합 가능 |
VPC 주요 구성요소
| 구성 요소 | 설명 | 예시 |
|---|
| VPC | 사용자가 정의한 가상 네트워크 | CIDR: 10.0.0.0/16 |
| Subnet | VPC 내 IP 범위를 분할한 네트워크 단위 (Public / Private) | Public Subnet: 10.0.1.0/24, Private Subnet: 10.0.2.0/24 |
| Route Table | 트래픽이 어디로 갈지 결정하는 라우팅 규칙 집합 | IGW, NAT Gateway, VPC Peering 등으로 라우팅 |
| Internet Gateway (IGW) | 퍼블릭 서브넷의 인터넷 통신 허용 | Public Subnet ↔ Internet |
| NAT Gateway / NAT Instance | Private Subnet의 아웃바운드 인터넷 접근 허용 (Inbound 차단) | Private EC2 → Internet |
| Elastic IP (EIP) | 고정 퍼블릭 IP, IGW나 NAT Gateway와 연결 | 고정된 외부 접근 주소 |
| Security Group (SG) | 인스턴스 수준의 방화벽 (Stateful) | TCP 22, TCP 80 허용 |
| Network ACL (NACL) | 서브넷 수준의 방화벽 (Stateless) | Subnet 단위 접근 제어 |
| VPC Peering / Transit Gateway | 여러 VPC 간 통신 연결 | VPC 간 내부 트래픽 연결 |
| VPC Endpoint | 인터넷 없이 AWS 서비스(S3, DynamoDB 등)에 연결 | Private Subnet → S3 접근 |
Public Subnet vs Private Subnet 비교
| 구분 | Public Subnet | Private Subnet |
|---|
| 인터넷 연결 | IGW를 통해 외부와 통신 가능 | 직접 연결 불가 (NAT Gateway 필요) |
| 주 사용 목적 | 웹 서버, 프록시, 로드밸런서 등 | DB, 내부 백엔드 서버 |
| 보안 수준 | 상대적으로 낮음 | 외부 차단으로 높음 |
| 트래픽 경로 | Route Table에 IGW 등록 | Route Table에 NAT Gateway 등록 |
VPC 보안 구성 요소 비교
| 구분 | Security Group | Network ACL |
|---|
| 적용 범위 | 인스턴스(ENI) 단위 | 서브넷 단위 |
| 상태 추적(Stateful) | ✅ 응답 트래픽 자동 허용 | ❌ 요청/응답 모두 명시해야 함 |
| 기본 규칙 | 모든 트래픽 차단 | 모든 트래픽 허용 |
| 주 용도 | 세부 인스턴스 접근 제어 | Subnet 전체의 보안 경계 설정 |
VPC 고급 구성 요소
| 구성 요소 | 설명 |
|---|
| VPC Endpoint (Gateway / Interface) | 프라이빗 네트워크 내에서 AWS 서비스(S3, DynamoDB 등)에 접근할 수 있는 연결 방식 |
| VPC Peering | 서로 다른 VPC 간의 직접 통신 (단방향 전송 불가) |
| Transit Gateway | 여러 VPC 및 온프레미스 네트워크를 중앙집중형으로 연결하는 허브 |
| Direct Connect | 온프레미스 ↔ AWS 간 전용선 연결로 안정적인 네트워크 구성 |
| Flow Logs | VPC, Subnet, ENI 수준의 트래픽 로그 수집 (CloudWatch로 전송 가능) |
VPC 설계 시 고려사항
| 항목 | 핵심 내용 |
|---|
| CIDR 블록 설계 | 충분한 IP 확보 (/16 권장), 중복 방지 |
| AZ 분산 | 고가용성 확보를 위해 최소 2개 AZ 사용 |
| 서브넷 분리 | 퍼블릭 / 프라이빗 역할 분리 및 보안 강화 |
| 보안 정책 | SG + NACL 병행 설계 |
| 내부 통신 최적화 | VPC Endpoint, Peering, Transit Gateway 활용 |
정리
VPC는 AWS 클라우드 환경에서의 네트워크 설계의 근간으로,
사용자가 직접 네트워크 범위, 라우팅, 서브넷, 보안 정책을 구성하여
격리된 환경 속에서 안전하고 유연한 애플리케이션 인프라를 구축할 수 있게 한다.
실제 아키텍처 설계에서는 Public/Private Subnet 구분, NAT Gateway 배치, Security Group/NACL 규칙 설정을 함께 고려해야 한다.