

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 d'accès pour votre Classic Load Balancer
<a name="access-log-collection"></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 sont une fonctionnalité facultative d'Elastic Load Balancing qui est désactivée par défaut. Une fois que vous avez 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. Vous pouvez désactiver la journalisation des accès à tout moment.

Tous les fichiers journaux des accès sont automatiquement chiffrés avec SSE-S3 avant d'être stockés dans votre compartiment S3, puis déchiffrés lorsque vous y accédez. Vous n'avez pas besoin d'intervenir ; le chiffrement et le déchiffrement sont effectués de manière transparente. Chaque fichier journal est chiffré à l'aide d'une clé unique, elle-même chiffrée à l'aide d'une clé KMS qui fait l'objet d'une rotation régulière. *Pour plus d'informations, consultez [la section Protection des données à l'aide du chiffrement côté serveur avec des clés de chiffrement gérées par Amazon S3 (SSE-S3) dans le guide de l'utilisateur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html).*

L'utilisation des journaux d'accès n'implique aucun coût supplémentaire. Les coûts de stockage pour Amazon S3 vous seront 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)
+ [Traitement des journaux d'accès](#log-processing-tools)
+ [Activer les journaux d'accès](enable-access-logs.md)
+ [Désactiver les journaux d'accès](disable-access-logs.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 à l'intervalle que vous spécifiez. Vous pouvez spécifier un intervalle de publication de 5 minutes ou de 60 minutes lorsque vous activez le journal d'accès pour votre équilibreur de charge. Par défaut, Elastic Load Balancing publie les journaux à un intervalle de 60 minutes. Si l'intervalle est défini sur 5 minutes, les journaux sont publiés à 1 h 05, 1 h 10, 1 h 15, et ainsi de suite. Le démarrage de la livraison des journaux est différé de jusqu'à 5 minutes si l'intervalle est défini sur 5 minutes et jusqu'à 15 minutes si l'intervalle est défini sur 60 minutes. Vous pouvez modifier l'intervalle de publication à tout moment.

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, dispose de plusieurs nœuds d'équilibreur de charge et a un intervalle court pour la publication des journaux.

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

```
amzn-s3-demo-loadbalancer-logs[/logging-prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_load-balancer-name_end-time_ip-address_random-string.log
```

*amzn-s3- demo-loadbalancer-logs*  
Le 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-name*  
Le nom de l'équilibreur de charge.

*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, si l'intervalle de publication est de 5 minutes.

*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 « my-app » :

```
s3://amzn-s3-demo-loadbalancer-logs/my-app/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log
```

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

```
s3://amzn-s3-demo-loadbalancer-logs/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log
```

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 consigne toutes les demandes envoyées à l'équilibreur de charge, y compris celles qui ne sont jamais parvenues aux instances principales. Par exemple, si un client envoie une demande incorrecte ou qu'il n'existe aucune instance saine pour répondre, les demandes sont quand-même consignées.

**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.

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

Chaque entrée contient les détails d'une seule demande adressée à l'équilibreur de charge. Tous les champs de l'entrée de journal sont séparés par des espaces. Chaque entrée du fichier journal a le format suivant :

```
timestamp elb client:port backend:port request_processing_time backend_processing_time response_processing_time elb_status_code backend_status_code received_bytes sent_bytes "request" "user_agent" ssl_cipher ssl_protocol
```

Le tableau suivant décrit les champs d'une entrée de journal d'accès.


| Champ | Description | 
| --- | --- | 
| time | Date et heure auxquelles l'équilibreur de charge a reçu les demandes, au format ISO 8601. | 
| elb | Nom de l'équilibreur de charge | 
| client:port | Adresse IP et port du client demandeur. | 
| backend:port |  Adresse IP et port de l'instance enregistrée qui a traité cette demande. Si l'équilibreur de charge ne peut pas envoyer la demande à une instance enregistrée, ou si l'instance ferme la connexion avant qu'une réponse puisse être envoyée, cette valeur est définie sur `-`. Cette valeur peut également être définie sur `-` si l'instance enregistrée ne répond pas avant le délai d'inactivité.  | 
| request\$1processing\$1time |  [Écouteur HTTP] Durée totale écoulée, en secondes, du moment où l'équilibreur de charge a reçu la demande au moment où il l'a envoyée à une instance enregistrée. [Écouteur TCP] Durée totale écoulée, en secondes, du moment où l'équilibreur de charge a accepté une connexion TCP/SSL à partir d'un client au moment où il envoie le premier octet de données à une instance enregistrée. Cette valeur est définie sur `-1` si l'équilibreur de charge ne peut pas envoyer la demande à une instance enregistrée. Cela peut se produire si l'instance enregistrée ferme la connexion avant la fin du délai d'inactivité ou si le client envoie une demande incorrecte. En outre, pour les auditeurs TCP, cela peut se produire si le client établit une connexion avec l'équilibreur de charge, mais n'envoie pas de données. Cette valeur peut également être définie sur `-1` si l'instance enregistrée ne répond pas avant le délai d'inactivité.  | 
| backend\$1processing\$1time |  [Écouteur HTTP] Durée totale écoulée, en secondes, du moment où l'équilibreur de charge a envoyé la demande à une instance enregistrée au moment où l'instance a commencé à envoyer les en-têtes de réponse. [Écouteur TCP] Délai total, en secondes, avant que l'équilibreur de charge parvienne à établir une connexion à une instance enregistrée. Cette valeur est définie sur `-1` si l'équilibreur de charge ne peut pas envoyer la demande à une instance enregistrée. Cela peut se produire si l'instance enregistrée 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 l'instance enregistrée ne répond pas avant le délai d'inactivité.  | 
| response\$1processing\$1time |  [Écouteur HTTP] Durée totale écoulée (en secondes) du moment où l'équilibreur de charge a reçu l'en-tête de réponse de l'instance enregistrée au moment 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. [Écouteur TCP] Durée totale écoulée (en secondes) du moment où l'équilibreur de charge a reçu le premier octet de l'instance enregistrée au moment où il a commencé à envoyer la réponse au client. Cette valeur est définie sur `-1` si l'équilibreur de charge ne peut pas envoyer la demande à une instance enregistrée. Cela peut se produire si l'instance enregistrée 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 l'instance enregistrée ne répond pas avant le délai d'inactivité.  | 
| elb\$1status\$1code | [Écouteur HTTP] Code d'état de la réponse de l'équilibreur de charge. | 
| backend\$1status\$1code | [Écouteur HTTP] Code d'état de la réponse de l'instance enregistrée. | 
| received\$1bytes |  Taille de la demande, en octets, reçue du client (demandeur). [Écouteur HTTP] La valeur inclut le corps de la demande, mais pas les en-têtes. [Écouteur TCP] La valeur inclut le corps de la demande et les en-têtes.  | 
| sent\$1bytes |  Taille de la réponse, en octets, envoyée au client (demandeur). [Écouteur HTTP] La valeur inclut le corps de la réponse, mais pas les en-têtes. [Écouteur TCP] La valeur inclut le corps de la demande et les en-têtes. | 
| de la demande |  Ligne de demande du client placée entre guillemets et consignée au format suivant : Méthode HTTP \$1 Protocole://en-tête hôte:port \$1 Chemin \$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. [Écouteur TCP] L'URL est constituée de trois tirets, séparés par un espace, et se termine par un espace (« --- »).  | 
| user\$1agent |  [HTTP/HTTPS listener] A User-Agent string that identifies the client that originated the request. The string consists of one or more product identifiers, product[/version]. Si la chaîne dépasse 8 Ko, elle est tronquée.  | 
| ssl\$1cipher |  [HTTPS/SSL listener] The SSL cipher. This value is recorded only if the incoming SSL/TLSla connexion a été établie après une négociation réussie. Sinon, la valeur est définie sur `-`.  | 
| ssl\$1protocol |  [HTTPS/SSL listener] The SSL protocol. This value is recorded only if the incoming SSL/TLSla connexion a été établie après une négociation réussie. Sinon, la valeur est définie sur `-`.  | 

### Exemples
<a name="access-log-entry-examples"></a>

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

```
2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000073 0.001048 0.000057 200 200 0 29 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.38.0" - -
```

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

```
2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000086 0.001048 0.001337 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.38.0" DHE-RSA-AES128-SHA TLSv1.2
```

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

```
2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001069 0.000028 0.000041 - - 82 305 "- - - " "-" - -
```

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

```
2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001065 0.000015 0.000023 - - 57 502 "- - - " "-" ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2
```

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

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 Classic Load Balancer](https://docs.aws.amazon.com/athena/latest/ug/elasticloadbalancer-classic-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/)

# Activer les journaux d'accès pour votre Classic Load Balancer
<a name="enable-access-logs"></a>

Pour activer les journaux d'accès pour votre équilibreur de charge, vous devez spécifier le nom du compartiment Amazon S3 dans lequel l'équilibreur de charge stockera les journaux. Vous devez également attacher une politique de compartiment à ce compartiment, laquelle accorde à Elastic Load Balancing l'autorisation d'écrire dans le compartiment.

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

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

Lorsque vous activez les journaux d'accès, vous devez spécifier un compartiment S3 pour les fichiers de 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 [Quotas, limitations et restrictions des compartiments](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) 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 le 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 le 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 de bucket, qui n'est pas présentée ici, vous pouvez le faire.

À titre de référence, voici les IDs comptes Elastic Load Balancing dans lesquels vous devez spécifier`Principal`. Notez que les régions qui ne figurent pas dans cette liste n'ont jamais pris en charge l'ancienne politique de compartiment.
+ 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

### 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.

**Pour associer votre politique de compartiment à votre compartiment à l'aide de la console**

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**.

**Pour associer votre politique de compartiment à votre compartiment S3 à l'aide du AWS CLI**  
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="configure-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](#create-s3-bucket) et vous devez y associer une politique de compartiment comme décrit à l'[étape 2](#attach-bucket-policy). Si vous spécifiez un préfixe, celui-ci ne doit pas inclure la chaîne « AWSLogs ».

**Pour configurer les journaux d'accès pour votre équilibreur de charge à 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. Dans le panneau de navigation, sous **Load Balancing** (Équilibrage de charge), choisissez **Load Balancers** (Équilibreurs de charge).

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. Sur la page **Edit load balancer attributes**, dans la section **Monitoring**, procédez comme suit :

   1. Activer **Access logs**.

   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. Conservez **Logging interval** à `60 minutes - default`.

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

**Pour configurer les journaux d'accès pour votre équilibreur de charge à l'aide du AWS CLI**  
Commencez par créer un fichier .json qui permet à Elastic Load Balancing de capturer et fournir des journaux de toutes les 60 minutes au compartiment S3 que vous avez créé pour les journaux :

```
{ 
  "AccessLog": {
    "Enabled": true,
    "S3BucketName": "amzn-s3-demo-logging-bucket",
    "EmitInterval": 60,
    "S3BucketPrefix": "my-app"
  }
}
```

Spécifiez ensuite le fichier .json dans la [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elb/modify-load-balancer-attributes.html)commande comme suit :

```
aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes file://my-json-file.json
```

Voici un exemple de réponse.

```
{
    "LoadBalancerAttributes": {
        "AccessLog": {
            "Enabled": true,
            "EmitInterval": 60,
            "S3BucketName": "amzn-s3-demo-logging-bucket",
            "S3BucketPrefix": "my-app"
        }
    },
    "LoadBalancerName": "my-loadbalancer"
}
```

**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, si un nouveau bucket portant le même nom et la politique de bucket requise est créé dans un compartiment Compte AWS dont vous n'êtes pas le propriétaire, Elastic Load Balancing pourrait écrire les journaux d'accès à votre équilibreur de charge dans ce nouveau bucket.

## Étape 4 : vérifier les autorisations du compartiment
<a name="verify-access-logs"></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 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'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 S3 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-loadbalancer-logs*//*logging-prefix*/AWSLogs/*123456789012*ELBAccessLogTestFile
   + Emplacement sans préfixe :*amzn-s3-demo-loadbalancer-logs*//AWSLogs/*123456789012*ELBAccessLogTestFile

## Résolution des problèmes
<a name="enable-access-logs-troubleshooting"></a>

**Accès refusé pour le bucket :*bucket-name*. Veuillez vérifier l'autorisation de S3bucket**

Si vous recevez une erreur, les éléments suivants sont des causes possibles :
+ 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 Classic Load Balancer
<a name="disable-access-logs"></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, ces derniers restent dans votre compartiment Amazon S3 jusqu'à ce que vous les supprimiez. Pour plus d'informations, consultez la section [Utilisation des compartiments S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) dans le *guide de l'utilisateur Amazon S3*.

**Pour désactiver les journaux d'accès pour votre équilibreur de charge à 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. Dans le panneau de navigation, sous **Load Balancing** (Équilibrage de charge), choisissez **Load Balancers** (Équilibreurs de charge).

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. Sur la page **Edit load balancer attributes**, dans la section **Monitoring**, désactiver **Access logs**.

**Pour désactiver les journaux d'accès à l'aide du AWS CLI**  
Utilisez la [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elb/modify-load-balancer-attributes.html)commande suivante pour désactiver les journaux d'accès :

```
aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"AccessLog\":{\"Enabled\":false}}"
```

Voici un exemple de réponse :

```
{
    "LoadBalancerName": "my-loadbalancer",
    "LoadBalancerAttributes": {
        "AccessLog": {
            "S3BucketName": "amzn-s3-demo-loadbalancer-logs",
            "EmitInterval": 60,
            "Enabled": false,
            "S3BucketPrefix": "my-app"
        }
    }
}
```