안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "Cloud Storage Bucket의 데이터를 일정 시간이 지난 뒤 자동적으로 삭제하는 방법"을 다루고자 합니다.
Cloud Storage Bucket 데이터 자동 삭제
Cloud Storage Bucket의 Object Life Cycle[1]을 사용하면 Bucket 안의 Object를 설정한 조건에 맞추어 파일 삭제 혹은 Storage Class 변경 등의 동작이 자동으로 이루어지도록 설정할 수 있습니다.
Object Life Cycle에는 정해진 규칙들이 있습니다. 그 중 일부 규칙은 아래와 같습니다.
- 규칙의 작업을 수행하려면 객체가 규칙에 지정된 모든 조건과 일치해야 합니다.
- 여러 규칙의 조건이 단일 객체에 대해 동시에 충족되는 경우 Delete 작업이 모든 SetStorageClass 작업에 우선합니다
전체 규칙을 확인하기 위해서는 해당 문서 내용[2]을 참고하시기 바랍니다.
Life Cycle 작업의 종류는 3가지로 아래와 같습니다.
1) Delete
객체가 수명 주기 규칙에 지정된 모든 조건을 충족하면 Delete 작업이 객체를 삭제합니다.
2) SetStorageClass
객체가 수명 주기 규칙에 지정된 모든 조건을 충족할 때 객체의 스토리지 클래스를 변경하고 객체의 수정 시간을 업데이트합니다.
3) AbortIncompleteMultipartUpload
미완료 멀티파트 업로드를 중단하고 멀티파트 업로드가 수명 주기 규칙에 지정된 조건을 충족할 때 연관된 부분을 삭제합니다.
설정할 수 있는 Life Cycle 조건은 다양하며 그 중 일부 조건은 아래와 같습니다.
- age : age 조건은 리소스가 지정된 경과 기간(일수)에 도달하는 경우에 충족됩니다. 경과 기간은 리소스 생성 시부터 측정됩니다.
- createdBefore : createdBefore 조건은 객체가 UTC 기준으로 지정된 날짜의 자정 이전에 생성된 경우에 충족됩니다.
- matchesPrefix 및 matchesSuffix : matchesPrefix 및 matchesSuffix 조건은 객체 이름의 시작 또는 끝이 지정된 프리픽스 또는 서픽스와 정확하게 일치(대소문자 구분)할 때 충족됩니다.
전체 조건은 해당 문서 내용[3]을 참고하시기 바랍니다.
일정 기간이 지난 후 파일이 삭제되도록 Object Life Cycle 적용하는 방법은 아래 예시를 참고하시기 바랍니다.
1. 콘솔 > Cloud Stroage > Buckets > 설정할 Bucket으로 이동
2. Lifecycle 탭 > Rules > Add A Rule
3. Select an action에 "Delete object" 선택
4. Select object conditions에서 Set Conditions "Age" 선택
위와 같이 구성 시 10일 뒤에 해당 Bucket의 모든 파일이 삭제됩니다.
만약 버킷의 일부 Object만이 삭제 되도록 구성하고 싶다면 matchesPrefix 같은 추가 조건을 걸어 해당 Object들만 조건에 완전히 일치되도록 설정합니다.
참조 링크
[1] Cloud Storage 객체 수명 주기 관리
https://cloud.google.com/storage/docs/lifecycle
[2] 객체 수명 주기 구성
https://cloud.google.com/storage/docs/lifecycle#configuration
[3] 객체 수명 주기 조건
https://cloud.google.com/storage/docs/lifecycle#conditions
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.