9. Solution
트래픽 분산 처리를 위한
Load Balancing 기술
작업반장
서버가 처리해야 할
업무 혹은 요청(Load)을
여러 대의 서버로 나누어(Balancing) 처리하는 것
10. More About
대표적인 로드밸런서의 종류
ALB와 NLB
OSI 7계층을 기준으로
어떻게 부하를 분산하는지에 따라
종류가 나뉨!
Application Load Balancer Network Load Balancer
Layer 7 기준으로 부하를 분산: L7 로드밸런서 Layer 4 기준으로 부하를 분산: L4 로드밸런서
HTTP, HTTPS 프로토콜을 분산처리
HTTP Header의 Content를 사용해 라우팅 요청 처리
TCP, UDP, TLS 프로토콜을 분산처리
Port 번호를 사용해 라우팅 요청 처리
수백만의 대용량 트래픽 처리 시 적합
ex. 게임서버
웹 어플리케이션, 서비스에 적합
20. AWS ELB
로드밸런서 생성
Network mapping에서
모든 서브넷 선택
Network mapping에서
모든 서브넷 선택
보안그룹 설정
(EC2와 동일)
보안그룹 설정
(EC2와 동일)
21. AWS ELB
로드밸런서 생성
HTTP 프로토콜 80번 포트로
요청이 들어오면,
지정해준 타겟 그룹으로
요청을 전달해줄게!
로드밸런서 생성
로드밸런서 생성
22. AWS ELB
로드밸런서와 타겟그룹 연결상태 확인
로드밸런서 생성 전에는 unused.
생성 후 연결상태가 정상이면
healthy로 status가 변경된 것을
볼 수 있음
23. AWS ELB
(참고) Health Status 체크 방식
IP 접속 가능여부를 30초마다 5번 검사해서 모두 접속 가능하면
> healthy
30초 간격으로 2번 연속 접속 실패하면
> unhealthy
unhealthy 상태의
인스턴스에게는
로드밸런서가
트래픽을 전달해주지 않음
24. AWS ELB
로드밸런싱 여부 확인하기
로드밸런서의 ‘DNS 이름’ 값으로
브라우저에서 접속한 후
새로고침을 반복적으로 해보면
IP 값이 계속 변경되는 것을 확인할 수 있음
26. AWS Solution
EC2 Auto Scaling
EC2 인스턴스를 자동으로 확장하고 축소
서버의 로드가 증가하면
-> 자동으로 인스턴스 개수 추가
서버의 로드가 감소하면
-> 자동으로 인스턴스 개수 줄어듦
27. EC2 Auto Scaling
EC2 Auto Scaling
시간 관계상 Auto Scaling 실습은
영상으로 대체하고
결과 화면 바로 보러 가시죠!
https://www.youtube.com/watch?
v=Sewf23BbW9c&list=PLFmsaABRo1n3jQMuykeo85sDYvVAX5XPt&index=20
28. EC2 Auto Scaling
EC2 Auto Scaling
sudo su
yum update -y
sudo amazon-linux-extras install epel
yum -y install stress
stress -c 10 --timeout 600s
sudo su
yum update -y
sudo amazon-linux-extras install epel
yum -y install stress
stress -c 10 --timeout 600s
Few times later...
Few times later...
CPU 부하테스트
CPU 부하테스트
29. Outro
더 공부해볼 주제들 with EC2
우리는 언제 쉬냐고...
Amazon EBS
Amazon VPC
EC2 인스턴스에 NIC 추가
보안그룹(Security Group)
내가 얼마나
EC2의 극히 일부 기능만 쓰고 있었나
깨닫는 시간이었습니다...