Amazon-CloudFront-Tutorials: Einrichtung einer dynamischen Inhaltsverteilung für Amazon S3

Einrichten einer Amazon-CloudFront-Verteilung für Amazon S3

Amazon CloudFront arbeitet nahtlos mit Amazon Simple Storage Service (Amazon S3) zusammen, um die Bereitstellung Ihrer Webinhalte zu beschleunigen und die Belastung Ihrer Ursprungsserver zu reduzieren. Amazon S3 ist eine hervorragende Wahl für alle, die Daten in der Cloud speichern und als Webinhalt bereitstellen möchten. Wenn Sie lieber Funktionalität oder dynamische Inhalte bereitstellen möchten, lesen Sie: Einrichten einer Amazon-CloudFront-Verteilung für Amazon Elastic Compute Cloud (Amazon EC2).

Sehen Sie sich diese AWS-TechTips-Demo an, um zu erfahren, wie Sie eine Amazon-CloudFront-CDN-Verteilung einrichten, mit Ihrem

Was sind die Vorteile der Einrichtung einer Amazon-CloudFront-Verteilung mit Amazon S3?

Eine Amazon CloudFront Content Delivery Network (CDN)-Verteilung bietet S3-Benutzern viele Vorteile.

Hohe Datenübertragungsgeschwindigkeiten

Mit CloudFront können Sie Ihre Inhalte Zuschauern auf der ganzen Welt schnell zur Verfügung stellen. Die vielen Edge-Standorte von CloudFront speichern Ihre Inhalte und stellen sie näher an Ihre Benutzer bereit, wodurch die Latenz reduziert und Kapazitäten von Ihrem Ursprungsserver entlastet werden.

Verbesserte Sicherheit und Leistung 

CloudFront schränkt auch den Zugriff auf Ihren S3-Bucket ein. Wenn Sie nur CloudFront-Endpunkten den Zugriff auf Ihre Inhalte gewähren, sind Ihre Anwendungen sicherer und reaktionsschneller.

Kostengünstige Datenübertragungen

Mit der CloudFront-Preisgestaltung können Sie Ihre Lieferung an Ihr Budget anpassen. AWS erhebt keine Gebühren für Datenübertragungen zwischen einem von AWS gehosteten Ursprung wie S3 und CloudFront, was den Ursprungsabruf zu einer kostengünstigen Option macht.

Beschleunigen Ihrer Ladegeschwindigkeit für dynamische Inhalte mit CloudFront und S3

Schritt 1. Zur AWS-Konsole gehen

Melden Sie sich zunächst bei Ihrer AWS-Managementkonsole an und wählen Sie Amazon S3 aus der Serviceliste aus. 

Schritt 2. Amazon-S3-Bucket erstellen

Von dort aus können Sie:

  • Einen S3-Bucket erstellen, falls Sie noch keinen haben, indem Sie Bucket erstellen auswählen.
  • Einen DNS-kompatiblen Bucket-Namen angeben.
  • Die Region auswählen, in der sich Ihr Bucket befinden soll.

Anschließend können Sie Ihren Bucket erstellen. Mithilfe der Konsolen- oder S3-APIs können Sie Ihrem Bucket weitere Dateien hinzufügen oder neue Buckets erstellen, wenn Sie dies wünschen. Wenn Sie zum ersten Mal einen S3-Bucket erstellen, dauert es einige Zeit, bis die DNS-Namensänderung weitergegeben wird – in der Regel bis zu 15 Minuten.

Schritt 3. Eine CloudFront-Verteilung erstellen

Gehen Sie als Nächstes vom Abschnitt Netzwerk und Inhaltsbereitstellung in der Serviceliste der AWS-Konsole zu CloudFront. Wenn Sie CloudFront bereits geöffnet haben, befindet es sich möglicherweise auch in Ihrem Verlauf, um einen schnelleren Zugriff zu ermöglichen. Von hier aus können Sie eine neue Webverteilung erstellen, indem Sie auf Verteilung erstellen klicken.  

