# 로드밸런서는 서버를 이중화하는 네트워크 장비이다.
TCP는 L4, 네트워크 계층이다.
네트워크 로드밸런서가 처리한다.
로드밸런서 타겟 그룹 생성시 TCP로 만들어야 네트워크 로드 밸랜서에서 지정이 가능하다.
HTTP 는 레이어7 애플리케이션 계층이다.
이건 애플리케이션 레이어이므로 애플리케이션 로드밸런서가 처리한다.
로드밸런서 타겟 그룹 생성시 HTTP로 만들어야 애플리케이션 로드 밸랜서에서 지정이 가능하다.
1
3개의 Target Group 만들어 3개 로드 밸런서 만들어보자.
L4 NLB Target Group 만들기?
L7 ALB Target Group 만들기?
L7 ALB ip 분기 Target Group 만들기?
2
Network > Load Balnacer > Target Group
# L4 NLB Target Group 만들기?
front-nlb-tg
tcp (nlb는 L4라 TCP 죠. os 4 계층)
80
30초 기본값
타깃 그룹에 속할 서버 지정
2, 3 서버 추가 > 다음
타겟 그룹 생성
3
# L7 ALB Target Group 만들기?
front-alb-tg
HTTP (Alb는 L7라 HTTP 죠. os 7 계층)
80
HEAD
타깃 그룹에 속할 서버 지정
2, 3 서버 추가 > 다음
타겟 그룹 생성
4
# L7 ALB ip 분기 tg 만들기?
front-alb-ip-tg
http
80
타깃 그룹에 속할 서버 지정 - 2 서버 1개만 지정
1
# 로드 밸런서 3개 만들자.
Network > Load Balnacer > 로드 밸런서 생성
L4 네트워크 로드밸런서
L7 애플리케이션 로드밸런서
L7 애플리케이션 로드 밸런서- ip분기 테스트
2
# L4 네트워크 로드밸런서
front-nlb
로드밸런서는 외부용과 내부용이 있다.
외부에 서비스할 거라 Public IP로 한다.(디폴트)
부하처리 성능 Small(디폴트) , Medium , Large
3
# 로드 밸런서용 전용 서브넷이 필요하다.
서브넷 생성
4
TCP 80
추가
로드 밸런서 생성
# L4 nlb 로드 밸런서는 고정 IP 제공이 가능하다.
5
LB접속 정보로 웹브라우저로 접속해보기
front-nlb-9907557-ab51cfc556fe.kr.lb.naverncp.com
front-alb
추가
front-alb-tg
로드 밸런서 생성
1
[root@s107113338 httpd]# cd /etc/httpd/conf
[root@s107113338 conf]# vi httpd.conf
[root@s107113338 conf]# systemctl restart httpd
[root@s107113338 conf]# tail -f /var/log/httpd/access_log
2
set number
201
변경전
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
3
서버 로그에서 확인
1
'애플리케이션 로드밸런서'에서 리스너 설정 변경
2
리스너 선택 > 규칙 조회/변경
규칙추가
10
Path Pattern
추가
/ip/
추가
타켓그룹 변경
front-alb-ip-tg 로 변경
추가
3
리눅스 서버에서
[root@s22222222 logs]# cd /var/www/html/
[root@s22222222 html]# ls
index.html
[root@s22222222 html]# mkdir ip
[root@s22222222 html]# cd ip
[root@s22222222 ip]# vi index.html
<h1> ip !!!!!!!!!!!!!!!
4
접속 확인
1
서버 로그에 나의 IP 가 남는지 확인하자.
cd /etc/httpd/logs
2
tail -f access_log
[root@s22222222 logs]# tail -f access_log
NLB는 나의 IP가 나온다.
1
프락시 LB는 x-forward-for 설정해야 클라이언트 IP 가 보인다.
2
httpd.conf를 수정하자
vi /etc/httpd/conf/httpd.conf
변경전
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
3
systemctl restart httpd
4
서버 로그에 나의 IP 가 남는지 확인하자.
cd /etc/httpd/logs
tail -f access_log
다음 과정
https://brunch.co.kr/@topasvga/2138