네트워크: Subnetting과 AWS VPC 서브넷 설계
개요
네트워크 개념을 클라우드(여기서는 AWS를 의미함)의 서비스 개념과 연결지어 봅니다.
1. CIDR 개념 복습
CIDR이란 Classless Inter-Domain Routing의 약자로 IP 주소를 효율적으로 할당하기 위해 나온 기술로 기본적인 개념은 IP 주소 + 서브넷 마스크를 조합해서 네트워크 크기를 조절하는 기술입니다.
1) 표기법
IP 주소/프리픽스 길이
형태로 표현됩니다.
- 예시: 192.168.1.0/24`
- 192.168.1.0 -> 네트워크 주소
- /24 -> 서브넷 마스크 (255.255.255.0)
- 즉, 256개의 IP (2^8) 할당 가능
CIDR 범위 | 서브넷 마스크 | 사용 가능한 호스트 수 |
---|---|---|
/16 | 255.255.0.0 | 65,536개 |
/24 | 255.255.255.0 | 256개 |
/28 | 255.255.255.240 | 16개 |
AWS에서는 서브넷마다 5개의 IP를 예약하기 때문에 실제 사용할 수 있는 IP는 총 (IP - 5) 개 입니다. |
2. 퍼블릭 서브넷 & 프라이빗 서브넷 구분
1) 퍼블릿 서브넷
- 외부 인터넷과 통신 가능한 서브넷
- 인터넷 게이트웨이 (IGW) 연결 필요
- EC2가 퍼블릭 IP를 가지면 인터넷에서 직접 접근 가능
AWS 설정
- 퍼블릭 서브넷 생성
- 서브넷의 라우트 테이블에서 0.0.0.0/0 -> 인터넷 게이트웨이(IGW) 경로 추가
- EC2에 퍼블릭 IP 할당
- Enable auto-assign public IPv4 address 활성화
- Security Group 구성
- 80, 443 (HTTP, HTTPS) 및 22 (SSH) 허용
2) 프라이빗 서브넷
- 인터넷과 직접 연결되지 않는 서브넷
- 외부 인터넷 접근이 필요하면 NAT Gateway 사용
- 주로 데이터베이스, 내부 서비스 운영용
AWS 설정
- 프라이빗 서브넷 생성
- EC2에 퍼블릭 IP 할당하지 않음
- Security Group & NACL 활용하여 내부 통신 보호
💡 일반적인 아키텍처 설계 시
- 웹 서버 -> 퍼블릭 서브넷
- DB, 내부 서비스 -> 프라이빗 서브넷
3. NAT Gateway VS. Internet Gateway
항목 | NAT Gateway | Internet Gateway |
---|---|---|
용도 | 프라이빗 서브넷에서 인터넷 접근 | 인터넷과 VPC 간 트래픽 연결 |
방향 | 아웃바운드 트래픽만 허용 | 양방향 트래픽 허용 |
퍼블릭 IP 필요 여부 | 필요 (Elastic IP 사용) | 필요 없음 |
설정 위치 | 퍼블릭 서브넷 | VPC에 연결 |
요금 | 유료 (아웃바운드 트래픽 과금) | 무료 |
1) Internet Gateway (IGW)
- VPC와 외부 인터넷 간의
양방향 트래픽
을 허용 - 퍼블릭 서브넷에서
퍼블릭 IP가 있는 리소스
가 인터넷과 연결되도록 함
📌 IGW를 통해 인터넷과 연결되는 과정
- EC2에 퍼블릭 IP 할당
- 서브넷의 Route Table에서 0.0.0.0/0 → IGW 추가
- Security Group에서 적절한 포트(예: 80, 443) 허용
2) NAT Gateway (NGW)
- 프라이빗 서브넷에 있는 리소스가 인터넷에 아웃바운드 요청을 보낼 수 있도록 함
- 하지만 외부에서 프라이빗 서브넷으로 직접 접근 불가
📌 NAT Gateway를 통해 프라이빗 서브넷에서 인터넷 접근
- 퍼블릭 서브넷에 NAT Gateway 생성 (Elastic IP 필요)
- 프라이빗 서브넷의 라우트 테이블에서 0.0.0.0/0 -> NAT Gateway 추가
- 프라이빗 서브넷의 EC2가 인터넷에 접근 가능
🔹NAT Gateway가 필요한 순간이 언제일까?
- 프라이빗 서브넷에서
소프트웨어 업데이트
,외부 API 호출
등의 인터넷 연결이 필요할 때 - 하지만 외부에서 직접 접근하면 안되는 경우 (예: DB 서버, 내부 애플리케이션 서버)
댓글남기기