Я администрирую несколько инстансов Discourse, все размещены самостоятельно. Все они выполняют резервное копирование в 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 не работает — в логах фиксируется ошибка Aws::S3::Errors::AccessDenied.
- Ручное удаление в AWS, разумеется, работает, но это лишь обходной путь.
Мне нужно понять, как можно продолжить отладку этой проблемы.
JSON-политики для пользователей IAM полностью идентичны, за исключением имени бакета. Эти политики явно работают корректно для создания и загрузки новых резервных копий.