Logs de acesso para o VPC Lattice - Amazon VPC Lattice

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Logs de acesso para o VPC Lattice

Os logs de acesso capturam informações detalhadas sobre seus serviços VPC Lattice. Você pode usar esses logs de acesso para analisar padrões de tráfego e auditar todos os serviços na rede.

Logs de acesso são opcionais e estão desabilitados por padrão. Após ativar os logs de acesso, você poderá desabilitá-los a qualquer momento.

Definição de preço

Haverá cobranças quando os logs de acesso forem publicados. Os registros que são publicados AWS nativamente em seu nome são chamados de registros vendidos. Para obter mais informações sobre preços de registros vendidos, consulte Amazon CloudWatch Pricing, escolha Logs e veja os preços em Vended Logs.

Permissões do IAM necessárias para habilitar os logs de acesso

Para habilitar os logs de acesso e enviá-los para seus destinos, você deverá ter as seguintes ações na política anexadas ao usuário, grupo ou perfil do IAM que você estiver usando.

{ "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": [ "*" ] } ] }

Para obter mais informações, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário doAWS Identity and Access Management .

Após atualizar a política anexada ao usuário, grupo ou perfil do IAM que você estiver usando, acesse Habilitar logs de acesso.

Destinos de logs de acesso

Você pode enviar logs de acesso para os seguintes destinos.

CloudWatch Registros da Amazon
  • O VPC Lattice normalmente entrega registros para o Logs em CloudWatch 2 minutos. No entanto, lembre-se de que o tempo efetivo de entrega dos logs é baseado no melhor esforço possível e pode haver latência adicional.

  • Uma política de recursos é criada automaticamente e adicionada ao grupo de CloudWatch registros se o grupo de registros não tiver determinadas permissões. Para obter mais informações, consulte Registros enviados para CloudWatch Logs no Guia CloudWatch do usuário da Amazon.

  • Você pode encontrar registros de acesso que são enviados CloudWatch em Grupos de registros no CloudWatch console. Para obter mais informações, consulte Exibir dados de log enviados para CloudWatch Logs no Guia CloudWatch do usuário da Amazon.

