티스토리 뷰

AWS VPC

AWS안에 내가 직접 만드는 나만의 공간이다. AWS에서 사용하는 가상 네트워크 환경으로 서브넷 EC2, RDS 같은 리소스를 올린다. 기본적으로 AWS에서 EC2를 생성할 때 자동 제공해 준다. 즉 VPC는 AWS 위에 내 전용 사설 네트워크를 만드는 것이다. 여기 안에 EC2, RDS 같은 리소스를 넣어 보안적으로 안전하고 통제 가능한 구조를 만들기 위해 세팅하는 것이다.

 

퍼블릭/프라이빗 서브넷 구분

구분 인터넷 접속 예시 용도  필요 구성요소
퍼블릭 서브넷 외부에서 접속 가능 웹 서버/로드밸런서 인터넷 게이트웨이 + 퍼블릭IP
프라이빗 서브넷 외부에서 직접 접속 불가 DB/내부 API/ 백엔드 작업 서버 NAT 게이트웨이(나갈때만)

 

인터넷 게이트웨이, NAT, 라우팅 정리

Internet Gateway(IGW)는 양방향으로 퍼블릭 서브넷이 인터넷과 연결되게 해 준다. NAT Gateway는 단방향으로 내부에서 외부로 프라이빗 서브넷이 나갈 수만 있게 해 준다. Route Table 어떤 트래픽을 어디로 보낼지 경로를 설정한다.

 

퍼블릭, 프라이빗에 애플리케이션 서버 구성

AWS 권장은 ALB는 퍼블릭, 애플리케이션 서버는 프라이빗이다. 하지만 소규모는 퍼블릭 서브넷에 넣어서 해도 된다. NAT GW가 비용이기 때문이다.

 

서버 흐름도

사용자 → IGW → ALB(퍼블릭) → 서버(프라이빗) → RDS(프라이빗) → 응답 반환(같은 경로 반대로)

여기서 NAT GW는 ALB가 프폭시 역할을 해서 통신을 중개해 주기 때문에 NAT 필요 없다. IGW는 오직 퍼블릭 IP가 있는 리소스만 인터넷과 통신하게 해 준다. 프라이빗 서버는 IGW를 직접 사용할 수 없고 외부로 나가야 할 경우 반드시 NAT GW를 거쳐야 한다.

 

NAT GW 사용

애플리케이션 서버에서 외부 API 호출할 때 필요하다. 예를 들면 스케줄러(Cron)로 실행된 배치가 외부 API 호출할 때 필요하다. 즉 애플리케이션이 직접 외부로 나가야 하기 때문이다. SNAT은 NAT GW가 프라이빗 서버의 사설 IP를 자신의 퍼블릭 IP로 바꿔서 인터넷으로 대신 보내준다.

프라이빗 → NAT → IGW → 인터넷

 

Route 테이블

어떤 IP 대역으로 가는 트래픽을 어디로 보낼지 결정하는 네트워크의 길안내 지도이며 퍼블릭/ 프라이빗 서브넷은 CIDR 대역으로 구분하는 것이 아니라, 라우터 테이블에서 0.0.0.0/0이 어디로 향하느냐 IGW, NAT에 따라 구분된다.

 

라우터 테이블이 하는 일

상황 라우터 테이블 역할 비유
퍼블릭 서브넷에서 인터넷으로 나가야 할 때 0.0.0.0/0을 IGW로 보냄 모르는 주소는 다 정문으로
프라이빗 서브넷에서 외부 API 요청 0.0.0.0/0에서 NAT GW로 보냄 밖으로 나갈 건 주방 뒷문으로 
내부 통신( 같은 VPC안 EC2 VPC CIDR에서 Local로 유지 같은 아파트 단지 안이면 그냥 바로 이동

 

만약 프라이빗 서버에 퍼블릭 IP를 할당한다면?

비용으로 인해 NAT GW를 사용하지 않기 위해 프라이빗 서버에 퍼블릭 IP를 추가로 할당해 NAT GW를 사용하지 않다면 프라이빗 서버가 아닌 퍼블릭 서버다.

 

프라이빗 서버를 사용하는 이유

인터넷 어디서든 접속 시도가 가능해진다. 보안 그룹으로 막아도 포트 스캐닝 공격이 가능하다. 설계상 프라이빗 서브넷은 외부에서 절대 접근 불가능해야 하는데 퍼블릭 IP를 붙이면 컨셉 자체가 붕괴된다. 모든 외부 요청이 직접 해당 서버로 들어오니 로드밸런싱이나 방화벽 통제가 불가능하다.

 

CIDR 대역란

IP 주소를 범위로 표현하는 방식

표현 의미 범위
10.0.0.0/16 앞의 16비트(10.0) 고정,나머지는 변경가능 10.0.0.0 ~ 10.0.255.255(약 65,536개 IP)
10.0.1.0/24 앞의 24비트(10.0.1) 고정, 마지막만 변경 가능 10.0.1.0 ~ 10.0.1.255(256개 IP)

 

VPC와 서브넷의 관계(CIDR)

VPC는 사설 네트워크 공간 전체 서브넷은 그 공간을 분할한 더 작은 네트워크이다. VPC CIDR을 10.0.0.0/16으로 지정하면 이 VPC에서는 10.0.0.0 ~ 10.0.255.255 범위의 IP만 사용할 수 있다. 서브넷은 이범위안에서 /24, /20등으로 더 잘게 쪼개어 만든다.

 

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함