디렉터리 버킷의 S3 Lifecycle 문제 해결
디렉터리 버킷의 S3 Lifecycle 문제 해결 (Troubleshooting S3 Lifecycle issues for directory buckets)
디렉터리 버킷에서 S3 Lifecycle이 기대한 대로 동작하지 않을 때 확인해 볼 수 있는 방법을 정리했어요. Lifecycle 규칙을 잘 설정했는데도 객체가 만료되지 않는다면, 먼저 접근 권한 설정을 점검해 보세요.
출처: 문서
본문
Lifecycle 구성을 설정했는데 디렉터리 버킷의 객체가 만료되지 않아요
디렉터리 버킷용 S3 Lifecycle은 공개 API를 사용해 S3 Express One Zone의 객체를 삭제해요. 객체 수준 공개 API를 쓰려면 CreateSession 권한을 부여하고, S3 Lifecycle이 사용자를 대신해 객체를 삭제할 수 있게 허용해야 해요. 삭제를 거부하는 활성 정책이 있으면 S3 Lifecycle이 사용자를 대신해 객체를 삭제하지 못하게 돼요.
삭제하려는 객체가 만료 대상이 되도록 버킷 정책을 올바르게 구성하는 것이 중요해요. CloudTrail에서 CreateSession API 호출에 대한 AccessDenied 이벤트가 있는지 AWS CloudTrail 로그를 확인하면 접근이 거부되었는지 파악할 수 있어요. CloudTrail 로그를 확인하면 접근 문제를 진단하고 AccessDenied 오류의 근본 원인을 찾는 데 도움이 돼요. 그다음 관련 정책을 갱신해 잘못된 접근 제어를 고칠 수 있어요.
버킷 정책이 올바르게 설정되어 있는데도 문제가 계속된다면, Lifecycle 규칙을 검토해서 올바른 객체 하위 집합에 적용되었는지 확인해 보는 것을 권장해요.
Lifecycle 규칙이 수행한 작업은 어떻게 모니터링하나요?
디렉터리 버킷에서 S3 Lifecycle이 수행한 작업을 모니터링하려면 AWS CloudTrail 데이터 이벤트 로그를 사용하면 돼요. 자세한 내용은 CloudTrail 로그 파일 예제 를 참고하세요.