Schritt 4. Verteilungs-Einstellungen angeben

Jetzt können Sie mit der Eingabe Ihrer Verteilungs-Einstellungen beginnen. Dies beginnt mit der Angabe der S3-Domain, die Sie erstellt haben, im Feld Ursprungs-Domainname.  

Schritt 5. Ursprung konfigurieren

Geben Sie Ihren Ursprungs-Domainnamen ein. Wenn Sie den S3-Bucket im selben AWS-Konto erstellt haben, sollte er in einer Dropdownliste innerhalb des Felds angezeigt werden. Wenn es sich in einem anderen Konto befindet, überprüfen Sie Ihre Bucket-Einstellungen, um CloudFront Zugriffsberechtigungen zu erteilen.

Durch das Erteilen von Zugriffsberechtigungen kann CloudFront die Objekte aus Ihrem Bucket lesen. Sie können auch einen Quellpfad angeben, wenn Sie alle Ihre Objekte in einem Unterordner ablegen.

Schritt 6. Ursprungs-Access-Identity konfigurieren

Von hier aus können Sie den Zugriff auf Ihren Amazon-S3-Ursprung einschränken. Wenn Sie Ja wählen, werden Sie vom System aufgefordert, eine Ursprungs-Access-Identity zu erstellen oder eine vorhandene auszuwählen, sodass CloudFront die Objekte aus Ihrem Bucket lesen kann. Sie haben auch die Möglichkeit, CloudFront zu erlauben, die Bucket-Richtlinie für Sie zu aktualisieren.

Wenn Sie den Zugriff nicht einschränken möchten, können Benutzer Ihre CloudFront möglicherweise umgehen und direkt über die S3-Bucket-URL auf Ihre Inhalte zugreifen. Für alle privaten oder vertraulichen Inhalte ist es wichtig, die richtigen Zugriffsbeschränkungen festzulegen.

In diesem Abschnitt können Sie auch einen Ursprungspfad angeben, wenn Sie alle Ihre Objekte in einem Unterordner speichern. Sie können einen benutzerdefinierten Ursprungs-Header mit einem bestimmten Wert angeben, den CloudFront bei jeder Anfrage an den Ursprung weiterleitet. Dies ist für benutzerdefinierte Ursprünge nützlich, da es zeigt, welche Anfrage von CloudFront im Vergleich zu einem anderen Client kam.

Schritt 7. Standard-Cache-Verhalten konfigurieren

Sie haben dann unter Standardeinstellungen für das Cache-Verhalten verschiedene Optionen.

Mit der Viewer-Protokollrichtlinie können Sie wählen, wie Sie mit HTTP- und HTTPS-Protokollen umgehen. Sie können beispielsweise festlegen, dass HTTP-Anfragen an HTTPS umgeleitet werden, sodass Sie Anfragen mit einem der beiden Protokolle unterstützen können. Sie können auch angeben, dass nur HTTPS unterstützt wird. In diesem Fall würde der HTTP-Datenverkehr verworfen. Dadurch wird sichergestellt, dass Sie die Best Practices im Bereich Websicherheit einhalten.

Mit CloudFront können Sie angeben, welche HTTP-Methoden akzeptiert werden sollen. Die Standardeinstellung ist GET, HEAD. Wenn Sie eine der anderen Optionen (GET, HEAD, OPTIONS oder GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE) auswählen, können Sie konfigurieren, wie CloudFront die Optionsmethode zwischenspeichert.

Sie können dann angeben, welche HTTP-Header Sie an Ihren Ursprung weiterleiten möchten. Es wird normalerweise empfohlen, Header entsprechend dem jeweiligen Anfrage- und Antwortverhalten für Ihren Amazon-S3-Ursprung zuzulassen. Insbesondere wenn Ihr Ursprung nach bestimmten HTTP-Headern sucht, um zu entscheiden, welches Objekt zurückgegeben werden soll, sollten Sie diese zulassen. Wenn Sie alle HTTP-Header weiterleiten, umgeht CloudFront tatsächlich die Caching-Ebenen und versucht überhaupt nicht, das Objekt zwischenzuspeichern.

