이 페이지는 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
).
무효화를 클릭합니다.
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
메서드를 사용합니다.
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 페이지로 이동합니다.
원본을 클릭합니다.
캐시 무효화 탭을 클릭합니다.
연결된 부하 분산기에서 부하 분산기를 선택합니다.
무효화할 객체 지정에서 다음을 수행합니다.
- 호스트의 경우 모든 호스트 이름의 경로를 무효화하지 않으려면 호스트 이름을 지정합니다.
- 경로에 경로와 별표를 와일드 카드로 지정합니다(예:
/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
메서드를 사용합니다.
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 콘솔에서 Cloud CDN 페이지로 이동합니다.
원본을 클릭합니다.
캐시 무효화 탭을 클릭합니다.
연결된 부하 분산기에서 부하 분산기를 선택합니다.
무효화할 객체 지정의 캐시 태그에서 무효화할 태그를 하나 이상 지정합니다. 공백이나 쉼표를 사용하여 태그를 구분합니다.
무효화를 클릭합니다.
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
메서드를 사용합니다.
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 페이지로 이동합니다.
원본을 클릭합니다.
캐시 무효화 탭을 클릭합니다.
연결된 부하 분산기에서 부하 분산기를 선택합니다.
무효화할 객체 지정에서 다음을 수행합니다.
- 호스트의 경우 모든 호스트 이름의 경로를 무효화하지 않으려면 호스트 이름을 지정합니다.
- 경로에는 별표를 사용합니다(예:
/*
).
무효화를 클릭한 다음 확인을 클릭하여 Cloud CDN에서 모든 항목을 무효화하도록 지정합니다.
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
메서드를 사용합니다.
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을 사용하세요.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
원본을 클릭합니다.
캐시 무효화 탭을 클릭합니다.
무효화 요청의 상태와 결과를 확인하려면 Cloud Logging으로 이동을 클릭합니다.
gcloud
다음은 Logging을 사용하는 샘플 명령어입니다.
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \ --limit=10
다음은 Monitoring을 사용하는 샘플 쿼리입니다.
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"