로드밸런서는 서버를 이중화하는 네트워크 장비이다.
Tcp는 레이어4는 네트워크 계층이다.
네트워크 로드밸런서가 처리한다.
Http는 레이어7 애플리케이션 계층이다.
이건 애플리케이션 레이어이므로 애플리케이션 로드밸런서가 처리한다.
<1> Network > Load Balnacer > Target Group 만들기 = 서버 지정
<2> 네트워크 로드밸런서 만들기
<3> 애플리케이션 로드밸런서 만들기
<4> 애플리케이션 로드밸런서 만들기 - 분기 하기
<5> 서버에 접속해 Access log 확인 보자
<10> 프락시 LB 경우 서버에 X-forward-for 설정해 접속 IP 확인하기
<1> Network > Load Balnacer > Target Group 만들기 = 서버 지정
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개만 지정
<2> 네트워크 로드밸런서 만들기
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
<3> 애플리케이션 로드밸런서 만들기
front-alb
추가
front-alb-tg
로드 밸런서 생성
<4> 애플리케이션 로드밸런서 만들기 - 분기 하기
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
접속 확인
<5> 서버에 접속해 Access log 확인 보자
1
서버 로그에 나의 IP 가 남는지 확인하자.
cd /etc/httpd/logs
2
tail -f access_log
[root@s22222222 logs]# tail -f access_log
NLB는 나의 IP가 나온다.
<10> 프락시 LB 경우 서버에 X-forward-for 설정해 접속 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