2. 본 강연에서 다룰 내용
CDN관련된 AWS서비스의 개요
CDN을 활용하여 성능/보안/비용측면 개선해보기
Lambda@Edge를 활용한 기능 구현해보기
- 원본 스토리지 이전 문제
- 전처리 광고 구현해 보기
- Adaptive Contents Delivery 구현해보기
기타 CloudFront사용 TIP
(ROUTE53, CLOUDFRONT, SHIELD, WAF, Lambda@Edge)
9. CloudFront
정적/동적 컨텐츠 가속 서비스
HTTP/HTTPS 서비스, Custom SSL 지원
커스텀 오류 응답
쿠키/헤더 오리진 서버 전달
다양한 통계 보고서
컨텐츠 보안 : Signed URL, Signed Cookie
API 호출 감사 : CloudTrail 연계
업로드 가속
AMAZON CLOUDFRONT
11. Ashburn, VA (3)
Atlanta, GA (3)
Chicago, IL
Dallas/Fort Worth, TX (2)
Hayward, CA
Jacksonville, FL
Los Angeles, CA (2)
Miami, FL
Minneapolis, MN
Montreal, QC
Newark, NJ
New York, NY (3)
Palo Alto, CA
Philadelphia, PA
San Jose, CA
Seattle, WA
South Bend, IN
St. Louis, MO
Toronto, ON
North America
Cities: 19
PoPs: 27
South America
Cities: 2
PoPs: 3
Rio de Janeiro, Brazil (2)
São Paulo, Brazil
Europe / Middle East / Africa
Cities: 15
PoPs: 24
Amsterdam, The Netherlands (2)
Berlin, Germany
Dublin, Ireland
Frankfurt, Germany (5)
London, England (4)
Madrid, Spain
Marseille, France
Milan, Italy
Munich, Germany
Paris, France (2)
Prague, Czech Republic
Stockholm, Sweden
Vienna, Austria
Warsaw, Poland
Zurich, Switzerland
Asia Pacific
Cities: 12
PoPs: 20
Chennai, India
Hong Kong, China (3)
Manila, the Philippines
Melbourne, Australia
Mumbai, India (2)
New Delhi, India
Osaka, Japan
Seoul, Korea (3)
Singapore (2)
Sydney, Australia
Taipei, Taiwan
Tokyo, Japan (3)
CloudFront Regional Edge Caches
Regional Edge Caches: 9
Oregon, N. Virginia, Frankfurt, Sao Paulo, Mumbai,
Singapore, Seoul, Tokyo, Sydney
Edge locationAWS Region / Regional
Edge Cache
Regional Edge
Cache
74 CloudFront Edge Locations (PoPs), 9 Regional Edge Caches (PoPs), 48 Cities, 5 Continents
22. CDN
(CloudFront)
/*.* (DEFAULT)
/images/*
/*.css
ORIGIN A: web
ORIGIN B : Images
GET http://www.example.com/do?login to ORIGIN A
GET http://www.example.com/images/logo.jpg to ORIGIN B
GET http://www.example.com/css/main.css to ORIGIN C
ORIGIN C : CSS
Path Pattern Matching
40. Amazon
Sheild
Amazon
WAF
Layer 3/4 보호
자동 탐지 및 대응
일반적인 공격유형방어
(SYN/UDP Floods, Reflection Attacks등)
AWS 서비스 결합
Layer 7 보호
Layer7 Application방어
Custom Rule기반
웹트래픽 필터링
악의적인 요청 차단
43. Access Control to Origin
Amazon S3 Custom Origin
Origin Access Identify(OAI) Block by IP address
Prevents direct access to your
Amazon S3 bucket
Ensure performance benefits to all customers
Whitelist only the Amazon CloudFront IP Range
Protects origin from overload
Ensure performance benefits to all customers
44. Auto updated CF IP Range
CDN
(CloudFront)
Amazon
SNS
AWS
Lambda
security group
Update
IP Range
SNS
Message
Updating
IP Range
53. Security Enhancements
Signed URL
Signed Cookies
Enforce HTTPS to origin
Support iOS ATS
Support for TLSv1 .1 and TLSv1.2 between edge and origin
Add/Modify Request Headers Forwarded From CloudFront to Origin
Integration with AWS Certificate Manager (SNI Certs from Amazon)
Integration with AWS WAF (web application firewall)
Geographic Restriction
IPv6 Support
59. Based
3rd Party Solution
WiseN Monitoring System
AWS Cloud Watch
24x7x365
Monitoring System 전문화된 NOC 운영
(Network Operation Center)
Price
Discount
Program
Managed
CloudFront
Program
64. Lambda@Edge Limits
Max memory setting 128 MB
Maximum duration 50 ms
Size of code/dependencies that you can zip into a
deployment package (uncompressed zip/jar size)
1 MB
Maximum Global TPS 100
86. 본 강연이 끝난 후…
blog.wisen.co.kr
www.studyforcloud.com
을 통해 Lambda@edge Source code를 다운로드 받으실수
있습니다.
16:20 – 17:00 Track3_그랜드볼룸 103
AWS 엣지 서비스를 통한 글로벌 서비스 관리 전략
88. https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사 후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜
채널로 곧 공유될 예정입니다.
여러분의 피드백을 기다립니다!
Editor's Notes
안녕하세요. 이상오 입니다. 저는 프리미어 파트너사인 GS네오텍에서 솔루션스 아키텍트로 근무하고 있습니다.
오늘 저는 CDN관련 AWS서비스의 개요와 이를 활용하여 성능/보안/비용 측면에서 어떻게 개선을 할수 있는지에 대해 이야기 하려 합니다.
아울러 현재 preview 중인 Lambda@edge에 대해서도 잠깐 이야기하고 데모를 보여드리도록 하겠습니다. 오늘 다룰 이야기의 범위가 넓어 개요부분은 빨리 넘어가도록 하겠습니다.
자 그럼 CDN이 뭘까요? 물론 알고 계시는 분들도 많을 겁니다. 하지만 혹시 잘 모르는 한분을 위해서 간단하게 이야기 해보도록 하겠습니다.
일반적으로 IT 서비스는 크게 두가지로 구분할수 있습니다. 컨텐츠또는 데이터를 생성/가공하는 Computing 영역과 이 컨텐츠를 소비하는 사용자에게 전달하는 Delivery 영역으로 나뉩니다. 일반적으로 Delivery는 네트웍으로 볼수 있습니다. 이는 인프라 관점인데, 이를 서비스 관점에서 보는 것을 CDN이라 할수 있습니다.
즉 Contents Delivery Network 즉 줄여 CDN이라 합니다. CDN은 어떻게 하면 사용자에게 가장 효율적이고 빠르게 서비스 될수 있을지에 대한 목적을 둔 서비스라 보시면 됩니다.
따라서 CDN 서비스는 지리적으로 가장 가까운 서버로부터 컨텐츠를 전송받게 됩니다.
당연히 이러한 CDN서비스를 AWS에서도 제공하고 있습니다. 그럼 AWS에서 제공하는 CDN관련 서비스의 개요를 간단히 보도록 하겠습니다.
AWS에서 제공 하는 CDN관련 서비스는 크게 R53, CF입니다. 두개의 서비스에 대해 이야기 하도록 하겠습니다.
먼저 CloudFront입니다. 직접적인 CDN 서비스 입니다. CloudFront는 ~한 기능을 제공하고 있습니다.
앞서 말씀드린것 처럼 CDN은 지리적으로 가까운 위치에 POP을 구성한다고 했습니다. CloudFront는 현재 전세계 74군데에 물리적 POP이 구성되어 있으며, 계속 구성중에 있습니다.한가지 특이한 것은 리저널 엣지라는 것이 있는 것을 보실수 있을 겁니다. 이것은 미디어 컨텐츠같은 경우 롱테일성의 서비스가 많은데 이러한 서비스이 히트율을 높이기 위한 것입니다. 이것으로 롱테일성의 컨텐츠도 원본 부하 없이 안정적으로 서비스 할수 있습니다.
R53입니다. R53은 DNS 서비스 입니다. 하지만 일반적인 DNS와는 다르게 GSLB입니다.
GSLB는 글로벌 DNS서비스 이며, 가용성과 확장성이 우수한 DNS 서비스 입니다. R53은 4가지 형태의 라우팅 정책을 지원합니다.
먼저 Weight방식입니다.
Latency방식입니다.
Failover입니다.
지오로케이션 방식입니다.
여기까지 간단하게 개요를 살펴 보았습니다. 그럼 이러한 CDN서비스를 활용하여 성능개선을 어떻게 하는지와 원리에 대해 이야기하도록 하겠습니다.
일반적으로 웹트래픽을 보면 정적 컨텐츠(이미지, CSS)등이 약 80%를 차지합니다. 그리고 약 20%정도의 트래픽이 정적컨텐츠 트래픽입니다.
결국 80%에 대해 개선을 한다면 전체적인 웹 속도가 크게 개선할수 있다는 이야기가 됩니다.