View a markdown version of this page

Optimieren Sie die Hochverfügbarkeit mit CloudFront Origin-Failover - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Optimieren Sie die Hochverfügbarkeit mit CloudFront Origin-Failover

Sie können das Origin-Failover für Szenarien einrichten CloudFront , die eine hohe Verfügbarkeit erfordern. Zunächst erstellen Sie eine Ursprungsgruppe mit zwei Ursprüngen: einem primären und einem sekundären. Wenn der primäre Ursprung nicht verfügbar ist oder bestimmte HTTP-Antwortstatuscodes zurückgibt, die auf einen Fehler hinweisen, wechselt CloudFront automatisch zum sekundären Ursprung.

Zum Einrichten eines Origin Failovers müssen Sie eine Verteilung mit mindestens zwei Ursprüngen haben. Anschließend erstellen Sie eine Ursprungsgruppe für Ihre Verteilung, die die beiden Ursprünge enthält, und von denen Sie einen als primär einstellen. Schließlich erstellen oder aktualisieren Sie ein Cache-Verhalten, um die Ursprungsgruppe zu verwenden.

Informationen zu den Schritten zum Einrichten von Ursprungsgruppen und zum Konfigurieren bestimmter Ursprungs-Failover-Optionen finden Sie unter Erstellen einer Ursprungsgruppe.

Nachdem Sie das Origin-Failover für ein Cache-Verhalten konfiguriert haben, gehen CloudFront Sie für Viewer-Anfragen wie folgt vor:

  • Bei einem Cache-Treffer wird das angeforderte Objekt CloudFront zurückgegeben.

  • Bei einem Cache-Fehler wird die CloudFront Anfrage an den primären Ursprung in der Ursprungsgruppe weitergeleitet.

  • Wenn der primäre Ursprung einen Statuscode zurückgibt, der nicht für ein Failover konfiguriert ist, z. B. ein HTTP 2xx- oder 3xx-Statuscode, wird das angeforderte CloudFront Objekt dem Viewer zugestellt.

  • Wenn eine der folgenden Bedingungen eintritt:

    • Der primäre Ursprung gibt einen HTTP-Statuscode zurück, den Sie für das Failover konfiguriert haben

    • CloudFront kann keine Verbindung zum primären Ursprung herstellen (wenn 503 als Failovercode festgelegt ist)

    • Die Antwort vom primären Ursprung dauert zu lange (Timeout) (wenn 504 als Failover-Code festgelegt ist)

    CloudFront Leitet die Anfrage dann an den sekundären Ursprung in der Ursprungsgruppe weiter.

    Anmerkung

    In einigen Anwendungsfällen, z. B. beim Streamen von Videoinhalten, CloudFront möchten Sie möglicherweise schnell einen Failover zum sekundären Ursprung durchführen. Informationen dazu, wie schnell ein CloudFront Failover zum sekundären Ursprung erfolgen soll, finden Sie unterSteuern von Timeouts und Verbindungsversuchen für Ursprünge.

CloudFront leitet alle eingehenden Anfragen an den primären Ursprung weiter, auch wenn bei einer früheren Anfrage ein Failover an den sekundären Ursprung durchgeführt wurde. CloudFront sendet Anfragen nur an den sekundären Ursprung, nachdem eine Anfrage an den primären Ursprung fehlgeschlagen ist.

CloudFront Failover zum sekundären Ursprung erfolgt nur, wenn die HTTP-Methode der Viewer-Anfrage GETHEAD, oder lautetOPTIONS. CloudFront führt kein Failover durch, wenn der Viewer eine andere HTTP-Methode sendet (z. B. POSTPUT, usw.).

Anmerkung

CloudFront führt kein Failover durch, wenn sie nicht Zwischengespeicherte HTTP-Methoden in Ihrem Cache als Verhalten festgelegt OPTIONS sind.

Das folgende Diagramm veranschaulicht, wie Origin Failover funktioniert.

Funktionsweise von Origin Failover

Erstellen einer Ursprungsgruppe

