3. IT Issue
여기서 잠깐!
AWS를 사용하면 무조건 싸다?
예) 최소 구성시 EC2(Large) 1대, RDS(Large) 1대
EC2 월 30만원, RDS 월 40만원
이중화 구성, MultiAZ 구성, 서버 증설 비용증가
예) 스트리밍 서비스
갑작스런 부하 증가, 서버 증설, 대용량 인코딩 필요
사용 후 즉시 반납 비용 효율화(사용한 만큼 지불)
4. KTH가 AWS 선택한 이유?
KTH Global Services
pudding.to , Friending
전 세계 사용자에 사진/동영상 제공
전 세계 사용자가 사진/동영상을 업로드
Global CDN 서비스 필요 CloudFront
업로드 지연 해결 필요 지역별 분산배치
6. AWS Overview
Global Infra Structure
EC2
Compute Storage Networking
EBS
DataBase
RDS
Elasti
Cache
Simple
DB
Clusters
Map
Reduce
CDN AutomationMonitoring
Cloud
Watch
Auto
Scaling
S3
ELB Route 53
CloudFront
기초
서비스
데이터
처리
데이터
제공/
자동화
7. AWS Overview
EC2
웹 콘솔을 통하여 가상의 컴퓨팅 환경을 생성 관리
다양한 OS(Amazon Linux, RedHat, SUSE, Windows)
다양한 타입 (CPU, Core, Memory, Disk)
기본 3개의 네트워크 자원 할당
내부 연결/별도 트래픽 비용 없음
단, EIP(고정 아이피)는 외부 연결임
Elastic Compute Cloud
8. AWS Overview
EBS S3VS.
Block Storage Data Storage
– Simple Storage Service
개별 Object : 1 Byte~5TB
HTTP
- GET,PUT, Delete 프로토콜
EC2에 Attach / EC2
instance Lifetime 의존
Volume당 1GB~1TB
- 다수사용 가능
9. AWS Overview
수천 대의 Instance 로 부하 균등 분산 또는 Health Check(5초)
를 통해 부하가 적은 쪽으로 부하 분배
특정 세션에 대해 강제로 하나의 인스턴스로 전달하는 Sticky
Session 가능
ELB – Elastic Load Balancing
ELB는 고정 IP(EIP) 할당 안됨 (CNAME, Route 53 활용필요)
10. AWS Overview
가장 가까운 DNS 서버를 찾아 높은 쿼리 응답 속도 제공
20개 Edge Locations 을 통해 서비스 제공
WRR (Weighted Round Robin) 지원
지원되는 Resource Record Type
- A, AAAA, CNAME, MX, NS, PTR, SOA, SPF, SRV, TXT, Alias
Amazon Route 53
15. Scalability (확장성) – Scale-UP
Scale-UP : EC2
웹 콘솔상에서 옵션 제공되지 않음
Scale-UP 방안
EBS에 SnapShot 생성
EC2 신규 생성(타입 변경)
기존 EC2 정지
Micro
Extra-
Large
16. Scalability (확장성) – Scale-UP
Scale-UP : RDS
웹 콘솔상에서 옵션 변경으로 처리
변경되는 동안 DownTime 존재
유지 보수 일정주기에 실행
- 즉시 실행이 필요하다면
Apply Immediately 옵션 체크
Small xLarge
24. High Availability (고가용성)
Elastic Load Balancer
Cloud Watch (Monitoring)
AWS Security Groups
US-EAST-1a
• ELB - 수 천대의
EC2를 로드밸런싱
• EC2 서버 Scale 방안
수동으로 증가시
켜야 함
• 트래픽 증가 및 동시
접속자 증가시
MySQL DB
EC2 EC2
25. High Availability (고가용성)
• EC2 – Auto Scaling
• AZ 장애시 전체 서비스
중단
Multi-AZ 구조 필요
• US-EAST-1a AZ 장애시
Elastic Load Balancer
Cloud Watch (Monitoring)
US-EAST-1a
Auto ScalingAuto Scaling
AWS Security Groups
MySQL DB
26. High Availability (고가용성)
DB서버 부하분산 안되어 있음. 심할 경우 2개 AZ 모두 중단될 가능성 있음
Elastic Load Balancer
Cloud Watch (Monitoring) Cloud Watch (Monitoring)
US-EAST-1a US-EAST-1b
Auto Scaling Auto Scaling Auto Scaling Auto Scaling
MySQL DB MySQL DB
AWS Security Groups AWS Security Groups
27. High Availability (고가용성)
Elastic Load Balancer
Cloud Watch (Monitoring) Cloud Watch (Monitoring)
US-EAST-1a US-EAST-1b
Auto Scaling Auto Scaling Auto Scaling Auto Scaling
AWS Security Groups AWS Security Groups
Master Slave
Read Replica Read Replica
30. Performance (성능 최적화)
ElastiCache
Memcached 기반
미동부 만 지원
DB부하 절감
EC2 + Memcached
(Redis) 구성
EC2 API Server
Cache
Engine
Cache
Engine
Cache
Node
Cache
Node
Cache Parameter
Group
Cache Cluster
RDS
Application
Code
Database
Access
Memcached
Client Library
CloudWatch
Memcached
Protocol
31. kth 글로벌 서비스 on AWS
Scalability
High-
Availability
Performance
kth 글로벌 서비스(on AWS)
최적의 서비스 플랫폼 구축을 위한 구성요소
확장성
Auto-Scaling
Scale-UP
고가용성
Multi-AZ
RDS HA
성능 최적화
CloudFront
ElastiCache
33. kth 글로벌 서비스 최적화 결과
Elastic Load Balancer
Auto Scaling Group
EC2
ElastiCache
Availability Zone #1 Availability Zone #2
Availability Zone #n
CloudFront
S3
media.mysite.com
Master
Read Replica
Auto Scaling Group
EC2
ElastiCache
Read Replica
Slave
www.mysite.com Route 53
35. TIP #1 – Upload Latency
Main Server Group(US-East)
S3 S3
S3
EC2
S3
EC2
S3
EC2이미지업로드
이미지업로드
업로드 결과 전송
1
2
Media Upload
Server Group
(Each-Region)
지역별 업로드 서버 분산 배치 업로드 결과는 메인 서버그룹
RDS
Upload Latency
EC2 EC2
EC2
EC2
EC2
36. TIP #2 – 접근제어
접근 제어
Gateway
Server (EC2)
Security
Group
Internet
HTTP
80/443
TCP
(SSH)
Office/
Engineer
TCP
22(SSH)
HTTP
8080
TCP
3306
Web Server
(EC2)
App Server
(EC2)
개발자 접근
(SSH)
2
서비스 포트
(80/443)
11
WEB과WAS
(8080)
4
개발서버 내
접근(SSH)
3
WAS와 DB
(3306)
5
2
34
5
1
DB
Server
37. TIP #3 – 파일 업로드 도구
파일 업로드 도구
Tsunami UDP
- UDP 기반의 Open Source File 전송 프로토콜
- 원거리 네트워크 사이에도 높은 전송속도 제공
상용도구
- Aspera : 빠른 속도를 보장하는 AWS를 위한 데이터 전송 상용
소프트웨어
FedEX