Я построил функцию загрузки изображений с помощью PHP. Реализованный сценарий имел дело только с локальной файловой системой серверного компьютера, и теперь мне нужно повторно реализовать эту функцию, чтобы соответствовать AWS. Проблема в том, что AWS предлагает 3 типа файлового хранилища (EFS, EBS и S3), и я не знаю, как справиться с шагами 1 и 3 используемого сценария:
Исходное изображение загружается и сохраняется в системе (после переименования и очистки).
Я создаю 3 копии с этого изображения (маленький, средний, большой)
используя фильтры библиотеки Imagine. Эти 3 копии предназначены для копирования в S3 с использованием PHP AWS SDK. Они также оптимизированы для лучшей производительности.
Исходное изображение удалено (потому что оно
большой, не используется, и его удаление психологически хорошо).
Другими словами, где лучше хранить исходное временное изображение? Лучше использовать EBS или EFS для этого изображения или также сохранить в S3 вместе с окончательными изображениями, а затем удалить его.
Какая система хранения ближе всего к EC2 с точки зрения задержки и скорости выполнения? Им всем нужен экземпляр EC2, но, безусловно, один из них лучше подойдет для этого условия temporary
,
Ваш опыт всегда был неоценим для нас. большое спасибо
Я предлагаю сохранить изображение на томе EBS, как и любые другие способы удаления этого изображения после обработки. Ваш том EBS — это самый быстрый способ обработки этого изображения, поскольку он непосредственно подключен к экземпляру EC2, а затем переместите эти 3 изображения на S3. Том EFS, подключенный к вашему EC2, также будет работать в вашем случае, но опять же EFS стоит дорого и не подходит для временного хранения.
Если вы переместите это большое изображение на S3, а затем обработаете его, тогда увеличится стоимость передачи данных S3, а также будет задействована задержка, поскольку загрузка этого изображения на S3 займет некоторое время.
Поэтому лучшим вариантом для временного хранения изображений является EBS или EFS до определенного уровня в вашем экземпляре EC2.
Других решений пока нет …