AWS_FAQ

Cloudfront 콘텐츠 갱신 방법

2015.09.13 16:51

호스트웨이 조회 수:3130



cloudfront 배포되는 파일의 캐시는 기본 24시간 유지
origin http header cache-control을 이용 캐시가 유지되는 시간을 설정 가능

캐시가 만료되기 전 파일의 내용을 갱신하고자 할 때
invalication(무효화) 기능으로 edge location에 저장된 파일의 캐시를 삭제 할 수 있음
캐기사 삭제되면 사용자가 해당 파일을 요청하면 edge 서버는 orgin에서 새파일을 가져오므로
파일 내용을 갱신 할 수 있게 됨.

콘텐츠 갱신 시나오리
1. 오리진 서버(S3,elb)에 파일을 배포한다(여기서 배포방법은 생략)
2. 웹브라우저를 통해 내용이 변경되었는지 확인
3. cloudfront 무효화 방법은 3가지 방법이 있습니다.
 3.1 cloudfront consle 이용
 3.2 써드파티 tool을 이용
 http://s3browser.com/cloudfront-invalidation.php
 http://www.cdnplanet.com/tools/cloudfront-purge-tool/
 3.3 cli tool을 이용

4.여기 3.3 cli를 이용한 예제

cloudfront 명령을 사용 할수 있도록 활성화
aws configure set preview.cloudfront true

create-invalidation 명령을 json을 준비하고 실행

무효화 사용 옵션
aws cloudfront create-invalidation --generate-cli-skeleton { "DistributionId": "", "InvalidationBatch": { "Paths": { "Quantity": 0, "Items": [ ""]} "CallerReference" : ""}}

DistributionId : CloudFront의 Distribution Id
Quantity : Invalidation 파일 수
Items : Invalidation 파일 경로 (하단 무효화 경로 참조)
CallerReference : 문자열

json 파일 정보 추가
cat ./cfinsource.json { "DistributionId": "DOXA11XXXXXXXX", "InvalidationBatch": { "Paths": { "Quantity"1 "Items": "/test/test1.html"]} "CallerReference ":"20150913112801 "}}

aws cloudfront create-invalidation --cli-input-json file : //cfinsource.json { "Invalidation": { "Status": "InProgress", "InvalidationBatch": { "Paths": { "Items": " /test/text1.html ","Quantity ": 1}"CallerReference ":"20150913012r01 "},"Id ":"IEXXXXXXXXXX ","CreateTime ":"2015-09-13T12 : 37 : 15.860Z "} "Location": "https://cloudfront.amazonaws.com/2015-09-13/distribution/DOXA11XXXXXXXX/invalidation/EE1FUMTBHGHEM"}



http://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html


참고

무효화 경로
이 경로는 배포에 상대적입니다. 선행 /(슬래시) 사용은 선택 사항입니다. 예를 들어, http://d111111abcdef8.cloudfront.net/images/image2.jpg의 객체를 무효화하려면 다음과 같이 지정할 수 있습니다.

/images/image2.jpg

또는

images/image2.jpg

또한 * 와일드카드를 사용하여 여러 객체를 동시에 무효화할 수도 있습니다. *는 0개 이상의 문자로 대체되며 무효화 경로의 마지막 문자여야 합니다. 예:


•특정 디렉터리의 모든 객체를 무효화하려면

/directory-path/*


•특정 디렉터리와 그 하위 디렉터리 전체, 디렉터리와 하위 디렉터리에 들어 있는 모든 객체를 무효화하려면

/directory-path*


•logo.jpg, logo.png, log.gif와 같이 같은 이름에 다른 파일 이름 확장명을 지닌 모든 파일을 무효화하려면

/directory-path/file-name*


•특정 디렉터리의 전체 파일 중 파일 이름이 같은 문자로 시작하는 파일(예: HLS 포맷 비디오용 파일 전체)을 무효화하려면

/directory-path/initial-characters-in-file-name*


•쿼리 문자열 파라미터에 따라 캐싱하도록 CloudFront를 구성할 때 각 버전의 객체를 무효화하려는 경우

/directory-path/file-name.file-name-extension*


•특정 배포의 모든 객체를 무효화하려면

/*

경로의 최대 길이는 4,000자입니다.

Important

객체 경로를 신중하게 지정합니다. 무효화 요청을 시작한 후에는 취소할 수 없습니다.


번호 제목 글쓴이 날짜 조회 수
31 AWS key 파일 변환 (pem.key -> ppk.key) 호스트웨이 2015.09.22 1252
30 WEB 서비스 ELB 사용 시, Health check 설정 방법(권장) 호스트웨이 2015.09.22 2185
29 AWS 서비스 갯수 제한 해제. 호스트웨이 2015.09.24 2858
28 sub domain route53 으로 위임 호스트웨이 2015.09.25 1494
27 AWS를 직접 사용하는 것과 호스트웨이를 통했을 때의 차이점은 무엇인가요? 호스트웨이 2015.10.26 1431
26 S3 성능 고려 사항 호스트웨이 2016.04.27 378
25 Sub 도메인 확장 호스트웨이 2016.04.27 313
24 T2 instance 특징은 무엇인가요? 호스트웨이 2016.04.28 1087
23 EC2 Type 별 EIP를 몇개까지 할당 할 수 있나? 호스트웨이 2016.04.28 1412
22 AWS ELB TCP 적용 방법 호스트웨이 2016.06.01 727
21 AWS Linux Bastion instance SSH Tunneling 사용 방법 file 호스트웨이 2016.06.01 1800
20 Putty 통한 Proxy 연결 방법 file 호스트웨이 2016.06.13 9363
19 AWS 보안 백서 file 호스트웨이 2016.06.17 7266
18 MarketPlace 비용이 발생 할 경우 file 호스트웨이 2016.07.26 6778
17 AWS Case Open 가이드 file 호스트웨이 2016.07.27 13030
16 AWS KMS 이용 가이드 file 호스트웨이 2016.08.29 8533
15 AWS Snowball 과 인터넷 전송 속도 비교 호스트웨이 2016.08.30 7304
14 EC2 및 EBS 리소스 ID 더 긴 ID로 전환 file 호스트웨이 2016.09.23 7231
13 EFS 백업 가이드 호스트웨이 2016.09.23 7067
12 AWS 취약점/침투 테스트 신청 방법 호스트웨이 2016.10.07 7097