1. 로드밸런싱
L4 = 'IP, 포트, 세션' 을 기반으로한 로드 밸런싱
- OSI 7 Layer는 7계의 계층으로 나뉘지만 크게 두 가지 구간으로도 나뉠 수 있음.
@ 1-4 계층 (통신구간)
- 통신구간은 각각의 통신단위가 있는데 1계층은 물리적 신호, 2계층은 Frame 3계층은 패킷 4계층은 세그먼트이다.
- 또한 계층마다 통신하는 지표가 있는데 통신구간의 경우 이렇게 나뉘어 있음.
1계층 = 물리적신호 (1 or 0)
2계층 = MAC주소
3계층 = IP 주소
4계층 = PORT
@ 5-7 계층 (단말구간)
- 지표 : 단말 구간 X
@ L4 스위치
- 4계층에서 가장 중요한건 포트(port) 이며 이 포트와 맞물려 로드 밸런싱이라는 개념이 등장 한다.
L4 스위치 = 포트 + 로드밸런싱(물론 IP,세션도 중요함.)
- L4스위치가 로드밸런싱을 수행하는 장비이기 때문에 L4스위치를 다른 말로 로드 밸런서(Load Balancer) 라고도 함.
- 로드밸런싱은, 동일한 역할을 수행하는 서버 그룹을 VIP(가상IP)를 통해 관리하며, 서버로 향하는 트래픽을 일단 VIP를 가진 L4스위치로 수신한 후 분배정책 에 따라 적절한 서버에 분배해 주는 것을 말함.
- VIP는 Virtual IP의 약자로, 서버그룹의 대표 IP라 할 수 있다.
이 VIP를 로드밸런싱을 수행하는 L4 스위치가 가지고 있음.
서버와 통신하고자 하는 클라이언트는 VIP를 향해 트래픽을 전송하고, L4스위치가 이 트래픽을 받아 적절한 서버에 로드밸런싱 해주는 것이 L4스위치의 역할이다.
- 결론적으로 L4 스위치는 부하분산 장비이며 대부분의 사이트는 서버 한 대로 사용들의 트래픽을 감당하기 어렵기 떄문에 동일한 역할을 수행하는 서버를 여러 대 두어서 사용자들의 트래픽이 많아져도, 유연하고 안정적으로 사이트를 운영하기 위해 L4스위치를 통한 로드밸런싱을 하는걸로 알고 있음.
- L4스위치, 즉 로드밸란서가 없어도 네트워크를 하는데 지장은 없음. 하지만 점점더 고도화된 IT기술이 생기고, 트래픽량은 점점 더 과도해지면서 로드밸런서 없이는 안정적인 네트워크를 구성하는데 확신을 줄 수 없음.
- 위 그림에서 보는바와 같이, 클라이언트와 서버 사이에 L4 스위치가 위치하며, L4 스위치가 만든 가상서버가 존재하고, Client 는 알려진 L4 스위치의 가상서 버로 접속하여 트래픽을 받음. 이 후 L4 스위치는 여러대의 Real 서버로 그룹핑 된 적절한 곳에 트래픽을 포워딩하여 로드밸런싱을 수행함.
- 즉, 로드밸런서가 트래픽을 왼쪽 리얼서버 그룹으로 보낼 수도 있고, 오른쪽 서버에 보낼 수 있음.
@ L4 스위치를 사용하는 이유
1) 부하분산(로드 밸런싱)
- 사례 : 예를 들어 어느 회사에서 자사의 상품을 온라인으로 판매하기 위한 쇼핑몰 사이트를 구축하였고, 서버를 구매하여, 쇼핑몰을 구축하였는데 생각보다 사 이트를 이용하는 고객의 수가 많아 서버가 가용 할 수 있는 트래픽을 넘어서 서버의 응답 퍼포먼스가 떨어지는 상황이 발생 할 수 있음. 추가적으로 서버를 증설 해야 하지만, 다른 도메인주소와 ip주소를 가지고 있는 사이트를 증설하여 서비스를 제공한다면 이용하는 데 있어서 가용성이 떨어지는 상황이 발생 할 수 있음. 결론 적으로 VIP를 통한 로드 밸런싱을 통해 실제 이용하는 고객들은 기존의 서비스를 이용하듯이 사이트를 이용 할 수 있고 서버 증설을 통한 트래픽 분산으로 인해 빠른 서비스를 제공 할 수 있음.
2) 서버의 가용성을 위함.
- 통신에서 어떠한 통신장비던 서비스를 위해 항상 오픈 되어 있으며, 서버의 노화 등으로 서비스 장애가 날 수 있다. 이런 현상을 대비하기 위해 L4 스위치는 Failover라는 기능을 가지고 있음.
- Failover는 어떠한 서비스를 제공하는 서버가 죽게 되면, 이것을 감지하고 자동으로 미리 준비한 스페어 서버로 트래픽을 돌려주는 역할을 하는 기능이다.
이 기능을 통해 스탠바이 장비로 넘어가서 정상적으로 서비스를 제공 할 수 있음.
3) 보안적인 기능
- L4 스위치에서는 포트를 조절하는 기능을 하며, 리얼서버로 특정한 포트 외에 다른 통신이 불가능하도록 설정 할 수 있음. 이것은 보통 웹 서버 앞단에 사용됨.
Alteon L4 스위치 기본 설정방법
- Real 서버가 2대이고 1개의 그룹으로 설정, vitural 서버는 1개 사용
- metric(분산알고리즘) 미설정 시 default는 leastconnection
- health 체크 미설정 시 default는 tcp, inter=2(매 2초마다 체크), retry=4(4번 실패 체크 시 down으로 정의)
- DAM(Direct Access Mode)가 default로 disable (Real IP를 통한 직접 서비스 안됨)
※ 즉, 여기서는 Real IP를 이용한 http(80번 포트) 접속 안됨
(하지만 Load Balance와 무관한 서비스는 각각 가능: ssh, 터미널 접속,... 등)
Main#
Main# /cfg/l3 ; 스위치 IP 설정...
(또는 Main# /cfg/ip)
Layer 3# if 1 ; 스위치 자체 IP 설정...
IP Interface 1# addr 1.2.3.4 ; IP address 할당
IP Interface 1# mask 255.255.255.0 ; subnet mask 할당 (필요시)
IP Interface 1# ena ; IP address 활성화
IP Interface 1# /cfg/l3/gw ; default gateway 설정...
Enter default gateway number: (1-255) 1 [Enter] ; gateway 번호 입력 (필요시)
Default gateway 1# addr 1.2.3.1 ; default gateway 할당
Default gateway 1# ena ; gateway 활성화
Default gateway 1# /cfg/slb/real 1 ; 첫번째 real 서버 설정...
Real server 1# rip 1.2.3.5 ; real 서버 IP address 할당
Real server 1# ena ; 첫번째 real 서버 활성화
Real server 1# /cfg/slb/real 2 ; 두번째 real 서버 설정...
Real server 2# rip 1.2.3.6 ; real 서버 IP address 할당
Real server 2# ena ; 두번째 real 서버 활성화
Real server 2# /cfg/slb/group 1 ; real 서버 그룹 설정...
Real server group1# add 1 ; 등록된 real 서버 1번을 그룹에 추가
Real server group1# add 2 ; 등록된 real 서버 2번을 그룹에 추가
Real server group1# /cfg/slb/virt 1 ; virtual 서버 설정...
Virtual server 1# vip 1.2.3.2 ; virtual 서버 IP address 할당
Virtual server 1# ena ; virtual 서버 활성화
Virtual server 1# service http ; http 서비스 설정...
Virtual server 1 http Service# group 1 ; http 서비스를 real 서버 그룹에 할당
(필요시 Virtual server 1 http Service# rport 8080 ; http 서비스를 real 서버의 8080 포트에 매핑)
Virtual server 1# /cfg/slb/port 1 ; L4의 물리적인 포트 1번 설정...
SLB port 1# server ena ; 포트 1번을 서버 포트로 할당
SLB port 1# /cfg/slb/port 2 ; L4의 물리적인 포트 2번 설정...
SLB port 2# server ena ; 포트 2번을 서버 포트로 할당
SLB port 8# /cfg/slb/port 8 ; L4의 물리적인 포트 8번 설정...
SLB port 8# client ena ; 포트 8번을 클라이언트 포트로 할당
SLB port 8# /cfg/slb ; SLB 설정...
Layer 4# on ; Server Load Balancing 모드 On
Layer 4# apply ; 변경된 설정값 적용
Layer 4# cur ; 현재 설정값 확인
Layer 4# save ; FLASH 메모리에 현재 설정내용 저장
Layer 4# /info/slb/dump ; SLB 정보 확인
------------------------------------------------------
| ㅁ1 ㅁ2 ㅁ3 ㅁ4 ㅁ3 ㅁ4 ㅁ5 ㅁ6 ㅁ5 ㅁ6 ㅁ7 ㅁ8 | --> Alteon L4 스위치
--+---+--------------------------------------+--------
| | |
| | |--> 클라이언트 포트 (외부 연결)
| |
| |--> 서버 포트 (서버 연결)
|
|
|--> 서버 포트 (서버 연결)
그 외. 로드밸런싱 알고리즘
출저 : http://annehouse.tistory.com/365
'INFRA' 카테고리의 다른 글
SoftEther VPN Client / VPN gate [링크, 설치, 사용법] (0) | 2021.06.14 |
---|---|
구글 DNS 서버로 변경하여 차단된 사이트 접속하기 (0) | 2021.06.08 |
[무료 도메인] Freenom 서비스 (0) | 2021.05.27 |
방화벽 개념 및 동작원리 (0) | 2021.05.23 |
로드밸런서 (L4, L7, NginX, HAProxy) (0) | 2021.05.21 |
댓글