Configurazione di controlli di integrità personalizzati per il DNS failover di un gateway API API - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di controlli di integrità personalizzati per il DNS failover di un gateway API API

Puoi utilizzare i controlli di integrità di Amazon Route 53 per controllare il DNS failover da un API gateway API in una regione primaria Regione AWS a uno in una regione secondaria. Questo può aiutare a mitigare gli impatti in caso di problema regionale. Se utilizzi un dominio personalizzato, puoi eseguire il failover senza richiedere ai client di modificare API gli endpoint.

Quando si sceglie Evaluate Target Health per un record di alias, tali record hanno esito negativo solo quando il servizio API Gateway non è disponibile nella regione. In alcuni casi, il tuo API Gateway APIs può subire interruzioni prima di quel momento. Per controllare direttamente il DNS failover, configura i controlli di integrità personalizzati di Route 53 per il tuo API gateway. APIs Per questo esempio, si utilizza un CloudWatch allarme che aiuta gli operatori a controllare il DNS failover. Per ulteriori esempi e altre considerazioni sulla configurazione del failover, vedere Creazione di meccanismi di disaster recovery utilizzando Route 53 ed Esecuzione dei controlli di integrità di Route 53 su risorse private in un VPC unico ambiente. AWS Lambda CloudWatch

Prerequisiti

Per completare questa procedura, è necessario creare e configurare le risorse seguenti:

  • Un nome di dominio di cui si è proprietari.

  • Un ACM certificato per quel nome di dominio in due. Regioni AWS Per ulteriori informazioni, consulta Prerequisiti .

  • Una zona ospitata Route 53 per il nome di dominio in uso. Per ulteriori informazioni, consulta Utilizzo delle zone ospitate nella Guida per gli sviluppatori di Amazon Route 53.

Per ulteriori informazioni su come creare DNS record di failover Route 53 per i nomi di dominio, consulta Choose a routing policy nella Amazon Route 53 Developer Guide. Per ulteriori informazioni su come monitorare un CloudWatch allarme, consulta Monitoring a CloudWatch alarm nella Amazon Route 53 Developer Guide.

Fase 1: Configurazione delle risorse

In questo esempio, crei le seguenti risorse per configurare il DNS failover per il tuo nome di dominio:

  • APIGateway APIs in due Regioni AWS

  • APINomi di dominio personalizzati Gateway con lo stesso nome in due Regioni AWS

  • APIAPIMappature del gateway che collegano il API gateway APIs ai nomi di dominio personalizzati

  • DNSRecord di failover Route 53 per i nomi di dominio

  • Un CloudWatch allarme nella regione secondaria

  • Un controllo dello stato della Route 53 basato sull' CloudWatch allarme nella regione secondaria

Innanzitutto, accertarsi di disporre di tutte le risorse richieste nelle regioni primaria e secondaria. La regione secondaria deve contenere l'allarme e il controllo dell'integrità. In questo modo, non si dipende dalla regione primaria per eseguire il failover. Per esempio AWS CloudFormation i modelli che creano queste risorse, vedi primary.yamle secondary.yaml.

Importante

Prima del failover nella regione secondaria, accertarsi che tutte le risorse necessarie siano disponibili. Altrimenti, non API sarai pronto per il traffico nella regione secondaria.

Fase 2: Avvio del failover nella regione secondaria

Nell'esempio seguente, la regione di standby riceve una CloudWatch metrica e avvia il failover. Utilizziamo una metrica personalizzata che richiede l'intervento dell'operatore per avviare il failover.

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

Sostituisci i dati metrici con i dati corrispondenti per l'allarme che hai configurato. CloudWatch

Fase 3: Test del failover

Invoca la tua API e verifica di ricevere una risposta dalla regione secondaria. Se si sono utilizzati i modelli di esempio della fase 1, la risposta cambia da {"message": "Hello from the primary Region!"} a {"message": "Hello from the secondary Region!"} dopo il failover.

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

Fase 4: Ritorno alla regione primaria

Per tornare alla regione principale, invia una CloudWatch metrica che determini il superamento del controllo sanitario.

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

Sostituisci i dati metrici con i dati corrispondenti per l' CloudWatch allarme che hai configurato.

Invoca la tua API e verifica di ricevere una risposta dalla regione principale. Se si sono utilizzati i modelli di esempio della fase 1, la risposta cambia da {"message": "Hello from the secondary Region!"} a {"message": "Hello from the primary Region!"}.

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

Fasi successive: personalizzare e verificare periodicamente

Questo esempio dimostra un modo per configurare DNS il failover. È possibile utilizzare una varietà di CloudWatch metriche o HTTP endpoint per i controlli di integrità che gestiscono il failover. Verificare periodicamente i meccanismi di failover per accertarsi che funzionino come previsto e che gli operatori conoscano le procedure di failover.