2017-12-05 5 views
0

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

1

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.

Verwandte Themen