
Я хочу использовать S3 + CloudFront для обслуживания огромных файлов размером ~1,5 ГБ для скачивания (не потоковой передачи). Эти файлы являются платным премиум-контентом, поэтому я не хочу выставлять их в сети.
Как лучше всего это сделать?
AWS CLI -> загрузить S3
CloudFront -> проверка разрешений -> файлы S3
решение1
Существует несколько методов доставки подписанного контента на AWS. Стандартный метод — использование подписанных URL или подписанных файлов cookie. Если вы хотите контролировать отдельные файлы, используйте подписанные URL. Эта ссылка поможет вам понять оба:
Выбор между подписанными URL-адресами и подписанными файлами cookie
Для наглядного обзора того, как обслуживать частный контент через CloudFront:
Обслуживание частного контента через CloudFront
Для создания подписанных URL-адресов вам нужно будет написать код, который будет работать на вашем сервере. В Интернете есть множество примеров на многих языках. Amazon также предоставляет ряд примеров:
Пример кода и сторонние инструменты
После создания подписанного URL-адреса включите URL-адрес в качестве ссылки в веб-контент, который вы отправляете своему клиенту. Клиент нажимает на ссылку в своем браузере или веб-совместимом инструменте. CloudFront / S3 проверяет подпись и дату истечения срока действия, а затем доставляет содержимое файла.