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