일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 5397
- sstream
- 알고리즘
- qsort
- 자료구조
- c++
- singly Linked List
- Heap
- red-black tree
- '0'
- template
- 예제
- Critical_Path_Analysis
- STL
- 백준
- list
- connected_component
- class_template
- Biconnected_Component
- function_template
- deletion
- 13305
- data_structure
- 문법
- sort
- Algorithm
- Pair
- 구현
- Articulation_Point
- 총정리
- Today
- Total
- Today
- Total
- 방명록
어제의 나보다 성장한 오늘의 나
[AWS] AWS의 Cloud Front 서비스에 대해 알아보자 ( feat. 캐싱 ) 본문
개발자들은 데이터를 사용자들에게 더 빠르게 전달하기 위해 캐싱을 이용한다. 캐싱이란 사용자에게 데이터에 더 빠르게 도달할 수 있도록 접근성이 더 좋은 임시 저장 위치에 데이터 복사본을 미리 저장해 두는 것이다. 그렇다면 사용자에게 프론트엔드의 화면 단을 사용자에게 더 빠르게 보여주려면 어떤 방법이 있을까??
바로 AWS의 Cloud Front 서비스를 이용하는 방법이 있다.
AWS Cloud Front 서비스는 사용자가 화면 단을 더 빠르게 제공 받을 수 있도록 엣지 로케이션(Edge Location) 이라는 임시 저장 위치에 오리진 서버(Origin)의 원본 데이터인 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠 복사본을 미리 저장해 둔다.
여기서 잠깐 용어 정리...
엣지 로케이션 (Edge Location) : 다양하게 분포해 있는 임시 저장 공간
오리진 서버 (Origin) : EC2 서버나 S3 버킷과 같은 화면의 원본 데이터를 가지고 있는 서버
지연 시간(Latency) : 네트워크를 통해 데이터를 전송하는 데 걸리는 시간
S3나 EC2 서버의 데이터를 여러 개의 엣지 로케이션에 복사해 두고 요청이 왔을 때 사용자에게 제일 지연 시간이 낮은 엣지 로케이션에서 데이터를 제공해준다. 이 방식은 사용자에게 지연 시간을 단축 시켜주기 때문에 더 나은 사용자 경험을 제공할 수 있다. 이 때 지연 시간이 낮다는 것은 물리적 거리나 트래픽 상황에 따라 결정 된다.
만약 S3나 EC2의 서버의 원본 데이터가 변경 되었다면 사용자의 요청이 엣지 로케이션으로 왔을 때 바로 제공하지 않고 S3나 EC2로 가서 변경된 데이터를 가지고 와서 엣지 로케이션의 데이터를 업데이트 해준 뒤 사용자에게 제공 한다. 일종의 CDN (content Delivery Network)이다.
앞으로 토이 프로젝트 할 일이 있다면 직접 꼭 적용 해봐야 겠다.
참고 자료
https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html