이 페이지에서는 Cloud Storage 기본 제공 캐시를 설명합니다. 또한 Cloud Storage는 서드 파티 CDN과 호환됩니다.
개요
Cloud Storage 객체가 캐시되면 객체 데이터의 사본이 Google 또는 인터넷 캐시에 저장되므로 이후 요청에서 객체를 더 빠르게 제공할 수 있습니다. 캐싱을 사용하면 성능이 향상될 수 있지만 객체를 업데이트하더라도 캐시가 이전 버전의 객체를 계속 제공하면 오래된 콘텐츠를 서빙할 위험이 있습니다.
Cloud Storage의 기본 제공 캐싱
Cloud Storage는 개발자가 별도로 작업하지 않아도 콘텐츠 전송 네트워크(CDN)처럼 작동할 수 있습니다. 객체의 데이터가 Cache-Control
메타데이터가 캐싱을 허용하도록 설정되어 있고 다음 기준이 충족되는 경우 Cloud Storage 네트워크에 캐싱되기 때문입니다.
- 객체에 공개적으로 액세스 가능합니다.
- 객체가 요청자 지불이 사용 설정된 버킷에 저장되어 있지 않으며 가상 프라이빗 클라우드(VPC) 서비스 경계 내에 있지 않습니다.
- 고객 관리 암호화 키 또는 고객 제공 암호화 키를 사용하여 객체가 암호화되지 않습니다.
Cloud Storage는 다음과 같이 Cache-Control
의 표준 값을 준수합니다.
public
: 객체가 캐시될 수 있습니다.private
: 객체가 Cloud Storage에 의해 캐시되지는 않지만 요청자의 로컬 캐시에 캐시될 수 있습니다.no-cache
: 객체가 캐시될 수 있지만 Cloud Storage에 의해 검증되기 전에는 이후 요청을 충족하는 데 사용될 수 없습니다.no-store
: 객체가 캐시될 수 없습니다.max-age=TIME_IN_SECONDS
: 객체가 비활성으로 간주되기 전에 캐시될 수 있는 기간입니다.max-age
를 원하는 길이의 시간으로 설정할 수 있습니다. 특수한 상황을 제외하고 비활성 객체는 캐시에서 제공되지 않습니다.
객체의 Cache-Control
메타데이터를 설정하려면 객체 메타데이터 수정을 참고하세요.
IAM 거부 정책에서 기본 제공되는 캐싱 동작
주 구성원 식별자 allUsers
에서 객체에 대한 읽기 액세스를 제한하는 조직 수준 IAM 거부 정책이 있는 경우 객체에 대한 읽기 액세스 권한을 allUsers
에 부여하는 버킷 수준 IAM 정책이 있더라도 객체에 대한 기본 제공 캐싱이 비활성화됩니다.
하지만 IAM 거부 정책이 개별 사용자만 제한하는 경우 객체에 기본 제공 캐싱이 사용 설정된 상태로 유지됩니다.
성능에 대한 고려사항
성능은 공개적으로 캐시 가능한 객체에서 훨씬 우수할 수 있습니다. 객체 하나로 여러 클라이언트를 제어하고 있어 최신 데이터를 제공하기 위해 캐싱을 사용 중지하려는 경우에는 다음을 확인하세요.
객체의
Cache-Control
메타데이터를max-age
가 15~60초인public
으로 설정해 봅니다. 대부분의 애플리케이션은 성능 향상을 위해 객체가 몇 초 동안 최신 상태가 아닐 수 있습니다.객체에
Cache-Control: no-store
를 사용해 모든 캐시의 후속 요청 시 객체를 캐시하지 않는다고 나타냅니다.
다음 단계
Cache-Control
메타데이터 자세히 알아보기- RFC
Cache-Control
지시문에 대해 자세히 알아보기