Blog

CloudFront 로 Dynamic Contents 를 전송하는 이유

CloudFront 로 동적 컨텐츠를 전송하는 이유

1. 간편한 설정 ( Simple Configuration )

URL Pattern 을 이용해서 기본 모든 Request 는 Dynamic Content ( API 서버 ) 쪽으로 호출되게 한다
특정 패턴 (e.g /error/*, /assets/* ) 의 URL 들은 Static Content ( S3 ) 쪽으로 호출되게 한다.
이 모든 설정들은 CloudFront Behaviros 에서 간단하게 설정만 하면 된다

2. DDoS Mitigation + WAF

CDN 을 사용하게 되면 자연스럽게 얻을 수 있는 장점으로 Attacker 가 Attack 하기 어렵다
공격하는 지역의 Edge 에 대해 공격이 가게 되기 때문이다
특정 사이트에서 조사했을 때 80% 의 트래픽은 L3, L4 의 Flood Attack, 20% 의 트래픽은 L7 의 Valid HTTP Request 이다.
CloudFront 를 설정하면 약 80% 정도의 공격은 Origin 서버까지 요청이 되지 않기 때문에 자연스럽게 방어가 된다
WAF ( Web Application Firewall )
CloudFront 와 WAF 를 사용하여 20% 트래픽 중 공격들을 탐지하고 방어할 수 있다

3. Cost Saving

AWS 는 InBound 는 Free, OutBound 는 비용이 서비스마다 다 다름
S3, ELB 에서 CloudFront Edge 로 가는 OutBound 는 무료
기본적으로 계약에 따라 다를 수 있지만, CloudFront OutBound 비용은 저렴해진다 ( DataTrasnferOut Pricing )

4. Speed Up

각 지역에 있는 사용자들은 Edge 로 요청을 하게되는데, Edge 하고 AWS Region 간의 네트워크는 Optimize 되어 있기 때문에 퍼블릭망을 이용하는것보다 훨씬 빠르다
AWS CDN Edge, AWS Network 는 내부적으로 최적화된 백본망을 이용하기 때문에 Public Network 를 사용하는것보다 훨씬 빠른 성능을 얻을 수 있다
CloudFront 랑 Origin 은 Keep Alive Connection 을 유지하고 있기 때문에 성능상 이점을 가질 수 있다

5. Shield Origin Contents

Amazon S3
Object Access Identify ( OAI )
S3 에 직접 다운로드 하는 트래픽을 차단할 수 있음
Custom Origin
Block by IP Address
ELB 로 직접 요청하는 트래픽은 차단할 수 있음
CloudFront 의 IP Range 는 Public 하게 공개하고 있기 때문에 Security Group 으로 CloudFront IP Range 만 허용하면됨
CloudFront 아이피 대역폭이 변경된 경우 Amazon SNS 로 전달하고 있기 때문에 AWS Lambda 와 연동하여 자동으로 업데이트할 수 있도록 구성할 수 있음

참고