Configurar las comprobaciones de estado personalizadas para la conmutación por error de DNS - Amazon API Gateway

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar las comprobaciones de estado personalizadas para la conmutación por error de DNS

Puede utilizar las comprobaciones de estado de Amazon Route 53 para controlar la conmutación por error de DNS de una API de API Gateway en una Región de AWS principal a una en una región secundaria. Esto puede ayudar a mitigar los impactos en caso de un problema regional. Si utiliza un dominio personalizado, puede realizar una conmutación por error sin necesidad de que los clientes cambien los puntos de conexión de la API.

Al elegir Evaluate Target Health (Evaluar estado del destino) como registro de alias, esos registros solo producen un error cuando el servicio de API Gateway no está disponible en la región. En algunos casos, las propias API de API Gateway pueden sufrir interrupciones antes de ese momento. Para controlar directamente la conmutación por error de DNS, configure comprobaciones de estado personalizadas de Route 53 para las API de API Gateway. Para este ejemplo, se utiliza una alarma de CloudWatch que ayuda a los operadores a controlar la conmutación por error de DNS. Para obtener más ejemplos y otras consideraciones al configurar la conmutación por error, consulte Creación de mecanismos de recuperación de desastres mediante Route 53 y Realización de comprobaciones de estado de Route 53 en los recursos privados de una VPC con AWS Lambda y CloudWatch.

Requisitos previos

Para completar este procedimiento, debe crear y configurar los siguientes recursos:

  • El nombre de un dominio de su propiedad.

  • Un certificado de ACM para ese nombre de dominio en dos Regiones de AWS. Para obtener más información, consulte Preparación de certificados en AWS Certificate Manager.

  • Una zona alojada de Route 53 para el nombre de dominio. Para obtener más información, consulte Uso de zonas alojadas en la Guía para desarrolladores de Amazon Route 53.

Para obtener más información sobre cómo crear registros de DNS de conmutación por error de Route 53 para los nombres de dominio, consulte Elegir una política de enrutamiento en la guía para desarrolladores de Amazon Route 53. Para obtener más información sobre cómo monitorear una alarma de CloudWatch, consulte Monitoreo de una alarma de CloudWatch en la guía para desarrolladores de Amazon Route 53.

Paso 1: Configurar recursos

En este ejemplo, se crean los siguientes recursos para configurar la conmutación por error de DNS para el nombre de dominio:

  • API de API Gateway en dos Regiones de AWS

  • Nombres de dominio personalizados de API Gateway con el mismo nombre en dos Regiones de AWS

  • Mapeos de API de API Gateway que conectan las API de API Gateway con los nombres de dominio personalizados

  • Registros de DNS de conmutación por error de Route 53 para los nombres de dominio

  • Una alarma de CloudWatch en la región secundaria

  • Una comprobación de estado de Route 53 basada en la alarma de CloudWatch en la región secundaria

En primer lugar, asegúrese de contar con todos los recursos necesarios en las regiones principal y secundaria. La región secundaria debe contener la alarma y la comprobación de estado. De esta forma, no tiene que depender de la región principal para realizar la conmutación por error. Por ejemplo, plantillas de AWS CloudFormation que crean estos recursos, consulte primary.yaml y secondary.yaml.

importante

Antes de realizar la conmutación por error a la región secundaria, asegúrese de que estén disponibles todos los recursos necesarios. De lo contrario, la API no estará lista para el tráfico de la región secundaria.

Paso 2: Iniciar la conmutación por error a la región secundaria

En el siguiente ejemplo, la región en espera recibe una métrica de CloudWatch e inicia la conmutación por error. Usamos una métrica personalizada que requiere la intervención del operador para iniciar la conmutación por error.

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

Sustituya los datos de las métricas por los datos correspondientes a la alarma de CloudWatch que haya configurado.

Paso 3: Probar la conmutación por error

Invoque la API y compruebe que recibe una respuesta de la región secundaria. Si usó las plantillas de ejemplo en el paso 1, la respuesta cambia de {"message": "Hello from the primary Region!"} a {"message": "Hello from the secondary Region!"} después de la conmutación por error.

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

Paso 4: Volver a la región principal

Para volver a la región principal, envíe una métrica de CloudWatch que haga que se apruebe la comprobación de estado.

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

Sustituya los datos de las métricas por los datos correspondientes a la alarma de CloudWatch que haya configurado.

Invoque la API y compruebe que recibe una respuesta de la región principal. Si usó las plantillas de ejemplo en el paso 1, la respuesta cambia de {"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!"}

Próximos pasos: Personalizar y probar con regularidad

Este ejemplo muestra una forma de configurar la conmutación por error de DNS. Puede utilizar una variedad de métricas o puntos de conexión de HTTP de CloudWatch para las comprobaciones de estado que administran la conmutación por error. Pruebe los mecanismos de conmutación por error con regularidad para asegurarse de que funcionan según lo esperado y de que los operadores están familiarizados con los procedimientos de conmutación por error.