본문 바로가기

⭐ AWS/S3

S3 주기적 파일 삭제

- 수명주기 기반으로 주기적 파일을 삭제하는 프로세스를 구현해보자.

- AWS -> S3 -> 버킷 -> 관리로 이동하여 수명주기 정책을 생성하자.

- 접두사 라는것은 규칙 범위를 지정할 수 있다. 하나 이상의 필터를 사용하여 이 규칙의 범위를 제한 -> 특정 디렉터리의 파일들만 규칙을 적용시키기 위한 옵션이다.

접두사 설정 규칙 -> 버킷 하위에 모든 디렉토리에 영향을 준다.

모든 하위 디렉토리에 영향을 주는 건 의도하지 않은 파일이 삭제될 수 있으므로, 특정한 목적이 있는 게 아닌 한, 특정 디렉터리에만 규칙을 정해주자.

예를 들어, 버킷명/logs 라는 디렉터리에 로그 파일들이 쌓여있다면 해당 칸에는 logs/를 적어주면 된다.

버킷명이 루트 디렉터리가 되고 적용하고자하는 디렉터리가 대상이 되는 구조이다.

- 수명 주기 규칙 작업에 대해서 알아보자.

조건을 설정하는 부분이다.

위에서는 특정 디렉토리 혹은 모든 객체를 설정했다면 수명주기 규칙에서는 10일 후, 20일 후 등 일자를 정할 수 있다.

- 스토리지 클래스 간에 객체의 현재 버전 전환 (원하는 스토리지 클래스 전환을 선택하고 객체 생성 후 경과 기간을 설정해주시면 됩니다.)

- 스토리지 클래스 간에 객체의 이전 버전 전환 (현재 버전 전환과 방법은 동일합니다.)

- 객체의 현재 버전 만료 (날짜를 지정하면 그 날짜 기준으로 만료 상태로 변경되며 시간이 좀 더 경과된 후 삭제됩니다.)

- 객체의 이전 버전 영구 삭제 (설정된 날짜 기준으로 삭제됩니다.)

- 만료된 삭제 마커 또는 완료되지 않은 멀티파트 업로드 삭제 (현재 날짜 기준으로 실행됩니다.)

처리가 일어나는 시간 같은 경우 내부적으로 적용되며 따로 명시되어 있지는 않습니다.

그렇다면, 객체의 생성일 기준으로 10일 이후 데이터를 삭제해보기로 하자.

- 객체의 생성일 기준으로 10일 이후 데이터를 삭제

- 마지막으로 생성될 규칙에 대해서 보면 아래와 같다.

- 데이터를 동적으로 관리 함으로써 자원을 보다 효율적으로 사용이 가능하다.