Schritt 8. TTLs konfigurieren

In diesem nächsten Abschnitt können Sie die Time to Live (TTL) angeben und festlegen, wie lange Inhalte im Cache verbleiben, bevor sie ablaufen. Standardmäßig ist Ursprungs-Cache-Header verwenden ausgewählt. Alternativ können Sie die oberen und unteren Zeitgrenzen für Objekte anpassen, die in Ihrem CloudFront-Cache gespeichert werden sollen.

Wenn Sie diese Einstellungen bearbeiten möchten, werden Sie aufgefordert, eine minimale und maximale TTL in Sekunden einzugeben. Wenn Ihr Header dann einen Wert außerhalb Ihres Mindest- oder Höchstwerts zurückgibt, verwendet CloudFront entweder Ihre Mindest- oder Höchst-TTL. Wenn er innerhalb dieser Grenzen liegt, verwendet CloudFront den von Ihrem Ursprung zurückgegebenen Wert.

Wenn Ihr Ursprung keinen Cache-Control-Header zurückgibt, wird stattdessen die Standard-TTL verwendet. In unserem Beispielvideo ist der Standardwert auf 86 400 Sekunden festgelegt, was 24 Stunden entspricht.

Schritt 9. Zusätzliche Funktionen konfigurieren

In diesem nächsten Abschnitt können Sie auswählen, ob Inhalte basierend auf Cookies und Abfragezeichenfolgenparametern zwischengespeichert werden sollen.

Wie bei HTTP-Headern wird empfohlen, nur die Cookies oder Abfragezeichenfolgenwerte zuzulassen, die für Ihren Ursprung relevant sind. Sie können diese auch weiterleiten und das CDN wird trotzdem versuchen, sie zwischenzuspeichern. Seien Sie vorsichtig, wenn Sie sich dafür entscheiden, alle weiterzuleiten – dies könnte Ihre Cache-Trefferquote erheblich reduzieren, wenn CloudFront alles weiterleitet. Daher kann es sein, dass eine große Anzahl von Objekten aufgrund der unterschiedlichen möglichen Variationen von Abfragen und Cookie-Werten mehrfach zwischengespeichert wird.

Sie haben dann mehr Optionen in den folgenden Feldern:

Unter Verteilungs-Einstellungen können Sie angeben, welche Teile des CloudFront-Netzwerks Sie verwenden möchten. Standardmäßig verwendet CloudFront alle Edge-Standorte, um die beste Leistung zu erzielen. Dies wird dazu beitragen, Ihre Inhalte so schnell wie möglich auf der ganzen Welt bereitzustellen.

Wenn Sie Zuschauer nur in bestimmten Regionen erwarten, z. B. in den USA, Kanada und Europa, können Sie nur diese Regionen als niedrigere Preisklasse angeben. Das bedeutet nicht, dass Zuschauer außerhalb dieser Regionen nicht auf Ihre Inhalte zugreifen könnten – CloudFront würde sie einfach an ihren nächstgelegenen Edge-Standort weiterleiten. Wenn Sie die AWS Web Application Firewall (AWS WAF) mit CloudFront verwenden, können Sie diese Einstellungen auch hier konfigurieren.

Bevor Sie Ihre Verteilung speichern, ist es wichtig, Ihr Secure Sockets Layer (SSL)-Zertifikat zu verwalten. Hier gibt es zwei Möglichkeiten:

  • Verwenden Sie das standardmäßige CloudFront-Zertifikat.
  • Laden Sie ein benutzerdefiniertes SSL-Zertifikat von AWS Certificate Manager (ACM) hoch oder fordern Sie es an und verknüpfen Sie es mit Ihrer CloudFront-Verteilung. Dies ist geeignet, wenn Sie eine benutzerdefinierte Domain verwenden.

