Créez un site Web statique simple et bon marché, soutenu par CDN, à l'aide d'un seul script AWS CloudFormation. Parfait pour les sites construits à l'aide de générateurs de sites statiques, par exemple Gatsby, Hugo, 11ty ; applications React apatrides ; ou tout simplement de vieux fichiers HTML, CSS et image.
Enregistrez un domaine dans AWS ici
Création d'une zone hébergée pour ce domaine dans Route53
Créez une nouvelle pile CloudFormation à l'aide du modèle simple-static-website.yaml
. Cela DOIT être fait dans us-east-1
en raison des contraintes avec CloudFront.
Fournissez les paramètres :
Provisionnez la pile CloudFormation à l'aide de la console ou avec awscli :
aws cloudformation deploy
--stack-name foo
--template-file simple-static-website.yaml
--parameter-overrides
DomainName=example.com
HostedZoneId=ABCDEFGHIJK0123456789
WebsiteName=www
Placez un simple fichier index.html dans le compartiment S3 nouvellement créé. Vérifiez la sortie CloudFormation de la pile pour un exemple de commande awscli.
Visitez votre nouveau site Web sur le domaine que vous avez fourni. Voir les sorties CloudFormation pour l'URL.
N'oubliez pas que le CDN CloudFront mettra en cache votre site Web à plusieurs endroits dans le monde. Si vous changez de site, vous devrez invalider le cache. Des frais s'appliquent, mais dans l'ensemble, il s'agit d'une configuration extrêmement bon marché car elle n'exécute aucun serveur.
Ce script a été inspiré par l'excellent article de blog d'Alain Seng, ainsi que par la sortie de mes sites existants provisionnés manuellement et exécutés via le modèle CloudFormer d'Amazon, aujourd'hui disparu. CloudFormer est un excellent outil, mais il a été balayé sous le tapis par Amazon en raison du nombre croissant de CVE auxquels la solution laissait les utilisateurs ouverts. Il y a un bon article de Karimelmel à ce sujet ici. Merci à eisenhowerj pour avoir amélioré mon script CloudFormation et ajouté de nouvelles fonctionnalités.