캐시 삭제라고도 부르는 캐시 무효화는 캐시된 콘텐츠를 무효로 선언하는 프로세스입니다. 이렇게 하면 항목이 캐시에서 삭제되고 다음에 콘텐츠를 요청할 때 원본 서버에서 다시 채워집니다.
Media CDN은 다음과 같이 무효화할 콘텐츠를 선택하는 여러 방법을 지원합니다.
- 호스트 및 URL 경로
- URL 프리픽스(와일드 카드)
status
,origin
,content-type
의 기본 제공 태그를 포함한 캐시 태그
특정 캐시된 응답을 대상으로 지정하고 이후 캐시 채우기에서 원본 부하를 최소화하기 위해 무효화 매개변수를 조합할 수 있습니다.
지원되는 무효화 문법
지원되는 무효화 문법은 다음과 같습니다.
유형 | 문법 | 예 |
---|---|---|
호스트 무효화 | 지정된 호스트의 캐시된 응답을 무효화합니다. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
경로 무효화 | 지정된 경로 또는 경로 프리픽스에 대해 캐시된 응답을 무효화합니다. |
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
HTTP 상태 코드, 원본 이름, MIME 유형의 캐시 태그 무효화 |
일치 태그로 캐시 응답을 무효화합니다. 여러 태그는 불리언 OR 로 취급됩니다.
|
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
gcloud edge-cache services invalidate-cache
SERVICE_NAME \
|
참고:
- 단일 무효화 요청에 최대 10개의 캐시 태그를 지정할 수 있습니다.
- 하나의 무효화 요청에서
host
,path
,tags
를 조합할 수 있습니다. 불리언AND
로 취급됩니다. - 여러 캐시 태그가 지정된 경우 불리언
OR
로 취급됩니다. 예를 들어--tags="status=404,origin=staging-origin"
을 지정하면origin=staging-origin
캐시 태그를 사용하는 모든 응답과 마찬가지로status=404
의 캐시 태그를 포함하는 모든 응답이 무효화됩니다.
캐시 태그
캐시 태그(또는 서로게이트 키)를 사용하면 임의 메타데이터를 기준으로 콘텐츠를 무효화할 수 있습니다.
이러한 태그는 다음과 같이 정의됩니다.
- 쉼표로 구분된 값 목록으로 지정된 태그를 사용해서 원본 응답에서
Cache-Tag
HTTP 헤더 설정 - 응답의 HTTP 상태 코드를 기반으로 하는 기본 제공 태그,
Content-Type
HTTP 응답 헤더의 MIME 유형, 응답을 가져온 원본의 이름
단일 무효화 요청에 여러 태그가 지정된 경우 불리언 OR
로 취급됩니다.
다음 예시를 참조하세요.
다음과 같은 캐시된 객체가 있습니다.
status=200
,content-type=video/mp4
태그를 포함하는 캐시된 객체 #1status=404
,content-type=text/plain
태그를 포함하는 캐시된 객체 #2status=200
,content-type=application/x-mpegurl
태그를 포함하는 캐시된 객체 #3
tags="status=200,content-type=text/plain"
로 객체를 무효화하는 요청을 실행합니다.결과: 캐시된 객체 3개 모두 동시에 무효화됩니다. 이는 알 수 없는 상태일 수 있는 모든 가능한 태그 조합을 지정할 필요가 없도록 방지하기 위한 것입니다.
참고:
- 기본 캐시 태그는 기존 헤더(예: 상태 줄 또는 Content-Type) 또는 내부 구성 세부정보를 반영하기 때문에 클라이언트 대상 응답에 포함되지 않습니다.
Cache-Tag
HTTP 응답 헤더에서 원점에서 전송된 캐시 태그는 클라이언트로 전송됩니다. 이러한 태그가 클라이언트에 전송되지 않도록 방지하려면routeRule
에서responseHeadersToRemove
기능을 사용하여Cache-Tag
헤더를 삭제합니다. 예시는 커스텀 헤더 문서를 참조하세요.
기본 제공 태그
응답에는 상태 코드, MIME 유형, 콘텐츠를 가져온 원점에 따라 콘텐츠 무효화를 지원하기 위해 다음 캐시 태그가 자동으로 적용됩니다. 원본 응답에서 이러한 태그를 지정할 필요가 없습니다.
태그 | 세부정보 |
---|---|
status=HTTP_STATUS_CODE
|
예를 들어 무효화 요청에서 |
content-type=MIME_TYPE
|
예를 들어 HLS 재생목록의 MIME 유형은 이렇게 하면 특정 유형의 콘텐츠를 무효화할 수 있습니다. |
origin=ORIGIN_NAME
|
|
캐시 태그 제한사항
캐시 태그에는 다음과 같은 제한사항이 있습니다.
- 태그당 120바이트를 초과하지 않아야 합니다.
- 캐시된 객체당 총 태그 이름이 4KiB (4,096바이트)를 초과하지 않아야 합니다.
- Media CDN에서 추가된 기본 태그를 포함하지 않고 객체당 50개의 태그를 초과하지 않아야 합니다.
- HTTP RFC 7230의 섹션 3.2.6에 정의된 대로 유효한 HTTP 토큰 이름이어야 합니다.
- 기본 제공되는
status=
,origin=
,content-type=
프리픽스를 포함하지 않아야 합니다(무시됨).
이러한 제한사항을 준수하거나 요구사항을 충족하지 않는 태그는 무시됩니다. 응답 헤더가 너무 큰 경우와 같은 일부 경우에는 응답이 실패하고 캐시되지 않습니다.
권한
networkservices.EdgeCacheServices.invalidateCache
권한은 invalidateCache
API에 대한 액세스를 제어합니다.
이 권한은 networkservices.edgeCacheAdmin
및 networkservices.edgeCacheUser
Identity and Access Management 역할에 포함되어 있습니다.
예시
다음 예시는 Media CDN 서비스의 캐시된 응답을 무효화하는 방법을 보여줍니다.
단일 무효화 요청에서 host
, path
, tags
필드를 조합하여 특정 콘텐츠 집합을 무효화할 수 있습니다.
호스트로 무효화
콘솔
- Google Cloud 콘솔에서 Media CDN 페이지로 이동합니다.
Media CDN으로 이동 - 서비스 탭을 클릭합니다.
- 서비스를 클릭합니다.
- 캐시 무효화 탭을 클릭합니다.
- 경로 패턴을 무효화하기 위해 호스트 이름과 경로를 입력합니다.
예를 들면
media.example.com/cats
또는media.example.com/cat*
입니다. 호스트 이름은*
를 포함할 수 없습니다.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --host=HOST
다음을 바꿉니다.
SERVICE_NAME
을 에지 캐시 서비스 이름으로 바꿉니다.HOST
를 무효화할 캐시 항목의 전체 호스트 이름으로 바꿉니다.
예를 들면 다음과 같습니다.
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --host="media.example.com"
경로로 무효화
콘솔
- Google Cloud 콘솔에서 Media CDN 페이지로 이동합니다.
Media CDN으로 이동 - 서비스 탭을 클릭합니다.
- 서비스를 클릭합니다.
- 캐시 무효화 탭을 클릭합니다.
- 경로 패턴을 무효화하기 위해 경로를 입력합니다.
예를 들면
/videos/funny.mp4
또는/segments/e94a6b1f731/*
입니다.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --path=PREFIX
다음을 바꿉니다.
SERVICE_NAME
을 에지 캐시 서비스 이름으로 바꿉니다.HOST
을 무효화할 캐시 항목의 호스트 이름으로 바꿉니다. 호스트 이름과 일치시키려면 호스트 플래그를 생략합니다.PREFIX
를 무효화할 캐시 항목과 일치하는 '*'로 끝나는 경로 프리픽스로 바꿉니다.
예를 들면 다음과 같습니다.
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --path="/segments/e94a6b1f731/*"
또한 후행 *
문자를 생략하여 정확한 경로를 무효화할 수 있습니다. --path="/videos/funny.mp4"
를 전달하면 이 경로와 일치하는 캐시된 응답(있는 경우)이 무효화됩니다.
캐시 태그로 무효화
콘솔
캐시 태그 무효하는 Google Cloud 콘솔에서 지원되지 않습니다.
gcloud
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --tags=TAGS
다음을 바꿉니다.
SERVICE_NAME
을 에지 캐시 서비스 이름으로 바꿉니다.TAGS
를 쉼표로 구분된 태그 목록으로 바꿉니다.
예를 들면 다음과 같습니다.
gcloud edge-cache services invalidate-cache SERVICE_NAME \ --tags="status=404,content-type=text/plain"
무효화 지연 시간
일반적으로 Media CDN의 수천 개 위치에 걸친 캐시 무효화는 전역적으로 1분 내에 완료됩니다.
일부 경우에는 시스템 부하, 연결, 무효화하려는 콘텐트 볼륨에 따라 무효화가 더 오래 걸릴 수 있습니다.
로깅
감사 로그가 사용 설정된 경우 무효화 호출이 Cloud Logging에 로깅됩니다.
제한사항
무효화에는 비율 제한이 있습니다. 무효화 비율 제한을 초과하면 RESOURCE_EXHAUSTED
상태의 HTTP 429
오류 메시지가 표시됩니다.
무효화는 크기 제한이 없습니다. 예를 들어 /images/my-image.png
를 무효화하면 무효화 1회로 카운트됩니다. /images/*
무효화도 무효화 1회로 카운트됩니다.
이 동작은 Cloud CDN의 동작과 다릅니다. Cloud CDN은 분당 한 번의 무효화를 지원합니다.