본문 바로가기
🌴 DevOps/Cloud

[CloudFront] CloduFront란? 동작방식 알아보기

by 카프리썬_ 2020. 2. 6.
728x90
728x90

1.CloudFront 개념

웹서버가 있을 때 사용할 수 있는 서비스로 ‘캐시기능
사용하는 이유 : 응답시간 속도향상 -> CDN서비스

 

2. 동작방식


1)
사용자(웹클라이언트: 브라우저)가 웹리소스(html/이미지/js/css) 요청
2)
사용자-> CF서버 : 이 요청이 캐시되어 있는지 확인
3-1)
있다면(캐시히트) : CF서버 ->사용자에게 요청 받은 내용 전달
3-2 (1).
없다면(캐시미스) CF버서 -> 오리진서버에게 클라이언트로부터 받은 요청을 전달
4.
오리진서버 ->CF서버 : 받은 요청에 대한 정보를 Cache-Control Header 함께 전달
5. CF
서버 ->사용자 : 받은 요청에 대한 정보를 캐시컨트롤 헤더와 함께 전달

 

 

3. Distribution생성

Origin메인명: 클라우드 프론트한테 정보를 전달하는 웹서버 (ex : s3호스팅웹)
Distribution :
오리진의 데이터를 배포하는 CloudFront

*Distribution Domain Name으로 접속했는데 AccessDenied 403 ERROR 오류해결
1.Default Root Object : s3에서 호스팅한 index.html로 연결
2.
도메인이름 뒤에 s3객체이름 붙여서 웹주소로 접근
 http://d2zlfpiz2tbfct.cloudfront.net/newindex.html

 

4. Cache-Control

필요한 이유 : OriginCloudFront의 동기화
Origin
에서 바뀐 내용인데도 불구하고 CloudFront는 이전의 내용을 가지고 있을 수 있기 때문에

Origin Cache Header : 캐시정보를 얼마동안 저장하고 있을지 결정하는 부분
ex) Header(“Cache-Control:max-age-10”) ; 10
초동안 캐시정보가 유효하다.
유효하다: 이 시간 동안은 사용자는 CloudFront에게, CloudFront는 오리진에게 같은 요청을 하지 않는다.

 

5. 무효화

필요한 이유 : 캐시가 만료되기 전에 CloudFront내용을 업데이트 
AWS
에서 cloudfront로 배포되는 캐시는 24시간동안 유지되기 때문에

 


 *CloudFront생성

clodufront Distributions 도메인명 ~cloudfront net / index . html


 참고

https://velog.io/@dlrmsghks7/learncloudfrontforbiginner

 

728x90
반응형