19
CloudFront를 활용한 글로벌 진출기

AWS Summit Seoul 2015 - CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Embed Size (px)

Citation preview

Page 1: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

CloudFront를 활용한 글로벌 진출기

Page 2: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Speaker Introduction

• 2012. 컴투스 입사

• 2013. 인프라 파트장으로 업무 진행

• 현재까지 컴투스에서 국내외 출시하는게임들의 서버, 네트워크, CDN 등전반적인 인프라 관리

Page 3: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

왜 Com2us에게 CDN이중요한지?

• 한국, 중국, 일본, 미국의 현지 법인

• 전체 매출 73% 해외 매출

• 160여개국 서비스 중

• 포켓 게이머 선정 글로벌 Top 50 개발사7위 등극

• 2014년 서머너즈워, 낚시의 신 글로벌각각 3,000만 다운로드

• 통합 플랫폼 하이브’Hive’를 통한 글로벌커버리지 확대

Page 4: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Why Amazon CloudFront?

• Performance & Availability : 다른 Global CDN

Provider와 비교하여도 동등한수준

• Easy to Setup : 실제서비스 세팅까지 전문가의 도움없이웹 콘솔로수분만에 셀프서비스로 가능

• Global Reach : 전세계 PoP을활용하여 전세계 주요도시로 쉽게 배포

Page 5: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

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

Page 6: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Easy to Setup: 쉽게 셋업가능

• Origin Setting, Protocols,

Logging 세팅 등 3단계 거치면바로 서비스 가능

• 전문가없이 세팅까지수분 내에가능

• 세팅에관련된 Documentation

모두 공개 되어있음

Page 7: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Reach: 글로벌 CDN 인프라 스트럭처

North America South America EMEA APAC

Super POPs

Cities

Countries

Continents

AWS Region CloudFront Edge Location

Page 8: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

Analytics and Monitoring

• Self Build Up : Hadoop 기반분석 시스템을자체적으로구성하려고 했지만복잡도가 높았음

• AWS Reporting Tools : 작년말 부터 CloudFront에서자체적으로 제공했던 기능

• 3rd Party Tools : Qloudstat, s3stat 등솔루션이있지만 완성도가 낮았음

Page 9: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)
Page 10: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)
Page 11: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)
Page 12: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)
Page 13: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

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

Page 14: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

왜 다수의 CDN, Origin을사용하는가?

• Fail Over : 하나의 CDN이 문제가 있는 경우 다른 CDN으로즉각 서비스

재개할 수 있음

• Origin 최적화 : End User가최초 요청 시 Origin까지 요청하게 되는데 이

때 Edge와 가장 가까운 Origin을 선택해 성능을 최적화함

(예를 들어, 미국 LA에있는 사용자가 CloudFront로최초로 요청 시에 가장 가까운

곳의 LA Edge로연결되지만, 만약 Origin이 Tokyo에있는 경우 또 다시

Latency가 느려질 수 있다. 하지만, 근처의 Oregon 지역의 Origin으로 갈 수

있다면 훨씬 빠른 속도로 서비스가가능하다)

Page 15: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

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

Page 16: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

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

Page 17: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

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

Page 18: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)
Page 19: AWS Summit Seoul 2015 -  CloudFront를 활용한 글로벌 진출기 (Com2us 사례)

PLACE