안녕하세요, 

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "Cloud Storage에 업로드 후 URL로 접근 시 이전 버전의 파일이 확인되는 이유"를 다루고자 합니다.



이전 버전의 파일이 확인되는 이유


Cloud Storage에서 Object Versioning을 사용하지 않는 상황에서도 데이터 업로드 후 URL로 접근 시 이전 버전의 파일이 확인 될 때가 있습니다.

이는 해당 객체에 캐시 설정이 되어있기 때문입니다.


아래 조건의 객체에 한하여 Cloud Storage의 Cache-Control이 적용 됩니다.

  • 공개적으로 액세스할 수 있습니다.
  • 요청자 지불이 사용 설정된 버킷에 저장되어 있지 않습니다.
  • 고객 제공 암호화 키를 사용하여 암호화되지 않습니다.


만약 Cache-Control이 적용가능한 객체에 Cache-Control 메타데이터 항목이 없으면 Cloud Storage가 다음에 기본값을 사용합니다.

  • public, max-age=3600: 객체가 고객 관리 암호화 키를 사용하여 암호화되지 않은 경우
  • no-cache, no-store, max-age=0: 객체가 고객 관리 암호화 키를 사용하여 암호화된 경우


따라서 객체의 Cache-Control 메타데이터를 수정하여 캐시 사용 여부 및 기간 설정을 할 수 있습니다.

  • public: 객체가 어디서나 캐시될 수 있습니다.
  • private: 객체가 요청자의 로컬 캐시에 캐시될 수 있습니다.
  • no-cache: 객체가 캐시될 수 있지만 Cloud Storage에 의해 검증되기 전에는 이후 요청을 충족하는 데 사용될 수 없습니다.
  • no-store: 객체가 캐시될 수 없습니다.
  • max-age=TIME_IN_SECONDS: 객체가 비활성으로 간주되기 전에 캐시될 수 있는 기간입니다. max-age를 원하는 길이의 시간으로 설정할 수 있습니다. 특수한 상황을 제외하고 비활성 객체는 캐시에서 제공되지 않습니다


공개적으로 읽을 수 있는 객체의 캐시된 버전을 제공하지 않으려면 아래와 같이 객체에 Cache-Control: no-store을 설정하시기 바랍니다.




참조 링크


[1] Cloud Storage 캐싱 

https://cloud.google.com/storage/docs/caching



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.