Load Balancer
Azure 부하분산 장치인 Load Balancer를 알아보자.
<0> 사전 작업
<1> Load Balancer 종류 4가지
<2> 부하 분산 장치 Load Balancer 알아보기
<3> 가상 머신 웹서버 2대 만들기
<4> 가상 머신 웹서버 보안 그룹에서 80 허용하기
<5> 부하 분산 장치 Load Balancer 만들기
<6> 확인하기
<0> 사전 작업
1 .리소스 그룹 만들고 > 네트워크 만들고 > 서브네팅 은 먼저 해야 한다.
2 .가상머신 2대를 만들자
3. 부하 분산 장치를 만들어 연결해보자.
서비스 범위는 지역이다.
<1> Load Balancer 종류 4가지
1. Application gateway - L7
2. Frontdoor - Global L7
3. Load Balancer - L4 부하분산 장치
4. Traffice manager - DNS 기반 GSLB
<2> 부하 분산 장치 Load Balancer 알아보기
1
특징
L4 부하 분산 장비는 웹서버 로그를 보면 클라이언트 PC의 IP가 나온다.
TCP, UDP , SNMP등 모두 부하 분산이 된다.
2
기타
L7인 어플리케이션 로드 밸런서는 웹서버에 X-Forward 를 설정해야 클라이언트 PC의 IP를 확인할수 있다.
3
부하 분산 장치는 공개와 내부 2가지가 있다.
웹서버용은 공개이다.
DB서버로 분산하는 장치는 내부이다.
<3> 가상 머신 웹서버 2대 만들기
1
주의!!
표준 SKU 공용 IP 구성이 있거나 공용 IP 구성이 없는 koreacentral에서만 가상 머신을 연결할 수 있습니다. 모든 IP 구성은 동일한 가상 네트워크에 있어야 합니다.
서버를 사설IP만 가진 서버를 만들거나 가용성 영역을 만들어 사용하라.
가용성 영역은 서울 리전은 지원하지 않으니, 일본이나 미국으로 테스트 해야 한다.
2
가상 머신 2대 만들자
web04
web06
3
새키 생성
web04
4
공용 인바운드 허용
80
443
22
5
네트워크는 미리 만들어 준다.
네트워크가 없으면 디폴트로 10.x.x.x 대로 새로 생성해준다.
특이하다.
임시 공인IP 도 자동으로 할당 해준다.
6
Windows pc에서 putty로 접속하려면
putty gen으로 pem키로 ppk를 만들어준다.
로그인 계정은
azureuser
login as: azureuser
7
웹서버를 설치한다.
yum install httpd -y
/usr/sbin/httpd
[root@web04 ~]# cd /var/www/html/
[root@web04 html]# vi index.html
[root@web04 html]# more index.html
44444444444444
8
1대 더 생성
기존의 key로 접속하도록 설정한다.
[root@web06 ~]# cd /var/www/html/
[root@web06 html]# vi index.html
[root@web06 html]# more index.html
666666666666666
<4> 가상 머신 웹서버 보안 그룹에서 80 허용하기
앞에서 80 허용을 안했다면 80을 허용해주자.
<5> 부하 분산 장치 Load Balancer 만들기
1
다음 순서로 만들어 진다.
부하 분산 장치 만들기
프런트엔드 IP
백엔드 풀
상태 프르브
부하 분산 규칙 추가
인바운드 NAT 규칙 추가
2
부하 분산 장치 만들기
SKU는 표준으로 한다.
디폴트가 표준이다.
다음 : 테크 > 클릭
2
프런트 앤드 IP 구성
3
밴 엔드 풀 > 추가
대상 서버를 넣는다.
이름
web-backend
주의!!
Virtual Machine Scale Sets는 Load Balancer와 동일한 위치에 있어야 합니다.
SKU(Basic/Standard)가 Load Balancer와 동일한 IP 구성만 선택할 수 있습니다.
모든 IP 구성이 동일한 Virtual Network에 있어야 합니다.
4
상태 프로브
추가
web-probe
5
부하 분산 규칙 > 추가
web-lb-rule
사용자가 80 포트로 접속하면 서버 80 포트로 응답한다.
백 엔드 풀로 지정한다.
6
인바운드 NAT 규칙 > 추가
web-nat-rule
또는
SSH를 2222 로 들어오면 , 22로 사용되도록 할수도 있다.
대상 가상머신도 지정한다.
각 가상머신마다 인바운드 NAT 규칙을 다르게 갈수 있다.
추가가 가능하다.
7
인사이트 메뉴에서 구성도를 볼 수 있다.
<6> 확인하기
1
LB를 통해 접속은 잘 된다.
2
스토리지에 스크립트를 넣고 , Windows 서버에서 해당 스크립트를 실행시켜 배포 할수 있다.
보통 시작 스크립트를 사용하는데, Azure에서 스토리지를 이용해 배포도 할수 있다.
3
질문?
그림으로 나오긴 하는데 각 서버마다 80이 제대로 떠 있는지는 콘솔에서 확인이 안 된다.
따로 모니터링 enable 해야 하는 게 있나?
All services > Load Balancers > gameweb-lb > Metrics
> Health Probe Status > Count로 health check 상태 확인
4
기본 Load Balancer는 메트릭을 지원하지 않습니다. 지금 가이드를 따라 이 프로덕션 및 다른 프로덕션 수준 기능의 표준으로 전환하세요.
Azure Public Load Balancer 업그레이드
https://docs.microsoft.com/ko-kr/azure/load-balancer/upgrade-basic-standard?WT.mc_id=Portal-fx
5
표준 LB 문서
https://docs.microsoft.com/ko-kr/azure/load-balancer/load-balancer-overview
6
Azure load balancer 구축하기 https://brunch.co.kr/@topasvga/814
7
참고 유튜브 Azure Load Balancing: Best-suited for your workload - YouTube
감사합니다.