AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
AWS 상에서 컨테이너를 활용하여 클라우드 인프라를 더욱 효과적으로 사용하는 방법에 대하여 다룹니다. 컨테이너를 업무 환경에 적용하기 위해서 고려해야 할 사항이 많아 어렵게만 느껴지던 주제들을 간편한 실습 과제를 해보면서 어렵지 않게 적용 할 수 있게 구성된 워크샵입니다.
단순한 컨테이너 프로비저닝을 시작으로, 스팟 인스턴스를 활용한 컨테이너 배포와 사용량에 따른 인스턴스 최적화 및 어플리케이션 로드밸런서를 활용한 컨테이너 오케스트레이션 구성에 대해서도 실습해 볼 수 있습니다.
이를 통하여 컨테이너를 실제 업무에 적용함으로서 보다 유연하고 비용효율적인 클라우드 인프라를 구성할 수 있는 방법을 습득 하실 수 있습니다.
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의 극히 일부 기능만 쓰고 있었나
깨닫는 시간이었습니다...