Activer les journaux d'accès pour votre Classic Load Balancer - Elastic Load Balancing

Activer les journaux d'accès pour votre Classic Load Balancer

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.

Important

Le compartiment et votre équilibreur de charge doivent être dans la même région. Le compartiment peut être détenu par un compte différent de celui possédant l'équilibreur de charge.

Étape 1 : Créer un compartiment S3

Vous pouvez créer un compartiment S3 vide à l'aide de la console Amazon S3. Si vous avez déjà un compartiment et que vous voulez l'utiliser pour stocker les journaux d'accès, ignorez cette étape et passez à Étape 2 : Attacher une politique à votre compartiment S3 pour accorder à Elastic Load Balancing l'autorisation d'écrire des journaux dans votre compartiment.

Astuce

Si vous utilisez la console pour activer les journaux d'accès, vous pouvez ignorer cette étape et laisser Elastic Load Balancing créer un compartiment avec les autorisations requises pour vous. Si vous utilisez l'interface AWS CLI pour activer les journaux d'accès, vous devez créer le compartiment et accorder les autorisations requises vous-même.

Prérequis

  • Le compartiment doit se situer dans la même région que l'équilibreur de charge.

  • Des clés de chiffrement gérées par Amazon S3 (SSE-S3) sont requises. Aucune autre option de chiffrement n'est prise en charge.

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

  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Choisissez Créer un compartiment.

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

    1. Pour Nom du compartiment, entrez un nom pour le 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 de plus amples informations, consultez Limites et restrictions applicables aux compartiments dans le Guide de l'utilisateur Amazon Simple Storage Service.

    2. Pour Région, sélectionnez la région où vous avez créé votre équilibreur de charge.

    3. Sélectionnez Créer un .

Étape 2 : Attacher une politique à votre compartiment S3

Une fois que vous avez créé ou identifié votre compartiment S3, vous devez attacher une stratégie à celui-ci. 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 votre compartiment comporte déjà une stratégie attachée, vous pouvez ajouter les instructions 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.

Astuce

Si vous utilisez la console pour activer les journaux d'accès, vous pouvez ignorer cette étape et laisser Elastic Load Balancing créer un compartiment avec les autorisations requises pour vous.

