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
필요한 이유 : Origin과 CloudFront의 동기화
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
'🌴 DevOps > Cloud' 카테고리의 다른 글
[ELB] ELB종류 (CLB vs ALB vs NLB) + L4 /L7 동작방식 (0) | 2020.04.09 |
---|---|
[ELB] 로드밸런서란? Health Check기능과 외부 vs 내부 ELB (1) | 2020.04.05 |
Aws 서비스별 명칭정리 (0) | 2020.02.23 |
[S3] 스토리지서비스3-S3 사용해서 정적 웹 호스팅 (0) | 2020.02.05 |
[Glacier] 스토리지 서비스2-Glacier란? 스토리지클래스 (0) | 2020.02.04 |
[S3] 스토리지 서비스1 - S3란? 객체스토리지 (0) | 2020.02.03 |