DMZ(Demilitarized Zone, 비무장지대)는 외부(인터넷)와 내부(사내 네트워크) 간에 완충 역할을 하는 네트워크 영역이에요.
주로 웹 서버, API 서버, 프록시 서버 등 인터넷과 연결되는 서비스를 배치하는데,
이때 NLB가 아니라 ALB를 주로 사용하는 이유는 HTTP 레벨에서 세부적인 제어가 필요하기 때문!
DMZ에 배치된 서비스들은 대부분 웹 서버(HTTP/S) 또는 API 서버(REST, gRPC) 형태예요.
➡️ DMZ의 서비스들은 HTTP 트래픽을 다뤄야 하므로, ALB가 적합함!
DMZ의 주요 역할 중 하나는 외부 공격으로부터 내부 네트워크를 보호하는 것
➡️ DMZ에서 보안 강화를 위해 ALB + WAF 조합을 주로 사용!
api.example.com
→ API 서버app.example.com
→ 웹 애플리케이션 서버cdn.example.com
→ S3 또는 다른 백엔드➡️ 하나의 ALB로 여러 서비스에 대한 트래픽을 효율적으로 분산할 수 있음
➡️ DMZ에서 HTTPS 트래픽을 효과적으로 처리하려면 ALB가 필요함!
➡️ DMZ에서 ALB를 사용하면 DDoS 같은 대량 요청 트래픽을 효과적으로 차단할 수 있음
➡️ NLB는 고정 IP가 필요한 TCP/UDP 서비스(DB, VPN, 게임 서버 등)에 적합하지만, DMZ에서는 필요하지 않음
✔ DMZ 서비스들은 HTTP/S 트래픽을 처리해야 하므로 L7(Application Layer)인 ALB가 필요함
✔ ALB는 WAF 연동이 가능하여 보안성을 높일 수 있음
✔ URL/호스트 기반 라우팅이 가능하여 하나의 ALB로 여러 서비스를 운영할 수 있음
✔ SSL Termination을 지원하여 HTTPS 성능 최적화 가능
✔ DDoS 방어 기능이 기본 제공됨
💡 즉, DMZ에서는 HTTP/S 트래픽 처리와 보안이 중요하기 때문에, L4(NLB)보다 L7(ALB)이 더 적합한 선택! 🚀