콘텐츠 전송을 위한 권장사항

이 페이지에서는 Cloud CDN을 사용하여 콘텐츠를 최적화하고 가속화하기 위한 권장사항이 나와 있습니다.

Cloud CDN에서는 캐시 가능한 콘텐츠의 원본으로 HTTP(S) 부하 분산을 사용합니다. 외부 HTTP(S) 부하 분산기는 Compute Engine 가상 머신(VM) 인스턴스 그룹, Cloud Storage 버킷 또는 둘 다에서 전역 IP 주소 한 개를 통해 정적 및 동적으로 생성된 콘텐츠를 사용자에게 전송할 수 있습니다.

Google Cloud와 원활하게 통합되므로 Cloud CDN을 배포하고 관리할 수 있는 몇 가지 옵션이 있습니다. 여기에서 설명된 권장사항을 사용하여 배포 계획을 세우고 구체화하세요. 자세한 내용은 Cloud CDN 사용을 참조하세요.

시간에 민감한 콘텐츠 만료 시간 설정

Cloud CDN 캐시의 각 콘텐츠에는 만료 시간이 설정되므로 사용 사례에 적합한 만료 시간을 설정하는 것이 중요합니다. 원본 서버가 캐시 서버에서 만료되는 콘텐츠를 다시 보내야 하므로 만료 시간을 신중하게 선택해야 합니다.

만료 시간을 선택하는 한 가지 방법은 콘텐츠를 업데이트하는 빈도에 따라 콘텐츠를 분류하는 것입니다. 예를 들면 다음과 같습니다.

  • 실시간에 가까운 업데이트(예: 스포츠 이벤트 또는 교통 정보 라이브 피드)
  • 빈번한 업데이트(예: 주간, 일일, 시간별 날씨 정보 또는 헤드라인 뉴스 이미지)
  • 빈번하지 않은 업데이트(예: 웹사이트 로고, CSS 또는 자바스크립트 파일)

그런 다음 콘텐츠 카테고리별로 만료 시간을 선택합니다. 예를 들어 실시간 스포츠 점수에는 5초 만료가 적합하고 날씨 업데이트에는 1시간 만료가 적합할 수 있습니다. Cloud Storage 저장된 콘텐츠의 경우 Cache-Control 메타데이터를 사용하여 만료 시간을 설정합니다. Compute Engine에서 콘텐츠가 제공되는 경우, 웹 서버 소프트웨어를 구성하여 만료 시간을 제어할 수 있습니다.

만기 시간은 Cache-Control 헤더의 max-ages-maxage 값으로 지정됩니다. 이 헤더는 HTTP 사양에 의해 정의됩니다. 예를 들어 다음 Cache-Control 헤더는 연관된 콘텐츠를 공개적으로 읽고 캐시할 수 있게 하며 캐시 만료 시간은 72시간(259,200초)입니다.

 Cache-Control: public, max-age=259200

캐싱을 극대화하려면 캐싱 개요의 가이드라인을 따르세요. Cache-Control 메타데이터 필드의 max-ages-maxage 값은 다음과 같은 방식으로 함께 작동합니다.

  • max-ages-maxage 값은 초 단위로 측정됩니다.
  • s-maxage 값은 브라우저 캐시가 아닌 공유 캐시에만 적용됩니다.
  • max-age 값은 s-maxage가 우선 적용되지 않는 한 모든 캐시에 적용됩니다.

자주 변경되지 않거나 관련 콘텐츠와 함께 변경되어야 하는 콘텐츠의 경우, 버전이 지정된 URL과 함께 긴 만료 시간을 사용하는 것이 좋습니다.

커스텀 캐시 키를 사용하여 캐시 적중률 향상

기본적으로 Cloud CDN은 전체 요청 URL을 사용하여 캐시 키를 만듭니다. 성능과 확장성을 높이기 위해 캐시 적중률을 최적화하는 것이 중요합니다. 캐시 적중률을 최적화하기 위해 커스텀 캐시 키를 사용할 수 있습니다.

