Global Accelerator (GA) utilise des vérifications d'état pour déterminer l'état de santé des endpoints. Ce mécanisme améliore la fiabilité et la disponibilité du service en empêchant l'acheminement du trafic vers des endpoints défectueux.
Présentation des vérifications d'état
Activez les vérifications d'état pour les groupes d'endpoints de votre instance GA. Lorsqu'un endpoint échoue à une vérification d'état, GA redirige automatiquement les nouvelles requêtes vers d'autres endpoints sains. Une fois qu'un endpoint défectueux est rétabli et passe les vérifications d'état, GA reprend automatiquement l'acheminement du trafic vers celui-ci.
GA prend en charge les vérifications d'état via TCP, HTTP et HTTPS.
Vérifications d'état TCP
Les vérifications d'état TCP fonctionnent au niveau de la couche transport. Le service envoie un paquet de handshake SYN pour sonder si le port du serveur est actif. Le processus est le suivant :
Étape | Description |
① | En utilisant la configuration de vérification d'état de l'écouteur, l'instance GA envoie un paquet TCP SYN à l'adresse IP et au port de vérification d'état de l'endpoint. |
② | Le résultat de la vérification d'état dépend de la réponse de l'endpoint (paquet SYN+ACK ou non).
Remarque Le délai d'attente de réponse correspond au temps maximal d'attente d'une réponse à une sonde de vérification d'état. Si un endpoint ne répond pas correctement dans ce délai, la vérification d'état échoue. La valeur par défaut du système est de 3 secondes et ne peut pas être modifiée. |
③ | Après avoir reçu le paquet SYN+ACK, l'instance GA envoie un paquet ACK à l'endpoint pour terminer le handshake TCP. |
Vérifications d'état HTTP et HTTPS
Les vérifications d'état HTTP et HTTPS utilisent des requêtes GET pour simuler l'accès d'un navigateur et vérifier l'état de santé de l'application de service backend sur l'endpoint. Le processus est le suivant :
Étape | Description |
① | En utilisant la configuration de vérification d'état de l'écouteur, l'instance GA envoie une requête HTTP GET à l'adresse IP, au port de vérification d'état et au chemin de vérification d'état de l'endpoint. |
② | Après avoir reçu la requête, l'endpoint renvoie un code d'état HTTP basé sur l'état de santé du service.
Remarque Le délai d'attente de réponse correspond au temps maximal d'attente d'une réponse à une sonde de vérification d'état. Si un endpoint ne répond pas correctement dans ce délai, la vérification d'état échoue. La valeur par défaut du système est de 3 secondes et ne peut pas être modifiée. |
Fenêtre temporelle de vérification d'état
Les vérifications d'état améliorent la disponibilité du service. Toutefois, pour éviter l'instabilité du système causée par des changements d'état fréquents, GA modifie l'état de santé d'un endpoint uniquement après qu'il a réussi ou échoué consécutivement à un nombre défini de vérifications d'état. Cette période est appelée fenêtre temporelle de vérification d'état. Les facteurs suivants déterminent cette fenêtre :
intervalle de vérification d'état : le temps entre deux sondes de vérification d'état consécutives.
délai d'attente de réponse : le temps maximal d'attente d'une réponse de vérification d'état d'un service backend.
seuil de santé : le nombre de vérifications d'état réussies ou échouées consécutives nécessaires pour modifier l'état de santé d'un endpoint.
La fenêtre temporelle de vérification d'état se calcule comme suit :
-
Fenêtre temporelle d'échec de vérification d'état = délai d'attente de réponse × seuil de santé + intervalle de vérification d'état × (seuil de santé - 1)
Par exemple, comme illustré dans la figure suivante, si le délai d'attente de réponse est de 3 secondes, l'intervalle de vérification d'état est de 2 secondes et le seuil de santé est de 3, la fenêtre temporelle pour déclarer un endpoint défectueux est de 3 × 3 + 2 × (3 - 1) = 13 secondes.
-
Fenêtre temporelle de réussite de vérification d'état = (temps de réponse de réussite de vérification d'état × seuil de santé) + intervalle de vérification d'état × (seuil de santé - 1)
Par exemple, comme illustré dans la figure suivante, si le temps de réponse réussi est de 1 seconde, l'intervalle de vérification d'état est de 2 secondes et le seuil de santé est de 3, la fenêtre temporelle pour déclarer un endpoint sain est de 1 × 3 + 2 × (3 - 1) = 7 secondes.
Limitations
Pour les écouteurs UDP, les vérifications d'état sont prises en charge uniquement si l'endpoint exécute un service via TCP, HTTP ou HTTPS. Sinon, GA marque toujours l'endpoint comme défectueux.
Activer les vérifications d'état
Connectez-vous à la console Global Accelerator.
Sur la page Instances, localisez l'instance GA et cliquez sur Configure Listeners dans sa colonne Actions.
Sur l'onglet Listeners, localisez l'écouteur que vous souhaitez gérer et cliquez sur Edit dans la colonne Actions.
Sur la page Edit Listener, cliquez sur Next.
-
Dans la section Health Check de la page d'assistant Configure Endpoint Group, activez le commutateur Health Check et configurez les paramètres suivants.
Paramètre
Description
Health Check Protocol
Le protocole utilisé pour les vérifications d'état. Valeurs valides : TCP, HTTP et HTTPS.
TCP : envoie des paquets de handshake SYN pour sonder si le port du serveur est actif.
HTTP et HTTPS : envoient des requêtes GET pour simuler l'accès d'un navigateur et vérifier l'état de santé de l'application de service backend.
Port
Le port utilisé pour effectuer les vérifications d'état sur les endpoints.
Valeurs valides : 1 à 65535.
Health Check Domain Name
Le nom de domaine pour les vérifications d'état. Cette fonctionnalité est prise en charge uniquement par les instances GA à paiement à l'utilisation.
Endpoint IP Address (par défaut) : utilise l'adresse IP de l'endpoint comme nom de domaine pour les vérifications d'état.
Custom Domain Name : saisissez un nom de domaine spécifique.
Health Check Interval
L'intervalle entre deux sondes de vérification d'état consécutives.
Valeurs valides : 1 à 50. Unité : secondes. Valeur par défaut : 2.
URI
Le chemin pour les vérifications d'état. Ce paramètre est disponible uniquement lorsque Health Check Protocol est défini sur HTTP ou HTTPS.
Le chemin doit comporter de 1 à 80 caractères et commencer par une barre oblique (/). Il peut contenir des lettres, des chiffres, des traits d'union (-), des barres obliques (/), des points (.), des signes pourcent (%), des points d'interrogation (?), des dièses (#), des esperluettes (&) et l'ensemble de caractères étendu
_;~!()*[]@$^:',+.Par défaut, GA envoie une requête GET à la page d'accueil par défaut de l'application de service backend. Si la page utilisée pour les vérifications d'état n'est pas la page d'accueil par défaut, vous devez spécifier un chemin.
Healthy Threshold
Le nombre de vérifications d'état réussies ou échouées consécutives nécessaires pour modifier l'état de santé d'un endpoint.
Valeurs valides : 2 à 10. Valeur par défaut : 3.
Cliquez sur Next. Sur la page d'assistant Configuration Review, confirmez les paramètres et cliquez sur Submit.
Opérations supplémentaires
Actions | Description |
Modifier les paramètres de vérification d'état |
|
Désactiver les vérifications d'état |
|
Références
CreateEndpointGroup : crée un groupe d'endpoints. Vous pouvez configurer les vérifications d'état lors de la création d'un groupe d'endpoints.
UpdateEndpointGroup : met à jour la configuration d'un groupe d'endpoints. Vous pouvez configurer les vérifications d'état lors de la mise à jour d'un groupe d'endpoints.
GetHealthStatus : interroge l'état de santé d'un endpoint.