03 CHAPTER 03 · 핵심 서비스

Amazon VPC

가상 네트워크 설계

핵심 서비스 NAT 과금

VPC는 AWS 위에 나만의 가상 데이터센터를 만드는 서비스입니다. EC2, RDS 등 리소스가 통신할 네트워크 범위와 인터넷 연결, 라우팅, 보안 경계를 직접 설계합니다.

VPC · 서브넷 · 라우팅 · IGW · NAT · NACL · Bastion Host · VPC Peering

CHAPTER INFO
🌐핵심 개념 9개
💰NAT 게이트웨이 과금 주의
🔐보안 그룹과 NACL 구분
🔗이전: CH02 Amazon EC2
🔗다음: CH04 ELB · Auto Scaling

VPC란 무엇인가

VPC(Virtual Private Cloud)는 AWS 안에서 논리적으로 격리된 가상 네트워크입니다. 물리 데이터센터에서 내부망과 외부망을 나누듯, AWS에서는 VPC 안에 IP 범위와 서브넷, 라우팅, 보안 정책을 설계합니다.

💡
기본 VPC(Default VPC)
AWS 계정에는 리전별 기본 VPC가 제공됩니다. 기본 VPC는 빠른 테스트에는 편리하지만, 실제 서비스에서는 주소 체계와 보안 경계를 직접 설계한 커스텀 VPC를 사용하는 편이 관리하기 좋습니다.

CIDR 블록

VPC를 만들 때 10.0.0.0/16처럼 CIDR 표기법으로 IP 주소 범위를 정합니다. 뒤의 숫자가 작을수록 네트워크 범위가 커집니다.

🧮
/16과 /24를 처음에는 이렇게만 기억하세요.
10.0.0.0/16은 큰 아파트 단지처럼 약 65,536개의 IPv4 주소 범위를 담습니다. 이 큰 범위를 10.0.1.0/24, 10.0.2.0/24처럼 나누면 각 /24는 256개 주소를 가진 작은 동 하나가 됩니다.
즉 VPC /16 = 큰 전체 부지, Subnet /24 = 그 안에 나눈 구역이라고 먼저 이해하면 됩니다. AWS IPv4 서브넷에서는 예약 주소 때문에 /24의 실제 사용 가능 주소는 251개입니다.
CIDRIP 범위전체 주소 수용도 예시
10.0.0.0/810.0.0.0 ~ 10.255.255.255약 1,677만대규모 사설 주소 체계
10.0.0.0/1610.0.0.0 ~ 10.0.255.25565,536일반적인 VPC 설계
10.0.0.0/2410.0.0.0 ~ 10.0.0.255256소규모 서브넷
⚠️
AWS 예약 IP
IPv4 서브넷에서는 첫 4개 주소와 마지막 1개 주소를 AWS가 예약합니다. 따라서 /24 서브넷의 256개 주소 중 실제 리소스에 할당 가능한 주소는 251개입니다.

서브넷 — 퍼블릭과 프라이빗

서브넷은 VPC의 주소 공간을 더 작은 네트워크 단위로 나눈 것입니다. 하나의 서브넷은 반드시 하나의 가용 영역(AZ)에 속합니다.

퍼블릭 서브넷
IGW로 향하는 라우팅을 가지며, 퍼블릭 IP를 가진 리소스가 인터넷과 통신할 수 있습니다. ALB, Bastion Host 등 외부 진입점 역할의 리소스를 주로 둡니다.
프라이빗 서브넷
IGW로 직접 나가는 경로를 두지 않습니다. 앱 서버나 DB처럼 외부에서 직접 접근시키지 않을 리소스를 배치하고, 필요한 아웃바운드는 NAT 등을 통해 처리합니다.

멀티 AZ 구성

서브넷AZ-aAZ-b
퍼블릭10.0.1.0/2410.0.3.0/24
프라이빗10.0.2.0/2410.0.4.0/24

인터넷 게이트웨이 (IGW)

인터넷 게이트웨이(IGW)는 VPC와 인터넷 사이의 통신을 가능하게 하는 VPC 구성 요소입니다. 퍼블릭 서브넷은 라우팅 테이블에 IGW로 향하는 기본 경로를 둡니다.

🌐인터넷
→
🚪IGW
→
🟦퍼블릭 서브넷
→
🖥️EC2

IGW 연결 절차

① IGW 생성 → ② VPC에 Attach → ③ 퍼블릭 서브넷 라우팅 테이블에 0.0.0.0/0 → IGW 추가 → ④ EC2에 퍼블릭 IPv4 또는 EIP 할당
💡
퍼블릭 서브넷과 퍼블릭 EC2는 같은 말이 아닙니다.
서브넷에 IGW 경로가 있어도 EC2가 퍼블릭 IPv4 주소를 갖지 않으면 인터넷에서 해당 EC2로 직접 접근할 수 없습니다.

라우팅 테이블

라우팅 테이블(Route Table)은 목적지 네트워크에 따라 패킷을 어디로 보낼지 정하는 규칙 목록입니다. 서브넷은 하나의 라우팅 테이블과 연결됩니다.

퍼블릭 서브넷 예시

목적지대상설명
10.0.0.0/16localVPC 내부 통신
0.0.0.0/0igw-xxx그 외 IPv4 트래픽을 인터넷 게이트웨이로

프라이빗 서브넷 예시

목적지대상설명
10.0.0.0/16localVPC 내부 통신
0.0.0.0/0nat-xxx외부 IPv4 통신을 NAT로
💡
라우팅은 더 구체적인 경로가 우선
10.0.0.0/16과 0.0.0.0/0이 동시에 있으면 VPC 내부 주소에는 더 구체적인 local 경로가 적용됩니다.

