저는 여러 개의 Discourse 인스턴스를 운영 중이며, 모두 자체 호스팅(self-hosted) 방식입니다. 각 인스턴스는 Amazon S3에 백업이 저장되어 있으며, 각 포럼마다 커스텀 IAM 사용자 및 정책을 설정하여 해당 S3 버킷 하나에만 접근할 수 있도록 했습니다.
일부 포럼은 오래된 백업을 삭제하지 못하는 반면, 다른 포럼은 정상적으로 삭제하고 있습니다. 이는 거의 동일한 사이트 설정과 관련이 없어 보입니다. 저는 유지할 백업 수를 10~20개로 제한하고 있으며, 백업은 매일 밤 실행됩니다.
문제가 있는 인스턴스들은 다음과 같은 공통점이 있습니다:
- AWS 자격 증명은 새 백업 생성 및 기존 백업 목록 조회에는 정상적으로 작동하지만, 삭제 시에는 ‘access denied’ 오류를 발생시킵니다.
- 모든 인스턴스는 최신 tests-passed 버전(오늘 업데이트됨)인 3.3.0.beta5-dev를 실행 중입니다.
- 삭제되어야 할 시점을 크게 넘긴 오래된 백업조차 자동으로 삭제되지 않습니다.
maximum backups,remove older backups,s3 disable cleanup등 어떤 사이트 설정 조합에도 반응하지 않는 것으로 보입니다.- Discourse 관리자 UI에서 오래된 백업을 삭제하는 것도 작동하지 않으며, 로그에 Aws::S3::Errors::AccessDenied가 기록됩니다.
- AWS에서 수동으로 삭제하는 것은 (물론) 작동하지만, 이는 임시 해결책에 불과합니다.
이 문제를 추가로 디버깅하는 방법에 대해 이해하고 싶습니다.
IAM 사용자의 JSON 정책은 버킷 이름을 제외하고 모두 동일합니다. 정책은 새 백업 생성 및 업로드에는 명확히 정상 작동하고 있습니다.