Journaux de connexion pour votre Application Load Balancer - Elastic Load Balancing

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.

Journaux de connexion pour votre Application Load Balancer

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 TLS chiffrement et le protocole utilisés, la latence de la prise de contactTLS, 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.

Fichiers journaux de connexion

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.

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, l'heure de fin 20140215T2340Z contient des entrées pour les demandes effectuées entre 23 h 35 et 23 h 40, heure de Zulu. UTC

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://my-bucket/my-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://my-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 dans le Guide de l'utilisateur Amazon Simple Storage Service.

Entrées du journal de connexion

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.

Syntaxe

Les entrées du journal des connexions utilisent le format suivant :

[timestamp] [client_ip] [client_port] [listener_port] [tls_protocol] [tls_cipher] [tls_handshake_latency] [leaf_client_cert_subject] [leaf_client_cert_validity] [leaf_client_cert_serial_number] [tls_verify_status]

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 de nouveaux champs sont insérés, ils sont ajoutés à la fin de l'entrée de journal. Vous devez ignorer les champs situés à la fin de l'entrée de journal que vous n'attendiez pas.

Champ Description

timestamp

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

Adresse IP du client demandeur.

client_port

Le port du client demandeur.

port d'écoute

Port de l'écouteur de l'équilibreur de charge recevant la demande du client.

protocole tls_

[HTTPSécouteur] Le TLS protocoleSSL/utilisé lors des poignées de main. Ce champ est défini sur - pour les TLS requêtes autres que «SSL/».

tls_cipher

[HTTPSécouteur] Le TLS protocoleSSL/utilisé lors des poignées de main. Ce champ est défini sur - pour les TLS requêtes autres que «SSL/».

tls_handshake_latency

[HTTPSécouteur] 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 :

  • La requête entrante n'est pas une TLS requête SSL /.

  • La poignée de main n'est pas établie avec succès.

leaf_client_cert_subject

[HTTPSécouteur] Le nom du sujet du certificat client Leaf. Ce champ est défini sur - lorsque :

  • La requête entrante n'est pas une TLS requête SSL /.

  • L'écouteur de l'équilibreur de charge n'est pas configuré avec m activé. TLS

  • Le serveur n'est pas en mesure de charger/analyser le certificat client Leaf.

leaf_client_cert_validity

[HTTPSécouteur] La validité, avec not-before et not-after au format ISO 8601, du certificat client Leaf. Ce champ est défini sur - lorsque :

  • La requête entrante n'est pas une TLS requête SSL /.

  • L'écouteur de l'équilibreur de charge n'est pas configuré avec m activé. TLS

  • Le serveur n'est pas en mesure de charger/analyser le certificat client Leaf.

leaf_client_cert_serial_number

[HTTPSécouteur] Numéro de série du certificat client Leaf. Ce champ est défini sur - lorsque :

  • La requête entrante n'est pas une TLS requête SSL /.

  • L'écouteur de l'équilibreur de charge n'est pas configuré avec m activé. TLS

  • Le serveur n'est pas en mesure de charger/analyser le certificat client Leaf.

tls_verify_status

[HTTPSécouteur] État de la demande de connexion. Cette valeur correspond Success à une connexion établie avec succès. En cas d'échec de connexion, la valeur estFailed:$error_code.

conn_trace_id

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.

Codes de motif d'erreur

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

CRLerreur de traitement

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

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

Voici des exemples d'entrées du journal des connexions.

Voici un exemple d'entrée de journal indiquant une connexion réussie avec un HTTPS écouteur dont le mode de TLS vérification mutuelle est 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

Voici un exemple d'entrée de journal concernant un échec de connexion avec un HTTPS écouteur avec le mode de TLS vérification 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

Traitement des fichiers journaux de connexion

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 de la norme. SQL

  • Loggly

  • Splunk

  • Sumo Logic