웹 애플리케이션을 운영하면서 쌓이는 로그파일들이 누적이 되면서 너무 커져서
일정 기간만 로그파일을 저장하기 위해서 방법을 찾아봤다.
일단 aws S3에서 규칙을 적용시킬 버킷에 들어간다.
그럼 상단에 이미지와 같이 메뉴가 있다.
여기서 관리 탭에 들어간다.
그러면 제일 상단에 삭제를 위한 수명 주기 규칙 항목이 있고,
제일 우측에 수명 주기 규칙 생성을 눌러준다.
수명 주기 규칙 이름은 어떤 작업을 위한 규칙인지 가독성 좋게 지어주는 게 좋다.
이름 때문에 일일히 들어가서 규칙을 열어보는 건 매우 귀찮은 짓이다.
규칙 범위 선택
하나 이상의 필터를 사용하여 이 규칙의 범위를 제한 -> 특정 디렉터리의 파일들만 규칙을 적용시키기 위한 옵션이다.
이 규칙은 버킷의 모든 객체에 적용됨 -> 버킷 하위에 모든 디렉토리에 영향을 준다.
모든 하위 디렉토리에 영향을 주는 건 의도하지 않은 파일이 삭제될 수 있으므로, 특정한 목적이 있는 게 아닌 한, 특정 디렉터리에만 규칙을 정해주자.
참고 :
예를 들어서,
버킷명/logs 라는 디렉터리에 로그 파일들이 쌓여있다면 해당 칸에는 logs/를 적어주면 된다.
버킷명이 루트 디렉터리가 되고 적용하고자하는 디렉터리를 적어주면 된다.
조건을 설정하는 부분이다.
위에서는 특정 디렉토리 혹은 모든 객체 << 를 설정했다면
아래는 10일 후, 20일 후 등 일자를 정할 수 있다.
- 스토리지 클래스 간에 객체의 현재 버전 전환
- 원하는 스토리지 클래스 전환을 선택하고 객체 생성 후 경과 기간을 설정해주시면 됩니다.
- 스토리지 클래스 간에 객체의 이전 버전 전환
- 현재 버전 전환과 방법은 동일합니다.
- 객체의 현재 버전 만료
- 날짜를 지정하면 그 날짜 기준으로 만료 상태로 변경되며 시간이 좀 더 경과된 후 삭제됩니다.
- 객체의 이전 버전 영구 삭제
- 설정된 날짜 기준으로 삭제됩니다.
- 만료된 삭제 마커 또는 완료되지 않은 멀티파트 업로드 삭제
- 현재 날짜 기준으로 실행됩니다.
- 처리가 일어나는 시간 같은 경우 내부적으로 적용되며 따로 명시되어 있지는 않습니다.
항목 간 설명은 이렇다.
본인이 의도한 대로 항목을 설정해준다.
나는 객체의 생성일 기준으로 10일 이후 데이터를 삭제하기로 했다.
이미지와 같이 적용할 수 있겠다.
이렇게 되면 생성된지 10일이 지났다면 만료 처리하고
만료가 된지 1일이 지나면 삭제처리된다.
설정이 다 됐다면 확인을 눌러 규칙을 생성해주자.
이 전 페이지로 돌아가서 수명 주기 규칙을 보면 정상적으로 생성이 되었고,
이를 클릭해보면 자세한 설정 여부 사항을 알 수 있다.
UTC 기준으로 매일 00시:00분에 작업이 진행된다고 한다.
참고 :
댓글