So erstellen Sie eine Ursprungsgruppe
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Wählen Sie die Verteilung aus, für die Sie die Ursprungsgruppe erstellen möchten.

  3. Wählen Sie den Tab Ursprünge aus.

  4. Stellen Sie sicher, dass die Verteilung mehr als einen Ursprung hat. Wenn dies nicht der Fall ist, fügen Sie einen zweiten Ursprung hinzu.

  5. Wählen Sie auf der Registerkarte Ursprünge im Bereich Ursprungsgruppen die Option Ursprungsgruppe erstellen aus.

  6. Wählen Sie die Ursprünge für die Ursprungsgruppe aus. Nachdem Sie Ursprünge hinzugefügt haben, verwenden Sie die Pfeile, um die Priorität festzulegen, d. h., welcher Ursprung primär und welcher sekundär ist.

  7. Geben Sie einen Namen für die Ursprungsgruppe ein.

  8. Wählen Sie die HTTP-Statuscodes aus, die als Failover-Kriterien verwendet werden sollen. Sie können eine beliebige Kombination der folgenden Statuscodes wählen: 400, 403, 404, 416, 429, 500, 502, 503 oder 504. Wenn eine Antwort mit einem der von Ihnen angegebenen Statuscodes CloudFront empfangen wird, erfolgt ein Failover zum sekundären Ursprung.

    Anmerkung

    CloudFront Ein Failover zum sekundären Ursprung erfolgt nur, wenn die HTTP-Methode der Viewer-Anfrage auf GETHEAD, oder gesetzt istOPTIONS. CloudFront führt kein Failover durch, wenn der Viewer eine andere HTTP-Methode sendet (z. B. POSTPUT, usw.).

  9. Geben Sie unter Auswahlkriterien für den Ursprung an, wie Ihre Ursprünge ausgewählt werden, wenn Ihre Distribution Viewer-Anforderungen weiterleitet. Sie können die folgenden Optionen auswählen:

    Standard

    CloudFront verwendet die Standardurftspriorität, die Sie auf der Seite „Einstellungen“ angeben.

    Medienqualitätswert

    CloudFront verfolgt und verwendet diese Punktzahl, um den ersten Ursprung zu ermitteln, an den die Anfrage weitergeleitet werden soll. Dies berechtigt auch CloudFront dazu, asynchrone HEAD Anfragen an den alternativen Absender in der Ursprungsgruppe zu stellen, um dessen Medienqualitätsfaktor zu ermitteln. Sie können diese Option nur für AWS Elemental MediaPackage v2-Ursprünge wählen. Weitere Informationen finden Sie unter Media Quality-Aware Resiliency.

  10. Wählen Sie Ursprungsgruppe erstellen aus.

Stellen Sie sicher, dass Sie Ihre Ursprungsgruppe als Ursprung für das Cacheverhalten Ihrer Distribution angeben. Weitere Informationen finden Sie unter Name.

Steuern von Timeouts und Verbindungsversuchen für Ursprünge

CloudFront Versucht standardmäßig 30 Sekunden lang, eine Verbindung zum primären Ursprung in einer Ursprungsgruppe herzustellen (3 Verbindungsversuche von jeweils 10 Sekunden), bevor ein Failover zum sekundären Ursprung erfolgt. In einigen Anwendungsfällen, z. B. beim Streamen von Videoinhalten, CloudFront möchten Sie möglicherweise schneller einen Failover zum sekundären Ursprung durchführen. Sie können die folgenden Einstellungen anpassen, um zu beeinflussen, wie schnell ein CloudFront Failover zum sekundären Ursprung erfolgt. Wenn der Ursprung ein sekundärer Ursprung ist oder ein Ursprung, der nicht Teil einer Ursprungsgruppe ist, wirken sich diese Einstellungen darauf aus, wie schnell eine HTTP 504-Antwort an den Viewer CloudFront zurückgegeben wird.

Wenn Sie ein Failover schneller ausführen möchten, geben Sie ein kürzeres Verbindungstimeout, weniger Verbindungsversuche, oder beides an. Für benutzerdefinierte Ursprünge (einschließlich Amazon S3-Bucket-Ursprünge, die mit statischem Website-Hosting konfiguriert sind) können Sie auch das Timeout der Ursprungsantwort anpassen.

Timeout der Ursprungsverbindung

Die Timeout-Einstellung für die Originalverbindung wirkt sich darauf aus, wie lange beim Versuch, eine Verbindung zum Ursprung herzustellen, CloudFront gewartet wird. CloudFront Wartet standardmäßig 10 Sekunden, um eine Verbindung herzustellen. Sie können jedoch 1—10 Sekunden (einschließlich) angeben. Weitere Informationen finden Sie unter Verbindungstimeout.

Verbindungsversuche zum Ursprung

Die Einstellung für Verbindungsversuche über den Ursprung wirkt sich darauf aus, wie oft CloudFront versucht wird, eine Verbindung zum Ursprung herzustellen. CloudFront Versucht standardmäßig dreimal, eine Verbindung herzustellen, Sie können jedoch 1—3 (einschließlich) angeben. Weitere Informationen finden Sie unter Verbindungsversuche.

