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 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, CloudFront wird automatisch zum sekundären Ursprung gewechselt.

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 Sie eine Ursprungsgruppe.

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

  • Gibt bei einem Cache-Treffer das angeforderte Objekt CloudFront zurück.

  • Wenn ein Cache-Fehler auftritt, CloudFront leitet die Anfrage an den primären Ursprung in der Ursprungsgruppe weiter.

  • Wenn der primäre Ursprung einen Statuscode zurückgibt, der nicht für Failover konfiguriert ist, z. B. einen HTTP-Statuscode 2xx oder 3xx, wird das angeforderte CloudFront Objekt dem Betrachter 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

    • Die Antwort vom primären Ursprung dauert zu lange (Timeout)

    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 auf den sekundären Ursprung umschalten. Informationen darüber, wie schnell ein CloudFront Failover zum sekundären Ursprung erfolgen soll, finden Sie unterKontrolliere Timeouts und Versuche bei der Herkunft.

CloudFront leitet alle eingehenden Anfragen an den primären Ursprung weiter, auch wenn bei einer vorherigen Anfrage ein Failover zum sekundären Ursprung erfolgt ist. CloudFront sendet Anfragen nur dann an den sekundären Ursprung, wenn eine Anfrage an den primären Ursprung fehlschlägt.

CloudFront wechselt nur dann zum sekundären Ursprung, wenn die HTTP-Methode der Viewer-AnfrageGET,HEAD, oder istOPTIONS. CloudFront führt nicht zu einem Failover, wenn der Betrachter eine andere HTTP-Methode sendet (z. B. POSTPUT, usw.).

Das folgende Diagramm veranschaulicht, wie Origin Failover funktioniert.

Funktionsweise von Origin Failover

Erstellen Sie eine Ursprungsgruppe

So erstellen Sie eine Ursprungsgruppe
  1. Melden Sie sich bei der an AWS Management Console 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, 500, 502, 503 oder 504. Wenn CloudFront Sie eine Antwort mit einem der von Ihnen angegebenen Statuscodes erhalten, erfolgt ein Failover zum sekundären Ursprung.

    Anmerkung

    CloudFront führt nur dann ein Failover zum sekundären Ursprung durch, wenn die HTTP-Methode der Viewer-Anfrage GETHEAD, oder istOPTIONS. CloudFront führt nicht zu einem Failover, wenn der Betrachter eine andere HTTP-Methode sendet (z. B. POSTPUT, usw.).

  9. Wählen Sie Ursprungsgruppe erstellen aus.

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

Kontrolliere Timeouts und Versuche bei der Herkunft

CloudFront Versucht standardmäßig, bis zu 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 auf den sekundären Ursprung umschalten. Sie können die folgenden Einstellungen anpassen, um festzulegen, wie schnell ein CloudFront Failover zum sekundären Ursprung erfolgen soll. Handelt es sich bei dem Ursprung um einen sekundären Ursprung oder um einen Ursprung, der nicht Teil einer Ursprungsgruppe ist, beeinflussen diese Einstellungen, wie schnell eine HTTP 504-Antwort an den Betrachter 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 Einstellung für das Timeout für die ursprüngliche Verbindung beeinflusst, wie lange CloudFront gewartet wird, wenn versucht wird, eine Verbindung zum Ursprung herzustellen. CloudFront Wartet standardmäßig 10 Sekunden, bis eine Verbindung hergestellt wird. 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. Standardmäßig wird dreimal CloudFront versucht, eine Verbindung herzustellen, aber Sie können 1—3 (einschließlich) angeben. Weitere Informationen finden Sie unter Verbindungsversuche.

Für einen benutzerdefinierten Ursprung (einschließlich eines Amazon S3 S3-Buckets, der mit statischem Website-Hosting konfiguriert ist) wirkt sich diese Einstellung auch darauf aus, wie oft CloudFront versucht wird, eine Antwort vom Ursprung zu erhalten, falls es zu einem Timeout für die ursprüngliche Antwort kommt.

Ursprungs-Reaktions-Timeout
Anmerkung

Dies gilt nur für benutzerdefinierte Ursprünge.

Die Einstellung für das Timeout für die CloudFront ursprüngliche Antwort beeinflusst, wie lange auf den Empfang einer Antwort (oder auf den Erhalt der vollständigen Antwort) vom Ursprung gewartet wird. CloudFront Wartet standardmäßig 30 Sekunden, aber Sie können 1—60 Sekunden (einschließlich) angeben. Weitere Informationen finden Sie unter Reaktions-Timeout (nur benutzerdefinierte Ursprünge).

So ändern Sie diese Einstellungen

Um diese Einstellungen in der Konsole zu ändern CloudFront

  • 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 zu Verteilungseinstellungen.

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 Trigger für eine Lambda @Edge -Funktion hinzufügen.

Weitere Informationen zur Verwaltung von DNS-Failover finden Sie unter Konfiguration des DNS-Failovers im Amazon Route 53-Entwicklerhandbuch.

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 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 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 Informationen zur Verwendung von benutzerdefinierten Fehlerseiten mit CloudFront finden Sie unterGenerieren Sie benutzerdefinierte Fehlerantworten.