Pour attacher une instruction de stratégie à votre compartiment

  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Sélectionnez le compartiment. Choisissez Permissions, puis Bucket Policy.

  3. Si vous créez une nouvelle politique de compartiment, copiez l'intégralité de ce document de politique dans l'éditeur de politique, puis remplacez les espaces réservés par le nom et le préfixe de votre compartiment, l'ID de compte AWS pour Elastic Load Balancing (selon la Région de votre équilibreur de charge) et l'ID de votre propre compte AWS. Si vous modifiez une stratégie de compartiment existante, copiez uniquement la nouvelle instruction à partir du document de stratégie (le texte entre crochets de l'élément Statement.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/prefix/AWSLogs/your-aws-account-id/*" } ] }

    Le tableau suivant contient les ID de compte à utiliser dans votre stratégie de compartiment.

    Région Nom de la région ID de compte Elastic Load Balancing
    us-east-1 USA Est (Virginie du Nord) 127311923021
    us-east-2 USA Est (Ohio) 033677994240
    us-west-1 USA Ouest (Californie du Nord) 027434742980
    us-west-2 USA Ouest (Oregon) 797873946194
    af-south-1 Afrique (Le Cap) 098369216593
    ca-central-1 Canada (Centre) 985666609251
    eu-central-1 Europe (Francfort) 054676820928
    eu-west-1 Europe (Irlande) 156460612806
    eu-west-2 Europe (Londres) 652711504416
    eu-south-1 Europe (Milan) 635631232127
    eu-west-3 Europe (Paris) 009996457667
    eu-north-1 Europe (Stockholm) 897822967062
    ap-east-1 Asie-Pacifique (Hong Kong) 754344448648
    ap-northeast-1 Asie-Pacifique (Tokyo) 582318560864
    ap-northeast-2 Asie-Pacifique (Séoul) 600734575887
    ap-northeast-3 Asie-Pacifique (Osaka) 383597477331
    ap-southeast-1 Asie-Pacifique (Singapour) 114774131450
    ap-southeast-2 Asie-Pacifique (Sydney) 783225319266
    ap-south-1 Asie-Pacifique (Mumbai) 718504428378
    me-south-1 Moyen-Orient (Bahreïn) 076674570225
    sa-east-1 Amérique du Sud (São Paulo) 507241528517
    us-gov-west-1* AWS GovCloud (US-West) 048591011584
    us-gov-east-1* AWS GovCloud (US-East) 190560391635
    cn-north-1* Chine (Beijing) 638102146993
    cn-northwest-1* Chine (Ningxia) 037604701340

    * Ces régions nécessitent un compte distinct. Pour plus d'informations, consultez AWS GovCloud (US-West) et Chine (Beijing).

  4. Choisissez Enregistrer.

Étape 3 : Activer les journaux d'accès

Vous pouvez activer les journaux d'accès à l'aide d'AWS Management Console ou de l'AWS CLI. Notez que si vous activez les journaux d'accès à l'aide de la console, vous pouvez laisser Elastic Load Balancing créer le compartiment pour vous avec les autorisations nécessaires pour que l'équilibreur de charge écrive dans votre compartiment.

Utilisez l'exemple suivant pour capturer et fournir des journaux à votre compartiment S3 toutes les 60 minutes (intervalle par défaut).

Pour activer 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/.

  2. Dans le panneau de navigation, sous LOAD BALANCING, choisissez Load Balancers.

  3. Sélectionnez votre équilibreur de charge.

  4. Sous l'onglet Description, choisissez Configurer les journaux d'accès.

  5. Sur la page Configure Access Logs, procédez de la façon suivante :

    1. Choisissez Activer les journaux d'accès.

    2. Conservez pour Interval la valeur par défaut, 60 minutes.

    3. Pour S3 location, tapez le nom de votre compartiment S3, y compris le préfixe (par exemple, my-loadbalancer-logs/my-app). Vous pouvez spécifier le nom d'un compartiment existant ou le nom d'un nouveau compartiment.

    4. (Facultatif) Si le compartiment n'existe pas, choisissez Créer l'emplacement pour moi. Vous devez spécifier un nom unique parmi tous les noms de compartiment existant dans Amazon S3 et suivre les conventions d'attribution des noms DNS. Pour plus d'informations, consultez la section Règles relatives à l'attribution des noms de compartiments dans le Guide de l'utilisateur Amazon Simple Storage Service.

    5. Choisissez Enregistrer.

Pour activer les journaux d'accès pour votre équilibreur de charge à l'aide de l'interface 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": "my-loadbalancer-logs", "EmitInterval": 60, "S3BucketPrefix": "my-app" } }

Pour activer les journaux d'accès, spécifiez le fichier .json dans la commande modify-load-balancer-attributes 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": "my-loadbalancer-logs", "S3BucketPrefix": "my-app" } }, "LoadBalancerName": "my-loadbalancer" }

Étape 4 : Vérifier que l'équilibreur de charge a créé un fichier test dans le compartiment S3

Une fois que le journaux d'accès sont activés pour votre équilibreur de charge, Elastic Load Balancing valide le compartiment S3 et crée un fichier test. Vous pouvez utiliser la console S3 pour vérifier que le fichier test a été créé.

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

  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Sélectionnez votre compartiment S3.

  3. Accédez au compartiment que vous avez spécifié pour la journalisation des accès et recherchez ELBAccessLogTestFile. Par exemple, si vous avez utilisé la console pour créer le compartiment et la stratégie de compartiment, le chemin est le suivant :

    my-bucket/prefix/AWSLogs/123456789012/ELBAccessLogTestFile

Pour gérer le compartiment S3 pour vos journaux d'accès

Après avoir activé la journalisation des accès, veillez à la désactiver avant de supprimer le compartiment avec vos journaux d'accès. Sinon, s'il existe un nouveau compartiment avec le même nom et la politique de compartiment requise créée 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.