

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Surveillance de vos Application Load Balancers
<a name="load-balancer-monitoring"></a>

Vous pouvez utiliser les fonctions suivantes pour surveiller vos équilibreurs de charge, analyser les modèles de trafic et résoudre les problèmes liés à vos équilibreurs de charge et vos cibles.

**CloudWatch métriques**  
*Vous pouvez utiliser Amazon CloudWatch pour récupérer des statistiques sur les points de données de vos équilibreurs de charge et de vos cibles sous la forme d'un ensemble ordonné de séries chronologiques, appelées métriques.* Vous pouvez utiliser ces métriques pour vérifier que le système fonctionne comme prévu. Pour de plus amples informations, veuillez consulter [CloudWatch métriques pour votre Application Load Balancer](load-balancer-cloudwatch-metrics.md).

**Journaux d'accès**  
Vous pouvez utiliser les journaux d'accès pour capturer les informations détaillées relatives aux demandes adressées à votre équilibreur de charge et les stocker sous forme de fichiers journaux dans Amazon S3. Vous pouvez utiliser ces journaux d'accès pour analyser les modèles de trafic et résoudre les problèmes liés à vos cibles. Pour de plus amples informations, veuillez consulter [Journaux d'accès pour votre Application Load Balancer](load-balancer-access-logs.md).

**Journaux de connexion.**  
Vous pouvez utiliser les journaux de connexion pour capturer les attributs relatifs aux demandes envoyées à votre équilibreur de charge et les stocker sous forme de fichiers journaux dans Amazon S3. Vous pouvez utiliser ces journaux de connexion pour déterminer l'adresse IP et le port du client, les informations du certificat client, les résultats de la connexion et les chiffrements TLS utilisés. Ces journaux de connexion peuvent ensuite être utilisés pour examiner les modèles de demandes et d'autres tendances. Pour de plus amples informations, veuillez consulter [Journaux de connexion pour votre Application Load Balancer](load-balancer-connection-logs.md).

**Journaux de bilan de santé**  
Vous pouvez utiliser les journaux de contrôle de santé pour recueillir des informations détaillées sur les contrôles d'état effectués sur vos cibles enregistrées pour votre équilibreur de charge et les stocker sous forme de fichiers journaux dans Amazon S3. Vous pouvez utiliser ces journaux de vérification de l'état pour résoudre les problèmes liés à vos cibles. Pour de plus amples informations, veuillez consulter [Journaux de bilan de santé](load-balancer-health-check-logs.md).

**Suivi des demandes**  
Vous pouvez utiliser le suivi des demandes pour suivre les demandes HTTP. L'équilibreur de charge ajoute un en-tête avec un identifiant de suivi à chaque demande qu'il reçoit. Pour de plus amples informations, veuillez consulter [Traçage des demandes pour votre Application Load Balancer](load-balancer-request-tracing.md).

**CloudTrail journaux**  
Vous pouvez l'utiliser AWS CloudTrail pour capturer des informations détaillées sur les appels passés à l'API Elastic Load Balancing et les stocker sous forme de fichiers journaux dans Amazon S3. Vous pouvez utiliser ces CloudTrail journaux pour déterminer quels appels ont été passés, l'adresse IP source d'où provient l'appel, qui a effectué l'appel, quand l'appel a été passé, etc. Pour plus d'informations, consultez [Log API calls for Elastic Load Balancing using CloudTrail](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/cloudtrail-logs.html).

# CloudWatch métriques pour votre Application Load Balancer
<a name="load-balancer-cloudwatch-metrics"></a>

Elastic Load Balancing publie des points de données sur Amazon CloudWatch pour vos équilibreurs de charge et vos cibles. CloudWatchvous permet de récupérer des statistiques sur ces points de données sous la forme d'un ensemble ordonné de séries chronologiques, appelées *métriques*. Considérez une métrique comme une variable à surveiller, et les points de données comme les valeurs de cette variable au fil du temps. Par exemple, vous pouvez surveiller le nombre total de cibles saines pour un équilibreur de charge sur une période spécifiée. Un horodatage et une unité de mesure facultative sont associés à chaque point de données.

Vous pouvez utiliser les métriques pour vérifier que le système fonctionne comme prévu. Par exemple, vous pouvez créer une CloudWatch alarme pour surveiller une métrique spécifiée et lancer une action (telle que l'envoi d'une notification à une adresse e-mail) si la métrique dépasse ce que vous considérez comme une plage acceptable.

Elastic Load Balancing communique les métriques CloudWatch uniquement lorsque les demandes transitent par l'équilibreur de charge. Si des demandes passent par l'équilibreur de charge, Elastic Load Balancing mesure et envoie ses métriques au cours d'intervalles de 60 secondes. Si aucune demande ne passe par l'équilibreur de charge ou s'il n'existe pas de données pour une métrique, cette dernière n'est pas présentée.

Les métriques relatives aux équilibreurs de charge des applications excluent les demandes de vérification de l'état de santé.

Pour plus d'informations, consultez le [guide de CloudWatch l'utilisateur Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

**Topics**
+ [Métriques Application Load Balancer](#load-balancer-metrics-alb)
+ [Dimensions de métriques pour les Application Load Balancers](#load-balancer-metric-dimensions-alb)
+ [Statistiques pour les métriques Application Load Balancer](#metric-statistics)
+ [Afficher CloudWatch les statistiques de votre équilibreur de charge](#view-metric-data)

## Métriques Application Load Balancer
<a name="load-balancer-metrics-alb"></a>
+ [Équilibreurs de charge](#load-balancer-metric-table)
+ [LCUs](#lcu-metric-table)
+ [Cibles](#target-metric-table)
+ [État du groupe cible](#target-group-health-metric-table)
+ [Fonctions Lambda](#lambda-metric-table)
+ [Authentification de l'utilisateur](#user-authentication-metric-table)
+ [Optimiseur de cibles](#target-optimizer-metric-table)<a name="load-balancer-metric-table"></a>

L'espace de noms `AWS/ApplicationELB` inclut les métriques suivantes pour les équilibreurs de charge.


| Métrique | Description | 
| --- | --- | 
| ActiveConnectionCount |  Nombre total de connexions TCP simultanées et actives entre les clients et l'équilibreur de charge et entre l'équilibreur de charge et les cibles. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| BYoIPUtilPercentage |  Pourcentage d'utilisation provenant du pool d'adresses IP. **Critères de rapport** : l' BYoadresse IP est activée sur l'équilibreur de charge. **Statistiques** : la seule statistique significative est `Average`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ClientTLSNegotiationErrorCount |  Nombre de connexions TLS initiées par le client n'ayant pas établi de session avec l'équilibreur de charge en raison d’une erreur TLS. Les causes possibles peuvent être une différence de chiffrements ou de protocoles, ou le fait que le client ne parvient pas à vérifier le certificat du serveur et à fermer la connexion. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| DesyncMitigationMode\$1NonCompliant\$1Request\$1Count |  Le nombre de demandes qui ne sont pas conformes à la RFC 7230. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| DroppedInvalidHeaderRequestCount |  Nombre de requêtes dans lesquelles l'équilibreur de charge a supprimé des en-têtes HTTP contenant des champs d'en-tête non valides avant l’acheminement de la demande. L'équilibreur de charge supprime ces en-têtes uniquement si l'attribut `routing.http.drop_invalid_header_fields.enabled` est défini sur `true`. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : All [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ForwardedInvalidHeaderRequestCount |  Nombre de requêtes acheminées par l'équilibreur de charge ayant des en-têtes HTTP avec des champs d'en-tête non valides. L'équilibreur de charge transmet les demandes avec ces en-têtes uniquement si l'attribut `routing.http.drop_invalid_header_fields.enabled` est défini sur `false`. **Critères de notification** : toujours signalé **Statistics** : All [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| GrpcRequestCount |  Le nombre de demandes gRPC traitées sur IPv4 et. IPv6 **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la statistique la plus utile est `Sum`. `Minimum`, `Maximum` et `Average` renvoient tous 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Fixed\$1Response\$1Count |  Nombre d'actions à réponse fixe qui ont abouti. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Redirect\$1Count |  Nombre d'actions de redirection qui ont abouti. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTP\$1Redirect\$1Url\$1Limit\$1Exceeded\$1Count |  Nombre d'actions de redirection qui n'ont pas pu aboutir, la taille de l'URL figurant dans l'en-tête d'emplacement de la réponse étant supérieure à 8 Ko. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$13XX\$1Count |  Nombre de codes de redirection HTTP 3XX issus de l'équilibreur de charge. Ce nombre n'inclut pas les codes de réponse générés par les cibles. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$14XX\$1Count |  Nombre de codes d'erreur client HTTP 4XX issus de l'équilibreur de charge. Ce nombre n'inclut pas les codes de réponse générés par les cibles.  Des erreurs client sont générées lorsque les requêtes sont mal formulées ou sont incomplètes. Ces demandes n'ont pas été reçues par la cible, sauf dans le cas où l'équilibreur de charge renvoie un [code d'erreur HTTP 460](load-balancer-troubleshooting.md#http-460-issues). Ce nombre n'inclut pas les codes de réponse générés par les cibles. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la statistique la plus utile est `Sum`. `Minimum`, `Maximum` et `Average` renvoient tous 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$15XX\$1Count |  Nombre de codes d'erreur serveur HTTP 5XX issus de l'équilibreur de charge. Ce nombre n'inclut pas les codes de réponse générés par les cibles. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la statistique la plus utile est `Sum`. `Minimum`, `Maximum` et `Average` renvoient tous 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1500\$1Count |  Nombre de codes d'erreur HTTP 500 issus de l'équilibreur de charge. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1502\$1Count |  Nombre de codes d'erreur HTTP 502 issus de l'équilibreur de charge. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1503\$1Count |  Nombre de codes d'erreur HTTP 503 issus de l'équilibreur de charge. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1ELB\$1504\$1Count |  Nombre de codes d'erreur HTTP 504 issus de l'équilibreur de charge. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| IPv6ProcessedBytes |  Nombre total d'octets traités par l'équilibreur de charge sur IPv6. Ce nombre est inclus dans `ProcessedBytes`. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| IPv6RequestCount |  Nombre de IPv6 demandes reçues par l'équilibreur de charge. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la statistique la plus utile est `Sum`. `Minimum`, `Maximum` et `Average` renvoient tous 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LowReputationPacketsDropped |  Nombre de paquets déposés par des sources malveillantes connues. Cette métrique est enregistrée lorsqu'une demande est bloquée par une protection DDo S au niveau des ressources. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LowReputationRequestsDenied |  Le nombre de requêtes HTTP refusées avec une réponse HTTP 403. Cette métrique est enregistrée lorsqu'une demande est bloquée par une protection DDo S au niveau des ressources. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| NewConnectionCount |  Nombre total de nouvelles connexions TCP établies entre les clients et l'équilibreur de charge et entre l'équilibreur de charge et les cibles. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| NonStickyRequestCount |  Nombre de demandes pour lesquelles l'équilibreur de charge a choisi une nouvelle cible, car il n'a pas pu utiliser une session permanente existante. Par exemple, la demande a été la première demande d'un nouveau client et aucun cookie de permanence n'a été présenté, un cookie de permanence a été présenté, mais il n'a pas spécifié une cible qui était enregistrée auprès de ce groupe cible, le cookie de permanence était incorrect ou expiré, ou une erreur interne a empêché l'équilibreur de charge de lire le cookie de permanence. **Critères de notification** : Un cookie de permanence est activé sur le groupe cible. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes |  Nombre total d'octets traités par l'équilibreur de charge sur IPv4 et IPv6 (en-tête HTTP et charge utile HTTP). Ce nombre inclut le trafic à destination et en provenance des clients et des fonctions Lambda, le trafic via les connexions Websocket et le trafic provenant d'un fournisseur d'identité (IdP) si l'authentification utilisateur est activée. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RejectedConnectionCount |  Nombre de connexions rejetées parce que l'équilibreur de charge a atteint le nombre maximal de connexions. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RequestCount |  Le nombre de demandes traitées sur IPv4 et IPv6. Cette métrique n'est incrémentée que pour les demandes pour lesquelles le nœud d'équilibreur de charge a pu choisir une cible. Les demandes rejetées avant qu'une cible ne soit choisie ne sont pas prises en compte dans cette métrique. **Critères d'établissement de rapports** : Signalé s'il existe des cibles enregistrées. **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RuleEvaluations |  Nombre de règles évaluées par l'équilibreur de charge lors du traitement des demandes. La règle par défaut n'est pas prise en compte. Les 10 évaluations de règles gratuites par demande sont incluses dans ce décompte. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="lcu-metric-table"></a>

L'espace de `AWS/ApplicationELB` noms inclut les métriques suivantes pour les unités de capacité de l'équilibreur de charge (LCU).


| Métrique | Description | 
| --- | --- | 
| ConsumedLCUs |  Nombre d'unités de capacité d'équilibreur de charge (LCU) utilisées par votre équilibreur de charge. Vous payez le montant LCUs que vous utilisez par heure. Lorsque la réservation de LCU est active, LCUs Consumed indique `0` si l'utilisation est inférieure à la capacité réservée et indique les valeurs supérieures `0` si l'utilisation dépasse la capacité réservée. LCUs Pour plus d'informations, veuillez consultez [Tarification Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/pricing/). **Critères de notification** : toujours signalé **Statistics** : All [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| PeakLCUs |  Le nombre maximum d'unités de capacité de l'équilibreur de charge (LCU) utilisées par votre équilibreur de charge à un moment donné. Applicable uniquement lors de l'utilisation de la réservation LCU. **Critères de signalement** : Toujours **Statistiques** : les statistiques les plus utiles sont `Sum` et `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ReservedLCUs |  Une métrique de facturation qui indique la capacité réservée par minute. Le montant total réservé LCUs sur une période donnée est le montant qui LCUs vous sera facturé. Par exemple, si 500 personnes LCUs sont réservées pour une heure, la métrique par minute sera de LCUs 8,33. Pour de plus amples informations, veuillez consulter [Surveiller la réservation](monitor-capacity-unit-reservation.md). **Critères de notification** : il existe une valeur différente de zéro **Statistics** : All [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-metric-table"></a>

L'espace de noms `AWS/ApplicationELB` inclut les métriques suivantes pour les cibles.


| Métrique | Description | 
| --- | --- | 
| AnomalousHostCount |  Le nombre d'hôtes détectés présentant des anomalies. **Critères de notification** : toujours signalé **Statistiques** : Les seules statistiques significatives sont `Minimum` et`Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HealthyHostCount |  Nombre de cibles considérées saines. **Critères d'établissement de rapports** : Signalé s'il existe des cibles enregistrées. **Statistics** : les statistiques les plus utiles sont `Average`, `Minimum` et `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HTTPCode\$1Target\$12XX\$1Count, HTTPCode\$1Target\$13XX\$1Count, HTTPCode\$1Target\$14XX\$1Count, HTTPCode\$1Target\$15XX\$1Count |  Nombre de codes de réponse HTTP générés par les cibles. Ce nombre n'inclut pas les codes de réponse générés par l'équilibreur de charge. **Critères d'établissement de rapports** : Signalé s'il existe des cibles enregistrées. **Statistiques** : la statistique la plus utile est `Sum`. `Minimum`, `Maximum` et `Average` renvoient tous 1. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| MitigatedHostCount |  Le nombre de cibles en cours d'atténuation. **Critères de notification** : toujours signalé **Statistics** : les statistiques les plus utiles sont `Average`, `Minimum` et `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| RequestCountPerTarget |  Le nombre moyen de demandes par cible, dans un groupe cible. Vous devez spécifier le groupe cible à l'aide de la dimension `TargetGroup`. Cette métrique ne s'applique pas si la cible est une fonction Lambda. Ce décompte utilise le nombre total de demandes reçues par le groupe cible, divisé par le nombre de cibles saines du groupe cible. S'il n'y a aucune cible saine dans le groupe cible, celui-ci est divisé par le nombre total de cibles enregistrées. **Critères de notification** : toujours signalé **Statistics** : la seule statistique valide est `Sum`. Cela représente la moyenne et non la somme. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetConnectionErrorCount |  Nombre de connexions qui n'ont pas pu être établies entre l'équilibreur de charge et la cible. Cette métrique ne s'applique pas si la cible est une fonction Lambda. Cette métrique n'est pas incrémentée en cas d'échec des connexions de contrôle de santé. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetResponseTime |  Temps écoulé, en secondes, entre le moment où la demande quitte l'équilibreur de charge et le moment où la cible commence à envoyer les en-têtes de réponse. Cela équivaut au champ `target_processing_time` dans les journaux d'accès. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : les statistiques les plus utiles sont `Average` et `pNN.NN` (percentiles). [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetTLSNegotiationErrorCount |  Nombre de connexions TLS initiées par l'équilibreur de charge n'ayant pas établi de session avec la cible. Les causes possibles peuvent être une différence de chiffrements ou de protocoles. Cette métrique ne s'applique pas si la cible est une fonction Lambda. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnHealthyHostCount |  Nombre de cibles considérées non saines. Lorsque vous annulez l'enregistrement d'une cible, ce chiffre diminue `HealthyHostCount` mais n'augmente pas. `UnhealthyHostCount` **Critères d'établissement de rapports** : Signalé s'il existe des cibles enregistrées. **Statistics** : les statistiques les plus utiles sont `Average`, `Minimum` et `Maximum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ZonalShiftedHostCount |  Le nombre de cibles considérées comme désactivées en raison d'un changement de zone. **Critères de déclaration** : Signalé lorsqu'il existe une valeur **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-group-health-metric-table"></a>

L'espace de noms `AWS/ApplicationELB` inclut les métriques suivantes pour l'état du groupe cible. Pour de plus amples informations, veuillez consulter [État du groupe cible](load-balancer-target-groups.md#target-group-health).


| Métrique | Description | 
| --- | --- | 
| HealthyStateDNS |  Le nombre de zones qui répondent aux exigences relatives à l'état sain du DNS. **Statistics** : la statistique la plus utile est `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| HealthyStateRouting |  Le nombre de zones qui répondent aux exigences relatives à l'état sain du routage. **Statistics** : la statistique la plus utile est `Max`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyRoutingRequestCount |  Le nombre de demandes acheminées à l'aide de l'action de basculement du routage (échec d'ouverture). **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyStateDNS |  Le nombre de zones qui ne répondent pas aux exigences relatives à l'état du DNS et qui ont donc été signalées comme non conformes dans le DNS. **Statistics** : la statistique la plus utile est `Min`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyStateRouting |  Le nombre de zones qui ne répondent pas aux exigences de l'état sain du routage, et par conséquent l'équilibreur de charge distribue le trafic à toutes les cibles de la zone, y compris les cibles non saines. **Statistics** : la statistique la plus utile est `Min`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="lambda-metric-table"></a>

L'espace de noms `AWS/ApplicationELB` inclut les métriques suivantes pour les fonctions Lambda qui sont enregistrées en tant que cibles.


| Métrique | Description | 
| --- | --- | 
| LambdaInternalError |  Nombre de demandes adressées à une fonction Lambda qui ont échoué en raison d'un problème interne sur l'équilibreur de charge ou AWS Lambda. Pour obtenir les codes de motif d'erreurs, consultez le champ error\$1reason du journal d'accès. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LambdaTargetProcessedBytes |  Nombre total d'octets traités par l'équilibreur de charge pour les demandes et les réponses provenant d'une fonction Lambda. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| LambdaUserError |  Nombre de demandes adressées à une fonction Lambda qui ont échoué en raison d'un problème lié à la fonction Lambda. Par exemple, l'équilibreur de charge n'est pas autorisé à appeler la fonction, l'équilibreur de charge a reçu de la fonction un JSON incorrect ou pour lequel des champs obligatoires sont manquants, ou la taille du corps de la demande ou de la réponse dépasse la taille maximale de 1 Mo. Pour obtenir les codes de motif d'erreurs, consultez le champ error\$1reason du journal d'accès. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="user-authentication-metric-table"></a>

L'espace de noms `AWS/ApplicationELB` inclut les métriques suivantes pour l'authentification utilisateur.


| Métrique | Description | 
| --- | --- | 
| ELBAuthError |  Nombre d'authentifications utilisateur qui n'ont pas pu être effectuées, car une action d'authentification était mal configurée, l'équilibreur de charge n'a pas pu établir une connexion avec l'IdP, ou l'équilibreur de charge n'a pas pu terminer le flux d'authentification en raison d'une erreur interne. Pour obtenir les codes de motif d'erreurs, consultez le champ error\$1reason du journal d'accès. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthFailure |  Nombre d'authentifications utilisateur qui n'ont pas pu être effectuées, car l'IdP a refusé l'accès à l'utilisateur ou un code d'autorisation a été utilisé plusieurs fois. Pour obtenir les codes de motif d'erreurs, consultez le champ error\$1reason du journal d'accès. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthLatency |  Temps écoulé, en millisecondes, pour interroger l'IdP pour le jeton d'ID et les informations utilisateur. Si une ou plusieurs de ces opérations échouent, il s'agit du temps avant l'échec. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : Toutes les statistiques sont significatives. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthRefreshTokenSuccess |  Nombre de fois où l'équilibreur de charge a actualisé avec succès des demandes d'utilisateur à l'aide d'un jeton d'actualisation fourni par le fournisseur d'identité (IdP). **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthSuccess |  Nombre d'actions d'authentification qui ont abouti. Cette métrique est incrémentée à la fin du flux de travail d'authentification, après que l'équilibreur de charge a récupéré les demandes utilisateur auprès de l'IdP. **Critères de notification** : il existe une valeur différente de zéro **Statistics** : la statistique la plus utile est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| ELBAuthUserClaimsSizeExceeded |  Nombre de fois où un IdP configuré a renvoyé des demandes utilisateur dont la taille a dépassé 11 000 octets. **Critères de notification** : il existe une valeur différente de zéro **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | <a name="target-optimizer-metric-table"></a>

L'espace de `AWS/ApplicationELB` noms inclut les métriques suivantes pour l'optimiseur de cible.


| Métrique | Description | 
| --- | --- | 
| TargetControlRequestCount |  Nombre de demandes transmises par ALB aux agents. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlRequestRejectCount |  Nombre de demandes rejetées par ALB car aucune cible n'est prête à recevoir des demandes. Cette métrique indique une hausse lorsqu'elle TargetControlWorkQueueLength est égale à zéro. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlActiveChannelCount |  Nombre de canaux de contrôle actifs entre l'ALB et les agents. Pour un équilibreur de charge, cela doit être égal au nombre d'agents. Un nombre inférieur aux attentes indique que les agents ne sont pas correctement configurés ou ne sont pas disponibles. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlNewChannelCount |  Nombre de nouveaux canaux de contrôle créés entre l'ALB et les agents. Vous constaterez une hausse de cette métrique lorsqu'une nouvelle cible sur laquelle l'agent est installé est correctement ajoutée au groupe cible. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlChannelErrorCount |  Nombre de canaux de contrôle entre l'ALB et les agents qui n'ont pas réussi à établir ou qui ont subi une erreur inattendue. Une erreur du canal de contrôle empêchera cet agent (et cette cible) de recevoir le trafic de l'application. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlWorkQueueLength |  Nombre de signaux reçus par l'ALB en provenance d'agents demandant des demandes.  Ces données proviennent de clichés pris à intervalles d'une minute. Les modifications mineures ne sont pas enregistrées.  **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : la seule statistique significative est `Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 
| TargetControlProcessedBytes |  Nombre d'octets traités par ALB pour le trafic vers les groupes cibles qui activent l'optimiseur de cibles. **Critères de reporting** : l'optimiseur de cible est activé sur un groupe cible et sa valeur est différente de zéro. **Statistiques** : La statistique la plus significative est`Sum`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html)  | 

## Dimensions de métriques pour les Application Load Balancers
<a name="load-balancer-metric-dimensions-alb"></a>

Pour filtrer les métriques pour votre Application Load Balancer, utilisez les dimensions ci-dessous.


| Dimension | Description | 
| --- | --- | 
| AvailabilityZone |  Filtrer les données métriques par Zone de disponibilité.  | 
| LoadBalancer |  Filtre les données métriques en fonction de l'équilibreur de charge. Spécifiez l'équilibreur de charge comme suit : app/ *load-balancer-name*/*1234567890123456* (la dernière partie de l'ARN de l'équilibreur de charge).  | 
| TargetGroup |  Filtre les données métriques en fonction du groupe cible. Spécifiez le groupe cible comme suit : targetgroup/ *target-group-name*/*1234567890123456* (dernière partie de l'ARN du groupe cible).  | 

## Statistiques pour les métriques Application Load Balancer
<a name="metric-statistics"></a>

CloudWatch fournit des statistiques basées sur les points de données métriques publiés par Elastic Load Balancing. Les statistiques sont des regroupements de données de métrique sur une période donnée. Lorsque vous demandez des statistiques, le flux de données renvoyé est identifié par le nom et la dimension de la métrique. Une dimension est une paire nom-valeur qui identifie une métrique de manière unique. Par exemple, vous pouvez demander des statistiques pour toutes les instances EC2 saines derrière un équilibreur de charge, lancées dans une zone de disponibilité spécifique.

Les statistiques `Maximum` et `Minimum` reflètent les valeurs minimum et maximum des points de données signalés par les nœuds de l'équilibreur de charge individuel dans chaque fenêtre d'échantillonnage. Supposons, par exemple, que deux nœuds d'équilibreur de charge constituent l'Application Load Balancer. Un nœud a `HealthyHostCount` avec 2 pour `Minimum`, 10 pour `Maximum` et 6 pour `Average`, tandis que l'autre nœud a `HealthyHostCount` avec 1 pour `Minimum`, 5 pour `Maximum` et 3 pour `Average`. Par conséquent, l'équilibreur de charge a 1 pour `Minimum`, 10 pour `Maximum` et environ 4 pour `Average`.

Nous vous recommandons de surveiller une valeur différente de zéro `UnHealthyHostCount` dans les statistiques `Minimum` et de déclencher une alarme en cas de valeur différente de zéro pour plusieurs points de données. L'utilisation de `Minimum` permet de détecter les cas où les cibles sont considérées comme non saines par chaque nœud et zone de disponibilité de votre équilibreur de charge. Il est utile de déclencher une alarme sur `Average` ou `Maximum` si vous voulez être alerté de problèmes potentiels, et nous recommandons aux clients d'examiner cette métrique et d'enquêter sur les occurrences non nulles. L'atténuation automatique des défaillances peut être effectuée conformément aux bonnes pratiques consistant à utiliser la surveillance de l'état de l'équilibreur de charge dans Amazon EC2 Auto Scaling ou Amazon Elastic Container Service (Amazon ECS).

La statistique `Sum` est la valeur regroupée pour tous les nœuds d'équilibreur de charge. Etant donné que les métriques incluent plusieurs rapports par période, `Sum` ne s'applique qu'aux métriques qui sont regroupées pour tous les nœuds d'équilibreur de charge.

La statistique `SampleCount` est le nombre d'échantillons mesurés. Étant donné que les métriques sont collectées selon des intervalles de prélèvement et des événements, cette statistique n'est généralement pas utile. Par exemple, avec `HealthyHostCount`, `SampleCount` est basé sur le nombre d'échantillons que chaque nœud d'équilibreur de charge signale, et non sur le nombre d'hôtes sains.

Un centile indique la position relative d'une valeur dans un ensemble de données. Vous pouvez spécifier un centile en utilisant jusqu’à deux décimales (par exemple, p95.45). Par exemple, le 95e centile signifie que 95 % des données sont inférieures à cette valeur et que 5 % des données lui sont supérieures. Les centiles sont souvent utilisés pour isoler les anomalies. Par exemple, supposons qu'une application sert la majorité des demandes à partir d'un cache en 1 à 2 ms, mais en 100 à 200 ms si le cache est vide. Le valeur maximale reflète le cas plus lent, environ 200 ms. La moyenne n'indique pas la distribution des données. Les percentiles offrent une vue plus descriptive de performances de l'application. En utilisant le 99e percentile comme déclencheur ou CloudWatch alarme Auto Scaling, vous pouvez faire en sorte que le traitement de 1 % des demandes ne prenne pas plus de 2 ms.

## Afficher CloudWatch les statistiques de votre équilibreur de charge
<a name="view-metric-data"></a>

Vous pouvez consulter les CloudWatch métriques de vos équilibreurs de charge à l'aide de la console Amazon EC2. Ces métriques s’affichent sous forme de graphiques de surveillance. Les graphiques de surveillance affichent des points de données si l'équilibreur de charge est actif et reçoit des demandes.

Vous pouvez également afficher des métriques pour votre équilibreur de charge à l'aide de la console CloudWatch.

**Pour afficher des métriques à l'aide de la console**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Pour afficher les métriques filtrées par groupe cible, procédez comme suit :

   1. Dans le volet de navigation, sélectionnez **Groupes cibles**.

   1. Sélectionnez votre groupe cible, puis choisissez l'onglet **Surveillance**.

   1. (Facultatif) Pour filtrer les résultats par période, sélectionnez un intervalle de temps dans **Affichage des données pour**.

   1. Pour obtenir une vue plus grande d'une métrique individuelle, sélectionnez son graphique.

1. Pour afficher les métriques filtrées par équilibreur de charge , procédez comme suit :

   1. Dans le volet de navigation, choisissez **Load Balancers**.

   1. Sélectionnez votre équilibreur de charge, puis choisissez l'onglet **Surveillance**.

   1. (Facultatif) Pour filtrer les résultats par période, sélectionnez un intervalle de temps dans **Affichage des données pour**.

   1. Pour obtenir une vue plus grande d'une métrique individuelle, sélectionnez son graphique.

**Pour afficher les métriques à l'aide de la CloudWatch console**

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le panneau de navigation, sélectionnez ‎**Métriques**.

1. Sélectionnez l'espace de noms **ApplicationELB**.

1. (Facultatif) Pour afficher une métrique pour toutes les dimensions, entrez son nom dans le champ de recherche.

1. (Facultatif) Pour filtrer les métriques par dimension, sélectionnez l'une des options suivantes :
   + Pour afficher uniquement les métriques signalées pour vos équilibreurs de charge, choisissez **Métriques par AppELB**. Pour afficher les métriques pour un seul équilibreur de charge, entrez son nom dans le champ de recherche.
   + Pour afficher uniquement les métriques signalées pour vos groupes cibles, choisissez **Métriques par AppELB, par TG**. Pour afficher les métriques pour un seul groupe cible, entrez son nom dans le champ de recherche.
   + Pour afficher uniquement les métriques signalées pour vos équilibreurs de charge par zone de disponibilité, choisissez **Métriques par AppELB, par AZ**. Pour afficher les métriques pour un seul équilibreur de charge, entrez son nom dans le champ de recherche. Pour afficher les métriques pour une seule zone de disponibilité, entrez son nom dans le champ de recherche.
   + Pour afficher uniquement les métriques signalées pour vos équilibreurs de charge par zone de disponibilité et groupe cible, choisissez **Métriques par AppELB, par AZ, par TG**. Pour afficher les métriques pour un seul équilibreur de charge, entrez son nom dans le champ de recherche. Pour afficher les métriques pour un seul groupe cible, entrez son nom dans le champ de recherche. Pour afficher les métriques pour une seule zone de disponibilité, entrez son nom dans le champ de recherche.

**Pour consulter les statistiques à l'aide du AWS CLI**  
Utilisez la commande [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) suivante pour répertorier les métriques disponibles :

```
aws cloudwatch list-metrics --namespace AWS/ApplicationELB
```

**Pour obtenir les statistiques d'une métrique à l'aide du AWS CLI**  
Utilisez la [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)commande suivante pour obtenir des statistiques pour la métrique et la dimension spécifiées. CloudWatch traite chaque combinaison unique de dimensions comme une métrique distincte. Vous ne pouvez pas récupérer les statistiques à l'aide de combinaisons de dimensions qui n'ont pas été spécialement publiées. Vous devez spécifier les mêmes dimensions que celles utilisées lorsque les mesures ont été créées.

```
aws cloudwatch get-metric-statistics --namespace AWS/ApplicationELB \
--metric-name UnHealthyHostCount --statistics Average  --period 3600 \
--dimensions Name=LoadBalancer,Value=app/my-load-balancer/50dc6c495c0c9188 \
Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \
--start-time 2016-04-18T00:00:00Z --end-time 2016-04-21T00:00:00Z
```

Voici un exemple de sortie :

```
{
    "Datapoints": [
        {
            "Timestamp": "2016-04-18T22:00:00Z",
            "Average": 0.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2016-04-18T04:00:00Z",
            "Average": 0.0,
            "Unit": "Count"
        },
        ...
    ],
    "Label": "UnHealthyHostCount"
}
```

# Journaux d'accès pour votre Application Load Balancer
<a name="load-balancer-access-logs"></a>

Elastic Load Balancing fournit des journaux d'accès qui capturent des informations détaillées sur les demandes envoyées à votre équilibreur de charge. Chaque journal contient des informations comme l'heure à laquelle la demande a été reçue, l'adresse IP du client, les latences, les chemins de demande et les réponses du serveur. Vous pouvez utiliser ces journaux d'accès pour analyser les modèles de trafic et résoudre des problèmes.

Les journaux d'accès est une fonctionnalité facultative d'Elastic Load Balancing qui est désactivée par défaut. Après avoir activé les journaux d'accès pour votre équilibreur de charge, Elastic Load Balancing capture les journaux et les stocke dans le compartiment Amazon S3 que vous spécifiez sous forme de fichiers compressés. Vous pouvez désactiver les journaux d'accès à tout moment.

Les coûts de stockage pour Amazon S3 vous sont facturés, mais pas la bande passante utilisée par Elastic Load Balancing pour envoyer les fichiers journaux à Amazon S3. Pour plus d'informations sur les coûts de stockage, consultez [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Fichiers journaux d'accès](#access-log-file-format)
+ [Entrées des journaux d'accès](#access-log-entry-format)
+ [Exemple d'entrées de journal](#access-log-entry-examples)
+ [Configurer les notifications de livraison des journaux](#access-log-event-notifications)
+ [Traitement des fichiers journaux d'accès](#log-processing-tools)
+ [Activer les journaux d'accès](enable-access-logging.md)
+ [Désactiver les journaux d'accès](disable-access-logging.md)

## Fichiers journaux d'accès
<a name="access-log-file-format"></a>

Elastic Load Balancing publie un fichier journal pour chaque nœud d'équilibreur de charge toutes les 5 minutes. La diffusion de journaux est cohérente à terme. L'équilibreur de charge peut fournir plusieurs journaux pour la même période. Cela se produit généralement si le site connaît un trafic dense.

Les noms de fichiers des journaux d'accès respectent le format suivant :

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
Nom du compartiment S3.

*prefix*  
(Facultatif) Préfixe (hiérarchie logique) pour le compartiment. Le préfixe que vous spécifiez ne doit pas inclure la chaîne `AWSLogs`. Pour plus d'informations, consultez [Organisation des objets à l'aide de préfixes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Nous ajoutons la partie du nom de fichier commençant par `AWSLogs` après le nom du compartiment et le préfixe facultatif que vous avez spécifié.

*aws-account-id*  
L'identifiant du AWS compte du propriétaire.

*region*  
Région pour votre équilibreur de charge et le compartiment S3.

*aaaa*/*mm*/*jj*  
Date à laquelle le journal a été fourni.

*load-balancer-id*  
ID de ressource de l'équilibreur de charge. Si l'ID de ressource contient des barres obliques (/), elles sont remplacées par des points (.).

*end-time*  
Date et heure auxquelles l'intervalle de journalisation a pris fin. Par exemple, une heure de fin de 20140215T2340Z contient des entrées pour les demandes effectuées entre 23 h 35 et 23 h 40 en heure UTC ou en heure zoulou.

*ip-address*  
Adresse IP du nœud d'équilibreur de charge qui a traité la demande. Pour un équilibreur de charge, il s'agit d'une adresse IP privée.

*random-string*  
Chaîne aléatoire générée par le système.

Voici un exemple de nom de fichier journal avec un préfixe :

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Voici un exemple de nom de fichier journal sans préfixe :

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Vous pouvez stocker vos fichiers journaux dans votre compartiment aussi longtemps que vous le souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers journaux. Pour plus d'informations, consultez la section [Gestion du cycle de vie des objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) dans le *guide de l'utilisateur Amazon S3*.

## Entrées des journaux d'accès
<a name="access-log-entry-format"></a>

Elastic Load Balancing journalise les demandes envoyées à l'équilibreur de charge, y compris les demandes qui n'ont jamais atteint les cibles. Par exemple, si un client envoie une demande incorrecte ou qu'il n'existe aucune cible saine pour répondre à cette demande, la demande est quand même consignée.

Chaque entrée du journal contient les détails d'une seule demande (ou connexion dans le cas de WebSockets) envoyée à l'équilibreur de charge. En WebSockets effet, une entrée n'est écrite qu'après la fermeture de la connexion. Si la connexion mise à niveau ne peut pas être établie, l'entrée est identique à celle correspondant à une demande HTTP ou HTTPS.

**Important**  
Elastic Load Balancing consigne les demandes dans la mesure du possible. Il est recommandé d'utiliser les journaux d'accès pour comprendre la nature des demandes, et non comme comptabilisation complète de toutes les demandes.

**Topics**
+ [Syntaxe](#access-log-entry-syntax)
+ [Actions prises](#actions-taken)
+ [Motifs de classification](#classification-reasons)
+ [Codes de motif d'erreur](#error-reason-codes)
+ [Transformer les codes d'état](#transform-status-codes)

### Syntaxe
<a name="access-log-entry-syntax"></a>

Le tableau suivant décrit les champs d'une entrée de journal d'accès, dans l'ordre. Tous les champs sont délimités par des espaces. Lorsque nous ajoutons un nouveau champ, nous l'ajoutons à la fin de l'entrée du journal. Alors que nous nous préparons à publier un nouveau champ, il se peut que vous voyiez un « - » supplémentaire à la fin avant que le champ ne soit publié. Assurez-vous de configurer l'analyse des journaux pour qu'elle s'arrête après le dernier champ documenté, et de mettre à jour l'analyse des journaux après la publication d'un nouveau champ.


| Champ (position) | Description | 
| --- | --- | 
|  type (1)  |  Type de demande ou de connexion. Les valeurs possibles sont les suivantes (ignorer les autres valeurs) : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  heure (2)  |  Date et heure auxquelles l'équilibreur de charge a envoyé une demande au client, au format ISO 8601. Car WebSockets c'est le moment où la connexion est fermée.  | 
|  orbe (3)  |  ID de ressource de l'équilibreur de charge. Si vous analysez les entrées du journal d'accès, notez que les ressources IDs peuvent contenir des barres obliques (/).  | 
|  client : port (4)  |  Adresse IP et port du client demandeur. S'il y a un proxy devant l'équilibreur de charge, ce champ contient l'adresse IP du proxy.  | 
|  cible : port (5)  |  Adresse IP et port de la cible qui a traité cette demande. Si le client n'a pas envoyé de demande complète, l'équilibreur de charge ne peut pas envoyer la demande à une cible, et cette valeur est définie sur -. Si la cible est une fonction Lambda, cette valeur est définie sur -. Si la demande est bloquée par AWS WAF, cette valeur est définie sur -.  | 
|  temps\$1de\$1traitement de la demande (6)  |  Le temps total écoulé (en secondes, avec une précision de l'ordre de la milliseconde) entre le moment où l'équilibreur de charge a reçu la demande et le moment où il l'a envoyée à une cible. Cette valeur est définie sur -1 si l'équilibreur de charge ne peut pas envoyer la demande à une cible. Cela peut se produire si la cible ferme la connexion avant la fin du délai d'inactivité ou si le client envoie une demande incorrecte. Cette valeur peut également être définie sur -1 s'il est impossible d'établir une connexion TCP avec la cible avant que le délai de connexion TCP de 10 secondes soit atteint. Si cette fonction AWS WAF est activée pour votre Application Load Balancer ou si le type de cible est une fonction Lambda, le temps nécessaire au client pour envoyer les données requises pour les requêtes POST est pris en compte. `request_processing_time`  | 
|  temps\$1de\$1traitement cible (7)  |  Durée totale écoulée (en secondes, avec une précision à la milliseconde) entre le moment où l'équilibreur de charge a envoyé la demande à une cible et celui où la cible a commencé à envoyer les en-têtes de réponse. Cette valeur est définie sur -1 si l'équilibreur de charge ne peut pas envoyer la demande à une cible. Cela peut se produire si la cible ferme la connexion avant la fin du délai d'inactivité ou si le client envoie une demande incorrecte. Cette valeur peut également être définie sur -1 si la cible enregistrée ne répond pas avant le délai d'inactivité. Si cette option n' AWS WAF est pas activée pour votre Application Load Balancer, le temps nécessaire au client pour envoyer les données requises pour les requêtes POST est pris en compte. `target_processing_time`  | 
|  temps\$1de\$1traitement de la réponse (8)  |  Durée totale écoulée (en secondes, avec une précision à la milliseconde) entre le moment où l'équilibreur de charge a reçu l'en-tête de réponse de la cible et celui où il a commencé à envoyer la réponse au client. Cette durée inclut le temps en file d'attente sur l'équilibreur de charge et le temps d'acquisition de la connexion entre l'équilibreur de charge et le client. Cette valeur est définie sur -1 si l'équilibreur de charge ne reçoit pas de réponse d'une cible. Cela peut se produire si la cible ferme la connexion avant la fin du délai d'inactivité ou si le client envoie une demande incorrecte.  | 
|  elb\$1status\$1code (9)  |  Le code d'état de la réponse généré par l'équilibreur de charge, la règle de réponse fixe ou le code de réponse AWS WAF personnalisé pour les actions de blocage.  | 
|  code\$1état\$1cible (10)  |  Code d'état de la réponse de la cible. Cette valeur est enregistrée uniquement si une connexion a été établie avec la cible et que la cible a envoyé une réponse. Sinon, elle est définie sur ‑.  | 
|  octets reçus (11)  |  Taille de la demande, en octets, reçue du client (demandeur). Pour les demandes HTTP, cela inclut les en-têtes. Car WebSockets il s'agit du nombre total d'octets reçus du client lors de la connexion.  | 
|  octets envoyés (12)  |  Taille de la réponse, en octets, envoyée au client (demandeur). Pour les requêtes HTTP, cela inclut les en-têtes et le corps de la réponse. Car WebSockets il s'agit du nombre total d'octets envoyés au client lors de la connexion. Les en-têtes TCP et la charge utile du handshake TLS ne sont pas inclus. `sent_bytes` Par conséquent, cela `sent_bytes` ne `DataTransfer-Out-Bytes` correspondra pas AWS Cost Explorer.  | 
|  « ligne de demande » (13)  |  Ligne de demande du client, placée entre guillemets et consignée au format suivant : méthode HTTP \$1 protocole://hôte:port/URI \$1 version HTTP. L'équilibreur de charge conserve en l'état l'URL envoyée par le client lors de l'enregistrement de l'URI de la demande. Il ne définit pas le type de contenu pour le fichier journal d'accès. Lorsque vous traitez ce champ, tenez compte de la façon dont le client a envoyé l'URL.  | 
|  « agent utilisateur » (14)  |  Chaîne Agent-Utilisateur qui identifie le client qui a envoyé la demande, placée entre guillemets. La chaîne se compose d'un ou plusieurs identificateurs, et du produit/[version]. Si la chaîne dépasse 8 Ko, elle est tronquée.  | 
|  ssl\$1cipher (15)  |  [Ecouteur HTTPS/] Chiffrement SSL. Cette valeur est définie comme - si l’écouteur n’est pas un écouteur HTTPS.  | 
|  protocole SSL (16)  |  [Ecouteur HTTPS/] Protocole SSL. Cette valeur est définie comme - si l’écouteur n’est pas un écouteur HTTPS.  | 
|  target\$1group\$1arn (17)  |  L'Amazon Resource Name (ARN) du groupe cible.  | 
|  « identifiant de trace » (18)  |  Contenu de l'en-tête **X-Amzn-Trace-Id**, placé entre guillemets.  | 
|  « nom\$1domaine » (19)  |  [Écouteur HTTPS] Domaine SNI fourni par le client lors de la liaison TLS, placé entre guillemets. Cette valeur est définie sur - si le client ne prend pas en charge SNI ou si le domaine ne correspond pas à un certificat et que le certificat par défaut est présenté au client.  | 
|  « chosen\$1cert\$1arn » (20)  |  [Écouteur HTTPS] ARN du certificat présenté au client, placé entre guillemets. Cette valeur est définie sur `session-reused` si la session est réutilisée. Cette valeur est définie comme - si l’écouteur n’est pas un écouteur HTTPS.  | 
|  priorité\$1rule\$1correspondante (21)  |  Valeur de priorité de la règle qui correspondait à la demande. Si une règle correspondait, il s'agit d'une valeur comprise entre 1 et 50 000. Si aucune règle ne correspondait et que l'action par défaut a été exécutée, cette valeur est définie sur 0. Si une erreur se produit au cours de l'évaluation des règles, cette valeur est définie sur -1. Pour les autres erreurs, elle est définie sur -.  | 
|  heure de création de la demande (22)  |  Date et heure auxquelles l'équilibreur de charge a reçu les demandes, au format ISO 8601.  | 
|  « actions exécutées » (23)  |  Actions réalisées lors du traitement de la demande, placées entre guillemets. Cette valeur est une liste séparée par des virgules qui peut inclure les valeurs décrites dans [Actions prises](#actions-taken). Si aucune action n'a été effectuée, comme pour une demande incorrecte, cette valeur est définie sur -.  | 
|  « URL de redirection » (24)  |  URL de la cible de redirection pour l'en-tête d'emplacement de la réponse HTTP, indiquée entre guillemets. Si aucune action de redirection n'a été effectuée, cette valeur est définie sur -.  | 
|  « Motif de l'erreur » (25)  |  Le code de motif d’erreur, placé entre guillemets. Si la demande a échoué, il s'agit de l'un des codes d'erreur décrits dans [Codes de motif d'erreur](#error-reason-codes). Si les actions effectuées ne comportent pas d'action d'authentification ou si la cible n'est pas une fonction Lambda, cette valeur est définie comme -.  | 
|  « target : port\$1list » (26)  |  Liste d'adresses IP et de ports séparés par des espaces pour les cibles ayant cette demande, entre guillemets doubles. Actuellement, cette liste peut contenir un élément et correspond au champ target:port. Si le client n'a pas envoyé de demande complète, l'équilibreur de charge ne peut pas envoyer la demande à une cible, et cette valeur est définie sur -. Si la cible est une fonction Lambda, cette valeur est définie sur -. Si la demande est bloquée par AWS WAF, cette valeur est définie sur -.  | 
|  « target\$1status\$1code\$1list » (27)  |  Liste de codes d'état séparés par des espaces provenant des réponses des cibles, entre guillemets doubles. Actuellement, cette liste peut contenir un élément et correspond au champ target\$1status\$1code. Cette valeur est enregistrée uniquement si une connexion a été établie avec la cible et que la cible a envoyé une réponse. Sinon, elle est définie sur ‑.  | 
|  « classement » (28)  |  La classification pour l'atténuation de la désynchronisation, entre guillemets doubles. Si la demande n'est pas conforme à RFC 7230, les valeurs possibles sont Acceptable, Ambigu et Severe. Si la demande est conforme à RFC 7230, cette valeur est définie sur -.  | 
|  « Motif de classification » (29)  |  Le code de raison de la classification, entre guillemets. Si la demande n'est pas conforme à RFC 7230, il s'agit de l'un des codes de classification décrits dans [Motifs de classification](#classification-reasons). Si la demande est conforme à RFC 7230, cette valeur est définie sur -.  | 
|  conn\$1trace\$1id (30)  |  L'identifiant de traçabilité de connexion est un **identifiant opaque unique** utilisé pour identifier chaque connexion. Une fois la connexion établie avec un client, les demandes suivantes de ce client contiendront cet identifiant dans leurs entrées de journal d'accès respectives. Cet ID agit comme une clé étrangère pour créer un lien entre les journaux de connexion et d'accès.  | 
|  « hôte\$1transformé » (31)  |  L'en-tête de l'hôte après sa modification par une transformation de réécriture de l'en-tête de l'hôte. Si l'une des conditions suivantes est vraie, cette valeur est définie sur -. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  « transformé\$1uri » (32)  |  L'URI après sa modification par une transformation de réécriture d'URL. Si l'une des conditions suivantes est vraie, cette valeur est définie sur -. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-access-logs.html)  | 
|  « request\$1transform\$1status » (33)  |  État de la transformation de réécriture. Si aucune transformation de réécriture n'a été appliquée, cette valeur est définie sur -. Dans le cas contraire, cette valeur est l'une des valeurs d'état décrites dans[Transformer les codes d'état](#transform-status-codes).  | 

### Actions prises
<a name="actions-taken"></a>

L'équilibreur de charge stocke les actions qu'il prend dans le champ actions\$1executed du journal d'accès.
+ `authenticate` – L'équilibreur de charge a validé la session, authentifié l'utilisateur et ajouté les informations utilisateur aux en-têtes de la demande, comme spécifié par la configuration de la règle.
+ `fixed-response` – L'équilibreur de charge a envoyé une réponse fixe, comme spécifié par la configuration de la règle.
+ `forward` – L'équilibreur de charge a transféré la demande à une cible, comme spécifié par la configuration de la règle.
+ `redirect` – L'équilibreur de charge a redirigé la demande vers une autre URL, comme spécifié par la configuration de la règle.
+ `rewrite`— L'équilibreur de charge a réécrit l'URL de la demande, comme indiqué dans la configuration des règles.
+ `waf` – L'équilibreur de charge a transmis la demande à AWS WAF pour déterminer si la demande doit être transmise à la cible. S'il s'agit de l'action finale, AWS WAF déterminez que la demande doit être rejetée. Par défaut, les demandes rejetées par AWS WAF seront enregistrées sous la forme « 403 » dans le `elb_status_code` champ. Lorsqu'il AWS WAF est configuré pour rejeter les demandes avec un code de réponse personnalisé, le `elb_status_code` champ reflétera le code de réponse configuré.
+ `waf-failed`— L'équilibreur de charge a tenté de transférer la demande à AWS WAF, mais le processus a échoué.

### Motifs de classification
<a name="classification-reasons"></a>

Si une demande n'est pas conforme à RFC 7230, l'équilibreur de charge stocke l'un des codes suivants dans le champ classification\$1reason du journal d'accès. Pour de plus amples informations, veuillez consulter [Mode d'atténuation de désynchronisation](edit-load-balancer-attributes.md#desync-mitigation-mode).


| Code | Description | Classification | 
| --- | --- | --- | 
|  `AmbiguousUri`  |  L'URI de requête contient des caractères de contrôle.  |  Ambigu  | 
|  `BadContentLength`  |  L'en-tête Content-Length contient une valeur qui ne peut pas être analysée ou n'est pas un nombre valide.  |  Sévère  | 
|  `BadHeader`  |  Un en-tête contient un caractère nul ou un retour chariot.  |  Sévère  | 
|  `BadTransferEncoding`  |  L'en-tête Transfer-Encoding contient une valeur incorrecte.  |  Sévère  | 
|  `BadUri`  |  L'URI de la requête contient un caractère nul ou un retour chariot.  |  Sévère  | 
|  `BadMethod`  |  La méthode de la requête est mal formée.  |  Sévère  | 
|  `BadVersion`  |  La version de la requête est mal formée.  |  Sévère  | 
|  `BothTeClPresent`  |  La requête contient à la fois un en-tête Transfer-Encoding et un en-tête Content-Length.  |  Ambigu  | 
|  `DuplicateContentLength`  |  Il existe plusieurs en-têtes Content-Length avec la même valeur.  |  Ambigu  | 
|  `EmptyHeader`  |  Un en-tête est vide ou il y a une ligne avec seulement des espaces.  |  Ambigu  | 
|  `GetHeadZeroContentLength`  |  Il existe un en-tête Content-Length avec une valeur de 0 pour une requête GET ou HEAD.  |  Acceptable  | 
|  `MultipleContentLength`  |  Il existe plusieurs en-têtes Content-Length avec des valeurs différentes.  |  Sévère  | 
|  `MultipleTransferEncodingChunked`  |  Il existe plusieurs en-têtes segmentés Transfer-Encoding:.  |  Sévère  | 
|  `NonCompliantHeader`  |  Un en-tête contient un caractère non ASCII ou de contrôle.  |  Acceptable  | 
|  `NonCompliantVersion`  |  La version de requête contient une valeur incorrecte.  |  Acceptable  | 
|  `SpaceInUri`  |  L'URI de la requête contient un espace qui n'est pas encodé par URL.  |  Acceptable  | 
|  `SuspiciousHeader`  |  Il existe un en-tête qui peut être normalisé en Transfer-Encoding ou Content-Length à l'aide de techniques de normalisation de texte courantes.  |  Ambigu  | 
|  `SuspiciousTeClPresent`  |  La demande contient à la fois un en-tête Transfer-Encoding et un en-tête Content-Length, dont au moins l'un est suspect.  |  Sévère  | 
|  `UndefinedContentLengthSemantics`  |  Un en-tête Content-Length est défini pour une demande GET ou HEAD.  |  Ambigu  | 
|  `UndefinedTransferEncodingSemantics`  |  Un en-tête Transfer-Encoding est défini pour une demande GET ou HEAD.  |  Ambigu  | 

### Codes de motif d'erreur
<a name="error-reason-codes"></a>

Si l’équilibreur de charge ne peut pas achever une action d’authentification, il stocke l'un des codes de motif suivants dans le champ error\$1reason du journal d'accès. L'équilibreur de charge incrémente également la métrique correspondante CloudWatch . Pour de plus amples informations, veuillez consulter [Authentification des utilisateurs à l'aide d'un Application Load Balancer](listener-authenticate-users.md).


| Code | Description | Métrique | 
| --- | --- | --- | 
|  `AuthInvalidCookie`  |  Le cookie dauthentification n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthInvalidGrantError`  |  Le code d’octroi d’autorisation du point de terminaison de jeton n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthInvalidIdToken`  |  Le jeton d’identification n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthInvalidStateParam`  |  Le paramètre d’état n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthInvalidTokenResponse`  |  La réponse du point de terminaison de jeton n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthInvalidUserinfoResponse`  |  La réponse du point de terminaison d’information utilisateur n’est pas valable.  |  `ELBAuthFailure`  | 
|  `AuthMissingCodeParam`  |  Il manque à la réponse d'authentification du point de terminaison d'autorisation un paramètre de requête nommé 'code'.  |  `ELBAuthFailure`  | 
|  `AuthMissingHostHeader`  |  Il manque à la réponse d'authentification du point de terminaison d'autorisation un champ d’en-tête d’hôte.  |  `ELBAuthError`  | 
|  `AuthMissingStateParam`  |  Il manque à la réponse d'authentification du point de terminaison d'autorisation un paramètre de requête nommé 'état'.  |  `ELBAuthFailure`  | 
|  `AuthTokenEpRequestFailed`  |  Il y a une réponse d'erreur (non-2XX) à partir du point de terminaison de jeton.  |  `ELBAuthError`  | 
|  `AuthTokenEpRequestTimeout`  |  L'équilibreur de charge ne parvient pas à communiquer avec le point de terminaison du jeton, ou le point de terminaison du jeton ne répond pas dans les 5 secondes.  |  `ELBAuthError`  | 
|  `AuthUnhandledException`  |  L’équilibreur de charge a rencontré une exception non gérée.  |  `ELBAuthError`  | 
|  `AuthUserinfoEpRequestFailed`  |  Il y a une réponse d'erreur (non-2XX) à partir du point de terminaison d’information utilisateur IdP.  |  `ELBAuthError`  | 
|  `AuthUserinfoEpRequestTimeout`  |  L'équilibreur de charge ne parvient pas à communiquer avec le point de terminaison d'informations utilisateur IdP, ou le point de terminaison d'informations utilisateur ne répond pas dans les 5 secondes.  |  `ELBAuthError`  | 
|  `AuthUserinfoResponseSizeExceeded`  |  La taille des réclamations renvoyées par l’IdP est supérieure à 11 ko.  |  `ELBAuthUserClaimsSizeExceeded`  | 

Si l'équilibreur de charge ne peut pas effectuer une action de validation jwt, il stocke l'un des codes de motif suivants dans le champ error\$1reason du journal d'accès. L'équilibreur de charge incrémente également la métrique correspondante CloudWatch . Pour de plus amples informations, veuillez consulter [Vérifier JWTs à l'aide d'un Application Load Balancer](listener-verify-jwt.md).


| Code | Description | Métrique | 
| --- | --- | --- | 
|  `JWTHeaderNotPresent`  |  La demande ne contient pas d'en-tête d'autorisation.  |  `JWTValidationFailureCount`  | 
|  `JWTRequestFormatInvalid`  |  Le jeton de la demande est mal formé ou il manque des parties obligatoires (en-tête, charge utile ou signature), l'en-tête ne contient pas le préfixe « porteur », l'en-tête contient un type d'authentification différent tel que « Basic », l'en-tête d'autorisation est présent mais le jeton n'est pas présent, si plusieurs jetons sont présents dans la demande  |  `JWTValidationFailureCount`  | 
|  `JWKSRequestTimeout`  |  L'équilibreur de charge est incapable de communiquer avec le point de terminaison JWKS, ou le point de terminaison JWKS ne répond pas dans les 5 secondes.  |  `JWTValidationFailureCount`  | 
|  `JWKSResponseSizeExceeded`  |  La taille de la réponse renvoyée par le point de terminaison JWKS dépasse 150 Ko ou le nombre de clés renvoyées par le point de terminaison JWKS dépasse 10.  |  `JWTValidationFailureCount`  | 
|  `JWKSRequestFailed`  |  Il existe une réponse d'erreur (autre que 2xx) provenant du point de terminaison JWKS.  |  `JWTValidationFailureCount`  | 
|  `JWKSResponseInvalid`  |  La réponse JWKS présente un ou plusieurs des problèmes suivants : format non JSON, caractères non valides, format JWKS non valide, attributs JWKS Missing/invalid obligatoires, algorithme non pris en charge par la clé publique, impossible de convertir la clé publique en clé de décodage, taille de la clé publique inférieure à 2 Ko.  |  `JWTValidationFailureCount`  | 
|  `JWTSignatureValidationError`  |  Impossible de valider la signature du jeton pour quelque raison que ce soit, notamment la signature ne correspond pas, le jeton est signé avec un algorithme non pris en charge, le KID du jeton n'est pas présent dans le point de terminaison JWKS.  |  `JWTValidationFailureCount`  | 
|  `JWTClaimNotPresent`  |  Dans la demande du client, JWT ne contient aucune réclamation requise pour la validation  |  `JWTValidationFailureCount`  | 
|  `JWTClaimFormatInvalid`  |  Le format de la valeur de la réclamation dans le JWT ne correspond pas au format spécifié dans la configuration  |  `JWTValidationFailureCount`  | 
|  `JWTClaimValueInvalid`  |  La valeur de la réclamation dans le JWT n'est pas valide.  |  `JWTValidationFailureCount`  | 
|  `JWTValidationInternalError`  |  L'équilibreur de charge a rencontré une erreur inattendue lors de la validation du JWT dans la demande du client.  |  `JWTValidationFailureCount`  | 

Si une demande à un groupe cible pondéré échoue, l'équilibreur de charge stocke un des codes d’erreur suivants dans le champ error\$1reason du journal d'accès.


| Code | Description | 
| --- | --- | 
|  `AWSALBTGCookieInvalid`  |  Le AWSALBTG cookie, qui est utilisé avec des groupes cibles pondérés, n'est pas valide. Par exemple, l'équilibreur de charge renvoie cette erreur lorsque les valeurs de cookie sont codées par URL.  | 
|  `WeightedTargetGroupsUnhandledException`  |  L’équilibreur de charge a rencontré une exception non gérée.  | 

Si une demande à une fonction Lambda échoue, l'équilibreur de charge stocke l'un des codes de motif suivants dans le champ error\$1reason du journal d'accès. L'équilibreur de charge incrémente également la métrique correspondante CloudWatch . Pour plus d'informations, consultez l'action Lambda [Invoke](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html).


| Code | Description | Métrique | 
| --- | --- | --- | 
|  `LambdaAccessDenied`  |  L'équilibreur de charge n'est pas autorisé à appeler la fonction Lambda.  |  `LambdaUserError`  | 
|  `LambdaBadRequest`  |  L'invocation Lambda a échoué, car les en-têtes ou le corps de la requête du client ne contenaient pas uniquement des caractères UTF-8.  |  `LambdaUserError`  | 
|  `LambdaConnectionError`  |  L'équilibreur de charge ne peut pas se connecter à Lambda.  |  `LambdaInternalError`  | 
|  `LambdaConnectionTimeout`  |  Une tentative de connexion à Lambda a expiré.  |  `LambdaInternalError`  | 
|  `LambdaEC2AccessDeniedException`  |  Amazon EC2 ne peut pas accéder à Lambda lors de l'initialisation de la fonction.  |  `LambdaUserError`  | 
|  `LambdaEC2ThrottledException`  |  Amazon EC2 a limité Lambda lors de l'initialisation de la fonction.  |  `LambdaUserError`  | 
|  `LambdaEC2UnexpectedException`  |  Amazon EC2 a rencontré une exception inattendue lors de l'initialisation de la fonction.  |  `LambdaUserError`  | 
|  `LambdaENILimitReachedException`  |  Lambda n'a pas pu créer une interface réseau dans le VPC spécifié dans la configuration de la fonction Lambda, car la limite des interfaces réseau a été dépassé.  |  `LambdaUserError`  | 
|  `LambdaInvalidResponse`  |  La réponse de la fonction Lambda est incorrecte ou des champs obligatoires sont manquants dans celle-ci.  |  `LambdaUserError`  | 
|  `LambdaInvalidRuntimeException`  |  La version spécifiée de l'exécution Lambda n'est pas prise en charge.  |  `LambdaUserError`  | 
|  `LambdaInvalidSecurityGroupIDException`  |  L'ID de groupe de sécurité spécifié dans la configuration de la fonction Lambda n'est pas valide.  |  `LambdaUserError`  | 
|  `LambdaInvalidSubnetIDException`  |  L'ID de sous-réseau spécifié dans la configuration de la fonction Lambda n'est pas valide.  |  `LambdaUserError`  | 
|  `LambdaInvalidZipFileException`  |  Lambda n'a pas pu décompresser le fichier zip de la fonction spécifiée.  |  `LambdaUserError`  | 
|  `LambdaKMSAccessDeniedException`  |  Lambda n'a pas pu déchiffrer les variables d'environnement, car l'accès à la clé KMS a été refusé. Vérifiez les autorisations KMS de la fonction Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSDisabledException`  |  Lambda n'a pas pu déchiffrer les variables d'environnement, car la clé KMS spécifiée est désactivée. Vérifiez les paramètres de clé KMS de la fonction Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSInvalidStateException`  |  Lambda n'a pas pu déchiffrer les variables d'environnement, car l'état de la clé KMS n'est pas valide. Vérifiez les paramètres de clé KMS de la fonction Lambda.  |  `LambdaUserError`  | 
|  `LambdaKMSNotFoundException`  |  Lambda n'a pas pu déchiffrer les variables d'environnement, car la clé KMS est introuvable. Vérifiez les paramètres de clé KMS de la fonction Lambda.  |  `LambdaUserError`  | 
|  `LambdaRequestTooLarge`  |  La taille du corps de la demande dépassait 1 Mo.  |  `LambdaUserError`  | 
|  `LambdaResourceNotFound`  |  La fonction Lambda est introuvable.  |  `LambdaUserError`  | 
|  `LambdaResponseTooLarge`  |  La taille de la réponse dépassait 1 Mo.  |  `LambdaUserError`  | 
|  `LambdaServiceException`  |  Lambda a rencontré Une erreur interne.  |  `LambdaInternalError`  | 
|  `LambdaSubnetIPAddressLimitReachedException`  |  Lambda n'a pas pu configurer l'accès VPC de la fonction Lambda, car un ou plusieurs sous-réseaux ne disposent pas d'adresse IP.  |  `LambdaUserError`  | 
|  `LambdaThrottling`  |  La fonction Lambda a été limitée en raison d'un trop grand nombre de demandes.  |  `LambdaUserError`  | 
|  `LambdaUnhandled`  |  La fonction Lambda a rencontré une exception non gérée.  |  `LambdaUserError`  | 
|  `LambdaUnhandledException`  |  L’équilibreur de charge a rencontré une exception non gérée.  |  `LambdaInternalError`  | 
|  `LambdaWebsocketNotSupported`  |  WebSockets ne sont pas pris en charge avec Lambda.  |  `LambdaUserError`  | 

Si l'équilibreur de charge rencontre une erreur lors du transfert des demandes AWS WAF, il enregistre l'un des codes d'erreur suivants dans le champ error\$1reason du journal d'accès.


| Code | Description | 
| --- | --- | 
|  `WAFConnectionError`  |  L'équilibreur de charge ne peut pas se connecter à. AWS WAF  | 
|  `WAFConnectionTimeout`  |  Le délai de connexion AWS WAF a expiré.  | 
|  `WAFResponseReadTimeout`  |  Une demande d'expiration du AWS WAF délai imparti.  | 
|  `WAFServiceError`  |  AWS WAF a renvoyé une erreur 5XX.  | 
|  `WAFUnhandledException`  |  L’équilibreur de charge a rencontré une exception non gérée.  | 

### Transformer les codes d'état
<a name="transform-status-codes"></a>




| Code | Description | 
| --- | --- | 
|  `TransformBufferTooSmall`  |  La transformation de réécriture a échoué car le résultat a dépassé la taille d'une mémoire tampon interne. Essayez de rendre l'expression régulière moins complexe.  | 
|  `TransformCompileError`  |  La compilation de l'expression régulière a échoué.  | 
|  `TransformCompileTooBig`  |  L'expression régulière compilée était trop grande. Essayez de rendre l'expression régulière moins complexe.  | 
|  `TransformInvalidHost`  |  La transformation de réécriture de l'en-tête de l'hôte a échoué car l'hôte obtenu n'est pas valide.  | 
|  `TransformInvalidPath`  |  La transformation de réécriture d'URL a échoué car le chemin obtenu n'est pas valide.  | 
|  `TransformRegexSyntaxError`  |  L'expression régulière contenait une erreur de syntaxe.  | 
|  `TransformReplaceError`  |  Le remplacement de la transformation a échoué.  | 
|  `TransformSuccess`  |  La transformation de réécriture s'est terminée avec succès.  | 

## Exemple d'entrées de journal
<a name="access-log-entry-examples"></a>

Des modèles d'entrées de journal sont présentés ci-après : Notez que le texte d'exemple apparaît sur plusieurs lignes uniquement pour en faciliter la lecture.

**Exemple d'entrée HTTP**  
Voici un exemple d'entrée de journal pour un écouteur HTTP (port 80 vers port 80) :

```
http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366 
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 
0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemple d'entrée HTTPS**  
Voici un exemple d'entrée de journal pour un écouteur HTTPS (port 443 vers port 80) :

```
https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 
"GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012"
1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" 
TID_1234abcd5678ef90 "m.example.com" "-" "TransformSuccess"
```

**Exemple d'entrée HTTP/2**  
Voici un exemple d'entrée de journal pour un flux HTTP/2.

```
h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257 
"GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337327-72bd00b0343d75b906739c42" "-" "-"
1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemple WebSockets d'entrée**  
Voici un exemple d'entrée de journal pour une WebSockets connexion.

```
ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587 
"GET http://10.0.0.30:80/ HTTP/1.1" "-" - - 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemple d' WebSockets entrée sécurisée**  
Voici un exemple d'entrée de journal pour une WebSockets connexion sécurisée.

```
wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786
"GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

**Exemples d'entrées pour des fonctions Lambda**  
Voici un exemple d'entrée du journal pour une demande à une fonction Lambda qui a réussi :

```
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

Voici un exemple d'entrée du journal pour une demande à une fonction Lambda qui a échoué :

```
http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188
192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366
"GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - -
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-"
0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-" 
TID_1234abcd5678ef90 "-" "-" "-"
```

## Configurer les notifications de livraison des journaux
<a name="access-log-event-notifications"></a>

Pour recevoir des notifications lorsqu'Elastic Load Balancing envoie des logs à votre compartiment S3, utilisez Amazon S3 Event Notifications. Elastic Load Balancing utilise [PutObject[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), et [un objet POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) pour fournir des journaux à Amazon S3. Pour vous assurer de recevoir toutes les notifications de livraison des journaux, incluez tous ces événements de création d'objets dans votre configuration.

Pour plus d'informations, consultez les [notifications d'événements Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.

## Traitement des fichiers journaux d'accès
<a name="log-processing-tools"></a>

Les fichiers journaux d'accès sont compressés. Si vous téléchargez les fichiers, vous devez les décompresser pour afficher les informations.

Si la demande est importante sur votre site web, votre équilibreur de charge peut générer des fichiers journaux avec des gigaoctets de données. Il se peut que vous ne puissiez pas traiter une telle quantité de données à l'aide du line-by-line traitement. Vous devrez donc peut-être utiliser des outils d'analyse qui proposent des solutions de traitement en parallèle. Par exemple, vous pouvez utiliser les outils d'analyse suivants pour analyser et traiter des journaux d'accès :
+ Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide du langage SQL standard. Pour de plus amples d'informations, consultez [Interrogation des journaux Application Load Balancer](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) dans le *Guide de l'utilisateur Amazon Athena*.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo Logic](https://www.sumologic.com/application/elb/)

# Activation des journaux d'accès pour votre Application Load Balancer
<a name="enable-access-logging"></a>

Pour activer les journaux d'accès pour votre équilibreur de charge, vous devez spécifier le nom du compartiment S3 dans lequel l'équilibreur de charge stockera les journaux. Le compartiment doit avoir une politique de compartiment qui accorde à Elastic Load Balancing l'autorisation d'écrire dans le compartiment.

**Topics**
+ [Étape 1 : créer un compartiment S3](#access-log-create-bucket)
+ [Étape 2 : Attacher une politique à votre compartiment S3](#attach-bucket-policy)
+ [Étape 3 : configurer des journaux d'accès](#enable-access-logs)
+ [Étape 4 : vérifier les autorisations du compartiment](#verify-bucket-permissions)
+ [Résolution des problèmes](#bucket-permissions-troubleshooting)

## Étape 1 : créer un compartiment S3
<a name="access-log-create-bucket"></a>

Lorsque vous activez les journaux d'accès, vous devez spécifier un compartiment S3 pour les journaux d'accès. Vous ou utiliser un compartiment existant ou créer un compartiment spécifique pour les journaux d'accès. Le compartiment doit répondre aux critères suivants :

**Exigences**
+ Le compartiment doit se situer dans la même région que l'équilibreur de charge. Le compartiment et l'équilibreur de charge peuvent être détenus par des comptes différents.
+ La seule option de chiffrement côté serveur qui soit prise en charge est celle des clés gérées par Amazon S3 (SSE-S3). Pour plus d'informations, veuillez consulter la rubrique [Clés de chiffrement gérées par Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Pour créer un compartiment S3 vide à l'aide de la console Amazon S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez **Créer un compartiment**.

1. Sur la page **Créer un compartiment**, procédez de la façon suivante :

   1. Pour **Nom du compartiment**, saisissez le nom de votre compartiment. Ce nom doit être unique parmi tous les noms de compartiment existants dans Amazon S3. Dans certaines régions, des restrictions supplémentaires peuvent être appliquées aux noms de compartiment. Pour plus d'informations, consultez la section [Restrictions et limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) relatives aux compartiments dans le *guide de l'utilisateur Amazon S3*.

   1. Pour **AWS Region** (Région ), sélectionnez la région où vous avez créé votre équilibreur de charge.

   1. Pour **le chiffrement par défaut**, choisissez des **clés gérées par Amazon S3 (SSE-S3)**.

   1. Choisissez **Créer un compartiment**.

## Étape 2 : Attacher une politique à votre compartiment S3
<a name="attach-bucket-policy"></a>

Votre compartiment S3 doit avoir une politique de compartiment qui accorde à Elastic Load Balancing l'autorisation d'écrire les journaux d'accès dans le compartiment. Les stratégies de compartiment sont une collection d'instructions JSON écrites dans le langage d'access policy permettant de définir des autorisations d'accès pour votre compartiment. Chaque instruction comporte des informations relatives à une seule autorisation et contient une série d'éléments.

Si vous utilisez un compartiment existant qui comporte déjà une politique attachée, vous pouvez ajouter la déclaration pour le journaux d'accès Elastic Load Balancing à la politique. Si vous procédez ainsi, nous vous recommandons d'évaluer l'ensemble d'autorisations résultant pour vous s'assurer que celles-ci sont appropriées pour les utilisateurs qui ont besoin d'accéder au compartiment pour trouver des journaux d'accès.

### Politique de compartiment
<a name="bucket-policy-logdelivery"></a>

Cette politique accorde des autorisations au service de livraison des journaux.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès, en utilisant le format indiqué dans l'exemple de politique. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Politique relative aux anciens compartiments
<a name="legacy-bucket-policy"></a>

Auparavant, pour les régions disponibles avant août 2022, nous avions besoin d'une politique accordant des autorisations à un compte Elastic Load Balancing spécifique à la région. Cette ancienne politique est toujours prise en charge, mais nous vous recommandons de la remplacer par la nouvelle politique ci-dessus. Si vous préférez continuer à utiliser l'ancienne politique, qui n'est pas présentée ici, vous pouvez le faire.

 À titre IDs de référence, voici les comptes Elastic Load Balancing à spécifier `Principal` dans l'ancienne politique. Notez que les régions qui ne figurent pas dans cette liste ne prennent pas en charge l'ancienne politique.
+ USA Est (Virginie du Nord) : 127311923021
+ USA Est (Ohio) : 033677994240
+ USA Ouest (Californie du Nord) : 027434742980
+ USA Ouest (Oregon) : 797873946194
+ Afrique (Le Cap) : 098369216593
+ Asie-Pacifique (Hong Kong) : 754344448648
+ Asie-Pacifique (DJakarta) – 589379963580
+ Asie-Pacifique (Mumbai) : 718504428378
+ Asie-Pacifique (Osaka) : 383597477331
+ Asie-Pacifique (Séoul) : 600734575887
+ Asie-Pacifique (Singapour) : 114774131450
+ Asie-Pacifique (Sydney) : 783225319266
+ Asie-Pacifique (Tokyo) : 582318560864
+ Canada (Centre) : 985666609251
+ Europe (Francfort) : 054676820928
+ Europe (Irlande) : 156460612806
+ Europe (Londres) : 652711504416
+ Europe (Milan) : 635631232127
+ Europe (Paris) : 009996457667
+ Europe (Stockholm) : 897822967062
+ Moyen-Orient (Bahreïn) : 076674570225
+ Amérique du Sud (São Paulo) : 507241528517
+ AWS GovCloud (USA Est) — 190560391635
+ AWS GovCloud (US-Ouest) — 048591011584

### Zones Outposts
<a name="bucket-policy-outposts"></a>

La politique suivante accorde des autorisations au service de livraison de journaux spécifié. Utilisez cette stratégie pour les équilibreurs de charge dans Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*",
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès, en utilisant le format indiqué dans l'exemple de politique. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN du compartiment S3 que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Bonnes pratiques de sécurité
<a name="bucket-policy-security-best-practices"></a>
+ Utilisez le chemin complet des ressources, y compris la partie ID de compte de l'ARN du compartiment S3. N'utilisez pas de caractères génériques (\$1) dans la partie identifiant de compte de l'ARN du compartiment S3.

  ```
  "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
  ```
+ `aws:SourceArn`À utiliser pour garantir que seuls les équilibreurs de charge de la région et du compte spécifiés peuvent utiliser votre bucket.

  ```
  "Condition": {
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/*"
      }
  }
  ```
+ Utilisez `aws:SourceOrgId` avec `aws:SourceArn` pour vous assurer que seuls les équilibreurs de charge de l'organisation spécifiée peuvent utiliser votre bucket.

  ```
  "Condition": {
      "StringEquals": {
          "aws:SourceOrgId": "o-1234567890"
      },
      "ArnLike": {
          "aws:SourceArn": "arn:aws:elasticloadbalancing:*:*:loadbalancer/*"
      }
  }
  ```
+ Si vous avez une `Deny` déclaration interdisant l'accès aux principaux de service, à l'exception de ceux explicitement autorisés, veillez à l'ajouter `logdelivery.elasticloadbalancing.amazonaws.com` à la liste des principaux de service autorisés. Par exemple, si vous avez utilisé la `aws:PrincipalServiceNamesList` condition, `logdelivery.elasticloadbalancing.amazonaws.com` ajoutez-la comme suit :

  ```
  {
    "Effect": "Deny",
    "Principal": "*",
    "Condition": {
        "StringNotEqualsIfExists": {
            "aws:PrincipalServiceNamesList": [
                "logdelivery.elasticloadbalancing.amazonaws.com",
                "service.amazonaws.com"
            ]
        }
    }
  }
  ```

  Si vous avez utilisé l'`NotPrincipal`élément, ajoutez-le `logdelivery.elasticloadbalancing.amazonaws.com` comme suit. Notez que nous vous recommandons d'utiliser la clé de `aws:PrincipalServiceNamesList` condition `aws:PrincipalServiceName` ou pour autoriser explicitement les principaux de service au lieu d'utiliser l'`NotPrincipal`élément. Pour de plus amples informations, veuillez consulter [NotPrincipal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notprincipal.html).

  ```
  {
    "Effect": "Deny",
    "NotPrincipal": {
      "Service": [
         "logdelivery.elasticloadbalancing.amazonaws.com",
         "service.amazonaws.com"
      ]
    }
  },
  ```

Après avoir créé votre politique de compartiment, utilisez une interface Amazon S3, telle que la console ou AWS CLI les commandes Amazon S3, pour associer votre politique de compartiment à votre compartiment S3.

------
#### [ Console ]

**Pour associer votre politique de compartiment à votre compartiment S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment pour ouvrir sa page de détails.

1. Choisissez **Permissions** (Autorisations), **Bucket policy** (Politique de compartiment), puis **Edit** (Modifier).

1. Mettez à jour la politique de compartiment pour accorder les autorisations requises.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour associer votre politique de compartiment à votre compartiment S3**  
Utilisez la commande [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Dans cet exemple, la politique de compartiment a été enregistrée dans le fichier .json spécifié.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Étape 3 : configurer des journaux d'accès
<a name="enable-access-logs"></a>

Utilisez la procédure suivante pour configurer les journaux d'accès afin de capturer les informations relatives aux demandes et de transmettre les fichiers journaux à votre compartiment S3.

**Exigences**  
Le compartiment doit répondre aux exigences décrites à l'[étape 1](#access-log-create-bucket) et vous devez y associer une politique de compartiment comme décrit à l'[étape 2](#attach-bucket-policy). Si vous incluez un préfixe, il ne doit pas inclure la chaîne « AWSLogs ».

**Pour gérer le compartiment S3 pour vos journaux d'accès**  
Assurez-vous de désactiver les journaux d'accès avant de supprimer le compartiment que vous avez configuré pour ces derniers. Sinon, s'il existe un nouveau compartiment avec le même nom et la politique de compartiment requise, mais créé dans un Compte AWS que vous ne possédez pas, Elastic Load Balancing risque d'écrire les journaux d'accès pour votre équilibreur de charge dans ce nouveau compartiment.

------
#### [ Console ]

**Pour activer les journaux d’accès**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour **Surveillance**, activez **Journaux d'accès**.

1. Pour **S3 URI**, saisissez l'URI S3 de vos fichiers journaux. L'URI que vous spécifiez varie selon que vous utilisez ou non un préfixe.
   + URI avec un préfixe : s3 :///*amzn-s3-demo-logging-bucket**logging-prefix*
   + URI sans préfixe : s3 ://*amzn-s3-demo-logging-bucket*

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour activer les journaux d’accès**  
Utilisez la [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)commande avec les attributs associés.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=access_logs.s3.enabled,Value=true \
        Key=access_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=access_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Pour activer les journaux d’accès**  
Mettez à jour la [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)ressource pour inclure les attributs associés.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "access_logs.s3.enabled"
          Value: "true"
        - Key: "access_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "access_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Étape 4 : vérifier les autorisations du compartiment
<a name="verify-bucket-permissions"></a>

Une fois que les journaux d'accès sont activés pour votre équilibreur de charge, Elastic Load Balancing valide le compartiment S3 et crée un fichier de test pour s'assurer que la politique de compartiment spécifie les autorisations requises. Vous pouvez utiliser la console Amazon S3 pour vérifier que le fichier test a été créé. Le fichier test n'est pas un fichier journal d'accès réel ; il ne contient pas de modèles d'enregistrement.

**Pour vérifier qu'un fichier de test a été créé dans votre compartiment à l'aide de la console Amazon S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment que vous avez spécifié pour les journaux d'accès.

1. Accédez au fichier test, `ELBAccessLogTestFile`. L'emplacement varie selon que vous utilisez ou non un préfixe.
   + Emplacement avec un préfixe :*amzn-s3-demo-logging-bucket*//*logging-prefix*/AWSLogs/*123456789012*ELBAccessLogTestFile
   + Emplacement sans préfixe :*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBAccessLogTestFile

## Résolution des problèmes
<a name="bucket-permissions-troubleshooting"></a>

Si vous recevez une erreur de refus d'accès, les causes possibles sont les suivantes :
+ La politique de compartiment n’accorde pas à Elastic Load Balancing l'autorisation d'écrire des journaux d’accès dans le compartiment. Vérifiez que vous utilisez la bonne politique en matière de compartiments pour la région. Vérifiez que l'ARN de la ressource utilise le même nom de compartiment que celui que vous avez spécifié lorsque vous avez activé les journaux d'accès. Vérifiez que l'ARN de la ressource n'inclut pas de préfixe si vous n'en avez pas spécifié lorsque vous avez activé les journaux d'accès.
+ Le compartiment utilise une option de chiffrement côté serveur non prise en charge. Le compartiment doit utiliser des clés gérées par Amazon S3 (SSE-S3).

# Désactiver les journaux d'accès pour votre Application Load Balancer
<a name="disable-access-logging"></a>

Vous pouvez désactiver les journaux d'accès pour votre équilibreur de charge à tout moment. Après avoir désactivé les journaux d'accès, ils restent dans votre compartiment S3 jusqu'à ce que vous les supprimiez. Pour plus d'informations, consultez [la section Création, configuration et utilisation des compartiments S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) dans le *guide de l'utilisateur Amazon S3*.

------
#### [ Console ]

**Pour désactiver les journaux d'accès**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour **Surveillance**, désactivez **Journaux d'accès**.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour désactiver les journaux d'accès**  
Utilisez la commande [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=access_logs.s3.enabled,Value=false
```

------

# Journaux de connexion pour votre Application Load Balancer
<a name="load-balancer-connection-logs"></a>

Elastic Load Balancing fournit des journaux de connexion qui capturent des informations détaillées sur les demandes envoyées à votre équilibreur de charge. Chaque journal contient des informations telles que l'adresse IP et le port du client, le port d'écoute, le chiffrement TLS et le protocole utilisés, la latence de la prise de contact TLS, l'état de la connexion et les détails du certificat client. Vous pouvez utiliser ces journaux de connexion pour analyser les modèles de demandes et résoudre les problèmes.

Les journaux de connexion sont une fonctionnalité facultative d'Elastic Load Balancing qui est désactivée par défaut. Après avoir activé les journaux de connexion pour votre équilibreur de charge, Elastic Load Balancing capture les journaux et les stocke dans le compartiment Amazon S3 que vous spécifiez, sous forme de fichiers compressés. Vous pouvez désactiver les journaux de connexion à tout moment.

Les coûts de stockage pour Amazon S3 vous sont facturés, mais pas la bande passante utilisée par Elastic Load Balancing pour envoyer les fichiers journaux à Amazon S3. Pour plus d'informations sur les coûts de stockage, consultez [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Fichiers journaux de connexion](#connection-log-file-format)
+ [Entrées du journal de connexion](#connection-log-entry-format)
+ [Exemple d'entrées de journal](#connection-log-entry-examples)
+ [Traitement des fichiers journaux de connexion](#connection-log-processing-tools)
+ [Activer les journaux de connexion](enable-connection-logging.md)
+ [Désactiver les journaux de connexion](disable-connection-logging.md)

## Fichiers journaux de connexion
<a name="connection-log-file-format"></a>

Elastic Load Balancing publie un fichier journal pour chaque nœud d'équilibreur de charge toutes les 5 minutes. La diffusion de journaux est cohérente à terme. L'équilibreur de charge peut fournir plusieurs journaux pour la même période. Cela se produit généralement si le site connaît un trafic dense.

Les noms de fichiers des journaux de connexion utilisent le format suivant :

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/conn_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
Nom du compartiment S3.

*prefix*  
(Facultatif) Préfixe (hiérarchie logique) pour le compartiment. Le préfixe que vous spécifiez ne doit pas inclure la chaîne `AWSLogs`. Pour plus d'informations, consultez [Organisation des objets à l'aide de préfixes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Nous ajoutons la partie du nom de fichier commençant par `AWSLogs` après le nom du compartiment et le préfixe facultatif que vous avez spécifié.

*aws-account-id*  
L'identifiant du AWS compte du propriétaire.

*region*  
Région pour votre équilibreur de charge et le compartiment S3.

*aaaa*/*mm*/*jj*  
Date à laquelle le journal a été fourni.

*load-balancer-id*  
ID de ressource de l'équilibreur de charge. Si l'ID de ressource contient des barres obliques (/), elles sont remplacées par des points (.).

*end-time*  
Date et heure auxquelles l'intervalle de journalisation a pris fin. Par exemple, une heure de fin de 20140215T2340Z contient des entrées pour les demandes effectuées entre 23 h 35 et 23 h 40 en heure UTC ou en heure zoulou.

*ip-address*  
Adresse IP du nœud d'équilibreur de charge qui a traité la demande. Pour un équilibreur de charge, il s'agit d'une adresse IP privée.

*random-string*  
Chaîne aléatoire générée par le système.

Voici un exemple de nom de fichier journal avec un préfixe :

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Voici un exemple de nom de fichier journal sans préfixe :

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/conn_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Vous pouvez stocker vos fichiers journaux dans votre compartiment aussi longtemps que vous le souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers journaux. Pour plus d'informations, consultez la section [Gestion du cycle de vie des objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) dans le *guide de l'utilisateur Amazon S3*.

## Entrées du journal de connexion
<a name="connection-log-entry-format"></a>

Chaque tentative de connexion comporte une entrée dans un fichier journal des connexions. La manière dont les demandes des clients sont envoyées est déterminée par le fait que la connexion est persistante ou non persistante. Les connexions non persistantes font l'objet d'une seule demande, ce qui crée une entrée unique dans le journal des accès et le journal des connexions. Les connexions persistantes comportent plusieurs demandes, ce qui crée plusieurs entrées dans le journal d'accès et une seule entrée dans le journal des connexions.

**Topics**
+ [Syntaxe](#connection-log-entry-syntax)
+ [Codes de motif d'erreur](#connection-error-reason-codes)

### Syntaxe
<a name="connection-log-entry-syntax"></a>

Le tableau suivant décrit les champs d'une entrée du journal des connexions, dans l'ordre. Tous les champs sont délimités par des espaces. Lorsque nous ajoutons un nouveau champ, nous l'ajoutons à la fin de l'entrée du journal. Alors que nous nous préparons à publier un nouveau champ, il se peut que vous voyiez un « - » supplémentaire à la fin avant que le champ ne soit publié. Assurez-vous de configurer l'analyse des journaux pour qu'elle s'arrête après le dernier champ documenté, et de mettre à jour l'analyse des journaux après la publication d'un nouveau champ.


| Champ (position) | Description | 
| --- | --- | 
|  horodatage (1)  |  Heure, au format ISO 8601, à laquelle l'équilibreur de charge a établi ou n'a pas réussi à établir une connexion.  | 
|  adresse IP du client (2)  |  Adresse IP du client demandeur.  | 
|  client\$1port (3)  |  Le port du client demandeur.  | 
|  écouteur\$1port (4)  |  Port de l'écouteur de l'équilibreur de charge recevant la demande du client.  | 
|  tls\$1protocol (5)  |  [Écouteur HTTPS] SSL/TLS Protocole utilisé lors des poignées de main. Ce champ est défini `-` pour les SSL/TLS non-demandes.  | 
|  tls\$1cipher (6)  |  [Écouteur HTTPS] SSL/TLS Protocole utilisé lors des poignées de main. Ce champ est défini `-` pour les SSL/TLS non-demandes.  | 
|  tls\$1handshake\$1latency (7)  |  [Écouteur HTTPS] Durée totale en secondes, avec une précision de la milliseconde, écoulée pendant l'établissement d'une poignée de main réussie. Ce champ est défini sur `-` lorsque : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1subject (8)  |  [Écouteur HTTPS] Le nom du sujet du certificat client Leaf. Ce champ est défini sur `-` lorsque : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1validity (9)  |  [Écouteur HTTPS] Validité, avec `not-before` et `not-after` au format ISO 8601, du certificat client Leaf. Ce champ est défini sur `-` lorsque : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  leaf\$1client\$1cert\$1serial\$1number (10)  |  [Écouteur HTTPS] Numéro de série du certificat client Leaf. Ce champ est défini sur `-` lorsque : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-connection-logs.html)  | 
|  tls\$1verify\$1status (11)  |  [Écouteur HTTPS] État de la demande de connexion. Cette valeur correspond `Success` à une connexion établie avec succès. En cas d'échec de connexion, la valeur est`Failed:$error_code`.   | 
|  conn\$1trace\$1id (12)  |  L'identifiant de traçabilité de connexion est un **identifiant opaque unique** utilisé pour identifier chaque connexion. Une fois la connexion établie avec un client, les demandes suivantes de ce client contiennent cet identifiant dans leurs entrées de journal d'accès respectives. Cet ID agit comme une clé étrangère pour créer un lien entre les journaux de connexion et d'accès.  | 
|  tls\$1keyexchange (13)  |  [Écouteur HTTPS] L'échange de clés utilisé lors des poignées de main pour TLS ou PQ-TLS. Ce champ est défini `-` pour les SSL/TLS non-demandes.   | 

### Codes de motif d'erreur
<a name="connection-error-reason-codes"></a>

Si l'équilibreur de charge ne parvient pas à établir de connexion, il enregistre l'un des codes de motif suivants dans le journal des connexions.


| Code | Description | 
| --- | --- | 
|  `ClientCertMaxChainDepthExceeded`  |  La profondeur maximale de la chaîne de certificats client a été dépassée  | 
|  `ClientCertMaxSizeExceeded`  |  La taille maximale du certificat client a été dépassée  | 
|  `ClientCertCrlHit`  |  Le certificat client a été révoqué par l'autorité de certification  | 
|  `ClientCertCrlProcessingError`  |  Erreur de traitement CRL  | 
|  `ClientCertUntrusted`  |  Le certificat client n'est pas fiable  | 
|  `ClientCertNotYetValid`  |  Le certificat client n'est pas encore valide  | 
|  `ClientCertExpired`  |  Le certificat client est expiré  | 
|  `ClientCertTypeUnsupported`  |  Le type de certificat client n'est pas pris en charge  | 
|  `ClientCertInvalid`  |  Le certificat client n'est pas valide  | 
|  `ClientCertPurposeInvalid`  |  L'objectif du certificat client n'est pas valide  | 
|  `ClientCertRejected`  |  Le certificat client est rejeté par validation personnalisée du serveur  | 
|  `UnmappedConnectionError`  |  Erreur de connexion d'exécution non mappée  | 

## Exemple d'entrées de journal
<a name="connection-log-entry-examples"></a>

Voici des exemples d'entrées du journal des connexions. Notez que le texte d'exemple apparaît sur plusieurs lignes uniquement pour en faciliter la lecture.

Voici un exemple d'entrée de journal indiquant une connexion réussie avec un écouteur HTTPS avec le mode de vérification TLS mutuelle activé sur le port 443.

```
2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 4.036 
"CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z 
FEF257372D5C14D4 Success TID_3180a73013c8ca4bac2f731159d4b0fe
```

Voici un exemple d'entrée de journal concernant un échec de connexion avec un écouteur HTTPS avec le mode de vérification TLS mutuelle activé sur le port 443.

```
2023-10-04T17:05:15.514108Z 203.0.113.1 36280 443 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 - 
"CN=amazondomains.com,O=endEntity,L=Seattle,ST=Washington,C=US" NotBefore=2023-09-21T22:43:21Z;NotAfter=2026-06-17T22:43:21Z 
FEF257372D5C14D4 Failed:ClientCertUntrusted TID_1c71a68d70587445ad5127ff8b2687d7
```

## Traitement des fichiers journaux de connexion
<a name="connection-log-processing-tools"></a>

Les fichiers journaux de connexion sont compressés. Si vous ouvrez les fichiers à l'aide de la console Amazon S3, ils sont décompressés et les informations s'affichent. Si vous téléchargez les fichiers, vous devez les décompresser pour afficher les informations.

Si la demande est importante sur votre site web, votre équilibreur de charge peut générer des fichiers journaux avec des gigaoctets de données. Il se peut que vous ne puissiez pas traiter une telle quantité de données à l'aide du line-by-line traitement. Vous devrez donc peut-être utiliser des outils d'analyse qui proposent des solutions de traitement en parallèle. Par exemple, vous pouvez utiliser les outils d'analyse suivants pour analyser et traiter les journaux de connexion :
+ Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide du langage SQL standard.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo Logic](https://www.sumologic.com/application/elb/)

# Activez les journaux de connexion pour votre Application Load Balancer
<a name="enable-connection-logging"></a>

Lorsque vous activez les journaux de connexion pour votre équilibreur de charge, vous devez spécifier le nom du compartiment S3 dans lequel l'équilibreur de charge stockera les journaux. Le compartiment doit avoir une politique de compartiment qui accorde à Elastic Load Balancing l'autorisation d'écrire dans le compartiment.

**Topics**
+ [Étape 1 : créer un compartiment S3](#connection-log-create-bucket)
+ [Étape 2 : Attacher une politique à votre compartiment S3](#attach-bucket-policy-connection)
+ [Étape 3 : Configuration des journaux de connexion](#enable-connection-logs)
+ [Étape 4 : vérifier les autorisations du compartiment](#verify-bucket-permissions-connection)
+ [Résolution des problèmes](#bucket-permissions-troubleshooting-connection)

## Étape 1 : créer un compartiment S3
<a name="connection-log-create-bucket"></a>

Lorsque vous activez les journaux de connexion, vous devez spécifier un compartiment S3 pour les journaux de connexion. Vous pouvez utiliser un bucket existant ou en créer un spécifiquement pour les journaux de connexion. Le compartiment doit répondre aux critères suivants :

**Exigences**
+ Le compartiment doit se situer dans la même région que l'équilibreur de charge. Le compartiment et l'équilibreur de charge peuvent être détenus par des comptes différents.
+ La seule option de chiffrement côté serveur qui soit prise en charge est celle des clés gérées par Amazon S3 (SSE-S3). Pour plus d'informations, veuillez consulter la rubrique [Clés de chiffrement gérées par Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Pour créer un compartiment S3 vide à l'aide de la console Amazon S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez **Créer un compartiment**.

1. Sur la page **Créer un compartiment**, procédez de la façon suivante :

   1. Pour **Nom du compartiment**, saisissez le nom de votre compartiment. Ce nom doit être unique parmi tous les noms de compartiment existants dans Amazon S3. Dans certaines régions, des restrictions supplémentaires peuvent être appliquées aux noms de compartiment. Pour plus d'informations, consultez la section [Restrictions et limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) relatives aux compartiments dans le *guide de l'utilisateur Amazon S3*.

   1. Pour **AWS Region** (Région ), sélectionnez la région où vous avez créé votre équilibreur de charge.

   1. Pour **le chiffrement par défaut**, choisissez des **clés gérées par Amazon S3 (SSE-S3)**.

   1. Choisissez **Créer un compartiment**.

## Étape 2 : Attacher une politique à votre compartiment S3
<a name="attach-bucket-policy-connection"></a>

Votre bucket S3 doit disposer d'une politique de bucket qui accorde à Elastic Load Balancing l'autorisation d'écrire les journaux de connexion dans le bucket. Les stratégies de compartiment sont une collection d'instructions JSON écrites dans le langage d'access policy permettant de définir des autorisations d'accès pour votre compartiment. Chaque instruction comporte des informations relatives à une seule autorisation et contient une série d'éléments.

Si vous utilisez un bucket existant auquel est déjà attachée une politique, vous pouvez ajouter l'instruction pour les journaux de connexion d'Elastic Load Balancing à la politique. Dans ce cas, nous vous recommandons d'évaluer l'ensemble d'autorisations obtenu afin de vous assurer qu'il convient aux utilisateurs qui ont besoin d'accéder au bucket pour les journaux de connexion.

### Politique de compartiment
<a name="bucket-policy-logdelivery-connection"></a>

Cette politique accorde des autorisations au service de livraison de journaux spécifié.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès, en utilisant le format indiqué dans l'exemple de politique. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](enable-access-logging.md#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Politique relative aux anciens compartiments
<a name="legacy-bucket-policy"></a>

Auparavant, pour les régions disponibles avant août 2022, nous avions besoin d'une politique accordant des autorisations à un compte Elastic Load Balancing spécifique à la région. Cette ancienne politique est toujours prise en charge, mais nous vous recommandons de la remplacer par la nouvelle politique ci-dessus. Si vous préférez continuer à utiliser l'ancienne politique, qui n'est pas présentée ici, vous pouvez le faire.

 À titre IDs de référence, voici les comptes Elastic Load Balancing à spécifier `Principal` dans l'ancienne politique. Notez que les régions qui ne figurent pas dans cette liste ne prennent pas en charge l'ancienne politique.
+ USA Est (Virginie du Nord) : 127311923021
+ USA Est (Ohio) : 033677994240
+ USA Ouest (Californie du Nord) : 027434742980
+ USA Ouest (Oregon) : 797873946194
+ Afrique (Le Cap) : 098369216593
+ Asie-Pacifique (Hong Kong) : 754344448648
+ Asie-Pacifique (DJakarta) – 589379963580
+ Asie-Pacifique (Mumbai) : 718504428378
+ Asie-Pacifique (Osaka) : 383597477331
+ Asie-Pacifique (Séoul) : 600734575887
+ Asie-Pacifique (Singapour) : 114774131450
+ Asie-Pacifique (Sydney) : 783225319266
+ Asie-Pacifique (Tokyo) : 582318560864
+ Canada (Centre) : 985666609251
+ Europe (Francfort) : 054676820928
+ Europe (Irlande) : 156460612806
+ Europe (Londres) : 652711504416
+ Europe (Milan) : 635631232127
+ Europe (Paris) : 009996457667
+ Europe (Stockholm) : 897822967062
+ Moyen-Orient (Bahreïn) : 076674570225
+ Amérique du Sud (São Paulo) : 507241528517
+ AWS GovCloud (USA Est) — 190560391635
+ AWS GovCloud (US-Ouest) — 048591011584

### Zones Outposts
<a name="bucket-policy-outposts"></a>

La politique suivante accorde des autorisations au service de livraison de journaux spécifié. Utilisez cette stratégie pour les équilibreurs de charge dans Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](enable-access-logging.md#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Bonnes pratiques de sécurité
<a name="bucket-policy-security-best-practices"></a>

Pour améliorer la sécurité, utilisez un compartiment S3 précis ARNs.
+ Utilisez le chemin de ressource complet, et pas uniquement l'ARN du compartiment S3.
+ Incluez la partie ID de compte de l'ARN du compartiment S3.
+ N'utilisez pas de caractères génériques (\$1) dans la partie identifiant de compte de l'ARN du compartiment S3.

Après avoir créé votre politique de compartiment, utilisez une interface Amazon S3, telle que la console ou AWS CLI les commandes Amazon S3, pour associer votre politique de compartiment à votre compartiment S3.

------
#### [ Console ]

**Pour associer votre politique de compartiment à votre compartiment S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment pour ouvrir sa page de détails.

1. Choisissez **Permissions** (Autorisations), **Bucket policy** (Politique de compartiment), puis **Edit** (Modifier).

1. Mettez à jour la politique de compartiment pour accorder les autorisations requises.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour associer votre politique de compartiment à votre compartiment S3**  
Utilisez la commande [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Dans cet exemple, la politique de compartiment a été enregistrée dans le fichier .json spécifié.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Étape 3 : Configuration des journaux de connexion
<a name="enable-connection-logs"></a>

Utilisez la procédure suivante pour configurer les journaux de connexion afin de capturer et de transmettre des fichiers journaux à votre compartiment S3.

**Exigences**  
Le compartiment doit répondre aux exigences décrites à l'[étape 1](#connection-log-create-bucket) et vous devez y associer une politique de compartiment comme décrit à l'[étape 2](#attach-bucket-policy-connection). Si vous spécifiez un préfixe, celui-ci ne doit pas inclure la chaîne « AWSLogs ».

**Pour gérer le compartiment S3 pour vos journaux de connexion**  
Assurez-vous de désactiver les journaux de connexion avant de supprimer le compartiment que vous avez configuré pour les journaux de connexion. Sinon, s'il existe un nouveau bucket portant le même nom et la même politique de bucket requise mais créé dans un compartiment Compte AWS dont vous n'êtes pas le propriétaire, Elastic Load Balancing pourrait écrire les journaux de connexion de votre équilibreur de charge dans ce nouveau bucket.

------
#### [ Console ]

**Pour activer les journaux de connexion**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour la **surveillance**, activez les **journaux de connexion**.

1. Pour **S3 URI**, saisissez l'URI S3 de vos fichiers journaux. L'URI que vous spécifiez varie selon que vous utilisez ou non un préfixe.
   + URI avec un préfixe : `s3://bucket-name/prefix`
   + URI sans préfixe : `s3://bucket-name`

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour activer les journaux de connexion**  
Utilisez la [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)commande avec les attributs associés.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=connection_logs.s3.enabled,Value=true \
        Key=connection_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=connection_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Pour activer les journaux de connexion**  
Mettez à jour la [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)ressource pour inclure les attributs associés.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "connection_logs.s3.enabled"
          Value: "true"
        - Key: "connection_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "connection_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Étape 4 : vérifier les autorisations du compartiment
<a name="verify-bucket-permissions-connection"></a>

Une fois les journaux de connexion activés pour votre équilibreur de charge, Elastic Load Balancing valide le compartiment S3 et crée un fichier de test pour s'assurer que la politique du bucket spécifie les autorisations requises. Vous pouvez utiliser la console Amazon S3 pour vérifier que le fichier test a été créé. Le fichier de test n'est pas un véritable journal de connexion ; il ne contient aucun exemple d'enregistrement.

**Pour vérifier qu'Elastic Load Balancing a créé un fichier test dans votre compartiment S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment que vous avez spécifié pour les journaux de connexion.

1. Accédez au fichier test, `ELBConnectionLogTestFile`. L'emplacement varie selon que vous utilisez ou non un préfixe.
   + Emplacement avec un préfixe :*amzn-s3-demo-logging-bucket*//*prefix*/AWSLogs/*123456789012*ELBConnectionLogTestFile
   + Emplacement sans préfixe :*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBConnectionLogTestFile

## Résolution des problèmes
<a name="bucket-permissions-troubleshooting-connection"></a>

Si vous recevez une erreur de refus d'accès, les causes possibles sont les suivantes :
+ La politique du bucket n'accorde pas à Elastic Load Balancing l'autorisation d'écrire des journaux de connexion dans le bucket. Vérifiez que vous utilisez la bonne politique en matière de compartiments pour la région. Vérifiez que l'ARN de la ressource utilise le même nom de compartiment que celui que vous avez spécifié lorsque vous avez activé les journaux de connexion. Vérifiez que l'ARN de la ressource n'inclut pas de préfixe si vous n'en avez pas spécifié lorsque vous avez activé les journaux de connexion.
+ Le compartiment utilise une option de chiffrement côté serveur non prise en charge. Le compartiment doit utiliser des clés gérées par Amazon S3 (SSE-S3).

# Désactiver les journaux de connexion pour votre Application Load Balancer
<a name="disable-connection-logging"></a>

Vous pouvez désactiver les journaux de connexion pour votre équilibreur de charge à tout moment. Une fois les journaux de connexion désactivés, ils restent dans votre compartiment S3 jusqu'à ce que vous les supprimiez. Pour plus d'informations, consultez [la section Création, configuration et utilisation des buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) dans le *guide de l'utilisateur Amazon S3*.

------
#### [ Console ]

**Pour désactiver les journaux de connexion**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour la **surveillance**, désactivez les **journaux de connexion**.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour désactiver les journaux de connexion**  
Utilisez la commande [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=connection_logs.s3.enabled,Value=false
```

------

# Journaux de bilan de santé
<a name="load-balancer-health-check-logs"></a>

Elastic Load Balancing fournit des journaux de contrôle de santé qui capturent des informations détaillées sur l'état du bilan de santé de vos cibles enregistrées, y compris les raisons de l'échec des tests de santé. Les journaux de contrôle de santé sont pris en charge pour les instances EC2, les adresses IP et les cibles de fonction Lambda. Chaque entrée du journal contient des informations telles que le type de demande de contrôle de santé ou de connexion, l'horodatage, l'adresse cible, l'identifiant du groupe cible, l'état de santé et le code de motif. Vous pouvez utiliser ces journaux de bilan de santé pour analyser les modèles de santé cibles, surveiller les transitions de santé et résoudre les problèmes.

Les journaux de contrôle de santé sont une fonctionnalité facultative qui est désactivée par défaut. Une fois que vous avez activé les journaux de vérification de l'état de votre équilibreur de charge, Elastic Load Balancing capture les journaux et les stocke sous forme de fichiers compressés dans le compartiment Amazon S3 que vous spécifiez. Vous pouvez désactiver les journaux de contrôle de santé à tout moment.

Les coûts de stockage pour Amazon S3 vous sont facturés, mais pas la bande passante utilisée par Elastic Load Balancing pour envoyer les fichiers journaux à Amazon S3. Pour plus d'informations sur les coûts de stockage, consultez [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Fichiers journaux de contrôle de santé](#health-check-log-file-format)
+ [Entrées du journal de contrôle de santé](#health-check-log-entry-format)
+ [Exemple d'entrées de journal](#health-check-log-file-entries)
+ [Configurer les notifications de livraison des journaux](#health-check-log-event-notifications)
+ [Traitement des fichiers journaux de contrôle de santé](#health-check-log-processing-tools)
+ [Activez les journaux de vérification de l'état de votre Application Load Balancer](enable-health-check-logging.md)
+ [Désactiver les journaux de vérification de l'état de votre Application Load Balancer](disable-health-check-logging.md)

## Fichiers journaux de contrôle de santé
<a name="health-check-log-file-format"></a>

Elastic Load Balancing publie un fichier journal pour chaque nœud d'équilibreur de charge toutes les 5 minutes. L'équilibreur de charge peut fournir plusieurs journaux pour la même période lorsqu'un grand nombre de cibles sont attachées à l'équilibreur de charge ou qu'un petit intervalle de vérification de l'état est configuré (par exemple, toutes les 5 secondes).

Les noms de fichiers des journaux de contrôle de santé utilisent le format suivant :

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/health_check_log_aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
```

*bucket*  
Nom du compartiment S3.

*prefix*  
(Facultatif) Préfixe (hiérarchie logique) pour le compartiment. Le préfixe que vous spécifiez ne doit pas inclure la chaîne `AWSLogs`. Pour plus d'informations, consultez [Organisation des objets à l'aide de préfixes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).

`AWSLogs`  
Nous ajoutons la partie du nom de fichier commençant par `AWSLogs` après le nom du compartiment et le préfixe facultatif que vous avez spécifié.

*aws-account-id*  
L'identifiant du AWS compte du propriétaire.

*region*  
Région pour votre équilibreur de charge et le compartiment S3.

*aaaa*/*mm*/*jj*  
Date à laquelle le journal a été fourni.

*load-balancer-id*  
ID de ressource de l'équilibreur de charge. Si l'ID de ressource contient des barres obliques (/), elles sont remplacées par des points (.).

*end-time*  
Date et heure auxquelles l'intervalle de journalisation a pris fin. Par exemple, une heure de fin de 20140215T2340Z contient des entrées pour les demandes effectuées entre 23 h 35 et 23 h 40 en heure UTC ou en heure zoulou.

*ip-address*  
Adresse IP du nœud d'équilibreur de charge qui a traité la demande. Pour un équilibreur de charge, il s'agit d'une adresse IP privée.

*random-string*  
Chaîne aléatoire générée par le système.

Voici un exemple de nom de fichier journal avec un préfixe :

```
s3://amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Voici un exemple de nom de fichier journal sans préfixe :

```
s3://amzn-s3-demo-logging-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/health_check_log_123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz
```

Vous pouvez stocker vos fichiers journaux dans votre compartiment aussi longtemps que vous le souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers journaux. Pour plus d'informations, consultez la section [Gestion du cycle de vie des objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) dans le *guide de l'utilisateur Amazon S3*.

## Entrées du journal de contrôle de santé
<a name="health-check-log-entry-format"></a>

Elastic Load Balancing enregistre les résultats des tests de santé des cibles, y compris les raisons de la défaillance de toutes les cibles enregistrées pour cet équilibreur de charge. Chaque entrée du journal contient les détails d'un seul résultat de contrôle de santé effectué auprès de la cible enregistrée.

**Topics**
+ [Syntaxe](#health-check-log-entry-syntax)
+ [Codes de motif d'erreur](#health-check-error-reason-codes)

### Syntaxe
<a name="health-check-log-entry-syntax"></a>

Le tableau suivant décrit les champs d'une entrée du journal des bilans de santé, dans l'ordre. Tous les champs sont délimités par des espaces. Lorsque nous ajoutons un nouveau champ, nous l'ajoutons à la fin de l'entrée du journal. Alors que nous nous préparons à publier un nouveau champ, il se peut que vous voyiez un « - » supplémentaire à la fin avant que le champ ne soit publié. Assurez-vous de configurer l'analyse des journaux pour qu'elle s'arrête après le dernier champ documenté, et de mettre à jour l'analyse des journaux après la publication d'un nouveau champ.


| Champ (position) | Description | 
| --- | --- | 
|  type (1)  |  Type de demande de bilan de santé ou de connexion. Les valeurs possibles sont les suivantes (ignorer les autres valeurs) : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/elasticloadbalancing/latest/application/load-balancer-health-check-logs.html)  | 
|  heure (2)  |  Horodatage indiquant le moment où le contrôle de santé est lancé sur une cible, au format ISO 8601.  | 
|  latence (3)  |  Temps total écoulé (en secondes) pour terminer le bilan de santé en cours.  | 
|  adresse\$1cible (4)  |  Adresse IP et port de la cible au format IP:Port. L'ARN de Lambda si la cible est une fonction Lambda.  | 
|  identifiant\$1groupe\$1cible (5)  |  Nom du groupe cible auquel la cible est associée.  | 
|  statut (6)  |  État du bilan de santé. Cette valeur correspond à `PASS` la réussite du bilan de santé. En cas d'échec du contrôle de santé, la valeur est `FAIL`  | 
|  code d'état (7)  |  Le code de réponse reçu de la cible pour la demande de bilan de santé.  | 
|  code\$1raisonnable (8)  |  La raison de l'échec en cas d'échec du bilan de santé. Consultez [Codes de motif d'erreur](#health-check-error-reason-codes)  | 

### Codes de motif d'erreur
<a name="health-check-error-reason-codes"></a>

Si le contrôle de santé cible échoue, l'équilibreur de charge enregistre l'un des codes de motif suivants dans le journal de contrôle de santé. 


| Code | Description | 
| --- | --- | 
|  `RequestTimedOut`  |  La demande de bilan de santé a expiré en attendant une réponse  | 
|  `ConnectionTimedOut`  |  Health check a échoué car la tentative de connexion TCP a expiré  | 
|  `ConnectionReset`  |  Le contrôle de santé a échoué en raison de la réinitialisation de la connexion  | 
|  `ResponseCodeMismatch`  |  Le code d'état HTTP de la réponse de la cible à la demande de bilan de santé ne correspond pas au code d'état configuré  | 
|  `ResponseStringMismatch`  |  Le corps de réponse renvoyé par la cible ne contenait pas la chaîne configurée dans la configuration du contrôle de santé du groupe cible  | 
|  `InternalError`  |  Erreur de l'équilibreur de charge interne  | 
|  `TargetError`  |  Target renvoie le code d'erreur 5xx en réponse à la demande de bilan de santé  | 
|  `GRPCStatusHeaderEmpty`  |  La réponse cible GRPC possède un en-tête grpc-status sans valeur  | 
|  `GRPCUnexpectedStatus`  |  La cible GRPC répond avec un statut grpc inattendu  | 

## Exemple d'entrées de journal
<a name="health-check-log-file-entries"></a>

Vous trouverez ci-dessous des exemples d'entrées du journal des bilans de santé. Notez que le texte d'exemple apparaît sur plusieurs lignes uniquement pour en faciliter la lecture.

Voici un exemple d'entrée de journal pour un contrôle de santé réussi.

```
http 2025-10-31T12:44:59.875678Z 0.019584011 172.31.20.97:80 HCLogsTestIPs PASS 200 -
```

Voici un exemple d'entrée de journal concernant un échec du contrôle de santé.

```
http 2025-10-31T12:44:58.901409Z 1.121980746 172.31.31.9:80 HCLogsTestIPs FAIL 502 TargetError
```

## Configurer les notifications de livraison des journaux
<a name="health-check-log-event-notifications"></a>

Pour recevoir des notifications lorsqu'Elastic Load Balancing envoie des logs à votre compartiment S3, utilisez Amazon S3 Event Notifications. Elastic Load Balancing utilise [PutObject[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), et [un objet POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) pour fournir des journaux à Amazon S3. Pour vous assurer de recevoir toutes les notifications de livraison des journaux, incluez tous ces événements de création d'objets dans votre configuration.

Pour plus d'informations, consultez les [notifications d'événements Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.

## Traitement des fichiers journaux de contrôle de santé
<a name="health-check-log-processing-tools"></a>

Les fichiers journaux de contrôle de santé sont compressés. Si vous téléchargez les fichiers, vous devez les décompresser pour afficher les informations.

Si la demande est importante sur votre site web, votre équilibreur de charge peut générer des fichiers journaux avec des gigaoctets de données. Il se peut que vous ne puissiez pas traiter une telle quantité de données à l'aide du line-by-line traitement. Vous devrez donc peut-être utiliser des outils d'analyse qui proposent des solutions de traitement en parallèle. Par exemple, vous pouvez utiliser les outils d'analyse suivants pour analyser et traiter les journaux de contrôle de santé :
+ Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide du langage SQL standard.
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo Logic](https://www.sumologic.com/application/elb/)

# Activez les journaux de vérification de l'état de votre Application Load Balancer
<a name="enable-health-check-logging"></a>

Lorsque vous activez les journaux de vérification de l'état de votre équilibreur de charge, vous devez spécifier le nom du compartiment S3 dans lequel l'équilibreur de charge stockera les journaux. Le compartiment doit avoir une politique de compartiment qui accorde à Elastic Load Balancing l'autorisation d'écrire dans le compartiment.

**Topics**
+ [Étape 1 : créer un compartiment S3](#health-check-log-create-bucket)
+ [Étape 2 : Attacher une politique à votre compartiment S3](#attach-bucket-policy-health-check)
+ [Étape 3 : Configuration des journaux de contrôle de santé](#enable-health-check-logs)
+ [Étape 4 : vérifier les autorisations du compartiment](#verify-bucket-permissions-health-check)
+ [Résolution des problèmes](#bucket-permissions-troubleshooting-health-check)

## Étape 1 : créer un compartiment S3
<a name="health-check-log-create-bucket"></a>

Lorsque vous activez les journaux de contrôle de santé, vous devez spécifier un compartiment S3 pour les journaux de contrôle de santé. Vous pouvez utiliser un compartiment existant ou en créer un spécialement pour les journaux de contrôle de santé. Le compartiment doit répondre aux critères suivants :

**Exigences**
+ Le compartiment doit se situer dans la même région que l'équilibreur de charge. Le compartiment et l'équilibreur de charge peuvent être détenus par des comptes différents.
+ La seule option de chiffrement côté serveur qui soit prise en charge est celle des clés gérées par Amazon S3 (SSE-S3). Pour plus d'informations, veuillez consulter la rubrique [Clés de chiffrement gérées par Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).

**Pour créer un compartiment S3 vide à l'aide de la console Amazon S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez **Créer un compartiment**.

1. Sur la page **Créer un compartiment**, procédez de la façon suivante :

   1. Pour **Nom du compartiment**, saisissez le nom de votre compartiment. Ce nom doit être unique parmi tous les noms de compartiment existants dans Amazon S3. Dans certaines régions, des restrictions supplémentaires peuvent être appliquées aux noms de compartiment. Pour plus d'informations, consultez la section [Restrictions et limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) relatives aux compartiments dans le *guide de l'utilisateur Amazon S3*.

   1. Pour **AWS Region** (Région ), sélectionnez la région où vous avez créé votre équilibreur de charge.

   1. Pour **le chiffrement par défaut**, choisissez des **clés gérées par Amazon S3 (SSE-S3)**.

   1. Choisissez **Créer un compartiment**.

## Étape 2 : Attacher une politique à votre compartiment S3
<a name="attach-bucket-policy-health-check"></a>

Votre compartiment S3 doit disposer d'une politique de bucket qui autorise Elastic Load Balancing à écrire les journaux de vérification de santé dans le compartiment. Les stratégies de compartiment sont une collection d'instructions JSON écrites dans le langage d'access policy permettant de définir des autorisations d'accès pour votre compartiment. Chaque instruction comporte des informations relatives à une seule autorisation et contient une série d'éléments.

Si vous utilisez un bucket existant auquel est déjà attachée une politique, vous pouvez ajouter à cette politique l'instruction relative aux journaux de vérification de l'état d'Elastic Load Balancing. Dans ce cas, nous vous recommandons d'évaluer l'ensemble d'autorisations obtenu afin de vous assurer qu'il convient aux utilisateurs qui ont besoin d'accéder au bucket pour les journaux de contrôle de santé.

### Politique de compartiment
<a name="bucket-policy-logdelivery-health-check"></a>

Cette politique accorde des autorisations au service de livraison de journaux spécifié.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "logdelivery.elasticloadbalancing.amazonaws.com"
      },
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    }
  ]
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès, en utilisant le format indiqué dans l'exemple de politique. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](enable-access-logging.md#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

**AWS GovCloud (US)**— L'exemple suivant utilise la syntaxe ARN pour AWS GovCloud (US) Regions.

```
arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Politique relative aux anciens compartiments
<a name="legacy-bucket-policy"></a>

Auparavant, pour les régions disponibles avant août 2022, nous avions besoin d'une politique accordant des autorisations à un compte Elastic Load Balancing spécifique à la région. Cette ancienne politique est toujours prise en charge, mais nous vous recommandons de la remplacer par la nouvelle politique ci-dessus. Si vous préférez continuer à utiliser l'ancienne politique, qui n'est pas présentée ici, vous pouvez le faire.

 À titre IDs de référence, voici les comptes Elastic Load Balancing à spécifier `Principal` dans l'ancienne politique. Notez que les régions qui ne figurent pas dans cette liste ne prennent pas en charge l'ancienne politique.
+ USA Est (Virginie du Nord) : 127311923021
+ USA Est (Ohio) : 033677994240
+ USA Ouest (Californie du Nord) : 027434742980
+ USA Ouest (Oregon) : 797873946194
+ Afrique (Le Cap) : 098369216593
+ Asie-Pacifique (Hong Kong) : 754344448648
+ Asie-Pacifique (DJakarta) – 589379963580
+ Asie-Pacifique (Mumbai) : 718504428378
+ Asie-Pacifique (Osaka) : 383597477331
+ Asie-Pacifique (Séoul) : 600734575887
+ Asie-Pacifique (Singapour) : 114774131450
+ Asie-Pacifique (Sydney) : 783225319266
+ Asie-Pacifique (Tokyo) : 582318560864
+ Canada (Centre) : 985666609251
+ Europe (Francfort) : 054676820928
+ Europe (Irlande) : 156460612806
+ Europe (Londres) : 652711504416
+ Europe (Milan) : 635631232127
+ Europe (Paris) : 009996457667
+ Europe (Stockholm) : 897822967062
+ Moyen-Orient (Bahreïn) : 076674570225
+ Amérique du Sud (São Paulo) : 507241528517
+ AWS GovCloud (USA Est) — 190560391635
+ AWS GovCloud (US-Ouest) — 048591011584

### Zones Outposts
<a name="bucket-policy-outposts"></a>

La politique suivante accorde des autorisations au service de livraison de journaux spécifié. Utilisez cette stratégie pour les équilibreurs de charge dans Outposts.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "logdelivery.elb.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*"
    "Condition": {
        "StringEquals": {
            "s3:x-amz-acl": "bucket-owner-full-control"
        }
    }
}
```

Pour`Resource`, entrez l'ARN de l'emplacement des journaux d'accès. Incluez toujours l'ID du compte auprès de l'équilibreur de charge dans le chemin des ressources de l'ARN du compartiment S3. Cela garantit que seuls les équilibreurs de charge du compte spécifié peuvent écrire des journaux d'accès dans le compartiment S3.

L'ARN que vous spécifiez dépend de l'inclusion ou non d'un préfixe lorsque vous activez les journaux d'accès à l'[étape 3](enable-access-logging.md#enable-access-logs).

**Exemple d'ARN de compartiment S3 avec un préfixe**  
Le nom du compartiment S3 est amzn-s3-demo-logging-bucket et le préfixe estlogging-prefix.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
```

**Exemple d'ARN de compartiment S3 sans préfixe**  
Le nom du compartiment S3 estamzn-s3-demo-logging-bucket. Il n'y a aucune portion de préfixe dans l'ARN du compartiment S3.

```
arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*
```

### Bonnes pratiques de sécurité
<a name="bucket-policy-security-best-practices"></a>

Pour améliorer la sécurité, utilisez un compartiment S3 précis ARNs.
+ Utilisez le chemin de ressource complet, et pas uniquement l'ARN du compartiment S3.
+ Incluez la partie ID de compte de l'ARN du compartiment S3.
+ N'utilisez pas de caractères génériques (\$1) dans la partie identifiant de compte de l'ARN du compartiment S3.

Après avoir créé votre politique de compartiment, utilisez une interface Amazon S3, telle que la console ou AWS CLI les commandes Amazon S3, pour associer votre politique de compartiment à votre compartiment S3.

------
#### [ Console ]

**Pour associer votre politique de compartiment à votre compartiment S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment pour ouvrir sa page de détails.

1. Choisissez **Permissions** (Autorisations), **Bucket policy** (Politique de compartiment), puis **Edit** (Modifier).

1. Mettez à jour la politique de compartiment pour accorder les autorisations requises.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour associer votre politique de compartiment à votre compartiment S3**  
Utilisez la commande [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html). Dans cet exemple, la politique de compartiment a été enregistrée dans le fichier .json spécifié.

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://access-log-policy.json
```

------

## Étape 3 : Configuration des journaux de contrôle de santé
<a name="enable-health-check-logs"></a>

Utilisez la procédure suivante pour configurer les journaux de contrôle de santé afin de capturer et de transmettre des fichiers journaux à votre compartiment S3.

**Exigences**  
Le compartiment doit répondre aux exigences décrites à l'[étape 1](#health-check-log-create-bucket) et vous devez y associer une politique de compartiment comme décrit à l'[étape 2](#attach-bucket-policy-health-check). Si vous spécifiez un préfixe, celui-ci ne doit pas inclure la chaîne « AWSLogs ».

**Pour gérer le compartiment S3 pour vos journaux de bilan de santé**  
Assurez-vous de désactiver les journaux de contrôle de santé avant de supprimer le compartiment que vous avez configuré pour les journaux de contrôle de santé. Sinon, s'il existe un nouveau bucket portant le même nom et la même politique de bucket requise mais créé dans un compartiment Compte AWS dont vous n'êtes pas le propriétaire, Elastic Load Balancing pourrait écrire les journaux de vérification de l'état de votre équilibreur de charge dans ce nouveau bucket.

------
#### [ Console ]

**Pour activer les journaux de contrôle de santé**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour la **surveillance**, activez les **journaux Health Check**.

1. Pour **S3 URI**, saisissez l'URI S3 de vos fichiers journaux. L'URI que vous spécifiez varie selon que vous utilisez ou non un préfixe.
   + URI avec un préfixe : `s3://bucket-name/prefix`
   + URI sans préfixe : `s3://bucket-name`

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour activer les journaux de contrôle de santé**  
Utilisez la [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)commande avec les attributs associés.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=health_check_logs.s3.enabled,Value=true \
        Key=health_check_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=health_check_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**Pour activer les journaux de contrôle de santé**  
Mettez à jour la [AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)ressource pour inclure les attributs associés.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-alb
      Type: application
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "health_check_logs.s3.enabled"
          Value: "true"
        - Key: "health_check_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "health_check_logs.s3.prefix"
          Value: "logging-prefix"
```

------

## Étape 4 : vérifier les autorisations du compartiment
<a name="verify-bucket-permissions-health-check"></a>

Une fois les journaux de contrôle de santé activés pour votre équilibreur de charge, Elastic Load Balancing valide le compartiment S3 et crée un fichier de test pour s'assurer que la politique du bucket spécifie les autorisations requises. Vous pouvez utiliser la console Amazon S3 pour vérifier que le fichier test a été créé. Le fichier de test n'est pas un véritable fichier journal de contrôle de santé ; il ne contient aucun exemple d'enregistrement.

**Pour vérifier qu'Elastic Load Balancing a créé un fichier test dans votre compartiment S3**

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment que vous avez spécifié pour les journaux de contrôle de santé.

1. Accédez au fichier test, `ELBHealthCheckLogTestFile`. L'emplacement varie selon que vous utilisez ou non un préfixe.
   + Emplacement avec un préfixe :*amzn-s3-demo-logging-bucket*//*prefix*/AWSLogs/*123456789012*ELBHealthCheckLogTestFile
   + Emplacement sans préfixe :*amzn-s3-demo-logging-bucket*//AWSLogs/*123456789012*ELBHealthCheckLogTestFile

## Résolution des problèmes
<a name="bucket-permissions-troubleshooting-health-check"></a>

Si vous recevez une erreur de refus d'accès, les causes possibles sont les suivantes :
+ La politique du bucket n'accorde pas à Elastic Load Balancing l'autorisation d'écrire des journaux de contrôle de santé dans le bucket. Vérifiez que vous utilisez la bonne politique en matière de compartiments pour la région. Vérifiez que l'ARN de la ressource utilise le même nom de compartiment que celui que vous avez spécifié lorsque vous avez activé les journaux de contrôle de santé. Vérifiez que l'ARN de la ressource n'inclut pas de préfixe si vous n'avez pas spécifié de préfixe lorsque vous avez activé les journaux de contrôle de santé.
+ Le compartiment utilise une option de chiffrement côté serveur non prise en charge. Le compartiment doit utiliser des clés gérées par Amazon S3 (SSE-S3).

# Désactiver les journaux de vérification de l'état de votre Application Load Balancer
<a name="disable-health-check-logging"></a>

Vous pouvez désactiver les journaux de vérification de l'état de votre équilibreur de charge à tout moment. Une fois que vous avez désactivé les journaux de contrôle de santé, ils restent dans votre compartiment S3 jusqu'à ce que vous les supprimiez. Pour plus d'informations, consultez [la section Création, configuration et utilisation des buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) dans le *guide de l'utilisateur Amazon S3*.

------
#### [ Console ]

**Pour désactiver les journaux de contrôle de santé**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**.

1. Sélectionnez le nom de votre équilibreur de charge afin d'ouvrir sa page de détails.

1. Dans l'onglet **Attributes**, choisissez **Edit**.

1. Pour la **surveillance**, désactivez les **journaux de contrôle de santé**.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Pour désactiver les journaux de contrôle de santé**  
Utilisez la commande [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html).

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=health_check_logs.s3.enabled,Value=false
```

------

# Traçage des demandes pour votre Application Load Balancer
<a name="load-balancer-request-tracing"></a>

Lorsque l'équilibreur de charge reçoit une demande d'un client, il ajoute ou met à jour l'en-tête **X-Amzn-Trace-Id** avant d'envoyer la demande à la cible. Les services ou les applications entre l'équilibreur de charge et la cible peuvent également ajouter ou mettre à jour cet en-tête.

Vous pouvez utiliser le suivi des demandes pour suivre des demandes HTTP de clients à des cibles ou d'autres services. Si vous activez les journaux d'accès, le contenu de l'en-tête **X-Amzn-Trace-Id** est consigné. Pour de plus amples informations, veuillez consulter [Journaux d'accès pour votre Application Load Balancer](load-balancer-access-logs.md).

## Syntaxe
<a name="request-tracing-syntax"></a>

L'en-tête **X-Amzn-Trace-Id** contient des champs avec le format suivant :

```
Field=version-time-id
```

*Champ*  
Nom du champ. Les valeurs prises en charge sont `Root` et `Self`.  
Une application peut ajouter des champs arbitraires pour ses propres fins. L'équilibreur de charge conserve ces champs mais ne les utilise pas.

*version*  
Numéro de version. Cette valeur est 1.

*time*  
Heure Posix en secondes. Cette valeur est composée de 8 chiffres hexadécimaux.

*id*  
Identificateur de suivi. Cette valeur est de 24 chiffres hexadécimaux.

**Exemples**  
Si l'en-tête **X-Amzn-Trace-Id** n'est pas présent sur une demande entrante, l'équilibreur de charge génère un en-tête avec un champ `Root` et transmet la demande. Par exemple :

```
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
```

Si l'en-tête **X-Amzn-Trace-Id** est présent et comporte un champ `Root`, l'équilibreur de charge insère un champ `Self` et transmet la demande. Par exemple :

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678
```

Si une application ajoute un en-tête avec un champ `Root` et un champ personnalisé, l'équilibreur de charge conserve les deux champs, insère un champ `Self`, puis transmet la demande :

```
X-Amzn-Trace-Id: Self=1-67891233-12456789abcdef012345678;Root=1-67891233-abcdef012345678912345678;CalledFrom=app
```

Si l'en-tête **X-Amzn-Trace-Id** est présent et comporte un champ `Self`, l'équilibreur de charge met à jour la valeur du champ `Self`.

## Limitations
<a name="request-tracing-limits"></a>
+ L'équilibreur de charge met à jour l'en-tête lorsqu'il reçoit une demande entrante, pas lorsqu'il reçoit une réponse.
+ Si la taille des en-têtes HTTP dépasse 7 Ko, l'équilibreur de charge réécrit l'en-tête **X-Amzn-Trace-Id** avec un champ `Root`.
+ Avec WebSockets, vous pouvez effectuer le suivi uniquement jusqu'à ce que la demande de mise à niveau soit réussie.