Автоматическое масштабирование статического содержимого в ec2 с использованием локального кэша
Привет участники Serverfault.
Я хочу выполнить следующие настройки в EC2: Балансировщик нагрузки запускает и останавливает экземпляры, которые служат только для статического содержимого. (приложение на основе JavaScript) Я не хочу вручную обновлять код приложения на работающих в данный момент экземплярах, если я выпускаю новую версию. Поэтому я подумал о загрузке кода в cdn и монтировании диска с локальным кэшем на экземплярах веб-сервера (например, dropbox). таким образом, любые запущенные экземпляры будут автоматически иметь самую последнюю версию и преимущество в скорости локального контента.
какое лучшее решение для этого?
Я пытался использовать s3 и s3fs / s3fs-c, но из-за ошибок в их текущей реализации они мне не пригодились. теоретически, будет ли временное кэширование s3fs тем, чего я хочу достичь?
1 ответ
Если это просто статический сайт, вы можете подавать контент напрямую из S3 или через CloudFront, если вам нужны преимущества CDN.
CloudFront очень прост в настройке и избавит от необходимости иметь балансировщик нагрузки. Вы также получаете дополнительное преимущество, заключающееся в том, что контент обслуживается пограничным сервером, ближайшим к клиенту.
Все, что вам нужно сделать, это:
- Настройте дистрибутив CloudFront в консоли AWS.
- Укажите "источник" CloudFront на псевдоним DNS вашего сервера или корзины S3.
- Направьте DNS своего сайта на конечную точку CloudFront.
Cloudfront первоначально будет извлекать страницы с вашего сайта, а затем обслуживать их из своего кэша до истечения срока их действия.