일전에 회사에서 다른 솔루션 회사의 제품에 대해서 교육을 들을 기회가 있었다.
해당 솔루션은 통합 메시징시스템 솔루션이였는데 Apache Server와 WAS를 연동해서 사용하고 있었다.
문득 나는 Tomcat만 설치해도 Tomcat 자체가 웹 서버 기능을 제공하는데
왜 굳이 Apache Server를 별도로 설치해서 Apache Server랑 Tomcat 두 녀석을 연동해주는 귀찮은 일을
도대체 왜하는 걸까? 라는 의문이 있었다.
이러한 의문에 해답은 아래와 같다.
1. 성능과 확장성
Apache HTTP Server 같은 웹 서버들은 정적 컨텐츠를 효율적으로 처리하는 데 최적화되어 있다.
동적 컨텐츠 처리는 WAS에게 맡기고, 정적 컨텐츠는 웹 서버에서 처리하도록 함으로 시스템 전체의 부하를 줄이고
성능을 향상시킬 수 있다고 한다.
2. 보안의 측면
웹 서버와 WAS를 분리하여 운영하면, 웹 서버를 DMZ (Demilitarized Zone)와 같은 보안 영역에 배치하고, WAS는 내부 네트워크에 위치시켜 추가적인 보안 계층을 구성할 수 있다.
보통 위 도식과 같이 DMZ의 앞뒤로 방화벽을 설치한다.
웹 서버는 사용자의 요청을 받아 처리하는 곳이기 때문에 공격자로부터 쉽게 노출된다.
이러한 웹 서버를 DMZ에 두면, 외부 공격자가 웹 서버를 통해 내부 네트워크에 접근하는 것을 막을 수 있다.
웹 서버가 공격 당하더라도, DMZ 설정으로 인해 내부 네트워크로의 접근은 제한되므로, 중요한 데이터나 시스템들은 추가적인 보호조치를 취할 수 있기 때문이다.
3. 유연성
웹 서버는 여러 WAS와 연동될 수 있기 때문에, 서로 다른 기술 스택을 가진 여러 애플리케이션을 하나의 웹 서버 아래에서 운영할 수 있습니다.
4. 로드벨런싱
Apache HTTP Server나 Nginx와 같은 웹 서버들은 리버스 프록시 및 로드 밸런서로서의 역할도 할 수 있다.
이를 통해 여러 대의 WAS 서버로 트래픽을 분산시키는 로드 밸런싱을 구현할 수 있어, 대규모 트래픽을 효과적으로 처리하는데 도움이 된다고 한다.
위와 같은 내용들이 필요하기 때문에 웹서버랑 WAS 2개 모두 설치해서 연동하는 것이지만
굳이굳이 간단한 웹 애플리케이션이라거나 또는 개발/테스트 환경일 경우에는 그냥
Apache Tomcat만을 사용하여도 충분하다.
'네트워크' 카테고리의 다른 글
Content-Disposition Header (1) | 2024.01.05 |
---|---|
HTTP 통신 - Request와 Response에 대해서 (0) | 2023.09.19 |
VPN 터널링과 SSH가 함께 사용될 때, 작동 방식 (0) | 2023.09.13 |
이더넷(Ethernet)이란 무엇인가? (0) | 2023.06.07 |
POST와 PUT 메소드의 차이점 (0) | 2023.04.13 |