Crie um site estático simples, barato e apoiado por CDN usando um único script AWS CloudFormation. Perfeito para sites construídos usando geradores de sites estáticos, por exemplo, Gatsby, Hugo, 11ty; aplicativos React sem estado; ou apenas arquivos HTML, CSS e de imagem antigos.
Registre um domínio na AWS aqui
Criou uma zona hospedada para esse domínio no Route53
Crie uma nova pilha do CloudFormation usando o modelo simple-static-website.yaml
. Isso DEVE ser feito em us-east-1
devido a restrições do CloudFront.
Forneça os parâmetros:
Provisione a pilha do CloudFormation usando o console ou com awscli:
aws cloudformation deploy
--stack-name foo
--template-file simple-static-website.yaml
--parameter-overrides
DomainName=example.com
HostedZoneId=ABCDEFGHIJK0123456789
WebsiteName=www
Coloque um arquivo index.html simples no bucket S3 recém-criado. Verifique a saída do CloudFormation da pilha para obter um exemplo de comando awscli.
Visite seu novo site no domínio que você forneceu. Consulte Saídas do CloudFormation para URL.
Lembre-se de que o CloudFront CDN armazenará seu site em cache em vários locais ao redor do mundo. Se você mudar de site, terá que invalidar o cache. Aplicam-se taxas, mas no geral esta é uma configuração extremamente barata porque não executa nenhum servidor.
Este script foi inspirado na excelente postagem do blog de Alain Seng, bem como na saída de meus sites existentes provisionados manualmente executados por meio do agora extinto modelo CloudFormer da Amazon. CloudFormer é uma excelente ferramenta, no entanto, foi varrido para debaixo do tapete pela Amazon devido ao número crescente de CVEs aos quais a solução deixou os usuários abertos. Há um bom artigo de Karimelmel sobre isso aqui. Obrigado a eisenhowerj por melhorar meu script CloudFormation e adicionar novos recursos.