티스토리 뷰

반응형

AWS 사용설명서에 나와있는 CloudFront에 대한 설명을 살펴보면,

 

 

라고 합니다. 즉, CloudFront는 웹 애플리케이션 개발자가 콘텐츠를 배포할 수 있는 방법을 제공한다는 것이다. 여기에 비용 절감과 속도는 덤으로!!

 

보통 CloudFront를 사용한다 했을때 가장 기본적인 구성은 아래와 같이 될 것이다.

 

사용자는 CloudFront로 Request를 보내면 이의 Path Pattern에 따라서 동적 콘텐츠면 VPC에 존재하는 Load Balancer로 보내 처리하고, 정적 콘텐츠면 Amazon S3로 보내 처리하는 흐름이다.

 

 


Simple Configuration

그럼 CloudFront를 통해 웹 애플리케이션 콘텐츠가 배포되는 과정을 살펴보자.

(Origin 목록과 Behavior 목록이 이미 작성되어 있는 상태라고 가정하고 진행한다. 왜냐하면 나는 설정법을 말하고 싶은게 아니라, 흐름을 보고싶은 것이기 때문이다)

 

 

1) URL 뒷 부분을 파싱해 Behavior의 Path Pattern과 비교해 일치하는 항목을 찾는다.

예를 들어, "http://ch4njun.xyz/images/test.jpg" 라는 URL로 Request가 되었다고 했을 때, "/images/*" 이라는 Path Pattern에 일치하기 때문에 0번째 항목을 선택한다.

 

2) 일치하는 Behavior 항목의 Origin을 선택한다.

위의 예시를 보면 "s3-summit2017-demo-renjoy/images" Origin을 선택하게 된다.

 

3) Origin에 설정된 Origin Domain Name & Path로 Forward한다.

각 Origin 항목에는 Origin Domain Name & Path가 설정되어 있고, 그 Domain Name & Path로 Forward 함으로써 내부에 존재하는 S3 Bucket, ELB, MediaPackage, MediaStore 등에 접근할 수 있다.

 

위의 예시를 보면 "s3-summit2017-demo-renjoy/images" Origin에 설정되어 있는 S3 Bucket의 Domain Name과 Path를 통해 S3 Bucket에 저장된 test.jpg에 접근하게 된다.

 

위 세 가지 흐름을 그림으로 이와같이 표현할 수 있다!

 

위에서 설명한 흐름은 가장 일반적이고 기본적인 흐름이다. 다양하게 활용될 수 있으니 열린 시야를 가지고 많은 인프라 구성을 떠올리면 좋을 것 같다!

 

 


Why?

그러면 CloudFront는 왜쓰고, 어떠한 장점이 있는지 대표적인 것 몇 가지만 살펴보자. 내가 찾아본 내용 외에도 다양한 사용 이유와 장점들이 존재하겠지만 일단은..

 

제일 위에서도 언급한 것처럼 비용의 절감속도의 향상을 이야기할 수 있다.

 

위 그림을 보면 왜 CloudFront를 사용했을 때 비용이 절감되는지 이해할 수 있다.

 

 

다음은 속도를 향상시킬 수 있는 이유에 대한 그림이다. 첫 번째의 경우는 넘어가고, 두 번째의 경우 CloudFront에서 제공하는 Keep-Alive 를 통해 속도를 향상시킬 수 있다는 내용의 그림이다.

 

 

이 외에도 DDoS를 방지하거나, 잘못된 Origin을 식별해 차단하거나, SSL의 성능을 향상시킬 수 있다. 또한 Layer 3/4 보호(Amazon Sheild) 혹은 Layer 7 보호(Amazon WAF)를 적용해 추가적인 보호 계층을 구성할 수도 있다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함