Für einen benutzerdefinierten Ursprung (einschließlich eines Amazon S3-Buckets, der mit statischem Website-Hosting konfiguriert ist) wirkt sich diese Einstellung auch darauf aus, wie oft CloudFront versucht wird, im Falle eines Timeouts der Ursprungsantwort eine Antwort vom Ursprung zu erhalten.

Ursprungs-Reaktions-Timeout

Der Timeout der ursprünglichen Antwort, auch bekannt als Timeout für den ursprünglichen Lesevorgang, wirkt sich darauf aus, wie lange auf den Empfang einer Antwort (oder auf den Erhalt der vollständigen Antwort) vom Ursprung CloudFront gewartet wird. CloudFront Wartet standardmäßig 30 Sekunden, Sie können jedoch 1—120 Sekunden (einschließlich) angeben. Weitere Informationen finden Sie unter Antwort-Timeout.

So ändern Sie diese Einstellungen

So ändern Sie diese Einstellungen in der CloudFront-Konsole

  • Für einen neuen Ursprung oder eine neue Verteilung geben Sie diese Werte an, wenn Sie die Ressource erstellen.

  • Für einen vorhandenen Ursprung in einer vorhandenen Verteilung geben Sie diese Werte an, wenn Sie den Ursprung bearbeiten.

Weitere Informationen finden Sie unter Referenz für alle Distributionseinstellungen.

Verwenden von Origin Failover mit Lambda@Edge-Funktionen

Sie können Lambda @Edge -Funktionen mit CloudFront Verteilungen verwenden, die Sie mit Ursprungsgruppen eingerichtet haben. Um eine Lambda-Funktion zu verwenden, geben Sie sie in einem Ursprungsanforderungs- oder Ursprungsantwort-Auslöser für eine Ursprungsgruppe an, wenn Sie die Cache-Verhaltenweise erstellen. Wenn Sie eine Lambda@Edge-Funktion mit einer Ursprungsgruppe verwenden, kann die Funktion zweimal für eine einzelne Viewer-Anfrage ausgelöst werden. Betrachten Sie beispielsweise folgendes Szenario:

  1. Sie erstellen eine Lambda@Edge-Funktion mit einem Ursprungsanfrage-Auslöser.

  2. Die Lambda-Funktion wird einmal ausgelöst, wenn eine Anfrage an den primären Ursprung CloudFront gesendet wird (bei einem Cache-Fehler).

  3. Der primäre Ursprung antwortet mit einem HTTP-Statuscode, der für das Failover konfiguriert ist.

  4. Die Lambda-Funktion wird erneut ausgelöst, wenn dieselbe Anfrage CloudFront an den sekundären Ursprung gesendet wird.

Das folgende Diagramm illustriert die Funktionsweise von Origin Failover, wenn Sie eine Lambda@Edge-Funktion in eine Ursprungsanfrage oder einen Antwort-Auslöser einbeziehen.

Funktionsweise von Origin Failover mit Lambda@Edge-Funktionen

Weitere Informationen zur Verwendung von Lambda@Edge-Auslösern finden Sie unter Hinzufügen von Auslösern für eine Lambda@Edge-Funktion.

Weitere Informationen zur Verwaltung des DNS-Failovers finden Sie unter Konfigurieren von DNS-Failover im Entwicklerhandbuch für Amazon Route 53.

Verwenden von benutzerdefinierten Fehlerseiten mit Ursprung-Failover

Sie können benutzerdefinierte Fehlerseiten mit Ursprungsgruppen ähnlich verwenden wie Ursprünge, die nicht für Origin Failover konfiguriert wurden.

Wenn Sie Origin-Failover verwenden, können Sie so konfigurieren, CloudFront dass eine benutzerdefinierte Fehlerseite für den primären oder sekundären Ursprung (oder für beide) zurückgegeben wird:

  • Eine benutzerdefinierte Fehlerseite für den primären Ursprung zurückgeben — Wenn der primäre Ursprung einen HTTP-Statuscode zurückgibt, der nicht für das Failover konfiguriert ist, wird die benutzerdefinierte Fehlerseite an die Zuschauer CloudFront zurückgegeben.

  • Eine benutzerdefinierte Fehlerseite für den sekundären Ursprung zurückgeben — Wenn ein Fehlerstatuscode vom sekundären Ursprung CloudFront empfangen wird, wird die benutzerdefinierte Fehlerseite CloudFront zurückgegeben.

Weitere Hinweise zur Verwendung benutzerdefinierter Fehlerseiten mit CloudFront finden Sie unterErstellen von benutzerdefinierten Fehlerantworten.