SlideShare a Scribd company logo
1 of 30
221123 제 1회 KAU UMC 개발 컨퍼런스
네트워크 트래픽 분산 시스템 구축

(EC2 Load Balancing, Autoscaling, CloudWatch)
UMC 3기 Server

SW 17 김보인
Problem
한번쯤은겪었을서버마비경험
하서버터졌나...수강신청망했네
아이유콘서트올해도못가네...
요청의크기1MB
Truth
‘서버가터졌다’라는말의진실
125MB/s
유저1만명접속
유저1만명접속
1초에125명씩만화면을볼수있어!


그럼1만번째로 

접속한유저는..?
1초에125명씩만화면을볼수있어!


그럼1만번째로 

접속한유저는..?
Solution
서버가 더 많은 트래픽을 

감당할 수 있게 하는 방법 2가지
Scale-UP Scale-OUT
Solution 1
Scale-UP
RAM을 추가로 장착
기존 서버의 성능을 올리는 방식
기존 서버의 성능을 올리는 방식
더 빠른 CPU를 장착
Solution 1
Scale-UP
EC2 인스턴스를

더 많은 vCPU를 보유하고 

더 많은 메모리를 소유한 

인스턴스 유형으로 교체한다?


=> Scale-UP!
과금은 책임 안 져...
과금은 책임 안 져...
Solution 2
Scale-OUT
서버의 숫자를 늘리는 방식
서버의 숫자를 늘리는 방식
서버 하나 올리고 하나 더 놔
Another Problem
Scale-OUT,

트래픽분배는누가?
한대의서버로들어오던트래픽을 

여러대의서버가 

균등하게받을수있도록 

분배시킬수있어야하지않을까?


=>작업반장역할이필요해!
Solution
트래픽 분산 처리를 위한 

Load Balancing 기술
작업반장
서버가 처리해야 할 

업무 혹은 요청(Load)을 

여러 대의 서버로 나누어(Balancing) 처리하는 것
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. 게임서버
웹 어플리케이션, 서비스에 적합
그래서어떻게사용하는지궁금하쥬?



실습해봅시다
Practice
AWS Solution
Elastic Load Balancer(ELB)
EC2 인스턴스, 컨테이너, IP 주소 등

여러 대상으로 자동 분산 처리
트래픽 분산 타겟의 Health 자동 체크 

Unhealth -> 라우팅 중단하고 다른 대상에게 트래픽 전달
AWS ELB
분산처리할 EC2 인스턴스 

여러 개 생성
AWS ELB
분산처리할 EC2 인스턴스 

여러 개 생성
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
AWS ELB
대상 그룹 생성
AWS ELB
대상 그룹 생성
EC2 인스턴스에 웹서버를 구축했으니

HTTP 80번 포트로 설정
EC2 인스턴스에 웹서버를 구축했으니

HTTP 80번 포트로 설정
AWS ELB
대상 그룹 생성
AWS ELB
로드밸런서 생성
ALB 선택
ALB 선택
AWS ELB
로드밸런서 생성
Network mapping에서 

모든 서브넷 선택
Network mapping에서 

모든 서브넷 선택
보안그룹 설정

(EC2와 동일)
보안그룹 설정

(EC2와 동일)
AWS ELB
로드밸런서 생성
HTTP 프로토콜 80번 포트로 

요청이 들어오면,

지정해준 타겟 그룹으로

요청을 전달해줄게!
로드밸런서 생성
로드밸런서 생성
AWS ELB
로드밸런서와 타겟그룹 연결상태 확인
로드밸런서 생성 전에는 unused.

생성 후 연결상태가 정상이면 

healthy로 status가 변경된 것을 

볼 수 있음
AWS ELB
(참고) Health Status 체크 방식
IP 접속 가능여부를 30초마다 5번 검사해서 모두 접속 가능하면 

> healthy

30초 간격으로 2번 연속 접속 실패하면 

> unhealthy
unhealthy 상태의 

인스턴스에게는 

로드밸런서가 

트래픽을 전달해주지 않음
AWS ELB
로드밸런싱 여부 확인하기
로드밸런서의 ‘DNS 이름’ 값으로 

브라우저에서 접속한 후 

새로고침을 반복적으로 해보면

IP 값이 계속 변경되는 것을 확인할 수 있음
Practice
Auto Scaling
트래픽 양에 따라 

자동으로 인스턴스의 개수를 조절해주면

관리자의 공수도 줄고

인스턴스 운용 비용도 줄지 않을까?
AWS Solution
EC2 Auto Scaling
EC2 인스턴스를 자동으로 확장하고 축소


서버의 로드가 증가하면 

-> 자동으로 인스턴스 개수 추가 


서버의 로드가 감소하면 

-> 자동으로 인스턴스 개수 줄어듦
EC2 Auto Scaling
EC2 Auto Scaling
시간 관계상 Auto Scaling 실습은

영상으로 대체하고


결과 화면 바로 보러 가시죠!
https://www.youtube.com/watch?
v=Sewf23BbW9c&list=PLFmsaABRo1n3jQMuykeo85sDYvVAX5XPt&index=20
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 부하테스트
Outro
더 공부해볼 주제들 with EC2
우리는 언제 쉬냐고...
Amazon EBS
Amazon VPC
EC2 인스턴스에 NIC 추가
보안그룹(Security Group)
내가 얼마나

EC2의 극히 일부 기능만 쓰고 있었나

깨닫는 시간이었습니다...
FIN.
네트워크트래픽분산시스템구축



THANKYOU

More Related Content

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

H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철KTH, 케이티하이텔
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택KTH
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchHan Sung Kim
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 Amazon Web Services Korea
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)Amazon Web Services Korea
 
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드Amazon Web Services Korea
 
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안Amazon Web Services Korea
 
Drawing web app in amazon server
Drawing web app in amazon serverDrawing web app in amazon server
Drawing web app in amazon serverSangHun Lee
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infraHwanseok Park
 
IT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceIT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceGun-su Jang
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista Community
 
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)Amazon Web Services Korea
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Gi Bong Kim
 
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017Amazon Web Services Korea
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015WineSOFT
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드Jeongsang Baek
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 

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

H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택_데이터지능팀_이호철
 
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
H3 2011 클라우드 컴퓨팅 AWS 글로벌 서비스 구축을 위한 선택
 
AWS lambda, step function, cloud watch
AWS lambda, step function, cloud watchAWS lambda, step function, cloud watch
AWS lambda, step function, cloud watch
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
 
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015
AWS 신규 보안 서비스 - WAF. Inspector 등 (김용우) :: re:Invent re:Cap Webinar 2015
 
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
 
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
 
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
 
Drawing web app in amazon server
Drawing web app in amazon serverDrawing web app in amazon server
Drawing web app in amazon server
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra
 
IT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceIT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web Service
 
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축Aws개념 EC2로 API서버 구축
Aws개념 EC2로 API서버 구축
 
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
인프라 자동 배포를 위한 AWS CloudFormation 고급 활용법 - AWS Summit Seoul 2017
 
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
CloudFront(클라우드 프론트)와 Route53(라우트53) AWS Summit Seoul 2015
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 

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