Optimieren der 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 der Hochverfügbarkeit mit CloudFront Origin Failover

Sie können CloudFront mit Origin Failover für Szenarien einrichten, in denen eine hohe Verfügbarkeit erforderlich ist. 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.

Nach der Konfiguration eines Ursprungs-Failovers für ein Cache-Verhalten geht CloudFront bei Viewer-Anforderungen wie folgt vor:

  • Bei einem Cache-Treffer gibt CloudFront das angeforderte Objekt zurück.

  • Bei einem Cache-Fehler leitet CloudFront die Anforderung 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 2xx- oder 3xx-Statuscode, stellt CloudFront dem Viewer das angeforderte Objekt bereit.

  • 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 mit dem primären Ursprung herstellen (wenn 503 als Failover-Code festgelegt ist).

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

    Dann leitet CloudFront die Anforderung an den sekundären Ursprung in der Ursprungsgruppe weiter.

    Anmerkung

    In einigen Anwendungsfällen, z. B. beim Streamen von Videoinhalten, möchten Sie möglicherweise, dass CloudFront schnell ein Failover zum sekundären Ursprung ausführt. Informationen darüber, wie Sie anpassen können, wie schnell CloudFront einen Failover auf den sekundären Ursprung durchführt, finden Sie unter Steuern von Timeouts und Verbindungsversuchen für Ursprünge.

CloudFront leitet alle eingehenden Anforderungen selbst dann an den primären Ursprung weiter, wenn bei der vorherigen Anforderung ein Failover auf den sekundären Ursprung stattfand. CloudFront sendet Anforderungen nur an den sekundären Ursprung, nachdem eine Anforderung an den primären Ursprung fehlschlug.

CloudFront führt nur dann ein Failover auf den sekundären Ursprung durch, wenn die HTTP-Methode der Viewer-Anfrage GET, HEAD oder OPTIONS lautet. CloudFront führt kein Failover durch, wenn der Viewer eine andere HTTP-Methode sendet (z. B. POST, PUT usw.)

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 AWS-Managementkonsole an und öffnen Sie die CloudFront-Konsole unter https://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 eine Antwort mit einem der von Ihnen angegebenen Statuscodes erhält, wird ein Failover auf den sekundären Ursprung durchgeführt.

    Anmerkung

    CloudFront führt nur dann ein Failover auf den sekundären Ursprung durch, wenn die HTTP-Methode der Viewer-Anfrage GET, HEAD oder OPTIONS lautet. CloudFront führt kein Failover durch, wenn der Viewer eine andere HTTP-Methode sendet (z. B. POST, PUT 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 Standardpriorität für Ursprünge, die Sie auf der Seite Einstellungen angeben.

    Medienqualitätswert

    CloudFront verfolgt und verwendet diesen Wert, um den ersten Ursprung zu bestimmen, an den die Anforderung weitergeleitet werden soll. Dadurch wird CloudFront auch autorisiert, asynchrone HEAD-Anforderungen an den alternativen Ursprung in der Ursprungsgruppe zu stellen, um dessen Medienqualitätswert 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

Standardmäßig versucht CloudFront bis zu 30 Sekunden lang, eine Verbindung mit dem 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, möchten Sie möglicherweise, dass CloudFront ein Failover auf den sekundären Ursprung schneller ausführt. Sie können die folgenden Einstellungen anpassen, um zu beeinflussen, wie schnell CloudFront ein Failover zum sekundären Ursprung durchführt. Wenn der Ursprung ein sekundärer Ursprung oder ein Ursprung ist, der nicht Teil einer Ursprungsgruppe ist, wirken sich diese Einstellungen darauf aus, wie schnell CloudFront eine HTTP 504-Antwort an den Viewer zurückgibt.

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 Ursprungsverbindungs-Timeout wirkt sich darauf aus, wie lange CloudFront beim Versuch, eine Verbindung zum Ursprung herzustellen, wartet. Standardmäßig wartet CloudFront 10 Sekunden, um eine Verbindung herzustellen, Sie können jedoch 1–10 Sekunden (inklusive) angeben. Weitere Informationen finden Sie unter Verbindungstimeout.

Verbindungsversuche zum Ursprung

Die Einstellung für die Ursprungsverbindungsversuche wirkt sich darauf aus, wie oft CloudFront versucht, eine Verbindung mit dem Ursprung herzustellen. Standardmäßig versucht CloudFront 3-Mal, eine Verbindung herzustellen, aber Sie können 1–3 (inklusive) angeben. Weitere Informationen finden Sie unter Verbindungsversuche.

Bei einem 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 im Falle eines Timeouts der Ursprungsantwort versucht, eine Antwort vom Ursprung zu erhalten.

Ursprungs-Reaktions-Timeout

Das Ursprungsantwort-Timeout, auch als Ursprungs-Lese-Timeout bezeichnet, wirkt sich darauf aus, wie lange CloudFront auf den Empfang einer Antwort (oder auf den Empfang der vollständigen Antwort) vom Ursprung wartet. Standardmäßig wartet CloudFront 30 Sekunden, Sie können jedoch 1–120 Sekunden (inklusive) 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 CloudFront eine Anforderung an den primären Ursprung sendet (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 CloudFront dieselbe Anforderung an den sekundären Ursprung sendet.

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 Ursprungs-Failover verwenden, können Sie CloudFront so konfigurieren, dass eine benutzerdefinierte Fehlerseite für den primären oder sekundären Ursprung (oder beide) zurückgegeben wird:

  • 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, gibt CloudFront die benutzerdefinierte Fehlerseite an die Viewer zurück.

  • Benutzerdefinierte Fehlerseite für den sekundären Ursprung zurückgeben – Wenn CloudFront einen Fehlerstatuscode vom sekundären Ursprung empfängt, gibt CloudFront die benutzerdefinierte Fehlerseite zurück.

Weitere Informationen zur Verwendung von benutzerdefinierten Fehlerseiten mit CloudFront finden Sie unter Erstellen von benutzerdefinierten Fehlerantworten.