Présentation

La surveillance et la livraison des applications permet de détecter les événements inhabituels et d'y répondre de manière appropriée. Amazon CloudWatch surveille les ressources Amazon Web Services (AWS), y compris les services de périphérie AWS utilisés pour la livraison des applications. Par exemple, les métriques côté serveur émises par les services de périphérie AWS permettent de détecter les augmentations inattendues des volumes de trafic, les baisses importantes du taux d'accès au cache, la forte augmentation du nombre d'erreurs 5xx ou les attaques DDoS. Outre les métriques côté serveur, CloudWatch collecte et suit les métriques issues de la surveillance côté client à l'aide de CloudWatch RUM. Des tableaux de bord personnalisés peuvent être créés à l'aide des métriques CloudWatch, sur lesquelles les alarmes peuvent également être configurées.

Métriques côté serveur

Métriques CloudWatch natives émises par les services de périphérie AWS

Prenez en compte les métriques CloudWatch en temps quasi réel suivantes émises par les services de périphérie AWS lors de la livraison et la protection de votre application :

  • CloudFront émet les métriques suivantes : demandes, octets téléchargés, octets chargés, taux d'erreur 4xx, taux d'erreur 5xx et taux d'erreur total. Notez que ces métriques sont disponibles dans la région us-east-1 puisque CloudFront est un service mondial. Moyennant un coût supplémentaire, vous pouvez activer des métriques supplémentaires telles que le taux d'accès au cache, la latence d'origine et le taux d'erreur pour des codes d'état spécifiques.
  • Les fonctions CloudFront émettent les métriques suivantes dans la région us-east-1 : invocations, erreurs de validation, erreurs d'exécution, utilisation du calcul et limitations.
  • Lambda@Edge est basé sur AWS Lambda et émet donc un sous-ensemble de ses métriques telles que les invocations, les erreurs, la durée, les exécutions simultanées et les limitations. Contrairement aux fonctions CloudFront, Lambda@Edge enregistre des métriques dans chaque région où elle est exécutée par CloudFront. La console CloudFront offre une vue consolidée de ces indicateurs dans toutes les régions.
  • AWS WAF émet les métriques suivantes : demandes autorisées, demandes bloquées, demandes comptabilisées, demandes vérifiées avec Captcha, demandes vérifiées par un défi, etc. Chaque métrique peut être mesurée avec un niveau de granularité tel que les ACL web, la règle, le pays, l'appareil, etc. Notez que les métriques AWS WAF sont disponibles dans la région us-east-1 lorsque la WebACL est appliquée à CloudFront.
  • Shield Advanced émet des métriques pour les attaques DDoS détectées, telles que le nombre de bits par seconde, de paquets par seconde et de demandes par seconde.
    Vous pouvez créer un tableau de bord CloudWatch basé sur les métriques ci-dessus émises par les services de périphérie AWS, même si les métriques concernent plusieurs régions et comptes. L'exemple ci-dessous est un tableau de bord de sécurité basé sur les métriques émises par les règles AWS WAF.

Vous pouvez créer un tableau de bord CloudWatch basé sur les métriques ci-dessus émises par les services de périphérie AWS, même si les métriques concernent plusieurs régions et comptes. L'exemple ci-dessous est un tableau de bord de sécurité basé sur les métriques émises par les règles AWS WAF.

Métriques avancées

Les métriques avancées pour votre application peuvent être créées de plusieurs manières. La première est basée sur la combinaison de métriques CloudWatch natives avec des métriques plus sophistiquées, les autres sont basées sur des journaux de service.

Pour la première approche, utilisez les mathématiques métriques CloudWatch. Par exemple, vous pouvez calculer le nombre total de demandes par seconde envoyées par CloudFront en divisant la métrique des demandes de CloudFront par la période de mesure (m1/PERIOD(m1)). Un autre exemple est la création d'une métrique composite qui reflète l'état de santé de votre application par une combinaison logique d'autres mesures (par exemple, saine si CloudFront's 5xx est < 0,5 % ET si la latence du serveur est < 1 s). Cette métrique composite peut ensuite être utilisée avec la surveillance de l'état de Shield Advanced.

Dans la seconde approche, utilisez les journaux générés par les services de périphérie AWS pour émettre des métriques personnalisées. Certaines implémentations incluent :

  • La configuration de filtres métriques sur les journaux envoyés à CloudWatch Logs. Par exemple, vous pouvez configurer votre fonction CloudFront pour enregistrer les occurrences des demandes avec une certaine chaîne de demande et utiliser un filtre métrique pour compter ces occurrences.
  • Le traitement des journaux CloudFront et WAF envoyés à Kinesis à l'aide de Lambda pour émettre des métriques personnalisées. Considérez cet exemple d'implémentation.

Fonction d'alerte

Vous pouvez créer des alarmes pour être averti lorsque les métriques CloudWatch indiquent un événement inhabituel. Suivez les étapes décrites dans ce blog pour configurer une alarme basée sur un seuil de taux d'erreur 5xx sur CloudFront. En plus de générer des alarmes basées sur des seuils, la détection des anomalies de CloudWatch vous permet d'établir une base de référence pour vos indicateurs et de créer des alarmes basées sur des changements anormaux par rapport à la référence.

Résultats de sécurité dans Security Hub

AWS Firewall Manager crée des résultats dans AWS Security Hub, pour les ressources non conformes et pour les attaques détectées par Shield Advanced.

CloudWatch Internet Monitor

CloudWatch Internet Monitor fournit une visibilité sur les performances de vos applications connectées à Internet, en utilisant les données de connectivité collectées par AWS à partir de son réseau mondiale. Internet Monitor fournit une observabilité continue des mesures Internet, telles que la disponibilité et les performances, adaptées à votre charge de travail sur AWS. Vous pouvez utiliser Internet Monitor pour obtenir des informations sur les métriques moyennes de performance Internet au fil du temps et sur les problèmes (événements) par lieu et par fournisseur de services Internet (FSI). Grâce à Internet Monitor, il est facile d’identifier les événements qui ont un impact sur l’expérience de l’utilisateur final pour les applications utilisant des services tels que CloudFront. Consulter cet article de blog pour savoir comment surveiller le trafic Internet vers le périphérie CloudFront en un clic avec le Moniteur Internet Amazon CloudWatch.

Visibilité de l’impact des problèmes liés à Internet sur les performances des applications

Surveillance côté client

Outre les métriques côté serveur, il est recommandé de collecter des métriques côté client à l'aide de CloudWatch RUM. RUM vous fournit les données les plus précises sur le comportement de votre application Web du point de vue des utilisateurs. Pour utiliser CloudWatch RUM, vous devez ajouter une balise javascript à vos pages Web. Le javascript collecte des données à partir des API du navigateur, telles que les temps de chargement des pages, Core Web Vitals ou les erreurs d'application, puis les envoie à CloudWatch RUM pour la création de tableaux de bord. En outre, CloudWatch RUM émet des métriques CloudWatch, telles que WebVitalsCumulativeLayoutShift, WebVitalsFirstInputDelay, WebVitalsLargestContentfulPaint, JsErrorCount, HttpStatusCodeCount, etc.

Ressources

Cette page vous a-t-elle été utile ?