Amazon S3, Cloudfront Bereitstellung Von Best-Practice
Unser Aktueller plan für eine Website ist die Verwendung von Amazon-Dienst Cloudfront als CDN für asset-Dateien wie CSS, JavaScript, Bilder und andere statische Dateien.
Wir derzeit haben 1 bucket in S3, die enthält alle diese statischen Dateien. Die Dateien sind in verschiedenen Ordnern getrennt je nachdem, was Sie sind, "Scripts" JS-Dateien "Bilder" sind Bilder, etc. yadda yadda yadda.
So, was ich nicht zu realisieren war von Anfang an, dass, wenn Sie einen Eimer bereitstellen von S3 zu einer Cloudfront-Verteilung, dann ist jeder nachfolgende Aktualisierung der Eimer nicht nochmals installieren, dass die gleiche Verteilung. Also, es sieht aus, als wenn Sie zur erneuten Implementierung der Eimer zu einem anderen Cloudfront-Instanz jedes mal, wenn Sie eine statische Datei update.
Das ist gut für Bilder, da können wir leicht sicherstellen, dass, wenn es ein Bild ändern, dann haben wir einfach ein neues Bild erstellen. Aber, das ist schwer zu tun, für CSS und JS.
So, das bringt mich zu den Besten Praxis Fragen:
- Ist es am besten Praxis, um einen anderen Cloudfront-Verteilung für jede Produktion-Bereitstellung? Das problem hier wäre, dass die Ursachen der Probleme mit CNAME-records.
- Ist es am besten Praxis, um NICHT die Lager CSS und JS in Cloudfront aufgrund der Natur der Dateien, und dem Erfordernis leicht modifiziert werden? Scheint, wie die Antwort wäre NEIN, denn das ist das Ziel eines CDN.
- Gibt es eine andere Methode mit Cloudfront, die ich nicht kennen?
InformationsquelleAutor der Frage Mike Richards | 2011-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Problem aufhebungsanforderungen zu CloudFront.
http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
Statt einem S3-bucket, obwohl, nutzen wir unsere eigenen server als custom-Herkunft. Wir haben
.htaccess
aliasstyle_*.css
zustyle.css
und wir injizieren Sie die Datei-änderungszeit fürstyle.css
im HTML. Als CloudFront sieht eine ganz andere URL, es wird Holen Sie die neue version.(Hinweis: Einige CDNs lassen Sie Sie tun, die per query-string, sondern CloudFront ignoriert alle query-string Daten für die Zwischenspeicherung, daher der
.htaccess
Lösung.)edit: CloudFront werden kann (Optional) konfiguriert die Verwendung von query-strings jetzt.
InformationsquelleAutor der Antwort ceejayoz
CloudFront hat begonnen, Unterstützung von query-strings, die Sie verwenden können, um invalidate cache.
http://aws.typepad.com/aws/2012/05/amazon-cloudfront-support-for-dynamic-content.html
InformationsquelleAutor der Antwort Mayank Jain