# AWS VPC
## 소개글
> [!abstract] Introduction
> AWS VPC(Virtual Private Cloud)는 AWS 클라우드 내에 논리적으로 격리된 가상 네트워크를 구성하는 서비스다. EC2, RDS, Lambda 등 거의 모든 AWS 리소스가 VPC 위에서 동작하므로, VPC는 클라우드 아키텍처의 기반 레이어(*foundation layer*)라 할 수 있다. 이 허브 페이지는 VPC의 핵심 구성요소를 개별 포스트로 분리하여 학습 경로를 제공한다.
## VPC란 무엇인가
VPC는 사용자가 정의한 IP 주소 범위 안에서 서브넷, 라우팅 테이블, 게이트웨이, 보안 정책을 완전히 제어할 수 있는 가상 네트워크 환경이다. 물리적 데이터 센터의 네트워크 토폴로지를 소프트웨어로 재현하되, 하드웨어 조달·배선·유지보수 없이 몇 분 만에 구성할 수 있다는 점이 핵심이다.
과거 AWS는 모든 사용자의 인스턴스가 하나의 평면적 네트워크를 공유하는 EC2-Classic 모델을 사용했다. VPC로의 전환은 단순한 기능 추가가 아니라, 클라우드에서 온프레미스 수준의 네트워크 격리와 보안을 실현하기 위한 근본적인 아키텍처 변화였다. 현재 AWS에서 생성하는 모든 리소스는 반드시 VPC 안에 배치된다.
## 핵심 구성요소와 학습 경로
VPC를 이루는 구성요소는 크게 다섯 영역으로 분류할 수 있다. 아래 다이어그램은 각 영역 간의 관계와 권장 학습 순서를 보여준다.
```mermaid
flowchart TD
A["🏗️ VPC와 Subnet<br/>주소 공간과 네트워크 분할"] --> B["🔀 라우팅과 게이트웨이<br/>트래픽 흐름 제어"]
B --> C["🔒 Security Group과 NACL<br/>보안 계층"]
B --> D["🔗 VPC Endpoint와 PrivateLink<br/>프라이빗 접근"]
C --> E["🌐 VPC 연결 전략<br/>Peering · Transit Gateway"]
D --> E
```
각 구성요소는 독립적인 포스트로 작성되어 있다.
### 1. 주소 공간과 네트워크 분할
**[[VPC와 Subnet]]** — VPC의 CIDR 블록 설계, 서브넷의 계층적 아키텍처(퍼블릭·프라이빗·데이터), 가용 영역 분산 전략, 그리고 DHCP/DNS 구성까지 다룬다. VPC를 처음 설계할 때 가장 먼저 결정해야 하는 영역이다.
### 2. 트래픽 흐름 제어
**[[VPC 라우팅과 게이트웨이]]** — 라우팅 테이블의 롱기스트 프리픽스 매치 원리, Internet Gateway의 1:1 NAT 동작, NAT Gateway의 고가용성 설계와 포트 고갈 문제, 그리고 IPv6 환경의 Egress-only IGW를 설명한다.
### 3. 보안 계층
**[[VPC 보안 — Security Group과 NACL]]** — Security Group과 NACL의 관계를 조망하는 개요 포스트다.
**[[Security Group]]** — 인스턴스(ENI) 레벨에서 동작하는 Stateful 가상 방화벽이다. 허용 전용 정책, SG 참조 기반 마이크로 세그멘테이션, 그리고 연결 추적의 성능 특성을 설명한다.
**[[NACL]]** — 서브넷 레벨에서 동작하는 Stateless 방화벽이다. Security Group과의 핵심 차이, 규칙 번호 기반 순차 평가, 그리고 두 메커니즘을 조합한 심층 방어(*Defense in Depth*) 전략을 다룬다.
### 4. 프라이빗 접근
**[[VPC Endpoint와 PrivateLink]]** — 인터넷을 경유하지 않고 AWS 서비스에 접근하는 두 가지 엔드포인트 유형(Gateway Endpoint, Interface Endpoint)의 동작 원리와 비용 구조를 비교한다. NAT Gateway 비용을 획기적으로 절감할 수 있는 핵심 패턴이다.
### 5. 멀티 VPC 연결
**[[VPC 연결 전략 — Peering과 Transit Gateway]]** — 단일 VPC를 넘어 여러 VPC와 온프레미스 데이터 센터를 연결하는 전략을 다룬다. VPC Peering의 비전이성 한계, Transit Gateway의 허브 앤 스포크 모델, 그리고 하이브리드 연결(VPN, Direct Connect)을 비교 분석한다.
## VPC 기본 아키텍처 요약
아래 다이어그램은 전형적인 3계층 VPC 아키텍처의 전체 구성을 보여준다.
```mermaid
flowchart TB
subgraph VPC["VPC (10.0.0.0/16)"]
subgraph AZ1["가용 영역 A"]
PUB1["퍼블릭 서브넷<br/>10.0.1.0/24<br/>ALB, Bastion"]
PRI1["프라이빗 서브넷<br/>10.0.2.0/24<br/>App Server"]
DAT1["데이터 서브넷<br/>10.0.3.0/24<br/>RDS"]
end
subgraph AZ2["가용 영역 B"]
PUB2["퍼블릭 서브넷<br/>10.0.11.0/24<br/>ALB, NAT GW"]
PRI2["프라이빗 서브넷<br/>10.0.12.0/24<br/>App Server"]
DAT2["데이터 서브넷<br/>10.0.13.0/24<br/>RDS"]
end
end
INET["인터넷"] <-->|IGW| PUB1
INET <-->|IGW| PUB2
PUB1 -->|NAT GW| PRI1
PUB2 -->|NAT GW| PRI2
PRI1 --> DAT1
PRI2 --> DAT2
```
이 구조에서 퍼블릭 서브넷은 외부 트래픽의 진입점을, 프라이빗 서브넷은 애플리케이션 로직을, 데이터 서브넷은 데이터베이스를 담당한다. 각 계층은 서로 다른 [[Security Group|보안 규칙]]으로 격리되어, 한 계층이 침해되더라도 다른 계층으로의 수평 이동(*lateral movement*)을 어렵게 만든다.
## 비용 고려사항
VPC 자체는 무료이지만, VPC 위에서 동작하는 구성요소들은 비용을 발생시킨다.
| 구성요소 | 주요 비용 항목 | 절감 전략 |
| :--- | :--- | :--- |
| NAT Gateway | 시간당 요금 + GB당 처리 비용($0.045/GB) | [[VPC Endpoint와 PrivateLink\|Gateway Endpoint]]로 S3/DynamoDB 트래픽 우회 |
| AZ 간 통신 | GB당 $0.01 (양방향 $0.02) | 트래픽이 많은 계층은 동일 AZ 배치 고려 |
| 퍼블릭 IPv4 | 시간당 $0.005 | IPv6 Dual-Stack 전환 |
| VPC Peering | 데이터 전송 비용만 부과 | 리전 내 전송은 AZ 간 요금과 동일 |
| Transit Gateway | 연결당 시간 요금 + GB당 처리 비용 | 트래픽 패턴에 따라 Peering과 혼합 사용 |
---
## 출처
- Amazon Web Services (2026) *What is Amazon VPC?* Available at: https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html
- Amazon Web Services (2026) *How Amazon VPC works.* Available at: https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html
- Amazon Web Services (2026) *Amazon VPC Pricing.* Available at: https://aws.amazon.com/vpc/pricing/