S3 메타 데이터
AWS S3 정적 웹사이트로 배포한 경우, S3 버킷에서 원하는 파일의 메타 데이터를 설정을 통해서 캐시 제어 설정이 가능하다.
웹사이트를 통해 최초 접근하게 되는 index.html
파일의 메타 데이터 설정을 변경해 보자.
속성 > 메타데이터
+메타데이터 추가 클릭.
‘키 선택’ 을 선택하면 하위 메뉴가 나타난다. 캐시를 제어 하기 위해 Cache-Control
선택. 값 입력란에 max-age=0, must-revalidate, public
입력해 보자.
위 이미지 처럼 추가한 메타 데이터 정보가 보인다면 ‘저장’ 한다. 이렇게 하면 index.html
파일에 캐시 컨트롤 정보가 추가된 것이다. 메타 정보가 잘 추가 되었는지 해당 웹사이트로 접속해보자.
웹 사이트에 접속 > 개발자 도구 > 네트워크 > index.html
파일의 응답 헤더에서 S3 에서 추가한 캐시 정보가 보인다면 성공.
S3 Cli
항상 S3에 접속에서 위와 같은 과정을 반복하는 것은 비효율 적이다. S3에 배포하는 과정에 아래와 같이 S3 Cli 통해서도 가능하다.
// s3 Add Headers`aws s3 cp s3://${bucketName} s3://${bucketName} --recursive --exclude \"*\" --include \"*.html\" --metadata-directive REPLACE --acl public-read --cache-control max-age=0,must-revalidate,public --content-type \"text/html; charset=utf-8\"`