이 페이지는 Cloud CDN 캐시 키를 맞춤설정하는 방법을 설명합니다.
캐시 키 구성을 변경한 경우 새로운 요청이 이전 캐시 키 항목과 다른 캐시 키를 사용하기 시작하면 캐시 적중률이 갑자기 저하될 수 있습니다. 마찬가지로 캐시 키 작성자를 변경하더라도 새로운 요청이 이전 캐시 키와 동일한 키를 사용하면 캐시된 항목이 무효화되지 않습니다. 기존의 캐시된 항목을 무효화하려면 캐시된 콘텐츠 무효화를 참조하세요.
시작하기 전에
이 페이지는 사용자가 Cloud CDN, Cloud CDN 캐시 키, 부하 분산된 백엔드 서비스를 이해하고 있다고 전제합니다. 계속 진행하기 전에 해당 페이지를 검토하는 것이 좋습니다.
Cloud CDN 사용 설정 및 캐시 키 맞춤설정
다음 안내를 따라 부하 분산된 백엔드 서비스에 Cloud CDN을 활성화하고 캐시 키를 맞춤설정할 수 있습니다. 원본으로 사용할 부하 분산기가 아직 없는 경우 부하 분산기를 만드는 방법은 외부 애플리케이션 부하 분산기 문서를 참조하세요.
백엔드 버킷은 Cloud Storage 버킷 내에서 객체를 참조하는 방식에 영향을 주지 않으므로 캐시 키에 프로토콜이나 호스트를 포함하지 않습니다. 그러나 응답에 영향을 줄 수 있고 맞춤설정 가능한 파라미터 이름 목록으로 확장될 수 있는 Cloud Storage와 관련된 쿼리 문자열 파라미터 집합이 포함됩니다.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
업데이트하려는 원본의 이름을 클릭합니다.
수정을 클릭합니다.
원본에 두 개 이상의 부하 분산기가 연결되어 있는 경우 수정 메뉴에서 업데이트할 부하 분산기를 선택합니다.
캐시 성능 섹션을 펼치려면 다음을 클릭합니다.
캐시 키에서 커스텀을 선택합니다.
캐시 키 구성요소 섹션에서 기본적으로 모든 구성요소가 선택됩니다. 캐시 키에서 제외하려는 구성요소의 체크박스를 선택 해제합니다.
완료를 클릭합니다.
gcloud
백엔드 서비스의 캐시 키에서 하나 이상의 구성요소를 제외하려면 gcloud compute backend-services update
명령어를 사용합니다.
gcloud compute backend-services update BACKEND_SERVICE \ --no-cache-key-include-protocol \ --no-cache-key-include-host \ --no-cache-key-include-query-string
백엔드 버킷의 경우 gcloud compute backend-buckets update
명령어를 사용합니다.
API
캐시 키에서 구성요소를 하나 이상 제외하려면 backendServices
리소스의 cdnPolicy
에 있는 cacheKeyPolicy
섹션에서 구성 옵션을 지정합니다.
백엔드 서비스의 경우 backendServices.update
메서드 API 호출을 사용합니다.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
백엔드 버킷의 경우 backendBuckets.update
메서드 API 호출을 사용합니다.
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET
JSON 요청 본문에 다음 스니펫을 추가합니다.
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": false, "includeHost": false, "includeQueryString": false } ] }
프로토콜, 호스트, 쿼리 문자열을 추가하도록 캐시 키 업데이트
기본적으로 Cloud CDN을 사용하도록 구성된 백엔드 서비스는 캐시 키에 요청 URI의 모든 구성 요소를 포함합니다. 앞에서 구성요소를 한 개 이상 제외하도록 지정한 경우에도 다음 단계를 따라 구성요소를 다시 포함할 수 있습니다.
다음 안내를 따라 이미 Cloud CDN이 사용 설정된 기존 백엔드 서비스의 캐시 키에 프로토콜, 호스트, 쿼리 문자열을 추가할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
업데이트하려는 원본의 이름을 클릭합니다.
수정을 클릭합니다.
원본에 두 개 이상의 부하 분산기가 연결되어 있는 경우 수정 메뉴에서 업데이트할 부하 분산기를 선택합니다.
캐시 성능 섹션을 펼치려면 다음을 클릭합니다.
캐시 키에서 커스텀을 선택합니다.
캐시 키 구성요소 섹션에서 프로토콜, 호스트, 쿼리 문자열 체크박스를 선택합니다.
완료를 클릭합니다.
gcloud
백엔드 서비스의 캐시 키에 하나 이상의 구성요소를 추가하려면 gcloud compute backend-services update
명령어를 사용합니다.
지정되지 않은 플래그는 변경하지 않습니다.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-protocol \ --cache-key-include-host \ --cache-key-include-query-string
API
캐시 키에 구성요소를 하나 이상 추가하려면 backendServices
리소스의 cdnPolicy
섹션에 있는 cacheKeyPolicy
섹션에서 구성 옵션을 지정합니다.
JSON 요청 본문에 다음 스니펫을 추가합니다.
"cdnPolicy": { "cacheKeyPolicy": [ { "includeProtocol": true, "includeHost": true, "includeQueryString": true } ] }
쿼리 문자열 파라미터의 포함 또는 제외 목록을 사용하도록 캐시 키 업데이트
다음 안내를 따라 쿼리 문자열 파라미터를 통해 포함 목록 또는 제외 목록을 사용하도록 Cloud CDN 캐시 키를 설정합니다.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
업데이트하려는 원본의 이름을 클릭합니다.
수정을 클릭합니다.
원본에 두 개 이상의 부하 분산기가 연결되어 있는 경우 수정 메뉴에서 업데이트할 부하 분산기를 선택합니다.
캐시 성능 섹션을 펼치려면 다음을 클릭합니다.
캐시 키에서 커스텀을 선택합니다.
캐시 키 구성요소 섹션에서 쿼리 문자열 체크박스를 선택합니다. 그런 다음 다음 옵션 중 하나를 선택합니다.
캐시 키에 포함해야 하는 쿼리 문자열 파라미터를 지정하려면 선택한 문자열만 포함을 선택합니다.
나열한 파라미터를 제외한 모든 쿼리 문자열 파라미터가 캐시 키에 포함되도록 지정하려면 선택한 문자열을 제외한 모든 문자열 포함을 선택합니다.
파라미터 추가를 클릭하고 파라미터를 지정합니다.
완료를 클릭합니다.
gcloud
백엔드 서비스의 포함 목록 또는 제외 목록을 지정하려면 gcloud compute backend-services
update
명령어를 사용하여 쿼리 문자열 파라미터를 지정합니다.
이 명령어를 사용하여 쿼리 문자열 파라미터 user
를 백엔드 서비스의 포함 목록으로 설정합니다.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-query-string \ --cache-key-query-string-whitelist user
이 명령어를 사용하여 쿼리 문자열 파라미터 user
를 백엔드 서비스의 제외 목록으로 설정합니다.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-query-string \ --cache-key-query-string-blacklist user
이 명령어를 사용하여 쿼리 문자열 파라미터 user
를 백엔드 버킷의 포함 목록으로 설정합니다.
gcloud compute backend-buckets update BACKEND_BUCKET \ --cache-key-query-string-whitelist user
API
백엔드 서비스의 포함 목록 또는 제외 목록을 지정하려면 backendServices
리소스의 cdnPolicy
섹션에 cacheKeyPolicy
쿼리 문자열 파라미터를 지정합니다.
포함 목록을 지정하려면 JSON 요청 본문에 다음 스니펫을 추가합니다.
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringWhitelist": [QUERY_STRINGS] } ] }
QUERY_STRINGS를 쉼표로 구분된 쿼리 문자열 파라미터 목록으로 바꿉니다.
제외 목록을 지정하려면 다음 스니펫을 추가하세요.
"cdnPolicy": { "cacheKeyPolicy": [ { "queryStringBlacklist": [QUERY_STRINGS] } ] }
HTTP 헤더를 사용하도록 캐시 키 업데이트
이 안내에서는 허용된 커스텀 변수를 포함할 수 있는 HTTP 헤더를 사용하도록 Cloud CDN 캐시 키를 설정합니다.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
업데이트하려는 원본의 이름을 클릭합니다.
수정을 클릭합니다.
원본에 두 개 이상의 부하 분산기가 연결되어 있는 경우 수정 메뉴에서 업데이트할 부하 분산기를 선택합니다.
캐시 성능 섹션을 펼치려면 다음을 클릭합니다.
캐시 키에서 커스텀을 선택합니다.
캐시 키 구성요소 섹션에서 HTTP 헤더 체크박스를 선택합니다.
HTTP 헤더를 하나 이상 지정하려면 HTTP 헤더 추가를 클릭합니다.
완료를 클릭합니다.
gcloud
gcloud compute backend-services update
명령어를 cache-key-include-http-header
옵션과 함께 사용합니다.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-http-header=[HEADER_FIELD_NAMES,...]
HEADER_FIELD_NAMES를 쉼표로 구분된 헤더 이름 목록으로 바꿉니다.
API
backendServices
리소스의 cdnPolicy
섹션에 있는 cacheKeyPolicy
섹션에서 캐시 키의 HTTP 헤더를 지정합니다.
JSON 요청 본문에 다음 스니펫을 추가합니다.
"cdnPolicy": { "cacheKeyPolicy": [ { "includeHttpHeaders": [HEADER_FIELD_NAMES] } ] }
HEADER_FIELD_NAMES를 쉼표로 구분된 헤더 이름 목록으로 바꿉니다.
지정된 캐시 키 헤더가 커스텀 요청 헤더로도 지정된 경우 전체 범위의 변수를 사용할 수 없습니다.
자세한 내용은 요청 헤더와 함께 커스텀 변수 사용을 참고하세요.
이름이 지정된 쿠키를 사용하도록 캐시 키 업데이트
이 안내에서는 HTTP 쿠키를 사용하도록 Cloud CDN 캐시 키를 설정합니다.
콘솔
Google Cloud 콘솔에서 Cloud CDN 페이지로 이동합니다.
업데이트하려는 원본의 이름을 클릭합니다.
수정을 클릭합니다.
원본에 두 개 이상의 부하 분산기가 연결되어 있는 경우 수정 메뉴에서 업데이트할 부하 분산기를 선택합니다.
캐시 성능 섹션을 펼치려면 다음을 클릭합니다.
캐시 키에서 커스텀을 선택합니다.
캐시 키 구성요소 섹션에서 이름이 지정된 쿠키 체크박스를 선택합니다.
쿠키를 하나 이상 지정하려면 이름이 지정된 쿠키 추가를 클릭합니다.
완료를 클릭합니다.
gcloud
gcloud compute backend-services update
명령어를 cache-key-include-named-cookie
옵션과 함께 사용합니다.
gcloud compute backend-services update BACKEND_SERVICE \ --cache-key-include-named-cookie=[NAMED_COOKIES,...]
NAMED_COOKIES를 쉼표로 구분된 이름이 지정된 쿠키 목록으로 바꿉니다.
API
백엔드 서비스의 포함 목록 또는 제외 목록을 지정하려면 backendServices
리소스의 cdnPolicy
섹션에 cacheKeyPolicy
쿼리 문자열 파라미터를 지정합니다.
포함 목록을 지정하려면 JSON 요청 본문에 다음 스니펫을 추가합니다.
"cdnPolicy": { "cacheKeyPolicy": [ { "includeNamedCookies": [NAMED_COOKIES] } ] }
NAMED_COOKIES를 쉼표로 구분된 쿼리 문자열 파라미터 목록으로 바꿉니다.
다음 단계
- Cloud CDN이 캐시에서 응답을 제공하고 있는지 확인하려면 캐싱 로그 및 측정항목을 참조하세요.