Journaux d'accès pour VPC Lattice - Amazon VPC Lattice

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 VPC Lattice

Les journaux d'accès capturent des informations détaillées sur vos services VPC Lattice. Vous pouvez utiliser ces journaux d'accès pour analyser les modèles de trafic et auditer tous les services du réseau.

Les journaux d'accès sont facultatifs et sont désactivés par défaut. Après avoir activé les journaux d'accès, vous pouvez les désactiver à tout moment.

Tarification

Des frais s'appliquent lorsque les journaux d'accès sont publiés. Les journaux publiés AWS nativement en votre nom sont appelés journaux automatiques. Pour plus d'informations sur la tarification des journaux vendus, consultez Amazon CloudWatch Pricing, choisissez Logs et consultez les tarifs sous Vended Logs.

Autorisations IAM requises pour activer les journaux d'accès

Pour activer les journaux d'accès et les envoyer à leur destination, les actions suivantes doivent figurer dans la politique attachée à l'utilisateur, au groupe ou au rôle IAM que vous utilisez.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "ManageVPCLatticeAccessLogSetup", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "vpc-lattice:CreateAccessLogSubscription", "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:UpdateAccessLogSubscription", "vpc-lattice:DeleteAccessLogSubscription", "vpc-lattice:ListAccessLogSubscriptions" ], "Resource": [ "*" ] } ] }

Pour plus d'informations, veuillez consulter Ajout et suppression d'autorisations basées sur l'identité IAM dans le Guide de l'utilisateurAWS Identity and Access Management .

Après avoir mis à jour la politique associée à l'utilisateur, au groupe ou au rôle IAM que vous utilisez, rendez-vous sur. Activer les journaux d'accès

Accéder aux destinations du journal

Vous pouvez envoyer les journaux d'accès aux destinations suivantes.

Amazon CloudWatch Logs
  • VPC Lattice fournit généralement les journaux aux CloudWatch journaux en 2 minutes. Cependant, gardez à l'esprit que le délai réel de livraison des journaux est le meilleur moyen possible et qu'il peut y avoir une latence supplémentaire.

  • Une politique de ressources est créée automatiquement et ajoutée au groupe de CloudWatch journaux si le groupe de journaux ne dispose pas de certaines autorisations. Pour plus d'informations, consultez la section Logs envoyés à CloudWatch Logs dans le guide de CloudWatch l'utilisateur Amazon.

  • Vous trouverez les journaux d'accès envoyés CloudWatch sous Groupes de journaux dans la CloudWatch console. Pour plus d'informations, consultez Afficher les données de journal envoyées à CloudWatch Logs dans le guide de CloudWatch l'utilisateur Amazon.

Amazon S3
  • VPC Lattice fournit généralement des journaux à Amazon S3 dans un délai de 6 minutes. Cependant, gardez à l'esprit que le délai réel de livraison des journaux est le meilleur moyen possible et qu'il peut y avoir une latence supplémentaire.

  • Une politique de compartiment sera créée automatiquement et ajoutée à votre compartiment Amazon S3 si celui-ci ne dispose pas de certaines autorisations. Pour plus d'informations, consultez la section Logs envoyés à Amazon S3 dans le guide de CloudWatch l'utilisateur Amazon.

  • Les journaux d'accès envoyés à Amazon S3 utilisent la convention de dénomination suivante :

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
Amazon Data Firehose
  • VPC Lattice fournit généralement des journaux à Firehose en 2 minutes. Cependant, gardez à l'esprit que le délai réel de livraison des journaux est le meilleur moyen possible et qu'il peut y avoir une latence supplémentaire.

  • Un rôle lié à un service est automatiquement créé pour autoriser VPC Lattice à envoyer des journaux d'accès à. Amazon Data FirehosePour que la création automatique de rôle réussisse, les utilisateurs doivent avoir l’autorisation pour l’action iam:CreateServiceLinkedRole. Pour plus d'informations, consultez la section Logs envoyés à Amazon Data Firehose dans le guide de CloudWatch l'utilisateur Amazon.

  • Pour plus d'informations sur l'affichage des journaux envoyés à Amazon Data Firehose, consultez la section Monitoring Amazon Kinesis Data Streams dans Amazon Data Firehose le manuel du développeur.

Activer les journaux d'accès

Procédez comme suit pour configurer les journaux d'accès afin de capturer et de distribuer les journaux d'accès à la destination de votre choix.

Activer les journaux d'accès à l'aide de la console

Vous pouvez activer les journaux d'accès pour un réseau de services ou pour un service lors de la création. Vous pouvez également activer les journaux d'accès après avoir créé un réseau ou un service de service, comme décrit dans la procédure suivante.

Pour créer un service de base à l'aide de la console
  1. Ouvrez la console Amazon VPC à l’adresse https://console.aws.amazon.com/vpc/.

  2. Sélectionnez le réseau ou le service de service.

  3. Choisissez Actions, puis Modifier les paramètres du journal.

  4. Activez le commutateur Access Logs.

  5. Ajoutez une destination de livraison pour vos journaux d'accès comme suit :

    • Sélectionnez Groupe de CloudWatch journaux, puis choisissez un groupe de journaux. Pour créer un groupe de journaux, choisissez Create a log group in CloudWatch.

    • Sélectionnez le compartiment S3 et entrez le chemin du compartiment S3, y compris tout préfixe. Pour effectuer une recherche dans vos compartiments S3, choisissez Browse S3.

    • Sélectionnez le flux de diffusion Kinesis Data Firehose, puis choisissez un flux de diffusion. Pour créer un flux de diffusion, choisissez Créer un flux de diffusion dans Kinesis.

  6. Sélectionnez Enregistrer les modifications.

