Создайте простой и дешевый статический веб-сайт с поддержкой CDN, используя один скрипт AWS CloudFormation. Идеально подходит для сайтов, созданных с использованием генераторов статических сайтов, например Gatsby, Hugo, 11ty; приложения React без сохранения состояния; или просто старые HTML, CSS и файлы изображений.
Зарегистрируйте домен в AWS здесь
Создал зону хостинга для этого домена в Route53.
Создайте новый стек CloudFormation, используя шаблон simple-static-website.yaml
. Это ДОЛЖНО быть сделано в us-east-1
из-за ограничений CloudFront.
Укажите параметры:
Подготовьте стек CloudFormation с помощью консоли или awscli:
aws cloudformation deploy
--stack-name foo
--template-file simple-static-website.yaml
--parameter-overrides
DomainName=example.com
HostedZoneId=ABCDEFGHIJK0123456789
WebsiteName=www
Поместите простой файл index.html во вновь созданную корзину S3. Проверьте выходные данные стека CloudFormation на предмет примера команды awscli.
Посетите свой новый веб-сайт на указанном вами домене. См. выходные данные CloudFormation для URL-адреса.
Помните, что CloudFront CDN будет кэшировать ваш веб-сайт в нескольких местах по всему миру. Если вы измените свой сайт, вам придется аннулировать кеш. Взимается плата, но в целом это чрезвычайно дешевая установка, поскольку в ней не используются серверы.
Этот сценарий был вдохновлен превосходным сообщением в блоге Алена Сенга, а также результатами моих существующих сайтов, созданных вручную, с использованием ныне несуществующего шаблона Amazon CloudFormer. CloudFormer — отличный инструмент, однако Amazon замалчивает его из-за растущего числа CVE, к которым это решение оставляет пользователей открытыми. Здесь об этом хорошо написал Каримельмель. Спасибо eisenhowerj за улучшение моего скрипта CloudFormation и добавление новых функций.