7-1. 프록시 서버 (Proxy Server)
1. 정의 및 역할
정의: 프록시 서버(Proxy Server)는 클라이언트와 서버 사이에서 중계 역할을 하는 서버입니다. 클라이언트의 요청을 받아 서버에 전달하고, 서버의 응답을 받아 클라이언트에게 전달하는 과정을 담당합니다. 프록시 서버는 클라이언트와 서버 사이에 위치하여 다양한 기능을 수행하며, 네트워크 보안 및 성능 향상에 기여합니다.
비유: 대리인 또는 중개인과 같습니다.
주요 목적:
- 캐싱 (Caching): 자주 사용되는 웹 페이지, 이미지, 비디오 등 데이터를 프록시 서버에 저장하여, 동일한 요청이 있을 때 서버 대신 캐시된 데이터를 제공하여 응답 속도를 향상시킵니다.
- 보안 (Security): 접근 제어를 통해 내부 네트워크를 보호하고, 불필요한 외부 접근을 차단합니다. 프록시 서버는 IP 주소를 숨기고, 악성 코드를 필터링하는 역할을 수행할 수 있습니다.
- 우회 접속 (Bypass): 특정 국가나 지역에서 차단된 웹사이트에 접속할 수 있도록 합니다. 프록시 서버는 사용자의 IP 주소를 숨기고, 다른 지역의 IP 주소를 사용하여 차단을 우회합니다.
- 로드 밸런싱 (Load Balancing): 여러 서버에 트래픽을 분산시켜 특정 서버에 과부하가 걸리는 것을 방지합니다.
2. 프록시 서버 종류
- Forward Proxy: 클라이언트의 요청을 대리하여 서버에 전달합니다. 사용자가 인터넷에 접속할 때 사용되며, 사용자 측의 프라이버시 보호 및 보안 강화를 목적으로 사용됩니다.
- 비유: 회사 대표와 같습니다. 클라이언트의 요청을 대신 수행합니다.
- Reverse Proxy: 서버의 요청을 대리하여 클라이언트에게 전달합니다. 주로 웹 서버 앞에 위치하며, 서버의 부하를 줄이고 보안을 강화하는 데 사용됩니다.
- 비유: 비서실과 같습니다. 서버의 업무를 대행합니다.
- 투명 프록시 (Transparent Proxy): 클라이언트가 프록시 서버를 사용하는지 알 수 없도록 자동으로 중계합니다. 일반적으로 네트워크 관리자가 사용하며, 사용자는 프록시 서버를 사용하는지 인식하지 못합니다.
- 비유: 자동문과 같습니다. 사용자는 프록시 서버의 존재를 인식하지 못합니다.
7-2. 로드 밸런서 (Load Balancer)
1. 정의 및 역할
정의: 로드 밸런서(Load Balancer)는 여러 서버에 트래픽을 분산시키는 장치입니다. 사용자의 요청을 여러 서버에 균등하게 분배하여, 특정 서버에 과부하가 걸리는 것을 방지하고, 서비스의 가용성과 성능을 향상시키는 역할을 수행합니다.
비유: 호텔 안내 데스크나 은행 번호표 시스템과 같습니다. 사용자의 요청을 여러 창구로 분산시켜 대기 시간을 줄이고, 효율적인 서비스 제공을 돕습니다.
주요 목적:
- 서버 과부하 방지: 특정 서버에 트래픽이 집중되는 것을 막고, 모든 서버가 균등하게 작업을 처리하도록 합니다.
- 빠른 응답 속도: 사용자 요청에 대한 응답 시간을 단축하고, 웹 서비스의 성능을 향상시킵니다.
- 안정적인 서비스: 장애 발생 시 다른 서버가 서비스를 대체하여, 서비스 중단을 최소화하고 가용성을 높입니다.
- 확장성: 서비스 확장에 따라 서버를 추가하거나 삭제하기 용이하도록 유연성을 제공합니다.
2. 로드 밸런싱 알고리즘
로드 밸런서는 다양한 알고리즘을 사용하여 트래픽을 분산합니다. 주요 알고리즘은 다음과 같습니다.
- 라운드 로빈 (Round Robin): 서버 목록을 순환하면서 순서대로 서버에 트래픽을 분산합니다. 모든 서버에 균등하게 트래픽을 분산하는 가장 기본적인 알고리즘입니다.
- 비유: 줄을 서서 창구에 배정받는 것과 같습니다.
- 최소 연결 (Least Connection): 현재 연결 수가 가장 적은 서버에 트래픽을 분산합니다. 서버의 부하를 고려하여 효율적으로 트래픽을 분산합니다.
- 비유: 한가한 계산대로 안내받는 것과 같습니다.
- IP 해시 (IP Hash): 사용자의 IP 주소를 기반으로 트래픽을 특정 서버에 분산합니다. 동일한 사용자의 요청은 항상 같은 서버로 전달되도록 하여 세션 유지에 유리합니다.
- 비유: 단골 고객에게 전담 창구를 배정하는 것과 같습니다.
- 가중 라운드 로빈 (Weighted Round Robin): 각 서버에 가중치를 부여하여 트래픽을 분산합니다. 서버의 성능에 따라 트래픽 분산 비율을 조절할 수 있습니다.
- 최소 응답 시간 (Least Response Time): 응답 시간이 가장 빠른 서버에 트래픽을 분산합니다.
- URL 해시 (URL Hash): 요청된 URL에 따라 특정 서버에 트래픽을 분산합니다.
7-3. 좀 더 알아보기
- 프록시 서버와 로드 밸런서의 조합: 프록시 서버와 로드 밸런서를 함께 사용하여 보안, 성능, 가용성을 모두 향상시킬 수 있습니다.
- HAProxy, Nginx, Apache: 프록시 서버 및 로드 밸런서로 자주 사용되는 오픈 소스 소프트웨어
- 클라우드 로드 밸런서: AWS ELB, Google Cloud Load Balancing, Azure Load Balancer 등 클라우드 환경에서 제공되는 로드 밸런싱 서비스
- 세션 유지 (Session Persistence): 로드 밸런서가 사용자의 세션을 특정 서버에 유지하는 기술
'IT > 비전공자와 주니어 개발자를 위한 IT 인프라 기초 가이드' 카테고리의 다른 글
| 2.서버 하드웨어 구성 요소 분석: 성능과 안정성의 기반 (0) | 2026.01.17 |
|---|---|
| 1.서버의 정의와 분류: 핵심 서비스 제공 시스템 (0) | 2026.01.17 |
| 6.도메인과 DNS: 웹 접속의 핵심 원리 (0) | 2026.01.15 |
| 5.HTTP와 HTTPS: 웹 통신의 핵심 이해 (0) | 2026.01.15 |
| 4.IP 주소 체계, 서브넷, 포트: 네트워크 통신의 기본 원리 (0) | 2026.01.15 |