Schließlich können Sie die verbleibenden Einstellungen verwenden, um Folgendes festzulegen:

  • Welche unterstützten HTTP-Versionen Sie verwenden möchten.
  • Ob Sie Protokollierung verwenden werden und welchen Bucket-für-Protokolle-CloudFront zum Speichern von Zugriffsprotokollen Sie verwenden sollten.
  • Ob die Cookie-Protokollierung aktiv ist.

Von dort aus können Sie eine Beschreibung eingeben und die Verteilung erstellen. Nach dem Speichern dauert es ungefähr 15 Minuten, bis Ihre Verteilung weltweit bereitgestellt ist.

Schritt 10. CloudFront-Verteilung testen

Sobald die Verteilung fertig ist, können Sie darauf klicken, um Ihre Einstellungen zu überprüfen. Der erste Bildschirm zeigt Ihnen eine Reihe von Registerkarten und die von Ihnen angegebenen Konfigurationseinstellungen an. Von dort aus können Sie bei Bedarf zusätzliche Ursprünge und mehrere Cache-Verhalten hinzufügen.

Mit CloudFront können Sie auch benutzerdefinierte Fehlerseiten erstellen oder ändern, wie lange Fehlerantworten im Cache verbleiben, indem Sie Kundenfehlerantwort erstellen auswählen. Sie können diese Einstellungen für jeden HTTP-Fehlercode anpassen. Nehmen wir an, Sie möchten es für alle 403 erneut versuchen. Sie könnten eine Mindest-TTL von 0 Sekunden angeben. Standardmäßig speichert CloudFront alles 300 Sekunden lang im Cache, um den Ursprung etwas zu entlasten. Wenn Sie möchten, können Sie auch benutzerdefinierte Fehlerantworten für jeden Fehlercode erstellen.

Auf der Registerkarte Einschränkungen können Sie geografische Einschränkungen aktivieren, um Zuschauern an bestimmten Orten zu erlauben oder zu verbieten, Ihre Inhalte zu sehen. Auf der Registerkarte Invalidierungen können Sie benutzerdefinierte Objekte aus CloudFront-Edge-Caches entfernen. Schließlich können Sie die Registerkarte Tags verwenden, um benutzerdefinierte Tags anzuwenden, die Ihnen helfen, Ihre Verteilungen zu organisieren und zu identifizieren.

Wenn Sie fertig sind, kopieren Sie die Domain und fügen Sie sie in Ihren Browser ein, um Ihre Verteilung in Aktion zu sehen. Sie können auch lernen, wie Sie den dynamischen Inhalt Ihrer App bereitstellen, und zwar mithilfe von CloudFront mit einer Amazon-EC2-Webserver-Instance.

Amazon-CloudFormation-Vorlage, die Ihnen die ersten Schritte in CloudFront erleichtert

Die Amazon-CloudFormation-Vorlage hilft Ihnen auch bei den ersten Schritten mit CloudFront. Diese Vorlage startet einen S3-Bucket, um Ihre statischen Dateien in großem Umfang zu speichern, und stellt diesen Inhalt dann über das CloudFront-CDN an Ihre Benutzer bereit.

Weitere Informationen finden Sie im Blogbeitrag mit dem Titel Amazon S3 + Amazon CloudFront: A Match Made in the Cloud und holen Sie sich die CloudFormation-Vorlage.

Zusätzliche Ressourcen zur Bereitstellung von Inhalten mit CloudFront

Sie sind sich nicht sicher, wie Sie mit CloudFront beginnen sollen? Lesen Sie unseren Leitfaden Erste Schritte mit den Netzwerken für die Bereitstellung von Inhalten oder besuchen Sie den Dokumentationshub für das Amazon Web Services Content Delivery Network.

Sehen Sie sich diese Ressourcen zur Verwaltung Ihrer CloudFront-Verteilung in S3 in unserem Premium Support Knowledge Center an:

Weitere Amazon-CloudFront-Ressourcen entdecken

Besuchen Sie die Ressourcen-Seite
Bereit zum Entwickeln?
Kostenlos mit Amazon CloudFront starten
Haben Sie noch Fragen?
Kontakt