# 로드 밸런서는 서버를 이중화 하기 위해 사용한다.
# 성능을 극대화 하기 위해서도 로드밸런서를 사용한다.
1
# 사전작업
Private Subnet에 내서버 이미지로 서버 nlb 서버 1대 생성 - 서버 이름 nlb1
Private Subnet에 내서버 이미지로 서버 alb 서버 1대 생성 - 서버 이름 alb1
2
타겟 그룹 생성
TCP 프로토콜
3
Ncp-Nlb 로드밸런서 생성
Public IP 네트워크
TCP 프로토콜
nlb1 서버 추가
4
[root@s107113338 conf]# tail -f /var/log/httpd/access_log
NLB는 클라이언트 IP가 확인된다.
따로, x-forwarded-for 설정이 필요없다.
1
타겟 그룹 생성
HTTP 프로토콜
2
Ncp-Alb 로드밸런서 생성
Public IP 네트워크
HTTP 프로토콜
alb1 서버에 대해 URL로 분기
3
ALB는 클라이언트 IP가 확인이 안된다.
서버 로그에는 로드 밸런서 IP로 확인이 된다.
서버 로그에 클라이언트 IP가 찍히도록 하려면 X-Forwarded-For 설정을 해야 한다.
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
%h 를 %{X-Forwarded-For}i 로 변경
변경전
# 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
서버 로그에서 확인
tail -f /var/log/httpd/access_log
[root@s107113338 conf]# tail -f /var/log/httpd/access_log
기존에 만든서버가 있으면 만든서버 활용
내서버 이미지 생성
NLB 테스트용 웹서버 2대 생성 - pub1에 생성
1
user-vpc
192.168.0.0/16
user-pub1
192.168.0.0/24
2
서버 생성
로키9
user1
pub ip
init-script 사용
3
디폴트 ACG에 80 허용
user-vpc-default-acg
0.0.0.0/0 80 추가
내ip 1~65535 추가
작업
0.0.0.0 22 - 삭제 필요
0.0.0.0 2206 - 삭제 필요
5
nlb2 로드밸런서용 웹서버 2대 생성
pub1에 생성
공인IP 할당으로 생성
타켓 그룹 생성- nlb2
로드밸런서 생성 - nlb2
6
# user 웹서버에서 테스트
nlb2 로드밸런서 웹 접속
# 서버 로그인해서 분산 테스트
// 수정 예정
vi 5.sh
[root@ip-10-2-1-128 ~]# vi 5.sh
nlb=http://nlb2-108143357-347687ba89ae.kr.lb.naverncp.com
for i in {1..20}; do curl $nlb -s -q ; done | sort | uniq -c | sort -nr
:wq!
chmod 700 5.sh
[root@ip-10-2-1-128 ~]# chmod 700 5.sh
./5.sh
다음
https://brunch.co.kr/@topasvga/4937