Activez les journaux d'accès à l'aide du AWS CLI

Utilisez la commande CLI create-access-log-subscriptionpour activer les journaux d'accès pour les réseaux ou les services de service.

Accès au contenu du journal

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

Champ Description Format
hostHeader

L'en-tête d'autorité de la demande.

chaîne

sslCipher

Le nom OpenSSL de l'ensemble de chiffrements utilisés pour établir la connexion TLS du client.

chaîne

serviceNetworkArn

L'ARN du réseau de service.

arn:aws:vpc-lattice : region : account:servicenetwork/ id

resolvedUser

L'ARN de l'utilisateur lorsque l'authentification est activée et que l'authentification est terminée.

null | ARN | « Anonyme » | « Inconnu »

authDeniedReason

La raison pour laquelle l'accès est refusé lorsque l'authentification est activée.

null | « Service » | « Réseau » | « Identité »

requestMethod

L'en-tête de méthode de la demande.

chaîne

targetGroupArn

Le groupe d'hôtes cible auquel appartient l'hôte cible.

chaîne

tlsVersion

La version TLS.

TLSv x

userAgent

L'en-tête de l'agent utilisateur.

chaîne

ServerNameIndication

[HTTPS uniquement] Valeur définie sur le socket de connexion SSL pour l'indication du nom du serveur (SNI).

chaîne

destinationVpcId

L'ID du VPC de destination.

vpc- xxxxxxxx

sourceIpPort

Adresse IP et:port de la source.

IP : port

targetIpPort

Adresse IP et port de la cible.

IP : port

serviceArn

L'ARN du service.

arn:aws:vpc-lattice : region : account:service/ id

sourceVpcId

L'ID du VPC source.

vpc- xxxxxxxx

requestPath

Le chemin d'accès de la demande.

LatticePath? : chemin

startTime

Heure de début de la demande.

YYYY - MM - DD T HH : MM : SS Z

protocol

Protocole. Actuellement, soit HTTP/1.1 soit HTTP/2.

chaîne

responseCode

Le code de réponse HTTP. Seul le code de réponse pour les en-têtes finaux est enregistré. Pour de plus amples informations, veuillez consulter Résoudre les problèmes liés aux journaux d'accès.

entier

bytesReceived

Les octets de corps et d'en-tête reçus.

entier

bytesSent

Les octets du corps et de l'en-tête envoyés.

entier

duration

Durée totale en millisecondes de la demande entre l'heure de début et le dernier octet sortant.

entier

requestToTargetDuration

Durée totale en millisecondes de la demande entre l'heure de début et le dernier octet envoyé à la cible.

entier

responseFromTargetDuration

Durée totale en millisecondes de la demande entre le premier octet lu par l'hôte cible et le dernier octet envoyé au client.

entier

grpcResponseCode

Le code de réponse gRPC. Pour plus d'informations, consultez la section Codes d'état et leur utilisation dans gRPC. Ce champ est enregistré uniquement si le service prend en charge le gRPC.

entier

callerPrincipal

Le principal authentifié.

chaîne

callerX509SubjectCN

Le nom du sujet (CN).

chaîne

callerX509IssuerOU

L'émetteur (OU).

chaîne

callerX509SANNameCN

L'alternative de l'émetteur (nom/CN).

chaîne

callerX509SANDNS

Le nom alternatif du sujet (DNS).

chaîne

callerX509SANURI

Le nom alternatif du sujet (URI).

chaîne

sourceVpcArn

L'ARN du VPC d'où provient la demande.

arn:aws:ec2 : région : compte : vpc/ id

Exemple

Voici un exemple d'entrée de journal.

{ "hostHeader": "example.com", "sslCipher": "-", "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/svn-1a2b3c4d", "resolvedUser": "Unknown", "authDeniedReason": "null", "requestMethod": "GET", "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1a2b3c4d", "tlsVersion": "-", "userAgent": "-", "serverNameIndication": "-", "destinationVpcId": "vpc-0abcdef1234567890", "sourceIpPort": "178.0.181.150:80", "targetIpPort": "131.31.44.176:80", "serviceArn": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-1a2b3c4d", "sourceVpcId": "vpc-0abcdef1234567890", "requestPath": "/billing", "startTime": "2023-07-28T20:48:45Z", "protocol": "HTTP/1.1", "responseCode": 200, "bytesReceived": 42, "bytesSent": 42, "duration": 375, "requestToTargetDuration": 1, "responseFromTargetDuration": 1, "grpcResponseCode": 1 }

Résoudre les problèmes liés aux journaux d'accès

Cette section contient une explication des codes d'erreur HTTP que vous pouvez voir dans les journaux d'accès.

Code d’erreur Causes possibles :

HTTP 400 : Demande erronée

  • Le client a envoyé une demande mal formée qui ne répond pas à la spécification HTTP.

  • L'en-tête de demande dépassait 60 000 pour l'ensemble de l'en-tête de demande ou plus de 100 en-têtes.

  • Le client a fermé la connexion avant d'envoyer le corps complet de la demande.

HTTP 403 : Accès interdit

L'authentification a été configurée pour le service, mais la demande entrante n'est ni authentifiée ni autorisée.

HTTP 404 : Service inexistant

Vous essayez de vous connecter à un service qui n'existe pas ou qui n'est pas enregistré sur le réseau de service approprié.

HTTP 500 : Erreur de serveur interne

VPC Lattice a rencontré une erreur, telle qu'un échec de connexion aux cibles.

HTTP 502 : Passerelle erronée

VPC Lattice a rencontré une erreur.