MinIO에서 하루 단위로 만료된 파일을 자동으로 삭제하려면 객체 수명 주기 관리(Object Lifecycle Management, ILM) 기능을 사용해야 합니다.
ILM 규칙을 설정하면 객체가 생성된 후 지정된 날짜(일)가 지나면 자동으로 삭제되도록 할 수 있습니다.
MinIO의 클라이언트 도구인 mc를 사용하여 버킷에 만료 규칙을 설정할 수 있습니다.
mc Alias 설정 (선택 사항)MinIO 서버에 접근하기 위한 별칭(alias)이 아직 설정되지 않았다면 먼저 설정해야 합니다.
mc alias set ALIAS_NAME YOUR_MINIO_ENDPOINT ACCESS_KEY SECRET_KEY
ALIAS_NAME: 원하는 별칭 이름 (예: myminio)YOUR_MINIO_ENDPOINT: MinIO 서버 주소 (예: http://192.168.1.10:9000)ACCESS_KEY: 접근 키SECRET_KEY: 비밀 키mc ilm rule add 명령어를 사용하여 버킷 내 객체가 **생성된 후 1일(하루)**이 지나면 만료되도록 규칙을 추가합니다.
mc ilm rule add ALIAS_NAME/BUCKET_NAME --expire-days "1"
ALIAS_NAME: 1단계에서 설정한 별칭 (예: myminio)BUCKET_NAME: 만료 규칙을 적용할 버킷 이름 (예: tempdata)--expire-days "1": 객체가 생성된 후 1일이 지나면 만료(삭제)되도록 지정합니다.예시:
mc ilm rule add myminio/tempdata --expire-days "1"
참고: MinIO는 AWS S3와 호환되므로, 내부적으로 주기적인 스캐너를 통해 만료된 객체를 확인하고 삭제합니다. 이 스캐너의 실행 주기는 일반적으로 24시간 단위로 작동하도록 설계되어 있으므로, 객체가 만료 시점(1일)에 즉시 삭제되지 않고 24시간 이내에 삭제 처리가 될 수 있습니다.
규칙이 제대로 적용되었는지 확인하려면 다음 명령어를 사용합니다.
mc ilm rule ls ALIAS_NAME/BUCKET_NAME
출력 예시:
ID | Type | Version | Tier | Date/Days | Prefix | Enabled | Tags
----------------------|------------|--------------|------------------|--------------|----------------|------------|------------------------
Expiry-Rule-1 | Expiry | Current | | 1 day(s) | | ✔ |
Date/Days 항목에 **1 day(s)**로 표시되면 하루 단위 만료 규칙이 성공적으로 설정된 것입니다.