Upload
amazon-web-services-korea
View
1.067
Download
0
Embed Size (px)
Citation preview
CloudFront를 활용한 글로벌 진출기
Speaker Introduction
• 2012. 컴투스 입사
• 2013. 인프라 파트장으로 업무 진행
• 현재까지 컴투스에서 국내외 출시하는게임들의 서버, 네트워크, CDN 등전반적인 인프라 관리
왜 Com2us에게 CDN이중요한지?
• 한국, 중국, 일본, 미국의 현지 법인
• 전체 매출 73% 해외 매출
• 160여개국 서비스 중
• 포켓 게이머 선정 글로벌 Top 50 개발사7위 등극
• 2014년 서머너즈워, 낚시의 신 글로벌각각 3,000만 다운로드
• 통합 플랫폼 하이브’Hive’를 통한 글로벌커버리지 확대
Why Amazon CloudFront?
• Performance & Availability : 다른 Global CDN
Provider와 비교하여도 동등한수준
• Easy to Setup : 실제서비스 세팅까지 전문가의 도움없이웹 콘솔로수분만에 셀프서비스로 가능
• Global Reach : 전세계 PoP을활용하여 전세계 주요도시로 쉽게 배포
Performance & Availability
99.48399.373
99.03798.848
98.056
97
97.5
98
98.5
99
99.5
100
Global Availability*
0
100
200
300
400
500
600
CDN E Cloudfront CDN B CDN D CDN C
MS
Latency (Response Time)**
*Data from Cedexis, Last 30 Days, Availability measured over All Cedexis Regions. 12/30/13
**Data from Cedexis, Last 30 Days, Response Time Measure of the United States. 11/12/13
Easy to Setup: 쉽게 셋업가능
• Origin Setting, Protocols,
Logging 세팅 등 3단계 거치면바로 서비스 가능
• 전문가없이 세팅까지수분 내에가능
• 세팅에관련된 Documentation
모두 공개 되어있음
Reach: 글로벌 CDN 인프라 스트럭처
North America South America EMEA APAC
Super POPs
Cities
Countries
Continents
AWS Region CloudFront Edge Location
Analytics and Monitoring
• Self Build Up : Hadoop 기반분석 시스템을자체적으로구성하려고 했지만복잡도가 높았음
• AWS Reporting Tools : 작년말 부터 CloudFront에서자체적으로 제공했던 기능
• 3rd Party Tools : Qloudstat, s3stat 등솔루션이있지만 완성도가 낮았음
Expiring Content : Edge로부터새로운내용갱신
• 기본적으로 24시간마다 한번 씩 Origin에서 갱신해 옴
• TTL 사용 : Origin에서 각 Object 별로 Caching 되는 시간 설정 가능(Cache-Control (max-age))
• Versioning 사용 : image_v1.jpg 에서 image_v2.jpg와 같이 파일 명자체를 변경
• Invalidation API 사용: 10-20분정도 Propagation 시간이 걸림
• Versioning using query strings : File name plus query string with
version /static/profile.png?versionID=123
왜 다수의 CDN, Origin을사용하는가?
• Fail Over : 하나의 CDN이 문제가 있는 경우 다른 CDN으로즉각 서비스
재개할 수 있음
• Origin 최적화 : End User가최초 요청 시 Origin까지 요청하게 되는데 이
때 Edge와 가장 가까운 Origin을 선택해 성능을 최적화함
(예를 들어, 미국 LA에있는 사용자가 CloudFront로최초로 요청 시에 가장 가까운
곳의 LA Edge로연결되지만, 만약 Origin이 Tokyo에있는 경우 또 다시
Latency가 느려질 수 있다. 하지만, 근처의 Oregon 지역의 Origin으로 갈 수
있다면 훨씬 빠른 속도로 서비스가가능하다)
CNAME =
xyz.cloudfront.net
CloudFront
53
Load Balance
Non-AWS End Point
Custom Origin or
Alternative CDN
Multi-CDN Architecture
- 여러 CDN Provider 사용하기
Customer Location
www.mysite.com
Weighted Round Robin RoutingCNAME = xyz.cloudfront.net, weight = 0-255
CNAME = xyz.somecdn.com, weight = 0-255
CNAME =
xyz.somecdn.com
Latency Based RoutingCNAME = xyz.cloudfront.net, latency metric
CNAME = xyz.somecdn.com, latency metric
Fail Over RoutingCNAME = xyz.cloudfront.net, PRIMARY
CNAME = xyz.somecdn.com, SECONDARY
Geolocation RoutingCNAME = xyz.cloudfront.net, LOCATION 1…LOCATION X
CNAME = xyz.somecdn.com, LOCATION 2…LOCATION Y
origin.mysite.com
CloudFront
53
Load Balance
Multi-Origin Architecture
- 가까이에있는 Origin으로부터서비스 하기
Customer Location
www.mysite.com
Weighted Round Robin RoutingCNAME = xyz.cloudfront.net, weight = 0-255
CNAME = xyz.somecdn.com, weight = 0-255
Latency Based RoutingCNAME = origin.mysite.com, latency metric
CNAME = origin.mysite.com, latency metric
Fail Over RoutingCNAME = origin.mysite.com, PRIMARY
CNAME = origin.mysite.com, SECONDARY
Geolocation RoutingCNAME = origin.mysite.com, LOCATION 1…LOCATION X
CNAME = origin.mysite.com, LOCATION 2…LOCATION Y
EC2S3 ELB
EC2S3 ELB
us-east
eu-west
origin.mysite.com
origin.mysite.com
EC2S3 ELB
ap-northeast
CNAME =
xyz.cloudfront.netCloudFront
EC2S3 ELB53
Load Balance via DNS
CloudFront가아닌다른 CDN의 End
Points
Intelligent CloudFront
Customer Location
www.mysite.com
53
Origin이여러개인경우Route53에서 Routing Policy에따라오리진을선택하게됩니다.
가장가까운 CDN Edge가선택이되어집니다..
CloudFront POP Locations
그이후고객은할당받은 CDN
Edge로부터서비스받습니다.
Route53으로 부터CloudFront를포함해여러
CDN중하나의 End-Point를받게됩니다.1
4 2
3
PLACE