Benutzerdefinierte Zustandsprüfungen für das DNS-Failover konfigurieren - Amazon API Gateway

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.

Benutzerdefinierte Zustandsprüfungen für das DNS-Failover konfigurieren

Sie können Amazon-Route-53-Zustandsprüfungen verwenden, um das DNS-Failover von einer API-Gateway-API in einer primären AWS-Region zu einer API-Gateway-API in einer sekundären Region zu kontrollieren. Dies kann dazu beitragen, die Auswirkungen im Falle eines regionalen Problems zu mildern. Wenn Sie eine benutzerdefinierte Domäne verwenden, können Sie ein Failover durchführen, ohne dass die Clients die API-Endpunkte ändern müssen.

Wenn Sie Zielzustand bewerten für einen Aliasdatensatz auswählen, schlagen diese Datensätze nur fehl, wenn der API-Gateway-Service in der Region nicht verfügbar ist. In einigen Fällen kann es vor diesem Zeitpunkt zu Unterbrechungen bei Ihren eigenen API-Gateway-APIs kommen. Wenn Sie das DNS-Failover direkt steuern möchten, konfigurieren Sie benutzerdefinierte Route-53-Zustandsprüfungen für Ihre API-Gateway-APIs. In diesem Beispiel verwenden Sie einen CloudWatch-Alarm, der Betreibern hilft, das DNS-Failover zu steuern. Weitere Beispiele und andere Überlegungen bei der Konfiguration des Failovers finden Sie unter Erstellen von Mechanismen zur Notfallwiederherstellung mithilfe von Route 53 und Durchführen von Route-53-Zustandsprüfungen für private Ressourcen in einer VPC mit AWS Lambda und CloudWatch.

Voraussetzungen

Um dieses Verfahren abzuschließen, müssen Sie die folgenden Ressourcen erstellen und konfigurieren:

Weitere Informationen zum Erstellen von Route-53-Failover-DNS-Einträgen für die Domain-Namen finden Sie unter Eine Routing-Richtlinie auswählen im Amazon-Route-53-Entwicklerhandbuch. Weitere Informationen zur Überwachung eines CloudWatch-Alarms finden Sie unter Überwachung eines CloudWatch-Alarms im Amazon-Route-53-Entwicklerhandbuch.

Schritt 1: Einrichten der Ressourcen

In diesem Beispiel erstellen Sie die folgenden Ressourcen, um das DNS-Failover für Ihren Domänennamen zu konfigurieren:

  • API-Gateway-APIs in zwei AWS-Regionen

  • Benutzerdefinierte API-Gateway-Domänennamen mit demselben Namen in zwei AWS-Regionen

  • API-Gateway-API-Zuordnungen, die Ihre API-Gateway-APIs mit den benutzerdefinierten Domänennamen verbinden

  • Route-53-Failover-DNS-Einträge für die Domänennamen

  • Ein CloudWatch-Alarm in der sekundären Region

  • Eine Route-53-Zustandsprüfung auf der Grundlage des CloudWatch-Alarms in der sekundären Region

Stellen Sie zunächst sicher, dass Sie über alle erforderlichen Ressourcen in den primären und sekundären Regionen verfügen. Die sekundäre Region sollte den Alarm und die Zustandsprüfung enthalten. So sind Sie nicht von der primären Region abhängig, um das Failover durchzuführen. Beispielsweise finden Sie AWS CloudFormation-Vorlagen, die diese Ressourcen erstellen, unter primary.yaml und secondary.yaml.

Wichtig

Stellen Sie vor dem Failover in die sekundäre Region sicher, dass alle erforderlichen Ressourcen verfügbar sind. Andernfalls ist Ihre API nicht für den Datenverkehr in der sekundären Region bereit.

Schritt 2: Initiieren des Failovers zur sekundären Region

Im folgenden Beispiel erhält die Standby-Region eine CloudWatch-Metrik und initiiert das Failover. Wir verwenden eine benutzerdefinierte Metrik, bei der das Eingreifen des Bedieners erforderlich ist, um das Failover einzuleiten.

aws cloudwatch put-metric-data \ --metric-name Failover \ --namespace HealthCheck \ --unit Count \ --value 1 \ --region us-west-1

Ersetzen Sie die Metrikdaten durch die entsprechenden Daten für den von Ihnen konfigurierten CloudWatch-Alarm.

Schritt 3: Testen des Failovers

Rufen Sie Ihre API auf und vergewissern Sie sich, dass Sie eine Antwort von der sekundären Region erhalten. Wenn Sie die Beispielvorlagen in Schritt 1 verwendet haben, ändert sich die Antwort von „{"message": "Hello from the primary Region!"}“ nach dem Failover zu „{"message": "Hello from the secondary Region!"}“.

curl https://my-api.example.com {"message": "Hello from the secondary Region!"}

Schritt 4: Rückkehr zur Primärregion

Für die Rückkehr zur primären Region senden Sie eine CloudWatch-Metrik, die dafür sorgt, dass die Zustandsprüfung bestanden wird.

aws cloudwatch put-metric-data \ --metric-name Failover \ --namespace HealthCheck \ --unit Count \ --value 0 \ --region us-west-1

Ersetzen Sie die Metrikdaten durch die entsprechenden Daten für den von Ihnen konfigurierten CloudWatch-Alarm.

Rufen Sie Ihre API auf und vergewissern Sie sich, dass Sie eine Antwort von der primären Region erhalten. Wenn Sie die Beispielvorlagen in Schritt 1 verwendet haben, ändert sich die Antwort von „{"message": "Hello from the secondary Region!"}“ zu „{"message": "Hello from the primary Region!"}“.

curl https://my-api.example.com {"message": "Hello from the primary Region!"}

Nächste Schritte: Anpassen und regelmäßig testen

Dieses Beispiel zeigt eine Möglichkeit, das DNS-Failover zu konfigurieren. Sie können eine Vielzahl von CloudWatch-Metriken oder HTTP-Endpunkten für die Zustandsprüfungen verwenden, die das Failover verwalten. Testen Sie Ihre Failover-Mechanismen regelmäßig, um sicherzustellen, dass sie erwartungsgemäß funktionieren und dass die Bediener mit Ihren Failover-Verfahren vertraut sind.