이 페이지는 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 콘솔 프로젝트 ID
- URL_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 콘솔 프로젝트 ID
- URL_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 콘솔 프로젝트 ID
- URL_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 콘솔 프로젝트 ID
- URL_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"