S3 media сохраняет миллионы XML с ошибкой «AccessDenied»

Discourse работает очень хорошо, медиафайлы на S3 тоже работают отлично. Однако я только что заметил, что в бакете S3 ежедневно сохраняется тысячи небольших файлов, например таких:

Содержимое каждого файла выглядит следующим образом:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>VR5CF6C4VFAN</RequestId>
<HostId>OVpQx+h2s8sE0UG/k9/x6//kAW+Lq8/MXnwYDr0gOxnz3phq/uv4BXEaVw0CQ=</HostId>
</Error>

Почему это происходит?
Могу ли я удалить эти файлы?

Похоже, это логи или резервные копии. Можете ли вы скачать файл напрямую из панели управления S3 (не через публичный URL) и просмотреть его содержимое? Это поможет определить, что их генерирует. :slight_smile:

Это файл напрямую из S3. Discourse сохраняет эти крошечные XML-файлы в бакет S3 по какой-то причине.

Медиафайлы (изображения, PDF-файлы и т. д.) на моём Discourse работают отлично, без каких-либо проблем.

РЕДАКТИРОВАНИЕ:
Извините, я только что понял, что вы спрашивали, вот содержимое файла:

de8e8e3b4675asd1a459600d7606d06568b10b1e94ea61ec54c36ccef95dcf rsrbt [25/Sep/2020:18:08:42 +0000] 99.124.56.223 de8e8e3b46a459500d760068b15e410b1e94ea61ec54ccef95dcf 0FA4CAA473DCF77B REST.GET.CORS - "GET /rsrbt?cors= HTTP/1.1" 404 NoSuchCORSConfiguration 311 - 33 - "-" "S3Console/0.4, aws-internal/3 aws-sdk-java/1.11.783 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.252-b09 java/1.8.0_252 vendor/Oracle_Corporation" - hQWfzngEbMCWnJf3y1ELQgUAJgUHvslvzl6ZXixF1xZlaT7UUXik2HK8ggU8= SigV4 ECDHE-RSA-AES128-SHA AuthHeader s3.us-east-2.amazonaws.com TLSv1.2

Похоже, это ваши логи сервера, судя по формату.

В этой документации показано, как отключить эту функцию или удалить логи. :slight_smile:

Логи не доступны публично, поэтому вы видите сообщения «Access Denied» (Доступ запрещён).

@Alon1 Я просто изучал настройки загрузки, когда заметил enable s3 inventory. Я никогда не использовал эту функцию, но из описания…

Генерация отчетов и проверка загруженных файлов с помощью Amazon S3 inventory. ВАЖНО: требуются действительные учетные данные S3 (как access key id, так и secret access key).

…я подумал о вашем каталоге файлов. Это ещё один путь для исследования, если логи S3 не соответствуют описанным в связанных документах. :slight_smile:

На будущее, если у кого-то возникнет эта проблема: файлы являются файлами журналов. Чтобы остановить их, перейдите на вкладку «Свойства ведра» в AWS.
image
Прокрутите вниз до панели «Журналирование сервера» (и нажмите «Изменить»):
image
Затем просто отключите и сохраните: