본문 바로가기

AWS Design Pattern/정적 콘텐츠 처리 패턴

Rename Distribution - 변경 지연 없는 배포

ㅁ  풀어야 할 문제

-       Cache Distribution 패턴을 사용해 콘텐츠를 배포하는 경우, 마스터 서버의 파일을 변경해도 에지 서버(캐시 서버)의 데이터는 타임 아웃이 될 때까지 갱신되지 않음

-       원하는 타이밍에 파일을 갱신하려고 할 때에는 사용 불가

 

ㅁ  해결/패턴

-       에지 서버의 캐시 데이터는 그 쪽에 액세스하는 URL이 키가 됨

-       갱신하려고 하는 파일을 다른 파일명으로 배치하고 액세스 URL 자체를 변경하면, 에지 서버의 캐시 타임 아웃에 상관없이 새로운 콘텐츠 배포 가능

 

ㅁ  구현

-       콘텐츠와는 별도로 기본 콘텐츠(액세스 URL을 포함한 HTML 파일 등)를 만든다.

-       기본 콘텐츠는 캐시 타임아웃을 짧게 하거나 계속 마스터 서버에서 배포

-       CloudFront로 배포하는 콘텐츠를 갱신하는 경우, 그 콘텐츠를 다른 이름으로 마스터 서버에 저장

-       기본 콘텐츠 내의 URL을 새로운 콘텐츠 URL로 변경

 

ㅁ  장점

-       마스터 서버의 콘텐츠 변경에 있어 캐시 타임아웃을 기다리지 않고 새로운 콘텐츠를 배포 할 수 있다.

 

ㅁ  주의점

-       기본 콘텐츠 자체의 캐시 타임아웃이 길면 효과가 없기 때문에 기본 콘텐츠의 캐시 타임아웃을 짧게 설정해야 하지만, 그렇게 하면 기본 콘텐츠의 캐시 효과가 줄어듦

-       이전 파일은 캐시 타임아웃까지 에지 서버에 남아서 URL을 직접 지정할 때 다운로드가 가능한 경우가 있다. 필요하다면 파일을 지우거나 비활성화 기능(invalidation이라함)을 이용하면 됨