Konfigurieren Sie benutzerdefinierte Integritätsprüfungen für DNS Failover für ein Gateway API API - APIAmazon-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.

Konfigurieren Sie benutzerdefinierte Integritätsprüfungen für DNS Failover für ein Gateway API API

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

Wenn Sie Target Health auswerten für einen Aliaseintrag wählen, schlagen diese Datensätze nur fehl, wenn der API Gateway-Dienst in der Region nicht verfügbar ist. In einigen Fällen APIs kann es bereits vor diesem Zeitpunkt zu einer Unterbrechung Ihres eigenen API Gateways kommen. Um den DNS Failover direkt zu steuern, konfigurieren Sie benutzerdefinierte Route 53-Zustandsprüfungen für Ihr API GatewayAPIs. In diesem Beispiel verwenden Sie einen CloudWatch Alarm, der den Bedienern hilft, den DNS Failover zu kontrollieren. Weitere Beispiele und andere Überlegungen zur Konfiguration von Failover finden Sie unter Erstellen von Notfallwiederherstellungsmechanismen mithilfe von Route 53 und Durchführen von Route 53-Zustandsprüfungen für private Ressourcen in einem VPC mit AWS Lambda und. CloudWatch

Voraussetzungen

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

  • Eine Web-Domäne in Ihrem Besitz.

  • Ein ACM Zertifikat für diesen Domainnamen in zwei AWS-Regionen Teilen. Weitere Informationen finden Sie unter Voraussetzungen .

  • Eine gehostete Route-53-Zone für Ihren Domänennamen. Weitere Informationen finden Sie unter Arbeiten mit gehosteten Zonen im Entwicklerhandbuch für Amazon Route 53.

Weitere Informationen zum Erstellen von Route DNS 53-Failover-Datensätzen für die Domainnamen finden Sie unter Wählen Sie eine Routing-Richtlinie 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 Domainnamen zu konfigurieren:

  • APIGateway APIs in zwei AWS-Regionen

  • APIBenutzerdefinierte Gateway-Domainnamen mit demselben Namen in zwei AWS-Regionen

  • APIAPIGateway-Zuordnungen, die Ihr API Gateway mit APIs den benutzerdefinierten Domainnamen verbinden

  • Route DNS 53-Failover-Datensätze für die Domainnamen

  • 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. AWS CloudFormation Vorlagen, die diese Ressourcen erstellen, finden Sie beispielsweise unter primary.yamlund secondary.yaml.

Wichtig

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

Schritt 2: Initiieren des Failovers zur sekundären Region

Im folgenden Beispiel empfängt die Standby-Region eine CloudWatch Metrik und leitet ein Failover ein. 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 CloudWatch konfigurierten Alarm.

Schritt 3: Testen des Failovers

Rufen Sie Ihre auf API und überprüfen Sie, ob 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

Um zur primären Region zurückzukehren, 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 auf API 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, DNS Failover zu konfigurieren. Sie können eine Vielzahl von CloudWatch Metriken oder HTTP Endpunkten für die Integritätsprüfungen zur Verwaltung des Failovers verwenden. Testen Sie Ihre Failover-Mechanismen regelmäßig, um sicherzustellen, dass sie erwartungsgemäß funktionieren und dass die Bediener mit Ihren Failover-Verfahren vertraut sind.