Wir hosten einige Skripte und Inhalte in Cloudfront. Diese sind öffentlich zugänglich von verschiedenen Verbrauchern als Teil ihrer Websites. Wenn die Skripte nicht mehr relevant sind, machen wir die Datei/den Inhalt ungültig und sie ist nicht mehr verfügbar. Die Personen, die das Skript/den Inhalt auf ihren Seiten verwenden, werden benachrichtigt, aber wir können sie nicht erzwingen, um das Skript/den Inhalt zu entfernen, der jetzt den Statuscode 403 anzeigt. Wie kann man diese Kosten vermeiden oder reduzieren?Amazon Cloudfront und 403 Kosten
Antwort
Hier ist eine Strategie.
Angenommen, Ihr Domain-Name lautet example.com.
Erstellen Sie eine CloudFront-Verteilung mit Alternate Domain Name *.example.com
.
Weisen Sie für jede Site, Skript oder Site + Script-Kombination einen benutzerdefinierten "Dummy" -Hostnamen zu - z. jozxyqkrd52169.example.com
. Gib dies nur einer Seite.
In Route 53 pflegen Sie nur DNS-Einträge für die Hostnamen, die Sie derzeit für gültig halten. Löschen Sie sie, wenn der Eintrag nicht mehr benötigt wird. Dies kann automatisiert werden.
Technisch gesehen würde CloudFront auf einen beliebigen *.example.com
Hostnamen antworten. Da jedoch kein DNS-Eintrag darauf verweist, werden keine Anfragen nach Hostnamen empfangen, die Sie nicht verwenden.
Sie zahlen für Route 53, um Abfragen nach Hostnamen mit gelöschten Einträgen zu bearbeiten. Dies ist jedoch nur ein Bruchteil der Kosten für die CloudFronr- und S3-Anfragepreise.
Alternativ zur Bereitstellung von Route 53 mit Datensätzen, die Sie bearbeiten möchten, können Sie sie mit einem Platzhaltersatz bereitstellen, der auf CloudFront verweist, und dann spezifische Einträge für Hostnamen erstellen, die Sie blockieren möchten. Ein CNAME-Eintrag, der auf einen Zielnamen verweist, z. B. invalid.invalid
(.invalid
ist ein Domänenname der obersten Ebene, der eigentlich dafür reserviert ist, dass ein Datensatz tatsächlich ungültig ist), sollte zum Überschreiben bestimmter Subdomänen und zum Verhindern von CloudFront-Anfragen für diese Namen verwendet werden können .
Beachten Sie, dass, solange Sie den Cache-Verhalten Cloudfront den Host
-Header an den Ursprung weiterleiten nicht konfigurieren, auf einer einzigen Verteilung, die für mehrere Host-Namen antwortet, foo.example.com/cat.js
und bar.example.com/cat.js
wäre das gleiche Objekt, so dass mehrere Host-Namen in Betracht gezogen werden Das sollte sich nicht negativ auf die Cache-Trefferquote auswirken.
- 1. Amazon Cloudfront Timeout-Fehler
- 2. Amazon CloudFront Versionierung 'index.html'
- 3. Konfigurieren Amazon Cloudfront Compression
- 4. Amazon MQ Kosten Details
- 5. Streaming Video - jwplayer, amazon s3 und cloudfront
- 6. Kosten für die Erstellung der Cloudfront-Verteilung von S3?
- 7. Amazon S3 + CloudFront CORS Problem
- 8. Amazon S3 403 AccessDenied Fehler
- 9. Mit CloudFront nur kostenlos Amazon ssl Zertifikat
- 10. übergibt Amazon Cloudfront Set-Cookie-Header?
- 11. Sendet Amazon S3 Ungültigmachungssignale an CloudFront?
- 12. Knoten js Server auf Amazon S3 & Cloudfront
- 13. GZIP funktioniert nicht in Amazon Cloudfront
- 14. Access-Control-Allow-Herkunft (CORS) Amazon CloudFront
- 15. Cloudfront Sicherung von Dateien in Amazon S3?
- 16. Amazon AWS Kosten von kleinen grundlegenden Web
- 17. Flowplayer RTMP Streaming, mp4, Amazon Cloudfront und iPad/iPhone
- 18. Amazon S3 und Cloudfront - Publish Datei hochgeladen als gehasht Dateiname
- 19. Amazon Cloudfront URL den Zugriff nur CNAME und nicht direkt
- 20. Cloudfront, EC2 und relative URLs
- 21. Laravel und AWS Cloudfront
- 22. Cloudfront gibt 403 zurück, wenn die Seite aktualisiert wird
- 23. 403 Verboten, wenn meine Website-URL über Cloudfront
- 24. Benutzerdefinierte Umleitungsregeln auf S3 liefert 403, wenn Cloudfront mit
- 25. 403 (verboten) beim Laden der AWS CloudFront-Datei
- 26. Heroku SSL Cloudfront Fehlende Schlüsselpaar-ID 403 Fehler
- 27. Cloudfront antwortet mit 403 verbotenen statt Auslösung Lambda
- 28. Amazon EC2 Ubuntu mit Apache "Forbidden" 403
- 29. 403 Forbidden anfordern Amazon S3-Datei anfordern
- 30. Amazon S3 REST API 403 Fehler C#