Activez les 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.

Activez les journaux de connexion pour votre Application Load Balancer

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.

Étape 1 : créer un compartiment S3

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 :

Prérequis
  • 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).

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

  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, 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 relatives aux compartiments dans le guide de l'utilisateur Amazon S3.

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

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

    4. Choisissez Créer un compartiment.

Étape 2 : Attacher une politique à votre compartiment S3

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.

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/*" } ] }

PourResource, 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.

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

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

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" } } }

PourResource, 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.

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

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 (*) 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/.

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

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

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

  5. Sélectionnez Enregistrer les modifications.

AWS CLI
Pour associer votre politique de compartiment à votre compartiment S3

Utilisez la commande put-bucket-policy. 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

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

Prérequis

Le compartiment doit répondre aux exigences décrites à l'étape 1 et vous devez y associer une politique de compartiment comme décrit à l'étape 2. 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 EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le volet de navigation, choisissez Load Balancers.

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

  4. Dans l'onglet Attributes, choisissez Edit.

  5. Pour la surveillance, activez les journaux de connexion.

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

  7. Sélectionnez Enregistrer les modifications.

AWS CLI
Pour activer les journaux de connexion

Utilisez la modify-load-balancer-attributescommande 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::LoadBalancerressource 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

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

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

  3. 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/123456789012ELBConnectionLogTestFile

    • Emplacement sans préfixe :amzn-s3-demo-logging-bucket//AWSLogs/123456789012ELBConnectionLogTestFile

Dépannage

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