Global Accelerator (GA) utiliza comprobaciones de estado para determinar el estado de los endpoints. Este mecanismo mejora la confiabilidad y disponibilidad del servicio al evitar que el tráfico se dirija a endpoints con errores.
Introducción a las comprobaciones de estado
Puede habilitar comprobaciones de estado para los grupos de endpoints de su instancia de GA. Cuando un endpoint falla una comprobación de estado, GA redirige automáticamente las nuevas solicitudes a otros endpoints en buen estado. Una vez que un endpoint con errores se recupera y supera las comprobaciones de estado, GA reanuda automáticamente el enrutamiento de tráfico hacia él.
GA admite comprobaciones de estado mediante TCP, HTTP y HTTPS.
Comprobaciones de estado TCP
Las comprobaciones de estado TCP operan en la capa de transporte. El servicio envía un paquete de saludo SYN para sondear si el puerto del servidor está activo. El proceso es el siguiente:
Paso | Descripción |
① | Según la configuración de comprobación de estado del listener, la instancia de GA envía un paquete TCP SYN a la dirección IP y al puerto de comprobación de estado del endpoint. |
② | El resultado de la comprobación de estado depende de si el endpoint devuelve un paquete SYN+ACK.
Nota El tiempo de espera de respuesta es el tiempo máximo que se espera para obtener una respuesta a un sondeo de comprobación de estado. Si un endpoint no responde correctamente dentro de este periodo, la comprobación falla. El valor predeterminado del sistema es de 3 segundos y no se puede modificar. |
③ | Después de recibir el paquete SYN+ACK, la instancia de GA envía un paquete ACK al endpoint para completar el saludo TCP. |
Comprobaciones de estado HTTP y HTTPS
Las comprobaciones de estado HTTP y HTTPS utilizan solicitudes GET para simular el acceso de un navegador y verificar el estado de la aplicación de servicio de backend en el endpoint. El proceso es el siguiente:
Paso | Descripción |
① | Según la configuración de comprobación de estado del listener, la instancia de GA envía una solicitud HTTP GET a la dirección IP, al puerto de comprobación de estado y a la ruta de comprobación de estado del endpoint. |
② | Tras recibir la solicitud, el endpoint devuelve un código de estado HTTP basado en el estado del servicio.
Nota El tiempo de espera de respuesta es el tiempo máximo que se espera para obtener una respuesta a un sondeo de comprobación de estado. Si un endpoint no responde correctamente dentro de este periodo, la comprobación falla. El valor predeterminado del sistema es de 3 segundos y no se puede modificar. |
Ventana de tiempo de comprobación de estado
Las comprobaciones de estado mejoran la disponibilidad del servicio. Sin embargo, para evitar inestabilidad en el sistema causada por cambios frecuentes de estado, GA modifica el estado de un endpoint solo después de que este supera o falla consecutivamente un número determinado de comprobaciones. Este periodo se denomina ventana de tiempo de comprobación de estado. Los siguientes factores determinan dicha ventana:
Intervalo de comprobación de estado: tiempo transcurrido entre dos sondeos consecutivos.
Tiempo de espera de respuesta: tiempo máximo que se espera para recibir una respuesta de comprobación de estado desde un servicio de backend.
Umbral de estado correcto: número de comprobaciones exitosas o fallidas consecutivas necesarias para cambiar el estado de un endpoint.
La ventana de tiempo de comprobación de estado se calcula de la siguiente manera:
-
Ventana de tiempo de fallo = tiempo de espera de respuesta × umbral de estado correcto + intervalo de comprobación de estado × (umbral de estado correcto - 1)
Por ejemplo, como se muestra en la siguiente figura, si el tiempo de espera de respuesta es de 3 segundos, el intervalo de comprobación es de 2 segundos y el umbral de estado correcto es 3, la ventana de tiempo para declarar un endpoint con errores es 3 × 3 + 2 × (3 - 1) = 13 segundos.
-
Ventana de tiempo de éxito = (tiempo de respuesta exitosa × umbral de estado correcto) + intervalo de comprobación de estado × (umbral de estado correcto - 1)
Por ejemplo, como se muestra en la siguiente figura, si el tiempo de respuesta exitosa es de 1 segundo, el intervalo de comprobación es de 2 segundos y el umbral de estado correcto es 3, la ventana de tiempo para declarar un endpoint en buen estado es 1 × 3 + 2 × (3 - 1) = 7 segundos.
Limitaciones
Para listeners UDP, las comprobaciones de estado solo son compatibles si el endpoint ejecuta un servicio sobre TCP, HTTP o HTTPS. De lo contrario, GA siempre marcará el endpoint como con errores.
Habilite comprobaciones de estado
Inicie sesión en la consola de Global Accelerator.
En la página Instances, localice la instancia de GA y haga clic en Configure Listeners en su columna Actions.
En la pestaña Listeners, busque el listener que desea gestionar y haga clic en Edit en la columna Actions.
En la página Edit Listener, haga clic en Next.
-
En la sección Health Check de la página del asistente Configure Endpoint Group, active el interruptor Health Check y configure los siguientes parámetros.
Parámetro
Descripción
Health Check Protocol
Protocolo utilizado para las comprobaciones de estado. Valores válidos: TCP, HTTP y HTTPS.
TCP: envía paquetes de saludo SYN para sondear si el puerto del servidor está activo.
HTTP y HTTPS: envían solicitudes GET para simular el acceso de un navegador y verificar el estado de la aplicación de servicio de backend.
Port
Puerto utilizado para comprobar el estado de los endpoints.
Valores válidos: 1 a 65535.
Health Check Domain Name
Nombre de dominio para las comprobaciones de estado. Esta función solo es compatible con instancias de GA pay-as-you-go.
Endpoint IP Address (predeterminado): utiliza la dirección IP del endpoint como nombre de dominio para las comprobaciones de estado.
Custom Domain Name: introduzca un nombre de dominio específico.
Health Check Interval
Intervalo entre dos sondeos consecutivos de comprobación de estado.
Valores válidos: 1 a 50. Unidad: segundos. Valor predeterminado: 2.
URI
Ruta para las comprobaciones de estado. Este parámetro solo está disponible cuando Health Check Protocol está configurado como HTTP o HTTPS.
La ruta debe tener entre 1 y 80 caracteres y comenzar con una barra diagonal (/). Puede contener letras, dígitos, guiones (-), barras diagonales (/), puntos (.), signos de porcentaje (%), signos de interrogación (?), almohadillas (#), ampersands (&) y el conjunto de caracteres extendido
_;~!()*[]@$^:',+.De forma predeterminada, GA envía una solicitud GET a la página principal de la aplicación de servicio de backend. Si la página utilizada para las comprobaciones de estado no es la página principal predeterminada, debe especificar una ruta.
Healthy Threshold
Número de comprobaciones de estado exitosas o fallidas consecutivas necesarias para cambiar el estado de un endpoint.
Valores válidos: 2 a 10. Valor predeterminado: 3.
Haga clic en Next. En la página del asistente Configuration Review, confirme la configuración y haga clic en Submit.
Operaciones adicionales
Acciones | Descripción |
Modifique la configuración de comprobación de estado |
|
Deshabilite comprobaciones de estado |
|
Referencias
CreateEndpointGroup: crea un grupo de endpoints. Puede configurar comprobaciones de estado al crear un grupo de endpoints.
UpdateEndpointGroup: actualiza la configuración de un grupo de endpoints. Puede configurar comprobaciones de estado al actualizar un grupo de endpoints.
GetHealthStatus: consulta el estado de un endpoint.