NAT 게이트웨이

프라이빗 서브넷의 EC2가 패치 다운로드나 외부 API 호출처럼 인터넷으로 아웃바운드 통신해야 할 때 NAT 게이트웨이를 사용할 수 있습니다. 일반적인 퍼블릭 NAT 게이트웨이는 퍼블릭 서브넷에 배치하고 EIP를 연결합니다.

🖥️프라이빗 EC2
→
🔄NAT Gateway
→
🚪IGW
→
🌐인터넷
⚠️
NAT 게이트웨이는 과금 리소스입니다.
시간과 처리 데이터에 따라 비용이 발생하므로 학습용으로 만들었다면 실습이 끝난 뒤 반드시 정리합니다. 정확한 금액은 리전과 현재 AWS 가격표를 기준으로 확인해야 합니다.

NAT 게이트웨이 vs NAT 인스턴스

항목NAT 게이트웨이NAT 인스턴스
관리AWS 관리형사용자 직접 운영
확장·가용성관리형 서비스 특성 활용직접 설계 필요
운영 부담낮음패치·장애 대응 필요
권장일반적인 프로덕션 구성특수 요구나 직접 제어가 필요한 경우

보안 그룹 vs NACL

보안 그룹
리소스의 네트워크 인터페이스 수준에 적용되는 Stateful 방화벽입니다. 허용 규칙을 정의하며, 다른 보안 그룹을 소스로 참조할 수 있습니다.
NACL
서브넷 수준에 적용되는 Stateless 필터입니다. 허용과 거부 규칙을 둘 다 사용할 수 있고 규칙 번호 순서가 중요합니다.

Stateful vs Stateless

Stateful
허용된 요청에 대한 응답 트래픽은 상태를 추적해 반환 경로가 자동 허용됩니다.
Stateless
인바운드와 아웃바운드를 각각 평가하므로 반환 트래픽 규칙도 별도로 고려해야 합니다.

보안 그룹 인바운드 예시

유형프로토콜포트소스설명
HTTPTCP800.0.0.0/0공개 웹 트래픽
HTTPSTCP4430.0.0.0/0공개 HTTPS 트래픽
SSHTCP22관리자 IP/32관리자 접속만 허용
MySQL/AuroraTCP3306앱 서버 SG앱 계층에서만 DB 접근

Bastion Host

Bastion Host는 퍼블릭 네트워크에 둔 경유 서버를 통해 프라이빗 EC2에 관리 접속하는 전통적인 패턴입니다.

👨‍💻관리자
→ SSH →
🏰Bastion Host
→ SSH →
🖥️프라이빗 EC2
Bastion 보안 그룹
SSH 인바운드는 관리자 IP처럼 최소 범위로 제한하고, 프라이빗 서버로 필요한 관리 통신만 허용합니다.
프라이빗 EC2 보안 그룹
SSH가 필요하다면 Bastion의 보안 그룹을 소스로 참조해 불특정 인터넷 접근을 막습니다.
💡
더 현대적인 대안 — Systems Manager Session Manager
관리 포트를 인터넷에 노출하지 않고 IAM 기반으로 EC2 세션을 열 수 있어, 신규 환경에서는 Bastion Host 없이 운영하는 구성을 우선 검토할 수 있습니다.

VPC Peering

VPC Peering은 두 VPC를 AWS 네트워크를 통해 프라이빗하게 연결하는 기능입니다. 같은 계정뿐 아니라 다른 계정, 리전 간 연결도 지원합니다.

⚠️
핵심 제약
① 겹치는 CIDR을 사용할 수 없습니다.
② Peering은 전이(Transitive) 라우팅을 제공하지 않습니다.
③ 연결 후 양쪽 라우팅 테이블과 보안 정책을 각각 설정해야 합니다.

VPC가 많다면 Transit Gateway

VPC 수가 늘어나면 Peering 연결을 일대일로 관리하기 복잡해집니다. 이때 Transit Gateway를 중앙 허브처럼 사용하면 다수 VPC와 네트워크 연결을 한 곳에서 관리하기 쉬워집니다.

전형적인 3-Tier 아키텍처

외부 진입점, 애플리케이션, 데이터베이스 계층을 네트워크 경계로 나누면 인터넷 노출 범위를 최소화하면서 장애와 보안을 분리할 수 있습니다.

계층서브넷리소스 예시인터넷 접근
웹퍼블릭ALB외부 요청 수신
앱프라이빗EC2 / 컨테이너필요 시 NAT 아웃바운드
DB프라이빗RDS인터넷 직접 노출 차단

CH03 핵심 개념 요약

📌 Amazon VPC 한눈에 보기
VPCAWS의 논리적으로 격리된 가상 네트워크. CIDR로 주소 범위를 지정.
서브넷VPC 주소 범위를 나눈 단위. 하나의 AZ에 속함.
IGWVPC와 인터넷 통신에 사용하는 게이트웨이.
라우팅 테이블목적지에 따라 트래픽의 다음 경로를 결정.
NAT Gateway프라이빗 리소스의 아웃바운드 인터넷 통신에 사용. 과금 주의.
보안 그룹Stateful 허용 기반 방화벽. 보안 그룹 참조 가능.
NACL서브넷 수준 Stateless 필터. 허용·거부 규칙 사용.
Bastion Host프라이빗 서버 접속 경유 패턴. Session Manager 대안 검토.
VPC PeeringVPC 간 프라이빗 연결. CIDR 중복과 전이 라우팅 제약 주의.