Первоначально я думал, что сохранение загруженных пользователем изображений в виде article_id.jpg (может быть article_id-1 ... для дополнительных) на AWS S3. Таким образом, не нужно будет запрашивать базу данных для каждого изображения.
Однако, если пользователь решает загрузить новое изображение, а Cloudfront уже кэширует старое, этот подход сталкивается с проблемой: изменение не сразу отражается до аннулирования. Я предполагаю, что это будет еще одна проблема, если мы хотим сделать авто-аннулирование (и это дорого).
Так что, по вашему мнению, более уместно:
Сохраните имена файлов в базе данных (возможно, записи в нескольких таблицах, по одной для каждого типа изображения).
Используйте запланированный метод и сообщите пользователю, что для обновления обновлений требуется 24 часа. отражаться.