Cloud CDN 키-값 저장
Cloud CDN 키-값 저장

프로토콜, 호스트 및 쿼리 문자열의 조합을 포함하거나 생략하도록 캐시 키를 맞춤설정할 수 있습니다. 예를 들어, 동일한 로고를 사용하는 두 개의 웹사이트가 서로 다른 도메인에 있다고 가정합니다. 로고를 표시하려면 다음과 같이 커스텀 캐시 키를 사용합니다.

  • 웹사이트 콘텐츠는 다르지만 양쪽 도메인에서 같은 회사 로고를 사용합니다. 로고가 있는 백엔드 서비스에 Cloud CDN을 사용 설정하고 캐시 키를 맞춤설정하는 경우 캐시가 도메인을 무시하지만 로고를 캐시하도록 호스트 체크박스를 선택 취소합니다.

  • HTTP 또는 HTTPS를 통해 표시되는지 여부에 관계없이 로고를 캐시해야 합니다. 로고가 있는 백엔드 서비스의 캐시 키를 맞춤설정하는 경우 HTTP 및 HTTPS를 통한 요청이 로고의 캐시 항목과 일치하는 것으로 간주되도록 프로토콜 체크박스를 선택 취소합니다.

캐시 키를 맞춤설정하는 방법은 캐시 키 사용을 참조하세요.

버전이 지정된 URL을 사용하여 콘텐츠 업데이트

콘텐츠 버전을 관리하면 동일한 콘텐츠의 다른 버전이 제공되므로 캐시 항목이 만료되기 전에 사용자에게 새 콘텐츠를 보여줌으로써 콘텐츠를 효과적으로 삭제할 수 있습니다. 버전 관리는 무료이며 쉽게 사용할 수 있으므로 캐시할 수 있는 콘텐츠를 업데이트하는 기본 방법으로 버전 관리를 사용하는 것이 좋습니다.

콘텐츠 버전을 관리하려면 URL에 버전 번호와 같은 매개변수를 추가합니다. 다음과 같이 다양한 방법으로 URL에 매개변수를 포함할 수 있습니다.

  • 쿼리 문자열 추가: file.ext?v=100
  • 파일 이름 변경: file.1.0.0.ext 또는 file_v100.ext
  • 파일 경로 변경: /v100/file.ext

매개변수를 추가하면 파일 이름과 URL이 변경됩니다. 이러한 변경으로 인해 캐시가 기존 캐시 항목을 무시합니다.

무효화를 간간히 사용하여 콘텐츠 삭제

무효화는 캐시 항목이 만료되기 전에 Cloud CDN 분산 캐시 서버에서 콘텐츠를 삭제합니다. 무효화는 최종 일관성을 갖습니다.

마지막 수단으로 무효화를 가끔 사용하는 것이 좋습니다. 예를 들어, 법적인 이유로 인해 또는 실수로 업로드하여 콘텐츠를 삭제해야 하는 경우에 무효화가 유용합니다. 그렇지 않으면 가능할 때마다 버전 관리를 사용하거나 콘텐츠가 정상적으로 만료될 때까지 기다리는 것이 좋습니다. Cloud CDN 캐시 서버는 새 콘텐츠를 위한 공간 확보를 위해 자주 액세스하지 않는 콘텐츠를 정기적으로 삭제합니다. 30일 동안 액세스하지 않은 콘텐츠는 무조건 삭제됩니다.

만료 시간 설정버전이 지정된 URL 사용과 달리 사용자가 시작한 각 캐시 무효화에는 요금이 청구되며, 캐시 무효화에는 비율 한도가 있습니다.

무효화에 대한 자세한 내용은 캐시 무효화 개요를 참조하세요.

서명된 URL 사용

서명된 URL을 사용하는 경우 다음에 유의하세요.

타사 성능 테스트 검토

Citrix Radar에서 제공하는 가용성, 지연 시간, 처리량 보고서 등의 타사 제공업체의 보고서를 검토합니다.