Я искал создание высокодоступной установки с EC2. Это будет включать несколько узлов веб-сервера, выступающих в качестве внешних интерфейсов для нескольких серверов NFS и баз данных (бэкэндов). В идеале платформа могла бы включать несколько балансировщиков нагрузки для равномерного распределения трафика между всеми интерфейсными узлами.
Я только что наткнулся на проект, который позволяет монтировать корзину S3 непосредственно в файловую систему Linux. Он поддерживает аутентификацию AWS, поэтому вы можете хранить там непубличные данные. Кто-нибудь использовал этот тип настройки (Веб-сервер -> S3 + DB -> Браузер)?
Честно говоря, это работает не очень хорошо. Производительность в основном не на высоте. Что вам гораздо лучше сделать, так это поместить все свои статические данные в S3 (возможно, в виде tarball), а узлы будут загружать и извлекать их в эфемерное хранилище при загрузке (или во время развертывания) и обслуживать их локально.
Это не решает проблему клиентских активов, но для этого есть более эффективные решения (я поклонник выделенных серверов хранения, которые обслуживают напрямую или через протокол более высокого уровня для конкретного приложения, как я обсуждал ранее). Не забывайте, что вы можете использовать S3 или CloudFront для обслуживания ресурсов напрямую клиентам, которые могут хорошо работать в нужных обстоятельствах.