Amazon S3 Cloudfront Déploiement Des Meilleures Pratiques
Notre plan actuel d'un site est d'utiliser Amazon Cloudfront comme un service de CDN pour les actifs, tels les fichiers CSS, JavaScript et les Images, et tous les autres fichiers statiques.
Nous avons actuellement 1 seau en S3 qui contient tous ces fichiers statiques. Les fichiers sont séparés dans différents dossiers en fonction de ce qu'ils sont, des "Scripts" sont JS fichiers, les "Images" sont des Images, etc yadda yadda yadda.
Donc, ce que je ne savais pas depuis le début, était que, une fois que vous déployez un Seau de S3 à une Distribution Cloudfront, puis à chaque mise à jour ultérieure, le seau de ne pas déployer de nouveau à la même Distribution. Ainsi, il semble comme si vous avez de redéployer le seau à l'autre Cloudfront exemple chaque fois que vous avez un fichier statique mise à jour.
C'est très bien pour les images, parce que nous pouvons facilement assurez-vous que si une modification est apportée à une image, alors que nous venons de créer une nouvelle image. Mais, c'est difficile à faire pour les CSS et JS.
Donc, que me fait la Meilleure Pratique questions:
- Est-il de meilleures pratiques pour créer une autre Distribution Cloudfront pour chaque déploiement de production? Le problème ici serait que les causes des problèmes avec les enregistrements CNAME.
- Est-il conseillé de ne PAS l'entrepôt CSS et JS dans Cloudfront en raison de la nature de ces fichiers, et leur besoin d'être modifié facilement? Semble que la réponse à ce ne serait PAS parce que c'est le but d'un CDN.
- Est-il une autre méthode avec Cloudfront que je ne le sais pas?
- Bonjour, pouvez-vous me dire comment vous avez déployer votre css pour CA? Comment avez-vous envoyer le css, js fichiers de votre CA? Êtes-vous à l'aide de capistrano?
- allez utiliser cloudflare, c'est gratuit 😀
Vous devez vous connecter pour publier un commentaire.
Vous pouvez émettre des demandes d'invalidation de CloudFront.
http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
Au lieu d'un compartiment S3, cependant, nous utilisons notre propre serveur comme une coutume d'origine. Nous avons
.htaccess
aliasstyle_*.css
àstyle.css
, et nous injectons de la date de modification du fichier pourstyle.css
dans le code HTML. Comme CloudFront voit un tout autre adresse URL, il va chercher de la nouvelle version.(Remarque: Certains réseaux de diffusion de contenu vous permettent de le faire via la chaîne de requête, mais CloudFront ignore toutes les données de chaîne de requête pour la mise en cache, d'où le
.htaccess
solution).edit: CloudFront peut être (éventuellement) configuré pour l'utilisation de chaînes de requête maintenant.
CloudFront a commencé à soutenir les chaînes de requête, que vous pouvez utiliser pour invalider le cache.
http://aws.typepad.com/aws/2012/05/amazon-cloudfront-support-for-dynamic-content.html