O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
이창수, AWS 코리아 솔루션즈 아키텍트
천만 사용자를 위한 AWS
클라우드 아키텍쳐 ...
AWS 솔루션즈
아키텍트!
여러분은 누구신가요?
여러분은 아마도 지금…
- 우리 서비스는 어느 단계에 있나요
- 어떻게 쉽고 안전하게 확장할 수 있을까요
- 어디서부터 시작해야 할지 모르겠어요
한번에 해결할 수 있는
마술은 없습니다
본 강연에서 다룰 내용
§ 몇가지 기본 지식
§ 사용자 증가에 따른 클라우드 아키텍쳐 진화하기
§ 수직적 스케일 업을 통한 확장
§ 부하 분산과 멀티 AZ를 통한 수평적 확장
§ 오토 스케일링
§ 자동화 및 모니터링
§...
몇가지 기본 지식
US-WEST (오레곤)
US-WEST (캘리포니아)
AWS GOVCLOUD (US)
SOUTH AMERICA
(상 파울로)
US-EAST (버지니아)
CANADA (센트럴)
EU (아일랜드)
EU (런던)
EU (프랑...
US-WEST (오레곤)
US-WEST (캘리포니아)
AWS GOVCLOUD (US)
SOUTH AMERICA
(상 파울로)
US-EAST (버지니아)
CANADA (센트럴)
EU (아일랜드)
EU (런던)
EU (프랑...
고객 및 기술
지원
영업 지원
고객지원
프로페셔널
컨설팅
교육 및
인증
보안 및
빌링
시스템
파트너
생태계
솔루션
아키텍트
엔터프라이즈
가상
데스크톱
기업용 공유
도구
기업용
이메일
백업 및 복구
글로벌 리전
(Regi...
비지니스 요구 사항에 맞는
90여개 이상의 서비스 조립을 통해 유연한 활용 가능
AWS 클라우드의 다양하고 폭넓은 서비스
AWS 활용 = 빌딩 블록 조립
이제 시작해볼까요?
사용자 증가에 따른
클라우드 아키텍쳐 진화하기
첫 사용자
DNS를 위한 Amazon Route 53
• 글로벌 부하 분산
• AWS Cloud에 최적화
단일 Elastic IP
단일 AMAZON EC2 인스턴스
• 웹 서버
• 데이터베이스
• 시스템 운영
• 파일 저장
• 기...
• AWS 클라우드 가상 서버
• 다양한 운영 체제 지원
• 손쉽게 생성, 시작, 중단, 종료
• 손쉽게 수백대, 수천대로 확장 가능
• 원하는 대로 사용한 만큼만 과금
• 다양한 비용 모델 제공
• 다양한 컴퓨팅 옵션...
수직적 스케일 업 (Scale-Up)
• 가장 쉬운 접근 방법
• 더 높은 CPU 인스턴스
• 더 높은 메모리 인스턴스
• 더 높은 스토리지 인스턴스
• 더 높은 I/O 인스턴스
• 쉽게 인스턴스 크기 변경
• 결국에는...
사용자 > 1+
문제점
• 이중화 없음
• 페일오버 불가
“한 바구니에 계란을
모두 담지 말자!” EC2
인스턴스
Elastic IP
Amazon
Route 53
X
사용자
Amazon
Route 53
사용자 > 1+
먼저, 기능에 따라 인스턴스의
역할을 나눈다!
• 웹 서버용 EC2 인스턴스
• DB용 EC2 인스턴스
• 직접 운영
• 데이터베이스 관리서비스
EC2 웹
인스턴스
EC2
데이터베이스
인스턴스
Elast...
직접 운영 관리 서비스 선택
Amazon EC2
직접 설치
원하는 데이터
베이스를 선택
하여 운영
라이센스/백업
등 직접 운영
데이터베이스 선택 사항
Amazon RDS
MySQL
Microsoft SQL
Oracle
...
ü MySQL 호환 및 5배 성능 향상
ü 최대 15개 리드 복제본
ü 자동 스토리지 확장 (최대 64TB)
ü Amazon S3에 지속 증분 백업
ü 3곳의 가용 영역에 6본의 복제
Amazon Aurora를 추천합니다
Users >100
사용자 >100
EC2 웹
인스턴스
Elastic IP
RDS DB
인스턴스
사용자
Amazon
Route 53
먼저, 기능에 따라
인스턴스의 역할을 나눈다!
• 웹 서버용 인스턴스
• DB용 인스턴스
• 편리한 DB ...
사용자 >1,000
사용자 >1000
만약 웹 서버나 DB
인스턴스에 문제가
생긴다면?
• 이중화 없음
• 페일오버 없음 EC2 웹
인스턴스
Elastic IP
RDS DB
인스턴스
X
사용자
Amazon
Route 53
사용자 >1000
Elastic Load Balancing
확장성 높은 부하 분산 서비스
Multi-AZ 서버 구성
가용 영역을 통한 고가용성 확보
데이터베이스 이중화
RDS의 기본-예비 복제본
Multi-AZ에 구성
...
Elastic Load Balancing
• 고가용성
• 헬스 체크
• 세션 유지(stickiness)
• SSL 오프로드
• 모니터링, 로깅
Application Load Balancer
• 고가용성
• 헬스 체크
• 세션 유지(stickiness)
• SSL 오프로드
• 모니터링, 로깅
• 컨텐츠 기반 라우팅
• 컨테이너 기반 앱
• 웹 소켓
• HTTP/2
수평적
수직적
Users >10,000+
사용자: 10,000 -100,0000+
RDS DB 인스턴스
기본 복제본
(Multi-AZ)
RDS DB 인스턴스
예비 복제본
(Multi-AZ)
ElasticLoad
Balancing
User
Amazon
Route...
부하를 이동하기
EC2 웹
인스턴스
RDS DB 인스턴스
기본 복제본 (Multi-AZ)
가용 영역
Elastic Load
Balancing
정적 콘텐츠를 Amazon
S3와 CloudFront로
이전하자!
• 정적 파일 (CSS/JS...
Amazon Simple Storage Service (S3)
• 오브젝트 기반 스토리지
• 높은 내구성
• 정적 자산에 최적
• “무한 확장성”
• 최대 5 TB 오브젝트 크기
• 선택적 암호화
Amazon CloudFront
• 캐시된 콘텐츠로 빠른 전달
• 오리진에 낮은 부하
• 정적 및 동적 콘텐츠 지원
• 비디오 스트리밍
• 사용자 정의 SSL 인증서
• 낮은 TTL (0초까지 지원)
• 무상 오리진 패...
Amazon DynomoDB와
ElasticCache 활용
• 자주 사용되는 세션/상태 정보
DynamoDB에 저장
• Amazon ElastiCache
(Memcached, Redis)를 이용한
DB 캐싱
주위로 부하...
• 손 쉬운 관리형 NoSQL 서비스
• 읽기 및 쓰기 용량 제어 가능
• 프로비저닝한 용량 만큼만 과금
• 완전히 분산된 내결함성
• 한자리 수 밀리초 수준의 빠르고
일관된 응답시간
• JSON 도큐먼트 지원
• TT...
• 인메모리 관리형 캐시 서비스
• 관리형 Memcached 및 Redis 지원
• 자가-치유 기능 (장애 인스턴스 교체)
• 하나에서 다수 노드로 확장
• 한 자리수 밀리초 속도
Amazon ElastiCache
동적 콘텐츠에 대해서도
Amazon CloudFront 활용
주위로 부하 이동하기응답시간
서버부하
응답시간
서버
부하
응답시간
서버
부하
No	CDN 정적 콘텐츠를
위한 CDN
정적 및 동적
콘텐츠를 위한
CDN
웹
인...
오토 스케일링
컴퓨트 클러스터 크기를 자동 재조정
최소/최대 풀 크기 정의
CloudWatch 메트릭을 통한 확장 구동
온-디맨드 또는 스팟 인스턴스
aws autoscaling create-auto-scaling-group
--au...
고객 사례: Dispatch
• 특종 기사 발생시 트래픽을 처리하기 어려움
• 외주를 통한 기존 데이터 센터 인프라 운영으로 비용 증가
AWS 클라우드를 통해 이렇게 바뀌었습니다!
• 특종 기사에도 끄떡없는 트래픽 대응...
9월 11월
6 Time
EC2
instances
70
50
10월8월
급작스런 트래픽 대응 사례
사용자 > 50만+
Amazon
Route 53
사용자
Amazon S3
Elastic Load
Balancing
DynamoDB
RDS DB
인스턴스 읽기
전용 복제본
웹
인스턴스
웹
인스턴스
웹
인스턴스
Elasti...
사용자 > 50만+
사용자
Amazon S3
Elastic Load
Balancing
DynamoDB
RDS DB
인스턴스 읽기
전용 복제본
웹
인스턴스
웹
인스턴스
웹
인스턴스
ElastiCache RDS DB
인스턴...
• 자동화와 모니터링, 메트릭 및 로깅
• 내부적으로 구축할 수 없을 경우, 3rd 파티
SaaS 이용
• 고객 피드백은?
• 각 서비스 및 구성 요소가 제공할 수
있는 최대 성능 극대화
사용자 > 50만+
자동화 및 모니터링
편의성 제어성
하이 레벨 서비스 직접 어플리케이션 구성
AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
CloudFormation
Amazon EC2
어플리케이션 관리 솔루션
호스트 수준 메트릭 집계 수준 메트릭
AWS
CloudWatch
Amazon ES
AWS 자원 모니터링 및 로그 분석
느슨한 결합
계층을 분해해서 추가로 더
개선할 수 있습니다!
Amazon
CloudSearch
Amazon
SQS
Amazon
SNS
Amazon
Elastic
Transcoder
Amazon SWFAmazon
SES
AWS
Lambda
느슨한 결합은 자유를 제공합니다
바퀴를 재...
• 신뢰성 (Multi-AZ)
• 확장성 (무제한 메시지)
• 안정성 (큐 인증)
• 간결성 (단순 API)
SQS
메시지
인스턴스메시지
넣기
인스턴스
Amazon
SNS
토픽
알림 게시
(Pub)
큐는 토픽에 등록
애...
• 이벤트에 의한 Lambda 트리거
• C#, Java, Node.js, Python
• 관리형 서비스
• 암시적 확장
S3 버킷
Lambda
푸시: 이벤트 알림
DynamoDB
풀: DynamoDB
스트림
Kines...
사용자 > 1,000,000
사용자 >1,000,000+
사용자가 백만 이상에 도달하면 앞서 모든 것을
요구합니다:
• Multi-AZ
• 계층 간 Elastic Load Balancing
• 오토 스케일링
• 느슨한 결합과 서비스 재활용
• 똑똑...
RDS DB 인스턴스
기본 복제본 (Multi-AZ)
가용 영역
Elastic Load
Balancing
RDS DB
인스턴스 읽기
전용 복제본
RDS DB
인스턴스 읽기
전용 복제본
웹
인스턴스
웹
인스턴스
웹
인스턴...
다음 큰 단계
사용자 > 10,000,000
사용자 >500만 – 천만
데이터베이스의 마스터 노드 상에 쓰기 병목 이슈가 잠재할
수 있습니다. 해결책은?
• 페더레이션 (Federation) - 기능 및 목적에 따라 DB 분리
• 샤딩 (Sharding) - 다중...
페더레이션
• 데이터베이스를 기능 및 목적에 따라 분리
• 데이터베이스간 교차-함수 쿼리가 어려움
• 거대한 단일 함수 및 테이블에는 도움 안 됨
포럼 DB
사용자 DB
제품 DB
수평적 확장 – 샤딩
• 함수나 키 영역에 의한 샤드
• 확장에 실질적인 제한 없음
• 애플리케이션 계층 복잡도 심화
• 운영 복잡성 및 전문성
• RDBMS 또는 NoSQL
사용자 ShardID
002345 A
002...
NoSQL 검토
관리형 NoSQL 서비스 DynamoDB 활용
사용 사례 :
• 리더보드/득점표
• 클릭스트림 및 로그 데이터의 빠른 인입
• 임시 데이터 (예: 장바구니)
• “핫” 테이블
• 메타 데이터 / 검색 테...
체크 포인트
1. Multi-AZ 아키텍처로 고가용성 확보
2. 자가 치유 서비스 사용
– ELB, Amazon S3, Amazon SNS, Amazon SQS, Amazon SWF,
Amazon SES 등
3. 모든 ...
체크 포인트
6. 좋은 모니터링/측정/로깅 도구 확보
7. 계층을 분해한 느슨한 결합
8. 오토스케일링 적극 사용
9. 직접 만들지 말고 AWS 서비스 활용
10. 상황에 맞게 NoSQL 검토
본 강연이 끝난 후…
AWS 시작하기: aws.amazon.com/ko/getting-started/tutorials/
본 강연이 끝난 후…
AWS 프리 티어 체험하기: aws.amazon.com/ko/free/
• AWS 가입일로부터 12개월동안 유효한 프리 티어
• 12개월이 끝나도 종료되지 않는 추가 서비스 혜택을 포함
본 강연이 끝난 후…
AWS IoT
메시지 250,000개/월
Amazon EC2 Container Registry
스토리지 500MB/월
AWS Lambda
1백만건/월, 최대 3백2십만초/월
ELB/ALB
750시간...
본 강연이 끝난 후…
읽을 만한 자료:
aws.amazon.com/documentation
aws.amazon.com/architecture
함께 해주셔서 감사합니다!
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요...
Próximos SlideShares
Carregando em…5
×

천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017

2.034 visualizações

Publicada em

Publicada em: Tecnologia
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ..................................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017

  1. 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 이창수, AWS 코리아 솔루션즈 아키텍트 천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기
  2. 2. AWS 솔루션즈 아키텍트!
  3. 3. 여러분은 누구신가요? 여러분은 아마도 지금… - 우리 서비스는 어느 단계에 있나요 - 어떻게 쉽고 안전하게 확장할 수 있을까요 - 어디서부터 시작해야 할지 모르겠어요
  4. 4. 한번에 해결할 수 있는 마술은 없습니다
  5. 5. 본 강연에서 다룰 내용 § 몇가지 기본 지식 § 사용자 증가에 따른 클라우드 아키텍쳐 진화하기 § 수직적 스케일 업을 통한 확장 § 부하 분산과 멀티 AZ를 통한 수평적 확장 § 오토 스케일링 § 자동화 및 모니터링 § 느슨한 결합 § 10가지 체크 포인트
  6. 6. 몇가지 기본 지식
  7. 7. US-WEST (오레곤) US-WEST (캘리포니아) AWS GOVCLOUD (US) SOUTH AMERICA (상 파울로) US-EAST (버지니아) CANADA (센트럴) EU (아일랜드) EU (런던) EU (프랑크프루트) EU (파리 예정) AP (뭄바이) AP (시드니) AP (베이징) AP (서울) AP (도쿄) AP (닝샤 예정) 16 리전 42 가용 영역 AWS 글로벌 인프라
  8. 8. US-WEST (오레곤) US-WEST (캘리포니아) AWS GOVCLOUD (US) SOUTH AMERICA (상 파울로) US-EAST (버지니아) CANADA (센트럴) EU (아일랜드) EU (런던) EU (프랑크프루트) EU (파리 예정) AP (뭄바이) AP (시드니) AP (베이징) AP (서울) AP (도쿄) AP (닝샤 예정) 16 리전 42 가용 영역 73 엣지 AWS 글로벌 인프라
  9. 9. 고객 및 기술 지원 영업 지원 고객지원 프로페셔널 컨설팅 교육 및 인증 보안 및 빌링 시스템 파트너 생태계 솔루션 아키텍트 엔터프라이즈 가상 데스크톱 기업용 공유 도구 기업용 이메일 백업 및 복구 글로벌 리전 (Region) 가용 영역 (AZ) 콘텐츠 배포 지점(Edges) 인프라 핵심 서비스 컴퓨팅 가상머신, 자동확장, 부하분산, 컨테이너, 클라우드 기능 스토리지 오브젝트, 블록, 파일, 아카이브, Import/Export 데이터베이스 관계형, NoSQL, 캐싱, 마이그레이션 네트워킹 VPC, DX, DNS 콘텐츠 배포 (CDN) 하이브리드 환경 데이터 백업 통합 앱 개발 환경 전용 회선 연결 통합 인증 통합 리소스 관리 네트워크 통합 서비스 접근 제어 사용자 인증 관리 암호 키 관리 및 저장 모니터링 로그 기업 자원 설정 및 보고 리소스 사용량 및 감사 보안 및 규정 준수 기업 내 규정 준수 웹 방화벽 비지니 스 앱 비지니스 인텔리전스 데이터베이스 DevOps 도구 네트워킹보안 스토리지 IoT 규칙 엔진 디바이스 섀도우 디바이스 SDK 레지스트리 디바이스 게이트웨이 개발 및 운영 도구모바일 서비스앱 서비스데이터 분석 데이터웨어 하우스 하둡/Spark 실시간 데이터 저장 머신 러닝 ElasticSearch 서비스 알람 및 큐 서비스 워크 플로우 풀-텍스트 검색 Email 전송 동영상 변환 원 클릭 앱 개발 모바일 인증 디바이스 동기화 모바일 앱 테스트 푸시 알림 DevOps 리소스 관리 앱 생명주기 관리 도구 컨테이너 서비스 클라우드 함수 리소스 템플릿 API 게이트웨이 실시간 데이터 분석 비지니스 인텔리전스 모바일 분석 모바일 허브 마켓 플레이스 AWS 클라우드의 다양하고 폭넓은 서비스
  10. 10. 비지니스 요구 사항에 맞는 90여개 이상의 서비스 조립을 통해 유연한 활용 가능 AWS 클라우드의 다양하고 폭넓은 서비스 AWS 활용 = 빌딩 블록 조립
  11. 11. 이제 시작해볼까요?
  12. 12. 사용자 증가에 따른 클라우드 아키텍쳐 진화하기
  13. 13. 첫 사용자
  14. 14. DNS를 위한 Amazon Route 53 • 글로벌 부하 분산 • AWS Cloud에 최적화 단일 Elastic IP 단일 AMAZON EC2 인스턴스 • 웹 서버 • 데이터베이스 • 시스템 운영 • 파일 저장 • 기타 … EC2 인스턴스 ElasticIP 사용자 Amazon Route53 첫 사용자 1명
  15. 15. • AWS 클라우드 가상 서버 • 다양한 운영 체제 지원 • 손쉽게 생성, 시작, 중단, 종료 • 손쉽게 수백대, 수천대로 확장 가능 • 원하는 대로 사용한 만큼만 과금 • 다양한 비용 모델 제공 • 다양한 컴퓨팅 옵션 선택 가능 Elastic Compute Cloud (EC2) 인스턴스 세대 c4.xlarge 인스턴스 패밀리 인스턴스 사이즈
  16. 16. 수직적 스케일 업 (Scale-Up) • 가장 쉬운 접근 방법 • 더 높은 CPU 인스턴스 • 더 높은 메모리 인스턴스 • 더 높은 스토리지 인스턴스 • 더 높은 I/O 인스턴스 • 쉽게 인스턴스 크기 변경 • 결국에는 한계 용량에 도달 서버 트래픽↗ “더 높은 성능 인스턴스!” vertically 1 vCPU 1 GiB 메모리 $0.016/시간 t2.micro m4.2xlarge 8 vCPU 32 GiB 메모리 $0.528/시간 c4.8xlarge 32 vCPU 60 GiB 메모리 $1.815/시간 [서울리전 기준]
  17. 17. 사용자 > 1+ 문제점 • 이중화 없음 • 페일오버 불가 “한 바구니에 계란을 모두 담지 말자!” EC2 인스턴스 Elastic IP Amazon Route 53 X 사용자 Amazon Route 53
  18. 18. 사용자 > 1+ 먼저, 기능에 따라 인스턴스의 역할을 나눈다! • 웹 서버용 EC2 인스턴스 • DB용 EC2 인스턴스 • 직접 운영 • 데이터베이스 관리서비스 EC2 웹 인스턴스 EC2 데이터베이스 인스턴스 Elastic IP 사용자 Amazon Route 53
  19. 19. 직접 운영 관리 서비스 선택 Amazon EC2 직접 설치 원하는 데이터 베이스를 선택 하여 운영 라이센스/백업 등 직접 운영 데이터베이스 선택 사항 Amazon RDS MySQL Microsoft SQL Oracle PostgreSQL MariaDB AmazonAurora 라이센스/백업등 선택적 제공 Amazon DynamoDB SSD 스토리지기반 NoSQL 서비스 빠른 처리속도 중단없는 확장성 및 관리 필요 없음 Amazon Redshift 대용량 병렬 페타바이트급 데이터웨어 서비스 빠르고 강력한 확장성 제공
  20. 20. ü MySQL 호환 및 5배 성능 향상 ü 최대 15개 리드 복제본 ü 자동 스토리지 확장 (최대 64TB) ü Amazon S3에 지속 증분 백업 ü 3곳의 가용 영역에 6본의 복제 Amazon Aurora를 추천합니다
  21. 21. Users >100
  22. 22. 사용자 >100 EC2 웹 인스턴스 Elastic IP RDS DB 인스턴스 사용자 Amazon Route 53 먼저, 기능에 따라 인스턴스의 역할을 나눈다! • 웹 서버용 인스턴스 • DB용 인스턴스 • 편리한 DB 운영을 위해 Amazon RDS 이용
  23. 23. 사용자 >1,000
  24. 24. 사용자 >1000 만약 웹 서버나 DB 인스턴스에 문제가 생긴다면? • 이중화 없음 • 페일오버 없음 EC2 웹 인스턴스 Elastic IP RDS DB 인스턴스 X 사용자 Amazon Route 53
  25. 25. 사용자 >1000 Elastic Load Balancing 확장성 높은 부하 분산 서비스 Multi-AZ 서버 구성 가용 영역을 통한 고가용성 확보 데이터베이스 이중화 RDS의 기본-예비 복제본 Multi-AZ에 구성 EC2 웹 인스턴스 RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 #1 가용 영역 #2 EC2 웹 인스턴스 RDS DB 인스턴스 예비 복제본 (Multi-AZ) Elastic Load Balancing 사용자 Amazon Route 53
  26. 26. Elastic Load Balancing • 고가용성 • 헬스 체크 • 세션 유지(stickiness) • SSL 오프로드 • 모니터링, 로깅
  27. 27. Application Load Balancer • 고가용성 • 헬스 체크 • 세션 유지(stickiness) • SSL 오프로드 • 모니터링, 로깅 • 컨텐츠 기반 라우팅 • 컨테이너 기반 앱 • 웹 소켓 • HTTP/2
  28. 28. 수평적 수직적
  29. 29. Users >10,000+
  30. 30. 사용자: 10,000 -100,0000+ RDS DB 인스턴스 기본 복제본 (Multi-AZ) RDS DB 인스턴스 예비 복제본 (Multi-AZ) ElasticLoad Balancing User Amazon Route 53 RDS DB 읽기 전용 복제본 가용 영역 #1 가용 영역 #2 RDS DB 읽기 전용 복제본 RDS DB 읽기 전용 복제본 RDS DB 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스
  31. 31. 부하를 이동하기
  32. 32. EC2 웹 인스턴스 RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 Elastic Load Balancing 정적 콘텐츠를 Amazon S3와 CloudFront로 이전하자! • 정적 파일 (CSS/JS 파일, 사용자 업로드 이미지 및 비디오 등) • 다운로드 파일 배포 • 백업 및 로그 • 무제한 저장소 및 콘텐츠 배포 네트워크 활용 가능 주위로 부하 이동하기 사용자 Amazon Route 53 Amazon CloudFront Amazon S3
  33. 33. Amazon Simple Storage Service (S3) • 오브젝트 기반 스토리지 • 높은 내구성 • 정적 자산에 최적 • “무한 확장성” • 최대 5 TB 오브젝트 크기 • 선택적 암호화
  34. 34. Amazon CloudFront • 캐시된 콘텐츠로 빠른 전달 • 오리진에 낮은 부하 • 정적 및 동적 콘텐츠 지원 • 비디오 스트리밍 • 사용자 정의 SSL 인증서 • 낮은 TTL (0초까지 지원) • 무상 오리진 패치 • AWS 최적화
  35. 35. Amazon DynomoDB와 ElasticCache 활용 • 자주 사용되는 세션/상태 정보 DynamoDB에 저장 • Amazon ElastiCache (Memcached, Redis)를 이용한 DB 캐싱 주위로 부하 이동하기 EC2 웹 인스턴스 RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 Elastic Load Balancing 사용자 Amazon Route 53 Amazon CloudFront Amazon S3 DynamoDB ElastiCache
  36. 36. • 손 쉬운 관리형 NoSQL 서비스 • 읽기 및 쓰기 용량 제어 가능 • 프로비저닝한 용량 만큼만 과금 • 완전히 분산된 내결함성 • 한자리 수 밀리초 수준의 빠르고 일관된 응답시간 • JSON 도큐먼트 지원 • TTL 기능 제공 Amazon DynamoDB
  37. 37. • 인메모리 관리형 캐시 서비스 • 관리형 Memcached 및 Redis 지원 • 자가-치유 기능 (장애 인스턴스 교체) • 하나에서 다수 노드로 확장 • 한 자리수 밀리초 속도 Amazon ElastiCache
  38. 38. 동적 콘텐츠에 대해서도 Amazon CloudFront 활용 주위로 부하 이동하기응답시간 서버부하 응답시간 서버 부하 응답시간 서버 부하 No CDN 정적 콘텐츠를 위한 CDN 정적 및 동적 콘텐츠를 위한 CDN 웹 인스턴스 RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 Elastic Load Balancing 사용자 Amazon Route 53 Amazon CloudFront Amazon S3 DynamoDB ElastiCache
  39. 39. 오토 스케일링
  40. 40. 컴퓨트 클러스터 크기를 자동 재조정 최소/최대 풀 크기 정의 CloudWatch 메트릭을 통한 확장 구동 온-디맨드 또는 스팟 인스턴스 aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyGroup --launch-configuration-name MyConfig --min-size 4 --max-size 200 --availability-zones ap-northeast-2c, ap-northeast-2a 오토스케일링
  41. 41. 고객 사례: Dispatch • 특종 기사 발생시 트래픽을 처리하기 어려움 • 외주를 통한 기존 데이터 센터 인프라 운영으로 비용 증가 AWS 클라우드를 통해 이렇게 바뀌었습니다! • 특종 기사에도 끄떡없는 트래픽 대응력 제공 • 개발 및 운영 내재화를 통한 비용 효율화
  42. 42. 9월 11월 6 Time EC2 instances 70 50 10월8월 급작스런 트래픽 대응 사례
  43. 43. 사용자 > 50만+ Amazon Route 53 사용자 Amazon S3 Elastic Load Balancing DynamoDB RDS DB 인스턴스 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 ElastiCache RDS DB 인스턴스 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 ElastiCacheRDS DB 인스턴스 예비 복제본 (Multi- AZ) RDS DB 인스턴스 기본 복제본 (Multi- AZ) 가용 영역 #1 가용 영역 #2 Amazon CloudFront
  44. 44. 사용자 > 50만+ 사용자 Amazon S3 Elastic Load Balancing DynamoDB RDS DB 인스턴스 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 ElastiCache RDS DB 인스턴스 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 ElastiCacheRDS DB 인스턴스 예비 복제본 (Multi- AZ) RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 #1 가용 영역 #2 Amazon Route 53 Amazon CloudFront
  45. 45. • 자동화와 모니터링, 메트릭 및 로깅 • 내부적으로 구축할 수 없을 경우, 3rd 파티 SaaS 이용 • 고객 피드백은? • 각 서비스 및 구성 요소가 제공할 수 있는 최대 성능 극대화 사용자 > 50만+
  46. 46. 자동화 및 모니터링
  47. 47. 편의성 제어성 하이 레벨 서비스 직접 어플리케이션 구성 AWS Elastic Beanstalk AWS OpsWorks AWS CloudFormation Amazon EC2 어플리케이션 관리 솔루션
  48. 48. 호스트 수준 메트릭 집계 수준 메트릭 AWS CloudWatch Amazon ES AWS 자원 모니터링 및 로그 분석
  49. 49. 느슨한 결합 계층을 분해해서 추가로 더 개선할 수 있습니다!
  50. 50. Amazon CloudSearch Amazon SQS Amazon SNS Amazon Elastic Transcoder Amazon SWFAmazon SES AWS Lambda 느슨한 결합은 자유를 제공합니다 바퀴를 재개발하지 말자! • 독립적인 구성 요소 • 상호 작용 분리 • 내장된 이중화 및 확장성이 제공되는 서비스 활용
  51. 51. • 신뢰성 (Multi-AZ) • 확장성 (무제한 메시지) • 안정성 (큐 인증) • 간결성 (단순 API) SQS 메시지 인스턴스메시지 넣기 인스턴스 Amazon SNS 토픽 알림 게시 (Pub) 큐는 토픽에 등록 애플리케이션 서비스 – Amazon SQS 메시지 가져오기
  52. 52. • 이벤트에 의한 Lambda 트리거 • C#, Java, Node.js, Python • 관리형 서비스 • 암시적 확장 S3 버킷 Lambda 푸시: 이벤트 알림 DynamoDB 풀: DynamoDB 스트림 Kinesis 풀: Kinesis 스트림 서버리스 컴퓨팅 – AWS Lambda
  53. 53. 사용자 > 1,000,000
  54. 54. 사용자 >1,000,000+ 사용자가 백만 이상에 도달하면 앞서 모든 것을 요구합니다: • Multi-AZ • 계층 간 Elastic Load Balancing • 오토 스케일링 • 느슨한 결합과 서비스 재활용 • 똑똑하게 콘텐츠 제공 (Amazon S3/CloudFront) • DB 캐싱과 리드 부하 오프 로드를 위한 리드 복제본 설정 • 오토 스케일하는 계층의 세션 상태 오프
  55. 55. RDS DB 인스턴스 기본 복제본 (Multi-AZ) 가용 영역 Elastic Load Balancing RDS DB 인스턴스 읽기 전용 복제본 RDS DB 인스턴스 읽기 전용 복제본 웹 인스턴스 웹 인스턴스 웹 인스턴스 웹 인스턴스 DynamoDB Amazon SQS ElastiCache 작업자 인스턴스 작업자 인스턴스 Amazon CloudWatch 사내 앱 인스턴스 사내 앱 인스턴스 사용자 Amazon Route 53 Amazon CloudFront 사용자: 100만+ Amazon S3 Amazon SES Lambda
  56. 56. 다음 큰 단계
  57. 57. 사용자 > 10,000,000
  58. 58. 사용자 >500만 – 천만 데이터베이스의 마스터 노드 상에 쓰기 병목 이슈가 잠재할 수 있습니다. 해결책은? • 페더레이션 (Federation) - 기능 및 목적에 따라 DB 분리 • 샤딩 (Sharding) - 다중 호스트로 하나의 데이터 집합 분리 • 특정 일부 기능을 다른 유형의 DB로 변경 - NoSQL, 그래프
  59. 59. 페더레이션 • 데이터베이스를 기능 및 목적에 따라 분리 • 데이터베이스간 교차-함수 쿼리가 어려움 • 거대한 단일 함수 및 테이블에는 도움 안 됨 포럼 DB 사용자 DB 제품 DB
  60. 60. 수평적 확장 – 샤딩 • 함수나 키 영역에 의한 샤드 • 확장에 실질적인 제한 없음 • 애플리케이션 계층 복잡도 심화 • 운영 복잡성 및 전문성 • RDBMS 또는 NoSQL 사용자 ShardID 002345 A 002346 B 002347 C 002348 B 002349 A CBA
  61. 61. NoSQL 검토 관리형 NoSQL 서비스 DynamoDB 활용 사용 사례 : • 리더보드/득점표 • 클릭스트림 및 로그 데이터의 빠른 인입 • 임시 데이터 (예: 장바구니) • “핫” 테이블 • 메타 데이터 / 검색 테이블
  62. 62. 체크 포인트 1. Multi-AZ 아키텍처로 고가용성 확보 2. 자가 치유 서비스 사용 – ELB, Amazon S3, Amazon SNS, Amazon SQS, Amazon SWF, Amazon SES 등 3. 모든 계층 이중화 4. 인프라 내/외부 캐시 적극 활용 5. 인프라 자동화 도구 사용
  63. 63. 체크 포인트 6. 좋은 모니터링/측정/로깅 도구 확보 7. 계층을 분해한 느슨한 결합 8. 오토스케일링 적극 사용 9. 직접 만들지 말고 AWS 서비스 활용 10. 상황에 맞게 NoSQL 검토
  64. 64. 본 강연이 끝난 후… AWS 시작하기: aws.amazon.com/ko/getting-started/tutorials/
  65. 65. 본 강연이 끝난 후… AWS 프리 티어 체험하기: aws.amazon.com/ko/free/ • AWS 가입일로부터 12개월동안 유효한 프리 티어 • 12개월이 끝나도 종료되지 않는 추가 서비스 혜택을 포함
  66. 66. 본 강연이 끝난 후… AWS IoT 메시지 250,000개/월 Amazon EC2 Container Registry 스토리지 500MB/월 AWS Lambda 1백만건/월, 최대 3백2십만초/월 ELB/ALB 750시간/월 15GB 클래식 로드 밸런서의 데이터처리 15 LCU 애플리케이션 로드 밸런서 Amazon CloudFront 50GB 데이터 송신, 2백만건 HTTP/HTTPS 요청 Amazon EBS 30GB 범용 또는 마그네틱, 2백만 I/O (마그네틱) 1GB 스냅샷 스토리지 Amazon Redshift 2개월 무료 평가판 750 DC1.Large 시간/월 (2개월) AWS Data Pipeline 낮은 빈도 사전 조건 3개 낮은 빈도 활동 5개 Amazon Elasticsearch Service 750시간/월, 단일AZ t2.micro.elasticsearch 10GB/월 EBS 옵션(마그네틱 또는 범용) Amazon Cognito 50,000 MAU 유저풀 10GB 클라우드 동기화 스토리지 1백만건/월 동기화 작업
  67. 67. 본 강연이 끝난 후… 읽을 만한 자료: aws.amazon.com/documentation aws.amazon.com/architecture
  68. 68. 함께 해주셔서 감사합니다!
  69. 69. https://www.awssummit.kr AWS Summit 모바일 앱을 통해 지금 세션 평가에 참여하시면, 행사후 기념품을 드립니다. #AWSSummitKR 해시태그로 소셜 미디어에 여러분의 행사 소감을 올려주세요. 발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로 공유될 예정입니다. 여러분의 피드백을 기다립니다!

×