Ist AWS CloudFront nützlich, wenn ich nur eine Region bedienen muss?

Ist AWS CloudFront nützlich, wenn ich nur eine Region bedienen muss?

Wir stellen Videos aus einem S3-Bucket (in Mumbai) Benutzern in einer einzigen Region (Indien) zur Verfügung. Wir gehen davon aus, dass Tausende von Benutzern nur aus Indien auf diese Dateien zugreifen. Lohnt sich eine CloudFront-Verteilung? Würde sich die Latenz verringern, wenn wir CloudFront verwenden? Kann S3 die Bandbreite bewältigen, wenn wir CloudFront nicht verwenden?

Danke für die Hilfe.

Antwort1

Aus Leistungssicht ist es wahrscheinlich nützlich.

CloudFront verfügt derzeit über 5 Edge-Standorte in Indien (Chennai (2), Neu-Delhi (1) und Mumbai (2)). Dies lässt darauf schließen, dass mit CloudFront geringere Latenzen erreicht werden können, einfach weil Ihre Inhalte wahrscheinlich näher an den Benutzern sind (abhängig von ihrer geografischen Verteilung)...

Bei CloudFront fallen jedoch Premiumkosten in Höhe von 0,17 USD/GB an, wenn von Edge-Standorten in Indien heruntergeladen wird, im Vergleich zu 0,1093 USD/GB, wenn direkt von S3 in Mumbai heruntergeladen wird. (Bei Verwendung von CloudFront + S3 fällt die S3-Bandbreitengebühr nicht an.)

Also, ja, „nützlich“, aber es lässt sich nicht sagen, ob es ausreichend nützlich ist, um die Kosten in dieser bestimmten geografischen Region zu rechtfertigen.

S3 hatRichtlinien für bewährte Vorgehensweisenfür Buckets, die Anforderungsraten von über 800 (Spitzenwert) oder 300 (Dauerwert) GETAnforderungen pro Sekunde erwarten, wenn CloudFront nicht ebenfalls verwendet wird. Der Dienst wird über diese Werte hinaus skaliert, aber die Einhaltung der Richtlinien trägt dazu bei, dass er effektiver skaliert. (Hotkeys und Index-Hotspots sind nicht so einfach skalierbar wie gut verteilte Schlüssel). Für Anforderungsraten unter 100 Anforderungen/s sind keine besonderen Überlegungen erforderlich.

Eine weitere Option istS3-Übertragungsbeschleunigung, das Anfragen selektiv über das AWS „Edge Network“ (also das CloudFront) weiterleitet.Transport Netzwerk) ohne tatsächliches Caching. In Mumbai sind das 0,04 $/GB + 0,1093 $/GB für Downloads. Der Vorteil dabei ist, dass der Browser möglicherweise eine Verbindung zu einem Server an einem Randstandort herstellt, der die Verbindung von dort zurück zu S3 leitet. Dadurch wird der Datenverkehr so ​​weit wie möglich über das AWS-Netzwerk zurückgelegt, bevor er an das öffentliche Internet übergeben wird, was die Übertragungszeiten erheblich verbessern kann, indem die Übertragung optimiert und Paketverluste an einem Zwischenstandort näher am Betrachter behandelt werden. Wenn S3 Transfer Acceleration verwendet wird, wird die DNS-Logik, die CloudFront zum Senden von Anfragen an den nächstgelegenen Rand verwendet, stattdessen verwendet, um den besten Weg zu ermitteln, einen bestimmten Betrachter zurück zur S3-Region zu verbinden – so kann der Benutzer direkt mit S3 verbunden werden (in diesem Fall wird Ihnen die Bandbreitengebühr von 0,04 $/GB für die Beschleunigungsfunktion für diese Anfrage nicht berechnet) oder er wird über das Edge-Netzwerk geleitet (in diesem Fall wird Ihnen dies berechnet). Die Idee dahinter ist, dass die Funktion sich automatisch selbst umgeht, wenn sie Anfragen beantwortet, bei denen sie wahrscheinlich nicht hilft, basierend auf der Geolokalisierung des Anforderers relativ zu der des Buckets. Wenn Sie dies für einen Bucket aktivieren, ändern Sie auch den Bucket-Endpunkt in bucket-name.s3-accelerate.amazonaws.com. Es unterstützt nur die REST-Schnittstelle, nicht die Website-Hosting-Funktion, aber das ist in Ordnung, wenn Sie keine Funktionen wie Weiterleitungen und Indexdokumente verwenden. Angesichts Ihrer geografischen Lage und der Besonderheiten der Bandbreitenpreise dort ist dies möglicherweise ein guter Ausgangspunkt.

verwandte Informationen