이 페이지는 Cloud CDN의 캐시된 콘텐츠를 무효화하는 방법을 설명합니다.
예를 들어 /images/file.jpg
에 있는 파일이 캐시되어 무효화되어야 하는 경우, 해당 파일에만 영향을 미칠 것인지 범위를 넓힐 것인지에 따라 여러 방법을 사용하여 무효화할 수 있습니다. 각각의 경우에 모든 호스트 이름이나 하나의 호스트 이름만 무효화할 수 있습니다.
캐시 무효화에 대한 자세한 내용은 캐시 무효화 개요를 참조하세요.
시작하기 전에
Google Cloud CLI 또는 Google Cloud 콘솔을 사용하여 무효화를 수행할 수 있습니다.
Google Cloud CLI에 액세스할 수 있는 두 가지 방법은 다음과 같습니다.
apt-get
로 설치의 안내를 수행하여 Google Cloud CLI를 설치합니다. 이전에 Google Cloud CLI를 사용한 적이 없다면 먼저gcloud init
를 실행하여 인증하세요.이미
gcloud
가 설치된 Cloud Shell을 사용합니다.
필요한 권한을 보유한 커스텀 역할을 만들려면 커스텀 역할 만들기 및 관리를 참조하세요.
사전 정의된 역할을 추가하려면 IAM 빠른 시작을 사용합니다.
파일 한 개만 무효화
콘솔
- Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
- 연결된 부하 분산기에서 부하 분산기 이름을 클릭합니다.
- 캐시 무효화 탭을 클릭합니다.
- 파일 경로를 입력합니다.
- 모든 호스트 이름의 경로를 무효화하려면 경로만 입력합니다(예:
/images/file.jpg
). - 호스트 이름 한 개의 경로만 무효화하려면 경로의 일부로 호스트 이름을 지정합니다(예:
host1.com/images/file.jpg
).
- 모든 호스트 이름의 경로를 무효화하려면 경로만 입력합니다(예:
- 무효화를 클릭합니다.
gcloud
gcloud compute url-maps invalidate-cdn-cache
명령어를 사용합니다.
무효화할 파일을 하나만 지정하려면 파일 이름과 함께 --path
플래그를 사용합니다.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/file.jpg"
URL_MAP_NAME
을 URL 맵의 이름으로 바꿉니다. URL 맵을 나열하려면 gcloud compute url-maps list
명령어를 사용합니다.
호스트 한 개만 무효화하려면 --host
플래그를 추가합니다(예: --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/file.jpg"
기본적으로 Google Cloud CLI는 무효화가 완료될 때까지 기다립니다. 백그라운드에서 무효화를 수행하려면 명령줄에 --async
를 추가합니다.
API
urlMaps.invalidateCache
메서드 API 호출을 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 콘솔 프로젝트 IDURL_MAP_NAME
: URL 맵의 이름
무효화할 파일을 지정하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "path": "/images/file.jpg" }
하나의 호스트에 대해서만 파일의 유효성을 무효화하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "host": "host1.com", "path": "/images/file.jpg" }
전체 디렉터리 무효화
콘솔
- Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
- 연결된 부하 분산기에서 부하 분산기 이름을 클릭합니다.
- 캐시 무효화 탭을 클릭합니다.
- 디렉터리 경로와 와일드 카드(
/path/to/file/*
)를 입력합니다.- 모든 호스트 이름의 전체 디렉터리를 무효화하려면 경로와 와일드 카드만 입력합니다(예:
/images/*
). - 호스트 이름 하나만 있는 전체 디렉터리를 무효화하려면 호스트 이름을 경로의 일부로 지정합니다(예:
host1.com/images/*
).
- 모든 호스트 이름의 전체 디렉터리를 무효화하려면 경로와 와일드 카드만 입력합니다(예:
- 무효화를 클릭합니다.
gcloud
gcloud compute url-maps invalidate-cdn-cache
명령어를 사용합니다.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/images/*"
URL_MAP_NAME
을 URL 맵의 이름으로 바꿉니다.
호스트 한 개만 무효화하려면 --host
플래그를 추가합니다(예: --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/images/*"
API
urlMaps.invalidateCache
메서드 API 호출을 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 콘솔 프로젝트 IDURL_MAP_NAME
: URL 맵의 이름
무효화할 디렉터리를 지정하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "path": "/images/*" }
하나의 호스트에 대해서만 디렉터리의 유효성을 무효화하려면 다음 샘플 JSON 요청 본문을 사용합니다.
{ "host": "host1.com", "path": "/images/*" }
캐시 태그별 무효화
콘솔
Google Cloud 콘솔에서는 무효화에 캐시 태그를 사용할 수 없습니다.
gcloud
gcloud beta compute url-maps invalidate-cdn-cache
명령어를 사용합니다.
gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --tags=TAGS
다음을 바꿉니다.
URL_MAP_NAME
: URL 맵의 이름TAGS
: 태그 또는 쉼표로 구분된 태그 목록입니다. 또는 이 플래그를 최대 10번 지정할 수 있습니다.
예를 들어 백엔드 응답에 UUID4 또는 다른 형식의 GUID와 같은 비공개 사용자 ID가 포함된 Cache-Tag
헤더가 포함된 경우 tag
플래그를 사용하여 특정 사용자의 모든 콘텐츠를 무효화할 수 있습니다.
또한 스테이징 환경과 같이 호스트 한 개만 콘텐츠를 무효화하려면 --host
플래그를 추가합니다.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \ --tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \ --host="host1.com"
API
urlMaps.invalidateCache
메서드 API 호출을 사용합니다.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 콘솔 프로젝트 IDURL_MAP_NAME
: URL 맵의 이름
무효화할 캐시 태그를 지정하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "cacheTags": [ "tag1", "tag2" ] }
단일 태그 또는 쉼표로 구분된 태그 목록을 지정할 수 있습니다.
하나의 호스트에 대해서만 캐시 태그별로 무효화하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "host": "host1.com", "path": "tag1,tag2" }
모든 항목 무효화
콘솔
- Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
- 연결된 부하 분산기에서 부하 분산기 이름을 클릭합니다.
- 캐시 무효화 탭을 클릭합니다.
- 루트와 와일드 카드(
/*
)만 입력합니다.- 모든 호스트 이름의 모든 항목을 무효화하려면 필드에
/*
만 입력합니다. - 호스트 이름 한 개만에 대해 모든 항목을 무효화하려면 호스트 이름을 경로의 일부로 지정합니다(예:
host1.com/*
).
- 모든 호스트 이름의 모든 항목을 무효화하려면 필드에
- 무효화를 클릭합니다.
gcloud
gcloud compute url-maps invalidate-cdn-cache
명령어를 사용합니다.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --path "/*"
다음을 바꿉니다.
URL_MAP_NAME
: URL 맵의 이름/*
: 무효화할 URL 경로입니다. 호스트 이름은 포함되지 않습니다. 경로에 명시적 파일 이름 또는 와일드 카드를 사용할 수 있습니다.
호스트 한 개만 무효화하려면 --host
플래그를 추가합니다(예: --host host1.com
).
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \ --host host1.com \ --path "/*"
API
urlMaps.invalidateCache
메서드 API 호출을 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 콘솔 프로젝트 IDURL_MAP_NAME
: URL 맵의 이름
무효화할 URL 경로를 지정하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "path": "/*" }
하나의 호스트에 대해서만 URL 경로를 무효화하려면 다음 샘플 JSON 요청 본문을 사용하세요.
{ "host": "host1.com", "path": "/*" }
무효화 요청 상태 보기
Cloud CDN은 무효화당 두 개의 로그 줄을 내보냅니다. 하나는 무효화가 수락될 때, 다른 하나는 무효화가 완료될 때입니다. 첫 번째에는 호스트 및 경로 정보가 있습니다.
무효화 요청의 상태를 확인하거나 최근에 제출된 요청의 최종 목록을 찾으려면 Cloud Logging 또는 Cloud Monitoring을 사용하세요.
다음은 Logging을 사용하는 샘플 명령어입니다.
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
다음은 Monitoring을 사용하는 샘플 쿼리입니다.
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"