캐시 무효화 개요

이 페이지는 Cloud CDN 캐시 무효화 개요를 설명합니다.

캐시 무효화란 무엇인가요?

객체가 캐시된 후 일반적으로 객체가 만료되거나 새 콘텐츠를 위한 공간 확보를 위해 삭제될 때까지 캐시에 남아 있습니다. 만료 시간은 표준 HTTP 헤더를 통해 제어될 수 있습니다.

정상적인 만료 시간 전에 캐시에서 객체를 삭제해야 하는 경우가 있습니다. 이런 경우 캐시 무효화를 요청하여 캐시가 객체 또는 객체 조합을 무시하도록 할 수 있습니다.

캐시 무효화를 요청하기 전에 원본 서버가 올바른 콘텐츠를 반환하는지 확인하는 것이 중요합니다. 그렇지 않으면 Cloud CDN이 콘텐츠를 다시 요청할 때 잘못된 콘텐츠를 캐시할 수 있습니다.

경로 패턴

각 무효화 요청마다 무효화해야 하는 객체 또는 객체 조합을 식별하는 경로 패턴을 지정합니다. 경로 패턴은 /cat.jpg같은 특정 경로이거나 /pictures/*같은 전체 디렉터리 구조일 수 있습니다. 경로 패턴에는 다음 규칙이 적용됩니다.

  • 경로 패턴은 /로 시작되어야 합니다.
  • ? 또는 #은 포함할 수 없습니다.
  • / 뒤에 오는 마지막 문자를 제외하고 *를 포함해서는 안 됩니다.
  • /*로 끝나면 앞의 문자열은 프리픽스이며, 경로가 이 프리픽스로 시작하는 모든 객체는 무효화됩니다.

경로 패턴은 호스트 이름과 혹시 존재할 수 있는 ? 또는 # 사이의 모든 것인 URL의 경로 구성요소와 비교됩니다.

쿼리 문자열(예 : /images.php?image=fred.png)이 포함된 URL이 있는 경우 쿼리 문자열만 다른 객체를 선택적으로 무효화할 수 없습니다. 예를 들어 /images.php?image=fred.png/images.php?image=barney.png의 두 이미지가 있는 경우 fred.png만 무효화할 수 없습니다. images.php가 제공하는 모든 이미지를 무효화하려면 /images.php를 경로 패턴으로 사용하세요.

단일 호스트의 캐시 무효화

일반적으로 캐시 무효화는 모든 호스트 이름의 경로를 무효화합니다. 예를 들어 example.comexample2.com이 동일한 부하 분산기를 가리키고 /images/cat.jpg를 무효화하는 경우 example.com/images/cat.jpgexample2.com/images/cat.jpg가 무효화됩니다.

명령어에 --host 플래그를 추가하여 호스트 중 하나에 대해서만 무효화를 제한할 수 있습니다.

제한사항

무효화는 일반적인 워크플로의 일부가 아닌 예외적인 상황에서 사용하기 위한 것입니다. 무효화는 웹브라우저 캐시 또는 제3자 인터넷 서비스 제공업체가 운영하는 캐시의 캐시된 사본에 영향을 주지 않습니다.

일상적인 무효화의 대안으로 응답에 사전에 적절한 만료 시간을 설정하거나, 서로 다른 버전의 콘텐츠에 다른 URL을 사용할 수 있습니다. 만료 시간에 대한 자세한 내용은 만료 시간 및 유효성 검사 요청을 참조하세요.

무효화에는 비율 제한이 있습니다. 1분에 하나의 무효화를 제출할 수 있습니다. 그러나 무효화에는 크기 제한이 없습니다. /images/fred.png 무효화는 무효화 1회로 카운트됩니다. /images/* 무효화도 무효화 1회로 카운트됩니다.

무효화가 너무 많으면 캐시가 제공하는 요청이 폭증하여 인스턴스 또는 버킷에 영향을 미칠 수 있으므로 필요한 사항만 무효화합니다.

Cloud CDN은 분산 시스템이므로 일부 캐시가 아직 무효화 요청을 처리하지 않았더라도 무효화가 완료되었다고 보고할 수 있습니다. 이러한 상황은 드물게 발생하며 자동으로 수정됩니다.

공유 VPC 교차 프로젝트 서비스 참조로 캐시 무효화 요청

기본적으로 공유 VPC 교차 프로젝트 서비스 참조가 포함된 전역 외부 애플리케이션 부하 분산기를 사용하는 경우, 서비스 프로젝트 관리자에게는 캐시 무효화를 요청하는 데 필요한 권한이 없습니다. 이는 캐시 무효화가 프런트엔드 프로젝트(즉, 부하 분산기의 전달 규칙, 대상 프록시, URL 맵을 포함하는 프로젝트)에서 구성되기 때문입니다. 따라서 프런트엔드 프로젝트에서 부하 분산기 관련 리소스를 구성하는 IAM 역할(예: Compute 네트워크 관리자 역할)이 있는 주 구성원만 캐시 무효화를 수행할 수 있습니다.

개별 프로젝트에서 백엔드 서비스 프로비저닝을 제어하는 서비스 관리자는 프런트엔드 프로젝트의 부하 분산기 관리자와 협력하여 교차 프로젝트 서비스의 캐시 무효화를 수행해야 합니다.

다음 단계

  • Cloud CDN 캐시된 콘텐츠를 무효화하는 방법을 알아보려면 캐시된 콘텐츠 무효화 참조하기

  • 어떤 콘텐츠를 캐시할 수 있는지의 여부를 알아보려면 캐싱 개요 참조하기