설명
Cloud Storage의 객체 버전 관리는 파일이 덮어써지거나 삭제됐을 때 이전 버전을 복구하는 데 도움이 됩니다. 운영 데이터, 배포 아티팩트, 백업 파일을 보관하는 버킷이라면 필요한 복구 범위를 확인해야 합니다.
버전 관리가 없어도 소프트 삭제나 별도 백업이 적용될 수 있습니다. 버전 관리 자체가 버킷 삭제나 권한 있는 사용자의 이전 버전 삭제를 막지는 않습니다.
잠재적 영향
- 필요한 이전 버전이나 다른 복구 수단이 없으면 실수로 덮어쓰거나 삭제한 객체를 되돌리기 어렵습니다.
- 보관 및 삭제 정책을 잘못 구성하면 복구 지점을 잃거나 저장 비용이 늘어날 수 있습니다.
해결 방법
- 이전 버전을 보존해야 하는 버킷에
versioning.enabled: true를 설정하세요. - 소프트 삭제, 객체 수명 주기와 보관 정책을 함께 검토하고 삭제 권한을 제한하세요. 실제 복원을 시험하세요.
예시
지원이 종료된 Deployment Manager 형식의 설정 발췌입니다. 현재 지원되는 관리 도구에서 같은 보존 정책을 적용하고 이름과 생략된 필수 설정을 환경에 맞게 준비하세요.
변경 전
yaml
resources:
- name: bucket
type: storage.v1.bucket
properties:
name: my-bucket
변경 후
yaml
resources:
- name: bucket
type: storage.v1.bucket
properties:
name: my-bucket
versioning:
enabled: true
설명:
- 변경 전: 객체 버전 관리가 명시되어 있지 않습니다. 기존 버킷의 실제 버전 관리와 다른 복구 정책도 확인해야 합니다.
- 변경 후: 버전 관리를 활성화합니다. 과거에 영구 삭제된 객체를 되살리는 설정은 아닙니다.