Amazon S3
  • Normalmente, o VPC Lattice entrega logs para o Amazon S3 em até 6 minutos. No entanto, lembre-se de que o tempo efetivo de entrega dos logs é baseado no melhor esforço possível e pode haver latência adicional.

  • Uma política de bucket será criada automaticamente e adicionada ao seu bucket do Amazon S3 se o bucket não tiver determinadas permissões. Para obter mais informações, consulte Registros enviados para o Amazon S3 no Guia CloudWatch do usuário da Amazon.

  • Logs de acesso que são enviados ao Amazon S3 usam a seguinte convenção de nomenclatura:

    [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
Amazon Data Firehose
  • O VPC Lattice normalmente entrega registros para o Firehose em 2 minutos. No entanto, lembre-se de que o tempo efetivo de entrega dos logs é baseado no melhor esforço possível e pode haver latência adicional.

  • Um perfil vinculado a serviço é criado automaticamente e concede permissão para que o VPC Lattice envie logs de acesso para o Amazon Data Firehose. Para que a criação automática da função seja bem-sucedida, os usuários devem ter permissão para a ação iam:CreateServiceLinkedRole. Para obter mais informações, consulte Registros enviados Amazon Data Firehose no Guia do CloudWatch usuário da Amazon.

  • Para obter mais informações sobre a visualização dos registros enviados para Amazon Data Firehose, consulte Monitoramento do Amazon Kinesis Data Streams Amazon Data Firehose no Guia do desenvolvedor.

Habilitar logs de acesso

Execute o procedimento a seguir para configurar logs de acesso a fim de capturar e entregar logs de acesso ao destino que você escolher.

Habilitar os logs de acesso usando o console

Você pode habilitar os logs de acesso para uma rede de serviços ou para um serviço durante a criação. Você também pode habilitar os logs de acesso após criar uma rede de serviços ou serviço, conforme descrito no seguinte procedimento.

Para criar um serviço básico usando o console
  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. Selecione a rede de serviços ou o serviço.

  3. Escolha Ações, Editar configurações de log.

  4. Ative o seletor de Logs de acesso.

  5. Adicione um destino de entrega para seus logs de acesso da seguinte forma:

    • Selecione Grupo de CloudWatch registros e escolha um grupo de registros. Para criar um grupo de registros, escolha Criar um grupo de registros em CloudWatch.

    • Selecione o bucket do S3 e insira o caminho do bucket do S3, incluindo qualquer prefixo. Para pesquisar seus buckets do S3, escolha Procurar S3.

    • Em Fluxo de entrega do Kinesis Data Firehose, selecione um fluxo de entrega. Para criar um fluxo de entrega, escolha Criar um fluxo de entrega no Kinesis.

  6. Escolha Salvar alterações.

Ative os registros de acesso usando o AWS CLI

Use o comando CLI create-access-log-subscriptionpara habilitar registros de acesso para redes ou serviços de serviços.

Conteúdo dos logs de acesso

A tabela a seguir descreve os campos de uma entrada no log de acesso.

Campo Descrição Formato
hostHeader

O cabeçalho da autoridade da solicitação.

string

sslCipher

O nome OpenSSL do conjunto de cifras usado para estabelecer a conexão TLS do cliente.

string

serviceNetworkArn

O ARN da rede de serviços.

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

resolvedUser

O ARN do usuário quando a autenticação estiver habilitada e a autenticação acontecer.

null | ARN | "Anonymous" | "Unknown"

authDeniedReason

O motivo pelo qual o acesso é negado quando a autenticação estiver habilitada.

null | "Service" | "Network" | "Identity"

requestMethod

O cabeçalho do método da solicitação.

string

targetGroupArn

O grupo de hosts de destino ao qual o host de destino pertence.

string

tlsVersion

A versão do TLS.

TLSvx

userAgent

O cabeçalho user-agent.

string

ServerNameIndication

[Somente HTTPS] O valor definido no soquete de conexão SSL para a Indicação de nome de servidor (SNI).

string

destinationVpcId

O ID da VPC de destino.

vpc-xxxxxxxx

sourceIpPort

O endereço IP e a porta da origem.

ip:port

targetIpPort

O endereço IP e a porta do destino.

ip:port

serviceArn

O ARN do serviço.

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

sourceVpcId

O ID da VPC de origem.

vpc-xxxxxxxx

requestPath

O caminho da solicitação.

LatticePath? : caminho

startTime

O horário inicial da solicitação.

AAAA-MM-DDTHH:MM:SSZ

protocol

O protocolo. Atualmente, HTTP/1.1 ou HTTP/2.

string

responseCode

O código HTTP da resposta. Somente o código de resposta para os cabeçalhos finais é registrado em log. Para ter mais informações, consulte Solucionar problemas de logs de acesso.

inteiro

bytesReceived

Os bytes do corpo e do cabeçalho recebidos.

inteiro

bytesSent

Os bytes do corpo e do cabeçalho enviados.

inteiro

duration

Duração total em milissegundos da solicitação desde a hora de início até o último byte de saída.

inteiro

requestToTargetDuration

Duração total em milissegundos da solicitação desde a hora de início até o último byte enviado ao destino.

inteiro

responseFromTargetDuration

Duração total em milissegundos da solicitação desde o primeiro byte lido do host de destino até o último byte enviado ao cliente.

inteiro

grpcResponseCode

O código da resposta gRPC. Para obter mais informações, consulte Códigos de status e seu uso no gRPC. Esse campo só será registrado em log se o serviço for compatível com gRPC.

inteiro

callerPrincipal

A entidade principal autenticada.

string

callerX509SubjectCN

O nome do assunto (CN).

string

callerX509IssuerOU

O emissor (OU).

string

callerX509SANNameCN

O nome alternativo do emissor (nome/CN).

string

callerX509SANDNS

O nome alternativo do assunto (DNS).

string

callerX509SANURI

O nome alternativo do assunto (URI).

string

sourceVpcArn

O ARN da VPC na qual a solicitação teve origem.

arn:aws:ec2:region:account:vpc/id

Exemplo

Este é um exemplo de entrada de log.

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

Solucionar problemas de logs de acesso

Esta seção contém uma explicação dos códigos de erro HTTP que você pode ver nos logs de acesso.

Código de erro Possíveis causas

HTTP 400: solicitação inválida

  • O cliente enviou uma solicitação malformada que não atende às especificações de HTTP.

  • O cabeçalho da solicitação excedeu 60K para todo o cabeçalho da solicitação ou mais de 100 cabeçalhos.

  • O cliente fechou a conexão antes de enviar o corpo completo da solicitação.

HTTP 403: negado

A autenticação foi configurada para o serviço, mas a solicitação recebida não está autenticada nem autorizada.

HTTP 404: serviço inexistente

Você está tentando se conectar a um serviço que não existe ou não está registrado na rede de serviços correta.

HTTP 500: Erro interno do servidor

O VPC Lattice encontrou um erro, como falha na conexão com os destinos.

HTTP 502: Bad Gateway

O VPC Lattice encontrou um erro.