O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 30 Anúncio

[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인

트래픽을 분산하는 2가지 개념(scale-up, scale-out)과 scale-out에서 부하 분산처리를 담당하는 로드밸런서에 대해 알아봅니다.
AWS ELB와 Auto Scaling을 통해 EC2 인스턴스를 로드밸런싱하는 방법에 대해 알아봅니다.

트래픽을 분산하는 2가지 개념(scale-up, scale-out)과 scale-out에서 부하 분산처리를 담당하는 로드밸런서에 대해 알아봅니다.
AWS ELB와 Auto Scaling을 통해 EC2 인스턴스를 로드밸런싱하는 방법에 대해 알아봅니다.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Mais recentes (20)

Anúncio

[KAU UMC 컨퍼런스] 네트워크 트래픽 분산 시스템 구축하기 - 김보인

  1. 1. 221123 제 1회 KAU UMC 개발 컨퍼런스 네트워크 트래픽 분산 시스템 구축 (EC2 Load Balancing, Autoscaling, CloudWatch) UMC 3기 Server SW 17 김보인
  2. 2. Problem 한번쯤은겪었을서버마비경험 하서버터졌나...수강신청망했네 아이유콘서트올해도못가네...
  3. 3. 요청의크기1MB Truth ‘서버가터졌다’라는말의진실 125MB/s 유저1만명접속 유저1만명접속 1초에125명씩만화면을볼수있어! 그럼1만번째로 접속한유저는..? 1초에125명씩만화면을볼수있어! 그럼1만번째로 접속한유저는..?
  4. 4. Solution 서버가 더 많은 트래픽을 감당할 수 있게 하는 방법 2가지 Scale-UP Scale-OUT
  5. 5. Solution 1 Scale-UP RAM을 추가로 장착 기존 서버의 성능을 올리는 방식 기존 서버의 성능을 올리는 방식 더 빠른 CPU를 장착
  6. 6. Solution 1 Scale-UP EC2 인스턴스를 더 많은 vCPU를 보유하고 더 많은 메모리를 소유한 인스턴스 유형으로 교체한다? => Scale-UP! 과금은 책임 안 져... 과금은 책임 안 져...
  7. 7. Solution 2 Scale-OUT 서버의 숫자를 늘리는 방식 서버의 숫자를 늘리는 방식 서버 하나 올리고 하나 더 놔
  8. 8. Another Problem Scale-OUT, 트래픽분배는누가? 한대의서버로들어오던트래픽을 여러대의서버가 균등하게받을수있도록 분배시킬수있어야하지않을까? =>작업반장역할이필요해!
  9. 9. Solution 트래픽 분산 처리를 위한 Load Balancing 기술 작업반장 서버가 처리해야 할 업무 혹은 요청(Load)을 여러 대의 서버로 나누어(Balancing) 처리하는 것
  10. 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. 게임서버 웹 어플리케이션, 서비스에 적합
  11. 11. 그래서어떻게사용하는지궁금하쥬? 실습해봅시다 Practice
  12. 12. AWS Solution Elastic Load Balancer(ELB) EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상으로 자동 분산 처리 트래픽 분산 타겟의 Health 자동 체크 Unhealth -> 라우팅 중단하고 다른 대상에게 트래픽 전달
  13. 13. AWS ELB 분산처리할 EC2 인스턴스 여러 개 생성
  14. 14. AWS ELB 분산처리할 EC2 인스턴스 여러 개 생성
  15. 15. AWS ELB 분산처리할 EC2 인스턴스 여러 개 생성 #!/bin/bash yum update -y yum install httpd -y systemctl enable httpd.service systemctl start httpd.service cd /var/www/html echo "안녕하세요 UMC 3기 리더 찰스입니다. 
 $(hostname -f)" > index.html #!/bin/bash yum update -y yum install httpd -y systemctl enable httpd.service systemctl start httpd.service cd /var/www/html echo "안녕하세요 UMC 3기 리더 찰스입니다. 
 $(hostname -f)" > index.html
  16. 16. AWS ELB 대상 그룹 생성
  17. 17. AWS ELB 대상 그룹 생성 EC2 인스턴스에 웹서버를 구축했으니 HTTP 80번 포트로 설정 EC2 인스턴스에 웹서버를 구축했으니 HTTP 80번 포트로 설정
  18. 18. AWS ELB 대상 그룹 생성
  19. 19. AWS ELB 로드밸런서 생성 ALB 선택 ALB 선택
  20. 20. AWS ELB 로드밸런서 생성 Network mapping에서 모든 서브넷 선택 Network mapping에서 모든 서브넷 선택 보안그룹 설정 (EC2와 동일) 보안그룹 설정 (EC2와 동일)
  21. 21. AWS ELB 로드밸런서 생성 HTTP 프로토콜 80번 포트로 요청이 들어오면, 지정해준 타겟 그룹으로 요청을 전달해줄게! 로드밸런서 생성 로드밸런서 생성
  22. 22. AWS ELB 로드밸런서와 타겟그룹 연결상태 확인 로드밸런서 생성 전에는 unused. 생성 후 연결상태가 정상이면 healthy로 status가 변경된 것을 볼 수 있음
  23. 23. AWS ELB (참고) Health Status 체크 방식 IP 접속 가능여부를 30초마다 5번 검사해서 모두 접속 가능하면 > healthy 30초 간격으로 2번 연속 접속 실패하면 > unhealthy unhealthy 상태의 인스턴스에게는 로드밸런서가 트래픽을 전달해주지 않음
  24. 24. AWS ELB 로드밸런싱 여부 확인하기 로드밸런서의 ‘DNS 이름’ 값으로 브라우저에서 접속한 후 새로고침을 반복적으로 해보면 IP 값이 계속 변경되는 것을 확인할 수 있음
  25. 25. Practice Auto Scaling 트래픽 양에 따라 자동으로 인스턴스의 개수를 조절해주면 관리자의 공수도 줄고 인스턴스 운용 비용도 줄지 않을까?
  26. 26. AWS Solution EC2 Auto Scaling EC2 인스턴스를 자동으로 확장하고 축소 서버의 로드가 증가하면 -> 자동으로 인스턴스 개수 추가 서버의 로드가 감소하면 -> 자동으로 인스턴스 개수 줄어듦
  27. 27. EC2 Auto Scaling EC2 Auto Scaling 시간 관계상 Auto Scaling 실습은 영상으로 대체하고 결과 화면 바로 보러 가시죠! https://www.youtube.com/watch? v=Sewf23BbW9c&list=PLFmsaABRo1n3jQMuykeo85sDYvVAX5XPt&index=20
  28. 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. 29. Outro 더 공부해볼 주제들 with EC2 우리는 언제 쉬냐고... Amazon EBS Amazon VPC EC2 인스턴스에 NIC 추가 보안그룹(Security Group) 내가 얼마나 EC2의 극히 일부 기능만 쓰고 있었나 깨닫는 시간이었습니다...
  30. 30. FIN. 네트워크트래픽분산시스템구축 THANKYOU

×